From 162813a34dfd9124bed52da6844189057fa68a64 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 10 Dec 2022 16:20:51 +0800 Subject: [PATCH 01/65] sqlx: add empty proposal document --- .../010-关于Sqlx功能项的设计.md | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 docs/proposal/010-关于Sqlx功能项的设计.md diff --git a/docs/proposal/010-关于Sqlx功能项的设计.md b/docs/proposal/010-关于Sqlx功能项的设计.md new file mode 100644 index 00000000..b808da0a --- /dev/null +++ b/docs/proposal/010-关于Sqlx功能项的设计.md @@ -0,0 +1,28 @@ +| 编号 | 作者 | 发表时间 | 变更时间 | 版本 | 状态 | +| ----- | ----- | ----- | ----- | ----- | ----- | +| 010| 北野 | 2022-12-10 | 2022-12-10 | v0.0 | 提议 | + +### 关于Sqlx功能项的设计 + ---- 这里写简要介绍 ---- + +### 场景 + + ---- 这里描述在什么使用场景下会需要本提按 ---- + +### 需求 + +TODO-TL;DR... + +### 方案 + +TODO + +### 疑问 + +1. 如何开启这个功能? + +TODO + +### 更新记录 +#### v0.0(2022-12-10) - 北野 +* 初始文档, 先占个位置 From aa7a0be729d7ecaa1e8bf835c504ed6fbdb62082 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 5 Jan 2023 00:36:08 +0800 Subject: [PATCH 02/65] sqlx: prepare base code for sqlx logic --- go.mod | 1 + go.sum | 2 ++ internal/conf/{db.go => db_gorm.go} | 11 +++--- internal/conf/db_sqlx.go | 23 ++++++++++++ internal/dao/sakila/index.go | 55 +++++++++++++++++++++++++++++ internal/dao/sakila/sakila.go | 2 ++ internal/dao/sakila/sqlx.go | 52 +++++++++++++++++++++++++++ 7 files changed, 141 insertions(+), 5 deletions(-) rename internal/conf/{db.go => db_gorm.go} (94%) create mode 100644 internal/conf/db_sqlx.go create mode 100644 internal/dao/sakila/index.go create mode 100644 internal/dao/sakila/sqlx.go diff --git a/go.mod b/go.mod index 61fe1d1e..047fa70a 100644 --- a/go.mod +++ b/go.mod @@ -23,6 +23,7 @@ require ( github.com/golang-jwt/jwt/v4 v4.4.2 github.com/golang-migrate/migrate/v4 v4.15.2 github.com/huaweicloud/huaweicloud-sdk-go-obs v3.21.12+incompatible + github.com/jmoiron/sqlx v1.3.5 github.com/json-iterator/go v1.1.12 github.com/meilisearch/meilisearch-go v0.21.0 github.com/minio/minio-go/v7 v7.0.45 diff --git a/go.sum b/go.sum index 3a27eb98..e09346b6 100644 --- a/go.sum +++ b/go.sum @@ -911,6 +911,8 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jmoiron/sqlx v1.3.1/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= +github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= +github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= diff --git a/internal/conf/db.go b/internal/conf/db_gorm.go similarity index 94% rename from internal/conf/db.go rename to internal/conf/db_gorm.go index 62ad7fe3..5d28b6f2 100644 --- a/internal/conf/db.go +++ b/internal/conf/db_gorm.go @@ -20,19 +20,20 @@ import ( ) var ( - db *gorm.DB Redis *redis.Client - once sync.Once + + _gormdb *gorm.DB + _onceGorm sync.Once ) func MustGormDB() *gorm.DB { - once.Do(func() { + _onceGorm.Do(func() { var err error - if db, err = newDBEngine(); err != nil { + if _gormdb, err = newDBEngine(); err != nil { logrus.Fatalf("new gorm db failed: %s", err) } }) - return db + return _gormdb } func newDBEngine() (*gorm.DB, error) { diff --git a/internal/conf/db_sqlx.go b/internal/conf/db_sqlx.go new file mode 100644 index 00000000..941b219c --- /dev/null +++ b/internal/conf/db_sqlx.go @@ -0,0 +1,23 @@ +// 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 conf + +import ( + "sync" + + "github.com/jmoiron/sqlx" +) + +var ( + _sqlxdb *sqlx.DB + _onceSqlx sync.Once +) + +func MustSqlxDB() *sqlx.DB { + _onceSqlx.Do(func() { + // TODO: init sqlx.DB + }) + return _sqlxdb +} diff --git a/internal/dao/sakila/index.go b/internal/dao/sakila/index.go new file mode 100644 index 00000000..c382993b --- /dev/null +++ b/internal/dao/sakila/index.go @@ -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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" +) + +var ( + _ core.IndexPostsService = (*indexPostsServant)(nil) + _ core.IndexPostsService = (*simpleIndexPostsServant)(nil) +) + +type indexPostsServant struct { + db *sqlx.DB + stmtIndex *sqlx.Stmt +} + +type simpleIndexPostsServant struct { + db *sqlx.DB + stmtIndex *sqlx.Stmt +} + +// IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; +func (s *indexPostsServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { + // TODO + return nil, nil +} + +// simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数 +func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { + // TODO + return nil, nil +} + +func newIndexPostsService(db *sqlx.DB) core.IndexPostsService { + return &indexPostsServant{ + db: db, + stmtIndex: c(` + SELECT * FROM @person WHERE first_name=? + `), + } +} + +func newSimpleIndexPostsService(db *sqlx.DB) core.IndexPostsService { + return &simpleIndexPostsServant{ + db: db, + stmtIndex: c(` + SELECT * FROM @person WHERE first_name=? + `), + } +} diff --git a/internal/dao/sakila/sakila.go b/internal/dao/sakila/sakila.go index d82a0d23..228264f0 100644 --- a/internal/dao/sakila/sakila.go +++ b/internal/dao/sakila/sakila.go @@ -14,6 +14,8 @@ import ( func NewDataService() (core.DataService, core.VersionInfo) { logrus.Fatal("not support now") + _ = newIndexPostsService(sqlxDB()) + _ = newSimpleIndexPostsService(sqlxDB()) return nil, nil } diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go new file mode 100644 index 00000000..b1f9d1e7 --- /dev/null +++ b/internal/dao/sakila/sqlx.go @@ -0,0 +1,52 @@ +// 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. + +// Core service implement base sqlx+mysql. All sub-service +// will declare here and provide initial function. + +package sakila + +import ( + "strings" + "sync" + + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/conf" + "github.com/sirupsen/logrus" +) + +var ( + _db *sqlx.DB + _once sync.Once +) + +func sqlxDB() *sqlx.DB { + _once.Do(func() { + _db = conf.MustSqlxDB() + }) + return _db +} + +func c(query string) *sqlx.Stmt { + db := sqlxDB() + stmt, err := db.Preparex(db.Rebind(t(query))) + if err != nil { + logrus.Fatalf("prepare query(%s) error: %s", query, err) + } + return stmt +} + +func n(query string) *sqlx.NamedStmt { + db := sqlxDB() + stmt, err := db.PrepareNamed(t(query)) + if err != nil { + logrus.Fatalf("prepare named query(%s) error: %s", query, err) + } + return stmt +} + +// t repace table prefix for query +func t(query string) string { + return strings.Replace(query, "@", conf.DatabaseSetting.TablePrefix, -1) +} From 1ce877fb594a48e2374802dae6f8f8669d9cd703 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 5 Jan 2023 14:21:29 +0800 Subject: [PATCH 03/65] sqlx: add sqlx db initial logic --- internal/conf/conf.go | 1 - internal/conf/db.go | 27 +++++++++++++++++++++++ internal/conf/db_cgo.go | 5 +++-- internal/conf/db_gorm.go | 15 ++----------- internal/conf/db_nocgo.go | 5 +++-- internal/conf/db_sqlx.go | 26 +++++++++++++++++++++- internal/migration/migration_embed.go | 2 +- internal/servants/web/broker/broker.go | 4 ++++ internal/servants/web/broker/message.go | 7 +++--- internal/servants/web/broker/post.go | 4 ++-- internal/servants/web/broker/user.go | 13 +++++------ internal/servants/web/broker/wallet.go | 8 +++---- internal/servants/web/routers/api/api.go | 3 +++ internal/servants/web/routers/api/home.go | 9 ++++---- internal/servants/web/web.go | 2 +- 15 files changed, 88 insertions(+), 43 deletions(-) create mode 100644 internal/conf/db.go diff --git a/internal/conf/conf.go b/internal/conf/conf.go index 950d2d8a..f1c84510 100644 --- a/internal/conf/conf.go +++ b/internal/conf/conf.go @@ -122,7 +122,6 @@ func Initialize(suite []string, noDefault bool) { } setupLogger() - setupDBEngine() } func GetOssDomain() string { diff --git a/internal/conf/db.go b/internal/conf/db.go new file mode 100644 index 00000000..37304f4d --- /dev/null +++ b/internal/conf/db.go @@ -0,0 +1,27 @@ +// 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 conf + +import ( + "sync" + + "github.com/go-redis/redis/v8" +) + +var ( + _redisClient *redis.Client + _onceRedis sync.Once +) + +func MustRedis() *redis.Client { + _onceRedis.Do(func() { + _redisClient = redis.NewClient(&redis.Options{ + Addr: redisSetting.Host, + Password: redisSetting.Password, + DB: redisSetting.DB, + }) + }) + return _redisClient +} diff --git a/internal/conf/db_cgo.go b/internal/conf/db_cgo.go index 218512a5..231dc16b 100644 --- a/internal/conf/db_cgo.go +++ b/internal/conf/db_cgo.go @@ -18,8 +18,9 @@ const ( sqlite3InCgoEnabled = true ) -func OpenSqlite3() (*sql.DB, error) { - return sql.Open("sqlite3", Sqlite3Setting.Dsn("sqlite3")) +func OpenSqlite3() (string, *sql.DB, error) { + db, err := sql.Open("sqlite3", Sqlite3Setting.Dsn("sqlite3")) + return "sqlite3", db, err } func gormOpenSqlite3(opts ...gorm.Option) (*gorm.DB, error) { diff --git a/internal/conf/db_gorm.go b/internal/conf/db_gorm.go index 5d28b6f2..f667ff61 100644 --- a/internal/conf/db_gorm.go +++ b/internal/conf/db_gorm.go @@ -9,7 +9,6 @@ import ( "time" "github.com/alimy/cfg" - "github.com/go-redis/redis/v8" "github.com/sirupsen/logrus" "gorm.io/driver/mysql" "gorm.io/driver/postgres" @@ -20,8 +19,6 @@ import ( ) var ( - Redis *redis.Client - _gormdb *gorm.DB _onceGorm sync.Once ) @@ -29,14 +26,14 @@ var ( func MustGormDB() *gorm.DB { _onceGorm.Do(func() { var err error - if _gormdb, err = newDBEngine(); err != nil { + if _gormdb, err = newGormDB(); err != nil { logrus.Fatalf("new gorm db failed: %s", err) } }) return _gormdb } -func newDBEngine() (*gorm.DB, error) { +func newGormDB() (*gorm.DB, error) { newLogger := logger.New( logrus.StandardLogger(), // io writer(日志输出的目标,前缀和日志包含的内容) logger.Config{ @@ -85,11 +82,3 @@ func newDBEngine() (*gorm.DB, error) { return db, err } - -func setupDBEngine() { - Redis = redis.NewClient(&redis.Options{ - Addr: redisSetting.Host, - Password: redisSetting.Password, - DB: redisSetting.DB, - }) -} diff --git a/internal/conf/db_nocgo.go b/internal/conf/db_nocgo.go index 977a6695..bbe79a50 100644 --- a/internal/conf/db_nocgo.go +++ b/internal/conf/db_nocgo.go @@ -19,8 +19,9 @@ const ( sqlite3InCgoEnabled = false ) -func OpenSqlite3() (*sql.DB, error) { - return sql.Open("sqlite", Sqlite3Setting.Dsn("sqlite")) +func OpenSqlite3() (string, *sql.DB, error) { + db, err := sql.Open("sqlite", Sqlite3Setting.Dsn("sqlite")) + return "sqlite", db, err } func gormOpenSqlite3(opts ...gorm.Option) (*gorm.DB, error) { diff --git a/internal/conf/db_sqlx.go b/internal/conf/db_sqlx.go index 941b219c..bfdc7a95 100644 --- a/internal/conf/db_sqlx.go +++ b/internal/conf/db_sqlx.go @@ -5,9 +5,12 @@ package conf import ( + "database/sql" "sync" + "github.com/alimy/cfg" "github.com/jmoiron/sqlx" + "github.com/sirupsen/logrus" ) var ( @@ -17,7 +20,28 @@ var ( func MustSqlxDB() *sqlx.DB { _onceSqlx.Do(func() { - // TODO: init sqlx.DB + var err error + if _sqlxdb, err = newSqlxDB(); err != nil { + logrus.Fatalf("new sqlx db failed: %s", err) + } }) return _sqlxdb } + +func newSqlxDB() (db *sqlx.DB, err error) { + if cfg.If("MySQL") { + db, err = sqlx.Open("mysql", MysqlSetting.Dsn()) + } else if cfg.If("PostgreSQL") || cfg.If("Postgres") { + db, err = sqlx.Open("postgres", PostgresSetting.Dsn()) + } else if cfg.If("Sqlite3") { + var ( + driver string + sqldb *sql.DB + ) + driver, sqldb, err = OpenSqlite3() + db = sqlx.NewDb(sqldb, driver) + } else { + db, err = sqlx.Open("mysql", MysqlSetting.Dsn()) + } + return +} diff --git a/internal/migration/migration_embed.go b/internal/migration/migration_embed.go index 02ede293..c57e6081 100644 --- a/internal/migration/migration_embed.go +++ b/internal/migration/migration_embed.go @@ -44,7 +44,7 @@ func Run() { dbName = (*conf.PostgresSetting)["DBName"] db, err = sql.Open("postgres", conf.PostgresSetting.Dsn()) } else if cfg.If("Sqlite3") { - db, err = conf.OpenSqlite3() + _, db, err = conf.OpenSqlite3() } else { dbName = conf.MysqlSetting.DBName db, err = sql.Open("mysql", conf.MysqlSetting.Dsn()) diff --git a/internal/servants/web/broker/broker.go b/internal/servants/web/broker/broker.go index fcc5846d..8cd39205 100644 --- a/internal/servants/web/broker/broker.go +++ b/internal/servants/web/broker/broker.go @@ -6,6 +6,8 @@ package broker import ( "github.com/alimy/cfg" + "github.com/go-redis/redis/v8" + "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/dao" "github.com/sirupsen/logrus" @@ -15,6 +17,7 @@ var ( ds core.DataService ts core.TweetSearchService oss core.ObjectStorageService + redisClient *redis.Client DisablePhoneVerify bool ) @@ -22,6 +25,7 @@ func Initialize() { ds = dao.DataService() ts = dao.TweetSearchService() oss = dao.ObjectStorageService() + redisClient = conf.MustRedis() DisablePhoneVerify = !cfg.If("Sms") } diff --git a/internal/servants/web/broker/message.go b/internal/servants/web/broker/message.go index 6e5dd1a1..9bb59c8b 100644 --- a/internal/servants/web/broker/message.go +++ b/internal/servants/web/broker/message.go @@ -9,7 +9,6 @@ import ( "time" "github.com/gin-gonic/gin" - "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/pkg/convert" "github.com/rocboss/paopao-ce/pkg/errcode" @@ -31,7 +30,7 @@ func CreateWhisper(c *gin.Context, msg *core.Message) (*core.Message, error) { whisperKey := fmt.Sprintf("WhisperTimes:%d", msg.SenderUserID) // 今日频次限制 - if res, _ := conf.Redis.Get(c, whisperKey).Result(); convert.StrTo(res).MustInt() >= MAX_WHISPER_NUM_DAILY { + if res, _ := redisClient.Get(c, whisperKey).Result(); convert.StrTo(res).MustInt() >= MAX_WHISPER_NUM_DAILY { return nil, errcode.TooManyWhisperNum } @@ -42,11 +41,11 @@ func CreateWhisper(c *gin.Context, msg *core.Message) (*core.Message, error) { } // 写入当日(自然日)计数缓存 - conf.Redis.Incr(c, whisperKey).Result() + redisClient.Incr(c, whisperKey).Result() currentTime := time.Now() endTime := time.Date(currentTime.Year(), currentTime.Month(), currentTime.Day(), 23, 59, 59, 0, currentTime.Location()) - conf.Redis.Expire(c, whisperKey, endTime.Sub(currentTime)) + redisClient.Expire(c, whisperKey, endTime.Sub(currentTime)) return msg, err } diff --git a/internal/servants/web/broker/post.go b/internal/servants/web/broker/post.go index 9a73528b..59d87975 100644 --- a/internal/servants/web/broker/post.go +++ b/internal/servants/web/broker/post.go @@ -501,8 +501,8 @@ func DeleteSearchPost(post *core.Post) error { } func PushPostsToSearch(c *gin.Context) { - if ok, _ := conf.Redis.SetNX(c, "JOB_PUSH_TO_SEARCH", 1, time.Hour).Result(); ok { - defer conf.Redis.Del(c, "JOB_PUSH_TO_SEARCH") + if ok, _ := redisClient.SetNX(c, "JOB_PUSH_TO_SEARCH", 1, time.Hour).Result(); ok { + defer redisClient.Del(c, "JOB_PUSH_TO_SEARCH") splitNum := 1000 totalRows, _ := GetPostCount(&core.ConditionsT{ diff --git a/internal/servants/web/broker/user.go b/internal/servants/web/broker/user.go index 66919a99..655ce2ff 100644 --- a/internal/servants/web/broker/user.go +++ b/internal/servants/web/broker/user.go @@ -13,7 +13,6 @@ import ( "github.com/gin-gonic/gin" "github.com/gofrs/uuid" - "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/pkg/convert" "github.com/rocboss/paopao-ce/pkg/errcode" @@ -102,7 +101,7 @@ func DoLogin(ctx *gin.Context, param *AuthRequest) (*core.User, error) { } if user.Model != nil && user.ID > 0 { - if errTimes, err := conf.Redis.Get(ctx, fmt.Sprintf("%s:%d", _LoginErrKey, user.ID)).Result(); err == nil { + if errTimes, err := redisClient.Get(ctx, fmt.Sprintf("%s:%d", _LoginErrKey, user.ID)).Result(); err == nil { if convert.StrTo(errTimes).MustInt() >= _MaxLoginErrTimes { return nil, errcode.TooManyLoginError } @@ -116,14 +115,14 @@ func DoLogin(ctx *gin.Context, param *AuthRequest) (*core.User, error) { } // 清空登录计数 - conf.Redis.Del(ctx, fmt.Sprintf("%s:%d", _LoginErrKey, user.ID)) + redisClient.Del(ctx, fmt.Sprintf("%s:%d", _LoginErrKey, user.ID)) return user, nil } // 登录错误计数 - _, err = conf.Redis.Incr(ctx, fmt.Sprintf("%s:%d", _LoginErrKey, user.ID)).Result() + _, err = redisClient.Incr(ctx, fmt.Sprintf("%s:%d", _LoginErrKey, user.ID)).Result() if err == nil { - conf.Redis.Expire(ctx, fmt.Sprintf("%s:%d", _LoginErrKey, user.ID), time.Hour).Result() + redisClient.Expire(ctx, fmt.Sprintf("%s:%d", _LoginErrKey, user.ID), time.Hour).Result() } return nil, errcode.UnauthorizedAuthFailed @@ -435,12 +434,12 @@ func SendPhoneCaptcha(ctx *gin.Context, phone string) error { } // 写入计数缓存 - conf.Redis.Incr(ctx, "PaoPaoSmsCaptcha:"+phone).Result() + redisClient.Incr(ctx, "PaoPaoSmsCaptcha:"+phone).Result() currentTime := time.Now() endTime := time.Date(currentTime.Year(), currentTime.Month(), currentTime.Day(), 23, 59, 59, 0, currentTime.Location()) - conf.Redis.Expire(ctx, "PaoPaoSmsCaptcha:"+phone, endTime.Sub(currentTime)) + redisClient.Expire(ctx, "PaoPaoSmsCaptcha:"+phone, endTime.Sub(currentTime)) return nil } diff --git a/internal/servants/web/broker/wallet.go b/internal/servants/web/broker/wallet.go index 6f89edf8..fc4392a2 100644 --- a/internal/servants/web/broker/wallet.go +++ b/internal/servants/web/broker/wallet.go @@ -5,11 +5,11 @@ package broker import ( - "github.com/rocboss/paopao-ce/internal/core" "time" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/gin-gonic/gin" - "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/pkg/errcode" ) @@ -26,7 +26,7 @@ func CreateRecharge(userID, amount int64) (*core.WalletRecharge, error) { } func FinishRecharge(ctx *gin.Context, id int64, tradeNo string) error { - if ok, _ := conf.Redis.SetNX(ctx, "PaoPaoRecharge:"+tradeNo, 1, time.Second*5).Result(); ok { + if ok, _ := redisClient.SetNX(ctx, "PaoPaoRecharge:"+tradeNo, 1, time.Second*5).Result(); ok { recharge, err := ds.GetRechargeByID(id) if err != nil { return err @@ -36,7 +36,7 @@ func FinishRecharge(ctx *gin.Context, id int64, tradeNo string) error { // 标记为已付款 err := ds.HandleRechargeSuccess(recharge, tradeNo) - defer conf.Redis.Del(ctx, "PaoPaoRecharge:"+tradeNo) + defer redisClient.Del(ctx, "PaoPaoRecharge:"+tradeNo) if err != nil { return err diff --git a/internal/servants/web/routers/api/api.go b/internal/servants/web/routers/api/api.go index 656ad0bf..bfd28666 100644 --- a/internal/servants/web/routers/api/api.go +++ b/internal/servants/web/routers/api/api.go @@ -6,6 +6,7 @@ package api import ( "github.com/alimy/cfg" + "github.com/go-redis/redis/v8" "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/dao" @@ -14,11 +15,13 @@ import ( ) var ( + redisClient *redis.Client alipayClient *alipay.Client objectStorage core.ObjectStorageService ) func Initialize() { + redisClient = conf.MustRedis() objectStorage = dao.ObjectStorageService() if cfg.If("Alipay") { diff --git a/internal/servants/web/routers/api/home.go b/internal/servants/web/routers/api/home.go index 30f115a9..c0a946da 100644 --- a/internal/servants/web/routers/api/home.go +++ b/internal/servants/web/routers/api/home.go @@ -14,7 +14,6 @@ import ( "github.com/afocus/captcha" "github.com/gin-gonic/gin" "github.com/gofrs/uuid" - "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/servants/web/assets" "github.com/rocboss/paopao-ce/internal/servants/web/broker" @@ -65,7 +64,7 @@ func GetCaptcha(c *gin.Context) { key := util.EncodeMD5(uuid.Must(uuid.NewV4()).String()) // 五分钟有效期 - conf.Redis.SetEX(c, "PaoPaoCaptcha:"+key, password, time.Minute*5) + redisClient.SetEX(c, "PaoPaoCaptcha:"+key, password, time.Minute*5) response := app.NewResponse(c) response.ToResponse(gin.H{ @@ -85,14 +84,14 @@ func PostCaptcha(c *gin.Context) { } // 验证图片验证码 - if res, err := conf.Redis.Get(c.Request.Context(), "PaoPaoCaptcha:"+param.ImgCaptchaID).Result(); err != nil || res != param.ImgCaptcha { + if res, err := redisClient.Get(c.Request.Context(), "PaoPaoCaptcha:"+param.ImgCaptchaID).Result(); err != nil || res != param.ImgCaptcha { response.ToErrorResponse(errcode.ErrorCaptchaPassword) return } - conf.Redis.Del(c.Request.Context(), "PaoPaoCaptcha:"+param.ImgCaptchaID).Result() + redisClient.Del(c.Request.Context(), "PaoPaoCaptcha:"+param.ImgCaptchaID).Result() // 今日频次限制 - if res, _ := conf.Redis.Get(c.Request.Context(), "PaoPaoSmsCaptcha:"+param.Phone).Result(); convert.StrTo(res).MustInt() >= MAX_PHONE_CAPTCHA { + if res, _ := redisClient.Get(c.Request.Context(), "PaoPaoSmsCaptcha:"+param.Phone).Result(); convert.StrTo(res).MustInt() >= MAX_PHONE_CAPTCHA { response.ToErrorResponse(errcode.TooManyPhoneCaptchaSend) return } diff --git a/internal/servants/web/web.go b/internal/servants/web/web.go index 286109d3..b385e8c9 100644 --- a/internal/servants/web/web.go +++ b/internal/servants/web/web.go @@ -19,7 +19,7 @@ import ( func RouteWeb(e *gin.Engine) { oss := dao.ObjectStorageService() ds := &base.DaoServant{ - Redis: conf.Redis, + Redis: conf.MustRedis(), Ds: dao.DataService(), Ts: dao.TweetSearchService(), } From 060840030e09191053ea08a25b3ab397c0fa20eb Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 5 Jan 2023 15:36:39 +0800 Subject: [PATCH 04/65] sqlx: add all stub interface implement for core.DataService in sqlx feature --- go.mod | 7 +- go.sum | 10 +- internal/conf/db_sqlx.go | 5 +- internal/dao/dao.go | 4 +- internal/dao/jinzhu/messages.go | 24 +-- internal/dao/jinzhu/wallet.go | 28 ++-- internal/dao/sakila/authority.go | 59 +++++++ internal/dao/sakila/comments.go | 110 +++++++++++++ internal/dao/sakila/contacts.go | 65 ++++++++ internal/dao/sakila/index.go | 15 +- internal/dao/sakila/messages.go | 67 ++++++++ internal/dao/sakila/sakila.go | 81 ++++++++-- internal/dao/sakila/security.go | 52 +++++++ internal/dao/sakila/topics.go | 55 +++++++ internal/dao/sakila/tweets.go | 257 +++++++++++++++++++++++++++++++ internal/dao/sakila/user.go | 79 ++++++++++ internal/dao/sakila/wallet.go | 66 ++++++++ pkg/debug/annotation.go | 17 ++ 18 files changed, 947 insertions(+), 54 deletions(-) create mode 100644 internal/dao/sakila/authority.go create mode 100644 internal/dao/sakila/comments.go create mode 100644 internal/dao/sakila/contacts.go create mode 100644 internal/dao/sakila/messages.go create mode 100644 internal/dao/sakila/security.go create mode 100644 internal/dao/sakila/topics.go create mode 100644 internal/dao/sakila/tweets.go create mode 100644 internal/dao/sakila/user.go create mode 100644 internal/dao/sakila/wallet.go create mode 100644 pkg/debug/annotation.go diff --git a/go.mod b/go.mod index 047fa70a..a6d2f49f 100644 --- a/go.mod +++ b/go.mod @@ -18,11 +18,13 @@ require ( github.com/gin-gonic/gin v1.8.1 github.com/go-redis/redis/v8 v8.11.4 github.com/go-resty/resty/v2 v2.7.0 + github.com/go-sql-driver/mysql v1.6.0 github.com/goccy/go-json v0.9.7 github.com/gofrs/uuid v4.0.0+incompatible github.com/golang-jwt/jwt/v4 v4.4.2 github.com/golang-migrate/migrate/v4 v4.15.2 github.com/huaweicloud/huaweicloud-sdk-go-obs v3.21.12+incompatible + github.com/jackc/pgx/v5 v5.2.0 github.com/jmoiron/sqlx v1.3.5 github.com/json-iterator/go v1.1.12 github.com/meilisearch/meilisearch-go v0.21.0 @@ -59,7 +61,6 @@ require ( github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect github.com/go-playground/validator/v10 v10.10.1 // indirect - github.com/go-sql-driver/mysql v1.6.0 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-querystring v1.1.0 // indirect @@ -109,9 +110,9 @@ require ( github.com/ugorji/go/codec v1.2.7 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasthttp v1.37.1-0.20220607072126-8a320890c08d // indirect - go.uber.org/atomic v1.9.0 // indirect + go.uber.org/atomic v1.10.0 // indirect golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect - golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect + golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/net v0.0.0-20221014081412-f15817d10f9b // indirect diff --git a/go.sum b/go.sum index e09346b6..bc0561be 100644 --- a/go.sum +++ b/go.sum @@ -888,6 +888,8 @@ github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1r github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= github.com/jackc/pgx/v4 v4.16.1 h1:JzTglcal01DrghUqt+PmzWsZx/Yh7SC/CTQmSBMTd0Y= github.com/jackc/pgx/v4 v4.16.1/go.mod h1:SIhx0D5hoADaiXZVyv+3gSm3LCIIINTVO0PficsvWGQ= +github.com/jackc/pgx/v5 v5.2.0 h1:NdPpngX0Y6z6XDFKqmFQaE+bCtkqzvQIOt1wvBlAqs8= +github.com/jackc/pgx/v5 v5.2.0/go.mod h1:Ptn7zmohNsWEsdxRawMzk3gaKma2obW+NWTnKa0S4nk= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= @@ -1481,8 +1483,8 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -1534,8 +1536,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= +golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= diff --git a/internal/conf/db_sqlx.go b/internal/conf/db_sqlx.go index bfdc7a95..24477f12 100644 --- a/internal/conf/db_sqlx.go +++ b/internal/conf/db_sqlx.go @@ -11,6 +11,9 @@ import ( "github.com/alimy/cfg" "github.com/jmoiron/sqlx" "github.com/sirupsen/logrus" + + _ "github.com/go-sql-driver/mysql" + _ "github.com/jackc/pgx/v5/stdlib" ) var ( @@ -32,7 +35,7 @@ func newSqlxDB() (db *sqlx.DB, err error) { if cfg.If("MySQL") { db, err = sqlx.Open("mysql", MysqlSetting.Dsn()) } else if cfg.If("PostgreSQL") || cfg.If("Postgres") { - db, err = sqlx.Open("postgres", PostgresSetting.Dsn()) + db, err = sqlx.Open("pgx", PostgresSetting.Dsn()) } else if cfg.If("Sqlite3") { var ( driver string diff --git a/internal/dao/dao.go b/internal/dao/dao.go index d0b05c9c..9d448bb3 100644 --- a/internal/dao/dao.go +++ b/internal/dao/dao.go @@ -30,9 +30,9 @@ func DataService() core.DataService { var v core.VersionInfo if cfg.If("Gorm") { ds, v = jinzhu.NewDataService() - } else if cfg.If("Sqlx") && cfg.If("MySQL") { + } else if cfg.If("Sqlx") { ds, v = sakila.NewDataService() - } else if cfg.If("Sqlx") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { + } else if cfg.If("Sqlc") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { ds, v = slonik.NewDataService() } else { // default use gorm as orm for sql database diff --git a/internal/dao/jinzhu/messages.go b/internal/dao/jinzhu/messages.go index 32edaac2..25b429f6 100644 --- a/internal/dao/jinzhu/messages.go +++ b/internal/dao/jinzhu/messages.go @@ -24,32 +24,32 @@ func newMessageService(db *gorm.DB) core.MessageService { } } -func (d *messageServant) CreateMessage(msg *core.Message) (*core.Message, error) { - return msg.Create(d.db) +func (s *messageServant) CreateMessage(msg *core.Message) (*core.Message, error) { + return msg.Create(s.db) } -func (d *messageServant) GetUnreadCount(userID int64) (int64, error) { - return (&dbr.Message{}).Count(d.db, &dbr.ConditionsT{ +func (s *messageServant) GetUnreadCount(userID int64) (int64, error) { + return (&dbr.Message{}).Count(s.db, &dbr.ConditionsT{ "receiver_user_id": userID, "is_read": dbr.MsgStatusUnread, }) } -func (d *messageServant) GetMessageByID(id int64) (*core.Message, error) { +func (s *messageServant) GetMessageByID(id int64) (*core.Message, error) { return (&dbr.Message{ Model: &dbr.Model{ ID: id, }, - }).Get(d.db) + }).Get(s.db) } -func (d *messageServant) ReadMessage(message *core.Message) error { +func (s *messageServant) ReadMessage(message *core.Message) error { message.IsRead = 1 - return message.Update(d.db) + return message.Update(s.db) } -func (d *messageServant) GetMessages(conditions *core.ConditionsT, offset, limit int) ([]*core.MessageFormated, error) { - messages, err := (&dbr.Message{}).List(d.db, conditions, offset, limit) +func (s *messageServant) GetMessages(conditions *core.ConditionsT, offset, limit int) ([]*core.MessageFormated, error) { + messages, err := (&dbr.Message{}).List(s.db, conditions, offset, limit) if err != nil { return nil, err } @@ -63,6 +63,6 @@ func (d *messageServant) GetMessages(conditions *core.ConditionsT, offset, limit return mfs, nil } -func (d *messageServant) GetMessageCount(conditions *core.ConditionsT) (int64, error) { - return (&dbr.Message{}).Count(d.db, conditions) +func (s *messageServant) GetMessageCount(conditions *core.ConditionsT) (int64, error) { + return (&dbr.Message{}).Count(s.db, conditions) } diff --git a/internal/dao/jinzhu/wallet.go b/internal/dao/jinzhu/wallet.go index 7b2023d7..e74710c6 100644 --- a/internal/dao/jinzhu/wallet.go +++ b/internal/dao/jinzhu/wallet.go @@ -25,49 +25,49 @@ func newWalletService(db *gorm.DB) core.WalletService { } } -func (d *walletServant) GetRechargeByID(id int64) (*core.WalletRecharge, error) { +func (s *walletServant) GetRechargeByID(id int64) (*core.WalletRecharge, error) { recharge := &dbr.WalletRecharge{ Model: &dbr.Model{ ID: id, }, } - return recharge.Get(d.db) + return recharge.Get(s.db) } -func (d *walletServant) CreateRecharge(userId, amount int64) (*core.WalletRecharge, error) { +func (s *walletServant) CreateRecharge(userId, amount int64) (*core.WalletRecharge, error) { recharge := &dbr.WalletRecharge{ UserID: userId, Amount: amount, } - return recharge.Create(d.db) + return recharge.Create(s.db) } -func (d *walletServant) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { +func (s *walletServant) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { statement := &dbr.WalletStatement{ UserID: userID, } - return statement.List(d.db, &dbr.ConditionsT{ + return statement.List(s.db, &dbr.ConditionsT{ "ORDER": "id DESC", }, offset, limit) } -func (d *walletServant) GetUserWalletBillCount(userID int64) (int64, error) { +func (s *walletServant) GetUserWalletBillCount(userID int64) (int64, error) { statement := &dbr.WalletStatement{ UserID: userID, } - return statement.Count(d.db, &dbr.ConditionsT{}) + return statement.Count(s.db, &dbr.ConditionsT{}) } -func (d *walletServant) HandleRechargeSuccess(recharge *core.WalletRecharge, tradeNo string) error { +func (s *walletServant) HandleRechargeSuccess(recharge *core.WalletRecharge, tradeNo string) error { user, _ := (&dbr.User{ Model: &dbr.Model{ ID: recharge.UserID, }, - }).Get(d.db) + }).Get(s.db) - return d.db.Transaction(func(tx *gorm.DB) error { + return s.db.Transaction(func(tx *gorm.DB) error { // 扣除金额 if err := tx.Model(user).Update("balance", gorm.Expr("balance + ?", recharge.Amount)).Error; err != nil { // 返回任何错误都会回滚事务 @@ -97,8 +97,8 @@ func (d *walletServant) HandleRechargeSuccess(recharge *core.WalletRecharge, tra }) } -func (d *walletServant) HandlePostAttachmentBought(post *core.Post, user *core.User) error { - return d.db.Transaction(func(tx *gorm.DB) error { +func (s *walletServant) HandlePostAttachmentBought(post *core.Post, user *core.User) error { + return s.db.Transaction(func(tx *gorm.DB) error { // 扣除金额 if err := tx.Model(user).Update("balance", gorm.Expr("balance - ?", post.AttachmentPrice)).Error; err != nil { // 返回任何错误都会回滚事务 @@ -133,7 +133,7 @@ func (d *walletServant) HandlePostAttachmentBought(post *core.Post, user *core.U ID: post.UserID, }, } - master, _ = master.Get(d.db) + master, _ = master.Get(s.db) if err := tx.Model(master).Update("balance", gorm.Expr("balance + ?", income)).Error; err != nil { // 返回任何错误都会回滚事务 diff --git a/internal/dao/sakila/authority.go b/internal/dao/sakila/authority.go new file mode 100644 index 00000000..8e2e0fb2 --- /dev/null +++ b/internal/dao/sakila/authority.go @@ -0,0 +1,59 @@ +// 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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" +) + +var ( + _ core.AuthorizationManageService = (*authorizationManageServant)(nil) +) + +type authorizationManageServant struct { + db *sqlx.DB + stmtIdx *sqlx.Stmt + stmtUpdateFriend *sqlx.Stmt +} + +func (s *authorizationManageServant) IsAllow(user *core.User, action *core.Action) bool { + // TODO + debug.NotImplemented() + return false +} + +func (s *authorizationManageServant) MyFriendSet(userId int64) core.FriendSet { + // TODO + debug.NotImplemented() + return nil +} + +func (s *authorizationManageServant) BeFriendFilter(userId int64) core.FriendFilter { + // TODO + debug.NotImplemented() + return nil +} + +func (s *authorizationManageServant) BeFriendIds(userId int64) ([]int64, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *authorizationManageServant) isFriend(userId int64, friendId int64) bool { + // TODO + debug.NotImplemented() + return false +} + +func newAuthorizationManageService(db *sqlx.DB) core.AuthorizationManageService { + return &authorizationManageServant{ + db: db, + stmtIdx: c(`SELECT * FROM @person WHERE first_name=?`), + stmtUpdateFriend: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/internal/dao/sakila/comments.go b/internal/dao/sakila/comments.go new file mode 100644 index 00000000..c4a25eac --- /dev/null +++ b/internal/dao/sakila/comments.go @@ -0,0 +1,110 @@ +// 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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" +) + +var ( + _ core.CommentService = (*commentServant)(nil) + _ core.CommentManageService = (*commentManageServant)(nil) +) + +type commentServant struct { + db *sqlx.DB + stmtGetComments *sqlx.Stmt + stmtGetReply *sqlx.Stmt +} + +type commentManageServant struct { + db *sqlx.DB + stmtDelComments *sqlx.Stmt + stmtAddComents *sqlx.Stmt +} + +func (s *commentServant) GetComments(conditions *core.ConditionsT, offset, limit int) ([]*core.Comment, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *commentServant) GetCommentByID(id int64) (*core.Comment, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *commentServant) GetCommentReplyByID(id int64) (*core.CommentReply, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *commentServant) GetCommentCount(conditions *core.ConditionsT) (int64, error) { + // TODO + debug.NotImplemented() + return 0, nil +} + +func (s *commentServant) GetCommentContentsByIDs(ids []int64) ([]*core.CommentContent, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *commentServant) GetCommentRepliesByID(ids []int64) ([]*core.CommentReplyFormated, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *commentManageServant) DeleteComment(comment *core.Comment) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *commentManageServant) CreateComment(comment *core.Comment) (*core.Comment, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *commentManageServant) CreateCommentReply(reply *core.CommentReply) (*core.CommentReply, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *commentManageServant) DeleteCommentReply(reply *core.CommentReply) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *commentManageServant) CreateCommentContent(content *core.CommentContent) (*core.CommentContent, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func newCommentService(db *sqlx.DB) core.CommentService { + return &commentServant{ + db: db, + stmtGetComments: c(`SELECT * FROM @person WHERE first_name=?`), + stmtGetReply: c(`SELECT * FROM @person WHERE first_name=?`), + } +} + +func newCommentManageService(db *sqlx.DB) core.CommentManageService { + return &commentManageServant{ + db: db, + stmtAddComents: c(`SELECT * FROM @person WHERE first_name=?`), + stmtDelComments: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/internal/dao/sakila/contacts.go b/internal/dao/sakila/contacts.go new file mode 100644 index 00000000..b7b8eba2 --- /dev/null +++ b/internal/dao/sakila/contacts.go @@ -0,0 +1,65 @@ +// 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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" +) + +var ( + _ core.ContactManageService = (*contactManageServant)(nil) +) + +type contactManageServant struct { + db *sqlx.DB + stmtAddFriend *sqlx.Stmt + stmtDelFriend *sqlx.Stmt +} + +func (s *contactManageServant) RequestingFriend(userId int64, friendId int64, greetings string) (err error) { + // TODO + debug.NotImplemented() + return nil +} + +func (s *contactManageServant) AddFriend(userId int64, friendId int64) (err error) { + // TODO + debug.NotImplemented() + return nil +} + +func (s *contactManageServant) RejectFriend(userId int64, friendId int64) (err error) { + // TODO + debug.NotImplemented() + return nil +} + +func (s *contactManageServant) DeleteFriend(userId int64, friendId int64) (err error) { + // TODO + debug.NotImplemented() + return nil +} + +func (s *contactManageServant) GetContacts(userId int64, offset int, limit int) (*core.ContactList, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *contactManageServant) IsFriend(userId int64, friendId int64) bool { + // TODO + debug.NotImplemented() + return false +} + +func newContactManageService(db *sqlx.DB) core.ContactManageService { + return &contactManageServant{ + db: db, + stmtAddFriend: c(`SELECT * FROM @person WHERE first_name=?`), + stmtDelFriend: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/internal/dao/sakila/index.go b/internal/dao/sakila/index.go index c382993b..d70ec2ec 100644 --- a/internal/dao/sakila/index.go +++ b/internal/dao/sakila/index.go @@ -7,6 +7,7 @@ package sakila import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" ) var ( @@ -27,29 +28,27 @@ type simpleIndexPostsServant struct { // IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; func (s *indexPostsServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO + debug.NotImplemented() return nil, nil } // simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数 func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO + debug.NotImplemented() return nil, nil } func newIndexPostsService(db *sqlx.DB) core.IndexPostsService { return &indexPostsServant{ - db: db, - stmtIndex: c(` - SELECT * FROM @person WHERE first_name=? - `), + db: db, + stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), } } func newSimpleIndexPostsService(db *sqlx.DB) core.IndexPostsService { return &simpleIndexPostsServant{ - db: db, - stmtIndex: c(` - SELECT * FROM @person WHERE first_name=? - `), + db: db, + stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), } } diff --git a/internal/dao/sakila/messages.go b/internal/dao/sakila/messages.go new file mode 100644 index 00000000..d0539edf --- /dev/null +++ b/internal/dao/sakila/messages.go @@ -0,0 +1,67 @@ +// 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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" +) + +var ( + _ core.MessageService = (*messageServant)(nil) +) + +type messageServant struct { + db *sqlx.DB + stmtAddMsg *sqlx.Stmt + stmtGetMsg *sqlx.Stmt + stmtReadMsg *sqlx.Stmt +} + +func (s *messageServant) CreateMessage(msg *core.Message) (*core.Message, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *messageServant) GetUnreadCount(userID int64) (int64, error) { + // TODO + debug.NotImplemented() + return 0, nil +} + +func (s *messageServant) GetMessageByID(id int64) (*core.Message, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *messageServant) ReadMessage(message *core.Message) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *messageServant) GetMessages(conditions *core.ConditionsT, offset, limit int) ([]*core.MessageFormated, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *messageServant) GetMessageCount(conditions *core.ConditionsT) (int64, error) { + // TODO + debug.NotImplemented() + return 0, nil +} + +func newMessageService(db *sqlx.DB) core.MessageService { + return &messageServant{ + db: db, + stmtAddMsg: c(`SELECT * FROM @person WHERE first_name=?`), + stmtGetMsg: c(`SELECT * FROM @person WHERE first_name=?`), + stmtReadMsg: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/internal/dao/sakila/sakila.go b/internal/dao/sakila/sakila.go index 228264f0..354b7525 100644 --- a/internal/dao/sakila/sakila.go +++ b/internal/dao/sakila/sakila.go @@ -1,25 +1,86 @@ -// Copyright 2022 ROC. All rights reserved. +// 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. -// Core service implement base sqlx+mysql. All sub-service -// will declare here and provide initial function. - package sakila import ( + "github.com/Masterminds/semver/v3" + "github.com/alimy/cfg" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/dao/cache" + "github.com/rocboss/paopao-ce/internal/dao/security" "github.com/sirupsen/logrus" ) +var ( + _ core.DataService = (*dataServant)(nil) + _ core.VersionInfo = (*dataServant)(nil) +) + +type dataServant struct { + core.IndexPostsService + core.WalletService + core.MessageService + core.TopicService + core.TweetService + core.TweetManageService + core.TweetHelpService + core.CommentService + core.CommentManageService + core.UserManageService + core.ContactManageService + core.SecurityService + core.AttachmentCheckService +} + func NewDataService() (core.DataService, core.VersionInfo) { - logrus.Fatal("not support now") - _ = newIndexPostsService(sqlxDB()) - _ = newSimpleIndexPostsService(sqlxDB()) - return nil, nil + // initialize CacheIndex if needed + var ( + c core.CacheIndexService + v core.VersionInfo + ) + db := sqlxDB() + pvs := security.NewPhoneVerifyService() + + i := newIndexPostsService(db) + if cfg.If("SimpleCacheIndex") { + i = newSimpleIndexPostsService(db) + c, v = cache.NewSimpleCacheIndexService(i) + } else if cfg.If("BigCacheIndex") { + a := newAuthorizationManageService(db) + c, v = cache.NewBigCacheIndexService(i, a) + } else { + c, v = cache.NewNoneCacheIndexService(i) + } + logrus.Infof("use %s as cache index service by version: %s", v.Name(), v.Version()) + + ds := &dataServant{ + IndexPostsService: c, + WalletService: newWalletService(db), + MessageService: newMessageService(db), + TopicService: newTopicService(db), + TweetService: newTweetService(db), + TweetManageService: newTweetManageService(db, c), + TweetHelpService: newTweetHelpService(db), + CommentService: newCommentService(db), + CommentManageService: newCommentManageService(db), + UserManageService: newUserManageService(db), + ContactManageService: newContactManageService(db), + SecurityService: newSecurityService(db, pvs), + AttachmentCheckService: security.NewAttachmentCheckService(), + } + return ds, ds } func NewAuthorizationManageService() core.AuthorizationManageService { - logrus.Fatal("not support now") - return nil + return newAuthorizationManageService(sqlxDB()) +} + +func (s *dataServant) Name() string { + return "Sqlx" +} + +func (s *dataServant) Version() *semver.Version { + return semver.MustParse("v0.1.0") } diff --git a/internal/dao/sakila/security.go b/internal/dao/sakila/security.go new file mode 100644 index 00000000..457b407d --- /dev/null +++ b/internal/dao/sakila/security.go @@ -0,0 +1,52 @@ +// 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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" +) + +var ( + _ core.SecurityService = (*securityServant)(nil) +) + +type securityServant struct { + db *sqlx.DB + phoneVerify core.PhoneVerifyService + stmtAddCaptcha *sqlx.Stmt + stmtGetCaptcha *sqlx.Stmt +} + +// GetLatestPhoneCaptcha 获取最新短信验证码 +func (s *securityServant) GetLatestPhoneCaptcha(phone string) (*core.Captcha, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +// UsePhoneCaptcha 更新短信验证码 +func (s *securityServant) UsePhoneCaptcha(captcha *core.Captcha) error { + // TODO + debug.NotImplemented() + return nil +} + +// SendPhoneCaptcha 发送短信验证码 +func (s *securityServant) SendPhoneCaptcha(phone string) error { + // TODO + debug.NotImplemented() + return nil +} + +func newSecurityService(db *sqlx.DB, phoneVerify core.PhoneVerifyService) core.SecurityService { + return &securityServant{ + db: db, + phoneVerify: phoneVerify, + stmtAddCaptcha: c(`SELECT * FROM @person WHERE first_name=?`), + stmtGetCaptcha: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go new file mode 100644 index 00000000..7f599509 --- /dev/null +++ b/internal/dao/sakila/topics.go @@ -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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" +) + +var ( + _ core.TopicService = (*topicServant)(nil) +) + +type topicServant struct { + db *sqlx.DB + stmtAddTag *sqlx.Stmt + stmtDelTag *sqlx.Stmt + stmtListTag *sqlx.Stmt +} + +func (s *topicServant) CreateTag(tag *core.Tag) (*core.Tag, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *topicServant) DeleteTag(tag *core.Tag) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *topicServant) GetTags(conditions *core.ConditionsT, offset, limit int) ([]*core.Tag, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *topicServant) GetTagsByKeyword(keyword string) ([]*core.Tag, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func newTopicService(db *sqlx.DB) core.TopicService { + return &topicServant{ + db: db, + stmtAddTag: c(`SELECT * FROM @person WHERE first_name=?`), + stmtDelTag: c(`SELECT * FROM @person WHERE first_name=?`), + stmtListTag: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/internal/dao/sakila/tweets.go b/internal/dao/sakila/tweets.go new file mode 100644 index 00000000..3d3fa958 --- /dev/null +++ b/internal/dao/sakila/tweets.go @@ -0,0 +1,257 @@ +// 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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" + "github.com/rocboss/paopao-ce/pkg/debug" + "gorm.io/gorm" +) + +var ( + _ core.TweetService = (*tweetServant)(nil) + _ core.TweetManageService = (*tweetManageServant)(nil) + _ core.TweetHelpService = (*tweetHelpServant)(nil) +) + +type tweetServant struct { + db *sqlx.DB + stmtGetTweet *sqlx.Stmt + stmtListTweet *sqlx.Stmt + stmtListStar *sqlx.Stmt +} + +type tweetManageServant struct { + db *sqlx.DB + cacheIndex core.CacheIndexService + stmtAddTweet *sqlx.Stmt + stmtDelTweet *sqlx.Stmt + stmtStickTweet *sqlx.Stmt +} + +type tweetHelpServant struct { + db *sqlx.DB + stmtAddTag *sqlx.Stmt + stmtDelTag *sqlx.Stmt + stmtListTag *sqlx.Stmt +} + +// MergePosts post数据整合 +func (s *tweetHelpServant) MergePosts(posts []*core.Post) ([]*core.PostFormated, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +// RevampPosts post数据整形修复 +func (s *tweetHelpServant) RevampPosts(posts []*core.PostFormated) ([]*core.PostFormated, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetHelpServant) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetHelpServant) getUsersByIDs(ids []int64) ([]*dbr.User, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetManageServant) CreatePostCollection(postID, userID int64) (*core.PostCollection, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetManageServant) DeletePostCollection(p *core.PostCollection) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *tweetManageServant) CreatePostContent(content *core.PostContent) (*core.PostContent, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetManageServant) CreateAttachment(attachment *core.Attachment) (*core.Attachment, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetManageServant) CreatePost(post *core.Post) (*core.Post, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetManageServant) DeletePost(post *core.Post) ([]string, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetManageServant) deleteCommentByPostId(db *gorm.DB, postId int64) ([]string, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetManageServant) LockPost(post *core.Post) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *tweetManageServant) StickPost(post *core.Post) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *tweetManageServant) VisiblePost(post *core.Post, visibility core.PostVisibleT) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *tweetManageServant) UpdatePost(post *core.Post) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *tweetManageServant) CreatePostStar(postID, userID int64) (*core.PostStar, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetManageServant) DeletePostStar(p *core.PostStar) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *tweetServant) GetPostByID(id int64) (*core.Post, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetPosts(conditions *core.ConditionsT, offset, limit int) ([]*core.Post, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetPostCount(conditions *core.ConditionsT) (int64, error) { + // TODO + debug.NotImplemented() + return 0, nil +} + +func (s *tweetServant) GetUserPostStar(postID, userID int64) (*core.PostStar, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetUserPostStars(userID int64, offset, limit int) ([]*core.PostStar, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetUserPostStarCount(userID int64) (int64, error) { + // TODO + debug.NotImplemented() + return 0, nil +} + +func (s *tweetServant) GetUserPostCollection(postID, userID int64) (*core.PostCollection, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetUserPostCollections(userID int64, offset, limit int) ([]*core.PostCollection, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetUserPostCollectionCount(userID int64) (int64, error) { + // TODO + debug.NotImplemented() + return 0, nil +} + +func (s *tweetServant) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetUserWalletBillCount(userID int64) (int64, error) { + // TODO + debug.NotImplemented() + return 0, nil +} + +func (s *tweetServant) GetPostAttatchmentBill(postID, userID int64) (*core.PostAttachmentBill, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetPostContentsByIDs(ids []int64) ([]*core.PostContent, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *tweetServant) GetPostContentByID(id int64) (*core.PostContent, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func newTweetService(db *sqlx.DB) core.TweetService { + return &tweetServant{ + db: db, + stmtGetTweet: c(`SELECT * FROM @person WHERE first_name=?`), + stmtListTweet: c(`SELECT * FROM @person WHERE first_name=?`), + stmtListStar: c(`SELECT * FROM @person WHERE first_name=?`), + } +} + +func newTweetManageService(db *sqlx.DB, cacheIndex core.CacheIndexService) core.TweetManageService { + return &tweetManageServant{ + db: db, + cacheIndex: cacheIndex, + stmtAddTweet: c(`SELECT * FROM @person WHERE first_name=?`), + stmtDelTweet: c(`SELECT * FROM @person WHERE first_name=?`), + stmtStickTweet: c(`SELECT * FROM @person WHERE first_name=?`), + } +} + +func newTweetHelpService(db *sqlx.DB) core.TweetHelpService { + return &tweetHelpServant{ + db: db, + stmtAddTag: c(`SELECT * FROM @person WHERE first_name=?`), + stmtDelTag: c(`SELECT * FROM @person WHERE first_name=?`), + stmtListTag: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/internal/dao/sakila/user.go b/internal/dao/sakila/user.go new file mode 100644 index 00000000..74c8ec38 --- /dev/null +++ b/internal/dao/sakila/user.go @@ -0,0 +1,79 @@ +// 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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" +) + +var ( + _ core.UserManageService = (*userManageServant)(nil) +) + +type userManageServant struct { + db *sqlx.DB + stmtAddUser *sqlx.Stmt + stmtUpdateUser *sqlx.Stmt + stmtGetUser *sqlx.Stmt +} + +func (s *userManageServant) GetUserByID(id int64) (*core.User, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *userManageServant) GetUserByUsername(username string) (*core.User, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *userManageServant) GetUserByPhone(phone string) (*core.User, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *userManageServant) GetUsersByIDs(ids []int64) ([]*core.User, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *userManageServant) GetUsersByKeyword(keyword string) ([]*core.User, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *userManageServant) GetTagsByKeyword(keyword string) ([]*core.Tag, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *userManageServant) CreateUser(user *core.User) (*core.User, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *userManageServant) UpdateUser(user *core.User) error { + // TODO + debug.NotImplemented() + return nil +} + +func newUserManageService(db *sqlx.DB) core.UserManageService { + return &userManageServant{ + db: db, + stmtAddUser: c(`SELECT * FROM @person WHERE first_name=?`), + stmtUpdateUser: c(`SELECT * FROM @person WHERE first_name=?`), + stmtGetUser: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/internal/dao/sakila/wallet.go b/internal/dao/sakila/wallet.go new file mode 100644 index 00000000..950484d2 --- /dev/null +++ b/internal/dao/sakila/wallet.go @@ -0,0 +1,66 @@ +// 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 + +import ( + "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/pkg/debug" +) + +var ( + _ core.WalletService = (*walletServant)(nil) +) + +type walletServant struct { + db *sqlx.DB + stmtAddRecharge *sqlx.Stmt + stmtGetRecharge *sqlx.Stmt + stmtGetBills *sqlx.Stmt +} + +func (s *walletServant) GetRechargeByID(id int64) (*core.WalletRecharge, error) { + // TODO + debug.NotImplemented() + return nil, nil +} +func (s *walletServant) CreateRecharge(userId, amount int64) (*core.WalletRecharge, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *walletServant) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { + // TODO + debug.NotImplemented() + return nil, nil +} + +func (s *walletServant) GetUserWalletBillCount(userID int64) (int64, error) { + // TODO + debug.NotImplemented() + return 0, nil +} + +func (s *walletServant) HandleRechargeSuccess(recharge *core.WalletRecharge, tradeNo string) error { + // TODO + debug.NotImplemented() + return nil +} + +func (s *walletServant) HandlePostAttachmentBought(post *core.Post, user *core.User) error { + // TODO + debug.NotImplemented() + return nil +} + +func newWalletService(db *sqlx.DB) core.WalletService { + return &walletServant{ + db: db, + stmtAddRecharge: c(`SELECT * FROM @person WHERE first_name=?`), + stmtGetRecharge: c(`SELECT * FROM @person WHERE first_name=?`), + stmtGetBills: c(`SELECT * FROM @person WHERE first_name=?`), + } +} diff --git a/pkg/debug/annotation.go b/pkg/debug/annotation.go new file mode 100644 index 00000000..227399d0 --- /dev/null +++ b/pkg/debug/annotation.go @@ -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 debug + +import ( + "github.com/sirupsen/logrus" +) + +func TODO() { + logrus.Fatalln("in todo progress") +} + +func NotImplemented() { + logrus.Fatalln("not implemented") +} From 9f150c3cf0eec7f764fd7a4833ffef9825f41229 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 5 Jan 2023 16:00:15 +0800 Subject: [PATCH 05/65] sqlx: fixed package import error and upgrade db driver package --- go.mod | 56 +++++----- go.sum | 149 +++++++++++--------------- internal/conf/db_sqlx.go | 3 - internal/migration/migration_embed.go | 2 +- 4 files changed, 91 insertions(+), 119 deletions(-) diff --git a/go.mod b/go.mod index a6d2f49f..434a8dd2 100644 --- a/go.mod +++ b/go.mod @@ -18,13 +18,11 @@ require ( github.com/gin-gonic/gin v1.8.1 github.com/go-redis/redis/v8 v8.11.4 github.com/go-resty/resty/v2 v2.7.0 - github.com/go-sql-driver/mysql v1.6.0 github.com/goccy/go-json v0.9.7 github.com/gofrs/uuid v4.0.0+incompatible github.com/golang-jwt/jwt/v4 v4.4.2 github.com/golang-migrate/migrate/v4 v4.15.2 github.com/huaweicloud/huaweicloud-sdk-go-obs v3.21.12+incompatible - github.com/jackc/pgx/v5 v5.2.0 github.com/jmoiron/sqlx v1.3.5 github.com/json-iterator/go v1.1.12 github.com/meilisearch/meilisearch-go v0.21.0 @@ -38,13 +36,13 @@ require ( google.golang.org/protobuf v1.28.1 gopkg.in/natefinch/lumberjack.v2 v2.0.0 gopkg.in/resty.v1 v1.12.0 - gorm.io/driver/mysql v1.3.4 - gorm.io/driver/postgres v1.3.7 - gorm.io/driver/sqlite v1.3.4 - gorm.io/gorm v1.23.4 - gorm.io/plugin/dbresolver v1.1.0 - gorm.io/plugin/soft_delete v1.1.0 - modernc.org/sqlite v1.17.3 + gorm.io/driver/mysql v1.4.5 + gorm.io/driver/postgres v1.4.6 + gorm.io/driver/sqlite v1.4.4 + gorm.io/gorm v1.24.3 + gorm.io/plugin/dbresolver v1.4.0 + gorm.io/plugin/soft_delete v1.2.0 + modernc.org/sqlite v1.20.1 ) require ( @@ -61,6 +59,7 @@ require ( github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect github.com/go-playground/validator/v10 v10.10.1 // indirect + github.com/go-sql-driver/mysql v1.7.0 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-querystring v1.1.0 // indirect @@ -68,14 +67,9 @@ require ( github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/jackc/chunkreader/v2 v2.0.1 // indirect - github.com/jackc/pgconn v1.12.1 // indirect - github.com/jackc/pgio v1.0.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgproto3/v2 v2.3.0 // indirect - github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect - github.com/jackc/pgtype v1.11.0 // indirect - github.com/jackc/pgx/v4 v4.16.1 // indirect + github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect + github.com/jackc/pgx/v5 v5.2.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -87,8 +81,8 @@ require ( github.com/magiconair/properties v1.8.6 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/mattn/go-sqlite3 v1.14.12 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mattn/go-sqlite3 v1.14.15 // indirect github.com/minio/md5-simd v1.1.2 // indirect github.com/minio/sha256-simd v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -112,25 +106,25 @@ require ( github.com/valyala/fasthttp v1.37.1-0.20220607072126-8a320890c08d // indirect go.uber.org/atomic v1.10.0 // indirect golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect - golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect + golang.org/x/crypto v0.4.0 // indirect golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.0.0-20221014081412-f15817d10f9b // indirect - golang.org/x/sys v0.0.0-20220908164124-27713097b956 // indirect - golang.org/x/text v0.4.0 // indirect + golang.org/x/net v0.3.0 // indirect + golang.org/x/sys v0.3.0 // indirect + golang.org/x/text v0.5.0 // indirect golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect golang.org/x/tools v0.1.12 // indirect google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - lukechampine.com/uint128 v1.1.1 // indirect - modernc.org/cc/v3 v3.36.0 // indirect - modernc.org/ccgo/v3 v3.16.6 // indirect - modernc.org/libc v1.16.7 // indirect - modernc.org/mathutil v1.4.1 // indirect - modernc.org/memory v1.1.1 // indirect - modernc.org/opt v0.1.1 // indirect - modernc.org/strutil v1.1.1 // indirect - modernc.org/token v1.0.0 // indirect + lukechampine.com/uint128 v1.2.0 // indirect + modernc.org/cc/v3 v3.40.0 // indirect + modernc.org/ccgo/v3 v3.16.13 // indirect + modernc.org/libc v1.22.2 // indirect + modernc.org/mathutil v1.5.0 // indirect + modernc.org/memory v1.4.0 // indirect + modernc.org/opt v0.1.3 // indirect + modernc.org/strutil v1.1.3 // indirect + modernc.org/token v1.0.1 // indirect ) diff --git a/go.sum b/go.sum index bc0561be..54d02e12 100644 --- a/go.sum +++ b/go.sum @@ -284,7 +284,6 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/cockroach-go/v2 v2.1.1/go.mod h1:7NtUnP6eK+l6k483WSYNrq3Kb23bWV10IRV1TyeSpwM= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -587,8 +586,9 @@ github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5Nq github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= +github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= @@ -735,6 +735,7 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -832,7 +833,6 @@ github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6t github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= @@ -841,17 +841,9 @@ github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5 github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= -github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= -github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgconn v1.12.1 h1:rsDFzIpRk7xT4B8FufgpCCeyjdNpKyghZeSefViE5W8= -github.com/jackc/pgconn v1.12.1/go.mod h1:ZkhRC59Llhrq3oSfrikvwQ5NaxYExr6twkdkMLaKono= github.com/jackc/pgerrcode v0.0.0-20201024163028-a0d42d470451/go.mod h1:a/s9Lp5W7n/DD0VrVoyJ00FbP2ytTPDVOivvn2bMlds= -github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= -github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= @@ -862,12 +854,10 @@ github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1: github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgproto3/v2 v2.0.7/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.3.0 h1:brH0pCGBDkBW07HWlN/oSBXrmo3WB0UvZd1pIuDcL8Y= -github.com/jackc/pgproto3/v2 v2.3.0/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= @@ -875,9 +865,6 @@ github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4 github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= github.com/jackc/pgtype v1.6.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= -github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= -github.com/jackc/pgtype v1.11.0 h1:u4uiGPz/1hryuXzyaBhSk6dnIyyG2683olG2OV+UUgs= -github.com/jackc/pgtype v1.11.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= @@ -885,9 +872,6 @@ github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXg github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1raylkA= -github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= -github.com/jackc/pgx/v4 v4.16.1 h1:JzTglcal01DrghUqt+PmzWsZx/Yh7SC/CTQmSBMTd0Y= -github.com/jackc/pgx/v4 v4.16.1/go.mod h1:SIhx0D5hoADaiXZVyv+3gSm3LCIIINTVO0PficsvWGQ= github.com/jackc/pgx/v5 v5.2.0 h1:NdPpngX0Y6z6XDFKqmFQaE+bCtkqzvQIOt1wvBlAqs8= github.com/jackc/pgx/v5 v5.2.0/go.mod h1:Ptn7zmohNsWEsdxRawMzk3gaKma2obW+NWTnKa0S4nk= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= @@ -895,7 +879,7 @@ github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0f github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle/v2 v2.1.2/go.mod h1:2lpufsF5mRHO6SuZkm0fNYxM6SWHfvyFj62KwNzgels= github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -1039,8 +1023,9 @@ github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= @@ -1052,8 +1037,8 @@ github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsO github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.10/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0= -github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI= +github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -1291,7 +1276,6 @@ github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAm github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= @@ -1431,6 +1415,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= @@ -1480,7 +1465,6 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= @@ -1488,13 +1472,11 @@ go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0 go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= golang.org/x/arch v0.0.0-20210923205945-b76863e36670 h1:18EFjUmQOcUvxNYSkA6jO9VAiXCnxFY6NyDX0bHDmkU= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= @@ -1524,20 +1506,18 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 h1:Y/gsMcFOcR+6S6f3YeMKl5g+dZMEWqcz5Czj/GWYbkM= golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= +golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1662,8 +1642,9 @@ golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220111093109-d55c255bac03/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b h1:tvrvnPFcdzp294diPnrdZZZ8XUt2Tyj7svb7X52iDuU= -golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/oauth2 v0.0.0-20180227000427-d7d64896b5ff/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1694,6 +1675,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220923202941-7f9b1623fab7/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180224232135-f6cff0780e54/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1814,7 +1797,6 @@ golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1823,15 +1805,20 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956 h1:XeJjHH1KiLpKGb6lvMiksZ9l0fVUh+AmGcm0nOMEBOY= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1841,8 +1828,9 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1897,7 +1885,6 @@ golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -2170,27 +2157,28 @@ gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/mysql v1.0.3/go.mod h1:twGxftLBlFgNVNakL7F+P/x9oYqoymG3YYT8cAfI9oI= -gorm.io/driver/mysql v1.3.4 h1:/KoBMgsUHC3bExsekDcmNYaBnfH2WNeFuXqqrqMc98Q= -gorm.io/driver/mysql v1.3.4/go.mod h1:s4Tq0KmD0yhPGHbZEwg1VPlH0vT/GBHJZorPzhcxBUE= +gorm.io/driver/mysql v1.4.3/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= +gorm.io/driver/mysql v1.4.5 h1:u1lytId4+o9dDaNcPCFzNv7h6wvmc92UjNk3z8enSBU= +gorm.io/driver/mysql v1.4.5/go.mod h1:SxzItlnT1cb6e1e4ZRpgJN2VYtcqJgqnHxWr4wsP8oc= gorm.io/driver/postgres v1.0.8/go.mod h1:4eOzrI1MUfm6ObJU/UcmbXyiHSs8jSwH95G5P5dxcAg= -gorm.io/driver/postgres v1.3.7 h1:FKF6sIMDHDEvvMF/XJvbnCl0nu6KSKUaPXevJ4r+VYQ= -gorm.io/driver/postgres v1.3.7/go.mod h1:f02ympjIcgtHEGFMZvdgTxODZ9snAHDb4hXfigBVuNI= +gorm.io/driver/postgres v1.4.6 h1:1FPESNXqIKG5JmraaH2bfCVlMQ7paLoCreFxDtqzwdc= +gorm.io/driver/postgres v1.4.6/go.mod h1:UJChCNLFKeBqQRE+HrkFUbKbq9idPXmTOk2u4Wok8S4= gorm.io/driver/sqlite v1.1.3/go.mod h1:AKDgRWk8lcSQSw+9kxCJnX/yySj8G3rdwYlU57cB45c= -gorm.io/driver/sqlite v1.3.4 h1:NnFOPVfzi4CPsJPH4wXr6rMkPb4ElHEqKMvrsx9c9Fk= -gorm.io/driver/sqlite v1.3.4/go.mod h1:B+8GyC9K7VgzJAcrcXMRPdnMcck+8FgJynEehEPM16U= +gorm.io/driver/sqlite v1.4.4 h1:gIufGoR0dQzjkyqDyYSCvsYR6fba1Gw5YKDqKeChxFc= +gorm.io/driver/sqlite v1.4.4/go.mod h1:0Aq3iPO+v9ZKbcdiz8gLWRw5VOPcBOPUQJFLq5e2ecI= gorm.io/gorm v1.20.1/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.20.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.20.11/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= gorm.io/gorm v1.20.12/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= gorm.io/gorm v1.21.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= gorm.io/gorm v1.23.0/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/gorm v1.23.4 h1:1BKWM67O6CflSLcwGQR7ccfmC4ebOxQrTfOQGRE9wjg= -gorm.io/gorm v1.23.4/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/plugin/dbresolver v1.1.0 h1:cegr4DeprR6SkLIQlKhJLYxH8muFbJ4SmnojXvoeb00= -gorm.io/plugin/dbresolver v1.1.0/go.mod h1:tpImigFAEejCALOttyhWqsy4vfa2Uh/vAUVnL5IRF7Y= -gorm.io/plugin/soft_delete v1.1.0 h1:LcE4L+GD29RkkMLxMYHpT4wQCJ/9945FsdU/mHGaDuE= -gorm.io/plugin/soft_delete v1.1.0/go.mod h1:Zv7vQctOJTGOsJ/bWgrN1n3od0GBAZgnLjEx+cApLGk= +gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= +gorm.io/gorm v1.24.0/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= +gorm.io/gorm v1.24.2/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= +gorm.io/gorm v1.24.3 h1:WL2ifUmzR/SLp85CSURAfybcHnGZ+yLSGSxgYXlFBHg= +gorm.io/gorm v1.24.3/go.mod h1:DVrVomtaYTbqs7gB/x2uVvqnXzv0nqjB396B8cG4dBA= +gorm.io/plugin/dbresolver v1.4.0 h1:MnT3JFDFpZ1lJ6MoGW5jOAHHuItL/jfBCwqmdVWMC+A= +gorm.io/plugin/dbresolver v1.4.0/go.mod h1:w0DKqg02frWKwbBMTQkJ7aVxeKnap2cShQcroOQaq8k= +gorm.io/plugin/soft_delete v1.2.0 h1:txWHRMqLPqfXUFytXCdxb/jthRe3CrG4R5XOdagut6Q= +gorm.io/plugin/soft_delete v1.2.0/go.mod h1:Zv7vQctOJTGOsJ/bWgrN1n3od0GBAZgnLjEx+cApLGk= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= @@ -2246,20 +2234,16 @@ k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU= -lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/b v1.0.0/go.mod h1:uZWcZfRj1BpYzfN9JTerzlNUnnPsV9O2ZA8JsRcubNg= modernc.org/cc/v3 v3.32.4/go.mod h1:0R6jl1aZlIl2avnYfbfHBS1QB6/f+16mihBObaBC878= -modernc.org/cc/v3 v3.36.0 h1:0kmRkTmqNidmu3c7BNDSdVHCxXCkWLmWmCIVX4LUboo= -modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= -modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= +modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= modernc.org/ccgo/v3 v3.9.2/go.mod h1:gnJpy6NIVqkETT+L5zPsQFj7L2kkhfPMzOghRNv/CFo= -modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= -modernc.org/ccgo/v3 v3.16.6 h1:3l18poV+iUemQ98O3X5OMr97LOqlzis+ytivU4NqGhA= -modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= +modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= -modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= modernc.org/db v1.0.0/go.mod h1:kYD/cO29L/29RM0hXYl4i3+Q5VojL31kTUVpVJDw0s8= modernc.org/file v1.0.0/go.mod h1:uqEokAEn1u6e+J45e54dsEA/pw4o7zLrA2GwyntZzjw= modernc.org/fileutil v1.0.0/go.mod h1:JHsWpkrk/CnVV1H/eGlFf85BEpfkrp56ro8nojIq9Q8= @@ -2267,41 +2251,38 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/internal v1.0.0/go.mod h1:VUD/+JAkhCpvkUitlEOnhpVxCgsBI90oTzSCRcqQVSM= -modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.7.13-0.20210308123627-12f642a52bb8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= modernc.org/libc v1.9.5/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= -modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= -modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= -modernc.org/libc v1.16.7 h1:qzQtHhsZNpVPpeCu+aMIQldXeV1P0vRhSqCL0nOIJOA= -modernc.org/libc v1.16.7/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.22.2 h1:4U7v51GyhlWqQmwCHj28Rdq2Yzwk55ovjFrdPjs8Hb0= +modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= modernc.org/lldb v1.0.0/go.mod h1:jcRvJGWfCGodDZz8BPwiKMJxGJngQ/5DrRapkQnLob8= modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.4.1 h1:ij3fYGe8zBF4Vu+g0oT7mB06r8sqGWKuJu1yXeR4by8= -modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.0.4/go.mod h1:nV2OApxradM3/OVbs2/0OsP6nPfakXpi50C7dcoHXlc= -modernc.org/memory v1.1.1 h1:bDOL0DIDLQv7bWhP3gMvIrnoFw+Eo6F7a2QK9HPDiFU= -modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A= +modernc.org/memory v1.4.0 h1:crykUfNSnMAXaOJnnxcSzbUGMqkLWjklJKkBK2nwZwk= +modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/ql v1.0.0/go.mod h1:xGVyrLIatPcO2C1JvI/Co8c0sr6y91HKFNy4pt9JXEY= modernc.org/sortutil v1.1.0/go.mod h1:ZyL98OQHJgH9IEfN71VsamvJgrtRX9Dj2gX+vH86L1k= modernc.org/sqlite v1.10.6/go.mod h1:Z9FEjUtZP4qFEg6/SiADg9XCER7aYy9a/j7Pg9P7CPs= -modernc.org/sqlite v1.17.3 h1:iE+coC5g17LtByDYDWKpR6m2Z9022YrSh3bumwOnIrI= -modernc.org/sqlite v1.17.3/go.mod h1:10hPVYar9C0kfXuTWGz8s0XtB8uAGymUy51ZzStYe3k= +modernc.org/sqlite v1.20.1 h1:z6qRLw72B0VfRrJjs3l6hWkzYDx1bo0WGVrBGP4ohhM= +modernc.org/sqlite v1.20.1/go.mod h1:fODt+bFmc/j8LcoCbMSkAuKuGmhxjG45KGc25N2705M= modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= -modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs= -modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.5.2/go.mod h1:pmJYOLgpiys3oI4AeAafkcUfE+TKKilminxNyU/+Zlo= -modernc.org/tcl v1.13.1 h1:npxzTwFTZYM8ghWicVIX1cRWzj7Nd8i6AqqX2p+IYao= -modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= -modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk= +modernc.org/tcl v1.15.0 h1:oY+JeD11qVVSgVvodMJsu7Edf8tr5E/7tuhF5cNYz34= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg= +modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.0.1-0.20210308123920-1f282aa71362/go.mod h1:8/SRk5C/HgiQWCgXdfpb+1RvhORdkz5sw72d3jjtyqA= modernc.org/z v1.0.1/go.mod h1:8/SRk5C/HgiQWCgXdfpb+1RvhORdkz5sw72d3jjtyqA= -modernc.org/z v1.5.1 h1:RTNHdsrOpeoSeOF4FbzTo8gBYByaJ5xT7NgZ9ZqRiJM= -modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= +modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE= modernc.org/zappy v1.0.0/go.mod h1:hHe+oGahLVII/aTTyWK/b53VDHMAGCBYYeZ9sn83HC4= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/internal/conf/db_sqlx.go b/internal/conf/db_sqlx.go index 24477f12..9b4b3c2c 100644 --- a/internal/conf/db_sqlx.go +++ b/internal/conf/db_sqlx.go @@ -11,9 +11,6 @@ import ( "github.com/alimy/cfg" "github.com/jmoiron/sqlx" "github.com/sirupsen/logrus" - - _ "github.com/go-sql-driver/mysql" - _ "github.com/jackc/pgx/v5/stdlib" ) var ( diff --git a/internal/migration/migration_embed.go b/internal/migration/migration_embed.go index c57e6081..c2232d29 100644 --- a/internal/migration/migration_embed.go +++ b/internal/migration/migration_embed.go @@ -42,7 +42,7 @@ func Run() { db, err = sql.Open("mysql", conf.MysqlSetting.Dsn()+"&multiStatements=true") } else if cfg.If("PostgreSQL") || cfg.If("Postgres") { dbName = (*conf.PostgresSetting)["DBName"] - db, err = sql.Open("postgres", conf.PostgresSetting.Dsn()) + db, err = sql.Open("pgx", conf.PostgresSetting.Dsn()) } else if cfg.If("Sqlite3") { _, db, err = conf.OpenSqlite3() } else { From 7d2a2fd2855f6069267deeaba45c80f6218df03e Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 5 Jan 2023 16:20:43 +0800 Subject: [PATCH 06/65] sqlx: optimize sql db initial --- internal/conf/db.go | 34 ++++++++++++++++++++++++++++++++-- internal/conf/db_sqlx.go | 25 +++---------------------- 2 files changed, 35 insertions(+), 24 deletions(-) diff --git a/internal/conf/db.go b/internal/conf/db.go index 37304f4d..53ce0f16 100644 --- a/internal/conf/db.go +++ b/internal/conf/db.go @@ -5,16 +5,30 @@ package conf import ( + "database/sql" "sync" + "github.com/alimy/cfg" "github.com/go-redis/redis/v8" + "github.com/sirupsen/logrus" ) var ( - _redisClient *redis.Client - _onceRedis sync.Once + _sqldb *sql.DB + _redisClient *redis.Client + _onceSql, _onceRedis sync.Once ) +func MustSqlDB() *sql.DB { + _onceSql.Do(func() { + var err error + if _, _sqldb, err = newSqlDB(); err != nil { + logrus.Fatalf("new sql db failed: %s", err) + } + }) + return _sqldb +} + func MustRedis() *redis.Client { _onceRedis.Do(func() { _redisClient = redis.NewClient(&redis.Options{ @@ -25,3 +39,19 @@ func MustRedis() *redis.Client { }) return _redisClient } + +func newSqlDB() (driver string, db *sql.DB, err error) { + if cfg.If("MySQL") { + driver = "mysql" + db, err = sql.Open(driver, MysqlSetting.Dsn()) + } else if cfg.If("PostgreSQL") || cfg.If("Postgres") { + driver = "pgx" + db, err = sql.Open(driver, PostgresSetting.Dsn()) + } else if cfg.If("Sqlite3") { + driver, db, err = OpenSqlite3() + } else { + driver = "mysql" + db, err = sql.Open(driver, MysqlSetting.Dsn()) + } + return +} diff --git a/internal/conf/db_sqlx.go b/internal/conf/db_sqlx.go index 9b4b3c2c..c2699c84 100644 --- a/internal/conf/db_sqlx.go +++ b/internal/conf/db_sqlx.go @@ -5,10 +5,8 @@ package conf import ( - "database/sql" "sync" - "github.com/alimy/cfg" "github.com/jmoiron/sqlx" "github.com/sirupsen/logrus" ) @@ -20,28 +18,11 @@ var ( func MustSqlxDB() *sqlx.DB { _onceSqlx.Do(func() { - var err error - if _sqlxdb, err = newSqlxDB(); err != nil { + driver, db, err := newSqlDB() + if err != nil { logrus.Fatalf("new sqlx db failed: %s", err) } + _sqlxdb = sqlx.NewDb(db, driver) }) return _sqlxdb } - -func newSqlxDB() (db *sqlx.DB, err error) { - if cfg.If("MySQL") { - db, err = sqlx.Open("mysql", MysqlSetting.Dsn()) - } else if cfg.If("PostgreSQL") || cfg.If("Postgres") { - db, err = sqlx.Open("pgx", PostgresSetting.Dsn()) - } else if cfg.If("Sqlite3") { - var ( - driver string - sqldb *sql.DB - ) - driver, sqldb, err = OpenSqlite3() - db = sqlx.NewDb(sqldb, driver) - } else { - db, err = sqlx.Open("mysql", MysqlSetting.Dsn()) - } - return -} From 59edb166212e596eca3de179f6c29450a5dd1f83 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 5 Jan 2023 17:28:38 +0800 Subject: [PATCH 07/65] sqlx: fixed ams inital error for sqlc feature --- internal/dao/dao.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/dao/dao.go b/internal/dao/dao.go index 9d448bb3..edbb7834 100644 --- a/internal/dao/dao.go +++ b/internal/dao/dao.go @@ -95,7 +95,7 @@ func newAuthorizationManageService() (s core.AuthorizationManageService) { s = jinzhu.NewAuthorizationManageService() } else if cfg.If("Sqlx") && cfg.If("MySQL") { s = sakila.NewAuthorizationManageService() - } else if cfg.If("Sqlx") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { + } else if cfg.If("Sqlc") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { s = slonik.NewAuthorizationManageService() } else { s = jinzhu.NewAuthorizationManageService() From 6890f4f5fc5e3e19a15a9e5265bc69fec293a12a Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 5 Jan 2023 17:30:56 +0800 Subject: [PATCH 08/65] sqlx: optimize ams initial for sqlc feature --- internal/dao/dao.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/dao/dao.go b/internal/dao/dao.go index edbb7834..2a70016f 100644 --- a/internal/dao/dao.go +++ b/internal/dao/dao.go @@ -93,7 +93,7 @@ func TweetSearchService() core.TweetSearchService { func newAuthorizationManageService() (s core.AuthorizationManageService) { if cfg.If("Gorm") { s = jinzhu.NewAuthorizationManageService() - } else if cfg.If("Sqlx") && cfg.If("MySQL") { + } else if cfg.If("Sqlx") { s = sakila.NewAuthorizationManageService() } else if cfg.If("Sqlc") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { s = slonik.NewAuthorizationManageService() From ef2925389c552e094cf5a625faef149265f88a4f Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 7 Jan 2023 19:53:58 +0800 Subject: [PATCH 09/65] sqlx: add sqlxServent with help method for db transcation logic --- internal/dao/sakila/authority.go | 4 ++-- internal/dao/sakila/comments.go | 8 ++++---- internal/dao/sakila/contacts.go | 4 ++-- internal/dao/sakila/index.go | 12 +++++------ internal/dao/sakila/messages.go | 4 ++-- internal/dao/sakila/security.go | 4 ++-- internal/dao/sakila/sqlx.go | 35 ++++++++++++++++++++++++++++++++ internal/dao/sakila/topics.go | 4 ++-- internal/dao/sakila/tweets.go | 12 +++++------ internal/dao/sakila/user.go | 4 ++-- internal/dao/sakila/wallet.go | 4 ++-- 11 files changed, 65 insertions(+), 30 deletions(-) diff --git a/internal/dao/sakila/authority.go b/internal/dao/sakila/authority.go index 8e2e0fb2..476e8a1b 100644 --- a/internal/dao/sakila/authority.go +++ b/internal/dao/sakila/authority.go @@ -15,7 +15,7 @@ var ( ) type authorizationManageServant struct { - db *sqlx.DB + *sqlxServant stmtIdx *sqlx.Stmt stmtUpdateFriend *sqlx.Stmt } @@ -52,7 +52,7 @@ func (s *authorizationManageServant) isFriend(userId int64, friendId int64) bool func newAuthorizationManageService(db *sqlx.DB) core.AuthorizationManageService { return &authorizationManageServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtIdx: c(`SELECT * FROM @person WHERE first_name=?`), stmtUpdateFriend: c(`SELECT * FROM @person WHERE first_name=?`), } diff --git a/internal/dao/sakila/comments.go b/internal/dao/sakila/comments.go index c4a25eac..09dd3f97 100644 --- a/internal/dao/sakila/comments.go +++ b/internal/dao/sakila/comments.go @@ -16,13 +16,13 @@ var ( ) type commentServant struct { - db *sqlx.DB + *sqlxServant stmtGetComments *sqlx.Stmt stmtGetReply *sqlx.Stmt } type commentManageServant struct { - db *sqlx.DB + *sqlxServant stmtDelComments *sqlx.Stmt stmtAddComents *sqlx.Stmt } @@ -95,7 +95,7 @@ func (s *commentManageServant) CreateCommentContent(content *core.CommentContent func newCommentService(db *sqlx.DB) core.CommentService { return &commentServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtGetComments: c(`SELECT * FROM @person WHERE first_name=?`), stmtGetReply: c(`SELECT * FROM @person WHERE first_name=?`), } @@ -103,7 +103,7 @@ func newCommentService(db *sqlx.DB) core.CommentService { func newCommentManageService(db *sqlx.DB) core.CommentManageService { return &commentManageServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtAddComents: c(`SELECT * FROM @person WHERE first_name=?`), stmtDelComments: c(`SELECT * FROM @person WHERE first_name=?`), } diff --git a/internal/dao/sakila/contacts.go b/internal/dao/sakila/contacts.go index b7b8eba2..4aa07339 100644 --- a/internal/dao/sakila/contacts.go +++ b/internal/dao/sakila/contacts.go @@ -15,7 +15,7 @@ var ( ) type contactManageServant struct { - db *sqlx.DB + *sqlxServant stmtAddFriend *sqlx.Stmt stmtDelFriend *sqlx.Stmt } @@ -58,7 +58,7 @@ func (s *contactManageServant) IsFriend(userId int64, friendId int64) bool { func newContactManageService(db *sqlx.DB) core.ContactManageService { return &contactManageServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtAddFriend: c(`SELECT * FROM @person WHERE first_name=?`), stmtDelFriend: c(`SELECT * FROM @person WHERE first_name=?`), } diff --git a/internal/dao/sakila/index.go b/internal/dao/sakila/index.go index d70ec2ec..341cc544 100644 --- a/internal/dao/sakila/index.go +++ b/internal/dao/sakila/index.go @@ -16,12 +16,12 @@ var ( ) type indexPostsServant struct { - db *sqlx.DB + *sqlxServant stmtIndex *sqlx.Stmt } type simpleIndexPostsServant struct { - db *sqlx.DB + *sqlxServant stmtIndex *sqlx.Stmt } @@ -41,14 +41,14 @@ func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit func newIndexPostsService(db *sqlx.DB) core.IndexPostsService { return &indexPostsServant{ - db: db, - stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), + sqlxServant: newSqlxServant(db), + stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), } } func newSimpleIndexPostsService(db *sqlx.DB) core.IndexPostsService { return &simpleIndexPostsServant{ - db: db, - stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), + sqlxServant: newSqlxServant(db), + stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), } } diff --git a/internal/dao/sakila/messages.go b/internal/dao/sakila/messages.go index d0539edf..16ba8391 100644 --- a/internal/dao/sakila/messages.go +++ b/internal/dao/sakila/messages.go @@ -15,7 +15,7 @@ var ( ) type messageServant struct { - db *sqlx.DB + *sqlxServant stmtAddMsg *sqlx.Stmt stmtGetMsg *sqlx.Stmt stmtReadMsg *sqlx.Stmt @@ -59,7 +59,7 @@ func (s *messageServant) GetMessageCount(conditions *core.ConditionsT) (int64, e func newMessageService(db *sqlx.DB) core.MessageService { return &messageServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtAddMsg: c(`SELECT * FROM @person WHERE first_name=?`), stmtGetMsg: c(`SELECT * FROM @person WHERE first_name=?`), stmtReadMsg: c(`SELECT * FROM @person WHERE first_name=?`), diff --git a/internal/dao/sakila/security.go b/internal/dao/sakila/security.go index 457b407d..2804f97f 100644 --- a/internal/dao/sakila/security.go +++ b/internal/dao/sakila/security.go @@ -15,7 +15,7 @@ var ( ) type securityServant struct { - db *sqlx.DB + *sqlxServant phoneVerify core.PhoneVerifyService stmtAddCaptcha *sqlx.Stmt stmtGetCaptcha *sqlx.Stmt @@ -44,7 +44,7 @@ func (s *securityServant) SendPhoneCaptcha(phone string) error { func newSecurityService(db *sqlx.DB, phoneVerify core.PhoneVerifyService) core.SecurityService { return &securityServant{ - db: db, + sqlxServant: newSqlxServant(db), phoneVerify: phoneVerify, stmtAddCaptcha: c(`SELECT * FROM @person WHERE first_name=?`), stmtGetCaptcha: c(`SELECT * FROM @person WHERE first_name=?`), diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go index b1f9d1e7..d5696418 100644 --- a/internal/dao/sakila/sqlx.go +++ b/internal/dao/sakila/sqlx.go @@ -8,6 +8,8 @@ package sakila import ( + "context" + "database/sql" "strings" "sync" @@ -21,6 +23,39 @@ var ( _once sync.Once ) +type sqlxServant struct { + db *sqlx.DB +} + +func (s *sqlxServant) with(handle func(*sqlx.Tx) error) error { + tx, err := s.db.Beginx() + if err != nil { + return err + } + if err = handle(tx); err == nil { + return tx.Commit() + } + return tx.Rollback() +} + +func (s *sqlxServant) withTx(ctx context.Context, opts *sql.TxOptions, handle func(*sqlx.Tx) error) error { + tx, err := s.db.BeginTxx(ctx, opts) + if err != nil { + return err + + } + if err = handle(tx); err == nil { + return tx.Commit() + } + return tx.Rollback() +} + +func newSqlxServant(db *sqlx.DB) *sqlxServant { + return &sqlxServant{ + db: db, + } +} + func sqlxDB() *sqlx.DB { _once.Do(func() { _db = conf.MustSqlxDB() diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index 7f599509..1d5e47f1 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -15,7 +15,7 @@ var ( ) type topicServant struct { - db *sqlx.DB + *sqlxServant stmtAddTag *sqlx.Stmt stmtDelTag *sqlx.Stmt stmtListTag *sqlx.Stmt @@ -47,7 +47,7 @@ func (s *topicServant) GetTagsByKeyword(keyword string) ([]*core.Tag, error) { func newTopicService(db *sqlx.DB) core.TopicService { return &topicServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtAddTag: c(`SELECT * FROM @person WHERE first_name=?`), stmtDelTag: c(`SELECT * FROM @person WHERE first_name=?`), stmtListTag: c(`SELECT * FROM @person WHERE first_name=?`), diff --git a/internal/dao/sakila/tweets.go b/internal/dao/sakila/tweets.go index 3d3fa958..78455535 100644 --- a/internal/dao/sakila/tweets.go +++ b/internal/dao/sakila/tweets.go @@ -19,14 +19,14 @@ var ( ) type tweetServant struct { - db *sqlx.DB + *sqlxServant stmtGetTweet *sqlx.Stmt stmtListTweet *sqlx.Stmt stmtListStar *sqlx.Stmt } type tweetManageServant struct { - db *sqlx.DB + *sqlxServant cacheIndex core.CacheIndexService stmtAddTweet *sqlx.Stmt stmtDelTweet *sqlx.Stmt @@ -34,7 +34,7 @@ type tweetManageServant struct { } type tweetHelpServant struct { - db *sqlx.DB + *sqlxServant stmtAddTag *sqlx.Stmt stmtDelTag *sqlx.Stmt stmtListTag *sqlx.Stmt @@ -230,7 +230,7 @@ func (s *tweetServant) GetPostContentByID(id int64) (*core.PostContent, error) { func newTweetService(db *sqlx.DB) core.TweetService { return &tweetServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtGetTweet: c(`SELECT * FROM @person WHERE first_name=?`), stmtListTweet: c(`SELECT * FROM @person WHERE first_name=?`), stmtListStar: c(`SELECT * FROM @person WHERE first_name=?`), @@ -239,7 +239,7 @@ func newTweetService(db *sqlx.DB) core.TweetService { func newTweetManageService(db *sqlx.DB, cacheIndex core.CacheIndexService) core.TweetManageService { return &tweetManageServant{ - db: db, + sqlxServant: newSqlxServant(db), cacheIndex: cacheIndex, stmtAddTweet: c(`SELECT * FROM @person WHERE first_name=?`), stmtDelTweet: c(`SELECT * FROM @person WHERE first_name=?`), @@ -249,7 +249,7 @@ func newTweetManageService(db *sqlx.DB, cacheIndex core.CacheIndexService) core. func newTweetHelpService(db *sqlx.DB) core.TweetHelpService { return &tweetHelpServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtAddTag: c(`SELECT * FROM @person WHERE first_name=?`), stmtDelTag: c(`SELECT * FROM @person WHERE first_name=?`), stmtListTag: c(`SELECT * FROM @person WHERE first_name=?`), diff --git a/internal/dao/sakila/user.go b/internal/dao/sakila/user.go index 74c8ec38..282dd65e 100644 --- a/internal/dao/sakila/user.go +++ b/internal/dao/sakila/user.go @@ -15,7 +15,7 @@ var ( ) type userManageServant struct { - db *sqlx.DB + *sqlxServant stmtAddUser *sqlx.Stmt stmtUpdateUser *sqlx.Stmt stmtGetUser *sqlx.Stmt @@ -71,7 +71,7 @@ func (s *userManageServant) UpdateUser(user *core.User) error { func newUserManageService(db *sqlx.DB) core.UserManageService { return &userManageServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtAddUser: c(`SELECT * FROM @person WHERE first_name=?`), stmtUpdateUser: c(`SELECT * FROM @person WHERE first_name=?`), stmtGetUser: c(`SELECT * FROM @person WHERE first_name=?`), diff --git a/internal/dao/sakila/wallet.go b/internal/dao/sakila/wallet.go index 950484d2..71782007 100644 --- a/internal/dao/sakila/wallet.go +++ b/internal/dao/sakila/wallet.go @@ -15,7 +15,7 @@ var ( ) type walletServant struct { - db *sqlx.DB + *sqlxServant stmtAddRecharge *sqlx.Stmt stmtGetRecharge *sqlx.Stmt stmtGetBills *sqlx.Stmt @@ -58,7 +58,7 @@ func (s *walletServant) HandlePostAttachmentBought(post *core.Post, user *core.U func newWalletService(db *sqlx.DB) core.WalletService { return &walletServant{ - db: db, + sqlxServant: newSqlxServant(db), stmtAddRecharge: c(`SELECT * FROM @person WHERE first_name=?`), stmtGetRecharge: c(`SELECT * FROM @person WHERE first_name=?`), stmtGetBills: c(`SELECT * FROM @person WHERE first_name=?`), From d8b009ee3d1069ef9ba3703fec367bdce3a8e996 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 9 Jan 2023 14:49:01 +0800 Subject: [PATCH 10/65] sqlx: adjust index post service stub interface --- internal/dao/sakila/index.go | 65 +++++++++++++++++++++++++++++------ internal/dao/sakila/sakila.go | 37 ++++++++++++++------ internal/dao/sakila/sqlx.go | 3 -- 3 files changed, 81 insertions(+), 24 deletions(-) diff --git a/internal/dao/sakila/index.go b/internal/dao/sakila/index.go index 341cc544..3e3144fd 100644 --- a/internal/dao/sakila/index.go +++ b/internal/dao/sakila/index.go @@ -11,43 +11,88 @@ import ( ) var ( - _ core.IndexPostsService = (*indexPostsServant)(nil) + _ core.IndexPostsService = (*friendIndexServant)(nil) + _ core.IndexPostsService = (*followIndexServant)(nil) + _ core.IndexPostsService = (*lightIndexServant)(nil) _ core.IndexPostsService = (*simpleIndexPostsServant)(nil) ) -type indexPostsServant struct { +type friendIndexServant struct { *sqlxServant + ams core.AuthorizationManageService + ths core.TweetHelpService + stmtIndex *sqlx.Stmt +} + +type followIndexServant struct { + *sqlxServant + ths core.TweetHelpService + stmtIndex *sqlx.Stmt +} + +type lightIndexServant struct { + *sqlxServant + ths core.TweetHelpService stmtIndex *sqlx.Stmt } type simpleIndexPostsServant struct { *sqlxServant + ths core.TweetHelpService stmtIndex *sqlx.Stmt } // IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; -func (s *indexPostsServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *friendIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +// IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; +func (s *followIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +// IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; +func (s *lightIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO - debug.NotImplemented() - return nil, nil + return nil, debug.ErrNotImplemented } // simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数 func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO - debug.NotImplemented() - return nil, nil + return nil, debug.ErrNotImplemented +} + +func newFriendIndexService(db *sqlx.DB, ams core.AuthorizationManageService, ths core.TweetHelpService) core.IndexPostsService { + return &friendIndexServant{ + ams: ams, + sqlxServant: newSqlxServant(db), + stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), + } +} + +func newFollowIndexService(db *sqlx.DB, ths core.TweetHelpService) core.IndexPostsService { + return &followIndexServant{ + ths: ths, + sqlxServant: newSqlxServant(db), + stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), + } } -func newIndexPostsService(db *sqlx.DB) core.IndexPostsService { - return &indexPostsServant{ +func newLightIndexService(db *sqlx.DB, ths core.TweetHelpService) core.IndexPostsService { + return &lightIndexServant{ + ths: ths, sqlxServant: newSqlxServant(db), stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), } } -func newSimpleIndexPostsService(db *sqlx.DB) core.IndexPostsService { +func newSimpleIndexPostsService(db *sqlx.DB, ths core.TweetHelpService) core.IndexPostsService { return &simpleIndexPostsServant{ + ths: ths, sqlxServant: newSqlxServant(db), stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), } diff --git a/internal/dao/sakila/sakila.go b/internal/dao/sakila/sakila.go index 354b7525..76ccfd6b 100644 --- a/internal/dao/sakila/sakila.go +++ b/internal/dao/sakila/sakila.go @@ -35,33 +35,48 @@ type dataServant struct { } func NewDataService() (core.DataService, core.VersionInfo) { - // initialize CacheIndex if needed var ( - c core.CacheIndexService - v core.VersionInfo + v core.VersionInfo + cis core.CacheIndexService + ips core.IndexPostsService ) db := sqlxDB() pvs := security.NewPhoneVerifyService() + ams := NewAuthorizationManageService() + ths := newTweetHelpService(db) - i := newIndexPostsService(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 if cfg.If("SimpleCacheIndex") { - i = newSimpleIndexPostsService(db) - c, v = cache.NewSimpleCacheIndexService(i) + // simpleCache use special post index service + ips = newSimpleIndexPostsService(db, ths) + cis, v = cache.NewSimpleCacheIndexService(ips) } else if cfg.If("BigCacheIndex") { - a := newAuthorizationManageService(db) - c, v = cache.NewBigCacheIndexService(i, a) + // TODO: make cache index post in different scence like friendship/followship/lightship + cis, v = cache.NewBigCacheIndexService(ips, ams) } else { - c, v = cache.NewNoneCacheIndexService(i) + cis, v = cache.NewNoneCacheIndexService(ips) } logrus.Infof("use %s as cache index service by version: %s", v.Name(), v.Version()) ds := &dataServant{ - IndexPostsService: c, + IndexPostsService: cis, WalletService: newWalletService(db), MessageService: newMessageService(db), TopicService: newTopicService(db), TweetService: newTweetService(db), - TweetManageService: newTweetManageService(db, c), + TweetManageService: newTweetManageService(db, cis), TweetHelpService: newTweetHelpService(db), CommentService: newCommentService(db), CommentManageService: newCommentManageService(db), diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go index d5696418..c38994b2 100644 --- a/internal/dao/sakila/sqlx.go +++ b/internal/dao/sakila/sqlx.go @@ -2,9 +2,6 @@ // Use of this source code is governed by a MIT style // license that can be found in the LICENSE file. -// Core service implement base sqlx+mysql. All sub-service -// will declare here and provide initial function. - package sakila import ( From dda5465d602cd04f5008e1867b9cfc864569ac5a Mon Sep 17 00:00:00 2001 From: Michael Li Date: Fri, 3 Feb 2023 20:30:03 +0800 Subject: [PATCH 11/65] sqlx: implements topic data logics --- internal/core/topics.go | 41 ++++++-- internal/dao/jinzhu/dbr/tag.go | 12 +-- internal/dao/jinzhu/topics.go | 74 +++++++++++--- internal/dao/jinzhu/tweets.go | 20 ++-- internal/dao/jinzhu/user.go | 18 +++- internal/dao/jinzhu/utils.go | 59 +++++++---- internal/dao/sakila/sqlx.go | 15 ++- internal/dao/sakila/topics.go | 143 ++++++++++++++++++++++----- internal/model/web/pub.go | 7 +- internal/servants/web/broker/post.go | 30 +----- internal/servants/web/priv.go | 8 +- internal/servants/web/pub.go | 15 +-- web/src/types/Item.d.ts | 10 +- 13 files changed, 298 insertions(+), 154 deletions(-) diff --git a/internal/core/topics.go b/internal/core/topics.go index 138cc151..0982496c 100644 --- a/internal/core/topics.go +++ b/internal/core/topics.go @@ -4,19 +4,42 @@ package core -import ( - "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" +const ( + TagCategoryHot TagCategory = "hot" + TagCategoryNew TagCategory = "new" ) -type ( - Tag = dbr.Tag - TagFormated = dbr.TagFormated -) +type TagCategory string + +type Tag struct { + ID int64 `json:"id" db:"id"` + UserID int64 `json:"user_id" db:"user_id"` + Tag string `json:"tag"` + QuoteNum int64 `json:"quote_num" db:"quote_num"` +} + +type TagFormated struct { + ID int64 `json:"id"` + UserID int64 `json:"user_id"` + User *UserFormated `json:"user"` + Tag string `json:"tag"` + QuoteNum int64 `json:"quote_num"` +} // TopicService 话题服务 type TopicService interface { - CreateTag(tag *Tag) (*Tag, error) - DeleteTag(tag *Tag) error - GetTags(conditions *ConditionsT, offset, limit int) ([]*Tag, error) + UpsertTags(userId int64, tags []string) ([]*Tag, error) + DecrTagsById(ids []int64) error + GetTags(category TagCategory, offset int, limit int) ([]*Tag, error) GetTagsByKeyword(keyword string) ([]*Tag, error) } + +func (t *Tag) Format() *TagFormated { + return &TagFormated{ + ID: t.ID, + UserID: t.UserID, + User: &UserFormated{}, + Tag: t.Tag, + QuoteNum: t.QuoteNum, + } +} diff --git a/internal/dao/jinzhu/dbr/tag.go b/internal/dao/jinzhu/dbr/tag.go index 8570f574..8c7c9d20 100644 --- a/internal/dao/jinzhu/dbr/tag.go +++ b/internal/dao/jinzhu/dbr/tag.go @@ -71,9 +71,7 @@ func (t *Tag) Delete(db *gorm.DB) error { }).Error } -func (t *Tag) List(db *gorm.DB, conditions *ConditionsT, offset, limit int) ([]*Tag, error) { - var tags []*Tag - var err error +func (t *Tag) List(db *gorm.DB, conditions *ConditionsT, offset, limit int) (tags []*Tag, err error) { if offset >= 0 && limit > 0 { db = db.Offset(offset).Limit(limit) } @@ -87,12 +85,8 @@ func (t *Tag) List(db *gorm.DB, conditions *ConditionsT, offset, limit int) ([]* db = db.Where(k, v) } } - - if err = db.Where("is_del = 0 and quote_num > 0").Find(&tags).Error; err != nil { - return nil, err - } - - return tags, nil + err = db.Where("is_del = 0 and quote_num > 0").Find(&tags).Error + return } func (t *Tag) TagsFrom(db *gorm.DB, tags []string) (res []*Tag, err error) { diff --git a/internal/dao/jinzhu/topics.go b/internal/dao/jinzhu/topics.go index d5ce70a9..3ab42fa9 100644 --- a/internal/dao/jinzhu/topics.go +++ b/internal/dao/jinzhu/topics.go @@ -26,30 +26,82 @@ func newTopicService(db *gorm.DB) core.TopicService { } } -func (s *topicServant) CreateTag(tag *core.Tag) (*core.Tag, error) { - return createTag(s.db, tag) +func (s *topicServant) UpsertTags(userId int64, tags []string) (_ []*core.Tag, err error) { + db := s.db.Begin() + defer func() { + if err == nil { + db.Commit() + } else { + db.Rollback() + } + }() + return createTags(db, userId, tags) } -func (s *topicServant) DeleteTag(tag *core.Tag) error { - return deleteTag(s.db, tag) +func (s *topicServant) DecrTagsById(ids []int64) (err error) { + db := s.db.Begin() + defer func() { + if err == nil { + db.Commit() + } else { + db.Rollback() + } + }() + return decrTagsByIds(db, ids) } -func (s *topicServant) GetTags(conditions *core.ConditionsT, offset, limit int) ([]*core.Tag, error) { - return (&dbr.Tag{}).List(s.db, conditions, offset, limit) +func (s *topicServant) GetTags(category core.TagCategory, offset, limit int) (res []*core.Tag, err error) { + conditions := &core.ConditionsT{} + switch category { + case core.TagCategoryHot: + // 热门标签 + conditions = &core.ConditionsT{ + "ORDER": "quote_num DESC", + } + case core.TagCategoryNew: + // 最新标签 + conditions = &core.ConditionsT{ + "ORDER": "id DESC", + } + } + // TODO: 优化查询方式,直接返回[]*core.Tag, 目前保持先转换一下 + var tags []*dbr.Tag + if tags, err = (&dbr.Tag{}).List(s.db, conditions, offset, limit); err == nil { + for _, tag := range tags { + res = append(res, &core.Tag{ + ID: tag.ID, + UserID: tag.UserID, + Tag: tag.Tag, + QuoteNum: tag.QuoteNum, + }) + } + } + return } -func (s *topicServant) GetTagsByKeyword(keyword string) ([]*core.Tag, error) { - tag := &dbr.Tag{} - +func (s *topicServant) GetTagsByKeyword(keyword string) (res []*core.Tag, err error) { keyword = "%" + strings.Trim(keyword, " ") + "%" + tag := &dbr.Tag{} + var tags []*dbr.Tag if keyword == "%%" { - return tag.List(s.db, &dbr.ConditionsT{ + tags, err = tag.List(s.db, &dbr.ConditionsT{ "ORDER": "quote_num DESC", }, 0, 6) } else { - return tag.List(s.db, &dbr.ConditionsT{ + tags, err = tag.List(s.db, &dbr.ConditionsT{ "tag LIKE ?": keyword, "ORDER": "quote_num DESC", }, 0, 6) } + if err == nil { + for _, tag := range tags { + res = append(res, &core.Tag{ + ID: tag.ID, + UserID: tag.UserID, + Tag: tag.Tag, + QuoteNum: tag.QuoteNum, + }) + } + } + return } diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index 186b7280..9882a9e8 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -288,21 +288,15 @@ func (s *tweetManageServant) VisiblePost(post *core.Post, visibility core.PostVi db.Rollback() return err } - // tag处理 tags := strings.Split(post.Tags, ",") - for _, t := range tags { - tag := &dbr.Tag{ - Tag: t, - } - // TODO: 暂时宽松不处理错误,这里或许可以有优化,后续完善 - if oldVisibility == dbr.PostVisitPrivate { - // 从私密转为非私密才需要重新创建tag - createTag(db, tag) - } else if visibility == dbr.PostVisitPrivate { - // 从非私密转为私密才需要删除tag - deleteTag(db, tag) - } + // TODO: 暂时宽松不处理错误,这里或许可以有优化,后续完善 + if oldVisibility == dbr.PostVisitPrivate { + // 从私密转为非私密才需要重新创建tag + createTags(db, post.UserID, tags) + } else if visibility == dbr.PostVisitPrivate { + // 从非私密转为私密才需要删除tag + deleteTags(db, tags) } db.Commit() s.cacheIndex.SendAction(core.IdxActVisiblePost, post) diff --git a/internal/dao/jinzhu/user.go b/internal/dao/jinzhu/user.go index 96d09fc1..21e36fe0 100644 --- a/internal/dao/jinzhu/user.go +++ b/internal/dao/jinzhu/user.go @@ -70,19 +70,31 @@ func (s *userManageServant) GetUsersByKeyword(keyword string) ([]*core.User, err } } -func (s *userManageServant) GetTagsByKeyword(keyword string) ([]*core.Tag, error) { +func (s *userManageServant) GetTagsByKeyword(keyword string) (res []*core.Tag, err error) { tag := &dbr.Tag{} keyword = "%" + strings.Trim(keyword, " ") + "%" + var tags []*dbr.Tag if keyword == "%%" { - return tag.List(s.db, &dbr.ConditionsT{ + tags, err = tag.List(s.db, &dbr.ConditionsT{ "ORDER": "quote_num DESC", }, 0, 6) } else { - return tag.List(s.db, &dbr.ConditionsT{ + tags, err = tag.List(s.db, &dbr.ConditionsT{ "tag LIKE ?": keyword, "ORDER": "quote_num DESC", }, 0, 6) } + if err == nil { + for _, tag := range tags { + res = append(res, &core.Tag{ + ID: tag.ID, + UserID: tag.UserID, + Tag: tag.Tag, + QuoteNum: tag.QuoteNum, + }) + } + } + return } func (s *userManageServant) CreateUser(user *dbr.User) (*core.User, error) { diff --git a/internal/dao/jinzhu/utils.go b/internal/dao/jinzhu/utils.go index 27766397..53660034 100644 --- a/internal/dao/jinzhu/utils.go +++ b/internal/dao/jinzhu/utils.go @@ -5,35 +5,52 @@ package jinzhu import ( + "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "gorm.io/gorm" ) -func createTag(db *gorm.DB, tag *dbr.Tag) (*dbr.Tag, error) { - t, err := tag.Get(db) - if err != nil { - tag.QuoteNum = 1 - return tag.Create(db) - } - - // 更新 - t.QuoteNum++ - err = t.Update(db) - - if err != nil { - return nil, err +func createTags(db *gorm.DB, userId int64, tags []string) (res []*core.Tag, err error) { + for _, name := range tags { + tag := &dbr.Tag{Tag: name} + if tag, err = tag.Get(db); err == nil { + // 更新 + tag.QuoteNum++ + if err = tag.Update(db); err != nil { + return + } + } else { + tag.UserID, tag.QuoteNum = userId, 1 + if tag, err = (&dbr.Tag{ + UserID: userId, + QuoteNum: 1, + }).Create(db); err != nil { + return + } + } + res = append(res, &core.Tag{ + ID: tag.ID, + UserID: tag.UserID, + Tag: tag.Tag, + QuoteNum: tag.QuoteNum, + }) } - - return t, nil + return } -func deleteTag(db *gorm.DB, tag *dbr.Tag) error { - tag, err := tag.Get(db) - if err != nil { - return err +func decrTagsByIds(db *gorm.DB, ids []int64) (err error) { + for _, id := range ids { + tag := &dbr.Tag{Model: &dbr.Model{ID: id}} + if tag, err = tag.Get(db); err == nil { + tag.QuoteNum-- + if err = tag.Update(db); err != nil { + return + } + } else { + continue + } } - tag.QuoteNum-- - return tag.Update(db) + return nil } func deleteTags(db *gorm.DB, tags []string) error { diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go index c38994b2..95275a8f 100644 --- a/internal/dao/sakila/sqlx.go +++ b/internal/dao/sakila/sqlx.go @@ -24,7 +24,7 @@ type sqlxServant struct { db *sqlx.DB } -func (s *sqlxServant) with(handle func(*sqlx.Tx) error) error { +func (s *sqlxServant) with(handle func(tx *sqlx.Tx) error) error { tx, err := s.db.Beginx() if err != nil { return err @@ -60,6 +60,19 @@ func sqlxDB() *sqlx.DB { return _db } +func in(db *sqlx.DB, query string, args ...interface{}) (string, []interface{}, error) { + q, params, err := sqlx.In(query, args...) + if err != nil { + return "", nil, err + } + return db.Rebind(q), params, nil +} + +func r(query string) string { + db := sqlxDB() + return db.Rebind(t(query)) +} + func c(query string) *sqlx.Stmt { db := sqlxDB() stmt, err := db.Preparex(db.Rebind(t(query))) diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index 1d5e47f1..c0ce3c6e 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -5,9 +5,11 @@ package sakila import ( + "strings" + "time" + "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/pkg/debug" ) var ( @@ -16,40 +18,133 @@ var ( type topicServant struct { *sqlxServant - stmtAddTag *sqlx.Stmt - stmtDelTag *sqlx.Stmt - stmtListTag *sqlx.Stmt + stmtNewestTags *sqlx.Stmt + stmtHotTags *sqlx.Stmt + stmtTagsByKeywordA *sqlx.Stmt + stmtTagsByKeywordB *sqlx.Stmt + stmtInsertTag *sqlx.Stmt + stmtTagsByIdA string + stmtTagsByIdB string + stmtDecrTagsById string + stmtTagsByName string + stmtIncrTagsById string } -func (s *topicServant) CreateTag(tag *core.Tag) (*core.Tag, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, xerr error) { + if len(tags) <= 0 { + return nil, nil + } + xerr = s.with(func(tx *sqlx.Tx) error { + query, args, err := in(s.db, s.stmtTagsByName, tags) + var ts []*core.Tag + if err = tx.Select(&ts, query, args...); err != nil { + return err + } + var upTags []string + if len(ts) > 0 { + var ids []int64 + for _, t := range ts { + ids = append(ids, t.ID) + upTags = append(upTags, t.Tag) + t.QuoteNum++ + // prepare remain tags just delete updated tag + for i, name := range tags { + if name == t.Tag { + size := len(tags) + tags[i] = tags[size-1] + tags = tags[:size-1] + break + } + } + } + if query, args, err = in(s.db, s.stmtIncrTagsById, ids); err != nil { + return err + } + if _, err = tx.Exec(query, args...); err != nil { + return err + } + res = append(res, ts...) + } + // process remain tags + if len(tags) == 0 { + return nil + } + var ids []int64 + now := time.Now().Unix() + for _, tag := range tags { + res, err := s.stmtInsertTag.Exec(userId, tag, now, now) + if err != nil { + return err + } + id, err := res.LastInsertId() + if err != nil { + return err + } + ids = append(ids, id) + } + var newTags []*core.Tag + query, args, err = in(s.db, s.stmtTagsByIdB, ids) + if err != nil { + return err + } + + if err = tx.Select(&newTags, query, args...); err != nil { + return err + } + res = append(res, newTags...) + return nil + }) + return } -func (s *topicServant) DeleteTag(tag *core.Tag) error { - // TODO - debug.NotImplemented() - return nil +func (s *topicServant) DecrTagsById(ids []int64) error { + return s.with(func(tx *sqlx.Tx) error { + query, args, err := in(s.db, s.stmtTagsByIdA, ids) + if err != nil { + return err + } + var ids []int64 + if err = tx.Select(&ids, query, args...); err != nil { + return err + } + query, args, err = in(s.db, s.stmtDecrTagsById, time.Now().Unix(), ids) + _, err = tx.Exec(query, args...) + return err + }) } -func (s *topicServant) GetTags(conditions *core.ConditionsT, offset, limit int) ([]*core.Tag, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *topicServant) GetTags(category core.TagCategory, offset int, limit int) (res []*core.Tag, err error) { + switch category { + case core.TagCategoryHot: + err = s.stmtHotTags.Select(&res, offset, limit) + case core.TagCategoryNew: + err = s.stmtHotTags.Select(&res, offset, limit) + } + return } -func (s *topicServant) GetTagsByKeyword(keyword string) ([]*core.Tag, error) { - // TODO - debug.NotImplemented() - return nil, nil +func (s *topicServant) GetTagsByKeyword(keyword string) (res []*core.Tag, err error) { + keyword = "%" + strings.Trim(keyword, " ") + "%" + if keyword == "%%" { + err = s.stmtTagsByKeywordA.Select(&res) + } else { + err = s.stmtTagsByKeywordB.Select(&res) + } + return } func newTopicService(db *sqlx.DB) core.TopicService { return &topicServant{ - sqlxServant: newSqlxServant(db), - stmtAddTag: c(`SELECT * FROM @person WHERE first_name=?`), - stmtDelTag: c(`SELECT * FROM @person WHERE first_name=?`), - stmtListTag: c(`SELECT * FROM @person WHERE first_name=?`), + sqlxServant: newSqlxServant(db), + stmtNewestTags: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND quote_num > 0 ORDER BY id DESC OFFSET ? LIMIT ?`), + stmtHotTags: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND quote_num > 0 ORDER BY quote_num DESC OFFSET ? LIMIT ?`), + stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), + stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), + stmtInsertTag: c(`INSERT INFO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), + stmtTagsByIdA: r(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num >= 0`), + stmtTagsByIdB: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), + stmtDecrTagsById: r(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), + stmtTagsByName: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?) AND is_del = 0 AND quote_num >= 0`), + stmtIncrTagsById: r(`UPDATE @tag SET quote_num=quote_num+1 WHERE id IN (?)`), } } diff --git a/internal/model/web/pub.go b/internal/model/web/pub.go index a951b33a..7cb21a2b 100644 --- a/internal/model/web/pub.go +++ b/internal/model/web/pub.go @@ -10,12 +10,7 @@ import ( "github.com/rocboss/paopao-ce/pkg/debug" ) -const ( - TagTypeHot TagType = "hot" - TagTypeNew TagType = "new" -) - -type TagType string +type TagType = core.TagCategory type TweetDetailReq struct { TweetId int64 `form:"id"` diff --git a/internal/servants/web/broker/post.go b/internal/servants/web/broker/post.go index 59d87975..bace3982 100644 --- a/internal/servants/web/broker/post.go +++ b/internal/servants/web/broker/post.go @@ -19,10 +19,7 @@ import ( "github.com/sirupsen/logrus" ) -type TagType string - -const TagTypeHot TagType = "hot" -const TagTypeNew TagType = "new" +type TagType = core.TagCategory type PostListReq struct { Conditions *core.ConditionsT @@ -157,13 +154,7 @@ func CreatePost(c *gin.Context, userID int64, param PostCreationReq) (_ *core.Po // 私密推文不创建标签与用户提醒 if post.Visibility != core.PostVisitPrivate { // 创建标签 - for _, t := range tags { - tag := &core.Tag{ - UserID: userID, - Tag: t, - } - ds.CreateTag(tag) - } + ds.UpsertTags(userID, tags) // 创建用户消息提醒 for _, u := range param.Users { @@ -543,22 +534,7 @@ func GetPostTags(param *PostTagsReq) ([]*core.TagFormated, error) { if num > conf.AppSetting.MaxPageSize { num = conf.AppSetting.MaxPageSize } - - conditions := &core.ConditionsT{} - if param.Type == TagTypeHot { - // 热门标签 - conditions = &core.ConditionsT{ - "ORDER": "quote_num DESC", - } - } - if param.Type == TagTypeNew { - // 热门标签 - conditions = &core.ConditionsT{ - "ORDER": "id DESC", - } - } - - tags, err := ds.GetTags(conditions, 0, num) + tags, err := ds.GetTags(core.TagCategory(param.Type), 0, num) if err != nil { return nil, err } diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index 6efdf93c..a7bfcd52 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -306,13 +306,7 @@ func (s *privSrv) CreateTweet(req *web.CreateTweetReq) (_ *web.CreateTweetResp, // 私密推文不创建标签与用户提醒 if post.Visibility != core.PostVisitPrivate { // 创建标签 - for _, t := range tags { - tag := &core.Tag{ - UserID: req.User.ID, - Tag: t, - } - s.Ds.CreateTag(tag) - } + s.Ds.UpsertTags(req.User.ID, tags) // 创建用户消息提醒 for _, u := range req.Users { diff --git a/internal/servants/web/pub.go b/internal/servants/web/pub.go index 58d49ee9..01e9e46b 100644 --- a/internal/servants/web/pub.go +++ b/internal/servants/web/pub.go @@ -75,20 +75,7 @@ func (s *pubSrv) TopicList(req *web.TopicListReq) (*web.TopicListResp, mir.Error if num > conf.AppSetting.MaxPageSize { num = conf.AppSetting.MaxPageSize } - - conditions := &core.ConditionsT{} - if req.Type == web.TagTypeHot { - // 热门标签 - conditions = &core.ConditionsT{ - "ORDER": "quote_num DESC", - } - } else if req.Type == web.TagTypeNew { - // 热门标签 - conditions = &core.ConditionsT{ - "ORDER": "id DESC", - } - } - tags, err := s.Ds.GetTags(conditions, 0, num) + tags, err := s.Ds.GetTags(req.Type, 0, num) if err != nil { return nil, _errGetPostTagsFailed } diff --git a/web/src/types/Item.d.ts b/web/src/types/Item.d.ts index 5d254e7f..0f00aa28 100644 --- a/web/src/types/Item.d.ts +++ b/web/src/types/Item.d.ts @@ -282,15 +282,7 @@ declare module Item { /** 标签名 */ tag: string, /** 引用数 */ - quote_num: number, - /** 创建时间 */ - created_on: number, - /** 修改时间 */ - modified_on?: number, - /** 删除时间 */ - deleted_on?: number, - /** 是否删除:0为未删除,1为已删除 */ - is_del?: 0 | 1 + quote_num: number } interface PagerProps { From dd22212320626332975bbcdb53aab9fbe32d2804 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Fri, 3 Feb 2023 21:30:47 +0800 Subject: [PATCH 12/65] sqlx: fixed sql query typo error --- internal/dao/sakila/topics.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index c0ce3c6e..d40d69c6 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -140,7 +140,7 @@ func newTopicService(db *sqlx.DB) core.TopicService { stmtHotTags: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND quote_num > 0 ORDER BY quote_num DESC OFFSET ? LIMIT ?`), stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), - stmtInsertTag: c(`INSERT INFO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), + stmtInsertTag: c(`INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), stmtTagsByIdA: r(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num >= 0`), stmtTagsByIdB: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), stmtDecrTagsById: r(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), From 7ba6dc124af8b02aeccda4ce47aa6efb7f21eb9d Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 4 Feb 2023 10:07:57 +0800 Subject: [PATCH 13/65] sqlx: custom set mapper func for sqlx.DB --- internal/conf/db_sqlx.go | 2 ++ pkg/naming/naming.go | 10 ++++++ pkg/naming/naming_test.go | 53 +++++++++++++++++++++++++++ pkg/naming/simple_ns.go | 37 +++++++++++++++++++ pkg/naming/snake_ns.go | 76 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 178 insertions(+) create mode 100644 pkg/naming/naming.go create mode 100644 pkg/naming/naming_test.go create mode 100644 pkg/naming/simple_ns.go create mode 100644 pkg/naming/snake_ns.go diff --git a/internal/conf/db_sqlx.go b/internal/conf/db_sqlx.go index c2699c84..a8b1cee4 100644 --- a/internal/conf/db_sqlx.go +++ b/internal/conf/db_sqlx.go @@ -8,6 +8,7 @@ import ( "sync" "github.com/jmoiron/sqlx" + "github.com/rocboss/paopao-ce/pkg/naming" "github.com/sirupsen/logrus" ) @@ -23,6 +24,7 @@ func MustSqlxDB() *sqlx.DB { logrus.Fatalf("new sqlx db failed: %s", err) } _sqlxdb = sqlx.NewDb(db, driver) + _sqlxdb.MapperFunc(naming.NewSnakeNamingStrategy().Naming) }) return _sqlxdb } diff --git a/pkg/naming/naming.go b/pkg/naming/naming.go new file mode 100644 index 00000000..abf10f1c --- /dev/null +++ b/pkg/naming/naming.go @@ -0,0 +1,10 @@ +// Copyright 2020 Michael Li . All rights reserved. +// Use of this source code is governed by Apache License 2.0 that +// can be found in the LICENSE file. + +package naming + +// NamingStrategy naming strategy interface +type NamingStrategy interface { + Naming(string) string +} diff --git a/pkg/naming/naming_test.go b/pkg/naming/naming_test.go new file mode 100644 index 00000000..ee688822 --- /dev/null +++ b/pkg/naming/naming_test.go @@ -0,0 +1,53 @@ +// Copyright 2020 Michael Li . All rights reserved. +// Use of this source code is governed by Apache License 2.0 that +// can be found in the LICENSE file. + +package naming + +import "testing" + +func TestSnakeNamingStrategy_Naming(t *testing.T) { + ns := NewSnakeNamingStrategy() + for _, cs := range []struct { + name string + expected string + }{ + {name: "abc", expected: "abc"}, + {name: "Abc", expected: "abc"}, + {name: "HostName", expected: "host_name"}, + {name: "Host_Name", expected: "host_name"}, + {name: "RESTfulAPI", expected: "res_tful_api"}, + {name: "HTTPS_API", expected: "https_api"}, + {name: "PKG_Name", expected: "pkg_name"}, + {name: "API", expected: "api"}, + {name: "HTTP", expected: "http"}, + } { + result := ns.Naming(cs.name) + if result != cs.expected { + t.Errorf("give:%s expected:%s result:%s", cs.name, cs.expected, result) + } + } +} + +func TestSimpleNamingStrategy_Naming(t *testing.T) { + ns := NewSimpleNamingStrategy() + for _, cs := range []struct { + name string + expected string + }{ + {name: "abc", expected: "abc"}, + {name: "Abc", expected: "abc"}, + {name: "HostName", expected: "host_name"}, + {name: "Host_Name", expected: "host__name"}, + {name: "RESTfulAPI", expected: "r_e_s_tful_a_p_i"}, + {name: "HTTPS_API", expected: "h_t_t_p_s__a_p_i"}, + {name: "PKG_Name", expected: "p_k_g__name"}, + {name: "API", expected: "a_p_i"}, + {name: "HTTP", expected: "h_t_t_p"}, + } { + result := ns.Naming(cs.name) + if result != cs.expected { + t.Errorf("give:%s expected:%s result:%s", cs.name, cs.expected, result) + } + } +} diff --git a/pkg/naming/simple_ns.go b/pkg/naming/simple_ns.go new file mode 100644 index 00000000..2b4dd733 --- /dev/null +++ b/pkg/naming/simple_ns.go @@ -0,0 +1,37 @@ +// Copyright 2020 Michael Li . All rights reserved. +// Use of this source code is governed by Apache License 2.0 that +// can be found in the LICENSE file. + +package naming + +import ( + "strings" + "unicode" +) + +type simpleNamingStrategy struct { + // just empty +} + +func (s *simpleNamingStrategy) Naming(name string) string { + b := &strings.Builder{} + notFirst := false + b.Grow(len(name) + 3) + for _, r := range name { + if unicode.IsUpper(r) { + if notFirst { + b.WriteRune('_') + } + b.WriteRune(unicode.ToLower(r)) + } else { + b.WriteRune(r) + } + notFirst = true + } + return b.String() +} + +// NewSimpleNamingStrategy return simple naming strategy instance +func NewSimpleNamingStrategy() NamingStrategy { + return &simpleNamingStrategy{} +} diff --git a/pkg/naming/snake_ns.go b/pkg/naming/snake_ns.go new file mode 100644 index 00000000..0c870931 --- /dev/null +++ b/pkg/naming/snake_ns.go @@ -0,0 +1,76 @@ +// Copyright 2020 Michael Li . All rights reserved. +// Use of this source code is governed by Apache License 2.0 that +// can be found in the LICENSE file. + +package naming + +import ( + "bytes" + "strings" +) + +// snakeNamingStrategy snake naming strategy implement +// This implement is inspiration from https://github.com/jingzhu/gorm's naming logic. +type snakeNamingStrategy struct { + initialismsReplacer *strings.Replacer +} + +func (s *snakeNamingStrategy) Naming(name string) string { + if name == "" { + return "" + } + + var lastCase, currCase, nextCase, nextNumber bool + value := s.initialismsReplacer.Replace(name) + buf := bytes.NewBufferString("") + lower, upper := false, true + for i, v := range value[:len(value)-1] { + nextCase = value[i+1] >= 'A' && value[i+1] <= 'Z' + nextNumber = value[i+1] >= '0' && value[i+1] <= '9' + if i > 0 { + if currCase == upper { + if lastCase == upper && (nextCase == upper || nextNumber == upper) { + buf.WriteRune(v) + } else { + if value[i-1] != '_' && value[i+1] != '_' { + buf.WriteRune('_') + } + buf.WriteRune(v) + } + } else { + buf.WriteRune(v) + if i == len(value)-2 && (nextCase == upper && nextNumber == lower) { + buf.WriteRune('_') + } + } + } else { + currCase = upper + buf.WriteRune(v) + } + lastCase, currCase = currCase, nextCase + } + + buf.WriteByte(value[len(value)-1]) + res := strings.ToLower(buf.String()) + return res +} + +// NewSnakeNamingStrategy return snake naming strategy instance +func NewSnakeNamingStrategy() NamingStrategy { + // Copied from golint + initialisms := []string{ + "API", "ASCII", "CPU", "CSS", "DNS", "EOF", "GUID", "HTML", "HTTP", + "HTTPS", "ID", "IP", "JSON", "LHS", "QPS", "RAM", "RHS", "RPC", "SLA", + "SMTP", "SSH", "TLS", "TTL", "UID", "UI", "UUID", "URI", "URL", "UTF8", + "VM", "XML", "XSRF", "XSS"} + + var oldnews []string + for _, initialism := range initialisms { + oldnews = append(oldnews, initialism, strings.Title(strings.ToLower(initialism))) + } + replacer := strings.NewReplacer(oldnews...) + + return &snakeNamingStrategy{ + initialismsReplacer: replacer, + } +} From bd614e7066e6e1def0997f7bd0b6888a4093a9f7 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 4 Feb 2023 11:26:45 +0800 Subject: [PATCH 14/65] sqlx: ajust file name in scripts/migration sql ddl file --- ...initialize_schema.down.sql => 0001_initialize_schema.down.sql} | 0 ...001_initialize_schema.up.sql => 0001_initialize_schema.up.sql} | 0 ...002_post_visibility.down.sql => 0002_post_visibility.down.sql} | 0 .../{002_post_visibility.up.sql => 0002_post_visibility.up.sql} | 0 ...003_feature_contact.down.sql => 0003_feature_contact.down.sql} | 0 .../{003_feature_contact.up.sql => 0003_feature_contact.up.sql} | 0 ...initialize_schema.down.sql => 0001_initialize_schema.down.sql} | 0 ...001_initialize_schema.up.sql => 0001_initialize_schema.up.sql} | 0 ...002_post_visibility.down.sql => 0002_post_visibility.down.sql} | 0 .../{002_post_visibility.up.sql => 0002_post_visibility.up.sql} | 0 ...003_feature_contact.down.sql => 0003_feature_contact.down.sql} | 0 .../{003_feature_contact.up.sql => 0003_feature_contact.up.sql} | 0 ...initialize_schema.down.sql => 0001_initialize_schema.down.sql} | 0 ...001_initialize_schema.up.sql => 0001_initialize_schema.up.sql} | 0 ...002_post_visibility.down.sql => 0002_post_visibility.down.sql} | 0 .../{002_post_visibility.up.sql => 0002_post_visibility.up.sql} | 0 ...003_feature_contact.down.sql => 0003_feature_contact.down.sql} | 0 .../{003_feature_contact.up.sql => 0003_feature_contact.up.sql} | 0 18 files changed, 0 insertions(+), 0 deletions(-) rename scripts/migration/mysql/{001_initialize_schema.down.sql => 0001_initialize_schema.down.sql} (100%) rename scripts/migration/mysql/{001_initialize_schema.up.sql => 0001_initialize_schema.up.sql} (100%) rename scripts/migration/mysql/{002_post_visibility.down.sql => 0002_post_visibility.down.sql} (100%) rename scripts/migration/mysql/{002_post_visibility.up.sql => 0002_post_visibility.up.sql} (100%) rename scripts/migration/mysql/{003_feature_contact.down.sql => 0003_feature_contact.down.sql} (100%) rename scripts/migration/mysql/{003_feature_contact.up.sql => 0003_feature_contact.up.sql} (100%) rename scripts/migration/postgres/{001_initialize_schema.down.sql => 0001_initialize_schema.down.sql} (100%) rename scripts/migration/postgres/{001_initialize_schema.up.sql => 0001_initialize_schema.up.sql} (100%) rename scripts/migration/postgres/{002_post_visibility.down.sql => 0002_post_visibility.down.sql} (100%) rename scripts/migration/postgres/{002_post_visibility.up.sql => 0002_post_visibility.up.sql} (100%) rename scripts/migration/postgres/{003_feature_contact.down.sql => 0003_feature_contact.down.sql} (100%) rename scripts/migration/postgres/{003_feature_contact.up.sql => 0003_feature_contact.up.sql} (100%) rename scripts/migration/sqlite3/{001_initialize_schema.down.sql => 0001_initialize_schema.down.sql} (100%) rename scripts/migration/sqlite3/{001_initialize_schema.up.sql => 0001_initialize_schema.up.sql} (100%) rename scripts/migration/sqlite3/{002_post_visibility.down.sql => 0002_post_visibility.down.sql} (100%) rename scripts/migration/sqlite3/{002_post_visibility.up.sql => 0002_post_visibility.up.sql} (100%) rename scripts/migration/sqlite3/{003_feature_contact.down.sql => 0003_feature_contact.down.sql} (100%) rename scripts/migration/sqlite3/{003_feature_contact.up.sql => 0003_feature_contact.up.sql} (100%) diff --git a/scripts/migration/mysql/001_initialize_schema.down.sql b/scripts/migration/mysql/0001_initialize_schema.down.sql similarity index 100% rename from scripts/migration/mysql/001_initialize_schema.down.sql rename to scripts/migration/mysql/0001_initialize_schema.down.sql diff --git a/scripts/migration/mysql/001_initialize_schema.up.sql b/scripts/migration/mysql/0001_initialize_schema.up.sql similarity index 100% rename from scripts/migration/mysql/001_initialize_schema.up.sql rename to scripts/migration/mysql/0001_initialize_schema.up.sql diff --git a/scripts/migration/mysql/002_post_visibility.down.sql b/scripts/migration/mysql/0002_post_visibility.down.sql similarity index 100% rename from scripts/migration/mysql/002_post_visibility.down.sql rename to scripts/migration/mysql/0002_post_visibility.down.sql diff --git a/scripts/migration/mysql/002_post_visibility.up.sql b/scripts/migration/mysql/0002_post_visibility.up.sql similarity index 100% rename from scripts/migration/mysql/002_post_visibility.up.sql rename to scripts/migration/mysql/0002_post_visibility.up.sql diff --git a/scripts/migration/mysql/003_feature_contact.down.sql b/scripts/migration/mysql/0003_feature_contact.down.sql similarity index 100% rename from scripts/migration/mysql/003_feature_contact.down.sql rename to scripts/migration/mysql/0003_feature_contact.down.sql diff --git a/scripts/migration/mysql/003_feature_contact.up.sql b/scripts/migration/mysql/0003_feature_contact.up.sql similarity index 100% rename from scripts/migration/mysql/003_feature_contact.up.sql rename to scripts/migration/mysql/0003_feature_contact.up.sql diff --git a/scripts/migration/postgres/001_initialize_schema.down.sql b/scripts/migration/postgres/0001_initialize_schema.down.sql similarity index 100% rename from scripts/migration/postgres/001_initialize_schema.down.sql rename to scripts/migration/postgres/0001_initialize_schema.down.sql diff --git a/scripts/migration/postgres/001_initialize_schema.up.sql b/scripts/migration/postgres/0001_initialize_schema.up.sql similarity index 100% rename from scripts/migration/postgres/001_initialize_schema.up.sql rename to scripts/migration/postgres/0001_initialize_schema.up.sql diff --git a/scripts/migration/postgres/002_post_visibility.down.sql b/scripts/migration/postgres/0002_post_visibility.down.sql similarity index 100% rename from scripts/migration/postgres/002_post_visibility.down.sql rename to scripts/migration/postgres/0002_post_visibility.down.sql diff --git a/scripts/migration/postgres/002_post_visibility.up.sql b/scripts/migration/postgres/0002_post_visibility.up.sql similarity index 100% rename from scripts/migration/postgres/002_post_visibility.up.sql rename to scripts/migration/postgres/0002_post_visibility.up.sql diff --git a/scripts/migration/postgres/003_feature_contact.down.sql b/scripts/migration/postgres/0003_feature_contact.down.sql similarity index 100% rename from scripts/migration/postgres/003_feature_contact.down.sql rename to scripts/migration/postgres/0003_feature_contact.down.sql diff --git a/scripts/migration/postgres/003_feature_contact.up.sql b/scripts/migration/postgres/0003_feature_contact.up.sql similarity index 100% rename from scripts/migration/postgres/003_feature_contact.up.sql rename to scripts/migration/postgres/0003_feature_contact.up.sql diff --git a/scripts/migration/sqlite3/001_initialize_schema.down.sql b/scripts/migration/sqlite3/0001_initialize_schema.down.sql similarity index 100% rename from scripts/migration/sqlite3/001_initialize_schema.down.sql rename to scripts/migration/sqlite3/0001_initialize_schema.down.sql diff --git a/scripts/migration/sqlite3/001_initialize_schema.up.sql b/scripts/migration/sqlite3/0001_initialize_schema.up.sql similarity index 100% rename from scripts/migration/sqlite3/001_initialize_schema.up.sql rename to scripts/migration/sqlite3/0001_initialize_schema.up.sql diff --git a/scripts/migration/sqlite3/002_post_visibility.down.sql b/scripts/migration/sqlite3/0002_post_visibility.down.sql similarity index 100% rename from scripts/migration/sqlite3/002_post_visibility.down.sql rename to scripts/migration/sqlite3/0002_post_visibility.down.sql diff --git a/scripts/migration/sqlite3/002_post_visibility.up.sql b/scripts/migration/sqlite3/0002_post_visibility.up.sql similarity index 100% rename from scripts/migration/sqlite3/002_post_visibility.up.sql rename to scripts/migration/sqlite3/0002_post_visibility.up.sql diff --git a/scripts/migration/sqlite3/003_feature_contact.down.sql b/scripts/migration/sqlite3/0003_feature_contact.down.sql similarity index 100% rename from scripts/migration/sqlite3/003_feature_contact.down.sql rename to scripts/migration/sqlite3/0003_feature_contact.down.sql diff --git a/scripts/migration/sqlite3/003_feature_contact.up.sql b/scripts/migration/sqlite3/0003_feature_contact.up.sql similarity index 100% rename from scripts/migration/sqlite3/003_feature_contact.up.sql rename to scripts/migration/sqlite3/0003_feature_contact.up.sql From 62f348a714be83941325b22460fcba0a55c15d0f Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 4 Feb 2023 15:09:35 +0800 Subject: [PATCH 15/65] sqlx: optimize transacation process logic --- internal/dao/sakila/sqlx.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go index 95275a8f..2c4731d0 100644 --- a/internal/dao/sakila/sqlx.go +++ b/internal/dao/sakila/sqlx.go @@ -29,22 +29,23 @@ func (s *sqlxServant) with(handle func(tx *sqlx.Tx) error) error { if err != nil { return err } - if err = handle(tx); err == nil { - return tx.Commit() + defer tx.Rollback() + if err = handle(tx); err != nil { + return err } - return tx.Rollback() + return tx.Commit() } func (s *sqlxServant) withTx(ctx context.Context, opts *sql.TxOptions, handle func(*sqlx.Tx) error) error { tx, err := s.db.BeginTxx(ctx, opts) if err != nil { return err - } + defer tx.Rollback() if err = handle(tx); err == nil { - return tx.Commit() + return err } - return tx.Rollback() + return tx.Commit() } func newSqlxServant(db *sqlx.DB) *sqlxServant { From 4698807574932afa270363fd539a738983680c62 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 4 Feb 2023 15:16:34 +0800 Subject: [PATCH 16/65] sqlx: fixed transacation help function logic error --- internal/dao/sakila/sqlx.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go index 2c4731d0..5b76e5aa 100644 --- a/internal/dao/sakila/sqlx.go +++ b/internal/dao/sakila/sqlx.go @@ -42,7 +42,7 @@ func (s *sqlxServant) withTx(ctx context.Context, opts *sql.TxOptions, handle fu return err } defer tx.Rollback() - if err = handle(tx); err == nil { + if err = handle(tx); err != nil { return err } return tx.Commit() From 27455dcc19f60ac56773abc0a488077c40a0b21a Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 4 Feb 2023 15:32:30 +0800 Subject: [PATCH 17/65] sqlx: optimize topicServent.UpsertTags logic --- internal/dao/sakila/topics.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index d40d69c6..05c4613a 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -40,24 +40,24 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, if err = tx.Select(&ts, query, args...); err != nil { return err } - var upTags []string + now := time.Now().Unix() if len(ts) > 0 { var ids []int64 for _, t := range ts { ids = append(ids, t.ID) - upTags = append(upTags, t.Tag) t.QuoteNum++ // prepare remain tags just delete updated tag + // notice ensure tags slice is distinct elements for i, name := range tags { if name == t.Tag { - size := len(tags) - tags[i] = tags[size-1] - tags = tags[:size-1] + lastIdx := len(tags) - 1 + tags[i] = tags[lastIdx] + tags = tags[:lastIdx] break } } } - if query, args, err = in(s.db, s.stmtIncrTagsById, ids); err != nil { + if query, args, err = in(s.db, s.stmtIncrTagsById, now, ids); err != nil { return err } if _, err = tx.Exec(query, args...); err != nil { @@ -65,12 +65,11 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, } res = append(res, ts...) } - // process remain tags + // process remain tags if tags is not empty if len(tags) == 0 { return nil } var ids []int64 - now := time.Now().Unix() for _, tag := range tags { res, err := s.stmtInsertTag.Exec(userId, tag, now, now) if err != nil { @@ -87,7 +86,6 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, if err != nil { return err } - if err = tx.Select(&newTags, query, args...); err != nil { return err } @@ -145,6 +143,6 @@ func newTopicService(db *sqlx.DB) core.TopicService { stmtTagsByIdB: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), stmtDecrTagsById: r(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), stmtTagsByName: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?) AND is_del = 0 AND quote_num >= 0`), - stmtIncrTagsById: r(`UPDATE @tag SET quote_num=quote_num+1 WHERE id IN (?)`), + stmtIncrTagsById: r(`UPDATE @tag SET quote_num=quote_num+1, modified_on=? WHERE id IN (?)`), } } From 9d6d8f14b06936e13f5ac32df0dec3d08f233d22 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 4 Feb 2023 18:01:48 +0800 Subject: [PATCH 18/65] sqlx: fixed topics GetTags data logic error --- internal/dao/sakila/topics.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index 05c4613a..b67747bb 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -116,7 +116,7 @@ func (s *topicServant) GetTags(category core.TagCategory, offset int, limit int) case core.TagCategoryHot: err = s.stmtHotTags.Select(&res, offset, limit) case core.TagCategoryNew: - err = s.stmtHotTags.Select(&res, offset, limit) + err = s.stmtNewestTags.Select(&res, offset, limit) } return } From 2f1d4d2f1e2dbad16fa990ad3d7aa6ac8e1e13ac Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 5 Feb 2023 16:05:32 +0800 Subject: [PATCH 19/65] sqlx: optimize sqlx help function for in cause scence --- internal/dao/sakila/sqlx.go | 40 ++++++++++++++++++++++++++------- internal/dao/sakila/topics.go | 42 +++++++++++++---------------------- 2 files changed, 47 insertions(+), 35 deletions(-) diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go index 5b76e5aa..d5c2db8e 100644 --- a/internal/dao/sakila/sqlx.go +++ b/internal/dao/sakila/sqlx.go @@ -48,6 +48,38 @@ func (s *sqlxServant) withTx(ctx context.Context, opts *sql.TxOptions, handle fu return tx.Commit() } +func (s *sqlxServant) in(query string, args ...any) (string, []any, error) { + q, params, err := sqlx.In(query, args...) + if err != nil { + return "", nil, err + } + return s.db.Rebind(q), params, nil +} + +func (s *sqlxServant) inExec(execer sqlx.Execer, query string, args ...any) (sql.Result, error) { + q, params, err := sqlx.In(query, args...) + if err != nil { + return nil, err + } + return execer.Exec(s.db.Rebind(q), params...) +} + +func (s *sqlxServant) inSelect(queryer sqlx.Queryer, dest any, query string, args ...any) error { + q, params, err := sqlx.In(query, args...) + if err != nil { + return err + } + return sqlx.Select(queryer, dest, s.db.Rebind(q), params...) +} + +func (s *sqlxServant) inGet(queryer sqlx.Queryer, dest any, query string, args ...any) error { + q, params, err := sqlx.In(query, args...) + if err != nil { + return err + } + return sqlx.Get(queryer, dest, s.db.Rebind(q), params...) +} + func newSqlxServant(db *sqlx.DB) *sqlxServant { return &sqlxServant{ db: db, @@ -61,14 +93,6 @@ func sqlxDB() *sqlx.DB { return _db } -func in(db *sqlx.DB, query string, args ...interface{}) (string, []interface{}, error) { - q, params, err := sqlx.In(query, args...) - if err != nil { - return "", nil, err - } - return db.Rebind(q), params, nil -} - func r(query string) string { db := sqlxDB() return db.Rebind(t(query)) diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index b67747bb..36f2cce4 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -26,24 +26,23 @@ type topicServant struct { stmtTagsByIdA string stmtTagsByIdB string stmtDecrTagsById string - stmtTagsByName string + stmtTagsForIncr string stmtIncrTagsById string } func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, xerr error) { - if len(tags) <= 0 { + if len(tags) == 0 { return nil, nil } xerr = s.with(func(tx *sqlx.Tx) error { - query, args, err := in(s.db, s.stmtTagsByName, tags) - var ts []*core.Tag - if err = tx.Select(&ts, query, args...); err != nil { + var upTags []*core.Tag + if err := s.inSelect(tx, &upTags, s.stmtTagsForIncr, tags); err != nil { return err } now := time.Now().Unix() - if len(ts) > 0 { + if len(upTags) > 0 { var ids []int64 - for _, t := range ts { + for _, t := range upTags { ids = append(ids, t.ID) t.QuoteNum++ // prepare remain tags just delete updated tag @@ -57,13 +56,10 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, } } } - if query, args, err = in(s.db, s.stmtIncrTagsById, now, ids); err != nil { + if _, err := s.inExec(tx, s.stmtIncrTagsById, now, ids); err != nil { return err } - if _, err = tx.Exec(query, args...); err != nil { - return err - } - res = append(res, ts...) + res = append(res, upTags...) } // process remain tags if tags is not empty if len(tags) == 0 { @@ -82,11 +78,7 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, ids = append(ids, id) } var newTags []*core.Tag - query, args, err = in(s.db, s.stmtTagsByIdB, ids) - if err != nil { - return err - } - if err = tx.Select(&newTags, query, args...); err != nil { + if err := s.inSelect(tx, &newTags, s.stmtTagsByIdB, ids); err != nil { return err } res = append(res, newTags...) @@ -97,16 +89,12 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, func (s *topicServant) DecrTagsById(ids []int64) error { return s.with(func(tx *sqlx.Tx) error { - query, args, err := in(s.db, s.stmtTagsByIdA, ids) - if err != nil { - return err - } var ids []int64 - if err = tx.Select(&ids, query, args...); err != nil { + err := s.inSelect(tx, &ids, s.stmtTagsByIdA, ids) + if err != nil { return err } - query, args, err = in(s.db, s.stmtDecrTagsById, time.Now().Unix(), ids) - _, err = tx.Exec(query, args...) + _, err = s.inExec(tx, s.stmtDecrTagsById, time.Now().Unix(), ids) return err }) } @@ -139,10 +127,10 @@ func newTopicService(db *sqlx.DB) core.TopicService { stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), stmtInsertTag: c(`INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), - stmtTagsByIdA: r(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num >= 0`), + stmtTagsByIdA: r(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`), stmtTagsByIdB: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), stmtDecrTagsById: r(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), - stmtTagsByName: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?) AND is_del = 0 AND quote_num >= 0`), - stmtIncrTagsById: r(`UPDATE @tag SET quote_num=quote_num+1, modified_on=? WHERE id IN (?)`), + stmtTagsForIncr: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`), + stmtIncrTagsById: r(`UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`), } } From 9ab97d7950abdf66e18e6244d563e2f6164b4b17 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 5 Feb 2023 16:13:16 +0800 Subject: [PATCH 20/65] sqlx: optimize sql/stmt field name prefix --- internal/dao/sakila/topics.go | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index 36f2cce4..9e940a8b 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -23,11 +23,11 @@ type topicServant struct { stmtTagsByKeywordA *sqlx.Stmt stmtTagsByKeywordB *sqlx.Stmt stmtInsertTag *sqlx.Stmt - stmtTagsByIdA string - stmtTagsByIdB string - stmtDecrTagsById string - stmtTagsForIncr string - stmtIncrTagsById string + sqlTagsByIdA string + sqlTagsByIdB string + sqlDecrTagsById string + sqlTagsForIncr string + sqlIncrTagsById string } func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, xerr error) { @@ -36,7 +36,7 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, } xerr = s.with(func(tx *sqlx.Tx) error { var upTags []*core.Tag - if err := s.inSelect(tx, &upTags, s.stmtTagsForIncr, tags); err != nil { + if err := s.inSelect(tx, &upTags, s.sqlTagsForIncr, tags); err != nil { return err } now := time.Now().Unix() @@ -56,7 +56,7 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, } } } - if _, err := s.inExec(tx, s.stmtIncrTagsById, now, ids); err != nil { + if _, err := s.inExec(tx, s.sqlIncrTagsById, now, ids); err != nil { return err } res = append(res, upTags...) @@ -78,7 +78,7 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, ids = append(ids, id) } var newTags []*core.Tag - if err := s.inSelect(tx, &newTags, s.stmtTagsByIdB, ids); err != nil { + if err := s.inSelect(tx, &newTags, s.sqlTagsByIdB, ids); err != nil { return err } res = append(res, newTags...) @@ -90,11 +90,11 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, func (s *topicServant) DecrTagsById(ids []int64) error { return s.with(func(tx *sqlx.Tx) error { var ids []int64 - err := s.inSelect(tx, &ids, s.stmtTagsByIdA, ids) + err := s.inSelect(tx, &ids, s.sqlTagsByIdA, ids) if err != nil { return err } - _, err = s.inExec(tx, s.stmtDecrTagsById, time.Now().Unix(), ids) + _, err = s.inExec(tx, s.sqlDecrTagsById, time.Now().Unix(), ids) return err }) } @@ -127,10 +127,10 @@ func newTopicService(db *sqlx.DB) core.TopicService { stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), stmtInsertTag: c(`INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), - stmtTagsByIdA: r(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`), - stmtTagsByIdB: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), - stmtDecrTagsById: r(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), - stmtTagsForIncr: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`), - stmtIncrTagsById: r(`UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`), + sqlTagsByIdA: r(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`), + sqlTagsByIdB: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), + sqlDecrTagsById: r(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), + sqlTagsForIncr: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`), + sqlIncrTagsById: r(`UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`), } } From 914889994f9fba0ad05bb891b08dd7aad4e8b5c7 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Tue, 7 Feb 2023 17:04:36 +0800 Subject: [PATCH 21/65] sqlx: prepare implement tweets data logic for sqlx feature --- internal/core/cs/cs.go | 7 + internal/core/cs/search.go | 38 +++++ internal/core/cs/timeline.go | 11 ++ internal/core/cs/topics.go | 49 ++++++ internal/core/cs/trading.go | 12 ++ internal/core/cs/tweets.go | 141 ++++++++++++++++++ internal/core/cs/user.go | 20 +++ internal/core/search.go | 1 + internal/core/timeline.go | 14 ++ internal/core/topics.go | 38 +---- internal/core/tweets.go | 56 ++++++- internal/dao/cache/bigcache.go | 7 + internal/dao/cache/none.go | 7 + internal/dao/cache/simple.go | 7 + internal/dao/jinzhu/dbr/user.go | 10 +- internal/dao/jinzhu/{index.go => timeline.go} | 21 +++ internal/dao/jinzhu/topics.go | 40 +++-- internal/dao/jinzhu/tweets.go | 102 ++++++++++++- internal/dao/jinzhu/user.go | 27 ---- internal/dao/jinzhu/utils.go | 6 +- internal/dao/sakila/{index.go => timeline.go} | 21 +++ internal/dao/sakila/topics.go | 21 +-- internal/dao/sakila/tweets.go | 101 ++++++++++++- internal/dao/sakila/user.go | 6 - internal/model/web/priv.go | 13 +- internal/model/web/pub.go | 5 +- internal/servants/web/broker/attachment.go | 6 +- internal/servants/web/broker/post.go | 29 +--- internal/servants/web/broker/user.go | 2 +- internal/servants/web/core.go | 2 +- internal/servants/web/priv.go | 17 ++- internal/servants/web/pub.go | 20 +-- .../servants/web/routers/api/attachment.go | 17 ++- 33 files changed, 700 insertions(+), 174 deletions(-) create mode 100644 internal/core/cs/cs.go create mode 100644 internal/core/cs/search.go create mode 100644 internal/core/cs/timeline.go create mode 100644 internal/core/cs/topics.go create mode 100644 internal/core/cs/trading.go create mode 100644 internal/core/cs/tweets.go create mode 100644 internal/core/cs/user.go create mode 100644 internal/core/timeline.go rename internal/dao/jinzhu/{index.go => timeline.go} (87%) rename internal/dao/sakila/{index.go => timeline.go} (82%) diff --git a/internal/core/cs/cs.go b/internal/core/cs/cs.go new file mode 100644 index 00000000..e482d664 --- /dev/null +++ b/internal/core/cs/cs.go @@ -0,0 +1,7 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +// Package cs contain core data service interface type +// model define +package cs diff --git a/internal/core/cs/search.go b/internal/core/cs/search.go new file mode 100644 index 00000000..37c8fa9d --- /dev/null +++ b/internal/core/cs/search.go @@ -0,0 +1,38 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +const ( + // 搜索查询类型 + TsQueryTypeDefault TsQueryType = "search" + TsQueryTypeTag TsQueryType = "tag" +) + +type ( + // TsQueryType 搜索查询类型 + TsQueryType string + + // TsDocList 索引条陈列表 + TsDocList []TsDocItem +) + +// TsQueryReq 搜索查询请求 +type TsQueryReq struct { + Query string + Visibility []TweetVisibleType + Type TsQueryType +} + +// TsQueryResp 搜索查询响应 +type TsQueryResp struct { + Items TweetList + Total int64 +} + +// TsDocItem 索引条陈 +type TsDocItem struct { + Post *TweetInfo + Content string +} diff --git a/internal/core/cs/timeline.go b/internal/core/cs/timeline.go new file mode 100644 index 00000000..118f371c --- /dev/null +++ b/internal/core/cs/timeline.go @@ -0,0 +1,11 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +// TweetBox 推文列表盒子,包含其他一些关于推文列表的信息 +type TweetBox struct { + Tweets TweetList + Total int64 +} diff --git a/internal/core/cs/topics.go b/internal/core/cs/topics.go new file mode 100644 index 00000000..cd441429 --- /dev/null +++ b/internal/core/cs/topics.go @@ -0,0 +1,49 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +const ( + // 标签类型 + TagTypeHot TagType = "hot" + TagTypeNew TagType = "new" +) + +type ( + // TagType 标签类型 + TagType string + + // TagInfoList 标签信息列表 + TagInfoList []*TagInfo + + // TagList 标签列表 + TagList []*TagItem +) + +// TagInfo 标签信息 +type TagInfo struct { + ID int64 `json:"id" db:"id"` + UserID int64 `json:"user_id" db:"user_id"` + Tag string `json:"tag"` + QuoteNum int64 `json:"quote_num" db:"quote_num"` +} + +// TagItem 标签信息条陈 +type TagItem struct { + ID int64 `json:"id"` + UserID int64 `json:"user_id"` + User *UserInfo `json:"user" db:"u"` + Tag string `json:"tag"` + QuoteNum int64 `json:"quote_num"` +} + +func (t *TagInfo) Format() *TagItem { + return &TagItem{ + ID: t.ID, + UserID: t.UserID, + User: &UserInfo{}, + Tag: t.Tag, + QuoteNum: t.QuoteNum, + } +} diff --git a/internal/core/cs/trading.go b/internal/core/cs/trading.go new file mode 100644 index 00000000..aebeb132 --- /dev/null +++ b/internal/core/cs/trading.go @@ -0,0 +1,12 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +type AttachmentBill struct { + ID int64 `json:"id"` + PostID int64 `json:"post_id"` + UserID int64 `json:"user_id"` + PaidAmount int64 `json:"paid_amount"` +} diff --git a/internal/core/cs/tweets.go b/internal/core/cs/tweets.go new file mode 100644 index 00000000..5c0e3603 --- /dev/null +++ b/internal/core/cs/tweets.go @@ -0,0 +1,141 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +const ( + // 推文内容分快类型 + TweetBlockTitle TweetBlockType = iota + 1 + TweetBlockText + TweetBlockImage + TweetBlockVideo + TweetBlockAudio + TweetBlockLink + TweetBlockAttachment + TweetBlockChargeAttachment + + // 推文可见性 + TweetVisitPublic TweetVisibleType = iota + TweetVisitPrivate + TweetVisitFriend + TweetVisitInvalid + + // 附件类型 + AttachmentTypeImage AttachmentType = iota + 1 + AttachmentTypeVideo + AttachmentTypeOther +) + +type ( + // TweetBlockType 推文内容分块类型,1标题,2文字段落,3图片地址,4视频地址,5语音地址,6链接地址,7附件资源 + // TODO: 优化一下类型为 uint8, 需要底层数据库同步修改 + TweetBlockType int + + // TweetVisibleType 推文可见性,0公开,1私密,2好友 + TweetVisibleType uint8 + + // AttachmentType 附件类型, 1图片, 2视频, 3其他 + // TODO: 优化一下类型为 uint8, 需要底层数据库同步修改 + AttachmentType int + + // TweetList 推文列表 + TweetList []*TweetItem + + // TweetInfoList 推文信息列表 + TweetInfoList []*TweetInfo + + // FavoriteList 收藏列表 + FavoriteList []*FavoriteItem + + // ReactionList 点赞列表 + ReactionList []*ReactionItem + + // TweetBlockList 推文分块列表 + TweetBlockList []*TweetBlock +) + +// TweetBlock 推文分块 +type TweetBlock struct { + ID int64 `json:"id" binding:"-"` + PostID int64 `json:"post_id" binding:"-"` + Content string `json:"content" binding:"required"` + Type TweetBlockType `json:"type" binding:"required"` + Sort int64 `json:"sort" binding:"required"` +} + +// TweetInfo 推文信息 +type TweetInfo struct { + ID int64 `json:"id"` + UserID int64 `json:"user_id"` + CommentCount int64 `json:"comment_count"` + CollectionCount int64 `json:"collection_count"` + UpvoteCount int64 `json:"upvote_count"` + Visibility TweetVisibleType `json:"visibility"` + IsTop int `json:"is_top"` + IsEssence int `json:"is_essence"` + IsLock int `json:"is_lock"` + LatestRepliedOn int64 `json:"latest_replied_on"` + Tags string `json:"tags"` + AttachmentPrice int64 `json:"attachment_price"` + IP string `json:"ip"` + IPLoc string `json:"ip_loc"` + CreatedOn int64 `json:"created_on"` + ModifiedOn int64 `json:"modified_on"` +} + +// TweetItem 一条推文信息 +type TweetItem struct { + ID int64 `json:"id"` + UserID int64 `json:"user_id"` + User *UserInfo `json:"user"` + Contents []*TweetBlock `json:"contents"` + CommentCount int64 `json:"comment_count"` + CollectionCount int64 `json:"collection_count"` + UpvoteCount int64 `json:"upvote_count"` + Visibility TweetVisibleType `json:"visibility"` + IsTop int `json:"is_top"` + IsEssence int `json:"is_essence"` + IsLock int `json:"is_lock"` + LatestRepliedOn int64 `json:"latest_replied_on"` + CreatedOn int64 `json:"created_on"` + ModifiedOn int64 `json:"modified_on"` + Tags map[string]int8 `json:"tags"` + AttachmentPrice int64 `json:"attachment_price"` + IPLoc string `json:"ip_loc"` +} + +type Attachment struct { + ID int64 `json:"id"` + UserID int64 `json:"user_id"` + FileSize int64 `json:"file_size"` + ImgWidth int `json:"img_width"` + ImgHeight int `json:"img_height"` + Type AttachmentType `json:"type"` + Content string `json:"content"` +} + +// Favorite 收藏 +type FavoriteItem struct { + ID int64 `json:"id"` + Tweet *TweetInfo `json:"-"` + TweetID int64 `json:"post_id"` + UserID int64 `json:"user_id"` +} + +// Reaction 反应、表情符号, 点赞、喜欢等 +type ReactionItem struct { + ID int64 `json:"id"` + Tweet *TweetInfo `json:"-"` + TweetID int64 `json:"post_id"` + UserID int64 `json:"user_id"` +} + +type NewTweetReq struct { + Contents TweetBlockList `json:"contents" binding:"required"` + Tags []string `json:"tags" binding:"required"` + Users []string `json:"users" binding:"required"` + AttachmentPrice int64 `json:"attachment_price"` + Visibility TweetVisibleType `json:"visibility"` + ClientIP string `json:"-" binding:"-"` +} diff --git a/internal/core/cs/user.go b/internal/core/cs/user.go new file mode 100644 index 00000000..d2331ff7 --- /dev/null +++ b/internal/core/cs/user.go @@ -0,0 +1,20 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +type ( + // UserInfoList 用户信息列表 + UserInfoList []*UserInfo +) + +// UserInfo 用户基本信息 +type UserInfo struct { + ID int64 `json:"id"` + Nickname string `json:"nickname"` + Username string `json:"username"` + Status int `json:"status"` + Avatar string `json:"avatar"` + IsAdmin bool `json:"is_admin"` +} diff --git a/internal/core/search.go b/internal/core/search.go index 74d6e029..17b65fad 100644 --- a/internal/core/search.go +++ b/internal/core/search.go @@ -21,6 +21,7 @@ const ( ) type ( + // PostVisibleT 可访问类型,0公开,1私密,2好友 PostVisibleT = dbr.PostVisibleT SearchType string diff --git a/internal/core/timeline.go b/internal/core/timeline.go new file mode 100644 index 00000000..09cce5a2 --- /dev/null +++ b/internal/core/timeline.go @@ -0,0 +1,14 @@ +// 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 core + +import ( + "github.com/rocboss/paopao-ce/internal/core/cs" +) + +// TweetTimelineService 广场首页推文时间线服务 +type TweetTimelineService interface { + TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) +} diff --git a/internal/core/topics.go b/internal/core/topics.go index 0982496c..cbcc046a 100644 --- a/internal/core/topics.go +++ b/internal/core/topics.go @@ -4,42 +4,14 @@ package core -const ( - TagCategoryHot TagCategory = "hot" - TagCategoryNew TagCategory = "new" +import ( + "github.com/rocboss/paopao-ce/internal/core/cs" ) -type TagCategory string - -type Tag struct { - ID int64 `json:"id" db:"id"` - UserID int64 `json:"user_id" db:"user_id"` - Tag string `json:"tag"` - QuoteNum int64 `json:"quote_num" db:"quote_num"` -} - -type TagFormated struct { - ID int64 `json:"id"` - UserID int64 `json:"user_id"` - User *UserFormated `json:"user"` - Tag string `json:"tag"` - QuoteNum int64 `json:"quote_num"` -} - // TopicService 话题服务 type TopicService interface { - UpsertTags(userId int64, tags []string) ([]*Tag, error) + UpsertTags(userId int64, tags []string) (cs.TagInfoList, error) DecrTagsById(ids []int64) error - GetTags(category TagCategory, offset int, limit int) ([]*Tag, error) - GetTagsByKeyword(keyword string) ([]*Tag, error) -} - -func (t *Tag) Format() *TagFormated { - return &TagFormated{ - ID: t.ID, - UserID: t.UserID, - User: &UserFormated{}, - Tag: t.Tag, - QuoteNum: t.QuoteNum, - } + ListTags(typ cs.TagType, offset int, limit int) (cs.TagList, error) + TagsByKeyword(keyword string) (cs.TagInfoList, error) } diff --git a/internal/core/tweets.go b/internal/core/tweets.go index 682cbd65..0edf8f26 100644 --- a/internal/core/tweets.go +++ b/internal/core/tweets.go @@ -5,6 +5,7 @@ package core import ( + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" ) @@ -39,8 +40,7 @@ type ( } ) -// TweetService 推文检索服务 -type TweetService interface { +type oldTweetService interface { GetPostByID(id int64) (*Post, error) GetPosts(conditions *ConditionsT, offset, limit int) ([]*Post, error) GetPostCount(conditions *ConditionsT) (int64, error) @@ -55,9 +55,21 @@ type TweetService interface { GetPostContentByID(id int64) (*PostContent, error) } -// TweetManageService 推文管理服务,包括创建/删除/更新推文 -type TweetManageService interface { - CreateAttachment(attachment *Attachment) (*Attachment, error) +// TweetService 推文检索服务 +type TweetService interface { + oldTweetService + + 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) + FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) + UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) + AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) +} + +type oldTweetManageService interface { CreatePost(post *Post) (*Post, error) DeletePost(post *Post) ([]string, error) LockPost(post *Post) error @@ -71,13 +83,41 @@ type TweetManageService interface { CreatePostContent(content *PostContent) (*PostContent, error) } -// TweetHelpService 推文辅助服务 -type TweetHelpService interface { +// TweetManageService 推文管理服务,包括创建/删除/更新推文 +type TweetManageService interface { + oldTweetManageService + + CreateAttachment(obj *cs.Attachment) (int64, error) + CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) + DeleteTweet(userId int64, tweetId int64) ([]string, error) + LockTweet(userId int64, tweetId int64) error + StickTweet(userId int64, tweetId int64) error + VisibleTweet(userId int64, visibility cs.TweetVisibleType) error + CreateReaction(userId int64, tweetId int64) error + DeleteReaction(userId int64, reactionId int64) error + CreateFavorite(userId int64, tweetId int64) error + DeleteFavorite(userId int64, favoriteId int64) error +} + +type oldTweetHelpService interface { RevampPosts(posts []*PostFormated) ([]*PostFormated, error) MergePosts(posts []*Post) ([]*PostFormated, error) } +// TweetHelpService 推文辅助服务 +type TweetHelpService interface { + oldTweetHelpService + + RevampTweets(tweets cs.TweetList) (cs.TweetList, error) + MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) +} + +type oldIndexPostsService interface { + IndexPosts(user *User, offset int, limit int) (*IndexTweetList, error) +} + // IndexPostsService 广场首页推文列表服务 type IndexPostsService interface { - IndexPosts(user *User, offset int, limit int) (*IndexTweetList, error) + oldIndexPostsService + TweetTimelineService } diff --git a/internal/dao/cache/bigcache.go b/internal/dao/cache/bigcache.go index 8ec83c38..990683f4 100644 --- a/internal/dao/cache/bigcache.go +++ b/internal/dao/cache/bigcache.go @@ -15,6 +15,8 @@ import ( "github.com/Masterminds/semver/v3" "github.com/allegro/bigcache/v3" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/pkg/debug" "github.com/rocboss/paopao-ce/pkg/types" "github.com/sirupsen/logrus" ) @@ -56,6 +58,11 @@ func (s *bigCacheIndexServant) IndexPosts(user *core.User, offset int, limit int return posts, nil } +func (s *bigCacheIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + func (s *bigCacheIndexServant) getPosts(key string) (*core.IndexTweetList, error) { data, err := s.cache.Get(key) if err != nil { diff --git a/internal/dao/cache/none.go b/internal/dao/cache/none.go index ce6e1caf..350e776a 100644 --- a/internal/dao/cache/none.go +++ b/internal/dao/cache/none.go @@ -7,6 +7,8 @@ package cache import ( "github.com/Masterminds/semver/v3" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/pkg/debug" ) var ( @@ -22,6 +24,11 @@ func (s *noneCacheIndexServant) IndexPosts(user *core.User, offset int, limit in return s.ips.IndexPosts(user, offset, limit) } +func (s *noneCacheIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + func (s *noneCacheIndexServant) SendAction(_act core.IdxAct, _post *core.Post) { // empty } diff --git a/internal/dao/cache/simple.go b/internal/dao/cache/simple.go index ba674d1b..fb704bfc 100644 --- a/internal/dao/cache/simple.go +++ b/internal/dao/cache/simple.go @@ -10,6 +10,8 @@ import ( "github.com/Masterminds/semver/v3" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/pkg/debug" "github.com/sirupsen/logrus" ) @@ -47,6 +49,11 @@ func (s *simpleCacheIndexServant) IndexPosts(user *core.User, offset int, limit return s.ips.IndexPosts(user, offset, limit) } +func (s *simpleCacheIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + func (s *simpleCacheIndexServant) SendAction(act core.IdxAct, _post *core.Post) { select { case s.indexActionCh <- act: diff --git a/internal/dao/jinzhu/dbr/user.go b/internal/dao/jinzhu/dbr/user.go index a10d5432..a6ef63ef 100644 --- a/internal/dao/jinzhu/dbr/user.go +++ b/internal/dao/jinzhu/dbr/user.go @@ -4,7 +4,10 @@ package dbr -import "gorm.io/gorm" +import ( + "github.com/rocboss/paopao-ce/internal/core/cs" + "gorm.io/gorm" +) const ( UserStatusNormal int = iota + 1 @@ -87,6 +90,11 @@ func (u *User) List(db *gorm.DB, conditions *ConditionsT, offset, limit int) ([] return users, nil } +func (u *User) ListUserInfoById(db *gorm.DB, ids []int64) (res cs.UserInfoList, err error) { + err = db.Model(u).Where("id IN ?", ids).Find(&res).Error + return +} + func (u *User) Create(db *gorm.DB) (*User, error) { err := db.Create(&u).Error diff --git a/internal/dao/jinzhu/index.go b/internal/dao/jinzhu/timeline.go similarity index 87% rename from internal/dao/jinzhu/index.go rename to internal/dao/jinzhu/timeline.go index fc7e2007..29e1e341 100644 --- a/internal/dao/jinzhu/index.go +++ b/internal/dao/jinzhu/timeline.go @@ -6,6 +6,7 @@ package jinzhu import ( "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/pkg/debug" "github.com/sirupsen/logrus" @@ -75,12 +76,22 @@ func (s *friendIndexServant) IndexPosts(user *core.User, offset int, limit int) }, nil } +func (s *friendIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + // IndexPosts 根据userId查询广场推文列表 func (s *followIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO return nil, debug.ErrNotImplemented } +func (s *followIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + // IndexPosts 根据userId查询广场推文列表,获取公开可见Tweet或者所属用户的私有Tweet func (s *lightIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { predicates := dbr.Predicates{ @@ -114,6 +125,11 @@ func (s *lightIndexServant) IndexPosts(user *core.User, offset int, limit int) ( }, nil } +func (s *lightIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + // simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数 func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { predicates := dbr.Predicates{ @@ -143,6 +159,11 @@ func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit }, nil } +func (s *simpleIndexPostsServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + func newFriendIndexService(db *gorm.DB, ams core.AuthorizationManageService, ths core.TweetHelpService) core.IndexPostsService { return &friendIndexServant{ ams: ams, diff --git a/internal/dao/jinzhu/topics.go b/internal/dao/jinzhu/topics.go index 3ab42fa9..67b003d9 100644 --- a/internal/dao/jinzhu/topics.go +++ b/internal/dao/jinzhu/topics.go @@ -8,6 +8,7 @@ import ( "strings" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "gorm.io/gorm" ) @@ -26,7 +27,7 @@ func newTopicService(db *gorm.DB) core.TopicService { } } -func (s *topicServant) UpsertTags(userId int64, tags []string) (_ []*core.Tag, err error) { +func (s *topicServant) UpsertTags(userId int64, tags []string) (_ cs.TagInfoList, err error) { db := s.db.Begin() defer func() { if err == nil { @@ -50,36 +51,55 @@ func (s *topicServant) DecrTagsById(ids []int64) (err error) { return decrTagsByIds(db, ids) } -func (s *topicServant) GetTags(category core.TagCategory, offset, limit int) (res []*core.Tag, err error) { +func (s *topicServant) ListTags(typ cs.TagType, offset, limit int) (res cs.TagList, err error) { conditions := &core.ConditionsT{} - switch category { - case core.TagCategoryHot: + switch typ { + case cs.TagTypeHot: // 热门标签 conditions = &core.ConditionsT{ "ORDER": "quote_num DESC", } - case core.TagCategoryNew: + case cs.TagTypeNew: // 最新标签 conditions = &core.ConditionsT{ "ORDER": "id DESC", } } // TODO: 优化查询方式,直接返回[]*core.Tag, 目前保持先转换一下 - var tags []*dbr.Tag + var ( + tags []*dbr.Tag + tagMap map[int64]*cs.TagItem + item *cs.TagItem + ) if tags, err = (&dbr.Tag{}).List(s.db, conditions, offset, limit); err == nil { + if len(tags) == 0 { + return + } + ids := make([]int64, 0, len(tags)) for _, tag := range tags { - res = append(res, &core.Tag{ + item = &cs.TagItem{ ID: tag.ID, UserID: tag.UserID, Tag: tag.Tag, QuoteNum: tag.QuoteNum, - }) + } + tagMap[item.UserID] = item + res = append(res, item) + ids = append(ids, tag.UserID) + } + userInfos, err := (&dbr.User{}).ListUserInfoById(s.db, ids) + if err != nil { + return nil, err + } + for _, userInfo := range userInfos { + item = tagMap[userInfo.ID] + item.User = userInfo } } return } -func (s *topicServant) GetTagsByKeyword(keyword string) (res []*core.Tag, err error) { +func (s *topicServant) TagsByKeyword(keyword string) (res cs.TagInfoList, err error) { keyword = "%" + strings.Trim(keyword, " ") + "%" tag := &dbr.Tag{} var tags []*dbr.Tag @@ -95,7 +115,7 @@ func (s *topicServant) GetTagsByKeyword(keyword string) (res []*core.Tag, err er } if err == nil { for _, tag := range tags { - res = append(res, &core.Tag{ + res = append(res, &cs.TagInfo{ ID: tag.ID, UserID: tag.UserID, Tag: tag.Tag, diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index 9882a9e8..55885760 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -9,7 +9,9 @@ import ( "time" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" + "github.com/rocboss/paopao-ce/pkg/debug" "gorm.io/gorm" ) @@ -128,6 +130,16 @@ func (s *tweetHelpServant) RevampPosts(posts []*core.PostFormated) ([]*core.Post return posts, nil } +func (s *tweetHelpServant) RevampTweets(tweets cs.TweetList) (cs.TweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetHelpServant) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + func (s *tweetHelpServant) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) { return (&dbr.PostContent{}).List(s.db, &dbr.ConditionsT{ "post_id IN ?": ids, @@ -160,8 +172,9 @@ func (s *tweetManageServant) CreatePostContent(content *core.PostContent) (*core return content.Create(s.db) } -func (s *tweetManageServant) CreateAttachment(attachment *core.Attachment) (*core.Attachment, error) { - return attachment.Create(s.db) +func (s *tweetManageServant) CreateAttachment(obj *cs.Attachment) (int64, error) { + // TODO + return 0, debug.ErrNotImplemented } func (s *tweetManageServant) CreatePost(post *core.Post) (*core.Post, error) { @@ -323,6 +336,51 @@ func (s *tweetManageServant) DeletePostStar(p *core.PostStar) error { return p.Delete(s.db) } +func (s *tweetManageServant) CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetManageServant) DeleteTweet(userId int64, tweetId int64) ([]string, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetManageServant) LockTweet(userId int64, tweetId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) StickTweet(userId int64, tweetId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) VisibleTweet(userId int64, visibility cs.TweetVisibleType) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) CreateReaction(userId int64, tweetId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) DeleteReaction(userId int64, reactionId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) CreateFavorite(userId int64, tweetId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) DeleteFavorite(userId int64, favoriteId int64) error { + // TODO + return debug.ErrNotImplemented +} + func (s *tweetServant) GetPostByID(id int64) (*core.Post, error) { post := &dbr.Post{ Model: &dbr.Model{ @@ -430,3 +488,43 @@ func (s *tweetServant) GetPostContentByID(id int64) (*core.PostContent, error) { }, }).Get(s.db) } + +func (s *tweetServant) TweetInfoById(id int64) (*cs.TweetInfo, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) TweetItemById(id int64) (*cs.TweetItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) UserTweets(visitorId, userId int64) (cs.TweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) UserReactions(userId int64, offset int, limit int) (cs.ReactionList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) { + // TODO + return nil, debug.ErrNotImplemented +} diff --git a/internal/dao/jinzhu/user.go b/internal/dao/jinzhu/user.go index 21e36fe0..3e1aaed6 100644 --- a/internal/dao/jinzhu/user.go +++ b/internal/dao/jinzhu/user.go @@ -70,33 +70,6 @@ func (s *userManageServant) GetUsersByKeyword(keyword string) ([]*core.User, err } } -func (s *userManageServant) GetTagsByKeyword(keyword string) (res []*core.Tag, err error) { - tag := &dbr.Tag{} - keyword = "%" + strings.Trim(keyword, " ") + "%" - var tags []*dbr.Tag - if keyword == "%%" { - tags, err = tag.List(s.db, &dbr.ConditionsT{ - "ORDER": "quote_num DESC", - }, 0, 6) - } else { - tags, err = tag.List(s.db, &dbr.ConditionsT{ - "tag LIKE ?": keyword, - "ORDER": "quote_num DESC", - }, 0, 6) - } - if err == nil { - for _, tag := range tags { - res = append(res, &core.Tag{ - ID: tag.ID, - UserID: tag.UserID, - Tag: tag.Tag, - QuoteNum: tag.QuoteNum, - }) - } - } - return -} - func (s *userManageServant) CreateUser(user *dbr.User) (*core.User, error) { return user.Create(s.db) } diff --git a/internal/dao/jinzhu/utils.go b/internal/dao/jinzhu/utils.go index 53660034..0dd71bee 100644 --- a/internal/dao/jinzhu/utils.go +++ b/internal/dao/jinzhu/utils.go @@ -5,12 +5,12 @@ package jinzhu import ( - "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "gorm.io/gorm" ) -func createTags(db *gorm.DB, userId int64, tags []string) (res []*core.Tag, err error) { +func createTags(db *gorm.DB, userId int64, tags []string) (res cs.TagInfoList, err error) { for _, name := range tags { tag := &dbr.Tag{Tag: name} if tag, err = tag.Get(db); err == nil { @@ -28,7 +28,7 @@ func createTags(db *gorm.DB, userId int64, tags []string) (res []*core.Tag, err return } } - res = append(res, &core.Tag{ + res = append(res, &cs.TagInfo{ ID: tag.ID, UserID: tag.UserID, Tag: tag.Tag, diff --git a/internal/dao/sakila/index.go b/internal/dao/sakila/timeline.go similarity index 82% rename from internal/dao/sakila/index.go rename to internal/dao/sakila/timeline.go index 3e3144fd..bd6b5b71 100644 --- a/internal/dao/sakila/index.go +++ b/internal/dao/sakila/timeline.go @@ -7,6 +7,7 @@ package sakila import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/pkg/debug" ) @@ -48,24 +49,44 @@ func (s *friendIndexServant) IndexPosts(user *core.User, offset int, limit int) return nil, debug.ErrNotImplemented } +func (s *friendIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + // IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; func (s *followIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO return nil, debug.ErrNotImplemented } +func (s *followIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + // IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; func (s *lightIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO return nil, debug.ErrNotImplemented } +func (s *lightIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + // simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数 func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO return nil, debug.ErrNotImplemented } +func (s *simpleIndexPostsServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { + // TODO + return nil, debug.ErrNotImplemented +} + func newFriendIndexService(db *sqlx.DB, ams core.AuthorizationManageService, ths core.TweetHelpService) core.IndexPostsService { return &friendIndexServant{ ams: ams, diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index 9e940a8b..44bbebf0 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -10,6 +10,7 @@ import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" ) var ( @@ -30,12 +31,12 @@ type topicServant struct { sqlIncrTagsById string } -func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, xerr error) { +func (s *topicServant) UpsertTags(userId int64, tags []string) (res cs.TagInfoList, xerr error) { if len(tags) == 0 { return nil, nil } xerr = s.with(func(tx *sqlx.Tx) error { - var upTags []*core.Tag + var upTags cs.TagInfoList if err := s.inSelect(tx, &upTags, s.sqlTagsForIncr, tags); err != nil { return err } @@ -77,7 +78,7 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (res []*core.Tag, } ids = append(ids, id) } - var newTags []*core.Tag + var newTags cs.TagInfoList if err := s.inSelect(tx, &newTags, s.sqlTagsByIdB, ids); err != nil { return err } @@ -99,17 +100,17 @@ func (s *topicServant) DecrTagsById(ids []int64) error { }) } -func (s *topicServant) GetTags(category core.TagCategory, offset int, limit int) (res []*core.Tag, err error) { - switch category { - case core.TagCategoryHot: +func (s *topicServant) ListTags(typ cs.TagType, offset int, limit int) (res cs.TagList, err error) { + switch typ { + case cs.TagTypeHot: err = s.stmtHotTags.Select(&res, offset, limit) - case core.TagCategoryNew: + case cs.TagTypeNew: err = s.stmtNewestTags.Select(&res, offset, limit) } return } -func (s *topicServant) GetTagsByKeyword(keyword string) (res []*core.Tag, err error) { +func (s *topicServant) TagsByKeyword(keyword string) (res cs.TagInfoList, err error) { keyword = "%" + strings.Trim(keyword, " ") + "%" if keyword == "%%" { err = s.stmtTagsByKeywordA.Select(&res) @@ -122,8 +123,8 @@ func (s *topicServant) GetTagsByKeyword(keyword string) (res []*core.Tag, err er func newTopicService(db *sqlx.DB) core.TopicService { return &topicServant{ sqlxServant: newSqlxServant(db), - stmtNewestTags: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND quote_num > 0 ORDER BY id DESC OFFSET ? LIMIT ?`), - stmtHotTags: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND quote_num > 0 ORDER BY quote_num DESC OFFSET ? LIMIT ?`), + stmtNewestTags: c(`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 OFFSET ? LIMIT ?`), + stmtHotTags: c(`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 OFFSET ? LIMIT ?`), stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), stmtInsertTag: c(`INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), diff --git a/internal/dao/sakila/tweets.go b/internal/dao/sakila/tweets.go index 78455535..8f3dbe61 100644 --- a/internal/dao/sakila/tweets.go +++ b/internal/dao/sakila/tweets.go @@ -7,6 +7,7 @@ package sakila import ( "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/pkg/debug" "gorm.io/gorm" @@ -54,6 +55,16 @@ func (s *tweetHelpServant) RevampPosts(posts []*core.PostFormated) ([]*core.Post return nil, nil } +func (s *tweetHelpServant) RevampTweets(tweets cs.TweetList) (cs.TweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetHelpServant) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + func (s *tweetHelpServant) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) { // TODO debug.NotImplemented() @@ -84,10 +95,9 @@ func (s *tweetManageServant) CreatePostContent(content *core.PostContent) (*core return nil, nil } -func (s *tweetManageServant) CreateAttachment(attachment *core.Attachment) (*core.Attachment, error) { +func (s *tweetManageServant) CreateAttachment(obj *cs.Attachment) (int64, error) { // TODO - debug.NotImplemented() - return nil, nil + return 0, debug.ErrNotImplemented } func (s *tweetManageServant) CreatePost(post *core.Post) (*core.Post, error) { @@ -144,6 +154,51 @@ func (s *tweetManageServant) DeletePostStar(p *core.PostStar) error { return nil } +func (s *tweetManageServant) CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetManageServant) DeleteTweet(userId int64, tweetId int64) ([]string, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetManageServant) LockTweet(userId int64, tweetId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) StickTweet(userId int64, tweetId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) VisibleTweet(userId int64, visibility cs.TweetVisibleType) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) CreateReaction(userId int64, tweetId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) DeleteReaction(userId int64, reactionId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) CreateFavorite(userId int64, tweetId int64) error { + // TODO + return debug.ErrNotImplemented +} + +func (s *tweetManageServant) DeleteFavorite(userId int64, favoriteId int64) error { + // TODO + return debug.ErrNotImplemented +} + func (s *tweetServant) GetPostByID(id int64) (*core.Post, error) { // TODO debug.NotImplemented() @@ -228,6 +283,46 @@ func (s *tweetServant) GetPostContentByID(id int64) (*core.PostContent, error) { return nil, nil } +func (s *tweetServant) TweetInfoById(id int64) (*cs.TweetInfo, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) TweetItemById(id int64) (*cs.TweetItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) UserTweets(visitorId, userId int64) (cs.TweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) UserReactions(userId int64, offset int, limit int) (cs.ReactionList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetServant) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) { + // TODO + return nil, debug.ErrNotImplemented +} + func newTweetService(db *sqlx.DB) core.TweetService { return &tweetServant{ sqlxServant: newSqlxServant(db), diff --git a/internal/dao/sakila/user.go b/internal/dao/sakila/user.go index 282dd65e..8fd78eb9 100644 --- a/internal/dao/sakila/user.go +++ b/internal/dao/sakila/user.go @@ -51,12 +51,6 @@ func (s *userManageServant) GetUsersByKeyword(keyword string) ([]*core.User, err return nil, nil } -func (s *userManageServant) GetTagsByKeyword(keyword string) ([]*core.Tag, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - func (s *userManageServant) CreateUser(user *core.User) (*core.User, error) { // TODO debug.NotImplemented() diff --git a/internal/model/web/priv.go b/internal/model/web/priv.go index 8a568bd8..7e2ee3f2 100644 --- a/internal/model/web/priv.go +++ b/internal/model/web/priv.go @@ -10,6 +10,7 @@ import ( "strings" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" ) type PostContentItem struct { @@ -120,12 +121,12 @@ type UploadAttachmentReq struct { } type UploadAttachmentResp struct { - UserID int64 `json:"user_id"` - FileSize int64 `json:"file_size"` - ImgWidth int `json:"img_width"` - ImgHeight int `json:"img_height"` - Type core.AttachmentType `json:"type"` - Content string `json:"content"` + UserID int64 `json:"user_id"` + FileSize int64 `json:"file_size"` + ImgWidth int `json:"img_width"` + ImgHeight int `json:"img_height"` + Type cs.AttachmentType `json:"type"` + Content string `json:"content"` } type DownloadAttachmentPrecheckReq struct { diff --git a/internal/model/web/pub.go b/internal/model/web/pub.go index 7cb21a2b..045e5fea 100644 --- a/internal/model/web/pub.go +++ b/internal/model/web/pub.go @@ -6,11 +6,12 @@ package web import ( "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/pkg/debug" ) -type TagType = core.TagCategory +type TagType = cs.TagType type TweetDetailReq struct { TweetId int64 `form:"id"` @@ -34,7 +35,7 @@ type TopicListReq struct { // TopicListResp 主题返回值 // TODO: 优化内容定义 type TopicListResp struct { - Topics []*core.TagFormated `json:"topics"` + Topics cs.TagList `json:"topics"` } type GetCaptchaResp struct { diff --git a/internal/servants/web/broker/attachment.go b/internal/servants/web/broker/attachment.go index e8c69447..26845a1a 100644 --- a/internal/servants/web/broker/attachment.go +++ b/internal/servants/web/broker/attachment.go @@ -5,9 +5,9 @@ package broker import ( - "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" ) -func CreateAttachment(attachment *core.Attachment) (*core.Attachment, error) { - return ds.CreateAttachment(attachment) +func CreateAttachment(obj *cs.Attachment) (int64, error) { + return ds.CreateAttachment(obj) } diff --git a/internal/servants/web/broker/post.go b/internal/servants/web/broker/post.go index bace3982..12ae46de 100644 --- a/internal/servants/web/broker/post.go +++ b/internal/servants/web/broker/post.go @@ -14,12 +14,13 @@ import ( "github.com/gin-gonic/gin" "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/pkg/errcode" "github.com/rocboss/paopao-ce/pkg/util" "github.com/sirupsen/logrus" ) -type TagType = core.TagCategory +type TagType = cs.TagType type PostListReq struct { Conditions *core.ConditionsT @@ -529,36 +530,16 @@ func PushPostsToSearch(c *gin.Context) { } } -func GetPostTags(param *PostTagsReq) ([]*core.TagFormated, error) { +func GetPostTags(param *PostTagsReq) (cs.TagList, error) { num := param.Num if num > conf.AppSetting.MaxPageSize { num = conf.AppSetting.MaxPageSize } - tags, err := ds.GetTags(core.TagCategory(param.Type), 0, num) + tags, err := ds.ListTags(param.Type, 0, num) if err != nil { return nil, err } - - // 获取创建者User IDs - userIds := []int64{} - for _, tag := range tags { - userIds = append(userIds, tag.UserID) - } - - users, _ := ds.GetUsersByIDs(userIds) - - tagsFormated := []*core.TagFormated{} - for _, tag := range tags { - tagFormated := tag.Format() - for _, user := range users { - if user.ID == tagFormated.UserID { - tagFormated.User = user.Format() - } - } - tagsFormated = append(tagsFormated, tagFormated) - } - - return tagsFormated, nil + return tags, nil } func CheckPostAttachmentIsPaid(postID, userID int64) bool { diff --git a/internal/servants/web/broker/user.go b/internal/servants/web/broker/user.go index 655ce2ff..136e8a8d 100644 --- a/internal/servants/web/broker/user.go +++ b/internal/servants/web/broker/user.go @@ -461,7 +461,7 @@ func GetSuggestUsers(keyword string) ([]string, error) { // GetSuggestTags 根据关键词获取标签推荐 func GetSuggestTags(keyword string) ([]string, error) { - tags, err := ds.GetTagsByKeyword(keyword) + tags, err := ds.TagsByKeyword(keyword) if err != nil { return nil, err } diff --git a/internal/servants/web/core.go b/internal/servants/web/core.go index 11f0cb18..7a392925 100644 --- a/internal/servants/web/core.go +++ b/internal/servants/web/core.go @@ -361,7 +361,7 @@ func (s *coreSrv) ChangePassword(req *web.ChangePasswordReq) mir.Error { } func (s *coreSrv) SuggestTags(req *web.SuggestTagsReq) (*web.SuggestTagsResp, mir.Error) { - tags, err := s.Ds.GetTagsByKeyword(req.Keyword) + tags, err := s.Ds.TagsByKeyword(req.Keyword) if err != nil { logrus.Errorf("Ds.GetTagsByKeyword err: %s", err) return nil, xerror.ServerError diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index a7bfcd52..3030b908 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -16,6 +16,7 @@ import ( api "github.com/rocboss/paopao-ce/auto/api/v1" "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/model/web" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/internal/servants/chain" @@ -30,11 +31,11 @@ var ( _ api.PrivBinding = (*privBinding)(nil) _ api.PrivRender = (*privRender)(nil) - _uploadAttachmentTypeMap = map[string]core.AttachmentType{ - "public/image": core.AttachmentTypeImage, - "public/avatar": core.AttachmentTypeImage, - "public/video": core.AttachmentTypeVideo, - "attachment": core.AttachmentTypeOther, + _uploadAttachmentTypeMap = map[string]cs.AttachmentType{ + "public/image": cs.AttachmentTypeImage, + "public/avatar": cs.AttachmentTypeImage, + "public/video": cs.AttachmentTypeVideo, + "attachment": cs.AttachmentTypeOther, } ) @@ -156,20 +157,20 @@ func (s *privSrv) UploadAttachment(req *web.UploadAttachmentReq) (*web.UploadAtt } // 构造附件Model - attachment := &core.Attachment{ + attachment := &cs.Attachment{ UserID: req.Uid, FileSize: req.FileSize, Content: objectUrl, Type: _uploadAttachmentTypeMap[req.UploadType], } - if attachment.Type == core.AttachmentTypeImage { + if attachment.Type == cs.AttachmentTypeImage { var src image.Image src, err = imaging.Decode(req.File) if err == nil { attachment.ImgWidth, attachment.ImgHeight = getImageSize(src.Bounds()) } } - attachment, err = s.Ds.CreateAttachment(attachment) + attachment.ID, err = s.Ds.CreateAttachment(attachment) if err != nil { logrus.Errorf("Ds.CreateAttachment err: %s", err) return nil, _errFileUploadFailed diff --git a/internal/servants/web/pub.go b/internal/servants/web/pub.go index 01e9e46b..2b10ad4a 100644 --- a/internal/servants/web/pub.go +++ b/internal/servants/web/pub.go @@ -75,28 +75,12 @@ func (s *pubSrv) TopicList(req *web.TopicListReq) (*web.TopicListResp, mir.Error if num > conf.AppSetting.MaxPageSize { num = conf.AppSetting.MaxPageSize } - tags, err := s.Ds.GetTags(req.Type, 0, num) + tags, err := s.Ds.ListTags(req.Type, 0, num) if err != nil { return nil, _errGetPostTagsFailed } - // 获取创建者User IDs - userIds := []int64{} - for _, tag := range tags { - userIds = append(userIds, tag.UserID) - } - users, _ := s.Ds.GetUsersByIDs(userIds) - tagsFormated := []*core.TagFormated{} - for _, tag := range tags { - tagFormated := tag.Format() - for _, user := range users { - if user.ID == tagFormated.UserID { - tagFormated.User = user.Format() - } - } - tagsFormated = append(tagsFormated, tagFormated) - } return &web.TopicListResp{ - Topics: tagsFormated, + Topics: tags, }, nil } diff --git a/internal/servants/web/routers/api/attachment.go b/internal/servants/web/routers/api/attachment.go index fb6a173c..4e5636ea 100644 --- a/internal/servants/web/routers/api/attachment.go +++ b/internal/servants/web/routers/api/attachment.go @@ -11,6 +11,7 @@ import ( "github.com/gin-gonic/gin" "github.com/gofrs/uuid" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/servants/web/broker" "github.com/rocboss/paopao-ce/pkg/app" "github.com/rocboss/paopao-ce/pkg/convert" @@ -18,11 +19,11 @@ import ( "github.com/sirupsen/logrus" ) -var uploadAttachmentTypeMap = map[string]core.AttachmentType{ - "public/image": core.AttachmentTypeImage, - "public/avatar": core.AttachmentTypeImage, - "public/video": core.AttachmentTypeVideo, - "attachment": core.AttachmentTypeOther, +var uploadAttachmentTypeMap = map[string]cs.AttachmentType{ + "public/image": cs.AttachmentTypeImage, + "public/avatar": cs.AttachmentTypeImage, + "public/video": cs.AttachmentTypeVideo, + "attachment": cs.AttachmentTypeOther, } func GeneratePath(s string) string { @@ -114,7 +115,7 @@ func UploadAttachment(c *gin.Context) { } // 构造附件Model - attachment := &core.Attachment{ + attachment := &cs.Attachment{ FileSize: fileHeader.Size, Content: objectUrl, } @@ -124,7 +125,7 @@ func UploadAttachment(c *gin.Context) { } attachment.Type = uploadAttachmentTypeMap[uploadType] - if attachment.Type == core.AttachmentTypeImage { + if attachment.Type == cs.AttachmentTypeImage { var src image.Image src, err = imaging.Decode(file) if err == nil { @@ -132,7 +133,7 @@ func UploadAttachment(c *gin.Context) { } } - attachment, err = broker.CreateAttachment(attachment) + attachment.ID, err = broker.CreateAttachment(attachment) if err != nil { logrus.Errorf("service.CreateAttachment err: %v", err) response.ToErrorResponse(errcode.FileUploadFailed) From c12ed880c1f7ca782587651c0d1dcfb093ee793b Mon Sep 17 00:00:00 2001 From: Michael Li Date: Wed, 8 Feb 2023 12:58:24 +0800 Subject: [PATCH 22/65] sqlx: optimize datable table name process logic --- internal/conf/db.go | 24 ++++++++++++++++ internal/conf/settting.go | 29 +++++++++++++++++++ internal/dao/jinzhu/gorm.go | 54 +++++++++++++++++++++++++++++++++++ internal/dao/jinzhu/jinzhu.go | 13 +++++++++ internal/dao/sakila/sakila.go | 51 +++++++++++++++++++++------------ internal/dao/sakila/sqlx.go | 24 ++++++---------- 6 files changed, 160 insertions(+), 35 deletions(-) create mode 100644 internal/dao/jinzhu/gorm.go diff --git a/internal/conf/db.go b/internal/conf/db.go index 53ce0f16..80a80bc4 100644 --- a/internal/conf/db.go +++ b/internal/conf/db.go @@ -19,6 +19,30 @@ var ( _onceSql, _onceRedis sync.Once ) +const ( + TableAnouncement = "user" + TableAnouncementContent = "anouncement_content" + TableAttachment = "attachment" + TableCaptcha = "captcha" + TableComment = "comment" + TableCommentContent = "comment_content" + TableCommentReply = "comment_reply" + TableContact = "contact" + TableContactGroup = "contact_group" + TableMessage = "message" + TablePost = "post" + TablePostAttachmentBill = "post_attachment_bill" + TablePostCollection = "post_collection" + TablePostContent = "post_content" + TablePostStar = "post_star" + TableTag = "tag" + TableUser = "user" + TableWalletRecharge = "wallet_recharge" + TableWalletStatement = "wallet_statement" +) + +type TableNameMap map[string]string + func MustSqlDB() *sql.DB { _onceSql.Do(func() { var err error diff --git a/internal/conf/settting.go b/internal/conf/settting.go index 93443f64..71f852bd 100644 --- a/internal/conf/settting.go +++ b/internal/conf/settting.go @@ -381,6 +381,35 @@ func (s *MeiliSettingS) Endpoint() string { return endpoint(s.Host, s.Secure) } +func (s *DatabaseSetingS) TableNames() (res TableNameMap) { + tableNames := []string{ + TableAnouncement, + TableAnouncementContent, + TableAttachment, + TableCaptcha, + TableComment, + TableCommentContent, + TableCommentReply, + TableContact, + TableContactGroup, + TableMessage, + TablePost, + TablePostAttachmentBill, + TablePostCollection, + TablePostContent, + TablePostStar, + TableTag, + TableUser, + TableWalletRecharge, + TableWalletStatement, + } + res = make(TableNameMap, len(tableNames)) + for _, name := range tableNames { + res[name] = s.TablePrefix + name + } + return +} + func endpoint(host string, secure bool) string { schema := "http" if secure { diff --git a/internal/dao/jinzhu/gorm.go b/internal/dao/jinzhu/gorm.go new file mode 100644 index 00000000..62e044fd --- /dev/null +++ b/internal/dao/jinzhu/gorm.go @@ -0,0 +1,54 @@ +// 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 jinzhu + +import ( + "github.com/rocboss/paopao-ce/internal/conf" +) + +var ( + tableAnouncement string + tableAnouncementContent string + tableAttachment string + tableCaptcha string + tableComment string + tableCommentContent string + tableCommentReply string + tableContact string + tableContactGroup string + tableMessage string + tablePost string + tablePostAttachmentBill string + tablePostCollection string + tablePostContent string + tablePostStar string + tableTag string + tableUser string + tableWalletRecharge string + tableWalletStatement string +) + +func initTableName() { + m := conf.DatabaseSetting.TableNames() + tableAnouncement = m[conf.TableAnouncement] + tableAnouncementContent = m[conf.TableAnouncementContent] + tableAttachment = m[conf.TableAttachment] + tableCaptcha = m[conf.TableCaptcha] + tableComment = m[conf.TableComment] + tableCommentContent = m[conf.TableCommentContent] + tableCommentReply = m[conf.TableCommentReply] + tableContact = m[conf.TableContact] + tableContactGroup = m[conf.TableContactGroup] + tableMessage = m[conf.TableMessage] + tablePost = m[conf.TablePost] + tablePostAttachmentBill = m[conf.TablePostAttachmentBill] + tablePostCollection = m[conf.TablePostCollection] + tablePostContent = m[conf.TablePostContent] + tablePostStar = m[conf.TablePostStar] + tableTag = m[conf.TableTag] + tableUser = m[conf.TableUser] + tableWalletRecharge = m[conf.TableWalletRecharge] + tableWalletStatement = m[conf.TableWalletStatement] +} diff --git a/internal/dao/jinzhu/jinzhu.go b/internal/dao/jinzhu/jinzhu.go index 6d15f1b5..51fc28db 100644 --- a/internal/dao/jinzhu/jinzhu.go +++ b/internal/dao/jinzhu/jinzhu.go @@ -9,6 +9,8 @@ package jinzhu import ( + "sync" + "github.com/Masterminds/semver/v3" "github.com/alimy/cfg" "github.com/rocboss/paopao-ce/internal/conf" @@ -21,6 +23,8 @@ import ( var ( _ core.DataService = (*dataServant)(nil) _ core.VersionInfo = (*dataServant)(nil) + + _onceInitial sync.Once ) type dataServant struct { @@ -40,6 +44,8 @@ type dataServant struct { } func NewDataService() (core.DataService, core.VersionInfo) { + lazyInitial() + var ( v core.VersionInfo cis core.CacheIndexService @@ -104,3 +110,10 @@ func (s *dataServant) Name() string { func (s *dataServant) Version() *semver.Version { return semver.MustParse("v0.2.0") } + +// lazyInitial do some package lazy initialize for performance +func lazyInitial() { + _onceInitial.Do(func() { + initTableName() + }) +} diff --git a/internal/dao/sakila/sakila.go b/internal/dao/sakila/sakila.go index 76ccfd6b..7cb3d810 100644 --- a/internal/dao/sakila/sakila.go +++ b/internal/dao/sakila/sakila.go @@ -5,6 +5,8 @@ package sakila import ( + "sync" + "github.com/Masterminds/semver/v3" "github.com/alimy/cfg" "github.com/rocboss/paopao-ce/internal/core" @@ -16,6 +18,8 @@ import ( var ( _ core.DataService = (*dataServant)(nil) _ core.VersionInfo = (*dataServant)(nil) + + _onceInitial sync.Once ) type dataServant struct { @@ -35,32 +39,33 @@ type dataServant struct { } func NewDataService() (core.DataService, core.VersionInfo) { + lazyInitial() + var ( v core.VersionInfo cis core.CacheIndexService ips core.IndexPostsService ) - db := sqlxDB() pvs := security.NewPhoneVerifyService() ams := NewAuthorizationManageService() - ths := newTweetHelpService(db) + ths := newTweetHelpService(_db) // initialize core.IndexPostsService if cfg.If("Friendship") { - ips = newFriendIndexService(db, ams, ths) + ips = newFriendIndexService(_db, ams, ths) } else if cfg.If("Followship") { - ips = newFollowIndexService(db, ths) + ips = newFollowIndexService(_db, ths) } else if cfg.If("Lightship") { - ips = newLightIndexService(db, ths) + ips = newLightIndexService(_db, ths) } else { // default use lightship post index service - ips = newLightIndexService(db, ths) + ips = newLightIndexService(_db, ths) } // initialize core.CacheIndexService if cfg.If("SimpleCacheIndex") { // simpleCache use special post index service - ips = newSimpleIndexPostsService(db, ths) + ips = newSimpleIndexPostsService(_db, ths) cis, v = cache.NewSimpleCacheIndexService(ips) } else if cfg.If("BigCacheIndex") { // TODO: make cache index post in different scence like friendship/followship/lightship @@ -72,24 +77,25 @@ func NewDataService() (core.DataService, core.VersionInfo) { ds := &dataServant{ IndexPostsService: cis, - WalletService: newWalletService(db), - MessageService: newMessageService(db), - TopicService: newTopicService(db), - TweetService: newTweetService(db), - TweetManageService: newTweetManageService(db, cis), - TweetHelpService: newTweetHelpService(db), - CommentService: newCommentService(db), - CommentManageService: newCommentManageService(db), - UserManageService: newUserManageService(db), - ContactManageService: newContactManageService(db), - SecurityService: newSecurityService(db, pvs), + WalletService: newWalletService(_db), + MessageService: newMessageService(_db), + TopicService: newTopicService(_db), + TweetService: newTweetService(_db), + TweetManageService: newTweetManageService(_db, cis), + TweetHelpService: newTweetHelpService(_db), + CommentService: newCommentService(_db), + CommentManageService: newCommentManageService(_db), + UserManageService: newUserManageService(_db), + ContactManageService: newContactManageService(_db), + SecurityService: newSecurityService(_db, pvs), AttachmentCheckService: security.NewAttachmentCheckService(), } return ds, ds } func NewAuthorizationManageService() core.AuthorizationManageService { - return newAuthorizationManageService(sqlxDB()) + lazyInitial() + return newAuthorizationManageService(_db) } func (s *dataServant) Name() string { @@ -99,3 +105,10 @@ func (s *dataServant) Name() string { func (s *dataServant) Version() *semver.Version { return semver.MustParse("v0.1.0") } + +// lazyInitial do some package lazy initialize for performance +func lazyInitial() { + _onceInitial.Do(func() { + initSqlxDB() + }) +} diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go index d5c2db8e..cfec069d 100644 --- a/internal/dao/sakila/sqlx.go +++ b/internal/dao/sakila/sqlx.go @@ -8,7 +8,6 @@ import ( "context" "database/sql" "strings" - "sync" "github.com/jmoiron/sqlx" "github.com/rocboss/paopao-ce/internal/conf" @@ -16,8 +15,7 @@ import ( ) var ( - _db *sqlx.DB - _once sync.Once + _db *sqlx.DB ) type sqlxServant struct { @@ -86,21 +84,12 @@ func newSqlxServant(db *sqlx.DB) *sqlxServant { } } -func sqlxDB() *sqlx.DB { - _once.Do(func() { - _db = conf.MustSqlxDB() - }) - return _db -} - func r(query string) string { - db := sqlxDB() - return db.Rebind(t(query)) + return _db.Rebind(t(query)) } func c(query string) *sqlx.Stmt { - db := sqlxDB() - stmt, err := db.Preparex(db.Rebind(t(query))) + stmt, err := _db.Preparex(_db.Rebind(t(query))) if err != nil { logrus.Fatalf("prepare query(%s) error: %s", query, err) } @@ -108,8 +97,7 @@ func c(query string) *sqlx.Stmt { } func n(query string) *sqlx.NamedStmt { - db := sqlxDB() - stmt, err := db.PrepareNamed(t(query)) + stmt, err := _db.PrepareNamed(t(query)) if err != nil { logrus.Fatalf("prepare named query(%s) error: %s", query, err) } @@ -120,3 +108,7 @@ func n(query string) *sqlx.NamedStmt { func t(query string) string { return strings.Replace(query, "@", conf.DatabaseSetting.TablePrefix, -1) } + +func initSqlxDB() { + _db = conf.MustSqlxDB() +} From 59a2f8a9dba5e7bcff162ffdf03026155d86bf7b Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 9 Feb 2023 13:45:13 +0800 Subject: [PATCH 23/65] sqlx: optimize variable name for table list --- internal/dao/jinzhu/gorm.go | 76 ++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/internal/dao/jinzhu/gorm.go b/internal/dao/jinzhu/gorm.go index 62e044fd..3dd6aef0 100644 --- a/internal/dao/jinzhu/gorm.go +++ b/internal/dao/jinzhu/gorm.go @@ -9,46 +9,46 @@ import ( ) var ( - tableAnouncement string - tableAnouncementContent string - tableAttachment string - tableCaptcha string - tableComment string - tableCommentContent string - tableCommentReply string - tableContact string - tableContactGroup string - tableMessage string - tablePost string - tablePostAttachmentBill string - tablePostCollection string - tablePostContent string - tablePostStar string - tableTag string - tableUser string - tableWalletRecharge string - tableWalletStatement string + _anouncement string + _anouncementContent string + _attachment string + _captcha string + _comment string + _commentContent string + _commentReply string + _contact string + _contactGroup string + _message string + _post string + _postAttachmentBill string + _postCollection string + _postContent string + _postStar string + _tag string + _user string + _walletRecharge string + _walletStatement string ) func initTableName() { m := conf.DatabaseSetting.TableNames() - tableAnouncement = m[conf.TableAnouncement] - tableAnouncementContent = m[conf.TableAnouncementContent] - tableAttachment = m[conf.TableAttachment] - tableCaptcha = m[conf.TableCaptcha] - tableComment = m[conf.TableComment] - tableCommentContent = m[conf.TableCommentContent] - tableCommentReply = m[conf.TableCommentReply] - tableContact = m[conf.TableContact] - tableContactGroup = m[conf.TableContactGroup] - tableMessage = m[conf.TableMessage] - tablePost = m[conf.TablePost] - tablePostAttachmentBill = m[conf.TablePostAttachmentBill] - tablePostCollection = m[conf.TablePostCollection] - tablePostContent = m[conf.TablePostContent] - tablePostStar = m[conf.TablePostStar] - tableTag = m[conf.TableTag] - tableUser = m[conf.TableUser] - tableWalletRecharge = m[conf.TableWalletRecharge] - tableWalletStatement = m[conf.TableWalletStatement] + _anouncement = m[conf.TableAnouncement] + _anouncementContent = m[conf.TableAnouncementContent] + _attachment = m[conf.TableAttachment] + _captcha = m[conf.TableCaptcha] + _comment = m[conf.TableComment] + _commentContent = m[conf.TableCommentContent] + _commentReply = m[conf.TableCommentReply] + _contact = m[conf.TableContact] + _contactGroup = m[conf.TableContactGroup] + _message = m[conf.TableMessage] + _post = m[conf.TablePost] + _postAttachmentBill = m[conf.TablePostAttachmentBill] + _postCollection = m[conf.TablePostCollection] + _postContent = m[conf.TablePostContent] + _postStar = m[conf.TablePostStar] + _tag = m[conf.TableTag] + _user = m[conf.TableUser] + _walletRecharge = m[conf.TableWalletRecharge] + _walletStatement = m[conf.TableWalletStatement] } From d583d1649cf7918f315d01860f9bafb1401383b2 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 13 Feb 2023 22:49:33 +0800 Subject: [PATCH 24/65] sqlx: fixed select limit/offset sql clause error in MySQL/Sqlite3 --- internal/core/topics.go | 2 +- internal/dao/sakila/topics.go | 14 +++++++------- internal/servants/web/broker/post.go | 2 +- internal/servants/web/pub.go | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/core/topics.go b/internal/core/topics.go index cbcc046a..9484baeb 100644 --- a/internal/core/topics.go +++ b/internal/core/topics.go @@ -12,6 +12,6 @@ import ( type TopicService interface { UpsertTags(userId int64, tags []string) (cs.TagInfoList, error) DecrTagsById(ids []int64) error - ListTags(typ cs.TagType, offset int, limit int) (cs.TagList, error) + ListTags(typ cs.TagType, limit int, offset int) (cs.TagList, error) TagsByKeyword(keyword string) (cs.TagInfoList, error) } diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index 44bbebf0..a23ebf01 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -100,12 +100,12 @@ func (s *topicServant) DecrTagsById(ids []int64) error { }) } -func (s *topicServant) ListTags(typ cs.TagType, offset int, limit int) (res cs.TagList, err error) { +func (s *topicServant) ListTags(typ cs.TagType, limit int, offset int) (res cs.TagList, err error) { switch typ { case cs.TagTypeHot: - err = s.stmtHotTags.Select(&res, offset, limit) + err = s.stmtHotTags.Select(&res, limit, offset) case cs.TagTypeNew: - err = s.stmtNewestTags.Select(&res, offset, limit) + err = s.stmtNewestTags.Select(&res, limit, offset) } return } @@ -123,10 +123,10 @@ func (s *topicServant) TagsByKeyword(keyword string) (res cs.TagInfoList, err er func newTopicService(db *sqlx.DB) core.TopicService { return &topicServant{ sqlxServant: newSqlxServant(db), - stmtNewestTags: c(`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 OFFSET ? LIMIT ?`), - stmtHotTags: c(`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 OFFSET ? LIMIT ?`), - stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), - stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC OFFSET 0 LIMIT 6`), + stmtNewestTags: c(`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 ?`), + stmtHotTags: c(`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 ?`), + stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6`), + stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6`), stmtInsertTag: c(`INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), sqlTagsByIdA: r(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`), sqlTagsByIdB: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), diff --git a/internal/servants/web/broker/post.go b/internal/servants/web/broker/post.go index 12ae46de..e177dd27 100644 --- a/internal/servants/web/broker/post.go +++ b/internal/servants/web/broker/post.go @@ -535,7 +535,7 @@ func GetPostTags(param *PostTagsReq) (cs.TagList, error) { if num > conf.AppSetting.MaxPageSize { num = conf.AppSetting.MaxPageSize } - tags, err := ds.ListTags(param.Type, 0, num) + tags, err := ds.ListTags(param.Type, num, 0) if err != nil { return nil, err } diff --git a/internal/servants/web/pub.go b/internal/servants/web/pub.go index 2b10ad4a..abe82ad9 100644 --- a/internal/servants/web/pub.go +++ b/internal/servants/web/pub.go @@ -75,7 +75,7 @@ func (s *pubSrv) TopicList(req *web.TopicListReq) (*web.TopicListResp, mir.Error if num > conf.AppSetting.MaxPageSize { num = conf.AppSetting.MaxPageSize } - tags, err := s.Ds.ListTags(req.Type, 0, num) + tags, err := s.Ds.ListTags(req.Type, num, 0) if err != nil { return nil, _errGetPostTagsFailed } From 81ae8c05964c67b36632549d1e29d2268cf70b2c Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 9 Mar 2023 00:28:31 +0800 Subject: [PATCH 25/65] add a sample JsonType for process sql json --- internal/dao/jinzhu/gorm.go | 77 ++++++++++++++++++----------------- pkg/types/json.go | 64 +++++++++++++++++++++++++++++ pkg/types/json_test.go | 60 +++++++++++++++++++++++++++ pkg/types/types_suite_test.go | 17 ++++++++ pkg/util/md5_test.go | 1 - pkg/util/util_suite_test.go | 4 ++ 6 files changed, 184 insertions(+), 39 deletions(-) create mode 100644 pkg/types/json.go create mode 100644 pkg/types/json_test.go create mode 100644 pkg/types/types_suite_test.go diff --git a/internal/dao/jinzhu/gorm.go b/internal/dao/jinzhu/gorm.go index 3dd6aef0..8cd44639 100644 --- a/internal/dao/jinzhu/gorm.go +++ b/internal/dao/jinzhu/gorm.go @@ -8,47 +8,48 @@ import ( "github.com/rocboss/paopao-ce/internal/conf" ) +// 数据库表名,统一使用 __ 的形式命名, 比如tag表 => _tag_ var ( - _anouncement string - _anouncementContent string - _attachment string - _captcha string - _comment string - _commentContent string - _commentReply string - _contact string - _contactGroup string - _message string - _post string - _postAttachmentBill string - _postCollection string - _postContent string - _postStar string - _tag string - _user string - _walletRecharge string - _walletStatement string + _anouncement_ string + _anouncementContent_ string + _attachment_ string + _captcha_ string + _comment_ string + _commentContent_ string + _commentReply_ string + _contact_ string + _contactGroup_ string + _message_ string + _post_ string + _postAttachmentBill_ string + _postCollection_ string + _postContent_ string + _postStar_ string + _tag_ string + _user_ string + _walletRecharge_ string + _walletStatement_ string ) func initTableName() { m := conf.DatabaseSetting.TableNames() - _anouncement = m[conf.TableAnouncement] - _anouncementContent = m[conf.TableAnouncementContent] - _attachment = m[conf.TableAttachment] - _captcha = m[conf.TableCaptcha] - _comment = m[conf.TableComment] - _commentContent = m[conf.TableCommentContent] - _commentReply = m[conf.TableCommentReply] - _contact = m[conf.TableContact] - _contactGroup = m[conf.TableContactGroup] - _message = m[conf.TableMessage] - _post = m[conf.TablePost] - _postAttachmentBill = m[conf.TablePostAttachmentBill] - _postCollection = m[conf.TablePostCollection] - _postContent = m[conf.TablePostContent] - _postStar = m[conf.TablePostStar] - _tag = m[conf.TableTag] - _user = m[conf.TableUser] - _walletRecharge = m[conf.TableWalletRecharge] - _walletStatement = m[conf.TableWalletStatement] + _anouncement_ = m[conf.TableAnouncement] + _anouncementContent_ = m[conf.TableAnouncementContent] + _attachment_ = m[conf.TableAttachment] + _captcha_ = m[conf.TableCaptcha] + _comment_ = m[conf.TableComment] + _commentContent_ = m[conf.TableCommentContent] + _commentReply_ = m[conf.TableCommentReply] + _contact_ = m[conf.TableContact] + _contactGroup_ = m[conf.TableContactGroup] + _message_ = m[conf.TableMessage] + _post_ = m[conf.TablePost] + _postAttachmentBill_ = m[conf.TablePostAttachmentBill] + _postCollection_ = m[conf.TablePostCollection] + _postContent_ = m[conf.TablePostContent] + _postStar_ = m[conf.TablePostStar] + _tag_ = m[conf.TableTag] + _user_ = m[conf.TableUser] + _walletRecharge_ = m[conf.TableWalletRecharge] + _walletStatement_ = m[conf.TableWalletStatement] } diff --git a/pkg/types/json.go b/pkg/types/json.go new file mode 100644 index 00000000..94bb39f3 --- /dev/null +++ b/pkg/types/json.go @@ -0,0 +1,64 @@ +// 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 types + +import ( + "database/sql" + "database/sql/driver" + stdjson "encoding/json" + "errors" + "fmt" + + "github.com/rocboss/paopao-ce/pkg/json" +) + +var ( + _ stdjson.Marshaler = (*JsonType[any])(nil) + _ stdjson.Unmarshaler = (*JsonType[any])(nil) + _ driver.Valuer = (*JsonType[any])(nil) + _ sql.Scanner = (*JsonType[any])(nil) +) + +type JsonType[T any] struct { + Data T +} + +func (j *JsonType[T]) MarshalJSON() ([]byte, error) { + if j == nil { + return []byte(`null`), nil + } + return json.Marshal(j.Data) +} + +func (j *JsonType[T]) UnmarshalJSON(data []byte) error { + if j == nil { + return errors.New("JSONText.UnmarshalJSON: on nil pointer") + } + return json.Unmarshal(data, &j.Data) + +} + +func (j *JsonType[T]) Value() (driver.Value, error) { + if j == nil { + return nil, nil + } + return j.MarshalJSON() +} + +func (j *JsonType[T]) Scan(value any) error { + if value == nil { + return nil + } + var b []byte + switch v := value.(type) { + case []byte: + b = v + case string: + b = []byte(v) + default: + return fmt.Errorf("JSONText.Scan: expected []byte or string, got %T (%q)", value, value) + } + return j.UnmarshalJSON(b) +} diff --git a/pkg/types/json_test.go b/pkg/types/json_test.go new file mode 100644 index 00000000..84e861ef --- /dev/null +++ b/pkg/types/json_test.go @@ -0,0 +1,60 @@ +// 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 types_test + +import ( + "encoding/json" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "github.com/rocboss/paopao-ce/pkg/types" +) + +var _ = Describe("Json", Ordered, func() { + type jsonCases []struct { + j types.JsonType[json.RawMessage] + b []byte + } + var samples jsonCases + + BeforeAll(func() { + samples = jsonCases{ + { + j: types.JsonType[json.RawMessage]{json.RawMessage(`null`)}, + b: []byte(`null`), + }, + { + j: types.JsonType[json.RawMessage]{json.RawMessage(`{}`)}, + b: []byte(`{}`), + }, + { + j: types.JsonType[json.RawMessage]{json.RawMessage(`[]`)}, + b: []byte(`[]`), + }, + { + j: types.JsonType[json.RawMessage]{json.RawMessage(`[{"b":true,"n":123},{"s":"foo","obj":{"f1":456,"f2":false}},[null]]`)}, + b: []byte(`[{"b":true,"n":123},{"s":"foo","obj":{"f1":456,"f2":false}},[null]]`), + }, + } + }) + + It("driver valuer ", func() { + for _, t := range samples { + v, err := t.j.Value() + Expect(err).To(BeNil()) + Expect(v).To(Equal(t.b)) + } + }) + + It("sql scan ", func() { + for _, t := range samples { + var jv types.JsonType[json.RawMessage] + err := jv.Scan(t.b) + Expect(err).To(BeNil()) + Expect(jv.Data).To(Equal(t.j.Data)) + } + }) +}) diff --git a/pkg/types/types_suite_test.go b/pkg/types/types_suite_test.go new file mode 100644 index 00000000..18ffa976 --- /dev/null +++ b/pkg/types/types_suite_test.go @@ -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 types_test + +import ( + "testing" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +func TestTypes(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Types Suite") +} diff --git a/pkg/util/md5_test.go b/pkg/util/md5_test.go index 248ab748..fe7c594a 100644 --- a/pkg/util/md5_test.go +++ b/pkg/util/md5_test.go @@ -40,5 +40,4 @@ var _ = Describe("Md5", Ordered, func() { Expect(util.EncodeMD5(t.value)).To(Equal(t.md5)) } }) - }) diff --git a/pkg/util/util_suite_test.go b/pkg/util/util_suite_test.go index 6d6903e9..9f9331bc 100644 --- a/pkg/util/util_suite_test.go +++ b/pkg/util/util_suite_test.go @@ -1,3 +1,7 @@ +// 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 util_test import ( From 8f834e71a2fcea7807a25c424a4158f29b43b3b3 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 9 Mar 2023 11:30:47 +0800 Subject: [PATCH 26/65] change types.JsonType -> types.JsonBox --- pkg/types/json.go | 64 ---------------------------- pkg/types/json_box.go | 82 ++++++++++++++++++++++++++++++++++++ pkg/types/json_box_test.go | 85 ++++++++++++++++++++++++++++++++++++++ pkg/types/json_test.go | 60 --------------------------- pkg/types/types.go | 6 +++ 5 files changed, 173 insertions(+), 124 deletions(-) delete mode 100644 pkg/types/json.go create mode 100644 pkg/types/json_box.go create mode 100644 pkg/types/json_box_test.go delete mode 100644 pkg/types/json_test.go diff --git a/pkg/types/json.go b/pkg/types/json.go deleted file mode 100644 index 94bb39f3..00000000 --- a/pkg/types/json.go +++ /dev/null @@ -1,64 +0,0 @@ -// 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 types - -import ( - "database/sql" - "database/sql/driver" - stdjson "encoding/json" - "errors" - "fmt" - - "github.com/rocboss/paopao-ce/pkg/json" -) - -var ( - _ stdjson.Marshaler = (*JsonType[any])(nil) - _ stdjson.Unmarshaler = (*JsonType[any])(nil) - _ driver.Valuer = (*JsonType[any])(nil) - _ sql.Scanner = (*JsonType[any])(nil) -) - -type JsonType[T any] struct { - Data T -} - -func (j *JsonType[T]) MarshalJSON() ([]byte, error) { - if j == nil { - return []byte(`null`), nil - } - return json.Marshal(j.Data) -} - -func (j *JsonType[T]) UnmarshalJSON(data []byte) error { - if j == nil { - return errors.New("JSONText.UnmarshalJSON: on nil pointer") - } - return json.Unmarshal(data, &j.Data) - -} - -func (j *JsonType[T]) Value() (driver.Value, error) { - if j == nil { - return nil, nil - } - return j.MarshalJSON() -} - -func (j *JsonType[T]) Scan(value any) error { - if value == nil { - return nil - } - var b []byte - switch v := value.(type) { - case []byte: - b = v - case string: - b = []byte(v) - default: - return fmt.Errorf("JSONText.Scan: expected []byte or string, got %T (%q)", value, value) - } - return j.UnmarshalJSON(b) -} diff --git a/pkg/types/json_box.go b/pkg/types/json_box.go new file mode 100644 index 00000000..971b3407 --- /dev/null +++ b/pkg/types/json_box.go @@ -0,0 +1,82 @@ +// 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 types + +import ( + "database/sql" + "database/sql/driver" + stdjson "encoding/json" + "errors" + "fmt" + + "github.com/rocboss/paopao-ce/pkg/json" +) + +var ( + _ stdjson.Marshaler = (*JsonBox[any])(nil) + _ stdjson.Unmarshaler = (*JsonBox[any])(nil) + _ driver.Valuer = (*JsonBox[any])(nil) + _ sql.Scanner = (*JsonBox[any])(nil) + _ Boxes[any] = (*JsonBox[any])(nil) +) + +// JsonBox Json box for process database/sql json data +type JsonBox[T any] struct { + data T +} + +func (j *JsonBox[T]) MarshalJSON() ([]byte, error) { + if j == nil { + return []byte(`null`), nil + } + return json.Marshal(j.data) +} + +func (j *JsonBox[T]) Box(t T) { + j.data = t +} + +func (j *JsonBox[T]) Unbox() T { + return j.data +} + +func (j *JsonBox[T]) UnmarshalJSON(data []byte) error { + if j == nil { + return errors.New("JsonBox.UnmarshalJSON: on nil pointer") + } + return json.Unmarshal(data, &j.data) + +} + +func (j *JsonBox[T]) Value() (driver.Value, error) { + if j == nil { + return nil, nil + } + return j.MarshalJSON() +} + +func (j *JsonBox[T]) Scan(value any) error { + if value == nil { + return nil + } + var b []byte + switch v := value.(type) { + case []byte: + b = v + case string: + b = []byte(v) + default: + return fmt.Errorf("JsonBox.Scan: expected []byte or string, got %T (%q)", value, value) + } + return j.UnmarshalJSON(b) +} + +// NewJsonBox create a new JsonBox instance +func NewJsonBox[T any](t ...T) *JsonBox[T] { + if len(t) > 0 { + return &JsonBox[T]{data: t[0]} + } + return &JsonBox[T]{} +} diff --git a/pkg/types/json_box_test.go b/pkg/types/json_box_test.go new file mode 100644 index 00000000..b45c5a4f --- /dev/null +++ b/pkg/types/json_box_test.go @@ -0,0 +1,85 @@ +// 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 types_test + +import ( + "encoding/json" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "github.com/rocboss/paopao-ce/pkg/types" +) + +var _ = Describe("JsonBox", Ordered, func() { + type jsonCases []struct { + j *types.JsonBox[json.RawMessage] + b []byte + } + var samples jsonCases + + BeforeAll(func() { + samples = jsonCases{ + { + j: types.NewJsonBox(json.RawMessage(`null`)), + b: []byte(`null`), + }, + { + j: types.NewJsonBox(json.RawMessage(`{}`)), + b: []byte(`{}`), + }, + { + j: types.NewJsonBox(json.RawMessage(`[]`)), + b: []byte(`[]`), + }, + { + j: types.NewJsonBox(json.RawMessage(`[{"b":true,"n":123},{"s":"foo","obj":{"f1":456,"f2":false}},[null]]`)), + b: []byte(`[{"b":true,"n":123},{"s":"foo","obj":{"f1":456,"f2":false}},[null]]`), + }, + } + }) + + It("boxes Box and Unbox", func() { + for _, t := range samples { + jv := types.NewJsonBox[json.RawMessage]() + jv.Box(json.RawMessage(t.b)) + Expect(jv.Unbox()).To(Equal(t.j.Unbox())) + } + }) + + It("json marshaler", func() { + for _, t := range samples { + mv, err := t.j.MarshalJSON() + Expect(err).To(BeNil()) + Expect(mv).To(Equal(t.b)) + } + }) + + It("json unmarshaler", func() { + for _, t := range samples { + jv := types.NewJsonBox[json.RawMessage]() + err := jv.UnmarshalJSON(t.b) + Expect(err).To(BeNil()) + Expect(t.j.Unbox()).To(Equal(jv.Unbox())) + } + }) + + It("driver valuer", func() { + for _, t := range samples { + v, err := t.j.Value() + Expect(err).To(BeNil()) + Expect(v).To(Equal(t.b)) + } + }) + + It("sql scaner", func() { + for _, t := range samples { + jv := types.NewJsonBox[json.RawMessage]() + err := jv.Scan(t.b) + Expect(err).To(BeNil()) + Expect(jv.Unbox()).To(Equal(t.j.Unbox())) + } + }) +}) diff --git a/pkg/types/json_test.go b/pkg/types/json_test.go deleted file mode 100644 index 84e861ef..00000000 --- a/pkg/types/json_test.go +++ /dev/null @@ -1,60 +0,0 @@ -// 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 types_test - -import ( - "encoding/json" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - "github.com/rocboss/paopao-ce/pkg/types" -) - -var _ = Describe("Json", Ordered, func() { - type jsonCases []struct { - j types.JsonType[json.RawMessage] - b []byte - } - var samples jsonCases - - BeforeAll(func() { - samples = jsonCases{ - { - j: types.JsonType[json.RawMessage]{json.RawMessage(`null`)}, - b: []byte(`null`), - }, - { - j: types.JsonType[json.RawMessage]{json.RawMessage(`{}`)}, - b: []byte(`{}`), - }, - { - j: types.JsonType[json.RawMessage]{json.RawMessage(`[]`)}, - b: []byte(`[]`), - }, - { - j: types.JsonType[json.RawMessage]{json.RawMessage(`[{"b":true,"n":123},{"s":"foo","obj":{"f1":456,"f2":false}},[null]]`)}, - b: []byte(`[{"b":true,"n":123},{"s":"foo","obj":{"f1":456,"f2":false}},[null]]`), - }, - } - }) - - It("driver valuer ", func() { - for _, t := range samples { - v, err := t.j.Value() - Expect(err).To(BeNil()) - Expect(v).To(Equal(t.b)) - } - }) - - It("sql scan ", func() { - for _, t := range samples { - var jv types.JsonType[json.RawMessage] - err := jv.Scan(t.b) - Expect(err).To(BeNil()) - Expect(jv.Data).To(Equal(t.j.Data)) - } - }) -}) diff --git a/pkg/types/types.go b/pkg/types/types.go index 830c56c6..e2bb9331 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -9,3 +9,9 @@ type Empty = struct{} // Fn empty argument func alias type type Fn = func() + +// Boxes Box/Unbox interface +type Boxes[T any] interface { + Box(t T) + Unbox() T +} From 4828f285ece9815464d5a176f1b083394d510acc Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 9 Mar 2023 11:31:46 +0800 Subject: [PATCH 27/65] just file typo --- pkg/types/json_box.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/types/json_box.go b/pkg/types/json_box.go index 971b3407..1494526a 100644 --- a/pkg/types/json_box.go +++ b/pkg/types/json_box.go @@ -27,13 +27,6 @@ type JsonBox[T any] struct { data T } -func (j *JsonBox[T]) MarshalJSON() ([]byte, error) { - if j == nil { - return []byte(`null`), nil - } - return json.Marshal(j.data) -} - func (j *JsonBox[T]) Box(t T) { j.data = t } @@ -42,6 +35,13 @@ func (j *JsonBox[T]) Unbox() T { return j.data } +func (j *JsonBox[T]) MarshalJSON() ([]byte, error) { + if j == nil { + return []byte(`null`), nil + } + return json.Marshal(j.data) +} + func (j *JsonBox[T]) UnmarshalJSON(data []byte) error { if j == nil { return errors.New("JsonBox.UnmarshalJSON: on nil pointer") From d32df6b11df39afce454ee1f9f35199fe77d2c8f Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 13 Mar 2023 02:10:58 +0800 Subject: [PATCH 28/65] fixed topics sql error --- internal/dao/sakila/topics.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go index a23ebf01..02eb1ed3 100644 --- a/internal/dao/sakila/topics.go +++ b/internal/dao/sakila/topics.go @@ -128,10 +128,10 @@ func newTopicService(db *sqlx.DB) core.TopicService { stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6`), stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6`), stmtInsertTag: c(`INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), - sqlTagsByIdA: r(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`), - sqlTagsByIdB: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), - sqlDecrTagsById: r(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), - sqlTagsForIncr: r(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`), - sqlIncrTagsById: r(`UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`), + sqlTagsByIdA: t(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`), + sqlTagsByIdB: t(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), + sqlDecrTagsById: t(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), + sqlTagsForIncr: t(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`), + sqlIncrTagsById: t(`UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`), } } From 6e6ab81c1ced7efb41c146666d3479d560ccaff0 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Fri, 17 Mar 2023 18:56:16 +0800 Subject: [PATCH 29/65] fixed topics create/update error --- internal/dao/jinzhu/topics.go | 19 +++++++++++-------- internal/dao/jinzhu/utils.go | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/internal/dao/jinzhu/topics.go b/internal/dao/jinzhu/topics.go index 67b003d9..26d44888 100644 --- a/internal/dao/jinzhu/topics.go +++ b/internal/dao/jinzhu/topics.go @@ -67,15 +67,14 @@ func (s *topicServant) ListTags(typ cs.TagType, offset, limit int) (res cs.TagLi } // TODO: 优化查询方式,直接返回[]*core.Tag, 目前保持先转换一下 var ( - tags []*dbr.Tag - tagMap map[int64]*cs.TagItem - item *cs.TagItem + tags []*dbr.Tag + item *cs.TagItem ) if tags, err = (&dbr.Tag{}).List(s.db, conditions, offset, limit); err == nil { if len(tags) == 0 { return } - ids := make([]int64, 0, len(tags)) + tagMap := make(map[int64][]*cs.TagItem, len(tags)) for _, tag := range tags { item = &cs.TagItem{ ID: tag.ID, @@ -83,17 +82,21 @@ func (s *topicServant) ListTags(typ cs.TagType, offset, limit int) (res cs.TagLi Tag: tag.Tag, QuoteNum: tag.QuoteNum, } - tagMap[item.UserID] = item + tagMap[item.UserID] = append(tagMap[item.UserID], item) res = append(res, item) - ids = append(ids, tag.UserID) + } + ids := make([]int64, len(tagMap)) + for userId := range tagMap { + ids = append(ids, userId) } userInfos, err := (&dbr.User{}).ListUserInfoById(s.db, ids) if err != nil { return nil, err } for _, userInfo := range userInfos { - item = tagMap[userInfo.ID] - item.User = userInfo + for _, item = range tagMap[userInfo.ID] { + item.User = userInfo + } } } return diff --git a/internal/dao/jinzhu/utils.go b/internal/dao/jinzhu/utils.go index 0dd71bee..9d97b4b8 100644 --- a/internal/dao/jinzhu/utils.go +++ b/internal/dao/jinzhu/utils.go @@ -20,10 +20,10 @@ func createTags(db *gorm.DB, userId int64, tags []string) (res cs.TagInfoList, e return } } else { - tag.UserID, tag.QuoteNum = userId, 1 if tag, err = (&dbr.Tag{ UserID: userId, QuoteNum: 1, + Tag: name, }).Create(db); err != nil { return } From e25faa8a3c881431b7b9a256ae2530686ca9f554 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 20 Mar 2023 01:15:35 +0800 Subject: [PATCH 30/65] just optimize data logic servant define --- internal/core/core.go | 11 + internal/core/timeline.go | 5 + internal/core/topics.go | 8 + internal/core/tweets.go | 69 +++--- internal/dao/jinzhu/authority.go | 16 +- internal/dao/jinzhu/comments.go | 34 +-- internal/dao/jinzhu/contacts.go | 30 +-- internal/dao/jinzhu/messages.go | 18 +- internal/dao/jinzhu/security.go | 12 +- internal/dao/jinzhu/timeline.go | 46 ++-- internal/dao/jinzhu/topics.go | 127 ++++++++++- internal/dao/jinzhu/tweets.go | 228 +++++++++++--------- internal/dao/jinzhu/user.go | 20 +- internal/dao/jinzhu/wallet.go | 18 +- internal/dao/sakila/authority.go | 59 ------ internal/dao/sakila/comments.go | 110 ---------- internal/dao/sakila/contacts.go | 65 ------ internal/dao/sakila/messages.go | 67 ------ internal/dao/sakila/sakila.go | 107 +--------- internal/dao/sakila/security.go | 52 ----- internal/dao/sakila/sqlx.go | 114 ---------- internal/dao/sakila/timeline.go | 120 ----------- internal/dao/sakila/topics.go | 137 ------------ internal/dao/sakila/tweets.go | 352 ------------------------------- internal/dao/sakila/user.go | 73 ------- internal/dao/sakila/wallet.go | 66 ------ 26 files changed, 405 insertions(+), 1559 deletions(-) delete mode 100644 internal/dao/sakila/authority.go delete mode 100644 internal/dao/sakila/comments.go delete mode 100644 internal/dao/sakila/contacts.go delete mode 100644 internal/dao/sakila/messages.go delete mode 100644 internal/dao/sakila/security.go delete mode 100644 internal/dao/sakila/sqlx.go delete mode 100644 internal/dao/sakila/timeline.go delete mode 100644 internal/dao/sakila/topics.go delete mode 100644 internal/dao/sakila/tweets.go delete mode 100644 internal/dao/sakila/user.go delete mode 100644 internal/dao/sakila/wallet.go diff --git a/internal/core/core.go b/internal/core/core.go index 9a8eb26f..888b404b 100644 --- a/internal/core/core.go +++ b/internal/core/core.go @@ -35,3 +35,14 @@ type DataService interface { SecurityService AttachmentCheckService } + +// DataServantA 数据服务集成(版本A) +type DataServantA interface { + // 话题服务 + TopicServantA + + // 推文服务 + TweetServantA + TweetManageServantA + TweetHelpServantA +} diff --git a/internal/core/timeline.go b/internal/core/timeline.go index 09cce5a2..9ba7538b 100644 --- a/internal/core/timeline.go +++ b/internal/core/timeline.go @@ -12,3 +12,8 @@ import ( type TweetTimelineService interface { TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) } + +// TweetTimelineServantA 广场首页推文时间线服务(版本A) +type TweetTimelineServantA interface { + TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) +} diff --git a/internal/core/topics.go b/internal/core/topics.go index 9484baeb..d6e36bed 100644 --- a/internal/core/topics.go +++ b/internal/core/topics.go @@ -15,3 +15,11 @@ type TopicService interface { ListTags(typ cs.TagType, limit int, offset int) (cs.TagList, error) TagsByKeyword(keyword string) (cs.TagInfoList, error) } + +// TopicServantA 话题服务(版本A) +type TopicServantA interface { + UpsertTags(userId int64, tags []string) (cs.TagInfoList, error) + DecrTagsById(ids []int64) error + ListTags(typ cs.TagType, limit int, offset int) (cs.TagList, error) + TagsByKeyword(keyword string) (cs.TagInfoList, error) +} diff --git a/internal/core/tweets.go b/internal/core/tweets.go index 0edf8f26..0a114ee3 100644 --- a/internal/core/tweets.go +++ b/internal/core/tweets.go @@ -40,7 +40,8 @@ type ( } ) -type oldTweetService interface { +// TweetService 推文检索服务 +type TweetService interface { GetPostByID(id int64) (*Post, error) GetPosts(conditions *ConditionsT, offset, limit int) ([]*Post, error) GetPostCount(conditions *ConditionsT) (int64, error) @@ -55,21 +56,8 @@ type oldTweetService interface { GetPostContentByID(id int64) (*PostContent, error) } -// TweetService 推文检索服务 -type TweetService interface { - oldTweetService - - 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) - FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) - UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) - AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) -} - -type oldTweetManageService interface { +// TweetManageService 推文管理服务,包括创建/删除/更新推文 +type TweetManageService interface { CreatePost(post *Post) (*Post, error) DeletePost(post *Post) ([]string, error) LockPost(post *Post) error @@ -81,12 +69,34 @@ type oldTweetManageService interface { CreatePostCollection(postID, userID int64) (*PostCollection, error) DeletePostCollection(p *PostCollection) error CreatePostContent(content *PostContent) (*PostContent, error) + CreateAttachment(obj *cs.Attachment) (int64, error) } -// TweetManageService 推文管理服务,包括创建/删除/更新推文 -type TweetManageService interface { - oldTweetManageService +// TweetHelpService 推文辅助服务 +type TweetHelpService interface { + RevampPosts(posts []*PostFormated) ([]*PostFormated, error) + 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) + FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) + UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) + AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) +} +// TweetManageServantA 推文管理服务,包括创建/删除/更新推文(版本A) +type TweetManageServantA interface { CreateAttachment(obj *cs.Attachment) (int64, error) CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) DeleteTweet(userId int64, tweetId int64) ([]string, error) @@ -99,25 +109,8 @@ type TweetManageService interface { DeleteFavorite(userId int64, favoriteId int64) error } -type oldTweetHelpService interface { - RevampPosts(posts []*PostFormated) ([]*PostFormated, error) - MergePosts(posts []*Post) ([]*PostFormated, error) -} - -// TweetHelpService 推文辅助服务 -type TweetHelpService interface { - oldTweetHelpService - +// TweetHelpServantA 推文辅助服务(版本A) +type TweetHelpServantA interface { RevampTweets(tweets cs.TweetList) (cs.TweetList, error) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) } - -type oldIndexPostsService interface { - IndexPosts(user *User, offset int, limit int) (*IndexTweetList, error) -} - -// IndexPostsService 广场首页推文列表服务 -type IndexPostsService interface { - oldIndexPostsService - TweetTimelineService -} diff --git a/internal/dao/jinzhu/authority.go b/internal/dao/jinzhu/authority.go index 5932fa24..3480ceb0 100644 --- a/internal/dao/jinzhu/authority.go +++ b/internal/dao/jinzhu/authority.go @@ -12,20 +12,20 @@ import ( ) var ( - _ core.AuthorizationManageService = (*authorizationManageServant)(nil) + _ core.AuthorizationManageService = (*authorizationManageSrv)(nil) ) -type authorizationManageServant struct { +type authorizationManageSrv struct { db *gorm.DB } func newAuthorizationManageService(db *gorm.DB) core.AuthorizationManageService { - return &authorizationManageServant{ + return &authorizationManageSrv{ db: db, } } -func (s *authorizationManageServant) IsAllow(user *core.User, action *core.Action) bool { +func (s *authorizationManageSrv) IsAllow(user *core.User, action *core.Action) bool { // user is activation if had bind phone isActivation := (len(user.Phone) != 0) isFriend := s.isFriend(user.ID, action.UserId) @@ -33,7 +33,7 @@ func (s *authorizationManageServant) IsAllow(user *core.User, action *core.Actio return action.Act.IsAllow(user, action.UserId, isFriend, isActivation) } -func (s *authorizationManageServant) MyFriendSet(userId int64) core.FriendSet { +func (s *authorizationManageSrv) MyFriendSet(userId int64) core.FriendSet { ids, err := (&dbr.Contact{UserId: userId}).MyFriendIds(s.db) if err != nil { return core.FriendSet{} @@ -46,7 +46,7 @@ func (s *authorizationManageServant) MyFriendSet(userId int64) core.FriendSet { return resp } -func (s *authorizationManageServant) BeFriendFilter(userId int64) core.FriendFilter { +func (s *authorizationManageSrv) BeFriendFilter(userId int64) core.FriendFilter { ids, err := (&dbr.Contact{FriendId: userId}).BeFriendIds(s.db) if err != nil { return core.FriendFilter{} @@ -59,11 +59,11 @@ func (s *authorizationManageServant) BeFriendFilter(userId int64) core.FriendFil return resp } -func (s *authorizationManageServant) BeFriendIds(userId int64) ([]int64, error) { +func (s *authorizationManageSrv) BeFriendIds(userId int64) ([]int64, error) { return (&dbr.Contact{FriendId: userId}).BeFriendIds(s.db) } -func (s *authorizationManageServant) isFriend(userId int64, friendId int64) bool { +func (s *authorizationManageSrv) isFriend(userId int64, friendId int64) bool { contact, err := (&dbr.Contact{UserId: friendId, FriendId: userId}).GetByUserFriend(s.db) if err == nil || contact.Status == dbr.ContactStatusAgree { return true diff --git a/internal/dao/jinzhu/comments.go b/internal/dao/jinzhu/comments.go index 1af9e5ce..ec7ab75d 100644 --- a/internal/dao/jinzhu/comments.go +++ b/internal/dao/jinzhu/comments.go @@ -11,35 +11,35 @@ import ( ) var ( - _ core.CommentService = (*commentServant)(nil) - _ core.CommentManageService = (*commentManageServant)(nil) + _ core.CommentService = (*commentSrv)(nil) + _ core.CommentManageService = (*commentManageSrv)(nil) ) -type commentServant struct { +type commentSrv struct { db *gorm.DB } -type commentManageServant struct { +type commentManageSrv struct { db *gorm.DB } func newCommentService(db *gorm.DB) core.CommentService { - return &commentServant{ + return &commentSrv{ db: db, } } func newCommentManageService(db *gorm.DB) core.CommentManageService { - return &commentManageServant{ + return &commentManageSrv{ db: db, } } -func (s *commentServant) GetComments(conditions *core.ConditionsT, offset, limit int) ([]*core.Comment, error) { +func (s *commentSrv) GetComments(conditions *core.ConditionsT, offset, limit int) ([]*core.Comment, error) { return (&dbr.Comment{}).List(s.db, conditions, offset, limit) } -func (s *commentServant) GetCommentByID(id int64) (*core.Comment, error) { +func (s *commentSrv) GetCommentByID(id int64) (*core.Comment, error) { comment := &dbr.Comment{ Model: &dbr.Model{ ID: id, @@ -48,7 +48,7 @@ func (s *commentServant) GetCommentByID(id int64) (*core.Comment, error) { return comment.Get(s.db) } -func (s *commentServant) GetCommentReplyByID(id int64) (*core.CommentReply, error) { +func (s *commentSrv) GetCommentReplyByID(id int64) (*core.CommentReply, error) { reply := &dbr.CommentReply{ Model: &dbr.Model{ ID: id, @@ -57,18 +57,18 @@ func (s *commentServant) GetCommentReplyByID(id int64) (*core.CommentReply, erro return reply.Get(s.db) } -func (s *commentServant) GetCommentCount(conditions *core.ConditionsT) (int64, error) { +func (s *commentSrv) GetCommentCount(conditions *core.ConditionsT) (int64, error) { return (&dbr.Comment{}).Count(s.db, conditions) } -func (s *commentServant) GetCommentContentsByIDs(ids []int64) ([]*core.CommentContent, error) { +func (s *commentSrv) GetCommentContentsByIDs(ids []int64) ([]*core.CommentContent, error) { commentContent := &dbr.CommentContent{} return commentContent.List(s.db, &dbr.ConditionsT{ "comment_id IN ?": ids, }, 0, 0) } -func (s *commentServant) GetCommentRepliesByID(ids []int64) ([]*core.CommentReplyFormated, error) { +func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*core.CommentReplyFormated, error) { CommentReply := &dbr.CommentReply{} replies, err := CommentReply.List(s.db, &dbr.ConditionsT{ "comment_id IN ?": ids, @@ -105,22 +105,22 @@ func (s *commentServant) GetCommentRepliesByID(ids []int64) ([]*core.CommentRepl return repliesFormated, nil } -func (s *commentManageServant) DeleteComment(comment *core.Comment) error { +func (s *commentManageSrv) DeleteComment(comment *core.Comment) error { return comment.Delete(s.db) } -func (s *commentManageServant) CreateComment(comment *core.Comment) (*core.Comment, error) { +func (s *commentManageSrv) CreateComment(comment *core.Comment) (*core.Comment, error) { return comment.Create(s.db) } -func (s *commentManageServant) CreateCommentReply(reply *core.CommentReply) (*core.CommentReply, error) { +func (s *commentManageSrv) CreateCommentReply(reply *core.CommentReply) (*core.CommentReply, error) { return reply.Create(s.db) } -func (s *commentManageServant) DeleteCommentReply(reply *core.CommentReply) error { +func (s *commentManageSrv) DeleteCommentReply(reply *core.CommentReply) error { return reply.Delete(s.db) } -func (s *commentManageServant) CreateCommentContent(content *core.CommentContent) (*core.CommentContent, error) { +func (s *commentManageSrv) CreateCommentContent(content *core.CommentContent) (*core.CommentContent, error) { return content.Create(s.db) } diff --git a/internal/dao/jinzhu/contacts.go b/internal/dao/jinzhu/contacts.go index c26ae4de..824164bc 100644 --- a/internal/dao/jinzhu/contacts.go +++ b/internal/dao/jinzhu/contacts.go @@ -14,20 +14,20 @@ import ( ) var ( - _ core.ContactManageService = (*contactManageServant)(nil) + _ core.ContactManageService = (*contactManageSrv)(nil) ) -type contactManageServant struct { +type contactManageSrv struct { db *gorm.DB } func newContactManageService(db *gorm.DB) core.ContactManageService { - return &contactManageServant{ + return &contactManageSrv{ db: db, } } -func (s *contactManageServant) fetchOrNewContact(db *gorm.DB, userId int64, friendId int64, status int8) (*dbr.Contact, error) { +func (s *contactManageSrv) fetchOrNewContact(db *gorm.DB, userId int64, friendId int64, status int8) (*dbr.Contact, error) { contact := &dbr.Contact{ UserId: userId, FriendId: friendId, @@ -40,14 +40,14 @@ func (s *contactManageServant) fetchOrNewContact(db *gorm.DB, userId int64, frie Status: status, } if contact, err = contact.Create(db); err != nil { - logrus.Errorf("contactManageServant.fetchOrNewContact create new contact err:%s", err) + logrus.Errorf("contactManageSrv.fetchOrNewContact create new contact err:%s", err) return nil, err } } return contact, nil } -func (s *contactManageServant) RequestingFriend(userId int64, friendId int64, greetings string) (err error) { +func (s *contactManageSrv) RequestingFriend(userId int64, friendId int64, greetings string) (err error) { db := s.db.Begin() defer func() { if err == nil { @@ -70,7 +70,7 @@ func (s *contactManageServant) RequestingFriend(userId int64, friendId int64, gr contact.Status = dbr.ContactStatusRequesting contact.IsDel = 0 // remove deleted flag if needed if err = contact.UpdateInUnscoped(db); err != nil { - logrus.Errorf("contactManageServant.RequestingFriend update exsit contact err:%s", err) + logrus.Errorf("contactManageSrv.RequestingFriend update exsit contact err:%s", err) return } } @@ -84,13 +84,13 @@ func (s *contactManageServant) RequestingFriend(userId int64, friendId int64, gr ReplyID: int64(dbr.ContactStatusRequesting), } if _, err = msg.Create(db); err != nil { - logrus.Errorf("contactManageServant.RequestingFriend create message err:%s", err) + logrus.Errorf("contactManageSrv.RequestingFriend create message err:%s", err) return } return nil } -func (s *contactManageServant) AddFriend(userId int64, friendId int64) (err error) { +func (s *contactManageSrv) AddFriend(userId int64, friendId int64) (err error) { db := s.db.Begin() defer func() { if err == nil { @@ -109,7 +109,7 @@ func (s *contactManageServant) AddFriend(userId int64, friendId int64) (err erro } // 如果还不是请求好友,啥也不干 if contact.Status != dbr.ContactStatusRequesting { - logrus.Debugf("contactManageServant.AddFriend not reuesting status now so skip") + logrus.Debugf("contactManageSrv.AddFriend not reuesting status now so skip") return nil } contact.Status = dbr.ContactStatusAgree @@ -127,7 +127,7 @@ func (s *contactManageServant) AddFriend(userId int64, friendId int64) (err erro contact.Status = dbr.ContactStatusAgree contact.IsDel = 0 // remove deleted flag if err = contact.UpdateInUnscoped(db); err != nil { - logrus.Errorf("contactManageServant.AddFriend update contact err:%s", err) + logrus.Errorf("contactManageSrv.AddFriend update contact err:%s", err) return } } @@ -149,7 +149,7 @@ func (s *contactManageServant) AddFriend(userId int64, friendId int64) (err erro return nil } -func (s *contactManageServant) RejectFriend(userId int64, friendId int64) (err error) { +func (s *contactManageSrv) RejectFriend(userId int64, friendId int64) (err error) { db := s.db.Begin() defer func() { if err == nil { @@ -192,7 +192,7 @@ func (s *contactManageServant) RejectFriend(userId int64, friendId int64) (err e return nil } -func (s *contactManageServant) DeleteFriend(userId int64, friendId int64) (err error) { +func (s *contactManageSrv) DeleteFriend(userId int64, friendId int64) (err error) { db := s.db.Begin() defer func() { if err == nil { @@ -226,7 +226,7 @@ func (s *contactManageServant) DeleteFriend(userId int64, friendId int64) (err e return nil } -func (s *contactManageServant) GetContacts(userId int64, offset int, limit int) (*core.ContactList, error) { +func (s *contactManageSrv) GetContacts(userId int64, offset int, limit int) (*core.ContactList, error) { contact := &dbr.Contact{} condition := dbr.ConditionsT{ "user_id": userId, @@ -258,7 +258,7 @@ func (s *contactManageServant) GetContacts(userId int64, offset int, limit int) return resp, nil } -func (s *contactManageServant) IsFriend(userId int64, friendId int64) bool { +func (s *contactManageSrv) IsFriend(userId int64, friendId int64) bool { contact := &dbr.Contact{ UserId: friendId, FriendId: userId, diff --git a/internal/dao/jinzhu/messages.go b/internal/dao/jinzhu/messages.go index 25b429f6..2d10935f 100644 --- a/internal/dao/jinzhu/messages.go +++ b/internal/dao/jinzhu/messages.go @@ -11,31 +11,31 @@ import ( ) var ( - _ core.MessageService = (*messageServant)(nil) + _ core.MessageService = (*messageSrv)(nil) ) -type messageServant struct { +type messageSrv struct { db *gorm.DB } func newMessageService(db *gorm.DB) core.MessageService { - return &messageServant{ + return &messageSrv{ db: db, } } -func (s *messageServant) CreateMessage(msg *core.Message) (*core.Message, error) { +func (s *messageSrv) CreateMessage(msg *core.Message) (*core.Message, error) { return msg.Create(s.db) } -func (s *messageServant) GetUnreadCount(userID int64) (int64, error) { +func (s *messageSrv) GetUnreadCount(userID int64) (int64, error) { return (&dbr.Message{}).Count(s.db, &dbr.ConditionsT{ "receiver_user_id": userID, "is_read": dbr.MsgStatusUnread, }) } -func (s *messageServant) GetMessageByID(id int64) (*core.Message, error) { +func (s *messageSrv) GetMessageByID(id int64) (*core.Message, error) { return (&dbr.Message{ Model: &dbr.Model{ ID: id, @@ -43,12 +43,12 @@ func (s *messageServant) GetMessageByID(id int64) (*core.Message, error) { }).Get(s.db) } -func (s *messageServant) ReadMessage(message *core.Message) error { +func (s *messageSrv) ReadMessage(message *core.Message) error { message.IsRead = 1 return message.Update(s.db) } -func (s *messageServant) GetMessages(conditions *core.ConditionsT, offset, limit int) ([]*core.MessageFormated, error) { +func (s *messageSrv) GetMessages(conditions *core.ConditionsT, offset, limit int) ([]*core.MessageFormated, error) { messages, err := (&dbr.Message{}).List(s.db, conditions, offset, limit) if err != nil { return nil, err @@ -63,6 +63,6 @@ func (s *messageServant) GetMessages(conditions *core.ConditionsT, offset, limit return mfs, nil } -func (s *messageServant) GetMessageCount(conditions *core.ConditionsT) (int64, error) { +func (s *messageSrv) GetMessageCount(conditions *core.ConditionsT) (int64, error) { return (&dbr.Message{}).Count(s.db, conditions) } diff --git a/internal/dao/jinzhu/security.go b/internal/dao/jinzhu/security.go index 69fc57d4..128e8273 100644 --- a/internal/dao/jinzhu/security.go +++ b/internal/dao/jinzhu/security.go @@ -15,36 +15,36 @@ import ( ) var ( - _ core.SecurityService = (*securityServant)(nil) + _ core.SecurityService = (*securitySrv)(nil) ) -type securityServant struct { +type securitySrv struct { db *gorm.DB phoneVerify core.PhoneVerifyService } func newSecurityService(db *gorm.DB, phoneVerify core.PhoneVerifyService) core.SecurityService { - return &securityServant{ + return &securitySrv{ db: db, phoneVerify: phoneVerify, } } // GetLatestPhoneCaptcha 获取最新短信验证码 -func (s *securityServant) GetLatestPhoneCaptcha(phone string) (*core.Captcha, error) { +func (s *securitySrv) GetLatestPhoneCaptcha(phone string) (*core.Captcha, error) { return (&dbr.Captcha{ Phone: phone, }).Get(s.db) } // UsePhoneCaptcha 更新短信验证码 -func (s *securityServant) UsePhoneCaptcha(captcha *core.Captcha) error { +func (s *securitySrv) UsePhoneCaptcha(captcha *core.Captcha) error { captcha.UseTimes++ return captcha.Update(s.db) } // SendPhoneCaptcha 发送短信验证码 -func (s *securityServant) SendPhoneCaptcha(phone string) error { +func (s *securitySrv) SendPhoneCaptcha(phone string) error { expire := time.Duration(5) // 发送验证码 diff --git a/internal/dao/jinzhu/timeline.go b/internal/dao/jinzhu/timeline.go index 29e1e341..fb6769a5 100644 --- a/internal/dao/jinzhu/timeline.go +++ b/internal/dao/jinzhu/timeline.go @@ -14,35 +14,35 @@ import ( ) var ( - _ core.IndexPostsService = (*friendIndexServant)(nil) - _ core.IndexPostsService = (*followIndexServant)(nil) - _ core.IndexPostsService = (*lightIndexServant)(nil) - _ core.IndexPostsService = (*simpleIndexPostsServant)(nil) + _ core.IndexPostsService = (*friendIndexSrv)(nil) + _ core.IndexPostsService = (*followIndexSrv)(nil) + _ core.IndexPostsService = (*lightIndexSrv)(nil) + _ core.IndexPostsService = (*simpleIndexPostsSrv)(nil) ) -type friendIndexServant struct { +type friendIndexSrv struct { ams core.AuthorizationManageService ths core.TweetHelpService db *gorm.DB } -type followIndexServant struct { +type followIndexSrv struct { ths core.TweetHelpService db *gorm.DB } -type lightIndexServant struct { +type lightIndexSrv struct { ths core.TweetHelpService db *gorm.DB } -type simpleIndexPostsServant struct { +type simpleIndexPostsSrv struct { ths core.TweetHelpService db *gorm.DB } // IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; -func (s *friendIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *friendIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { predicates := dbr.Predicates{ "ORDER": []any{"is_top DESC, latest_replied_on DESC"}, } @@ -57,7 +57,7 @@ func (s *friendIndexServant) IndexPosts(user *core.User, offset int, limit int) posts, err := (&dbr.Post{}).Fetch(s.db, predicates, offset, limit) if err != nil { - logrus.Debugf("gormIndexPostsServant.IndexPosts err: %v", err) + logrus.Debugf("gormIndexPostsSrv.IndexPosts err: %v", err) return nil, err } formatPosts, err := s.ths.MergePosts(posts) @@ -76,24 +76,24 @@ func (s *friendIndexServant) IndexPosts(user *core.User, offset int, limit int) }, nil } -func (s *friendIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { +func (s *friendIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { // TODO return nil, debug.ErrNotImplemented } // IndexPosts 根据userId查询广场推文列表 -func (s *followIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *followIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { // TODO return nil, debug.ErrNotImplemented } -func (s *followIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { +func (s *followIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { // TODO return nil, debug.ErrNotImplemented } // IndexPosts 根据userId查询广场推文列表,获取公开可见Tweet或者所属用户的私有Tweet -func (s *lightIndexServant) 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) { predicates := dbr.Predicates{ "ORDER": []any{"is_top DESC, latest_replied_on DESC"}, } @@ -106,7 +106,7 @@ func (s *lightIndexServant) IndexPosts(user *core.User, offset int, limit int) ( posts, err := (&dbr.Post{}).Fetch(s.db, predicates, offset, limit) if err != nil { - logrus.Debugf("gormIndexPostsServant.IndexPosts err: %v", err) + logrus.Debugf("gormIndexPostsSrv.IndexPosts err: %v", err) return nil, err } formatPosts, err := s.ths.MergePosts(posts) @@ -125,13 +125,13 @@ func (s *lightIndexServant) IndexPosts(user *core.User, offset int, limit int) ( }, nil } -func (s *lightIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { +func (s *lightIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { // TODO return nil, debug.ErrNotImplemented } // simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数 -func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *simpleIndexPostsSrv) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { predicates := dbr.Predicates{ "visibility = ?": []any{dbr.PostVisitPublic}, "ORDER": []any{"is_top DESC, latest_replied_on DESC"}, @@ -139,7 +139,7 @@ func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit posts, err := (&dbr.Post{}).Fetch(s.db, predicates, offset, limit) if err != nil { - logrus.Debugf("gormSimpleIndexPostsServant.IndexPosts err: %v", err) + logrus.Debugf("gormSimpleIndexPostsSrv.IndexPosts err: %v", err) return nil, err } @@ -159,13 +159,13 @@ func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit }, nil } -func (s *simpleIndexPostsServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { +func (s *simpleIndexPostsSrv) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { // TODO return nil, debug.ErrNotImplemented } func newFriendIndexService(db *gorm.DB, ams core.AuthorizationManageService, ths core.TweetHelpService) core.IndexPostsService { - return &friendIndexServant{ + return &friendIndexSrv{ ams: ams, ths: ths, db: db, @@ -173,21 +173,21 @@ func newFriendIndexService(db *gorm.DB, ams core.AuthorizationManageService, ths } func newFollowIndexService(db *gorm.DB, ths core.TweetHelpService) core.IndexPostsService { - return &followIndexServant{ + return &followIndexSrv{ ths: ths, db: db, } } func newLightIndexService(db *gorm.DB, ths core.TweetHelpService) core.IndexPostsService { - return &lightIndexServant{ + return &lightIndexSrv{ ths: ths, db: db, } } func newSimpleIndexPostsService(db *gorm.DB, ths core.TweetHelpService) core.IndexPostsService { - return &simpleIndexPostsServant{ + return &simpleIndexPostsSrv{ ths: ths, db: db, } diff --git a/internal/dao/jinzhu/topics.go b/internal/dao/jinzhu/topics.go index 26d44888..c295d1e6 100644 --- a/internal/dao/jinzhu/topics.go +++ b/internal/dao/jinzhu/topics.go @@ -14,20 +14,133 @@ import ( ) var ( - _ core.TopicService = (*topicServant)(nil) + _ core.TopicService = (*topicSrv)(nil) + _ core.TopicServantA = (*topicSrvA)(nil) ) -type topicServant struct { +type topicSrv struct { + db *gorm.DB +} + +type topicSrvA struct { db *gorm.DB } func newTopicService(db *gorm.DB) core.TopicService { - return &topicServant{ + return &topicSrv{ + db: db, + } +} + +func newTopicServantA(db *gorm.DB) core.TopicServantA { + return &topicSrvA{ db: db, } } -func (s *topicServant) UpsertTags(userId int64, tags []string) (_ cs.TagInfoList, err error) { +func (s *topicSrv) UpsertTags(userId int64, tags []string) (_ cs.TagInfoList, err error) { + db := s.db.Begin() + defer func() { + if err == nil { + db.Commit() + } else { + db.Rollback() + } + }() + return createTags(db, userId, tags) +} + +func (s *topicSrv) DecrTagsById(ids []int64) (err error) { + db := s.db.Begin() + defer func() { + if err == nil { + db.Commit() + } else { + db.Rollback() + } + }() + return decrTagsByIds(db, ids) +} + +func (s *topicSrv) ListTags(typ cs.TagType, offset, limit int) (res cs.TagList, err error) { + conditions := &core.ConditionsT{} + switch typ { + case cs.TagTypeHot: + // 热门标签 + conditions = &core.ConditionsT{ + "ORDER": "quote_num DESC", + } + case cs.TagTypeNew: + // 最新标签 + conditions = &core.ConditionsT{ + "ORDER": "id DESC", + } + } + // TODO: 优化查询方式,直接返回[]*core.Tag, 目前保持先转换一下 + var ( + tags []*dbr.Tag + item *cs.TagItem + ) + if tags, err = (&dbr.Tag{}).List(s.db, conditions, offset, limit); err == nil { + if len(tags) == 0 { + return + } + tagMap := make(map[int64][]*cs.TagItem, len(tags)) + for _, tag := range tags { + item = &cs.TagItem{ + ID: tag.ID, + UserID: tag.UserID, + Tag: tag.Tag, + QuoteNum: tag.QuoteNum, + } + tagMap[item.UserID] = append(tagMap[item.UserID], item) + res = append(res, item) + } + ids := make([]int64, len(tagMap)) + for userId := range tagMap { + ids = append(ids, userId) + } + userInfos, err := (&dbr.User{}).ListUserInfoById(s.db, ids) + if err != nil { + return nil, err + } + for _, userInfo := range userInfos { + for _, item = range tagMap[userInfo.ID] { + item.User = userInfo + } + } + } + return +} + +func (s *topicSrv) TagsByKeyword(keyword string) (res cs.TagInfoList, err error) { + keyword = "%" + strings.Trim(keyword, " ") + "%" + tag := &dbr.Tag{} + var tags []*dbr.Tag + if keyword == "%%" { + tags, err = tag.List(s.db, &dbr.ConditionsT{ + "ORDER": "quote_num DESC", + }, 0, 6) + } else { + tags, err = tag.List(s.db, &dbr.ConditionsT{ + "tag LIKE ?": keyword, + "ORDER": "quote_num DESC", + }, 0, 6) + } + if err == nil { + for _, tag := range tags { + res = append(res, &cs.TagInfo{ + ID: tag.ID, + UserID: tag.UserID, + Tag: tag.Tag, + QuoteNum: tag.QuoteNum, + }) + } + } + return +} + +func (s *topicSrvA) UpsertTags(userId int64, tags []string) (_ cs.TagInfoList, err error) { db := s.db.Begin() defer func() { if err == nil { @@ -39,7 +152,7 @@ func (s *topicServant) UpsertTags(userId int64, tags []string) (_ cs.TagInfoList return createTags(db, userId, tags) } -func (s *topicServant) DecrTagsById(ids []int64) (err error) { +func (s *topicSrvA) DecrTagsById(ids []int64) (err error) { db := s.db.Begin() defer func() { if err == nil { @@ -51,7 +164,7 @@ func (s *topicServant) DecrTagsById(ids []int64) (err error) { return decrTagsByIds(db, ids) } -func (s *topicServant) ListTags(typ cs.TagType, offset, limit int) (res cs.TagList, err error) { +func (s *topicSrvA) ListTags(typ cs.TagType, offset, limit int) (res cs.TagList, err error) { conditions := &core.ConditionsT{} switch typ { case cs.TagTypeHot: @@ -102,7 +215,7 @@ func (s *topicServant) ListTags(typ cs.TagType, offset, limit int) (res cs.TagLi return } -func (s *topicServant) TagsByKeyword(keyword string) (res cs.TagInfoList, err error) { +func (s *topicSrvA) TagsByKeyword(keyword string) (res cs.TagInfoList, err error) { keyword = "%" + strings.Trim(keyword, " ") + "%" tag := &dbr.Tag{} var tags []*dbr.Tag diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index 55885760..8b9d939f 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -16,45 +16,62 @@ import ( ) var ( - _ core.TweetService = (*tweetServant)(nil) - _ core.TweetManageService = (*tweetManageServant)(nil) - _ core.TweetHelpService = (*tweetHelpServant)(nil) + _ 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 tweetServant struct { +type tweetSrv struct { db *gorm.DB } -type tweetManageServant struct { +type tweetManageSrv struct { cacheIndex core.CacheIndexService db *gorm.DB } -type tweetHelpServant struct { +type tweetHelpSrv struct { + db *gorm.DB +} + +type tweetSrvA struct { + db *gorm.DB +} + +type tweetManageSrvA struct { + cacheIndex core.CacheIndexService + db *gorm.DB +} + +type tweetHelpSrvA struct { db *gorm.DB } func newTweetService(db *gorm.DB) core.TweetService { - return &tweetServant{ + return &tweetSrv{ db: db, } } func newTweetManageService(db *gorm.DB, cacheIndex core.CacheIndexService) core.TweetManageService { - return &tweetManageServant{ + return &tweetManageSrv{ cacheIndex: cacheIndex, db: db, } } func newTweetHelpService(db *gorm.DB) core.TweetHelpService { - return &tweetHelpServant{ + return &tweetHelpSrv{ db: db, } } // MergePosts post数据整合 -func (s *tweetHelpServant) MergePosts(posts []*core.Post) ([]*core.PostFormated, error) { +func (s *tweetHelpSrv) MergePosts(posts []*core.Post) ([]*core.PostFormated, error) { postIds := make([]int64, 0, len(posts)) userIds := make([]int64, 0, len(posts)) for _, post := range posts { @@ -94,7 +111,7 @@ func (s *tweetHelpServant) MergePosts(posts []*core.Post) ([]*core.PostFormated, } // RevampPosts post数据整形修复 -func (s *tweetHelpServant) RevampPosts(posts []*core.PostFormated) ([]*core.PostFormated, error) { +func (s *tweetHelpSrv) RevampPosts(posts []*core.PostFormated) ([]*core.PostFormated, error) { postIds := make([]int64, 0, len(posts)) userIds := make([]int64, 0, len(posts)) for _, post := range posts { @@ -130,24 +147,14 @@ func (s *tweetHelpServant) RevampPosts(posts []*core.PostFormated) ([]*core.Post return posts, nil } -func (s *tweetHelpServant) RevampTweets(tweets cs.TweetList) (cs.TweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetHelpServant) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetHelpServant) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) { +func (s *tweetHelpSrv) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) { return (&dbr.PostContent{}).List(s.db, &dbr.ConditionsT{ "post_id IN ?": ids, "ORDER": "sort ASC", }, 0, 0) } -func (s *tweetHelpServant) getUsersByIDs(ids []int64) ([]*dbr.User, error) { +func (s *tweetHelpSrv) getUsersByIDs(ids []int64) ([]*dbr.User, error) { user := &dbr.User{} return user.List(s.db, &dbr.ConditionsT{ @@ -155,7 +162,7 @@ func (s *tweetHelpServant) getUsersByIDs(ids []int64) ([]*dbr.User, error) { }, 0, 0) } -func (s *tweetManageServant) CreatePostCollection(postID, userID int64) (*core.PostCollection, error) { +func (s *tweetManageSrv) CreatePostCollection(postID, userID int64) (*core.PostCollection, error) { collection := &dbr.PostCollection{ PostID: postID, UserID: userID, @@ -164,20 +171,20 @@ func (s *tweetManageServant) CreatePostCollection(postID, userID int64) (*core.P return collection.Create(s.db) } -func (s *tweetManageServant) DeletePostCollection(p *core.PostCollection) error { +func (s *tweetManageSrv) DeletePostCollection(p *core.PostCollection) error { return p.Delete(s.db) } -func (s *tweetManageServant) CreatePostContent(content *core.PostContent) (*core.PostContent, error) { +func (s *tweetManageSrv) CreatePostContent(content *core.PostContent) (*core.PostContent, error) { return content.Create(s.db) } -func (s *tweetManageServant) CreateAttachment(obj *cs.Attachment) (int64, error) { +func (s *tweetManageSrv) CreateAttachment(obj *cs.Attachment) (int64, error) { // TODO return 0, debug.ErrNotImplemented } -func (s *tweetManageServant) CreatePost(post *core.Post) (*core.Post, error) { +func (s *tweetManageSrv) CreatePost(post *core.Post) (*core.Post, error) { post.LatestRepliedOn = time.Now().Unix() p, err := post.Create(s.db) if err != nil { @@ -187,7 +194,7 @@ func (s *tweetManageServant) CreatePost(post *core.Post) (*core.Post, error) { return p, nil } -func (s *tweetManageServant) DeletePost(post *core.Post) ([]string, error) { +func (s *tweetManageSrv) DeletePost(post *core.Post) ([]string, error) { var mediaContents []string postId := post.ID @@ -234,7 +241,7 @@ func (s *tweetManageServant) DeletePost(post *core.Post) ([]string, error) { return mediaContents, nil } -func (s *tweetManageServant) deleteCommentByPostId(db *gorm.DB, postId int64) ([]string, error) { +func (s *tweetManageSrv) deleteCommentByPostId(db *gorm.DB, postId int64) ([]string, error) { comment := &dbr.Comment{} commentContent := &dbr.CommentContent{} @@ -268,12 +275,12 @@ func (s *tweetManageServant) deleteCommentByPostId(db *gorm.DB, postId int64) ([ return mediaContents, nil } -func (s *tweetManageServant) LockPost(post *core.Post) error { +func (s *tweetManageSrv) LockPost(post *core.Post) error { post.IsLock = 1 - post.IsLock return post.Update(s.db) } -func (s *tweetManageServant) StickPost(post *core.Post) error { +func (s *tweetManageSrv) StickPost(post *core.Post) error { post.IsTop = 1 - post.IsTop if err := post.Update(s.db); err != nil { return err @@ -282,7 +289,7 @@ func (s *tweetManageServant) StickPost(post *core.Post) error { return nil } -func (s *tweetManageServant) VisiblePost(post *core.Post, visibility core.PostVisibleT) error { +func (s *tweetManageSrv) VisiblePost(post *core.Post, visibility core.PostVisibleT) error { oldVisibility := post.Visibility post.Visibility = visibility // TODO: 这个判断是否可以不要呢 @@ -316,7 +323,7 @@ func (s *tweetManageServant) VisiblePost(post *core.Post, visibility core.PostVi return nil } -func (s *tweetManageServant) UpdatePost(post *core.Post) error { +func (s *tweetManageSrv) UpdatePost(post *core.Post) error { if err := post.Update(s.db); err != nil { return err } @@ -324,7 +331,7 @@ func (s *tweetManageServant) UpdatePost(post *core.Post) error { return nil } -func (s *tweetManageServant) CreatePostStar(postID, userID int64) (*core.PostStar, error) { +func (s *tweetManageSrv) CreatePostStar(postID, userID int64) (*core.PostStar, error) { star := &dbr.PostStar{ PostID: postID, UserID: userID, @@ -332,56 +339,11 @@ func (s *tweetManageServant) CreatePostStar(postID, userID int64) (*core.PostSta return star.Create(s.db) } -func (s *tweetManageServant) DeletePostStar(p *core.PostStar) error { +func (s *tweetManageSrv) DeletePostStar(p *core.PostStar) error { return p.Delete(s.db) } -func (s *tweetManageServant) CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetManageServant) DeleteTweet(userId int64, tweetId int64) ([]string, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetManageServant) LockTweet(userId int64, tweetId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) StickTweet(userId int64, tweetId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) VisibleTweet(userId int64, visibility cs.TweetVisibleType) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) CreateReaction(userId int64, tweetId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) DeleteReaction(userId int64, reactionId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) CreateFavorite(userId int64, tweetId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) DeleteFavorite(userId int64, favoriteId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetServant) GetPostByID(id int64) (*core.Post, error) { +func (s *tweetSrv) GetPostByID(id int64) (*core.Post, error) { post := &dbr.Post{ Model: &dbr.Model{ ID: id, @@ -390,15 +352,15 @@ func (s *tweetServant) GetPostByID(id int64) (*core.Post, error) { return post.Get(s.db) } -func (s *tweetServant) GetPosts(conditions *core.ConditionsT, offset, limit int) ([]*core.Post, error) { +func (s *tweetSrv) GetPosts(conditions *core.ConditionsT, offset, limit int) ([]*core.Post, error) { return (&dbr.Post{}).List(s.db, conditions, offset, limit) } -func (s *tweetServant) GetPostCount(conditions *core.ConditionsT) (int64, error) { +func (s *tweetSrv) GetPostCount(conditions *core.ConditionsT) (int64, error) { return (&dbr.Post{}).Count(s.db, conditions) } -func (s *tweetServant) GetUserPostStar(postID, userID int64) (*core.PostStar, error) { +func (s *tweetSrv) GetUserPostStar(postID, userID int64) (*core.PostStar, error) { star := &dbr.PostStar{ PostID: postID, UserID: userID, @@ -406,7 +368,7 @@ func (s *tweetServant) GetUserPostStar(postID, userID int64) (*core.PostStar, er return star.Get(s.db) } -func (s *tweetServant) GetUserPostStars(userID int64, offset, limit int) ([]*core.PostStar, error) { +func (s *tweetSrv) GetUserPostStars(userID int64, offset, limit int) ([]*core.PostStar, error) { star := &dbr.PostStar{ UserID: userID, } @@ -416,14 +378,14 @@ func (s *tweetServant) GetUserPostStars(userID int64, offset, limit int) ([]*cor }, offset, limit) } -func (s *tweetServant) GetUserPostStarCount(userID int64) (int64, error) { +func (s *tweetSrv) GetUserPostStarCount(userID int64) (int64, error) { star := &dbr.PostStar{ UserID: userID, } return star.Count(s.db, &dbr.ConditionsT{}) } -func (s *tweetServant) GetUserPostCollection(postID, userID int64) (*core.PostCollection, error) { +func (s *tweetSrv) GetUserPostCollection(postID, userID int64) (*core.PostCollection, error) { star := &dbr.PostCollection{ PostID: postID, UserID: userID, @@ -431,7 +393,7 @@ func (s *tweetServant) GetUserPostCollection(postID, userID int64) (*core.PostCo return star.Get(s.db) } -func (s *tweetServant) GetUserPostCollections(userID int64, offset, limit int) ([]*core.PostCollection, error) { +func (s *tweetSrv) GetUserPostCollections(userID int64, offset, limit int) ([]*core.PostCollection, error) { collection := &dbr.PostCollection{ UserID: userID, } @@ -441,14 +403,14 @@ func (s *tweetServant) GetUserPostCollections(userID int64, offset, limit int) ( }, offset, limit) } -func (s *tweetServant) GetUserPostCollectionCount(userID int64) (int64, error) { +func (s *tweetSrv) GetUserPostCollectionCount(userID int64) (int64, error) { collection := &dbr.PostCollection{ UserID: userID, } return collection.Count(s.db, &dbr.ConditionsT{}) } -func (s *tweetServant) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { +func (s *tweetSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { statement := &dbr.WalletStatement{ UserID: userID, } @@ -458,14 +420,14 @@ func (s *tweetServant) GetUserWalletBills(userID int64, offset, limit int) ([]*c }, offset, limit) } -func (s *tweetServant) GetUserWalletBillCount(userID int64) (int64, error) { +func (s *tweetSrv) GetUserWalletBillCount(userID int64) (int64, error) { statement := &dbr.WalletStatement{ UserID: userID, } return statement.Count(s.db, &dbr.ConditionsT{}) } -func (s *tweetServant) GetPostAttatchmentBill(postID, userID int64) (*core.PostAttachmentBill, error) { +func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (*core.PostAttachmentBill, error) { bill := &dbr.PostAttachmentBill{ PostID: postID, UserID: userID, @@ -474,14 +436,14 @@ func (s *tweetServant) GetPostAttatchmentBill(postID, userID int64) (*core.PostA return bill.Get(s.db) } -func (s *tweetServant) GetPostContentsByIDs(ids []int64) ([]*core.PostContent, error) { +func (s *tweetSrv) GetPostContentsByIDs(ids []int64) ([]*core.PostContent, error) { return (&dbr.PostContent{}).List(s.db, &dbr.ConditionsT{ "post_id IN ?": ids, "ORDER": "sort ASC", }, 0, 0) } -func (s *tweetServant) GetPostContentByID(id int64) (*core.PostContent, error) { +func (s *tweetSrv) GetPostContentByID(id int64) (*core.PostContent, error) { return (&dbr.PostContent{ Model: &dbr.Model{ ID: id, @@ -489,42 +451,102 @@ func (s *tweetServant) GetPostContentByID(id int64) (*core.PostContent, error) { }).Get(s.db) } -func (s *tweetServant) TweetInfoById(id int64) (*cs.TweetInfo, error) { +func (s *tweetSrvA) TweetInfoById(id int64) (*cs.TweetInfo, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetSrvA) TweetItemById(id int64) (*cs.TweetItem, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetSrvA) UserTweets(visitorId, userId int64) (cs.TweetList, error) { + // TODO + return nil, debug.ErrNotImplemented +} + +func (s *tweetSrvA) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) { // TODO return nil, debug.ErrNotImplemented } -func (s *tweetServant) TweetItemById(id int64) (*cs.TweetItem, error) { +func (s *tweetSrvA) UserReactions(userId int64, offset int, limit int) (cs.ReactionList, error) { // TODO return nil, debug.ErrNotImplemented } -func (s *tweetServant) UserTweets(visitorId, userId int64) (cs.TweetList, error) { +func (s *tweetSrvA) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) { // TODO return nil, debug.ErrNotImplemented } -func (s *tweetServant) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) { +func (s *tweetSrvA) UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) { // TODO return nil, debug.ErrNotImplemented } -func (s *tweetServant) UserReactions(userId int64, offset int, limit int) (cs.ReactionList, error) { +func (s *tweetSrvA) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) { // TODO return nil, debug.ErrNotImplemented } -func (s *tweetServant) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) { +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 *tweetServant) UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) { +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 *tweetServant) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) { +func (s *tweetHelpSrvA) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) { // TODO return nil, debug.ErrNotImplemented } diff --git a/internal/dao/jinzhu/user.go b/internal/dao/jinzhu/user.go index 3e1aaed6..b69338b7 100644 --- a/internal/dao/jinzhu/user.go +++ b/internal/dao/jinzhu/user.go @@ -13,20 +13,20 @@ import ( ) var ( - _ core.UserManageService = (*userManageServant)(nil) + _ core.UserManageService = (*userManageSrv)(nil) ) -type userManageServant struct { +type userManageSrv struct { db *gorm.DB } func newUserManageService(db *gorm.DB) core.UserManageService { - return &userManageServant{ + return &userManageSrv{ db: db, } } -func (s *userManageServant) GetUserByID(id int64) (*core.User, error) { +func (s *userManageSrv) GetUserByID(id int64) (*core.User, error) { user := &dbr.User{ Model: &dbr.Model{ ID: id, @@ -35,28 +35,28 @@ func (s *userManageServant) GetUserByID(id int64) (*core.User, error) { return user.Get(s.db) } -func (s *userManageServant) GetUserByUsername(username string) (*core.User, error) { +func (s *userManageSrv) GetUserByUsername(username string) (*core.User, error) { user := &dbr.User{ Username: username, } return user.Get(s.db) } -func (s *userManageServant) GetUserByPhone(phone string) (*core.User, error) { +func (s *userManageSrv) GetUserByPhone(phone string) (*core.User, error) { user := &dbr.User{ Phone: phone, } return user.Get(s.db) } -func (s *userManageServant) GetUsersByIDs(ids []int64) ([]*core.User, error) { +func (s *userManageSrv) GetUsersByIDs(ids []int64) ([]*core.User, error) { user := &dbr.User{} return user.List(s.db, &dbr.ConditionsT{ "id IN ?": ids, }, 0, 0) } -func (s *userManageServant) GetUsersByKeyword(keyword string) ([]*core.User, error) { +func (s *userManageSrv) GetUsersByKeyword(keyword string) ([]*core.User, error) { user := &dbr.User{} keyword = strings.Trim(keyword, " ") + "%" if keyword == "%" { @@ -70,10 +70,10 @@ func (s *userManageServant) GetUsersByKeyword(keyword string) ([]*core.User, err } } -func (s *userManageServant) CreateUser(user *dbr.User) (*core.User, error) { +func (s *userManageSrv) CreateUser(user *dbr.User) (*core.User, error) { return user.Create(s.db) } -func (s *userManageServant) UpdateUser(user *core.User) error { +func (s *userManageSrv) UpdateUser(user *core.User) error { return user.Update(s.db) } diff --git a/internal/dao/jinzhu/wallet.go b/internal/dao/jinzhu/wallet.go index e74710c6..6e3196e5 100644 --- a/internal/dao/jinzhu/wallet.go +++ b/internal/dao/jinzhu/wallet.go @@ -12,20 +12,20 @@ import ( ) var ( - _ core.WalletService = (*walletServant)(nil) + _ core.WalletService = (*walletSrv)(nil) ) -type walletServant struct { +type walletSrv struct { db *gorm.DB } func newWalletService(db *gorm.DB) core.WalletService { - return &walletServant{ + return &walletSrv{ db: db, } } -func (s *walletServant) GetRechargeByID(id int64) (*core.WalletRecharge, error) { +func (s *walletSrv) GetRechargeByID(id int64) (*core.WalletRecharge, error) { recharge := &dbr.WalletRecharge{ Model: &dbr.Model{ ID: id, @@ -34,7 +34,7 @@ func (s *walletServant) GetRechargeByID(id int64) (*core.WalletRecharge, error) return recharge.Get(s.db) } -func (s *walletServant) CreateRecharge(userId, amount int64) (*core.WalletRecharge, error) { +func (s *walletSrv) CreateRecharge(userId, amount int64) (*core.WalletRecharge, error) { recharge := &dbr.WalletRecharge{ UserID: userId, Amount: amount, @@ -43,7 +43,7 @@ func (s *walletServant) CreateRecharge(userId, amount int64) (*core.WalletRechar return recharge.Create(s.db) } -func (s *walletServant) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { +func (s *walletSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { statement := &dbr.WalletStatement{ UserID: userID, } @@ -53,14 +53,14 @@ func (s *walletServant) GetUserWalletBills(userID int64, offset, limit int) ([]* }, offset, limit) } -func (s *walletServant) GetUserWalletBillCount(userID int64) (int64, error) { +func (s *walletSrv) GetUserWalletBillCount(userID int64) (int64, error) { statement := &dbr.WalletStatement{ UserID: userID, } return statement.Count(s.db, &dbr.ConditionsT{}) } -func (s *walletServant) HandleRechargeSuccess(recharge *core.WalletRecharge, tradeNo string) error { +func (s *walletSrv) HandleRechargeSuccess(recharge *core.WalletRecharge, tradeNo string) error { user, _ := (&dbr.User{ Model: &dbr.Model{ ID: recharge.UserID, @@ -97,7 +97,7 @@ func (s *walletServant) HandleRechargeSuccess(recharge *core.WalletRecharge, tra }) } -func (s *walletServant) HandlePostAttachmentBought(post *core.Post, user *core.User) error { +func (s *walletSrv) HandlePostAttachmentBought(post *core.Post, user *core.User) error { return s.db.Transaction(func(tx *gorm.DB) error { // 扣除金额 if err := tx.Model(user).Update("balance", gorm.Expr("balance - ?", post.AttachmentPrice)).Error; err != nil { diff --git a/internal/dao/sakila/authority.go b/internal/dao/sakila/authority.go deleted file mode 100644 index 476e8a1b..00000000 --- a/internal/dao/sakila/authority.go +++ /dev/null @@ -1,59 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/pkg/debug" -) - -var ( - _ core.AuthorizationManageService = (*authorizationManageServant)(nil) -) - -type authorizationManageServant struct { - *sqlxServant - stmtIdx *sqlx.Stmt - stmtUpdateFriend *sqlx.Stmt -} - -func (s *authorizationManageServant) IsAllow(user *core.User, action *core.Action) bool { - // TODO - debug.NotImplemented() - return false -} - -func (s *authorizationManageServant) MyFriendSet(userId int64) core.FriendSet { - // TODO - debug.NotImplemented() - return nil -} - -func (s *authorizationManageServant) BeFriendFilter(userId int64) core.FriendFilter { - // TODO - debug.NotImplemented() - return nil -} - -func (s *authorizationManageServant) BeFriendIds(userId int64) ([]int64, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *authorizationManageServant) isFriend(userId int64, friendId int64) bool { - // TODO - debug.NotImplemented() - return false -} - -func newAuthorizationManageService(db *sqlx.DB) core.AuthorizationManageService { - return &authorizationManageServant{ - sqlxServant: newSqlxServant(db), - stmtIdx: c(`SELECT * FROM @person WHERE first_name=?`), - stmtUpdateFriend: c(`SELECT * FROM @person WHERE first_name=?`), - } -} diff --git a/internal/dao/sakila/comments.go b/internal/dao/sakila/comments.go deleted file mode 100644 index 09dd3f97..00000000 --- a/internal/dao/sakila/comments.go +++ /dev/null @@ -1,110 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/pkg/debug" -) - -var ( - _ core.CommentService = (*commentServant)(nil) - _ core.CommentManageService = (*commentManageServant)(nil) -) - -type commentServant struct { - *sqlxServant - stmtGetComments *sqlx.Stmt - stmtGetReply *sqlx.Stmt -} - -type commentManageServant struct { - *sqlxServant - stmtDelComments *sqlx.Stmt - stmtAddComents *sqlx.Stmt -} - -func (s *commentServant) GetComments(conditions *core.ConditionsT, offset, limit int) ([]*core.Comment, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *commentServant) GetCommentByID(id int64) (*core.Comment, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *commentServant) GetCommentReplyByID(id int64) (*core.CommentReply, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *commentServant) GetCommentCount(conditions *core.ConditionsT) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil -} - -func (s *commentServant) GetCommentContentsByIDs(ids []int64) ([]*core.CommentContent, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *commentServant) GetCommentRepliesByID(ids []int64) ([]*core.CommentReplyFormated, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *commentManageServant) DeleteComment(comment *core.Comment) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *commentManageServant) CreateComment(comment *core.Comment) (*core.Comment, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *commentManageServant) CreateCommentReply(reply *core.CommentReply) (*core.CommentReply, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *commentManageServant) DeleteCommentReply(reply *core.CommentReply) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *commentManageServant) CreateCommentContent(content *core.CommentContent) (*core.CommentContent, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func newCommentService(db *sqlx.DB) core.CommentService { - return &commentServant{ - sqlxServant: newSqlxServant(db), - stmtGetComments: c(`SELECT * FROM @person WHERE first_name=?`), - stmtGetReply: c(`SELECT * FROM @person WHERE first_name=?`), - } -} - -func newCommentManageService(db *sqlx.DB) core.CommentManageService { - return &commentManageServant{ - sqlxServant: newSqlxServant(db), - stmtAddComents: c(`SELECT * FROM @person WHERE first_name=?`), - stmtDelComments: c(`SELECT * FROM @person WHERE first_name=?`), - } -} diff --git a/internal/dao/sakila/contacts.go b/internal/dao/sakila/contacts.go deleted file mode 100644 index 4aa07339..00000000 --- a/internal/dao/sakila/contacts.go +++ /dev/null @@ -1,65 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/pkg/debug" -) - -var ( - _ core.ContactManageService = (*contactManageServant)(nil) -) - -type contactManageServant struct { - *sqlxServant - stmtAddFriend *sqlx.Stmt - stmtDelFriend *sqlx.Stmt -} - -func (s *contactManageServant) RequestingFriend(userId int64, friendId int64, greetings string) (err error) { - // TODO - debug.NotImplemented() - return nil -} - -func (s *contactManageServant) AddFriend(userId int64, friendId int64) (err error) { - // TODO - debug.NotImplemented() - return nil -} - -func (s *contactManageServant) RejectFriend(userId int64, friendId int64) (err error) { - // TODO - debug.NotImplemented() - return nil -} - -func (s *contactManageServant) DeleteFriend(userId int64, friendId int64) (err error) { - // TODO - debug.NotImplemented() - return nil -} - -func (s *contactManageServant) GetContacts(userId int64, offset int, limit int) (*core.ContactList, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *contactManageServant) IsFriend(userId int64, friendId int64) bool { - // TODO - debug.NotImplemented() - return false -} - -func newContactManageService(db *sqlx.DB) core.ContactManageService { - return &contactManageServant{ - sqlxServant: newSqlxServant(db), - stmtAddFriend: c(`SELECT * FROM @person WHERE first_name=?`), - stmtDelFriend: c(`SELECT * FROM @person WHERE first_name=?`), - } -} diff --git a/internal/dao/sakila/messages.go b/internal/dao/sakila/messages.go deleted file mode 100644 index 16ba8391..00000000 --- a/internal/dao/sakila/messages.go +++ /dev/null @@ -1,67 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/pkg/debug" -) - -var ( - _ core.MessageService = (*messageServant)(nil) -) - -type messageServant struct { - *sqlxServant - stmtAddMsg *sqlx.Stmt - stmtGetMsg *sqlx.Stmt - stmtReadMsg *sqlx.Stmt -} - -func (s *messageServant) CreateMessage(msg *core.Message) (*core.Message, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *messageServant) GetUnreadCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil -} - -func (s *messageServant) GetMessageByID(id int64) (*core.Message, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *messageServant) ReadMessage(message *core.Message) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *messageServant) GetMessages(conditions *core.ConditionsT, offset, limit int) ([]*core.MessageFormated, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *messageServant) GetMessageCount(conditions *core.ConditionsT) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil -} - -func newMessageService(db *sqlx.DB) core.MessageService { - return &messageServant{ - sqlxServant: newSqlxServant(db), - stmtAddMsg: c(`SELECT * FROM @person WHERE first_name=?`), - stmtGetMsg: c(`SELECT * FROM @person WHERE first_name=?`), - stmtReadMsg: c(`SELECT * FROM @person WHERE first_name=?`), - } -} diff --git a/internal/dao/sakila/sakila.go b/internal/dao/sakila/sakila.go index 7cb3d810..d82a0d23 100644 --- a/internal/dao/sakila/sakila.go +++ b/internal/dao/sakila/sakila.go @@ -1,114 +1,23 @@ -// Copyright 2023 ROC. All rights reserved. +// Copyright 2022 ROC. All rights reserved. // Use of this source code is governed by a MIT style // license that can be found in the LICENSE file. +// Core service implement base sqlx+mysql. All sub-service +// will declare here and provide initial function. + package sakila import ( - "sync" - - "github.com/Masterminds/semver/v3" - "github.com/alimy/cfg" "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/internal/dao/cache" - "github.com/rocboss/paopao-ce/internal/dao/security" "github.com/sirupsen/logrus" ) -var ( - _ core.DataService = (*dataServant)(nil) - _ core.VersionInfo = (*dataServant)(nil) - - _onceInitial sync.Once -) - -type dataServant struct { - core.IndexPostsService - core.WalletService - core.MessageService - core.TopicService - core.TweetService - core.TweetManageService - core.TweetHelpService - core.CommentService - core.CommentManageService - core.UserManageService - core.ContactManageService - core.SecurityService - core.AttachmentCheckService -} - func NewDataService() (core.DataService, core.VersionInfo) { - lazyInitial() - - 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 - if cfg.If("SimpleCacheIndex") { - // simpleCache use special post index service - ips = newSimpleIndexPostsService(_db, ths) - cis, v = cache.NewSimpleCacheIndexService(ips) - } else if cfg.If("BigCacheIndex") { - // TODO: make cache index post in different scence like friendship/followship/lightship - cis, v = cache.NewBigCacheIndexService(ips, ams) - } else { - cis, v = cache.NewNoneCacheIndexService(ips) - } - logrus.Infof("use %s as cache index service by version: %s", v.Name(), v.Version()) - - ds := &dataServant{ - IndexPostsService: cis, - WalletService: newWalletService(_db), - MessageService: newMessageService(_db), - TopicService: newTopicService(_db), - TweetService: newTweetService(_db), - TweetManageService: newTweetManageService(_db, cis), - TweetHelpService: newTweetHelpService(_db), - CommentService: newCommentService(_db), - CommentManageService: newCommentManageService(_db), - UserManageService: newUserManageService(_db), - ContactManageService: newContactManageService(_db), - SecurityService: newSecurityService(_db, pvs), - AttachmentCheckService: security.NewAttachmentCheckService(), - } - return ds, ds + logrus.Fatal("not support now") + return nil, nil } func NewAuthorizationManageService() core.AuthorizationManageService { - lazyInitial() - return newAuthorizationManageService(_db) -} - -func (s *dataServant) Name() string { - return "Sqlx" -} - -func (s *dataServant) Version() *semver.Version { - return semver.MustParse("v0.1.0") -} - -// lazyInitial do some package lazy initialize for performance -func lazyInitial() { - _onceInitial.Do(func() { - initSqlxDB() - }) + logrus.Fatal("not support now") + return nil } diff --git a/internal/dao/sakila/security.go b/internal/dao/sakila/security.go deleted file mode 100644 index 2804f97f..00000000 --- a/internal/dao/sakila/security.go +++ /dev/null @@ -1,52 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/pkg/debug" -) - -var ( - _ core.SecurityService = (*securityServant)(nil) -) - -type securityServant struct { - *sqlxServant - phoneVerify core.PhoneVerifyService - stmtAddCaptcha *sqlx.Stmt - stmtGetCaptcha *sqlx.Stmt -} - -// GetLatestPhoneCaptcha 获取最新短信验证码 -func (s *securityServant) GetLatestPhoneCaptcha(phone string) (*core.Captcha, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -// UsePhoneCaptcha 更新短信验证码 -func (s *securityServant) UsePhoneCaptcha(captcha *core.Captcha) error { - // TODO - debug.NotImplemented() - return nil -} - -// SendPhoneCaptcha 发送短信验证码 -func (s *securityServant) SendPhoneCaptcha(phone string) error { - // TODO - debug.NotImplemented() - return nil -} - -func newSecurityService(db *sqlx.DB, phoneVerify core.PhoneVerifyService) core.SecurityService { - return &securityServant{ - sqlxServant: newSqlxServant(db), - phoneVerify: phoneVerify, - stmtAddCaptcha: c(`SELECT * FROM @person WHERE first_name=?`), - stmtGetCaptcha: c(`SELECT * FROM @person WHERE first_name=?`), - } -} diff --git a/internal/dao/sakila/sqlx.go b/internal/dao/sakila/sqlx.go deleted file mode 100644 index cfec069d..00000000 --- a/internal/dao/sakila/sqlx.go +++ /dev/null @@ -1,114 +0,0 @@ -// 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 - -import ( - "context" - "database/sql" - "strings" - - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/conf" - "github.com/sirupsen/logrus" -) - -var ( - _db *sqlx.DB -) - -type sqlxServant struct { - db *sqlx.DB -} - -func (s *sqlxServant) with(handle func(tx *sqlx.Tx) error) error { - tx, err := s.db.Beginx() - if err != nil { - return err - } - defer tx.Rollback() - if err = handle(tx); err != nil { - return err - } - return tx.Commit() -} - -func (s *sqlxServant) withTx(ctx context.Context, opts *sql.TxOptions, handle func(*sqlx.Tx) error) error { - tx, err := s.db.BeginTxx(ctx, opts) - if err != nil { - return err - } - defer tx.Rollback() - if err = handle(tx); err != nil { - return err - } - return tx.Commit() -} - -func (s *sqlxServant) in(query string, args ...any) (string, []any, error) { - q, params, err := sqlx.In(query, args...) - if err != nil { - return "", nil, err - } - return s.db.Rebind(q), params, nil -} - -func (s *sqlxServant) inExec(execer sqlx.Execer, query string, args ...any) (sql.Result, error) { - q, params, err := sqlx.In(query, args...) - if err != nil { - return nil, err - } - return execer.Exec(s.db.Rebind(q), params...) -} - -func (s *sqlxServant) inSelect(queryer sqlx.Queryer, dest any, query string, args ...any) error { - q, params, err := sqlx.In(query, args...) - if err != nil { - return err - } - return sqlx.Select(queryer, dest, s.db.Rebind(q), params...) -} - -func (s *sqlxServant) inGet(queryer sqlx.Queryer, dest any, query string, args ...any) error { - q, params, err := sqlx.In(query, args...) - if err != nil { - return err - } - return sqlx.Get(queryer, dest, s.db.Rebind(q), params...) -} - -func newSqlxServant(db *sqlx.DB) *sqlxServant { - return &sqlxServant{ - db: db, - } -} - -func r(query string) string { - return _db.Rebind(t(query)) -} - -func c(query string) *sqlx.Stmt { - stmt, err := _db.Preparex(_db.Rebind(t(query))) - if err != nil { - logrus.Fatalf("prepare query(%s) error: %s", query, err) - } - return stmt -} - -func n(query string) *sqlx.NamedStmt { - stmt, err := _db.PrepareNamed(t(query)) - if err != nil { - logrus.Fatalf("prepare named query(%s) error: %s", query, err) - } - return stmt -} - -// t repace table prefix for query -func t(query string) string { - return strings.Replace(query, "@", conf.DatabaseSetting.TablePrefix, -1) -} - -func initSqlxDB() { - _db = conf.MustSqlxDB() -} diff --git a/internal/dao/sakila/timeline.go b/internal/dao/sakila/timeline.go deleted file mode 100644 index bd6b5b71..00000000 --- a/internal/dao/sakila/timeline.go +++ /dev/null @@ -1,120 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/internal/core/cs" - "github.com/rocboss/paopao-ce/pkg/debug" -) - -var ( - _ core.IndexPostsService = (*friendIndexServant)(nil) - _ core.IndexPostsService = (*followIndexServant)(nil) - _ core.IndexPostsService = (*lightIndexServant)(nil) - _ core.IndexPostsService = (*simpleIndexPostsServant)(nil) -) - -type friendIndexServant struct { - *sqlxServant - ams core.AuthorizationManageService - ths core.TweetHelpService - stmtIndex *sqlx.Stmt -} - -type followIndexServant struct { - *sqlxServant - ths core.TweetHelpService - stmtIndex *sqlx.Stmt -} - -type lightIndexServant struct { - *sqlxServant - ths core.TweetHelpService - stmtIndex *sqlx.Stmt -} - -type simpleIndexPostsServant struct { - *sqlxServant - ths core.TweetHelpService - stmtIndex *sqlx.Stmt -} - -// IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; -func (s *friendIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *friendIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -// IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; -func (s *followIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *followIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -// IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; -func (s *lightIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *lightIndexServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -// simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数 -func (s *simpleIndexPostsServant) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *simpleIndexPostsServant) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func newFriendIndexService(db *sqlx.DB, ams core.AuthorizationManageService, ths core.TweetHelpService) core.IndexPostsService { - return &friendIndexServant{ - ams: ams, - sqlxServant: newSqlxServant(db), - stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), - } -} - -func newFollowIndexService(db *sqlx.DB, ths core.TweetHelpService) core.IndexPostsService { - return &followIndexServant{ - ths: ths, - sqlxServant: newSqlxServant(db), - stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), - } -} - -func newLightIndexService(db *sqlx.DB, ths core.TweetHelpService) core.IndexPostsService { - return &lightIndexServant{ - ths: ths, - sqlxServant: newSqlxServant(db), - stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), - } -} - -func newSimpleIndexPostsService(db *sqlx.DB, ths core.TweetHelpService) core.IndexPostsService { - return &simpleIndexPostsServant{ - ths: ths, - sqlxServant: newSqlxServant(db), - stmtIndex: c(`SELECT * FROM @person WHERE first_name=?`), - } -} diff --git a/internal/dao/sakila/topics.go b/internal/dao/sakila/topics.go deleted file mode 100644 index 02eb1ed3..00000000 --- a/internal/dao/sakila/topics.go +++ /dev/null @@ -1,137 +0,0 @@ -// 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 - -import ( - "strings" - "time" - - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/internal/core/cs" -) - -var ( - _ core.TopicService = (*topicServant)(nil) -) - -type topicServant struct { - *sqlxServant - stmtNewestTags *sqlx.Stmt - stmtHotTags *sqlx.Stmt - stmtTagsByKeywordA *sqlx.Stmt - stmtTagsByKeywordB *sqlx.Stmt - stmtInsertTag *sqlx.Stmt - sqlTagsByIdA string - sqlTagsByIdB string - sqlDecrTagsById string - sqlTagsForIncr string - sqlIncrTagsById string -} - -func (s *topicServant) UpsertTags(userId int64, tags []string) (res cs.TagInfoList, xerr error) { - if len(tags) == 0 { - return nil, nil - } - xerr = s.with(func(tx *sqlx.Tx) error { - var upTags cs.TagInfoList - if err := s.inSelect(tx, &upTags, s.sqlTagsForIncr, tags); err != nil { - return err - } - now := time.Now().Unix() - if len(upTags) > 0 { - var ids []int64 - for _, t := range upTags { - ids = append(ids, t.ID) - t.QuoteNum++ - // prepare remain tags just delete updated tag - // notice ensure tags slice is distinct elements - for i, name := range tags { - if name == t.Tag { - lastIdx := len(tags) - 1 - tags[i] = tags[lastIdx] - tags = tags[:lastIdx] - break - } - } - } - if _, err := s.inExec(tx, s.sqlIncrTagsById, now, ids); err != nil { - return err - } - res = append(res, upTags...) - } - // process remain tags if tags is not empty - if len(tags) == 0 { - return nil - } - var ids []int64 - for _, tag := range tags { - res, err := s.stmtInsertTag.Exec(userId, tag, now, now) - if err != nil { - return err - } - id, err := res.LastInsertId() - if err != nil { - return err - } - ids = append(ids, id) - } - var newTags cs.TagInfoList - if err := s.inSelect(tx, &newTags, s.sqlTagsByIdB, ids); err != nil { - return err - } - res = append(res, newTags...) - return nil - }) - return -} - -func (s *topicServant) DecrTagsById(ids []int64) error { - return s.with(func(tx *sqlx.Tx) error { - var ids []int64 - err := s.inSelect(tx, &ids, s.sqlTagsByIdA, ids) - if err != nil { - return err - } - _, err = s.inExec(tx, s.sqlDecrTagsById, time.Now().Unix(), ids) - return err - }) -} - -func (s *topicServant) ListTags(typ cs.TagType, limit int, offset int) (res cs.TagList, err error) { - switch typ { - case cs.TagTypeHot: - err = s.stmtHotTags.Select(&res, limit, offset) - case cs.TagTypeNew: - err = s.stmtNewestTags.Select(&res, limit, offset) - } - return -} - -func (s *topicServant) TagsByKeyword(keyword string) (res cs.TagInfoList, err error) { - keyword = "%" + strings.Trim(keyword, " ") + "%" - if keyword == "%%" { - err = s.stmtTagsByKeywordA.Select(&res) - } else { - err = s.stmtTagsByKeywordB.Select(&res) - } - return -} - -func newTopicService(db *sqlx.DB) core.TopicService { - return &topicServant{ - sqlxServant: newSqlxServant(db), - stmtNewestTags: c(`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 ?`), - stmtHotTags: c(`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 ?`), - stmtTagsByKeywordA: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6`), - stmtTagsByKeywordB: c(`SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6`), - stmtInsertTag: c(`INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`), - sqlTagsByIdA: t(`SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`), - sqlTagsByIdB: t(`SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`), - sqlDecrTagsById: t(`UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`), - sqlTagsForIncr: t(`SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`), - sqlIncrTagsById: t(`UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`), - } -} diff --git a/internal/dao/sakila/tweets.go b/internal/dao/sakila/tweets.go deleted file mode 100644 index 8f3dbe61..00000000 --- a/internal/dao/sakila/tweets.go +++ /dev/null @@ -1,352 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/internal/core/cs" - "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" - "github.com/rocboss/paopao-ce/pkg/debug" - "gorm.io/gorm" -) - -var ( - _ core.TweetService = (*tweetServant)(nil) - _ core.TweetManageService = (*tweetManageServant)(nil) - _ core.TweetHelpService = (*tweetHelpServant)(nil) -) - -type tweetServant struct { - *sqlxServant - stmtGetTweet *sqlx.Stmt - stmtListTweet *sqlx.Stmt - stmtListStar *sqlx.Stmt -} - -type tweetManageServant struct { - *sqlxServant - cacheIndex core.CacheIndexService - stmtAddTweet *sqlx.Stmt - stmtDelTweet *sqlx.Stmt - stmtStickTweet *sqlx.Stmt -} - -type tweetHelpServant struct { - *sqlxServant - stmtAddTag *sqlx.Stmt - stmtDelTag *sqlx.Stmt - stmtListTag *sqlx.Stmt -} - -// MergePosts post数据整合 -func (s *tweetHelpServant) MergePosts(posts []*core.Post) ([]*core.PostFormated, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -// RevampPosts post数据整形修复 -func (s *tweetHelpServant) RevampPosts(posts []*core.PostFormated) ([]*core.PostFormated, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetHelpServant) RevampTweets(tweets cs.TweetList) (cs.TweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetHelpServant) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetHelpServant) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetHelpServant) getUsersByIDs(ids []int64) ([]*dbr.User, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetManageServant) CreatePostCollection(postID, userID int64) (*core.PostCollection, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetManageServant) DeletePostCollection(p *core.PostCollection) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *tweetManageServant) CreatePostContent(content *core.PostContent) (*core.PostContent, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetManageServant) CreateAttachment(obj *cs.Attachment) (int64, error) { - // TODO - return 0, debug.ErrNotImplemented -} - -func (s *tweetManageServant) CreatePost(post *core.Post) (*core.Post, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetManageServant) DeletePost(post *core.Post) ([]string, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetManageServant) deleteCommentByPostId(db *gorm.DB, postId int64) ([]string, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetManageServant) LockPost(post *core.Post) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *tweetManageServant) StickPost(post *core.Post) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *tweetManageServant) VisiblePost(post *core.Post, visibility core.PostVisibleT) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *tweetManageServant) UpdatePost(post *core.Post) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *tweetManageServant) CreatePostStar(postID, userID int64) (*core.PostStar, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetManageServant) DeletePostStar(p *core.PostStar) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *tweetManageServant) CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetManageServant) DeleteTweet(userId int64, tweetId int64) ([]string, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetManageServant) LockTweet(userId int64, tweetId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) StickTweet(userId int64, tweetId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) VisibleTweet(userId int64, visibility cs.TweetVisibleType) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) CreateReaction(userId int64, tweetId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) DeleteReaction(userId int64, reactionId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) CreateFavorite(userId int64, tweetId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetManageServant) DeleteFavorite(userId int64, favoriteId int64) error { - // TODO - return debug.ErrNotImplemented -} - -func (s *tweetServant) GetPostByID(id int64) (*core.Post, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetPosts(conditions *core.ConditionsT, offset, limit int) ([]*core.Post, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetPostCount(conditions *core.ConditionsT) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil -} - -func (s *tweetServant) GetUserPostStar(postID, userID int64) (*core.PostStar, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetUserPostStars(userID int64, offset, limit int) ([]*core.PostStar, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetUserPostStarCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil -} - -func (s *tweetServant) GetUserPostCollection(postID, userID int64) (*core.PostCollection, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetUserPostCollections(userID int64, offset, limit int) ([]*core.PostCollection, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetUserPostCollectionCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil -} - -func (s *tweetServant) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetUserWalletBillCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil -} - -func (s *tweetServant) GetPostAttatchmentBill(postID, userID int64) (*core.PostAttachmentBill, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetPostContentsByIDs(ids []int64) ([]*core.PostContent, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) GetPostContentByID(id int64) (*core.PostContent, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *tweetServant) TweetInfoById(id int64) (*cs.TweetInfo, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetServant) TweetItemById(id int64) (*cs.TweetItem, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetServant) UserTweets(visitorId, userId int64) (cs.TweetList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetServant) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetServant) UserReactions(userId int64, offset int, limit int) (cs.ReactionList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetServant) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetServant) UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func (s *tweetServant) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) { - // TODO - return nil, debug.ErrNotImplemented -} - -func newTweetService(db *sqlx.DB) core.TweetService { - return &tweetServant{ - sqlxServant: newSqlxServant(db), - stmtGetTweet: c(`SELECT * FROM @person WHERE first_name=?`), - stmtListTweet: c(`SELECT * FROM @person WHERE first_name=?`), - stmtListStar: c(`SELECT * FROM @person WHERE first_name=?`), - } -} - -func newTweetManageService(db *sqlx.DB, cacheIndex core.CacheIndexService) core.TweetManageService { - return &tweetManageServant{ - sqlxServant: newSqlxServant(db), - cacheIndex: cacheIndex, - stmtAddTweet: c(`SELECT * FROM @person WHERE first_name=?`), - stmtDelTweet: c(`SELECT * FROM @person WHERE first_name=?`), - stmtStickTweet: c(`SELECT * FROM @person WHERE first_name=?`), - } -} - -func newTweetHelpService(db *sqlx.DB) core.TweetHelpService { - return &tweetHelpServant{ - sqlxServant: newSqlxServant(db), - stmtAddTag: c(`SELECT * FROM @person WHERE first_name=?`), - stmtDelTag: c(`SELECT * FROM @person WHERE first_name=?`), - stmtListTag: c(`SELECT * FROM @person WHERE first_name=?`), - } -} diff --git a/internal/dao/sakila/user.go b/internal/dao/sakila/user.go deleted file mode 100644 index 8fd78eb9..00000000 --- a/internal/dao/sakila/user.go +++ /dev/null @@ -1,73 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/pkg/debug" -) - -var ( - _ core.UserManageService = (*userManageServant)(nil) -) - -type userManageServant struct { - *sqlxServant - stmtAddUser *sqlx.Stmt - stmtUpdateUser *sqlx.Stmt - stmtGetUser *sqlx.Stmt -} - -func (s *userManageServant) GetUserByID(id int64) (*core.User, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *userManageServant) GetUserByUsername(username string) (*core.User, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *userManageServant) GetUserByPhone(phone string) (*core.User, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *userManageServant) GetUsersByIDs(ids []int64) ([]*core.User, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *userManageServant) GetUsersByKeyword(keyword string) ([]*core.User, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *userManageServant) CreateUser(user *core.User) (*core.User, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *userManageServant) UpdateUser(user *core.User) error { - // TODO - debug.NotImplemented() - return nil -} - -func newUserManageService(db *sqlx.DB) core.UserManageService { - return &userManageServant{ - sqlxServant: newSqlxServant(db), - stmtAddUser: c(`SELECT * FROM @person WHERE first_name=?`), - stmtUpdateUser: c(`SELECT * FROM @person WHERE first_name=?`), - stmtGetUser: c(`SELECT * FROM @person WHERE first_name=?`), - } -} diff --git a/internal/dao/sakila/wallet.go b/internal/dao/sakila/wallet.go deleted file mode 100644 index 71782007..00000000 --- a/internal/dao/sakila/wallet.go +++ /dev/null @@ -1,66 +0,0 @@ -// 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 - -import ( - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/pkg/debug" -) - -var ( - _ core.WalletService = (*walletServant)(nil) -) - -type walletServant struct { - *sqlxServant - stmtAddRecharge *sqlx.Stmt - stmtGetRecharge *sqlx.Stmt - stmtGetBills *sqlx.Stmt -} - -func (s *walletServant) GetRechargeByID(id int64) (*core.WalletRecharge, error) { - // TODO - debug.NotImplemented() - return nil, nil -} -func (s *walletServant) CreateRecharge(userId, amount int64) (*core.WalletRecharge, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *walletServant) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { - // TODO - debug.NotImplemented() - return nil, nil -} - -func (s *walletServant) GetUserWalletBillCount(userID int64) (int64, error) { - // TODO - debug.NotImplemented() - return 0, nil -} - -func (s *walletServant) HandleRechargeSuccess(recharge *core.WalletRecharge, tradeNo string) error { - // TODO - debug.NotImplemented() - return nil -} - -func (s *walletServant) HandlePostAttachmentBought(post *core.Post, user *core.User) error { - // TODO - debug.NotImplemented() - return nil -} - -func newWalletService(db *sqlx.DB) core.WalletService { - return &walletServant{ - sqlxServant: newSqlxServant(db), - stmtAddRecharge: c(`SELECT * FROM @person WHERE first_name=?`), - stmtGetRecharge: c(`SELECT * FROM @person WHERE first_name=?`), - stmtGetBills: c(`SELECT * FROM @person WHERE first_name=?`), - } -} From 57f6a432522121b82f37b502fe24a9f0d044ebae Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 20 Mar 2023 02:57:11 +0800 Subject: [PATCH 31/65] optimize dao initial logic --- internal/dao/dao.go | 145 +++++++++++++++++++-------------- internal/dao/jinzhu/jinzhu.go | 44 ++++++++-- internal/dao/jinzhu/tweets.go | 21 ++++- internal/dao/sakila/sakila.go | 5 ++ internal/dao/slonik/slonik.go | 5 ++ internal/servants/base/base.go | 12 +++ internal/servants/web/web.go | 6 +- 7 files changed, 166 insertions(+), 72 deletions(-) diff --git a/internal/dao/dao.go b/internal/dao/dao.go index 2a70016f..8238cdc6 100644 --- a/internal/dao/dao.go +++ b/internal/dao/dao.go @@ -20,85 +20,112 @@ import ( var ( ts core.TweetSearchService ds core.DataService + dsa core.DataServantA oss core.ObjectStorageService - onceTs, onceDs, onceOss sync.Once + _onceInitial sync.Once ) func DataService() core.DataService { - onceDs.Do(func() { - var v core.VersionInfo - if cfg.If("Gorm") { - ds, v = jinzhu.NewDataService() - } else if cfg.If("Sqlx") { - ds, v = sakila.NewDataService() - } else if cfg.If("Sqlc") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { - ds, v = slonik.NewDataService() - } else { - // default use gorm as orm for sql database - ds, v = jinzhu.NewDataService() - } - logrus.Infof("use %s as data service with version %s", v.Name(), v.Version()) - }) + lazyInitial() return ds } +func DataServantA() core.DataServantA { + lazyInitial() + return dsa +} + func ObjectStorageService() core.ObjectStorageService { - onceOss.Do(func() { - var v core.VersionInfo - if cfg.If("AliOSS") { - oss, v = storage.MustAliossService() - } else if cfg.If("COS") { - oss, v = storage.NewCosService() - } else if cfg.If("HuaweiOBS") { - oss, v = storage.MustHuaweiobsService() - } else if cfg.If("MinIO") { - oss, v = storage.MustMinioService() - } else if cfg.If("S3") { - oss, v = storage.MustS3Service() - logrus.Infof("use S3 as object storage by version %s", v.Version()) - return - } else if cfg.If("LocalOSS") { - oss, v = storage.MustLocalossService() - } else { - // default use AliOSS as object storage service - oss, v = storage.MustAliossService() - logrus.Infof("use default AliOSS as object storage by version %s", v.Version()) - return - } - logrus.Infof("use %s as object storage by version %s", v.Name(), v.Version()) - }) + lazyInitial() return oss } func TweetSearchService() core.TweetSearchService { - onceTs.Do(func() { - var v core.VersionInfo - ams := newAuthorizationManageService() - if cfg.If("Zinc") { - ts, v = search.NewZincTweetSearchService(ams) - } else if cfg.If("Meili") { - ts, v = search.NewMeiliTweetSearchService(ams) - } else { - // default use Zinc as tweet search service - ts, v = search.NewZincTweetSearchService(ams) - } - logrus.Infof("use %s as tweet search serice by version %s", v.Name(), v.Version()) - - ts = search.NewBridgeTweetSearchService(ts) - }) + lazyInitial() return ts } -func newAuthorizationManageService() (s core.AuthorizationManageService) { +func newAuthorizationManageService() (ams core.AuthorizationManageService) { if cfg.If("Gorm") { - s = jinzhu.NewAuthorizationManageService() + ams = jinzhu.NewAuthorizationManageService() } else if cfg.If("Sqlx") { - s = sakila.NewAuthorizationManageService() + ams = sakila.NewAuthorizationManageService() } else if cfg.If("Sqlc") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { - s = slonik.NewAuthorizationManageService() + ams = slonik.NewAuthorizationManageService() } else { - s = jinzhu.NewAuthorizationManageService() + ams = jinzhu.NewAuthorizationManageService() } return } + +// lazyInitial do some package lazy initialize for performance +func lazyInitial() { + _onceInitial.Do(func() { + initDsX() + initOSS() + initTsX() + }) +} + +func initDsX() { + var dsVer, dsaVer core.VersionInfo + if cfg.If("Gorm") { + ds, dsVer = jinzhu.NewDataService() + dsa, dsaVer = jinzhu.NewDataServantA() + } else if cfg.If("Sqlx") { + ds, dsVer = sakila.NewDataService() + dsa, dsaVer = sakila.NewDataServantA() + } else if cfg.If("Sqlc") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { + ds, dsVer = slonik.NewDataService() + dsa, dsaVer = slonik.NewDataServantA() + } else { + // default use gorm as orm for sql database + ds, dsVer = jinzhu.NewDataService() + dsa, dsaVer = jinzhu.NewDataServantA() + } + logrus.Infof("use %s as core.DataService with version %s", dsVer.Name(), dsVer.Version()) + logrus.Infof("use %s as core.ServantA with version %s", dsaVer.Name(), dsaVer.Version()) +} + +func initOSS() { + var v core.VersionInfo + if cfg.If("AliOSS") { + oss, v = storage.MustAliossService() + } else if cfg.If("COS") { + oss, v = storage.NewCosService() + } else if cfg.If("HuaweiOBS") { + oss, v = storage.MustHuaweiobsService() + } else if cfg.If("MinIO") { + oss, v = storage.MustMinioService() + } else if cfg.If("S3") { + oss, v = storage.MustS3Service() + logrus.Infof("use S3 as object storage by version %s", v.Version()) + return + } else if cfg.If("LocalOSS") { + oss, v = storage.MustLocalossService() + } else { + // default use AliOSS as object storage service + oss, v = storage.MustAliossService() + logrus.Infof("use default AliOSS as object storage by version %s", v.Version()) + return + } + logrus.Infof("use %s as object storage by version %s", v.Name(), v.Version()) +} + +func initTsX() { + var v core.VersionInfo + ams := newAuthorizationManageService() + cfg.On(cfg.Actions{ + "Zinc": func() { + ts, v = search.NewZincTweetSearchService(ams) + }, + "Meili": func() { + ts, v = search.NewMeiliTweetSearchService(ams) + }, + }, func() { + ts, v = search.NewZincTweetSearchService(ams) + }) + logrus.Infof("use %s as tweet search serice by version %s", v.Name(), v.Version()) + ts = search.NewBridgeTweetSearchService(ts) +} diff --git a/internal/dao/jinzhu/jinzhu.go b/internal/dao/jinzhu/jinzhu.go index 51fc28db..d2267046 100644 --- a/internal/dao/jinzhu/jinzhu.go +++ b/internal/dao/jinzhu/jinzhu.go @@ -21,13 +21,16 @@ import ( ) var ( - _ core.DataService = (*dataServant)(nil) - _ core.VersionInfo = (*dataServant)(nil) + _ core.DataService = (*dataSrv)(nil) + _ core.VersionInfo = (*dataSrv)(nil) + + _ core.DataServantA = (*dataSrvA)(nil) + _ core.VersionInfo = (*dataSrvA)(nil) _onceInitial sync.Once ) -type dataServant struct { +type dataSrv struct { core.IndexPostsService core.WalletService core.MessageService @@ -43,6 +46,13 @@ type dataServant struct { core.AttachmentCheckService } +type dataSrvA struct { + core.TopicServantA + core.TweetServantA + core.TweetManageServantA + core.TweetHelpServantA +} + func NewDataService() (core.DataService, core.VersionInfo) { lazyInitial() @@ -81,7 +91,7 @@ func NewDataService() (core.DataService, core.VersionInfo) { } logrus.Infof("use %s as cache index service by version: %s", v.Name(), v.Version()) - ds := &dataServant{ + ds := &dataSrv{ IndexPostsService: cis, WalletService: newWalletService(db), MessageService: newMessageService(db), @@ -99,18 +109,40 @@ func NewDataService() (core.DataService, core.VersionInfo) { return ds, ds } +func NewDataServantA() (core.DataServantA, core.VersionInfo) { + lazyInitial() + + db := conf.MustGormDB() + + ds := &dataSrvA{ + TopicServantA: newTopicServantA(db), + TweetServantA: newTweetServantA(db), + TweetManageServantA: newTweetManageServantA(db), + TweetHelpServantA: newTweetHelpServantA(db), + } + return ds, ds +} + func NewAuthorizationManageService() core.AuthorizationManageService { return newAuthorizationManageService(conf.MustGormDB()) } -func (s *dataServant) Name() string { +func (s *dataSrv) Name() string { return "Gorm" } -func (s *dataServant) Version() *semver.Version { +func (s *dataSrv) Version() *semver.Version { return semver.MustParse("v0.2.0") } +func (s *dataSrvA) Name() string { + return "Gorm" +} + +func (s *dataSrvA) Version() *semver.Version { + return semver.MustParse("v0.1.0") +} + // lazyInitial do some package lazy initialize for performance func lazyInitial() { _onceInitial.Do(func() { diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index 8b9d939f..f716ca9b 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -43,8 +43,7 @@ type tweetSrvA struct { } type tweetManageSrvA struct { - cacheIndex core.CacheIndexService - db *gorm.DB + db *gorm.DB } type tweetHelpSrvA struct { @@ -70,6 +69,24 @@ func newTweetHelpService(db *gorm.DB) core.TweetHelpService { } } +func newTweetServantA(db *gorm.DB) core.TweetServantA { + return &tweetSrvA{ + db: db, + } +} + +func newTweetManageServantA(db *gorm.DB) core.TweetManageServantA { + return &tweetManageSrvA{ + db: db, + } +} + +func newTweetHelpServantA(db *gorm.DB) core.TweetHelpServantA { + return &tweetHelpSrvA{ + db: db, + } +} + // MergePosts post数据整合 func (s *tweetHelpSrv) MergePosts(posts []*core.Post) ([]*core.PostFormated, error) { postIds := make([]int64, 0, len(posts)) diff --git a/internal/dao/sakila/sakila.go b/internal/dao/sakila/sakila.go index d82a0d23..6ca43bcf 100644 --- a/internal/dao/sakila/sakila.go +++ b/internal/dao/sakila/sakila.go @@ -17,6 +17,11 @@ func NewDataService() (core.DataService, core.VersionInfo) { return nil, nil } +func NewDataServantA() (core.DataServantA, core.VersionInfo) { + logrus.Fatal("not support now") + return nil, nil +} + func NewAuthorizationManageService() core.AuthorizationManageService { logrus.Fatal("not support now") return nil diff --git a/internal/dao/slonik/slonik.go b/internal/dao/slonik/slonik.go index bb8f82ad..f217c6d1 100644 --- a/internal/dao/slonik/slonik.go +++ b/internal/dao/slonik/slonik.go @@ -17,6 +17,11 @@ func NewDataService() (core.DataService, core.VersionInfo) { return nil, nil } +func NewDataServantA() (core.DataServantA, core.VersionInfo) { + logrus.Fatal("not support now") + return nil, nil +} + func NewAuthorizationManageService() core.AuthorizationManageService { logrus.Fatal("not support now") return nil diff --git a/internal/servants/base/base.go b/internal/servants/base/base.go index 2f33b8f6..5fe7afb7 100644 --- a/internal/servants/base/base.go +++ b/internal/servants/base/base.go @@ -14,7 +14,9 @@ import ( "github.com/alimy/mir/v3" "github.com/gin-gonic/gin" "github.com/redis/go-redis/v9" + "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/dao" "github.com/rocboss/paopao-ce/pkg/app" "github.com/rocboss/paopao-ce/pkg/types" "github.com/rocboss/paopao-ce/pkg/xerror" @@ -24,6 +26,7 @@ type BaseServant types.Empty type DaoServant struct { Redis *redis.Client + Dsa core.DataServantA Ds core.DataService Ts core.TweetSearchService } @@ -113,6 +116,15 @@ func RenderAny(c *gin.Context, data any, err mir.Error) { } } +func NewDaoServant() *DaoServant { + return &DaoServant{ + Redis: conf.MustRedis(), + Dsa: dao.DataServantA(), + Ds: dao.DataService(), + Ts: dao.TweetSearchService(), + } +} + func (s *DaoServant) GetTweetBy(id int64) (*core.PostFormated, error) { post, err := s.Ds.GetPostByID(id) if err != nil { diff --git a/internal/servants/web/web.go b/internal/servants/web/web.go index e5ffe196..04b6aa78 100644 --- a/internal/servants/web/web.go +++ b/internal/servants/web/web.go @@ -26,11 +26,7 @@ var ( func RouteWeb(e *gin.Engine) { lazyInitial() oss := dao.ObjectStorageService() - ds := &base.DaoServant{ - Redis: conf.MustRedis(), - Ds: dao.DataService(), - Ts: dao.TweetSearchService(), - } + ds := base.NewDaoServant() // aways register servants api.RegisterAdminServant(e, newAdminSrv(ds), newAdminBinding(), newAdminRender()) api.RegisterCoreServant(e, newCoreSrv(ds, oss), newCoreBinding(), newCoreRender()) From 980c87ff8a5255668d91bc3158d3f219090268e0 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 20 Mar 2023 19:24:49 +0800 Subject: [PATCH 32/65] remove sqlx relate file in gorm mode --- go.mod | 1 - go.sum | 2 -- internal/conf/db_sqlx.go | 30 ------------------------------ 3 files changed, 33 deletions(-) delete mode 100644 internal/conf/db_sqlx.go diff --git a/go.mod b/go.mod index c71ccaf3..15f3e205 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,6 @@ require ( 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.22.11+incompatible - github.com/jmoiron/sqlx v1.3.5 github.com/json-iterator/go v1.1.12 github.com/meilisearch/meilisearch-go v0.21.0 github.com/minio/minio-go/v7 v7.0.49 diff --git a/go.sum b/go.sum index be60077e..17a229a5 100644 --- a/go.sum +++ b/go.sum @@ -796,8 +796,6 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jmoiron/sqlx v1.3.1/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= -github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= -github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= diff --git a/internal/conf/db_sqlx.go b/internal/conf/db_sqlx.go deleted file mode 100644 index a8b1cee4..00000000 --- a/internal/conf/db_sqlx.go +++ /dev/null @@ -1,30 +0,0 @@ -// 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 conf - -import ( - "sync" - - "github.com/jmoiron/sqlx" - "github.com/rocboss/paopao-ce/pkg/naming" - "github.com/sirupsen/logrus" -) - -var ( - _sqlxdb *sqlx.DB - _onceSqlx sync.Once -) - -func MustSqlxDB() *sqlx.DB { - _onceSqlx.Do(func() { - driver, db, err := newSqlDB() - if err != nil { - logrus.Fatalf("new sqlx db failed: %s", err) - } - _sqlxdb = sqlx.NewDb(db, driver) - _sqlxdb.MapperFunc(naming.NewSnakeNamingStrategy().Naming) - }) - return _sqlxdb -} From 8aa9a4ef1b4d16e049a5280a195f281e1e9d7e14 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 20 Mar 2023 23:43:22 +0800 Subject: [PATCH 33/65] optimize data service for web --- internal/core/core.go | 4 ++-- internal/dao/dao.go | 20 ++++++++++---------- internal/dao/jinzhu/jinzhu.go | 16 +++++++--------- internal/dao/sakila/sakila.go | 2 +- internal/dao/slonik/slonik.go | 2 +- internal/servants/base/base.go | 4 ++-- internal/servants/web/priv.go | 4 ++-- 7 files changed, 25 insertions(+), 27 deletions(-) diff --git a/internal/core/core.go b/internal/core/core.go index 888b404b..ab0ba620 100644 --- a/internal/core/core.go +++ b/internal/core/core.go @@ -36,8 +36,8 @@ type DataService interface { AttachmentCheckService } -// DataServantA 数据服务集成(版本A) -type DataServantA interface { +// WebDataServantA Web数据服务集成(版本A) +type WebDataServantA interface { // 话题服务 TopicServantA diff --git a/internal/dao/dao.go b/internal/dao/dao.go index 8238cdc6..1a47d7c6 100644 --- a/internal/dao/dao.go +++ b/internal/dao/dao.go @@ -18,10 +18,10 @@ import ( ) var ( - ts core.TweetSearchService - ds core.DataService - dsa core.DataServantA - oss core.ObjectStorageService + ts core.TweetSearchService + ds core.DataService + oss core.ObjectStorageService + webDsa core.WebDataServantA _onceInitial sync.Once ) @@ -31,9 +31,9 @@ func DataService() core.DataService { return ds } -func DataServantA() core.DataServantA { +func WebDataServantA() core.WebDataServantA { lazyInitial() - return dsa + return webDsa } func ObjectStorageService() core.ObjectStorageService { @@ -72,17 +72,17 @@ func initDsX() { var dsVer, dsaVer core.VersionInfo if cfg.If("Gorm") { ds, dsVer = jinzhu.NewDataService() - dsa, dsaVer = jinzhu.NewDataServantA() + webDsa, dsaVer = jinzhu.NewWebDataServantA() } else if cfg.If("Sqlx") { ds, dsVer = sakila.NewDataService() - dsa, dsaVer = sakila.NewDataServantA() + webDsa, dsaVer = sakila.NewWebDataServantA() } else if cfg.If("Sqlc") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { ds, dsVer = slonik.NewDataService() - dsa, dsaVer = slonik.NewDataServantA() + webDsa, dsaVer = slonik.NewWebDataServantA() } else { // default use gorm as orm for sql database ds, dsVer = jinzhu.NewDataService() - dsa, dsaVer = jinzhu.NewDataServantA() + webDsa, dsaVer = jinzhu.NewWebDataServantA() } logrus.Infof("use %s as core.DataService with version %s", dsVer.Name(), dsVer.Version()) logrus.Infof("use %s as core.ServantA with version %s", dsaVer.Name(), dsaVer.Version()) diff --git a/internal/dao/jinzhu/jinzhu.go b/internal/dao/jinzhu/jinzhu.go index d2267046..7fd9aea0 100644 --- a/internal/dao/jinzhu/jinzhu.go +++ b/internal/dao/jinzhu/jinzhu.go @@ -24,8 +24,8 @@ var ( _ core.DataService = (*dataSrv)(nil) _ core.VersionInfo = (*dataSrv)(nil) - _ core.DataServantA = (*dataSrvA)(nil) - _ core.VersionInfo = (*dataSrvA)(nil) + _ core.WebDataServantA = (*webDataSrvA)(nil) + _ core.VersionInfo = (*webDataSrvA)(nil) _onceInitial sync.Once ) @@ -46,7 +46,7 @@ type dataSrv struct { core.AttachmentCheckService } -type dataSrvA struct { +type webDataSrvA struct { core.TopicServantA core.TweetServantA core.TweetManageServantA @@ -109,12 +109,10 @@ func NewDataService() (core.DataService, core.VersionInfo) { return ds, ds } -func NewDataServantA() (core.DataServantA, core.VersionInfo) { +func NewWebDataServantA() (core.WebDataServantA, core.VersionInfo) { lazyInitial() - db := conf.MustGormDB() - - ds := &dataSrvA{ + ds := &webDataSrvA{ TopicServantA: newTopicServantA(db), TweetServantA: newTweetServantA(db), TweetManageServantA: newTweetManageServantA(db), @@ -135,11 +133,11 @@ func (s *dataSrv) Version() *semver.Version { return semver.MustParse("v0.2.0") } -func (s *dataSrvA) Name() string { +func (s *webDataSrvA) Name() string { return "Gorm" } -func (s *dataSrvA) Version() *semver.Version { +func (s *webDataSrvA) Version() *semver.Version { return semver.MustParse("v0.1.0") } diff --git a/internal/dao/sakila/sakila.go b/internal/dao/sakila/sakila.go index 6ca43bcf..0a605bf8 100644 --- a/internal/dao/sakila/sakila.go +++ b/internal/dao/sakila/sakila.go @@ -17,7 +17,7 @@ func NewDataService() (core.DataService, core.VersionInfo) { return nil, nil } -func NewDataServantA() (core.DataServantA, core.VersionInfo) { +func NewWebDataServantA() (core.WebDataServantA, core.VersionInfo) { logrus.Fatal("not support now") return nil, nil } diff --git a/internal/dao/slonik/slonik.go b/internal/dao/slonik/slonik.go index f217c6d1..705c5bbf 100644 --- a/internal/dao/slonik/slonik.go +++ b/internal/dao/slonik/slonik.go @@ -17,7 +17,7 @@ func NewDataService() (core.DataService, core.VersionInfo) { return nil, nil } -func NewDataServantA() (core.DataServantA, core.VersionInfo) { +func NewWebDataServantA() (core.WebDataServantA, core.VersionInfo) { logrus.Fatal("not support now") return nil, nil } diff --git a/internal/servants/base/base.go b/internal/servants/base/base.go index 5fe7afb7..8e10df5a 100644 --- a/internal/servants/base/base.go +++ b/internal/servants/base/base.go @@ -26,7 +26,7 @@ type BaseServant types.Empty type DaoServant struct { Redis *redis.Client - Dsa core.DataServantA + Dsa core.WebDataServantA Ds core.DataService Ts core.TweetSearchService } @@ -119,7 +119,7 @@ func RenderAny(c *gin.Context, data any, err mir.Error) { func NewDaoServant() *DaoServant { return &DaoServant{ Redis: conf.MustRedis(), - Dsa: dao.DataServantA(), + Dsa: dao.WebDataServantA(), Ds: dao.DataService(), Ts: dao.TweetSearchService(), } diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index f072cb21..baa94d35 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -170,9 +170,9 @@ func (s *privSrv) UploadAttachment(req *web.UploadAttachmentReq) (*web.UploadAtt attachment.ImgWidth, attachment.ImgHeight = getImageSize(src.Bounds()) } } - attachment.ID, err = s.Ds.CreateAttachment(attachment) + attachment.ID, err = s.Dsa.CreateAttachment(attachment) if err != nil { - logrus.Errorf("Ds.CreateAttachment err: %s", err) + logrus.Errorf("Dsa.CreateAttachment err: %s", err) return nil, _errFileUploadFailed } From c1419c31aa86385560f53eccd6b71c14b6b3ee6f Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 3 Apr 2023 15:17:29 +0800 Subject: [PATCH 34/65] update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cea26d11..1d504d8a 100644 --- a/README.md +++ b/README.md @@ -556,6 +556,7 @@ x/sqlx |[`paopao-ce`](https://github.com/rocboss/paopao-ce/tree/dev)|paopao-ce 主发行版本|[ROC](https://github.com/rocboss 'ROC')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/dev/internal/dao/jinzhu) 使用[gorm](https://github.com/go-gorm/gorm)作为数据逻辑层的ORM框架,适配MySQL/PostgreSQL/Sqlite3数据库。| |[`r/paopao-ce-plus`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus)|paopao-ce-plus 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-plus/internal/dao/sakila) 使用[sqlx](https://github.com/jmoiron/sqlx)作为数据逻辑层的ORM框架,专注于为MySQL/PostgreSQL/Sqlite3使用更优化的查询语句以提升数据检索效率。建议熟悉[sqlx](https://github.com/jmoiron/sqlx)的开发人员可以基于此版本来做 二次开发。| |[`r/paopao-ce-pro`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-pro)|paopao-ce-pro 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-pro/internal/dao/slonik) 使用[sqlc](https://github.com/kyleconroy/sqlc)作为sql语句生成器自动生成ORM代码,专门针对特定数据库MySQL/PostgreSQL进行查询优化,熟悉[sqlc](https://github.com/kyleconroy/sqlc)的开发人员可以基于此版本来做 二次开发。(另:分支目前只使用[pgx-v5](https://github.com/jackc/pgx)适配了PostgreSQL数据库,后续或许会适配MySQL/TiDB数据库。)| +|[`r/paopao-ce-xtra`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce-xtra)|paopao-ce-xtra 发行版本|[北野](https://github.com/alimy 'Michael Li')|该分支 是paopao-ce、r/paopao-ce-plus、r/paopao-ce-pro的合集| **代码分支演进图** ![](docs/proposal/.assets/000-01.png) From f1f289bb568fc289fdf6ed1ffc4b66e72efed6a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 11:15:40 +0000 Subject: [PATCH 35/65] mod: bump github.com/pyroscope-io/client from 0.6.0 to 0.7.0 Bumps [github.com/pyroscope-io/client](https://github.com/pyroscope-io/client) from 0.6.0 to 0.7.0. - [Release notes](https://github.com/pyroscope-io/client/releases) - [Commits](https://github.com/pyroscope-io/client/compare/v0.6.0...v0.7.0) --- updated-dependencies: - dependency-name: github.com/pyroscope-io/client dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6b3fec29..02763500 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/minio/minio-go/v7 v7.0.49 github.com/onsi/ginkgo/v2 v2.9.2 github.com/onsi/gomega v1.27.5 - github.com/pyroscope-io/client v0.6.0 + 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 diff --git a/go.sum b/go.sum index 894e5ebf..f086cb6a 100644 --- a/go.sum +++ b/go.sum @@ -1094,8 +1094,8 @@ github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/pyroscope-io/client v0.6.0 h1:rcUFgcnfmuyVYDYT+4d0zfqc8YedOyruHSsUb9ImaBw= -github.com/pyroscope-io/client v0.6.0/go.mod h1:4h21iOU4pUOq0prKyDlvYRL+SCKsBc5wKiEtV+rJGqU= +github.com/pyroscope-io/client v0.7.0 h1:LWuuqPQ1oa6x7BnmUOuo/aGwdX85QGhWZUBYWWW3zdk= +github.com/pyroscope-io/client v0.7.0/go.mod h1:4h21iOU4pUOq0prKyDlvYRL+SCKsBc5wKiEtV+rJGqU= github.com/pyroscope-io/godeltaprof v0.1.0 h1:UBqtjt0yZi4jTxqZmLAs34XG6ycS3vUTlhEUSq4NHLE= github.com/pyroscope-io/godeltaprof v0.1.0/go.mod h1:psMITXp90+8pFenXkKIpNhrfmI9saQnPbba27VIaiQE= github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= From 025f8c360e5d64c7ddb7d252379c5270b6364bc2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 11:16:13 +0000 Subject: [PATCH 36/65] mod: bump modernc.org/sqlite from 1.21.0 to 1.21.1 Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.21.0 to 1.21.1. - [Release notes](https://gitlab.com/cznic/sqlite/tags) - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.21.0...v1.21.1) --- updated-dependencies: - dependency-name: modernc.org/sqlite dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 02763500..9c087000 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( gorm.io/gorm v1.24.7-0.20230306060331-85eaf9eeda11 gorm.io/plugin/dbresolver v1.4.1 gorm.io/plugin/soft_delete v1.2.0 - modernc.org/sqlite v1.21.0 + modernc.org/sqlite v1.21.1 ) require ( diff --git a/go.sum b/go.sum index f086cb6a..32c30caa 100644 --- a/go.sum +++ b/go.sum @@ -2093,8 +2093,8 @@ modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/ql v1.0.0/go.mod h1:xGVyrLIatPcO2C1JvI/Co8c0sr6y91HKFNy4pt9JXEY= modernc.org/sortutil v1.1.0/go.mod h1:ZyL98OQHJgH9IEfN71VsamvJgrtRX9Dj2gX+vH86L1k= modernc.org/sqlite v1.10.6/go.mod h1:Z9FEjUtZP4qFEg6/SiADg9XCER7aYy9a/j7Pg9P7CPs= -modernc.org/sqlite v1.21.0 h1:4aP4MdUf15i3R3M2mx6Q90WHKz3nZLoz96zlB6tNdow= -modernc.org/sqlite v1.21.0/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI= +modernc.org/sqlite v1.21.1 h1:GyDFqNnESLOhwwDRaHGdp2jKLDzpyT/rNLglX3ZkMSU= +modernc.org/sqlite v1.21.1/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI= modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= From 0312ce3e4ca1eaee33c451585c18452ee32de2dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 11:16:26 +0000 Subject: [PATCH 37/65] mod: bump github.com/minio/minio-go/v7 from 7.0.49 to 7.0.50 Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.49 to 7.0.50. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.49...v7.0.50) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 9c087000..b134890c 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/huaweicloud/huaweicloud-sdk-go-obs v3.23.3+incompatible github.com/json-iterator/go v1.1.12 github.com/meilisearch/meilisearch-go v0.21.0 - github.com/minio/minio-go/v7 v7.0.49 + github.com/minio/minio-go/v7 v7.0.50 github.com/onsi/ginkgo/v2 v2.9.2 github.com/onsi/gomega v1.27.5 github.com/pyroscope-io/client v0.7.0 @@ -76,8 +76,8 @@ require ( github.com/jinzhu/now v1.1.5 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect - github.com/klauspost/compress v1.15.15 // indirect - github.com/klauspost/cpuid/v2 v2.2.3 // indirect + github.com/klauspost/compress v1.16.0 // indirect + github.com/klauspost/cpuid/v2 v2.2.4 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/leodido/go-urn v1.2.1 // indirect github.com/lib/pq v1.10.2 // indirect diff --git a/go.sum b/go.sum index 32c30caa..c1b6c104 100644 --- a/go.sum +++ b/go.sum @@ -830,13 +830,13 @@ github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8 github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.6/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= -github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw= -github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= +github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4= +github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.3 h1:sxCkb+qR91z4vsqw4vGGZlDgPz3G7gjaLyK3V8y70BU= -github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= +github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -920,8 +920,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.49 h1:dE5DfOtnXMXCjr/HWI6zN9vCrY6Sv666qhhiwUMvGV4= -github.com/minio/minio-go/v7 v7.0.49/go.mod h1:UI34MvQEiob3Cf/gGExGMmzugkM/tNgbFypNDy5LMVc= +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/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= From 8782ad6296bdee0fb506ab084c8f7ab652985bc3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Apr 2023 11:16:37 +0000 Subject: [PATCH 38/65] mod: bump google.golang.org/grpc from 1.53.0 to 1.54.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.53.0 to 1.54.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.53.0...v1.54.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b134890c..96c36d20 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( github.com/tencentyun/cos-go-sdk-v5 v0.7.41 github.com/yinheli/mahonia v0.0.0-20131226213531-0eef680515cc go.uber.org/automaxprocs v1.5.2 - google.golang.org/grpc v1.53.0 + google.golang.org/grpc v1.54.0 google.golang.org/protobuf v1.30.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/resty.v1 v1.12.0 diff --git a/go.sum b/go.sum index c1b6c104..4dd1c873 100644 --- a/go.sum +++ b/go.sum @@ -1920,8 +1920,8 @@ google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9K google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From f141bb44ab63258c6b7d14b95d295f6e29311711 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Tue, 4 Apr 2023 04:24:28 +0800 Subject: [PATCH 39/65] update default configure for WebServer in internal/conf/config.yaml --- internal/conf/config.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/conf/config.yaml b/internal/conf/config.yaml index a87d176a..d9adc5eb 100644 --- a/internal/conf/config.yaml +++ b/internal/conf/config.yaml @@ -8,8 +8,9 @@ App: # APP基础设置项 Features: Default: [] WebServer: # Web服务 + RunMode: debug HttpIp: 0.0.0.0 - HttpPort: 8010 + HttpPort: 8008 ReadTimeout: 60 WriteTimeout: 60 AdminServer: # Admin后台运维服务 From 7f9c4d6d37df94e6f74dd5eaaeab55af75a9ea06 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Tue, 4 Apr 2023 04:30:30 +0800 Subject: [PATCH 40/65] update CHANGELOG.md --- CHANGELOG.md | 4 ++++ ROADMAP.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e37ea238..bf936d4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,10 @@ All notable changes to paopao-ce are documented in this file. ConnWriteTimeout: 60 # 连接写超时时间 多少秒 默认 60秒 ``` +### Removed + +- remove `Deprecated:OldWeb` feature [#256](https://github.com/rocboss/paopao-ce/pull/256) + ## 0.2.3 ### Added diff --git a/ROADMAP.md b/ROADMAP.md index e27da06d..8d423b44 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -7,7 +7,7 @@ * [ ] add `Auth:Bcrypt` feature * [ ] add `Auth:MD5` feature (just for compatible) * [x] add `RedisCacheIndex` feature -* [ ] add extend base ORM code for implement data logic base sqlx/sqlc +* [x] add extend base ORM code for implement data logic base sqlx/sqlc * [ ] optimize media tweet submit logic * [ ] optimize search logic service * [x] remove `Deprecated:OldWeb` feature From a46e21790953643a69f10e6eb40bd01304f9b062 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Wed, 5 Apr 2023 17:17:38 +0800 Subject: [PATCH 41/65] change CGO_ENABLED := 1 if not set in Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 2d7f244c..68a36027 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ endif TARGET_BIN = $(basename $(TARGET)) ifeq (n$(CGO_ENABLED),n) -CGO_ENABLED := 0 +CGO_ENABLED := 1 endif RELEASE_ROOT = release From a101bcabc5dc1c9598a5f396dbb548c9b7ccd614 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 8 Apr 2023 10:07:51 +0800 Subject: [PATCH 42/65] gorm: optimize core interface define --- internal/core/cache.go | 20 ++++++++++++++++++++ internal/core/timeline.go | 17 +++++++++++------ internal/core/tweets.go | 14 ++------------ internal/servants/base/base.go | 1 + 4 files changed, 34 insertions(+), 18 deletions(-) diff --git a/internal/core/cache.go b/internal/core/cache.go index bade6231..e6963c61 100644 --- a/internal/core/cache.go +++ b/internal/core/cache.go @@ -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 diff --git a/internal/core/timeline.go b/internal/core/timeline.go index 9ba7538b..02de2b62 100644 --- a/internal/core/timeline.go +++ b/internal/core/timeline.go @@ -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) } diff --git a/internal/core/tweets.go b/internal/core/tweets.go index 0a114ee3..9c316257 100644 --- a/internal/core/tweets.go +++ b/internal/core/tweets.go @@ -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) } diff --git a/internal/servants/base/base.go b/internal/servants/base/base.go index 741e87a9..d17ae139 100644 --- a/internal/servants/base/base.go +++ b/internal/servants/base/base.go @@ -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(), } From 2081b4e197f9f5ebfd310224c8d363e98358b835 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Wed, 5 Apr 2023 06:43:16 +0800 Subject: [PATCH 43/65] fixed conf typo --- .vscode/.gitignore | 1 + internal/conf/conf.go | 2 +- internal/conf/setting.go | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.vscode/.gitignore b/.vscode/.gitignore index 945fe607..681848e5 100644 --- a/.vscode/.gitignore +++ b/.vscode/.gitignore @@ -1,3 +1,4 @@ .DS_Store *.log __debug_bin +settings.json \ No newline at end of file diff --git a/internal/conf/conf.go b/internal/conf/conf.go index b651bc63..2dad15c7 100644 --- a/internal/conf/conf.go +++ b/internal/conf/conf.go @@ -42,7 +42,7 @@ var ( TweetSearchSetting *tweetSearchConf ZincSetting *zincConf MeiliSetting *meiliConf - ObjectStorage *objectStorageS + ObjectStorage *objectStorageConf AliOSSSetting *aliOSSConf COSSetting *cosConf HuaweiOBSSetting *huaweiOBSConf diff --git a/internal/conf/setting.go b/internal/conf/setting.go index 94ffd26f..2e2be487 100644 --- a/internal/conf/setting.go +++ b/internal/conf/setting.go @@ -166,7 +166,7 @@ type sqlite3Conf struct { Path string } -type objectStorageS struct { +type objectStorageConf struct { RetainInDays int TempDir string } @@ -343,7 +343,7 @@ func (s *loggerMeiliConf) maxLogBuffer() int { return s.MaxLogBuffer } -func (s *objectStorageS) TempDirSlash() string { +func (s *objectStorageConf) TempDirSlash() string { return strings.Trim(s.TempDir, " /") + "/" } From de7368817a94e2b798203d3f4a66aa1d2d2a135a Mon Sep 17 00:00:00 2001 From: Michael Li Date: Wed, 5 Apr 2023 09:51:04 +0800 Subject: [PATCH 44/65] just optimize typo in internal/conf package --- internal/conf/setting.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/conf/setting.go b/internal/conf/setting.go index 2e2be487..204ca985 100644 --- a/internal/conf/setting.go +++ b/internal/conf/setting.go @@ -18,7 +18,7 @@ import ( ) //go:embed config.yaml -var fileBytes []byte +var configBytes []byte type pyroscopeConf struct { AppName string @@ -379,7 +379,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 } From 1af2b18e28d73e5b9c4bc2352e684d7b7ac7db1a Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 6 Apr 2023 22:05:52 +0800 Subject: [PATCH 45/65] fixed mysql ddl file p_contact is_delete field change to is_del name --- scripts/paopao-mysql.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/paopao-mysql.sql b/scripts/paopao-mysql.sql index 7cf2db6a..395e04b8 100644 --- a/scripts/paopao-mysql.sql +++ b/scripts/paopao-mysql.sql @@ -283,7 +283,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 '修改时间', From 733cef890bfdd59f605c9143687283f31f993a6e Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 6 Apr 2023 22:18:27 +0800 Subject: [PATCH 46/65] update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7bf2c51..e189cd3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,10 @@ All notable changes to paopao-ce are documented in this file. - add `RedisCacheIndex` feature [#250](https://github.com/rocboss/paopao-ce/pull/250) - add `Sentry` feature [#258](https://github.com/rocboss/paopao-ce/pull/258) +### 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 - use [github.com/rueian/rueidis](https://github.com/rueian/rueidis) as Redis client [#249](https://github.com/rocboss/paopao-ce/pull/249) From e5c2e7bc775970287ac661f7dde70489c12fc090 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 11:05:10 +0000 Subject: [PATCH 47/65] mod: bump github.com/minio/minio-go/v7 from 7.0.50 to 7.0.51 Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.50 to 7.0.51. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.50...v7.0.51) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b251a4fb..eb3a7433 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/huaweicloud/huaweicloud-sdk-go-obs v3.23.3+incompatible github.com/json-iterator/go v1.1.12 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/pyroscope-io/client v0.7.0 diff --git a/go.sum b/go.sum index 4b54e09f..2dad51f7 100644 --- a/go.sum +++ b/go.sum @@ -988,8 +988,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= From 4a9c1cf61db17b5c994361d3521d758115fc36fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 11:04:57 +0000 Subject: [PATCH 48/65] mod: bump github.com/smartwalle/alipay/v3 from 3.2.0 to 3.2.1 Bumps [github.com/smartwalle/alipay/v3](https://github.com/smartwalle/alipay) from 3.2.0 to 3.2.1. - [Release notes](https://github.com/smartwalle/alipay/releases) - [Commits](https://github.com/smartwalle/alipay/compare/v3.2.0...v3.2.1) --- updated-dependencies: - dependency-name: github.com/smartwalle/alipay/v3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index eb3a7433..eec2c4d8 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( 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 @@ -104,7 +104,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/jwalterweatherman v1.1.0 // indirect diff --git a/go.sum b/go.sum index 2dad51f7..254ac21c 100644 --- a/go.sum +++ b/go.sum @@ -1224,10 +1224,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= @@ -1433,7 +1433,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= From fd640271875eb3eb6611e2a2641fb375ca83fc81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 11:04:42 +0000 Subject: [PATCH 49/65] mod: bump github.com/onsi/gomega from 1.27.5 to 1.27.6 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.5 to 1.27.6. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.27.5...v1.27.6) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index eec2c4d8..e911b148 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/meilisearch/meilisearch-go v0.21.0 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 diff --git a/go.sum b/go.sum index 254ac21c..287ac68d 100644 --- a/go.sum +++ b/go.sum @@ -1074,8 +1074,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= From fbd880c2299b96c1257b2849105f053d27d6d9f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 11:04:31 +0000 Subject: [PATCH 50/65] mod: bump github.com/gofrs/uuid Bumps [github.com/gofrs/uuid](https://github.com/gofrs/uuid) from 4.0.0+incompatible to 4.4.0+incompatible. - [Release notes](https://github.com/gofrs/uuid/releases) - [Commits](https://github.com/gofrs/uuid/compare/v4.0.0...v4.4.0) --- updated-dependencies: - dependency-name: github.com/gofrs/uuid dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index e911b148..45545e81 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,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 diff --git a/go.sum b/go.sum index 287ac68d..e7d81c7a 100644 --- a/go.sum +++ b/go.sum @@ -583,8 +583,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= From 79a5299864cff6eacdb9220fb9a5d3fb0f05edb3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Apr 2023 11:04:16 +0000 Subject: [PATCH 51/65] mod: bump github.com/bytedance/sonic from 1.8.5 to 1.8.7 Bumps [github.com/bytedance/sonic](https://github.com/bytedance/sonic) from 1.8.5 to 1.8.7. - [Release notes](https://github.com/bytedance/sonic/releases) - [Commits](https://github.com/bytedance/sonic/compare/v1.8.5...v1.8.7) --- updated-dependencies: - dependency-name: github.com/bytedance/sonic dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 45545e81..6e213302 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/alimy/mir/v3 v3.1.1 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 diff --git a/go.sum b/go.sum index e7d81c7a..429cf8be 100644 --- a/go.sum +++ b/go.sum @@ -199,8 +199,8 @@ github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8n github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= -github.com/bytedance/sonic v1.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= From 576986f5024ddc8b6e655cffec83f4381e0f1310 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Tue, 11 Apr 2023 09:56:09 +0800 Subject: [PATCH 52/65] web: optimize tagExp expression --- web/src/utils/content.ts | 47 +++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/web/src/utils/content.ts b/web/src/utils/content.ts index c1138af1..f48e55be 100644 --- a/web/src/utils/content.ts +++ b/web/src/utils/content.ts @@ -1,19 +1,30 @@ - export const parsePostTag = (content: string) => { - const tags: string[] = [] - const users: string[] = [] - var tagExp = /(#|#)([^#@])+?\s+?/g // 这⾥中⽂#和英⽂#都会识别 - var atExp = /@([a-zA-Z0-9])+?\s+?/g // 这⾥中⽂#和英⽂#都会识别 - content = content - .replace(/<[^>]*?>/gi, '') - .replace(/(.*?)<\/[^>]*?>/gi, '') - .replace(tagExp, item => { - tags.push(item.substr(1).trim()) - return '' + item.trim() + ' ' - }) - .replace(atExp, item => { - users.push(item.substr(1).trim()) - return '' + item.trim() + ' ' - }) - return { content, tags, users } -} \ No newline at end of file + const tags: string[] = []; + const users: string[] = []; + var tagExp = /(#|#)([^#@\s])+?\s+?/g; // 这⾥中⽂#和英⽂#都会识别 + var atExp = /@([a-zA-Z0-9])+?\s+?/g; // 这⾥中⽂#和英⽂#都会识别 + content = content + .replace(/<[^>]*?>/gi, "") + .replace(/(.*?)<\/[^>]*?>/gi, "") + .replace(tagExp, (item) => { + tags.push(item.substr(1).trim()); + return ( + '' + + item.trim() + + " " + ); + }) + .replace(atExp, (item) => { + users.push(item.substr(1).trim()); + return ( + '' + + item.trim() + + " " + ); + }); + return { content, tags, users }; +}; From bd1e6c8546e8f56d66cd2d861ff97255c709e1bd Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 13 Apr 2023 11:51:30 +0800 Subject: [PATCH 53/65] frontend: optimize dark theme page and max width for main contents --- web/dist/assets/404-020b2afd.css | 1 + web/dist/assets/404-0638bdac.css | 1 - .../{404-fafefb76.js => 404-9bdfc78f.js} | 4 +- .../{Alert-e0e350bb.js => Alert-f1e64ed3.js} | 4 +- ...nt-bb8f5e6e.js => Anouncement-362c2a8b.js} | 2 +- web/dist/assets/Collection-80f4dbd5.css | 1 - web/dist/assets/Collection-8fafe5fc.js | 1 + web/dist/assets/Collection-9fafc8b1.js | 1 - web/dist/assets/Collection-e1365ea0.css | 1 + web/dist/assets/Contacts-1dbeea36.js | 1 - web/dist/assets/Contacts-9dd72b63.js | 1 + web/dist/assets/Contacts-b60e5e0d.css | 1 + web/dist/assets/Contacts-f68f8d51.css | 1 - .../{Home-d9a0354e.js => Home-4b4f3711.js} | 12 ++-- .../{Home-9d0d21d5.css => Home-a7297c0f.css} | 2 +- .../{IEnum-2acc8be7.js => IEnum-1d2492bb.js} | 2 +- ...oup-97df1a51.js => InputGroup-a08135e4.js} | 2 +- .../{List-28c5febd.js => List-872c113a.js} | 4 +- ...sages-95a60791.js => Messages-296c5576.js} | 2 +- web/dist/assets/Messages-7ed31ecd.css | 1 + web/dist/assets/Messages-e24ddbef.css | 1 - ...e21ff10.js => MoreHorizFilled-c8a99fb4.js} | 2 +- ...ion-84d10fc7.js => Pagination-35c2dd8e.js} | 8 +-- web/dist/assets/Post-21e0e7c2.js | 57 +++++++++++++++++++ web/dist/assets/Post-2b9ab2ef.css | 1 + web/dist/assets/Post-382cf629.css | 1 - web/dist/assets/Post-abdce3fa.js | 57 ------------------- web/dist/assets/Profile-1b2bf9dc.js | 1 + web/dist/assets/Profile-4e38522f.css | 1 - web/dist/assets/Profile-5d71a5c2.css | 1 + web/dist/assets/Profile-85f3412c.js | 1 - ...etting-fc8840df.js => Setting-3190a67c.js} | 2 +- web/dist/assets/Setting-ba9086ff.css | 1 - web/dist/assets/Setting-bfd24152.css | 1 + ...leton-ca436747.js => Skeleton-6c42d34d.js} | 4 +- .../{Thing-2157b754.js => Thing-7c7318d4.js} | 2 +- web/dist/assets/Topic-3a36c606.css | 1 + web/dist/assets/Topic-6db07811.css | 1 - .../{Topic-6164b997.js => Topic-e75f8e46.js} | 2 +- ...{Upload-f8f7ade2.js => Upload-4d55d917.js} | 2 +- .../{User-c0bbddf5.js => User-30ca5925.js} | 4 +- web/dist/assets/User-4f525d0f.css | 1 + web/dist/assets/User-e49182fd.css | 1 - web/dist/assets/Wallet-77044929.css | 1 + web/dist/assets/Wallet-7e67516c.css | 1 - ...{Wallet-21894a59.js => Wallet-ea78d089.js} | 4 +- ...ontent-c9c72716.js => content-91421e79.js} | 4 +- ...tent-ebd7946e.css => content-cc55174b.css} | 2 +- ...ime-09781e30.js => formatTime-0c777b4d.js} | 8 +-- web/dist/assets/index-4af9b72d.css | 1 + .../{index-c17d3913.js => index-dfd5495a.js} | 6 +- web/dist/assets/index-e95a8d3c.css | 1 - ...e_vue_type_style_index_0_lang-750a5968.js} | 2 +- ...em-dc5866aa.css => post-item-3a63e077.css} | 2 +- ...e_vue_type_style_index_0_lang-8c8699fb.js} | 2 +- web/dist/assets/post-skeleton-3d1d61f7.css | 1 - web/dist/assets/post-skeleton-40e81755.js | 1 - web/dist/assets/post-skeleton-445c3b83.js | 1 + web/dist/assets/post-skeleton-f1900002.css | 1 + web/dist/index.html | 4 +- web/src/assets/css/main.less | 2 +- web/src/components/auth.vue | 5 ++ web/src/components/comment-item.vue | 5 +- web/src/components/compose-comment.vue | 8 +++ web/src/components/compose-reply.vue | 5 ++ web/src/components/compose.vue | 5 ++ web/src/components/contact-item.vue | 1 + web/src/components/message-item.vue | 4 ++ web/src/components/message-skeleton.vue | 5 ++ web/src/components/post-detail.vue | 6 +- web/src/components/post-image.vue | 6 +- web/src/components/post-item.vue | 1 + web/src/components/post-skeleton.vue | 5 ++ web/src/components/post-video.vue | 2 +- web/src/components/reply-item.vue | 3 +- web/src/components/rightbar.vue | 10 +++- web/src/components/whisper-add-friend.vue | 5 ++ web/src/components/whisper.vue | 5 ++ web/src/utils/formatTime.ts | 14 +++-- web/src/views/404.vue | 5 ++ web/src/views/Collection.vue | 24 ++++---- web/src/views/Contacts.vue | 21 ++++--- web/src/views/Home.vue | 24 ++++---- web/src/views/Messages.vue | 27 +++++---- web/src/views/Post.vue | 5 ++ web/src/views/Profile.vue | 27 +++++---- web/src/views/Setting.vue | 5 ++ web/src/views/Topic.vue | 5 ++ web/src/views/User.vue | 21 +++++-- web/src/views/Wallet.vue | 3 + 90 files changed, 313 insertions(+), 191 deletions(-) create mode 100644 web/dist/assets/404-020b2afd.css delete mode 100644 web/dist/assets/404-0638bdac.css rename web/dist/assets/{404-fafefb76.js => 404-9bdfc78f.js} (93%) rename web/dist/assets/{Alert-e0e350bb.js => Alert-f1e64ed3.js} (87%) rename web/dist/assets/{Anouncement-bb8f5e6e.js => Anouncement-362c2a8b.js} (77%) delete mode 100644 web/dist/assets/Collection-80f4dbd5.css create mode 100644 web/dist/assets/Collection-8fafe5fc.js delete mode 100644 web/dist/assets/Collection-9fafc8b1.js create mode 100644 web/dist/assets/Collection-e1365ea0.css delete mode 100644 web/dist/assets/Contacts-1dbeea36.js create mode 100644 web/dist/assets/Contacts-9dd72b63.js create mode 100644 web/dist/assets/Contacts-b60e5e0d.css delete mode 100644 web/dist/assets/Contacts-f68f8d51.css rename web/dist/assets/{Home-d9a0354e.js => Home-4b4f3711.js} (90%) rename web/dist/assets/{Home-9d0d21d5.css => Home-a7297c0f.css} (73%) rename web/dist/assets/{IEnum-2acc8be7.js => IEnum-1d2492bb.js} (99%) rename web/dist/assets/{InputGroup-97df1a51.js => InputGroup-a08135e4.js} (98%) rename web/dist/assets/{List-28c5febd.js => List-872c113a.js} (92%) rename web/dist/assets/{Messages-95a60791.js => Messages-296c5576.js} (61%) create mode 100644 web/dist/assets/Messages-7ed31ecd.css delete mode 100644 web/dist/assets/Messages-e24ddbef.css rename web/dist/assets/{MoreHorizFilled-6e21ff10.js => MoreHorizFilled-c8a99fb4.js} (86%) rename web/dist/assets/{Pagination-84d10fc7.js => Pagination-35c2dd8e.js} (97%) create mode 100644 web/dist/assets/Post-21e0e7c2.js create mode 100644 web/dist/assets/Post-2b9ab2ef.css delete mode 100644 web/dist/assets/Post-382cf629.css delete mode 100644 web/dist/assets/Post-abdce3fa.js create mode 100644 web/dist/assets/Profile-1b2bf9dc.js delete mode 100644 web/dist/assets/Profile-4e38522f.css create mode 100644 web/dist/assets/Profile-5d71a5c2.css delete mode 100644 web/dist/assets/Profile-85f3412c.js rename web/dist/assets/{Setting-fc8840df.js => Setting-3190a67c.js} (81%) delete mode 100644 web/dist/assets/Setting-ba9086ff.css create mode 100644 web/dist/assets/Setting-bfd24152.css rename web/dist/assets/{Skeleton-ca436747.js => Skeleton-6c42d34d.js} (97%) rename web/dist/assets/{Thing-2157b754.js => Thing-7c7318d4.js} (96%) create mode 100644 web/dist/assets/Topic-3a36c606.css delete mode 100644 web/dist/assets/Topic-6db07811.css rename web/dist/assets/{Topic-6164b997.js => Topic-e75f8e46.js} (69%) rename web/dist/assets/{Upload-f8f7ade2.js => Upload-4d55d917.js} (99%) rename web/dist/assets/{User-c0bbddf5.js => User-30ca5925.js} (78%) create mode 100644 web/dist/assets/User-4f525d0f.css delete mode 100644 web/dist/assets/User-e49182fd.css create mode 100644 web/dist/assets/Wallet-77044929.css delete mode 100644 web/dist/assets/Wallet-7e67516c.css rename web/dist/assets/{Wallet-21894a59.js => Wallet-ea78d089.js} (98%) rename web/dist/assets/{content-c9c72716.js => content-91421e79.js} (98%) rename web/dist/assets/{content-ebd7946e.css => content-cc55174b.css} (89%) rename web/dist/assets/{formatTime-09781e30.js => formatTime-0c777b4d.js} (86%) create mode 100644 web/dist/assets/index-4af9b72d.css rename web/dist/assets/{index-c17d3913.js => index-dfd5495a.js} (97%) delete mode 100644 web/dist/assets/index-e95a8d3c.css rename web/dist/assets/{main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js => main-nav.vue_vue_type_style_index_0_lang-750a5968.js} (99%) rename web/dist/assets/{post-item-dc5866aa.css => post-item-3a63e077.css} (81%) rename web/dist/assets/{post-item.vue_vue_type_style_index_0_lang-ce942869.js => post-item.vue_vue_type_style_index_0_lang-8c8699fb.js} (92%) delete mode 100644 web/dist/assets/post-skeleton-3d1d61f7.css delete mode 100644 web/dist/assets/post-skeleton-40e81755.js create mode 100644 web/dist/assets/post-skeleton-445c3b83.js create mode 100644 web/dist/assets/post-skeleton-f1900002.css diff --git a/web/dist/assets/404-020b2afd.css b/web/dist/assets/404-020b2afd.css new file mode 100644 index 00000000..6395cfa0 --- /dev/null +++ b/web/dist/assets/404-020b2afd.css @@ -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} diff --git a/web/dist/assets/404-0638bdac.css b/web/dist/assets/404-0638bdac.css deleted file mode 100644 index 97fa0638..00000000 --- a/web/dist/assets/404-0638bdac.css +++ /dev/null @@ -1 +0,0 @@ -.wrap404[data-v-b082cc88]{min-height:500px;display:flex;align-items:center;justify-content:center} diff --git a/web/dist/assets/404-fafefb76.js b/web/dist/assets/404-9bdfc78f.js similarity index 93% rename from web/dist/assets/404-fafefb76.js rename to web/dist/assets/404-9bdfc78f.js index 7a72b276..274e17d7 100644 --- a/web/dist/assets/404-fafefb76.js +++ b/web/dist/assets/404-9bdfc78f.js @@ -1,4 +1,4 @@ -import{_ as F}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";import{h as e,c as u,f as p,d as h,u as S,x as v,cH as V,y as m,z as d,A as M,N as R,cv as $,ct as E,an as I,cu as L,Y as D,a4 as f,a5 as _,W as T,a9 as H,ak as P,K as k,al as N}from"./index-c17d3913.js";import{_ as j}from"./List-28c5febd.js";const O=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},e("circle",{fill:"#FFCB4C",cx:"18",cy:"17.018",r:"17"}),e("path",{fill:"#65471B",d:"M14.524 21.036c-.145-.116-.258-.274-.312-.464-.134-.46.13-.918.59-1.021 4.528-1.021 7.577 1.363 7.706 1.465.384.306.459.845.173 1.205-.286.358-.828.401-1.211.097-.11-.084-2.523-1.923-6.182-1.098-.274.061-.554-.016-.764-.184z"}),e("ellipse",{fill:"#65471B",cx:"13.119",cy:"11.174",rx:"2.125",ry:"2.656"}),e("ellipse",{fill:"#65471B",cx:"24.375",cy:"12.236",rx:"2.125",ry:"2.656"}),e("path",{fill:"#F19020",d:"M17.276 35.149s1.265-.411 1.429-1.352c.173-.972-.624-1.167-.624-1.167s1.041-.208 1.172-1.376c.123-1.101-.861-1.363-.861-1.363s.97-.4 1.016-1.539c.038-.959-.995-1.428-.995-1.428s5.038-1.221 5.556-1.341c.516-.12 1.32-.615 1.069-1.694-.249-1.08-1.204-1.118-1.697-1.003-.494.115-6.744 1.566-8.9 2.068l-1.439.334c-.54.127-.785-.11-.404-.512.508-.536.833-1.129.946-2.113.119-1.035-.232-2.313-.433-2.809-.374-.921-1.005-1.649-1.734-1.899-1.137-.39-1.945.321-1.542 1.561.604 1.854.208 3.375-.833 4.293-2.449 2.157-3.588 3.695-2.83 6.973.828 3.575 4.377 5.876 7.952 5.048l3.152-.681z"}),e("path",{fill:"#65471B",d:"M9.296 6.351c-.164-.088-.303-.224-.391-.399-.216-.428-.04-.927.393-1.112 4.266-1.831 7.699-.043 7.843.034.433.231.608.747.391 1.154-.216.405-.74.546-1.173.318-.123-.063-2.832-1.432-6.278.047-.257.109-.547.085-.785-.042zm12.135 3.75c-.156-.098-.286-.243-.362-.424-.187-.442.023-.927.468-1.084 4.381-1.536 7.685.48 7.823.567.415.26.555.787.312 1.178-.242.39-.776.495-1.191.238-.12-.072-2.727-1.621-6.267-.379-.266.091-.553.046-.783-.096z"})),W=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},e("path",{fill:"#FFCC4D",d:"M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"}),e("ellipse",{fill:"#664500",cx:"18",cy:"27",rx:"5",ry:"6"}),e("path",{fill:"#664500",d:"M5.999 11c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C8.462 5.05 12.816 5 13 5c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm24.002 0c-.305 0-.604-.138-.801-.4-2.64-3.521-6.061-3.598-6.206-3.6-.55-.006-.994-.456-.991-1.005C22.006 5.444 22.45 5 23 5c.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zm-16.087 4.5l1.793-1.793c.391-.391.391-1.023 0-1.414s-1.023-.391-1.414 0L12.5 14.086l-1.793-1.793c-.391-.391-1.023-.391-1.414 0s-.391 1.023 0 1.414l1.793 1.793-1.793 1.793c-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293s.512-.098.707-.293l1.793-1.793 1.793 1.793c.195.195.451.293.707.293s.512-.098.707-.293c.391-.391.391-1.023 0-1.414L13.914 15.5zm11 0l1.793-1.793c.391-.391.391-1.023 0-1.414s-1.023-.391-1.414 0L23.5 14.086l-1.793-1.793c-.391-.391-1.023-.391-1.414 0s-.391 1.023 0 1.414l1.793 1.793-1.793 1.793c-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293s.512-.098.707-.293l1.793-1.793 1.793 1.793c.195.195.451.293.707.293s.512-.098.707-.293c.391-.391.391-1.023 0-1.414L24.914 15.5z"})),A=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},e("ellipse",{fill:"#292F33",cx:"18",cy:"26",rx:"18",ry:"10"}),e("ellipse",{fill:"#66757F",cx:"18",cy:"24",rx:"18",ry:"10"}),e("path",{fill:"#E1E8ED",d:"M18 31C3.042 31 1 16 1 12h34c0 2-1.958 19-17 19z"}),e("path",{fill:"#77B255",d:"M35 12.056c0 5.216-7.611 9.444-17 9.444S1 17.271 1 12.056C1 6.84 8.611 3.611 18 3.611s17 3.229 17 8.445z"}),e("ellipse",{fill:"#A6D388",cx:"18",cy:"13",rx:"15",ry:"7"}),e("path",{d:"M21 17c-.256 0-.512-.098-.707-.293-2.337-2.337-2.376-4.885-.125-8.262.739-1.109.9-2.246.478-3.377-.461-1.236-1.438-1.996-1.731-2.077-.553 0-.958-.443-.958-.996 0-.552.491-.995 1.043-.995.997 0 2.395 1.153 3.183 2.625 1.034 1.933.91 4.039-.351 5.929-1.961 2.942-1.531 4.332-.125 5.738.391.391.391 1.023 0 1.414-.195.196-.451.294-.707.294zm-6-2c-.256 0-.512-.098-.707-.293-2.337-2.337-2.376-4.885-.125-8.262.727-1.091.893-2.083.494-2.947-.444-.961-1.431-1.469-1.684-1.499-.552 0-.989-.447-.989-1 0-.552.458-1 1.011-1 .997 0 2.585.974 3.36 2.423.481.899 1.052 2.761-.528 5.131-1.961 2.942-1.531 4.332-.125 5.738.391.391.391 1.023 0 1.414-.195.197-.451.295-.707.295z",fill:"#5C913B"})),K=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},e("path",{fill:"#EF9645",d:"M15.5 2.965c1.381 0 2.5 1.119 2.5 2.5v.005L20.5.465c1.381 0 2.5 1.119 2.5 2.5V4.25l2.5-1.535c1.381 0 2.5 1.119 2.5 2.5V8.75L29 18H15.458L15.5 2.965z"}),e("path",{fill:"#FFDC5D",d:"M4.625 16.219c1.381-.611 3.354.208 4.75 2.188.917 1.3 1.187 3.151 2.391 3.344.46.073 1.234-.313 1.234-1.397V4.5s0-2 2-2 2 2 2 2v11.633c0-.029 1-.064 1-.082V2s0-2 2-2 2 2 2 2v14.053c0 .017 1 .041 1 .069V4.25s0-2 2-2 2 2 2 2v12.638c0 .118 1 .251 1 .398V8.75s0-2 2-2 2 2 2 2V24c0 6.627-5.373 12-12 12-4.775 0-8.06-2.598-9.896-5.292C8.547 28.423 8.096 26.051 8 25.334c0 0-.123-1.479-1.156-2.865-1.469-1.969-2.5-3.156-3.125-3.866-.317-.359-.625-1.707.906-2.384z"})),Y=u("result",` +import{_ as S}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{h as e,c as u,f as p,d as h,u as V,x as v,cH as b,y as m,z as d,A as M,N as R,cv as $,ct as E,an as I,cu as L,Y as D,a4 as f,a5 as _,W as T,a9 as H,ak as P,K as k,al as N}from"./index-dfd5495a.js";import{_ as j}from"./List-872c113a.js";const O=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},e("circle",{fill:"#FFCB4C",cx:"18",cy:"17.018",r:"17"}),e("path",{fill:"#65471B",d:"M14.524 21.036c-.145-.116-.258-.274-.312-.464-.134-.46.13-.918.59-1.021 4.528-1.021 7.577 1.363 7.706 1.465.384.306.459.845.173 1.205-.286.358-.828.401-1.211.097-.11-.084-2.523-1.923-6.182-1.098-.274.061-.554-.016-.764-.184z"}),e("ellipse",{fill:"#65471B",cx:"13.119",cy:"11.174",rx:"2.125",ry:"2.656"}),e("ellipse",{fill:"#65471B",cx:"24.375",cy:"12.236",rx:"2.125",ry:"2.656"}),e("path",{fill:"#F19020",d:"M17.276 35.149s1.265-.411 1.429-1.352c.173-.972-.624-1.167-.624-1.167s1.041-.208 1.172-1.376c.123-1.101-.861-1.363-.861-1.363s.97-.4 1.016-1.539c.038-.959-.995-1.428-.995-1.428s5.038-1.221 5.556-1.341c.516-.12 1.32-.615 1.069-1.694-.249-1.08-1.204-1.118-1.697-1.003-.494.115-6.744 1.566-8.9 2.068l-1.439.334c-.54.127-.785-.11-.404-.512.508-.536.833-1.129.946-2.113.119-1.035-.232-2.313-.433-2.809-.374-.921-1.005-1.649-1.734-1.899-1.137-.39-1.945.321-1.542 1.561.604 1.854.208 3.375-.833 4.293-2.449 2.157-3.588 3.695-2.83 6.973.828 3.575 4.377 5.876 7.952 5.048l3.152-.681z"}),e("path",{fill:"#65471B",d:"M9.296 6.351c-.164-.088-.303-.224-.391-.399-.216-.428-.04-.927.393-1.112 4.266-1.831 7.699-.043 7.843.034.433.231.608.747.391 1.154-.216.405-.74.546-1.173.318-.123-.063-2.832-1.432-6.278.047-.257.109-.547.085-.785-.042zm12.135 3.75c-.156-.098-.286-.243-.362-.424-.187-.442.023-.927.468-1.084 4.381-1.536 7.685.48 7.823.567.415.26.555.787.312 1.178-.242.39-.776.495-1.191.238-.12-.072-2.727-1.621-6.267-.379-.266.091-.553.046-.783-.096z"})),W=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},e("path",{fill:"#FFCC4D",d:"M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"}),e("ellipse",{fill:"#664500",cx:"18",cy:"27",rx:"5",ry:"6"}),e("path",{fill:"#664500",d:"M5.999 11c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C8.462 5.05 12.816 5 13 5c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm24.002 0c-.305 0-.604-.138-.801-.4-2.64-3.521-6.061-3.598-6.206-3.6-.55-.006-.994-.456-.991-1.005C22.006 5.444 22.45 5 23 5c.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zm-16.087 4.5l1.793-1.793c.391-.391.391-1.023 0-1.414s-1.023-.391-1.414 0L12.5 14.086l-1.793-1.793c-.391-.391-1.023-.391-1.414 0s-.391 1.023 0 1.414l1.793 1.793-1.793 1.793c-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293s.512-.098.707-.293l1.793-1.793 1.793 1.793c.195.195.451.293.707.293s.512-.098.707-.293c.391-.391.391-1.023 0-1.414L13.914 15.5zm11 0l1.793-1.793c.391-.391.391-1.023 0-1.414s-1.023-.391-1.414 0L23.5 14.086l-1.793-1.793c-.391-.391-1.023-.391-1.414 0s-.391 1.023 0 1.414l1.793 1.793-1.793 1.793c-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293s.512-.098.707-.293l1.793-1.793 1.793 1.793c.195.195.451.293.707.293s.512-.098.707-.293c.391-.391.391-1.023 0-1.414L24.914 15.5z"})),A=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},e("ellipse",{fill:"#292F33",cx:"18",cy:"26",rx:"18",ry:"10"}),e("ellipse",{fill:"#66757F",cx:"18",cy:"24",rx:"18",ry:"10"}),e("path",{fill:"#E1E8ED",d:"M18 31C3.042 31 1 16 1 12h34c0 2-1.958 19-17 19z"}),e("path",{fill:"#77B255",d:"M35 12.056c0 5.216-7.611 9.444-17 9.444S1 17.271 1 12.056C1 6.84 8.611 3.611 18 3.611s17 3.229 17 8.445z"}),e("ellipse",{fill:"#A6D388",cx:"18",cy:"13",rx:"15",ry:"7"}),e("path",{d:"M21 17c-.256 0-.512-.098-.707-.293-2.337-2.337-2.376-4.885-.125-8.262.739-1.109.9-2.246.478-3.377-.461-1.236-1.438-1.996-1.731-2.077-.553 0-.958-.443-.958-.996 0-.552.491-.995 1.043-.995.997 0 2.395 1.153 3.183 2.625 1.034 1.933.91 4.039-.351 5.929-1.961 2.942-1.531 4.332-.125 5.738.391.391.391 1.023 0 1.414-.195.196-.451.294-.707.294zm-6-2c-.256 0-.512-.098-.707-.293-2.337-2.337-2.376-4.885-.125-8.262.727-1.091.893-2.083.494-2.947-.444-.961-1.431-1.469-1.684-1.499-.552 0-.989-.447-.989-1 0-.552.458-1 1.011-1 .997 0 2.585.974 3.36 2.423.481.899 1.052 2.761-.528 5.131-1.961 2.942-1.531 4.332-.125 5.738.391.391.391 1.023 0 1.414-.195.197-.451.295-.707.295z",fill:"#5C913B"})),K=e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},e("path",{fill:"#EF9645",d:"M15.5 2.965c1.381 0 2.5 1.119 2.5 2.5v.005L20.5.465c1.381 0 2.5 1.119 2.5 2.5V4.25l2.5-1.535c1.381 0 2.5 1.119 2.5 2.5V8.75L29 18H15.458L15.5 2.965z"}),e("path",{fill:"#FFDC5D",d:"M4.625 16.219c1.381-.611 3.354.208 4.75 2.188.917 1.3 1.187 3.151 2.391 3.344.46.073 1.234-.313 1.234-1.397V4.5s0-2 2-2 2 2 2 2v11.633c0-.029 1-.064 1-.082V2s0-2 2-2 2 2 2 2v14.053c0 .017 1 .041 1 .069V4.25s0-2 2-2 2 2 2 2v12.638c0 .118 1 .251 1 .398V8.75s0-2 2-2 2 2 2 2V24c0 6.627-5.373 12-12 12-4.775 0-8.06-2.598-9.896-5.292C8.547 28.423 8.096 26.051 8 25.334c0 0-.123-1.479-1.156-2.865-1.469-1.969-2.5-3.156-3.125-3.866-.317-.359-.625-1.707.906-2.384z"})),Y=u("result",` color: var(--n-text-color); line-height: var(--n-line-height); font-size: var(--n-font-size); @@ -29,4 +29,4 @@ import{_ as F}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";impor margin-top: 4px; text-align: center; font-size: var(--n-font-size); - `)])]),q={403:K,404:O,418:A,500:W,info:e($,null),success:e(E,null),warning:e(I,null),error:e(L,null)},G=Object.assign(Object.assign({},v.props),{size:{type:String,default:"medium"},status:{type:String,default:"info"},title:String,description:String}),J=h({name:"Result",props:G,setup(n){const{mergedClsPrefixRef:r,inlineThemeDisabled:t}=S(n),s=v("Result","-result",Y,V,n,r),o=m(()=>{const{size:l,status:a}=n,{common:{cubicBezierEaseInOut:c},self:{textColor:g,lineHeight:x,titleTextColor:z,titleFontWeight:w,[d("iconColor",a)]:C,[d("fontSize",l)]:y,[d("titleFontSize",l)]:B,[d("iconSize",l)]:b}}=s.value;return{"--n-bezier":c,"--n-font-size":y,"--n-icon-size":b,"--n-line-height":x,"--n-text-color":g,"--n-title-font-size":B,"--n-title-font-weight":w,"--n-title-text-color":z,"--n-icon-color":C||""}}),i=t?M("result",m(()=>{const{size:l,status:a}=n;let c="";return l&&(c+=l[0]),a&&(c+=a[0]),c}),o,n):void 0;return{mergedClsPrefix:r,cssVars:t?void 0:o,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var n;const{status:r,$slots:t,mergedClsPrefix:s,onRender:o}=this;return o==null||o(),e("div",{class:[`${s}-result`,this.themeClass],style:this.cssVars},e("div",{class:`${s}-result-icon`},((n=t.icon)===null||n===void 0?void 0:n.call(t))||e(R,{clsPrefix:s},{default:()=>q[r]})),e("div",{class:`${s}-result-header`},this.title?e("div",{class:`${s}-result-header__title`},this.title):null,this.description?e("div",{class:`${s}-result-header__description`},this.description):null),t.default&&e("div",{class:`${s}-result-content`},t),t.footer&&e("div",{class:`${s}-result-footer`},t.footer()))}}),Q=h({__name:"404",setup(n){const r=P(),t=()=>{r.push({path:"/"})};return(s,o)=>{const i=F,l=k,a=J,c=j;return T(),D("div",null,[f(i,{title:"404"}),f(c,{class:"main-content-wrap wrap404",bordered:""},{default:_(()=>[f(a,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:_(()=>[f(l,{onClick:t},{default:_(()=>[H("回主页")]),_:1})]),_:1})]),_:1})])}}});const e1=N(Q,[["__scopeId","data-v-b082cc88"]]);export{e1 as default}; + `)])]),q={403:K,404:O,418:A,500:W,info:e($,null),success:e(E,null),warning:e(I,null),error:e(L,null)},G=Object.assign(Object.assign({},v.props),{size:{type:String,default:"medium"},status:{type:String,default:"info"},title:String,description:String}),J=h({name:"Result",props:G,setup(n){const{mergedClsPrefixRef:r,inlineThemeDisabled:t}=V(n),s=v("Result","-result",Y,b,n,r),o=m(()=>{const{size:l,status:a}=n,{common:{cubicBezierEaseInOut:c},self:{textColor:g,lineHeight:x,titleTextColor:z,titleFontWeight:w,[d("iconColor",a)]:C,[d("fontSize",l)]:y,[d("titleFontSize",l)]:B,[d("iconSize",l)]:F}}=s.value;return{"--n-bezier":c,"--n-font-size":y,"--n-icon-size":F,"--n-line-height":x,"--n-text-color":g,"--n-title-font-size":B,"--n-title-font-weight":w,"--n-title-text-color":z,"--n-icon-color":C||""}}),i=t?M("result",m(()=>{const{size:l,status:a}=n;let c="";return l&&(c+=l[0]),a&&(c+=a[0]),c}),o,n):void 0;return{mergedClsPrefix:r,cssVars:t?void 0:o,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var n;const{status:r,$slots:t,mergedClsPrefix:s,onRender:o}=this;return o==null||o(),e("div",{class:[`${s}-result`,this.themeClass],style:this.cssVars},e("div",{class:`${s}-result-icon`},((n=t.icon)===null||n===void 0?void 0:n.call(t))||e(R,{clsPrefix:s},{default:()=>q[r]})),e("div",{class:`${s}-result-header`},this.title?e("div",{class:`${s}-result-header__title`},this.title):null,this.description?e("div",{class:`${s}-result-header__description`},this.description):null),t.default&&e("div",{class:`${s}-result-content`},t),t.footer&&e("div",{class:`${s}-result-footer`},t.footer()))}}),Q=h({__name:"404",setup(n){const r=P(),t=()=>{r.push({path:"/"})};return(s,o)=>{const i=S,l=k,a=J,c=j;return T(),D("div",null,[f(i,{title:"404"}),f(c,{class:"main-content-wrap wrap404",bordered:""},{default:_(()=>[f(a,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:_(()=>[f(l,{onClick:t},{default:_(()=>[H("回主页")]),_:1})]),_:1})]),_:1})])}}});const e1=N(Q,[["__scopeId","data-v-e62daa85"]]);export{e1 as default}; diff --git a/web/dist/assets/Alert-e0e350bb.js b/web/dist/assets/Alert-f1e64ed3.js similarity index 87% rename from web/dist/assets/Alert-e0e350bb.js rename to web/dist/assets/Alert-f1e64ed3.js index 6b32a504..7426c4fb 100644 --- a/web/dist/assets/Alert-e0e350bb.js +++ b/web/dist/assets/Alert-f1e64ed3.js @@ -1,4 +1,4 @@ -import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,u as G,x as H,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",` +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",` line-height: var(--n-line-height); border-radius: var(--n-border-radius); position: relative; @@ -45,4 +45,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 _}; diff --git a/web/dist/assets/Anouncement-bb8f5e6e.js b/web/dist/assets/Anouncement-362c2a8b.js similarity index 77% rename from web/dist/assets/Anouncement-bb8f5e6e.js rename to web/dist/assets/Anouncement-362c2a8b.js index 6bc8a1f9..032727e7 100644 --- a/web/dist/assets/Anouncement-bb8f5e6e.js +++ b/web/dist/assets/Anouncement-362c2a8b.js @@ -1 +1 @@ -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}; +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}; diff --git a/web/dist/assets/Collection-80f4dbd5.css b/web/dist/assets/Collection-80f4dbd5.css deleted file mode 100644 index 3db123b1..00000000 --- a/web/dist/assets/Collection-80f4dbd5.css +++ /dev/null @@ -1 +0,0 @@ -.pagination-wrap[data-v-69c01585]{padding:10px;display:flex;justify-content:center;overflow:hidden} diff --git a/web/dist/assets/Collection-8fafe5fc.js b/web/dist/assets/Collection-8fafe5fc.js new file mode 100644 index 00000000..1c66c375 --- /dev/null +++ b/web/dist/assets/Collection-8fafe5fc.js @@ -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}; diff --git a/web/dist/assets/Collection-9fafc8b1.js b/web/dist/assets/Collection-9fafc8b1.js deleted file mode 100644 index 1052cd7c..00000000 --- a/web/dist/assets/Collection-9fafc8b1.js +++ /dev/null @@ -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}; diff --git a/web/dist/assets/Collection-e1365ea0.css b/web/dist/assets/Collection-e1365ea0.css new file mode 100644 index 00000000..db797d3f --- /dev/null +++ b/web/dist/assets/Collection-e1365ea0.css @@ -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} diff --git a/web/dist/assets/Contacts-1dbeea36.js b/web/dist/assets/Contacts-1dbeea36.js deleted file mode 100644 index b6f93493..00000000 --- a/web/dist/assets/Contacts-1dbeea36.js +++ /dev/null @@ -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}; diff --git a/web/dist/assets/Contacts-9dd72b63.js b/web/dist/assets/Contacts-9dd72b63.js new file mode 100644 index 00000000..1e7fec3d --- /dev/null +++ b/web/dist/assets/Contacts-9dd72b63.js @@ -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}; diff --git a/web/dist/assets/Contacts-b60e5e0d.css b/web/dist/assets/Contacts-b60e5e0d.css new file mode 100644 index 00000000..d101949f --- /dev/null +++ b/web/dist/assets/Contacts-b60e5e0d.css @@ -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} diff --git a/web/dist/assets/Contacts-f68f8d51.css b/web/dist/assets/Contacts-f68f8d51.css deleted file mode 100644 index 729ce061..00000000 --- a/web/dist/assets/Contacts-f68f8d51.css +++ /dev/null @@ -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} diff --git a/web/dist/assets/Home-d9a0354e.js b/web/dist/assets/Home-4b4f3711.js similarity index 90% rename from web/dist/assets/Home-d9a0354e.js rename to web/dist/assets/Home-4b4f3711.js index 4756cd0a..54b5ac53 100644 --- a/web/dist/assets/Home-d9a0354e.js +++ b/web/dist/assets/Home-4b4f3711.js @@ -1,4 +1,4 @@ -import{_ as It}from"./post-item.vue_vue_type_style_index_0_lang-ce942869.js";import{_ as Vt}from"./post-skeleton-40e81755.js";import{d as Q,h as i,c as q,a as $e,b as G,e as W,f as K,u as we,g as $t,p as Ze,i as Se,j as St,k as et,l as Bt,m as rt,n as ft,o as tt,r as $,q as De,t as ce,s as Ue,v as re,w as Z,x as fe,y as ne,z as ze,A as nt,B as Qe,C as Pt,D as zt,E as pt,F as mt,G as ht,H as Tt,_ as Te,I as At,J as vt,K as ye,L as Ae,N as ve,M as Ye,O as Dt,P as Ge,Q as We,R as Ut,S as gt,T as Ot,U as at,X as lt,V as Ft,W as E,Y as J,Z as X,$ as bt,a0 as Nt,a1 as Mt,a2 as _t,a3 as ae,a4 as I,a5 as T,a6 as Ve,a7 as le,a8 as it,a9 as Re,aa as Et,ab as yt,ac as wt,ad as Lt,ae as jt,af as qt,ag as Ht,ah as Kt,ai as Gt,aj as Wt,ak as Jt,al as Xt}from"./index-c17d3913.js";import{V as de,l as st,I as Qt,P as Ie,_ as Yt}from"./IEnum-2acc8be7.js";import{p as Zt}from"./content-c9c72716.js";import{_ as en,a as tn,b as nn,c as on}from"./Upload-f8f7ade2.js";import{_ as rn}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";import{_ as an}from"./List-28c5febd.js";import{_ as ln}from"./Pagination-84d10fc7.js";import{_ as sn,a as un}from"./Skeleton-ca436747.js";import"./formatTime-09781e30.js";import"./Thing-2157b754.js";const dn=Q({name:"ArrowDown",render(){return i("svg",{viewBox:"0 0 28 28",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},i("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},i("g",{"fill-rule":"nonzero"},i("path",{d:"M23.7916,15.2664 C24.0788,14.9679 24.0696,14.4931 23.7711,14.206 C23.4726,13.9188 22.9978,13.928 22.7106,14.2265 L14.7511,22.5007 L14.7511,3.74792 C14.7511,3.33371 14.4153,2.99792 14.0011,2.99792 C13.5869,2.99792 13.2511,3.33371 13.2511,3.74793 L13.2511,22.4998 L5.29259,14.2265 C5.00543,13.928 4.53064,13.9188 4.23213,14.206 C3.93361,14.4931 3.9244,14.9679 4.21157,15.2664 L13.2809,24.6944 C13.6743,25.1034 14.3289,25.1034 14.7223,24.6944 L23.7916,15.2664 Z"}))))}}),cn=Q({name:"ArrowUp",render(){return i("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20"},i("g",{fill:"none"},i("path",{d:"M3.13 9.163a.5.5 0 1 0 .74.674L9.5 3.67V17.5a.5.5 0 0 0 1 0V3.672l5.63 6.165a.5.5 0 0 0 .738-.674l-6.315-6.916a.746.746 0 0 0-.632-.24a.746.746 0 0 0-.476.24L3.131 9.163z",fill:"currentColor"})))}}),xt=Q({name:"Remove",render(){return i("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},i("line",{x1:"400",y1:"256",x2:"112",y2:"256",style:` +import{_ as It}from"./post-item.vue_vue_type_style_index_0_lang-8c8699fb.js";import{_ as Vt}from"./post-skeleton-445c3b83.js";import{d as Q,h as i,c as q,a as $e,b as G,e as W,f as K,u as we,g as $t,p as Ze,i as St,j as Se,k as et,l as Bt,m as rt,n as ft,o as tt,r as $,q as De,t as ce,s as Ue,v as re,w as Z,x as fe,y as ne,z as ze,A as nt,B as Qe,C as Pt,D as zt,E as pt,F as mt,G as ht,H as Tt,_ as Te,I as At,J as vt,K as ye,L as Ae,N as ve,M as Ye,O as Dt,P as Ge,Q as We,R as Ut,S as gt,T as Ot,U as at,X as lt,V as Ft,W as E,Y as J,Z as X,$ as bt,a0 as Nt,a1 as Mt,a2 as _t,a3 as ae,a4 as I,a5 as A,a6 as Ve,a7 as le,a8 as it,a9 as Re,aa as Et,ab as yt,ac as wt,ad as Lt,ae as jt,af as qt,ag as Ht,ah as Kt,ai as Gt,aj as Wt,ak as Jt,al as Xt}from"./index-dfd5495a.js";import{V as de,l as st,I as Qt,P as Ie,_ as Yt}from"./IEnum-1d2492bb.js";import{p as Zt}from"./content-91421e79.js";import{_ as en,a as tn,b as nn,c as on}from"./Upload-4d55d917.js";import{_ as rn}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{_ as an}from"./List-872c113a.js";import{_ as ln}from"./Pagination-35c2dd8e.js";import{_ as sn,a as un}from"./Skeleton-6c42d34d.js";import"./formatTime-0c777b4d.js";import"./Thing-7c7318d4.js";const dn=Q({name:"ArrowDown",render(){return i("svg",{viewBox:"0 0 28 28",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},i("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},i("g",{"fill-rule":"nonzero"},i("path",{d:"M23.7916,15.2664 C24.0788,14.9679 24.0696,14.4931 23.7711,14.206 C23.4726,13.9188 22.9978,13.928 22.7106,14.2265 L14.7511,22.5007 L14.7511,3.74792 C14.7511,3.33371 14.4153,2.99792 14.0011,2.99792 C13.5869,2.99792 13.2511,3.33371 13.2511,3.74793 L13.2511,22.4998 L5.29259,14.2265 C5.00543,13.928 4.53064,13.9188 4.23213,14.206 C3.93361,14.4931 3.9244,14.9679 4.21157,15.2664 L13.2809,24.6944 C13.6743,25.1034 14.3289,25.1034 14.7223,24.6944 L23.7916,15.2664 Z"}))))}}),cn=Q({name:"ArrowUp",render(){return i("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20"},i("g",{fill:"none"},i("path",{d:"M3.13 9.163a.5.5 0 1 0 .74.674L9.5 3.67V17.5a.5.5 0 0 0 1 0V3.672l5.63 6.165a.5.5 0 0 0 .738-.674l-6.315-6.916a.746.746 0 0 0-.632-.24a.746.746 0 0 0-.476.24L3.131 9.163z",fill:"currentColor"})))}}),xt=Q({name:"Remove",render(){return i("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},i("line",{x1:"400",y1:"256",x2:"112",y2:"256",style:` fill: none; stroke: currentColor; stroke-linecap: round; @@ -35,7 +35,7 @@ import{_ as It}from"./post-item.vue_vue_type_style_index_0_lang-ce942869.js";imp `),G("&:not(:first-child):not(:last-child)",` margin: ${M}; border-radius: ${M}; - `),_e("default"),W("ghost",[_e("primary"),_e("info"),_e("success"),_e("warning"),_e("error")])])])]),pn={size:{type:String,default:void 0},vertical:Boolean},mn=Q({name:"ButtonGroup",props:pn,setup(e){const{mergedClsPrefixRef:o,mergedRtlRef:t}=we(e);return $t("-button-group",fn,o),Ze(St,e),{rtlEnabled:Se("ButtonGroup",t,o),mergedClsPrefix:o}},render(){const{mergedClsPrefix:e}=this;return i("div",{class:[`${e}-button-group`,this.rtlEnabled&&`${e}-button-group--rtl`,this.vertical&&`${e}-button-group--vertical`],role:"group"},this.$slots)}}),hn=e=>{const{borderColor:o,primaryColor:t,baseColor:s,textColorDisabled:a,inputColorDisabled:c,textColor2:l,opacityDisabled:k,borderRadius:g,fontSizeSmall:S,fontSizeMedium:p,fontSizeLarge:U,heightSmall:b,heightMedium:m,heightLarge:_,lineHeight:y}=e;return Object.assign(Object.assign({},Bt),{labelLineHeight:y,buttonHeightSmall:b,buttonHeightMedium:m,buttonHeightLarge:_,fontSizeSmall:S,fontSizeMedium:p,fontSizeLarge:U,boxShadow:`inset 0 0 0 1px ${o}`,boxShadowActive:`inset 0 0 0 1px ${t}`,boxShadowFocus:`inset 0 0 0 1px ${t}, 0 0 0 2px ${rt(t,{alpha:.2})}`,boxShadowHover:`inset 0 0 0 1px ${t}`,boxShadowDisabled:`inset 0 0 0 1px ${o}`,color:s,colorDisabled:c,colorActive:"#0000",textColor:l,textColorDisabled:a,dotColorActive:t,dotColorDisabled:o,buttonBorderColor:o,buttonBorderColorActive:t,buttonBorderColorHover:o,buttonColor:s,buttonColorActive:s,buttonTextColor:l,buttonTextColorActive:t,buttonTextColorHover:t,opacityDisabled:k,buttonBoxShadowFocus:`inset 0 0 0 1px ${t}, 0 0 0 2px ${rt(t,{alpha:.3})}`,buttonBoxShadowHover:"inset 0 0 0 1px #0000",buttonBoxShadow:"inset 0 0 0 1px #0000",buttonBorderRadius:g})},vn={name:"Radio",common:et,self:hn},kt=vn,gn={name:String,value:{type:[String,Number,Boolean],default:"on"},checked:{type:Boolean,default:void 0},defaultChecked:Boolean,disabled:{type:Boolean,default:void 0},label:String,size:String,onUpdateChecked:[Function,Array],"onUpdate:checked":[Function,Array],checkedValue:{type:Boolean,default:void 0}},Rt=ft("n-radio-group");function bn(e){const o=tt(e,{mergedSize(u){const{size:A}=e;if(A!==void 0)return A;if(l){const{mergedSizeRef:{value:D}}=l;if(D!==void 0)return D}return u?u.mergedSize.value:"medium"},mergedDisabled(u){return!!(e.disabled||l!=null&&l.disabledRef.value||u!=null&&u.disabled.value)}}),{mergedSizeRef:t,mergedDisabledRef:s}=o,a=$(null),c=$(null),l=De(Rt,null),k=$(e.defaultChecked),g=ce(e,"checked"),S=Ue(g,k),p=re(()=>l?l.valueRef.value===e.value:S.value),U=re(()=>{const{name:u}=e;if(u!==void 0)return u;if(l)return l.nameRef.value}),b=$(!1);function m(){if(l){const{doUpdateValue:u}=l,{value:A}=e;Z(u,A)}else{const{onUpdateChecked:u,"onUpdate:checked":A}=e,{nTriggerFormInput:D,nTriggerFormChange:F}=o;u&&Z(u,!0),A&&Z(A,!0),D(),F(),k.value=!0}}function _(){s.value||p.value||m()}function y(){_()}function w(){b.value=!1}function z(){b.value=!0}return{mergedClsPrefix:l?l.mergedClsPrefixRef:we(e).mergedClsPrefixRef,inputRef:a,labelRef:c,mergedName:U,mergedDisabled:s,uncontrolledChecked:k,renderSafeChecked:p,focus:b,mergedSize:t,handleRadioInputChange:y,handleRadioInputBlur:w,handleRadioInputFocus:z}}const _n=q("radio",` + `),_e("default"),W("ghost",[_e("primary"),_e("info"),_e("success"),_e("warning"),_e("error")])])])]),pn={size:{type:String,default:void 0},vertical:Boolean},mn=Q({name:"ButtonGroup",props:pn,setup(e){const{mergedClsPrefixRef:o,mergedRtlRef:t}=we(e);return $t("-button-group",fn,o),Ze(St,e),{rtlEnabled:Se("ButtonGroup",t,o),mergedClsPrefix:o}},render(){const{mergedClsPrefix:e}=this;return i("div",{class:[`${e}-button-group`,this.rtlEnabled&&`${e}-button-group--rtl`,this.vertical&&`${e}-button-group--vertical`],role:"group"},this.$slots)}}),hn=e=>{const{borderColor:o,primaryColor:t,baseColor:s,textColorDisabled:a,inputColorDisabled:c,textColor2:l,opacityDisabled:k,borderRadius:g,fontSizeSmall:S,fontSizeMedium:p,fontSizeLarge:U,heightSmall:b,heightMedium:m,heightLarge:_,lineHeight:y}=e;return Object.assign(Object.assign({},Bt),{labelLineHeight:y,buttonHeightSmall:b,buttonHeightMedium:m,buttonHeightLarge:_,fontSizeSmall:S,fontSizeMedium:p,fontSizeLarge:U,boxShadow:`inset 0 0 0 1px ${o}`,boxShadowActive:`inset 0 0 0 1px ${t}`,boxShadowFocus:`inset 0 0 0 1px ${t}, 0 0 0 2px ${rt(t,{alpha:.2})}`,boxShadowHover:`inset 0 0 0 1px ${t}`,boxShadowDisabled:`inset 0 0 0 1px ${o}`,color:s,colorDisabled:c,colorActive:"#0000",textColor:l,textColorDisabled:a,dotColorActive:t,dotColorDisabled:o,buttonBorderColor:o,buttonBorderColorActive:t,buttonBorderColorHover:o,buttonColor:s,buttonColorActive:s,buttonTextColor:l,buttonTextColorActive:t,buttonTextColorHover:t,opacityDisabled:k,buttonBoxShadowFocus:`inset 0 0 0 1px ${t}, 0 0 0 2px ${rt(t,{alpha:.3})}`,buttonBoxShadowHover:"inset 0 0 0 1px #0000",buttonBoxShadow:"inset 0 0 0 1px #0000",buttonBorderRadius:g})},vn={name:"Radio",common:et,self:hn},kt=vn,gn={name:String,value:{type:[String,Number,Boolean],default:"on"},checked:{type:Boolean,default:void 0},defaultChecked:Boolean,disabled:{type:Boolean,default:void 0},label:String,size:String,onUpdateChecked:[Function,Array],"onUpdate:checked":[Function,Array],checkedValue:{type:Boolean,default:void 0}},Rt=ft("n-radio-group");function bn(e){const o=tt(e,{mergedSize(u){const{size:T}=e;if(T!==void 0)return T;if(l){const{mergedSizeRef:{value:D}}=l;if(D!==void 0)return D}return u?u.mergedSize.value:"medium"},mergedDisabled(u){return!!(e.disabled||l!=null&&l.disabledRef.value||u!=null&&u.disabled.value)}}),{mergedSizeRef:t,mergedDisabledRef:s}=o,a=$(null),c=$(null),l=De(Rt,null),k=$(e.defaultChecked),g=ce(e,"checked"),S=Ue(g,k),p=re(()=>l?l.valueRef.value===e.value:S.value),U=re(()=>{const{name:u}=e;if(u!==void 0)return u;if(l)return l.nameRef.value}),b=$(!1);function m(){if(l){const{doUpdateValue:u}=l,{value:T}=e;Z(u,T)}else{const{onUpdateChecked:u,"onUpdate:checked":T}=e,{nTriggerFormInput:D,nTriggerFormChange:F}=o;u&&Z(u,!0),T&&Z(T,!0),D(),F(),k.value=!0}}function _(){s.value||p.value||m()}function y(){_()}function w(){b.value=!1}function z(){b.value=!0}return{mergedClsPrefix:l?l.mergedClsPrefixRef:we(e).mergedClsPrefixRef,inputRef:a,labelRef:c,mergedName:U,mergedDisabled:s,uncontrolledChecked:k,renderSafeChecked:p,focus:b,mergedSize:t,handleRadioInputChange:y,handleRadioInputBlur:w,handleRadioInputFocus:z}}const _n=q("radio",` line-height: var(--n-label-line-height); outline: none; position: relative; @@ -109,7 +109,7 @@ import{_ as It}from"./post-item.vue_vue_type_style_index_0_lang-ce942869.js";imp opacity: 1; `)]),K("label",{color:"var(--n-text-color-disabled)"}),q("radio-input",` cursor: not-allowed; - `)])]),yn=Q({name:"Radio",props:Object.assign(Object.assign({},fe.props),gn),setup(e){const o=bn(e),t=fe("Radio","-radio",_n,kt,e,o.mergedClsPrefix),s=ne(()=>{const{mergedSize:{value:S}}=o,{common:{cubicBezierEaseInOut:p},self:{boxShadow:U,boxShadowActive:b,boxShadowDisabled:m,boxShadowFocus:_,boxShadowHover:y,color:w,colorDisabled:z,colorActive:u,textColor:A,textColorDisabled:D,dotColorActive:F,dotColorDisabled:L,labelPadding:H,labelLineHeight:N,labelFontWeight:r,[ze("fontSize",S)]:d,[ze("radioSize",S)]:B}}=t.value;return{"--n-bezier":p,"--n-label-line-height":N,"--n-label-font-weight":r,"--n-box-shadow":U,"--n-box-shadow-active":b,"--n-box-shadow-disabled":m,"--n-box-shadow-focus":_,"--n-box-shadow-hover":y,"--n-color":w,"--n-color-active":u,"--n-color-disabled":z,"--n-dot-color-active":F,"--n-dot-color-disabled":L,"--n-font-size":d,"--n-radio-size":B,"--n-text-color":A,"--n-text-color-disabled":D,"--n-label-padding":H}}),{inlineThemeDisabled:a,mergedClsPrefixRef:c,mergedRtlRef:l}=we(e),k=Se("Radio",l,c),g=a?nt("radio",ne(()=>o.mergedSize.value[0]),s,e):void 0;return Object.assign(o,{rtlEnabled:k,cssVars:a?void 0:s,themeClass:g==null?void 0:g.themeClass,onRender:g==null?void 0:g.onRender})},render(){const{$slots:e,mergedClsPrefix:o,onRender:t,label:s}=this;return t==null||t(),i("label",{class:[`${o}-radio`,this.themeClass,{[`${o}-radio--rtl`]:this.rtlEnabled,[`${o}-radio--disabled`]:this.mergedDisabled,[`${o}-radio--checked`]:this.renderSafeChecked,[`${o}-radio--focus`]:this.focus}],style:this.cssVars},i("input",{ref:"inputRef",type:"radio",class:`${o}-radio-input`,value:this.value,name:this.mergedName,checked:this.renderSafeChecked,disabled:this.mergedDisabled,onChange:this.handleRadioInputChange,onFocus:this.handleRadioInputFocus,onBlur:this.handleRadioInputBlur}),i("div",{class:`${o}-radio__dot-wrapper`}," ",i("div",{class:[`${o}-radio__dot`,this.renderSafeChecked&&`${o}-radio__dot--checked`]})),Qe(e.default,a=>!a&&!s?null:i("div",{ref:"labelRef",class:`${o}-radio__label`},a||s)))}}),wn=q("radio-group",` + `)])]),yn=Q({name:"Radio",props:Object.assign(Object.assign({},fe.props),gn),setup(e){const o=bn(e),t=fe("Radio","-radio",_n,kt,e,o.mergedClsPrefix),s=ne(()=>{const{mergedSize:{value:S}}=o,{common:{cubicBezierEaseInOut:p},self:{boxShadow:U,boxShadowActive:b,boxShadowDisabled:m,boxShadowFocus:_,boxShadowHover:y,color:w,colorDisabled:z,colorActive:u,textColor:T,textColorDisabled:D,dotColorActive:F,dotColorDisabled:L,labelPadding:H,labelLineHeight:N,labelFontWeight:r,[ze("fontSize",S)]:d,[ze("radioSize",S)]:B}}=t.value;return{"--n-bezier":p,"--n-label-line-height":N,"--n-label-font-weight":r,"--n-box-shadow":U,"--n-box-shadow-active":b,"--n-box-shadow-disabled":m,"--n-box-shadow-focus":_,"--n-box-shadow-hover":y,"--n-color":w,"--n-color-active":u,"--n-color-disabled":z,"--n-dot-color-active":F,"--n-dot-color-disabled":L,"--n-font-size":d,"--n-radio-size":B,"--n-text-color":T,"--n-text-color-disabled":D,"--n-label-padding":H}}),{inlineThemeDisabled:a,mergedClsPrefixRef:c,mergedRtlRef:l}=we(e),k=Se("Radio",l,c),g=a?nt("radio",ne(()=>o.mergedSize.value[0]),s,e):void 0;return Object.assign(o,{rtlEnabled:k,cssVars:a?void 0:s,themeClass:g==null?void 0:g.themeClass,onRender:g==null?void 0:g.onRender})},render(){const{$slots:e,mergedClsPrefix:o,onRender:t,label:s}=this;return t==null||t(),i("label",{class:[`${o}-radio`,this.themeClass,{[`${o}-radio--rtl`]:this.rtlEnabled,[`${o}-radio--disabled`]:this.mergedDisabled,[`${o}-radio--checked`]:this.renderSafeChecked,[`${o}-radio--focus`]:this.focus}],style:this.cssVars},i("input",{ref:"inputRef",type:"radio",class:`${o}-radio-input`,value:this.value,name:this.mergedName,checked:this.renderSafeChecked,disabled:this.mergedDisabled,onChange:this.handleRadioInputChange,onFocus:this.handleRadioInputFocus,onBlur:this.handleRadioInputBlur}),i("div",{class:`${o}-radio__dot-wrapper`}," ",i("div",{class:[`${o}-radio__dot`,this.renderSafeChecked&&`${o}-radio__dot--checked`]})),Qe(e.default,a=>!a&&!s?null:i("div",{ref:"labelRef",class:`${o}-radio__label`},a||s)))}}),wn=q("radio-group",` display: inline-block; font-size: var(--n-font-size); `,[K("splitor",` @@ -190,7 +190,7 @@ import{_ as It}from"./post-item.vue_vue_type_style_index_0_lang-ce942869.js";imp `),W("disabled",` cursor: not-allowed; opacity: var(--n-opacity-disabled); - `)])]);function xn(e,o,t){var s;const a=[];let c=!1;for(let l=0;l{const{value:F}=t,{common:{cubicBezierEaseInOut:L},self:{buttonBorderColor:H,buttonBorderColorActive:N,buttonBorderRadius:r,buttonBoxShadow:d,buttonBoxShadowFocus:B,buttonBoxShadowHover:R,buttonColorActive:Y,buttonTextColor:pe,buttonTextColorActive:me,buttonTextColorHover:ee,opacityDisabled:he,[ze("buttonHeight",F)]:xe,[ze("fontSize",F)]:Ce}}=U.value;return{"--n-font-size":Ce,"--n-bezier":L,"--n-button-border-color":H,"--n-button-border-color-active":N,"--n-button-border-radius":r,"--n-button-box-shadow":d,"--n-button-box-shadow-focus":B,"--n-button-box-shadow-hover":R,"--n-button-color-active":Y,"--n-button-text-color":pe,"--n-button-text-color-hover":ee,"--n-button-text-color-active":me,"--n-height":xe,"--n-opacity-disabled":he}}),D=S?nt("radio-group",ne(()=>t.value[0]),A,e):void 0;return{selfElRef:o,rtlEnabled:u,mergedClsPrefix:g,mergedValue:_,handleFocusout:z,handleFocusin:w,cssVars:S?void 0:A,themeClass:D==null?void 0:D.themeClass,onRender:D==null?void 0:D.onRender}},render(){var e;const{mergedValue:o,mergedClsPrefix:t,handleFocusin:s,handleFocusout:a}=this,{children:c,isButtonGroup:l}=xn(Pt(zt(this)),o,t);return(e=this.onRender)===null||e===void 0||e.call(this),i("div",{onFocusin:s,onFocusout:a,ref:"selfElRef",class:[`${t}-radio-group`,this.rtlEnabled&&`${t}-radio-group--rtl`,this.themeClass,l&&`${t}-radio-group--button-group`],style:this.cssVars},c)}}),Rn=()=>Tt,In=pt({name:"DynamicInput",common:et,peers:{Input:mt,Button:ht},self:Rn}),Vn=In,ot=ft("n-dynamic-input"),$n=Q({name:"DynamicInputInputPreset",props:{clsPrefix:{type:String,required:!0},value:{type:String,default:""},parentPath:String,path:String,onUpdateValue:{type:Function,required:!0}},setup(){const{mergedThemeRef:e,placeholderRef:o}=De(ot);return{mergedTheme:e,placeholder:o}},render(){const{mergedTheme:e,placeholder:o,value:t,clsPrefix:s,onUpdateValue:a}=this;return i("div",{class:`${s}-dynamic-input-preset-input`},i(Te,{theme:e.peers.Input,"theme-overrides":e.peerOverrides.Input,value:t,placeholder:o,onUpdateValue:a}))}}),Sn=Q({name:"DynamicInputPairPreset",props:{clsPrefix:{type:String,required:!0},value:{type:Object,default:()=>({key:"",value:""})},parentPath:String,path:String,onUpdateValue:{type:Function,required:!0}},setup(e){const{mergedThemeRef:o,keyPlaceholderRef:t,valuePlaceholderRef:s}=De(ot);return{mergedTheme:o,keyPlaceholder:t,valuePlaceholder:s,handleKeyInput(a){e.onUpdateValue({key:a,value:e.value.value})},handleValueInput(a){e.onUpdateValue({key:e.value.key,value:a})}}},render(){const{mergedTheme:e,keyPlaceholder:o,valuePlaceholder:t,value:s,clsPrefix:a}=this;return i("div",{class:`${a}-dynamic-input-preset-pair`},i(Te,{theme:e.peers.Input,"theme-overrides":e.peerOverrides.Input,value:s.key,class:`${a}-dynamic-input-pair-input`,placeholder:o,onUpdateValue:this.handleKeyInput}),i(Te,{theme:e.peers.Input,"theme-overrides":e.peerOverrides.Input,value:s.value,class:`${a}-dynamic-input-pair-input`,placeholder:t,onUpdateValue:this.handleValueInput}))}}),Bn=q("dynamic-input",{width:"100%"},[q("dynamic-input-item",` + `)])]);function xn(e,o,t){var s;const a=[];let c=!1;for(let l=0;l{const{value:F}=t,{common:{cubicBezierEaseInOut:L},self:{buttonBorderColor:H,buttonBorderColorActive:N,buttonBorderRadius:r,buttonBoxShadow:d,buttonBoxShadowFocus:B,buttonBoxShadowHover:R,buttonColorActive:Y,buttonTextColor:pe,buttonTextColorActive:me,buttonTextColorHover:ee,opacityDisabled:he,[ze("buttonHeight",F)]:xe,[ze("fontSize",F)]:Ce}}=U.value;return{"--n-font-size":Ce,"--n-bezier":L,"--n-button-border-color":H,"--n-button-border-color-active":N,"--n-button-border-radius":r,"--n-button-box-shadow":d,"--n-button-box-shadow-focus":B,"--n-button-box-shadow-hover":R,"--n-button-color-active":Y,"--n-button-text-color":pe,"--n-button-text-color-hover":ee,"--n-button-text-color-active":me,"--n-height":xe,"--n-opacity-disabled":he}}),D=S?nt("radio-group",ne(()=>t.value[0]),T,e):void 0;return{selfElRef:o,rtlEnabled:u,mergedClsPrefix:g,mergedValue:_,handleFocusout:z,handleFocusin:w,cssVars:S?void 0:T,themeClass:D==null?void 0:D.themeClass,onRender:D==null?void 0:D.onRender}},render(){var e;const{mergedValue:o,mergedClsPrefix:t,handleFocusin:s,handleFocusout:a}=this,{children:c,isButtonGroup:l}=xn(Pt(zt(this)),o,t);return(e=this.onRender)===null||e===void 0||e.call(this),i("div",{onFocusin:s,onFocusout:a,ref:"selfElRef",class:[`${t}-radio-group`,this.rtlEnabled&&`${t}-radio-group--rtl`,this.themeClass,l&&`${t}-radio-group--button-group`],style:this.cssVars},c)}}),Rn=()=>Tt,In=pt({name:"DynamicInput",common:et,peers:{Input:mt,Button:ht},self:Rn}),Vn=In,ot=ft("n-dynamic-input"),$n=Q({name:"DynamicInputInputPreset",props:{clsPrefix:{type:String,required:!0},value:{type:String,default:""},parentPath:String,path:String,onUpdateValue:{type:Function,required:!0}},setup(){const{mergedThemeRef:e,placeholderRef:o}=De(ot);return{mergedTheme:e,placeholder:o}},render(){const{mergedTheme:e,placeholder:o,value:t,clsPrefix:s,onUpdateValue:a}=this;return i("div",{class:`${s}-dynamic-input-preset-input`},i(Te,{theme:e.peers.Input,"theme-overrides":e.peerOverrides.Input,value:t,placeholder:o,onUpdateValue:a}))}}),Sn=Q({name:"DynamicInputPairPreset",props:{clsPrefix:{type:String,required:!0},value:{type:Object,default:()=>({key:"",value:""})},parentPath:String,path:String,onUpdateValue:{type:Function,required:!0}},setup(e){const{mergedThemeRef:o,keyPlaceholderRef:t,valuePlaceholderRef:s}=De(ot);return{mergedTheme:o,keyPlaceholder:t,valuePlaceholder:s,handleKeyInput(a){e.onUpdateValue({key:a,value:e.value.value})},handleValueInput(a){e.onUpdateValue({key:e.value.key,value:a})}}},render(){const{mergedTheme:e,keyPlaceholder:o,valuePlaceholder:t,value:s,clsPrefix:a}=this;return i("div",{class:`${a}-dynamic-input-preset-pair`},i(Te,{theme:e.peers.Input,"theme-overrides":e.peerOverrides.Input,value:s.key,class:`${a}-dynamic-input-pair-input`,placeholder:o,onUpdateValue:this.handleKeyInput}),i(Te,{theme:e.peers.Input,"theme-overrides":e.peerOverrides.Input,value:s.value,class:`${a}-dynamic-input-pair-input`,placeholder:t,onUpdateValue:this.handleValueInput}))}}),Bn=q("dynamic-input",{width:"100%"},[q("dynamic-input-item",` margin-bottom: 10px; display: flex; flex-wrap: nowrap; @@ -208,10 +208,10 @@ import{_ as It}from"./post-item.vue_vue_type_style_index_0_lang-ce942869.js";imp `,[W("icon",{cursor:"pointer"})]),G("&:last-child",{marginBottom:0})]),q("form-item",` padding-top: 0 !important; margin-right: 0 !important; - `,[q("form-item-blank",{paddingTop:"0 !important"})])]),Pe=new WeakMap,Pn=Object.assign(Object.assign({},fe.props),{max:Number,min:{type:Number,default:0},value:Array,defaultValue:{type:Array,default:()=>[]},preset:{type:String,default:"input"},keyField:String,itemStyle:[String,Object],keyPlaceholder:{type:String,default:""},valuePlaceholder:{type:String,default:""},placeholder:{type:String,default:""},showSortButton:Boolean,createButtonProps:Object,onCreate:Function,onRemove:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClear:Function,onInput:[Function,Array]}),zn=Q({name:"DynamicInput",props:Pn,setup(e,{slots:o}){const{mergedComponentPropsRef:t,mergedClsPrefixRef:s,mergedRtlRef:a,inlineThemeDisabled:c}=we(),l=De(At,null),k=$(e.defaultValue),g=ce(e,"value"),S=Ue(g,k),p=fe("DynamicInput","-dynamic-input",Bn,Vn,e,s),U=ne(()=>{const{value:r}=S;if(Array.isArray(r)){const{max:d}=e;return d!==void 0&&r.length>=d}return!1}),b=ne(()=>{const{value:r}=S;return Array.isArray(r)?r.length<=e.min:!0}),m=ne(()=>{var r,d;return(d=(r=t==null?void 0:t.value)===null||r===void 0?void 0:r.DynamicInput)===null||d===void 0?void 0:d.buttonSize});function _(r){const{onInput:d,"onUpdate:value":B,onUpdateValue:R}=e;d&&Z(d,r),B&&Z(B,r),R&&Z(R,r),k.value=r}function y(r,d){if(r==null||typeof r!="object")return d;const B=Ge(r)?We(r):r;let R=Pe.get(B);return R===void 0&&Pe.set(B,R=Ut()),R}function w(r,d){const{value:B}=S,R=Array.from(B??[]),Y=R[r];if(R[r]=d,Y&&d&&typeof Y=="object"&&typeof d=="object"){const pe=Ge(Y)?We(Y):Y,me=Ge(d)?We(d):d,ee=Pe.get(pe);ee!==void 0&&Pe.set(me,ee)}_(R)}function z(){u(0)}function u(r){const{value:d}=S,{onCreate:B}=e,R=Array.from(d??[]);if(B)R.splice(r+1,0,B(r+1)),_(R);else if(o.default)R.splice(r+1,0,null),_(R);else switch(e.preset){case"input":R.splice(r+1,0,""),_(R);break;case"pair":R.splice(r+1,0,{key:"",value:""}),_(R);break}}function A(r){const{value:d}=S;if(!Array.isArray(d))return;const{min:B}=e;if(d.length<=B)return;const R=Array.from(d);R.splice(r,1),_(R);const{onRemove:Y}=e;Y&&Y(r)}function D(r,d,B){if(d<0||B<0||d>=r.length||B>=r.length||d===B)return;const R=r[d];r[d]=r[B],r[B]=R}function F(r,d){const{value:B}=S;if(!Array.isArray(B))return;const R=Array.from(B);r==="up"&&D(R,d,d-1),r==="down"&&D(R,d,d+1),_(R)}Ze(ot,{mergedThemeRef:p,keyPlaceholderRef:ce(e,"keyPlaceholder"),valuePlaceholderRef:ce(e,"valuePlaceholder"),placeholderRef:ce(e,"placeholder")});const L=Se("DynamicInput",a,s),H=ne(()=>{const{self:{actionMargin:r,actionMarginRtl:d}}=p.value;return{"--action-margin":r,"--action-margin-rtl":d}}),N=c?nt("dynamic-input",void 0,H,e):void 0;return{locale:vt("DynamicInput").localeRef,rtlEnabled:L,buttonSize:m,mergedClsPrefix:s,NFormItem:l,uncontrolledValue:k,mergedValue:S,insertionDisabled:U,removeDisabled:b,handleCreateClick:z,ensureKey:y,handleValueChange:w,remove:A,move:F,createItem:u,mergedTheme:p,cssVars:c?void 0:H,themeClass:N==null?void 0:N.themeClass,onRender:N==null?void 0:N.onRender}},render(){const{$slots:e,buttonSize:o,mergedClsPrefix:t,mergedValue:s,locale:a,mergedTheme:c,keyField:l,itemStyle:k,preset:g,showSortButton:S,NFormItem:p,ensureKey:U,handleValueChange:b,remove:m,createItem:_,move:y,onRender:w}=this;return w==null||w(),i("div",{class:[`${t}-dynamic-input`,this.rtlEnabled&&`${t}-dynamic-input--rtl`,this.themeClass],style:this.cssVars},!Array.isArray(s)||s.length===0?i(ye,Object.assign({block:!0,ghost:!0,dashed:!0,size:o},this.createButtonProps,{disabled:this.insertionDisabled,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,onClick:this.handleCreateClick}),{default:()=>Ae(e["create-button-default"],()=>[a.create]),icon:()=>Ae(e["create-button-icon"],()=>[i(ve,{clsPrefix:t},{default:()=>i(Ye,null)})])}):s.map((z,u)=>i("div",{key:l?z[l]:U(z,u),"data-key":l?z[l]:U(z,u),class:`${t}-dynamic-input-item`,style:k},Dt(e.default,{value:s[u],index:u},()=>[g==="input"?i($n,{clsPrefix:t,value:s[u],parentPath:p?p.path.value:void 0,path:p!=null&&p.path.value?`${p.path.value}[${u}]`:void 0,onUpdateValue:A=>b(u,A)}):g==="pair"?i(Sn,{clsPrefix:t,value:s[u],parentPath:p?p.path.value:void 0,path:p!=null&&p.path.value?`${p.path.value}[${u}]`:void 0,onUpdateValue:A=>b(u,A)}):null]),i("div",{class:`${t}-dynamic-input-item__action`},i(mn,{size:o},{default:()=>[i(ye,{disabled:this.removeDisabled,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,circle:!0,onClick:()=>m(u)},{icon:()=>i(ve,{clsPrefix:t},{default:()=>i(xt,null)})}),i(ye,{disabled:this.insertionDisabled,circle:!0,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,onClick:()=>_(u)},{icon:()=>i(ve,{clsPrefix:t},{default:()=>i(Ye,null)})}),S?i(ye,{disabled:u===0,circle:!0,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,onClick:()=>y("up",u)},{icon:()=>i(ve,{clsPrefix:t},{default:()=>i(cn,null)})}):null,S?i(ye,{disabled:u===s.length-1,circle:!0,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,onClick:()=>y("down",u)},{icon:()=>i(ve,{clsPrefix:t},{default:()=>i(dn,null)})}):null]})))))}}),Tn=e=>{const{textColorDisabled:o}=e;return{iconColorDisabled:o}},An=pt({name:"InputNumber",common:et,peers:{Button:ht,Input:mt},self:Tn}),Dn=An;function Un(e){return e==null||typeof e=="string"&&e.trim()===""?null:Number(e)}function On(e){return e.includes(".")&&(/^(-)?\d+.*(\.|0)$/.test(e)||/^\.\d+$/.test(e))}function Je(e){return e==null?!0:!Number.isNaN(e)}function ut(e,o){return e==null?"":o===void 0?String(e):e.toFixed(o)}function Xe(e){if(e===null)return null;if(typeof e=="number")return e;{const o=Number(e);return Number.isNaN(o)?null:o}}const Fn=G([q("input-number-suffix",` + `,[q("form-item-blank",{paddingTop:"0 !important"})])]),Pe=new WeakMap,Pn=Object.assign(Object.assign({},fe.props),{max:Number,min:{type:Number,default:0},value:Array,defaultValue:{type:Array,default:()=>[]},preset:{type:String,default:"input"},keyField:String,itemStyle:[String,Object],keyPlaceholder:{type:String,default:""},valuePlaceholder:{type:String,default:""},placeholder:{type:String,default:""},showSortButton:Boolean,createButtonProps:Object,onCreate:Function,onRemove:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClear:Function,onInput:[Function,Array]}),zn=Q({name:"DynamicInput",props:Pn,setup(e,{slots:o}){const{mergedComponentPropsRef:t,mergedClsPrefixRef:s,mergedRtlRef:a,inlineThemeDisabled:c}=we(),l=De(At,null),k=$(e.defaultValue),g=ce(e,"value"),S=Ue(g,k),p=fe("DynamicInput","-dynamic-input",Bn,Vn,e,s),U=ne(()=>{const{value:r}=S;if(Array.isArray(r)){const{max:d}=e;return d!==void 0&&r.length>=d}return!1}),b=ne(()=>{const{value:r}=S;return Array.isArray(r)?r.length<=e.min:!0}),m=ne(()=>{var r,d;return(d=(r=t==null?void 0:t.value)===null||r===void 0?void 0:r.DynamicInput)===null||d===void 0?void 0:d.buttonSize});function _(r){const{onInput:d,"onUpdate:value":B,onUpdateValue:R}=e;d&&Z(d,r),B&&Z(B,r),R&&Z(R,r),k.value=r}function y(r,d){if(r==null||typeof r!="object")return d;const B=Ge(r)?We(r):r;let R=Pe.get(B);return R===void 0&&Pe.set(B,R=Ut()),R}function w(r,d){const{value:B}=S,R=Array.from(B??[]),Y=R[r];if(R[r]=d,Y&&d&&typeof Y=="object"&&typeof d=="object"){const pe=Ge(Y)?We(Y):Y,me=Ge(d)?We(d):d,ee=Pe.get(pe);ee!==void 0&&Pe.set(me,ee)}_(R)}function z(){u(0)}function u(r){const{value:d}=S,{onCreate:B}=e,R=Array.from(d??[]);if(B)R.splice(r+1,0,B(r+1)),_(R);else if(o.default)R.splice(r+1,0,null),_(R);else switch(e.preset){case"input":R.splice(r+1,0,""),_(R);break;case"pair":R.splice(r+1,0,{key:"",value:""}),_(R);break}}function T(r){const{value:d}=S;if(!Array.isArray(d))return;const{min:B}=e;if(d.length<=B)return;const R=Array.from(d);R.splice(r,1),_(R);const{onRemove:Y}=e;Y&&Y(r)}function D(r,d,B){if(d<0||B<0||d>=r.length||B>=r.length||d===B)return;const R=r[d];r[d]=r[B],r[B]=R}function F(r,d){const{value:B}=S;if(!Array.isArray(B))return;const R=Array.from(B);r==="up"&&D(R,d,d-1),r==="down"&&D(R,d,d+1),_(R)}Ze(ot,{mergedThemeRef:p,keyPlaceholderRef:ce(e,"keyPlaceholder"),valuePlaceholderRef:ce(e,"valuePlaceholder"),placeholderRef:ce(e,"placeholder")});const L=Se("DynamicInput",a,s),H=ne(()=>{const{self:{actionMargin:r,actionMarginRtl:d}}=p.value;return{"--action-margin":r,"--action-margin-rtl":d}}),N=c?nt("dynamic-input",void 0,H,e):void 0;return{locale:vt("DynamicInput").localeRef,rtlEnabled:L,buttonSize:m,mergedClsPrefix:s,NFormItem:l,uncontrolledValue:k,mergedValue:S,insertionDisabled:U,removeDisabled:b,handleCreateClick:z,ensureKey:y,handleValueChange:w,remove:T,move:F,createItem:u,mergedTheme:p,cssVars:c?void 0:H,themeClass:N==null?void 0:N.themeClass,onRender:N==null?void 0:N.onRender}},render(){const{$slots:e,buttonSize:o,mergedClsPrefix:t,mergedValue:s,locale:a,mergedTheme:c,keyField:l,itemStyle:k,preset:g,showSortButton:S,NFormItem:p,ensureKey:U,handleValueChange:b,remove:m,createItem:_,move:y,onRender:w}=this;return w==null||w(),i("div",{class:[`${t}-dynamic-input`,this.rtlEnabled&&`${t}-dynamic-input--rtl`,this.themeClass],style:this.cssVars},!Array.isArray(s)||s.length===0?i(ye,Object.assign({block:!0,ghost:!0,dashed:!0,size:o},this.createButtonProps,{disabled:this.insertionDisabled,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,onClick:this.handleCreateClick}),{default:()=>Ae(e["create-button-default"],()=>[a.create]),icon:()=>Ae(e["create-button-icon"],()=>[i(ve,{clsPrefix:t},{default:()=>i(Ye,null)})])}):s.map((z,u)=>i("div",{key:l?z[l]:U(z,u),"data-key":l?z[l]:U(z,u),class:`${t}-dynamic-input-item`,style:k},Dt(e.default,{value:s[u],index:u},()=>[g==="input"?i($n,{clsPrefix:t,value:s[u],parentPath:p?p.path.value:void 0,path:p!=null&&p.path.value?`${p.path.value}[${u}]`:void 0,onUpdateValue:T=>b(u,T)}):g==="pair"?i(Sn,{clsPrefix:t,value:s[u],parentPath:p?p.path.value:void 0,path:p!=null&&p.path.value?`${p.path.value}[${u}]`:void 0,onUpdateValue:T=>b(u,T)}):null]),i("div",{class:`${t}-dynamic-input-item__action`},i(mn,{size:o},{default:()=>[i(ye,{disabled:this.removeDisabled,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,circle:!0,onClick:()=>m(u)},{icon:()=>i(ve,{clsPrefix:t},{default:()=>i(xt,null)})}),i(ye,{disabled:this.insertionDisabled,circle:!0,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,onClick:()=>_(u)},{icon:()=>i(ve,{clsPrefix:t},{default:()=>i(Ye,null)})}),S?i(ye,{disabled:u===0,circle:!0,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,onClick:()=>y("up",u)},{icon:()=>i(ve,{clsPrefix:t},{default:()=>i(cn,null)})}):null,S?i(ye,{disabled:u===s.length-1,circle:!0,theme:c.peers.Button,themeOverrides:c.peerOverrides.Button,onClick:()=>y("down",u)},{icon:()=>i(ve,{clsPrefix:t},{default:()=>i(dn,null)})}):null]})))))}}),Tn=e=>{const{textColorDisabled:o}=e;return{iconColorDisabled:o}},An=pt({name:"InputNumber",common:et,peers:{Button:ht,Input:mt},self:Tn}),Dn=An;function Un(e){return e==null||typeof e=="string"&&e.trim()===""?null:Number(e)}function On(e){return e.includes(".")&&(/^(-)?\d+.*(\.|0)$/.test(e)||/^\.\d+$/.test(e))}function Je(e){return e==null?!0:!Number.isNaN(e)}function ut(e,o){return e==null?"":o===void 0?String(e):e.toFixed(o)}function Xe(e){if(e===null)return null;if(typeof e=="number")return e;{const o=Number(e);return Number.isNaN(o)?null:o}}const Fn=G([q("input-number-suffix",` display: inline-block; margin-right: 10px; `),q("input-number-prefix",` display: inline-block; margin-left: 10px; - `)]),dt=800,ct=100,Nn=Object.assign(Object.assign({},fe.props),{autofocus:Boolean,loading:{type:Boolean,default:void 0},placeholder:String,defaultValue:{type:Number,default:null},value:Number,step:{type:[Number,String],default:1},min:[Number,String],max:[Number,String],size:String,disabled:{type:Boolean,default:void 0},validator:Function,bordered:{type:Boolean,default:void 0},showButton:{type:Boolean,default:!0},buttonPlacement:{type:String,default:"right"},readonly:Boolean,clearable:Boolean,keyboard:{type:Object,default:{}},updateValueOnInput:{type:Boolean,default:!0},parse:Function,format:Function,precision:Number,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onFocus:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onChange:[Function,Array]}),Mn=Q({name:"InputNumber",props:Nn,setup(e){const{mergedBorderedRef:o,mergedClsPrefixRef:t,mergedRtlRef:s}=we(e),a=fe("InputNumber","-input-number",Fn,Dn,e,t),{localeRef:c}=vt("InputNumber"),l=tt(e),{mergedSizeRef:k,mergedDisabledRef:g,mergedStatusRef:S}=l,p=$(null),U=$(null),b=$(null),m=$(e.defaultValue),_=ce(e,"value"),y=Ue(_,m),w=$(""),z=n=>{const f=String(n).split(".")[1];return f?f.length:0},u=n=>{const f=[e.min,e.max,e.step,n].map(V=>V===void 0?0:z(V));return Math.max(...f)},A=re(()=>{const{placeholder:n}=e;return n!==void 0?n:c.value.placeholder}),D=re(()=>{const n=Xe(e.step);return n!==null?n===0?1:Math.abs(n):1}),F=re(()=>{const n=Xe(e.min);return n!==null?n:null}),L=re(()=>{const n=Xe(e.max);return n!==null?n:null}),H=n=>{const{value:f}=y;if(n===f){r();return}const{"onUpdate:value":V,onUpdateValue:C,onChange:te}=e,{nTriggerFormInput:oe,nTriggerFormChange:ge}=l;te&&Z(te,n),C&&Z(C,n),V&&Z(V,n),m.value=n,oe(),ge()},N=({offset:n,doUpdateIfValid:f,fixPrecision:V,isInputing:C})=>{const{value:te}=w;if(C&&On(te))return!1;const oe=(e.parse||Un)(te);if(oe===null)return f&&H(null),null;if(Je(oe)){const ge=z(oe),{precision:ke}=e;if(ke!==void 0&&keHe){if(!f||C)return!1;ue=He}if(Ke!==null&&ue{const{value:n}=y;if(Je(n)){const{format:f,precision:V}=e;f?w.value=f(n):n===null||V===void 0||z(n)>V?w.value=ut(n,void 0):w.value=ut(n,V)}else w.value=String(n)};r();const d=re(()=>N({offset:0,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})===!1),B=re(()=>{const{value:n}=y;if(e.validator&&n===null)return!1;const{value:f}=D;return N({offset:-f,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1}),R=re(()=>{const{value:n}=y;if(e.validator&&n===null)return!1;const{value:f}=D;return N({offset:+f,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1});function Y(n){const{onFocus:f}=e,{nTriggerFormFocus:V}=l;f&&Z(f,n),V()}function pe(n){var f,V;if(n.target===((f=p.value)===null||f===void 0?void 0:f.wrapperElRef))return;const C=N({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0});if(C!==!1){const ge=(V=p.value)===null||V===void 0?void 0:V.inputElRef;ge&&(ge.value=String(C||"")),y.value===C&&r()}else r();const{onBlur:te}=e,{nTriggerFormBlur:oe}=l;te&&Z(te,n),oe(),Ft(()=>{r()})}function me(n){const{onClear:f}=e;f&&Z(f,n)}function ee(){const{value:n}=R;if(!n){x();return}const{value:f}=y;if(f===null)e.validator||H(Be());else{const{value:V}=D;N({offset:V,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}function he(){const{value:n}=B;if(!n){P();return}const{value:f}=y;if(f===null)e.validator||H(Be());else{const{value:V}=D;N({offset:-V,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}const xe=Y,Ce=pe;function Be(){if(e.validator)return null;const{value:n}=F,{value:f}=L;return n!==null?Math.max(0,n):f!==null?Math.min(0,f):0}function Oe(n){me(n),H(null)}function Fe(n){var f,V,C;!((f=b.value)===null||f===void 0)&&f.$el.contains(n.target)&&n.preventDefault(),!((V=U.value)===null||V===void 0)&&V.$el.contains(n.target)&&n.preventDefault(),(C=p.value)===null||C===void 0||C.activate()}let ie=null,v=null,h=null;function P(){h&&(window.clearTimeout(h),h=null),ie&&(window.clearInterval(ie),ie=null)}function x(){j&&(window.clearTimeout(j),j=null),v&&(window.clearInterval(v),v=null)}function O(){P(),h=window.setTimeout(()=>{ie=window.setInterval(()=>{he()},ct)},dt),at("mouseup",document,P,{once:!0})}let j=null;function se(){x(),j=window.setTimeout(()=>{v=window.setInterval(()=>{ee()},ct)},dt),at("mouseup",document,x,{once:!0})}const Ne=()=>{v||ee()},Me=()=>{ie||he()};function Ee(n){var f,V;if(n.key==="Enter"){if(n.target===((f=p.value)===null||f===void 0?void 0:f.wrapperElRef))return;N({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&((V=p.value)===null||V===void 0||V.deactivate())}else if(n.key==="ArrowUp"){if(!R.value||e.keyboard.ArrowUp===!1)return;n.preventDefault(),N({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&ee()}else if(n.key==="ArrowDown"){if(!B.value||e.keyboard.ArrowDown===!1)return;n.preventDefault(),N({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&he()}}function Le(n){w.value=n,e.updateValueOnInput&&!e.format&&!e.parse&&e.precision===void 0&&N({offset:0,doUpdateIfValid:!0,isInputing:!0,fixPrecision:!1})}gt(y,()=>{r()});const je={focus:()=>{var n;return(n=p.value)===null||n===void 0?void 0:n.focus()},blur:()=>{var n;return(n=p.value)===null||n===void 0?void 0:n.blur()}},qe=Se("InputNumber",s,t);return Object.assign(Object.assign({},je),{rtlEnabled:qe,inputInstRef:p,minusButtonInstRef:U,addButtonInstRef:b,mergedClsPrefix:t,mergedBordered:o,uncontrolledValue:m,mergedValue:y,mergedPlaceholder:A,displayedValueInvalid:d,mergedSize:k,mergedDisabled:g,displayedValue:w,addable:R,minusable:B,mergedStatus:S,handleFocus:xe,handleBlur:Ce,handleClear:Oe,handleMouseDown:Fe,handleAddClick:Ne,handleMinusClick:Me,handleAddMousedown:se,handleMinusMousedown:O,handleKeyDown:Ee,handleUpdateDisplayedValue:Le,mergedTheme:a,inputThemeOverrides:{paddingSmall:"0 8px 0 10px",paddingMedium:"0 8px 0 12px",paddingLarge:"0 8px 0 14px"},buttonThemeOverrides:ne(()=>{const{self:{iconColorDisabled:n}}=a.value,[f,V,C,te]=Ot(n);return{textColorTextDisabled:`rgb(${f}, ${V}, ${C})`,opacityDisabled:`${te}`}})})},render(){const{mergedClsPrefix:e,$slots:o}=this,t=()=>i(lt,{text:!0,disabled:!this.minusable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleMinusClick,onMousedown:this.handleMinusMousedown,ref:"minusButtonInstRef"},{icon:()=>Ae(o["minus-icon"],()=>[i(ve,{clsPrefix:e},{default:()=>i(xt,null)})])}),s=()=>i(lt,{text:!0,disabled:!this.addable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleAddClick,onMousedown:this.handleAddMousedown,ref:"addButtonInstRef"},{icon:()=>Ae(o["add-icon"],()=>[i(ve,{clsPrefix:e},{default:()=>i(Ye,null)})])});return i("div",{class:[`${e}-input-number`,this.rtlEnabled&&`${e}-input-number--rtl`]},i(Te,{ref:"inputInstRef",autofocus:this.autofocus,status:this.mergedStatus,bordered:this.mergedBordered,loading:this.loading,value:this.displayedValue,onUpdateValue:this.handleUpdateDisplayedValue,theme:this.mergedTheme.peers.Input,themeOverrides:this.mergedTheme.peerOverrides.Input,builtinThemeOverrides:this.inputThemeOverrides,size:this.mergedSize,placeholder:this.mergedPlaceholder,disabled:this.mergedDisabled,readonly:this.readonly,textDecoration:this.displayedValueInvalid?"line-through":void 0,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onClear:this.handleClear,clearable:this.clearable,internalLoadingBeforeSuffix:!0},{prefix:()=>{var a;return this.showButton&&this.buttonPlacement==="both"?[t(),Qe(o.prefix,c=>c?i("span",{class:`${e}-input-number-prefix`},c):null)]:(a=o.prefix)===null||a===void 0?void 0:a.call(o)},suffix:()=>{var a;return this.showButton?[Qe(o.suffix,c=>c?i("span",{class:`${e}-input-number-suffix`},c):null),this.buttonPlacement==="right"?t():null,s()]:(a=o.suffix)===null||a===void 0?void 0:a.call(o)}}))}}),En={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Ln=X("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),jn=[Ln],qn=Q({name:"AttachOutline",render:function(o,t){return E(),J("svg",En,jn)}}),Hn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Kn=X("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Gn=X("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),Wn=[Kn,Gn],Jn=Q({name:"CompassOutline",render:function(o,t){return E(),J("svg",Hn,Wn)}}),Xn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Qn=X("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Yn=X("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Zn=[Qn,Yn],eo=Q({name:"EyeOutline",render:function(o,t){return E(),J("svg",Xn,Zn)}}),to={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},no=X("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),oo=X("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),ro=[no,oo],ao=Q({name:"VideocamOutline",render:function(o,t){return E(),J("svg",to,ro)}}),lo={key:0,class:"compose-wrap"},io={class:"compose-line"},so={class:"compose-user"},uo={class:"compose-line compose-options"},co={class:"attachment"},fo={class:"submit-wrap"},po={class:"attachment-list-wrap"},mo={key:0,class:"attachment-price-wrap"},ho=X("span",null," 附件价格¥",-1),vo={key:0,class:"eye-wrap"},go={key:1,class:"link-wrap"},bo={key:1,class:"compose-wrap"},_o=X("div",{class:"login-wrap"},[X("span",{class:"login-banner"}," 登录后,精彩更多")],-1),yo={class:"login-wrap"},wo=Q({__name:"compose",emits:["post-success"],setup(e,{emit:o}){const t=bt(),s=$([]),a=$(!1),c=$(!1),l=$(!1),k=$(!1),g=$(""),S=$([]),p=$(),U=$(0),b=$("public/image"),m=$([]),_=$([]),y=$([]),w=$([]),z=$(de.FRIEND),u=$(de.FRIEND),A=[{value:de.PUBLIC,label:"公开"},{value:de.PRIVATE,label:"私密"},{value:de.FRIEND,label:"好友可见"}],D="true".toLocaleLowerCase()==="true",F="true".toLocaleLowerCase()==="true",L="false".toLocaleLowerCase()==="true",H="true".toLocaleLowerCase()==="true",N="/v1/attachment",r=$(),d=()=>{l.value=!l.value,l.value&&k.value&&(k.value=!1)},B=()=>{k.value=!k.value,k.value&&l.value&&(l.value=!1)},R=st.debounce(v=>{Nt({k:v}).then(h=>{let P=[];h.suggest.map(x=>{P.push({label:x,value:x})}),s.value=P,a.value=!1}).catch(h=>{a.value=!1})},200),Y=st.debounce(v=>{Mt({k:v}).then(h=>{let P=[];h.suggest.map(x=>{P.push({label:x,value:x})}),s.value=P,a.value=!1}).catch(h=>{a.value=!1})},200),pe=(v,h)=>{a.value||(a.value=!0,h==="@"?R(v):Y(v))},me=v=>{v.length>200||(g.value=v)},ee=v=>{b.value=v},he=v=>{m.value=v},xe=async v=>{var h,P,x,O,j,se;return b.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((h=v.file.file)==null?void 0:h.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):b.value==="image"&&((P=v.file.file)==null?void 0:P.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):b.value==="public/video"&&!["video/mp4","video/quicktime"].includes((x=v.file.file)==null?void 0:x.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):b.value==="public/video"&&((O=v.file.file)==null?void 0:O.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):b.value==="attachment"&&!["application/zip"].includes((j=v.file.file)==null?void 0:j.type)?(window.$message.warning("附件仅允许 zip 格式"),!1):b.value==="attachment"&&((se=v.file.file)==null?void 0:se.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},Ce=({file:v,event:h})=>{var P;try{let x=JSON.parse((P=h.target)==null?void 0:P.response);x.code===0&&(b.value==="public/image"&&_.value.push({id:v.id,content:x.data.content}),b.value==="public/video"&&y.value.push({id:v.id,content:x.data.content}),b.value==="attachment"&&w.value.push({id:v.id,content:x.data.content}))}catch{window.$message.error("上传失败")}},Be=({file:v,event:h})=>{var P;try{let x=JSON.parse((P=h.target)==null?void 0:P.response);if(x.code!==0){let O=x.msg||"上传失败";x.details&&x.details.length>0&&x.details.map(j=>{O+=":"+j}),window.$message.error(O)}}catch{window.$message.error("上传失败")}},Oe=({file:v})=>{let h=_.value.findIndex(P=>P.id===v.id);h>-1&&_.value.splice(h,1),h=y.value.findIndex(P=>P.id===v.id),h>-1&&y.value.splice(h,1),h=w.value.findIndex(P=>P.id===v.id),h>-1&&w.value.splice(h,1)},Fe=()=>{if(g.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:v,users:h}=Zt(g.value);const P=[];let x=100;P.push({content:g.value,type:Ie.TEXT,sort:x}),_.value.map(O=>{x++,P.push({content:O.content,type:Ie.IMAGEURL,sort:x})}),y.value.map(O=>{x++,P.push({content:O.content,type:Ie.VIDEOURL,sort:x})}),w.value.map(O=>{x++,P.push({content:O.content,type:Ie.ATTACHMENT,sort:x})}),S.value.length>0&&S.value.map(O=>{x++,P.push({content:O,type:Ie.LINKURL,sort:x})}),c.value=!0,Lt({contents:P,tags:Array.from(new Set(v)),users:Array.from(new Set(h)),attachment_price:+U.value*100,visibility:z.value}).then(O=>{var j;window.$message.success("发布成功"),c.value=!1,o("post-success",O),l.value=!1,k.value=!1,(j=p.value)==null||j.clear(),m.value=[],g.value="",S.value=[],_.value=[],y.value=[],w.value=[],z.value=u.value}).catch(O=>{c.value=!1})},ie=v=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",v)};return _t(()=>{"friend".toLowerCase()==="friend"?u.value=de.FRIEND:"friend".toLowerCase()==="public"?u.value=de.PUBLIC:u.value=de.PRIVATE,z.value=u.value,r.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(v,h)=>{const P=jt,x=Yt,O=qt,j=ye,se=en,Ne=tn,Me=Ht,Ee=nn,Le=Mn,je=on,qe=yn,n=Kt,f=kn,V=zn;return E(),J("div",null,[ae(t).state.userInfo.id>0?(E(),J("div",lo,[X("div",io,[X("div",so,[I(P,{round:"",size:30,src:ae(t).state.userInfo.avatar},null,8,["src"])]),I(x,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:a.value,value:g.value,prefix:["@","#"],options:s.value,onSearch:pe,"onUpdate:value":me,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),I(je,{ref_key:"uploadRef",ref:p,abstract:"","list-type":"image",multiple:!0,max:9,action:N,headers:{Authorization:r.value},data:{type:b.value},onBeforeUpload:xe,onFinish:Ce,onError:Be,onRemove:Oe,"onUpdate:fileList":he},{default:T(()=>[X("div",uo,[X("div",co,[I(se,{abstract:""},{default:T(({handleClick:C})=>[I(j,{disabled:m.value.length>0&&b.value==="public/video"||m.value.length===9,onClick:()=>{ee("public/image"),C()},quaternary:"",circle:"",type:"primary"},{icon:T(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:T(()=>[I(ae(Qt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),D?(E(),Ve(se,{key:0,abstract:""},{default:T(({handleClick:C})=>[I(j,{disabled:m.value.length>0&&b.value!=="public/video"||m.value.length===9,onClick:()=>{ee("public/video"),C()},quaternary:"",circle:"",type:"primary"},{icon:T(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:T(()=>[I(ae(ao))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):le("",!0),F?(E(),Ve(se,{key:1,abstract:""},{default:T(({handleClick:C})=>[I(j,{disabled:m.value.length>0&&b.value==="public/video"||m.value.length===9,onClick:()=>{ee("attachment"),C()},quaternary:"",circle:"",type:"primary"},{icon:T(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:T(()=>[I(ae(qn))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):le("",!0),I(j,{quaternary:"",circle:"",type:"primary",onClick:it(d,["stop"])},{icon:T(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:T(()=>[I(ae(Jn))]),_:1})]),_:1},8,["onClick"]),H?(E(),Ve(j,{key:2,quaternary:"",circle:"",type:"primary",onClick:it(B,["stop"])},{icon:T(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:T(()=>[I(ae(eo))]),_:1})]),_:1},8,["onClick"])):le("",!0)]),X("div",fo,[I(Me,{trigger:"hover",placement:"bottom"},{trigger:T(()=>[I(Ne,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:g.value.length/200*100},null,8,["percentage"])]),default:T(()=>[Re(" "+Et(g.value.length)+" / 200 ",1)]),_:1}),I(j,{loading:c.value,onClick:Fe,type:"primary",secondary:"",round:""},{default:T(()=>[Re(" 发布 ")]),_:1},8,["loading"])])]),X("div",po,[I(Ee),w.value.length>0?(E(),J("div",mo,[L?(E(),Ve(Le,{key:0,value:U.value,"onUpdate:value":h[0]||(h[0]=C=>U.value=C),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:T(()=>[ho]),_:1},8,["value"])):le("",!0)])):le("",!0)])]),_:1},8,["headers","data"]),k.value?(E(),J("div",vo,[I(f,{value:z.value,"onUpdate:value":h[1]||(h[1]=C=>z.value=C),name:"radiogroup"},{default:T(()=>[I(n,null,{default:T(()=>[(E(),J(yt,null,wt(A,C=>I(qe,{key:C.value,value:C.value,label:C.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):le("",!0),l.value?(E(),J("div",go,[I(V,{value:S.value,"onUpdate:value":h[2]||(h[2]=C=>S.value=C),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":T(()=>[Re(" 创建链接 ")]),_:1},8,["value"])])):le("",!0)])):(E(),J("div",bo,[_o,X("div",yo,[I(j,{strong:"",secondary:"",round:"",type:"primary",onClick:h[3]||(h[3]=C=>ie("signin"))},{default:T(()=>[Re(" 登录 ")]),_:1}),I(j,{strong:"",secondary:"",round:"",type:"info",onClick:h[4]||(h[4]=C=>ie("signup"))},{default:T(()=>[Re(" 注册 ")]),_:1})])]))])}}});const xo={key:0,class:"pagination-wrap"},Co={key:0,class:"skeleton-wrap"},ko={key:1},Ro={key:0,class:"empty-wrap"},Io=Q({__name:"Home",setup(e){const o=bt(),t=Gt(),s=Jt(),a=$(!1),c=$([]),l=$(+t.query.p||1),k=$(20),g=$(0),S=ne(()=>{let m="泡泡广场";return t.query&&t.query.q&&(t.query.t&&t.query.t==="tag"?m="#"+decodeURIComponent(t.query.q):m="搜索: "+decodeURIComponent(t.query.q)),m}),p=()=>{a.value=!0,Wt({query:t.query.q?decodeURIComponent(t.query.q):null,type:t.query.t,page:l.value,page_size:k.value}).then(m=>{a.value=!1,c.value=m.list,g.value=Math.ceil(m.pager.total_rows/k.value),window.scrollTo(0,0)}).catch(m=>{a.value=!1})},U=m=>{if(l.value!=1){s.push({name:"post",query:{id:m.id}});return}let _=[],y=c.value.length;y==k.value&&y--;for(var w=0;w{s.push({name:"home",query:{...t.query,p:m}})};return _t(()=>{p()}),gt(()=>({path:t.path,query:t.query,refresh:o.state.refresh}),(m,_)=>{if(m.refresh!==_.refresh){l.value=+t.query.p||1,setTimeout(()=>{p()},0);return}_.path!=="/post"&&m.path==="/"&&(l.value=+t.query.p||1,setTimeout(()=>{p()},0))}),(m,_)=>{const y=rn,w=ln,z=wo,u=sn,A=Vt,D=un,F=It,L=an;return E(),J("div",null,[I(y,{title:ae(S)},null,8,["title"]),I(L,{class:"main-content-wrap",bordered:""},{footer:T(()=>[g.value>1?(E(),J("div",xo,[I(w,{page:l.value,"onUpdate:page":b,"page-slot":ae(o).state.collapsedRight?5:8,"page-count":g.value},null,8,["page","page-slot","page-count"])])):le("",!0)]),default:T(()=>[I(u,null,{default:T(()=>[I(z,{onPostSuccess:U})]),_:1}),a.value?(E(),J("div",Co,[I(A,{num:k.value},null,8,["num"])])):(E(),J("div",ko,[c.value.length===0?(E(),J("div",Ro,[I(D,{size:"large",description:"暂无数据"})])):le("",!0),(E(!0),J(yt,null,wt(c.value,H=>(E(),Ve(u,{key:H.id},{default:T(()=>[I(F,{post:H},null,8,["post"])]),_:2},1024))),128))]))]),_:1})])}}});const No=Xt(Io,[["__scopeId","data-v-08b57fd7"]]);export{No as default}; + `)]),dt=800,ct=100,Nn=Object.assign(Object.assign({},fe.props),{autofocus:Boolean,loading:{type:Boolean,default:void 0},placeholder:String,defaultValue:{type:Number,default:null},value:Number,step:{type:[Number,String],default:1},min:[Number,String],max:[Number,String],size:String,disabled:{type:Boolean,default:void 0},validator:Function,bordered:{type:Boolean,default:void 0},showButton:{type:Boolean,default:!0},buttonPlacement:{type:String,default:"right"},readonly:Boolean,clearable:Boolean,keyboard:{type:Object,default:{}},updateValueOnInput:{type:Boolean,default:!0},parse:Function,format:Function,precision:Number,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onFocus:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onChange:[Function,Array]}),Mn=Q({name:"InputNumber",props:Nn,setup(e){const{mergedBorderedRef:o,mergedClsPrefixRef:t,mergedRtlRef:s}=we(e),a=fe("InputNumber","-input-number",Fn,Dn,e,t),{localeRef:c}=vt("InputNumber"),l=tt(e),{mergedSizeRef:k,mergedDisabledRef:g,mergedStatusRef:S}=l,p=$(null),U=$(null),b=$(null),m=$(e.defaultValue),_=ce(e,"value"),y=Ue(_,m),w=$(""),z=n=>{const f=String(n).split(".")[1];return f?f.length:0},u=n=>{const f=[e.min,e.max,e.step,n].map(V=>V===void 0?0:z(V));return Math.max(...f)},T=re(()=>{const{placeholder:n}=e;return n!==void 0?n:c.value.placeholder}),D=re(()=>{const n=Xe(e.step);return n!==null?n===0?1:Math.abs(n):1}),F=re(()=>{const n=Xe(e.min);return n!==null?n:null}),L=re(()=>{const n=Xe(e.max);return n!==null?n:null}),H=n=>{const{value:f}=y;if(n===f){r();return}const{"onUpdate:value":V,onUpdateValue:C,onChange:te}=e,{nTriggerFormInput:oe,nTriggerFormChange:ge}=l;te&&Z(te,n),C&&Z(C,n),V&&Z(V,n),m.value=n,oe(),ge()},N=({offset:n,doUpdateIfValid:f,fixPrecision:V,isInputing:C})=>{const{value:te}=w;if(C&&On(te))return!1;const oe=(e.parse||Un)(te);if(oe===null)return f&&H(null),null;if(Je(oe)){const ge=z(oe),{precision:ke}=e;if(ke!==void 0&&keHe){if(!f||C)return!1;ue=He}if(Ke!==null&&ue{const{value:n}=y;if(Je(n)){const{format:f,precision:V}=e;f?w.value=f(n):n===null||V===void 0||z(n)>V?w.value=ut(n,void 0):w.value=ut(n,V)}else w.value=String(n)};r();const d=re(()=>N({offset:0,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})===!1),B=re(()=>{const{value:n}=y;if(e.validator&&n===null)return!1;const{value:f}=D;return N({offset:-f,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1}),R=re(()=>{const{value:n}=y;if(e.validator&&n===null)return!1;const{value:f}=D;return N({offset:+f,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1});function Y(n){const{onFocus:f}=e,{nTriggerFormFocus:V}=l;f&&Z(f,n),V()}function pe(n){var f,V;if(n.target===((f=p.value)===null||f===void 0?void 0:f.wrapperElRef))return;const C=N({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0});if(C!==!1){const ge=(V=p.value)===null||V===void 0?void 0:V.inputElRef;ge&&(ge.value=String(C||"")),y.value===C&&r()}else r();const{onBlur:te}=e,{nTriggerFormBlur:oe}=l;te&&Z(te,n),oe(),Ft(()=>{r()})}function me(n){const{onClear:f}=e;f&&Z(f,n)}function ee(){const{value:n}=R;if(!n){x();return}const{value:f}=y;if(f===null)e.validator||H(Be());else{const{value:V}=D;N({offset:V,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}function he(){const{value:n}=B;if(!n){P();return}const{value:f}=y;if(f===null)e.validator||H(Be());else{const{value:V}=D;N({offset:-V,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}const xe=Y,Ce=pe;function Be(){if(e.validator)return null;const{value:n}=F,{value:f}=L;return n!==null?Math.max(0,n):f!==null?Math.min(0,f):0}function Oe(n){me(n),H(null)}function Fe(n){var f,V,C;!((f=b.value)===null||f===void 0)&&f.$el.contains(n.target)&&n.preventDefault(),!((V=U.value)===null||V===void 0)&&V.$el.contains(n.target)&&n.preventDefault(),(C=p.value)===null||C===void 0||C.activate()}let ie=null,v=null,h=null;function P(){h&&(window.clearTimeout(h),h=null),ie&&(window.clearInterval(ie),ie=null)}function x(){j&&(window.clearTimeout(j),j=null),v&&(window.clearInterval(v),v=null)}function O(){P(),h=window.setTimeout(()=>{ie=window.setInterval(()=>{he()},ct)},dt),at("mouseup",document,P,{once:!0})}let j=null;function se(){x(),j=window.setTimeout(()=>{v=window.setInterval(()=>{ee()},ct)},dt),at("mouseup",document,x,{once:!0})}const Ne=()=>{v||ee()},Me=()=>{ie||he()};function Ee(n){var f,V;if(n.key==="Enter"){if(n.target===((f=p.value)===null||f===void 0?void 0:f.wrapperElRef))return;N({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&((V=p.value)===null||V===void 0||V.deactivate())}else if(n.key==="ArrowUp"){if(!R.value||e.keyboard.ArrowUp===!1)return;n.preventDefault(),N({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&ee()}else if(n.key==="ArrowDown"){if(!B.value||e.keyboard.ArrowDown===!1)return;n.preventDefault(),N({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&he()}}function Le(n){w.value=n,e.updateValueOnInput&&!e.format&&!e.parse&&e.precision===void 0&&N({offset:0,doUpdateIfValid:!0,isInputing:!0,fixPrecision:!1})}gt(y,()=>{r()});const je={focus:()=>{var n;return(n=p.value)===null||n===void 0?void 0:n.focus()},blur:()=>{var n;return(n=p.value)===null||n===void 0?void 0:n.blur()}},qe=Se("InputNumber",s,t);return Object.assign(Object.assign({},je),{rtlEnabled:qe,inputInstRef:p,minusButtonInstRef:U,addButtonInstRef:b,mergedClsPrefix:t,mergedBordered:o,uncontrolledValue:m,mergedValue:y,mergedPlaceholder:T,displayedValueInvalid:d,mergedSize:k,mergedDisabled:g,displayedValue:w,addable:R,minusable:B,mergedStatus:S,handleFocus:xe,handleBlur:Ce,handleClear:Oe,handleMouseDown:Fe,handleAddClick:Ne,handleMinusClick:Me,handleAddMousedown:se,handleMinusMousedown:O,handleKeyDown:Ee,handleUpdateDisplayedValue:Le,mergedTheme:a,inputThemeOverrides:{paddingSmall:"0 8px 0 10px",paddingMedium:"0 8px 0 12px",paddingLarge:"0 8px 0 14px"},buttonThemeOverrides:ne(()=>{const{self:{iconColorDisabled:n}}=a.value,[f,V,C,te]=Ot(n);return{textColorTextDisabled:`rgb(${f}, ${V}, ${C})`,opacityDisabled:`${te}`}})})},render(){const{mergedClsPrefix:e,$slots:o}=this,t=()=>i(lt,{text:!0,disabled:!this.minusable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleMinusClick,onMousedown:this.handleMinusMousedown,ref:"minusButtonInstRef"},{icon:()=>Ae(o["minus-icon"],()=>[i(ve,{clsPrefix:e},{default:()=>i(xt,null)})])}),s=()=>i(lt,{text:!0,disabled:!this.addable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleAddClick,onMousedown:this.handleAddMousedown,ref:"addButtonInstRef"},{icon:()=>Ae(o["add-icon"],()=>[i(ve,{clsPrefix:e},{default:()=>i(Ye,null)})])});return i("div",{class:[`${e}-input-number`,this.rtlEnabled&&`${e}-input-number--rtl`]},i(Te,{ref:"inputInstRef",autofocus:this.autofocus,status:this.mergedStatus,bordered:this.mergedBordered,loading:this.loading,value:this.displayedValue,onUpdateValue:this.handleUpdateDisplayedValue,theme:this.mergedTheme.peers.Input,themeOverrides:this.mergedTheme.peerOverrides.Input,builtinThemeOverrides:this.inputThemeOverrides,size:this.mergedSize,placeholder:this.mergedPlaceholder,disabled:this.mergedDisabled,readonly:this.readonly,textDecoration:this.displayedValueInvalid?"line-through":void 0,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onClear:this.handleClear,clearable:this.clearable,internalLoadingBeforeSuffix:!0},{prefix:()=>{var a;return this.showButton&&this.buttonPlacement==="both"?[t(),Qe(o.prefix,c=>c?i("span",{class:`${e}-input-number-prefix`},c):null)]:(a=o.prefix)===null||a===void 0?void 0:a.call(o)},suffix:()=>{var a;return this.showButton?[Qe(o.suffix,c=>c?i("span",{class:`${e}-input-number-suffix`},c):null),this.buttonPlacement==="right"?t():null,s()]:(a=o.suffix)===null||a===void 0?void 0:a.call(o)}}))}}),En={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Ln=X("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),jn=[Ln],qn=Q({name:"AttachOutline",render:function(o,t){return E(),J("svg",En,jn)}}),Hn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Kn=X("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Gn=X("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),Wn=[Kn,Gn],Jn=Q({name:"CompassOutline",render:function(o,t){return E(),J("svg",Hn,Wn)}}),Xn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Qn=X("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Yn=X("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Zn=[Qn,Yn],eo=Q({name:"EyeOutline",render:function(o,t){return E(),J("svg",Xn,Zn)}}),to={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},no=X("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),oo=X("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),ro=[no,oo],ao=Q({name:"VideocamOutline",render:function(o,t){return E(),J("svg",to,ro)}}),lo={key:0,class:"compose-wrap"},io={class:"compose-line"},so={class:"compose-user"},uo={class:"compose-line compose-options"},co={class:"attachment"},fo={class:"submit-wrap"},po={class:"attachment-list-wrap"},mo={key:0,class:"attachment-price-wrap"},ho=X("span",null," 附件价格¥",-1),vo={key:0,class:"eye-wrap"},go={key:1,class:"link-wrap"},bo={key:1,class:"compose-wrap"},_o=X("div",{class:"login-wrap"},[X("span",{class:"login-banner"}," 登录后,精彩更多")],-1),yo={class:"login-wrap"},wo=Q({__name:"compose",emits:["post-success"],setup(e,{emit:o}){const t=bt(),s=$([]),a=$(!1),c=$(!1),l=$(!1),k=$(!1),g=$(""),S=$([]),p=$(),U=$(0),b=$("public/image"),m=$([]),_=$([]),y=$([]),w=$([]),z=$(de.FRIEND),u=$(de.FRIEND),T=[{value:de.PUBLIC,label:"公开"},{value:de.PRIVATE,label:"私密"},{value:de.FRIEND,label:"好友可见"}],D="true".toLocaleLowerCase()==="true",F="true".toLocaleLowerCase()==="true",L="false".toLocaleLowerCase()==="true",H="true".toLocaleLowerCase()==="true",N="/v1/attachment",r=$(),d=()=>{l.value=!l.value,l.value&&k.value&&(k.value=!1)},B=()=>{k.value=!k.value,k.value&&l.value&&(l.value=!1)},R=st.debounce(v=>{Nt({k:v}).then(h=>{let P=[];h.suggest.map(x=>{P.push({label:x,value:x})}),s.value=P,a.value=!1}).catch(h=>{a.value=!1})},200),Y=st.debounce(v=>{Mt({k:v}).then(h=>{let P=[];h.suggest.map(x=>{P.push({label:x,value:x})}),s.value=P,a.value=!1}).catch(h=>{a.value=!1})},200),pe=(v,h)=>{a.value||(a.value=!0,h==="@"?R(v):Y(v))},me=v=>{v.length>200||(g.value=v)},ee=v=>{b.value=v},he=v=>{m.value=v},xe=async v=>{var h,P,x,O,j,se;return b.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((h=v.file.file)==null?void 0:h.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):b.value==="image"&&((P=v.file.file)==null?void 0:P.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):b.value==="public/video"&&!["video/mp4","video/quicktime"].includes((x=v.file.file)==null?void 0:x.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):b.value==="public/video"&&((O=v.file.file)==null?void 0:O.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):b.value==="attachment"&&!["application/zip"].includes((j=v.file.file)==null?void 0:j.type)?(window.$message.warning("附件仅允许 zip 格式"),!1):b.value==="attachment"&&((se=v.file.file)==null?void 0:se.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},Ce=({file:v,event:h})=>{var P;try{let x=JSON.parse((P=h.target)==null?void 0:P.response);x.code===0&&(b.value==="public/image"&&_.value.push({id:v.id,content:x.data.content}),b.value==="public/video"&&y.value.push({id:v.id,content:x.data.content}),b.value==="attachment"&&w.value.push({id:v.id,content:x.data.content}))}catch{window.$message.error("上传失败")}},Be=({file:v,event:h})=>{var P;try{let x=JSON.parse((P=h.target)==null?void 0:P.response);if(x.code!==0){let O=x.msg||"上传失败";x.details&&x.details.length>0&&x.details.map(j=>{O+=":"+j}),window.$message.error(O)}}catch{window.$message.error("上传失败")}},Oe=({file:v})=>{let h=_.value.findIndex(P=>P.id===v.id);h>-1&&_.value.splice(h,1),h=y.value.findIndex(P=>P.id===v.id),h>-1&&y.value.splice(h,1),h=w.value.findIndex(P=>P.id===v.id),h>-1&&w.value.splice(h,1)},Fe=()=>{if(g.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:v,users:h}=Zt(g.value);const P=[];let x=100;P.push({content:g.value,type:Ie.TEXT,sort:x}),_.value.map(O=>{x++,P.push({content:O.content,type:Ie.IMAGEURL,sort:x})}),y.value.map(O=>{x++,P.push({content:O.content,type:Ie.VIDEOURL,sort:x})}),w.value.map(O=>{x++,P.push({content:O.content,type:Ie.ATTACHMENT,sort:x})}),S.value.length>0&&S.value.map(O=>{x++,P.push({content:O,type:Ie.LINKURL,sort:x})}),c.value=!0,Lt({contents:P,tags:Array.from(new Set(v)),users:Array.from(new Set(h)),attachment_price:+U.value*100,visibility:z.value}).then(O=>{var j;window.$message.success("发布成功"),c.value=!1,o("post-success",O),l.value=!1,k.value=!1,(j=p.value)==null||j.clear(),m.value=[],g.value="",S.value=[],_.value=[],y.value=[],w.value=[],z.value=u.value}).catch(O=>{c.value=!1})},ie=v=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",v)};return _t(()=>{"friend".toLowerCase()==="friend"?u.value=de.FRIEND:"friend".toLowerCase()==="public"?u.value=de.PUBLIC:u.value=de.PRIVATE,z.value=u.value,r.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(v,h)=>{const P=jt,x=Yt,O=qt,j=ye,se=en,Ne=tn,Me=Ht,Ee=nn,Le=Mn,je=on,qe=yn,n=Kt,f=kn,V=zn;return E(),J("div",null,[ae(t).state.userInfo.id>0?(E(),J("div",lo,[X("div",io,[X("div",so,[I(P,{round:"",size:30,src:ae(t).state.userInfo.avatar},null,8,["src"])]),I(x,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:a.value,value:g.value,prefix:["@","#"],options:s.value,onSearch:pe,"onUpdate:value":me,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),I(je,{ref_key:"uploadRef",ref:p,abstract:"","list-type":"image",multiple:!0,max:9,action:N,headers:{Authorization:r.value},data:{type:b.value},onBeforeUpload:xe,onFinish:Ce,onError:Be,onRemove:Oe,"onUpdate:fileList":he},{default:A(()=>[X("div",uo,[X("div",co,[I(se,{abstract:""},{default:A(({handleClick:C})=>[I(j,{disabled:m.value.length>0&&b.value==="public/video"||m.value.length===9,onClick:()=>{ee("public/image"),C()},quaternary:"",circle:"",type:"primary"},{icon:A(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:A(()=>[I(ae(Qt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),D?(E(),Ve(se,{key:0,abstract:""},{default:A(({handleClick:C})=>[I(j,{disabled:m.value.length>0&&b.value!=="public/video"||m.value.length===9,onClick:()=>{ee("public/video"),C()},quaternary:"",circle:"",type:"primary"},{icon:A(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:A(()=>[I(ae(ao))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):le("",!0),F?(E(),Ve(se,{key:1,abstract:""},{default:A(({handleClick:C})=>[I(j,{disabled:m.value.length>0&&b.value==="public/video"||m.value.length===9,onClick:()=>{ee("attachment"),C()},quaternary:"",circle:"",type:"primary"},{icon:A(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:A(()=>[I(ae(qn))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):le("",!0),I(j,{quaternary:"",circle:"",type:"primary",onClick:it(d,["stop"])},{icon:A(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:A(()=>[I(ae(Jn))]),_:1})]),_:1},8,["onClick"]),H?(E(),Ve(j,{key:2,quaternary:"",circle:"",type:"primary",onClick:it(B,["stop"])},{icon:A(()=>[I(O,{size:"20",color:"var(--primary-color)"},{default:A(()=>[I(ae(eo))]),_:1})]),_:1},8,["onClick"])):le("",!0)]),X("div",fo,[I(Me,{trigger:"hover",placement:"bottom"},{trigger:A(()=>[I(Ne,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:g.value.length/200*100},null,8,["percentage"])]),default:A(()=>[Re(" "+Et(g.value.length)+" / 200 ",1)]),_:1}),I(j,{loading:c.value,onClick:Fe,type:"primary",secondary:"",round:""},{default:A(()=>[Re(" 发布 ")]),_:1},8,["loading"])])]),X("div",po,[I(Ee),w.value.length>0?(E(),J("div",mo,[L?(E(),Ve(Le,{key:0,value:U.value,"onUpdate:value":h[0]||(h[0]=C=>U.value=C),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:A(()=>[ho]),_:1},8,["value"])):le("",!0)])):le("",!0)])]),_:1},8,["headers","data"]),k.value?(E(),J("div",vo,[I(f,{value:z.value,"onUpdate:value":h[1]||(h[1]=C=>z.value=C),name:"radiogroup"},{default:A(()=>[I(n,null,{default:A(()=>[(E(),J(yt,null,wt(T,C=>I(qe,{key:C.value,value:C.value,label:C.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):le("",!0),l.value?(E(),J("div",go,[I(V,{value:S.value,"onUpdate:value":h[2]||(h[2]=C=>S.value=C),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":A(()=>[Re(" 创建链接 ")]),_:1},8,["value"])])):le("",!0)])):(E(),J("div",bo,[_o,X("div",yo,[I(j,{strong:"",secondary:"",round:"",type:"primary",onClick:h[3]||(h[3]=C=>ie("signin"))},{default:A(()=>[Re(" 登录 ")]),_:1}),I(j,{strong:"",secondary:"",round:"",type:"info",onClick:h[4]||(h[4]=C=>ie("signup"))},{default:A(()=>[Re(" 注册 ")]),_:1})])]))])}}});const xo={key:0,class:"skeleton-wrap"},Co={key:1},ko={key:0,class:"empty-wrap"},Ro={key:0,class:"pagination-wrap"},Io=Q({__name:"Home",setup(e){const o=bt(),t=Gt(),s=Jt(),a=$(!1),c=$([]),l=$(+t.query.p||1),k=$(20),g=$(0),S=ne(()=>{let m="泡泡广场";return t.query&&t.query.q&&(t.query.t&&t.query.t==="tag"?m="#"+decodeURIComponent(t.query.q):m="搜索: "+decodeURIComponent(t.query.q)),m}),p=()=>{a.value=!0,Wt({query:t.query.q?decodeURIComponent(t.query.q):null,type:t.query.t,page:l.value,page_size:k.value}).then(m=>{a.value=!1,c.value=m.list,g.value=Math.ceil(m.pager.total_rows/k.value),window.scrollTo(0,0)}).catch(m=>{a.value=!1})},U=m=>{if(l.value!=1){s.push({name:"post",query:{id:m.id}});return}let _=[],y=c.value.length;y==k.value&&y--;for(var w=0;w{s.push({name:"home",query:{...t.query,p:m}})};return _t(()=>{p()}),gt(()=>({path:t.path,query:t.query,refresh:o.state.refresh}),(m,_)=>{if(m.refresh!==_.refresh){l.value=+t.query.p||1,setTimeout(()=>{p()},0);return}_.path!=="/post"&&m.path==="/"&&(l.value=+t.query.p||1,setTimeout(()=>{p()},0))}),(m,_)=>{const y=rn,w=wo,z=sn,u=Vt,T=un,D=It,F=an,L=ln;return E(),J("div",null,[I(y,{title:ae(S)},null,8,["title"]),I(F,{class:"main-content-wrap",bordered:""},{default:A(()=>[I(z,null,{default:A(()=>[I(w,{onPostSuccess:U})]),_:1}),a.value?(E(),J("div",xo,[I(u,{num:k.value},null,8,["num"])])):(E(),J("div",Co,[c.value.length===0?(E(),J("div",ko,[I(T,{size:"large",description:"暂无数据"})])):le("",!0),(E(!0),J(yt,null,wt(c.value,H=>(E(),Ve(z,{key:H.id},{default:A(()=>[I(D,{post:H},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),g.value>0?(E(),J("div",Ro,[I(L,{page:l.value,"onUpdate:page":b,"page-slot":ae(o).state.collapsedRight?5:8,"page-count":g.value},null,8,["page","page-slot","page-count"])])):le("",!0)])}}});const No=Xt(Io,[["__scopeId","data-v-936146f2"]]);export{No as default}; diff --git a/web/dist/assets/Home-9d0d21d5.css b/web/dist/assets/Home-a7297c0f.css similarity index 73% rename from web/dist/assets/Home-9d0d21d5.css rename to web/dist/assets/Home-a7297c0f.css index 4857ab08..b6dc36a0 100644 --- a/web/dist/assets/Home-9d0d21d5.css +++ b/web/dist/assets/Home-a7297c0f.css @@ -1 +1 @@ -.compose-wrap{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .text-statistic{margin-right:8px;width:20px;height:20px;transform:rotate(180deg)}.compose-wrap .link-wrap{margin-left:42px;margin-right:42px}.compose-wrap .eye-wrap{margin-left:64px}.compose-wrap .login-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} diff --git a/web/dist/assets/IEnum-2acc8be7.js b/web/dist/assets/IEnum-1d2492bb.js similarity index 99% rename from web/dist/assets/IEnum-2acc8be7.js rename to web/dist/assets/IEnum-1d2492bb.js index 1fcb8dc5..814d8b00 100644 --- a/web/dist/assets/IEnum-2acc8be7.js +++ b/web/dist/assets/IEnum-1d2492bb.js @@ -1,4 +1,4 @@ -import{E as gp,k as dp,aT as pp,F as _p,aU as vp,b as wp,c as To,aV as xp,d as Lo,u as Ap,x as Eo,o as Sp,r as Ne,y as Ki,aW as mp,t as Rp,s as Ip,A as yp,aX as qi,aY as Tp,h as Ce,aZ as Cp,a_ as Lp,a$ as Ep,b0 as bp,_ as Op,b1 as Mp,V as Co,w as pr,W as Wp,Y as Bp,Z as _r}from"./index-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",` +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",` 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}};/** diff --git a/web/dist/assets/InputGroup-97df1a51.js b/web/dist/assets/InputGroup-a08135e4.js similarity index 98% rename from web/dist/assets/InputGroup-97df1a51.js rename to web/dist/assets/InputGroup-a08135e4.js index 7d74ba9a..4c50b2e6 100644 --- a/web/dist/assets/InputGroup-97df1a51.js +++ b/web/dist/assets/InputGroup-a08135e4.js @@ -1,4 +1,4 @@ -import{c as t,b as r,f as o,d as a,u as d,g as s,h as n}from"./index-c17d3913.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-dfd5495a.js";const p=t("input-group",` display: inline-flex; width: 100%; flex-wrap: nowrap; diff --git a/web/dist/assets/List-28c5febd.js b/web/dist/assets/List-872c113a.js similarity index 92% rename from web/dist/assets/List-28c5febd.js rename to web/dist/assets/List-872c113a.js index bf1e6992..b7f97d0d 100644 --- a/web/dist/assets/List-28c5febd.js +++ b/web/dist/assets/List-872c113a.js @@ -1,4 +1,4 @@ -import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as 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",` +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",` --n-merged-border-color: var(--n-border-color); --n-merged-color: var(--n-color); --n-merged-color-hover: var(--n-color-hover); @@ -70,4 +70,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}; diff --git a/web/dist/assets/Messages-95a60791.js b/web/dist/assets/Messages-296c5576.js similarity index 61% rename from web/dist/assets/Messages-95a60791.js rename to web/dist/assets/Messages-296c5576.js index 2c8a7ea0..e5d4de0e 100644 --- a/web/dist/assets/Messages-95a60791.js +++ b/web/dist/assets/Messages-296c5576.js @@ -1 +1 @@ -import{d as w,W as n,Y as t,Z as l,ak as R,aw as q,a4 as a,a5 as r,a8 as $,a9 as p,aa as v,a6 as S,a7 as i,a3 as h,b3 as D,bi as A,bj as P,bk as T,ae as E,bl as H,af as U,al as j,ac as V,ab as z,r as x,a2 as W,ai as Y,bm as Z,$ as G}from"./index-c17d3913.js";import{a as J}from"./formatTime-09781e30.js";import{_ as K}from"./Alert-e0e350bb.js";import{_ as Q}from"./Thing-2157b754.js";import{b as X,a as ee,_ as ne}from"./Skeleton-ca436747.js";import{_ as se}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";import{_ as te}from"./List-28c5febd.js";import{_ as oe}from"./Pagination-84d10fc7.js";const ae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},re=l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),le=l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),ie=l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),ce=[re,le,ie],_e=w({name:"CheckmarkDoneOutline",render:function(_,d){return n(),t("svg",ae,ce)}}),de={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ue=l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),me=[ue],pe=w({name:"CheckmarkOutline",render:function(_,d){return n(),t("svg",de,me)}}),ge={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ke=l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),he=l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),we=[ke,he],L=w({name:"CloseOutline",render:function(_,d){return n(),t("svg",ge,we)}}),ve={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},fe=l("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),ye=l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),xe=l("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),$e=[fe,ye,xe],Ce=w({name:"ShareOutline",render:function(_,d){return n(),t("svg",ve,$e)}}),Me={class:"sender-wrap"},be={key:0,class:"nickname"},je={class:"username"},Be={key:1,class:"nickname"},Oe={class:"timestamp"},Le={class:"timestamp-txt"},Se={key:0,class:"brief-content"},Ve={key:1,class:"whisper-content-wrap"},ze={key:2,class:"requesting-friend-wrap"},Fe={key:2,class:"status-info"},Ie={key:3,class:"status-info"},Ne=w({__name:"message-item",props:{message:null},setup(e){const _="https://assets.paopao.info/public/avatar/default/admin.png",d=R(),c=s=>{u(s),(s.type===1||s.type===2||s.type===3)&&(s.post&&s.post.id>0?d.push({name:"post",query:{id:s.post_id}}):window.$message.error("该动态已被删除"))},g=s=>{u(s),A({user_id:s.sender_user_id}).then(o=>{s.reply_id=2,window.$message.success("已同意添加好友")}).catch(o=>{console.log(o)})},f=s=>{u(s),P({user_id:s.sender_user_id}).then(o=>{s.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(o=>{console.log(o)})},u=s=>{s.is_read===0&&T({id:s.id}).then(o=>{s.is_read=1}).catch(o=>{console.log(o)})};return(s,o)=>{const C=E,m=q("router-link"),B=H,k=U,M=K,b=Q;return n(),t("div",{class:D(["message-item",{unread:e.message.is_read===0}]),onClick:o[4]||(o[4]=y=>u(e.message))},[a(b,{"content-indented":""},{avatar:r(()=>[a(C,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:_},null,8,["src"])]),header:r(()=>[l("div",Me,[e.message.sender_user.id>0?(n(),t("span",be,[a(m,{onClick:o[0]||(o[0]=$(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:r(()=>[p(v(e.message.sender_user.nickname),1)]),_:1},8,["to"]),l("span",je," @"+v(e.message.sender_user.username),1)])):(n(),t("span",Be," 系统 "))])]),"header-extra":r(()=>[l("span",Oe,[e.message.is_read===0?(n(),S(B,{key:0,dot:"",processing:""})):i("",!0),l("span",Le,v(h(J)(e.message.created_on)),1)])]),description:r(()=>[a(M,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:r(()=>[e.message.type!=4?(n(),t("div",Se,[p(v(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(n(),t("span",{key:0,onClick:o[1]||(o[1]=$(y=>c(e.message),["stop"])),class:"hash-link view-link"},[a(k,null,{default:r(()=>[a(h(Ce))]),_:1}),p(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(n(),t("div",Ve,v(e.message.content),1)):i("",!0),e.message.type===5?(n(),t("div",ze,[p(v(e.message.content)+" ",1),e.message.reply_id===1?(n(),t("span",{key:0,onClick:o[2]||(o[2]=$(y=>g(e.message),["stop"])),class:"hash-link view-link"},[a(k,null,{default:r(()=>[a(h(pe))]),_:1}),p(" 同意 ")])):i("",!0),e.message.reply_id===1?(n(),t("span",{key:1,onClick:o[3]||(o[3]=$(y=>f(e.message),["stop"])),class:"hash-link view-link"},[a(k,null,{default:r(()=>[a(h(L))]),_:1}),p(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(n(),t("span",Fe,[a(k,null,{default:r(()=>[a(h(_e))]),_:1}),p(" 已同意 ")])):i("",!0),e.message.reply_id===3?(n(),t("span",Ie,[a(k,null,{default:r(()=>[a(h(L))]),_:1}),p(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Re=j(Ne,[["__scopeId","data-v-00f99473"]]),qe={class:"content"},De=w({__name:"message-skeleton",props:{num:{default:1}},setup(e){return(_,d)=>{const c=X;return n(!0),t(z,null,V(new Array(e.num),g=>(n(),t("div",{class:"skeleton-item",key:g},[l("div",qe,[a(c,{text:"",repeat:2}),a(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ae=j(De,[["__scopeId","data-v-2eda9fa4"]]),Pe={key:0,class:"skeleton-wrap"},Te={key:1},Ee={key:0,class:"empty-wrap"},He={key:0,class:"pagination-wrap"},Ue=w({__name:"Messages",setup(e){const _=Y(),d=G(),c=x(!1),g=x(+_.query.p||1),f=x(10),u=x(0),s=x([]),o=()=>{c.value=!0,Z({page:g.value,page_size:f.value}).then(m=>{c.value=!1,s.value=m.list,u.value=Math.ceil(m.pager.total_rows/f.value)}).catch(m=>{c.value=!1})},C=m=>{g.value=m,o()};return W(()=>{o()}),(m,B)=>{const k=se,M=Ae,b=ee,y=Re,F=ne,I=oe,N=te;return n(),t("div",null,[a(k,{title:"消息"}),a(N,{class:"main-content-wrap messages-wrap",bordered:""},{footer:r(()=>[u.value>1?(n(),t("div",He,[a(I,{page:g.value,"onUpdate:page":C,"page-slot":h(d).state.collapsedRight?5:8,"page-count":u.value},null,8,["page","page-slot","page-count"])])):i("",!0)]),default:r(()=>[c.value?(n(),t("div",Pe,[a(M,{num:f.value},null,8,["num"])])):(n(),t("div",Te,[s.value.length===0?(n(),t("div",Ee,[a(b,{size:"large",description:"暂无数据"})])):i("",!0),(n(!0),t(z,null,V(s.value,O=>(n(),S(F,{key:O.id},{default:r(()=>[a(y,{message:O},null,8,["message"])]),_:2},1024))),128))]))]),_:1})])}}});const en=j(Ue,[["__scopeId","data-v-14709a1d"]]);export{en as default}; +import{d as w,W as n,Y as t,Z as r,ak as R,aw as q,a4 as a,a5 as l,a8 as $,a9 as p,aa as v,a6 as S,a7 as i,a3 as h,b3 as D,bi as A,bj as P,bk as T,ae as E,bl as H,af as U,al as j,ac as V,ab as z,r as x,a2 as W,ai as Y,bm as Z,$ as G}from"./index-dfd5495a.js";import{a as J}from"./formatTime-0c777b4d.js";import{_ as K}from"./Alert-f1e64ed3.js";import{_ as Q}from"./Thing-7c7318d4.js";import{b as X,a as ee,_ as ne}from"./Skeleton-6c42d34d.js";import{_ as se}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{_ as te}from"./List-872c113a.js";import{_ as oe}from"./Pagination-35c2dd8e.js";const ae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},re=r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),le=r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),ie=r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),ce=[re,le,ie],_e=w({name:"CheckmarkDoneOutline",render:function(_,d){return n(),t("svg",ae,ce)}}),de={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ue=r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),me=[ue],pe=w({name:"CheckmarkOutline",render:function(_,d){return n(),t("svg",de,me)}}),ge={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ke=r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),he=r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),we=[ke,he],L=w({name:"CloseOutline",render:function(_,d){return n(),t("svg",ge,we)}}),ve={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},fe=r("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),ye=r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),xe=r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),$e=[fe,ye,xe],Ce=w({name:"ShareOutline",render:function(_,d){return n(),t("svg",ve,$e)}}),Me={class:"sender-wrap"},be={key:0,class:"nickname"},je={class:"username"},Be={key:1,class:"nickname"},Oe={class:"timestamp"},Le={class:"timestamp-txt"},Se={key:0,class:"brief-content"},Ve={key:1,class:"whisper-content-wrap"},ze={key:2,class:"requesting-friend-wrap"},Fe={key:2,class:"status-info"},Ie={key:3,class:"status-info"},Ne=w({__name:"message-item",props:{message:null},setup(e){const _="https://assets.paopao.info/public/avatar/default/admin.png",d=R(),c=s=>{u(s),(s.type===1||s.type===2||s.type===3)&&(s.post&&s.post.id>0?d.push({name:"post",query:{id:s.post_id}}):window.$message.error("该动态已被删除"))},g=s=>{u(s),A({user_id:s.sender_user_id}).then(o=>{s.reply_id=2,window.$message.success("已同意添加好友")}).catch(o=>{console.log(o)})},f=s=>{u(s),P({user_id:s.sender_user_id}).then(o=>{s.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(o=>{console.log(o)})},u=s=>{s.is_read===0&&T({id:s.id}).then(o=>{s.is_read=1}).catch(o=>{console.log(o)})};return(s,o)=>{const C=E,m=q("router-link"),B=H,k=U,M=K,b=Q;return n(),t("div",{class:D(["message-item",{unread:e.message.is_read===0}]),onClick:o[4]||(o[4]=y=>u(e.message))},[a(b,{"content-indented":""},{avatar:l(()=>[a(C,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:_},null,8,["src"])]),header:l(()=>[r("div",Me,[e.message.sender_user.id>0?(n(),t("span",be,[a(m,{onClick:o[0]||(o[0]=$(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:l(()=>[p(v(e.message.sender_user.nickname),1)]),_:1},8,["to"]),r("span",je," @"+v(e.message.sender_user.username),1)])):(n(),t("span",Be," 系统 "))])]),"header-extra":l(()=>[r("span",Oe,[e.message.is_read===0?(n(),S(B,{key:0,dot:"",processing:""})):i("",!0),r("span",Le,v(h(J)(e.message.created_on)),1)])]),description:l(()=>[a(M,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:l(()=>[e.message.type!=4?(n(),t("div",Se,[p(v(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(n(),t("span",{key:0,onClick:o[1]||(o[1]=$(y=>c(e.message),["stop"])),class:"hash-link view-link"},[a(k,null,{default:l(()=>[a(h(Ce))]),_:1}),p(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(n(),t("div",Ve,v(e.message.content),1)):i("",!0),e.message.type===5?(n(),t("div",ze,[p(v(e.message.content)+" ",1),e.message.reply_id===1?(n(),t("span",{key:0,onClick:o[2]||(o[2]=$(y=>g(e.message),["stop"])),class:"hash-link view-link"},[a(k,null,{default:l(()=>[a(h(pe))]),_:1}),p(" 同意 ")])):i("",!0),e.message.reply_id===1?(n(),t("span",{key:1,onClick:o[3]||(o[3]=$(y=>f(e.message),["stop"])),class:"hash-link view-link"},[a(k,null,{default:l(()=>[a(h(L))]),_:1}),p(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(n(),t("span",Fe,[a(k,null,{default:l(()=>[a(h(_e))]),_:1}),p(" 已同意 ")])):i("",!0),e.message.reply_id===3?(n(),t("span",Ie,[a(k,null,{default:l(()=>[a(h(L))]),_:1}),p(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Re=j(Ne,[["__scopeId","data-v-4a0e27fa"]]),qe={class:"content"},De=w({__name:"message-skeleton",props:{num:{default:1}},setup(e){return(_,d)=>{const c=X;return n(!0),t(z,null,V(new Array(e.num),g=>(n(),t("div",{class:"skeleton-item",key:g},[r("div",qe,[a(c,{text:"",repeat:2}),a(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ae=j(De,[["__scopeId","data-v-01d2e871"]]),Pe={key:0,class:"skeleton-wrap"},Te={key:1},Ee={key:0,class:"empty-wrap"},He={key:0,class:"pagination-wrap"},Ue=w({__name:"Messages",setup(e){const _=Y(),d=G(),c=x(!1),g=x(+_.query.p||1),f=x(10),u=x(0),s=x([]),o=()=>{c.value=!0,Z({page:g.value,page_size:f.value}).then(m=>{c.value=!1,s.value=m.list,u.value=Math.ceil(m.pager.total_rows/f.value)}).catch(m=>{c.value=!1})},C=m=>{g.value=m,o()};return W(()=>{o()}),(m,B)=>{const k=se,M=Ae,b=ee,y=Re,F=ne,I=te,N=oe;return n(),t("div",null,[a(k,{title:"消息"}),a(I,{class:"main-content-wrap messages-wrap",bordered:""},{default:l(()=>[c.value?(n(),t("div",Pe,[a(M,{num:f.value},null,8,["num"])])):(n(),t("div",Te,[s.value.length===0?(n(),t("div",Ee,[a(b,{size:"large",description:"暂无数据"})])):i("",!0),(n(!0),t(z,null,V(s.value,O=>(n(),S(F,{key:O.id},{default:l(()=>[a(y,{message:O},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),u.value>0?(n(),t("div",He,[a(N,{page:g.value,"onUpdate:page":C,"page-slot":h(d).state.collapsedRight?5:8,"page-count":u.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const en=j(Ue,[["__scopeId","data-v-4e7b1342"]]);export{en as default}; diff --git a/web/dist/assets/Messages-7ed31ecd.css b/web/dist/assets/Messages-7ed31ecd.css new file mode 100644 index 00000000..a7a5a921 --- /dev/null +++ b/web/dist/assets/Messages-7ed31ecd.css @@ -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} diff --git a/web/dist/assets/Messages-e24ddbef.css b/web/dist/assets/Messages-e24ddbef.css deleted file mode 100644 index 58cdfa0a..00000000 --- a/web/dist/assets/Messages-e24ddbef.css +++ /dev/null @@ -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} diff --git a/web/dist/assets/MoreHorizFilled-6e21ff10.js b/web/dist/assets/MoreHorizFilled-c8a99fb4.js similarity index 86% rename from web/dist/assets/MoreHorizFilled-6e21ff10.js rename to web/dist/assets/MoreHorizFilled-c8a99fb4.js index 2bae1e3a..f18cc950 100644 --- a/web/dist/assets/MoreHorizFilled-6e21ff10.js +++ b/web/dist/assets/MoreHorizFilled-c8a99fb4.js @@ -1 +1 @@ -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}; +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}; diff --git a/web/dist/assets/Pagination-84d10fc7.js b/web/dist/assets/Pagination-35c2dd8e.js similarity index 97% rename from web/dist/assets/Pagination-84d10fc7.js rename to web/dist/assets/Pagination-35c2dd8e.js index 54e6f243..ddde1aef 100644 --- a/web/dist/assets/Pagination-84d10fc7.js +++ b/web/dist/assets/Pagination-35c2dd8e.js @@ -1,4 +1,4 @@ -import{d as le,r as P,bQ as Zt,bR as Qt,a2 as kt,V as Ue,h as n,bS as Yt,bT as Xt,b as ce,c as k,f as U,a as it,e as G,x as Ce,t as we,bU as Gt,y as I,bV as We,S as Ne,bJ as He,z as Q,A as Ze,bW as en,bX as tn,aL as at,as as Pt,ab as lt,bY as nn,n as on,q as an,u as dt,bZ as Ot,aW as Bt,b_ as st,w as E,ao as rn,aq as ln,b$ as sn,ar as zt,at as ct,p as dn,aV as un,c0 as cn,s as Ke,J as Rt,c1 as fn,o as hn,aY as vn,aX as qe,aZ as bn,a_ as gn,a$ as pn,b0 as mn,bw as wn,bo as Cn,c2 as ft,c3 as xn,c4 as yn,c5 as Fn,i as Mn,L as Sn,_ as ht,N as Re}from"./index-c17d3913.js";import{c as kn,N as Tt,m as vt}from"./Skeleton-ca436747.js";function bt(e){switch(e){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw Error(`${e} has no smaller size.`)}const ye="v-hidden",Pn=Xt("[v-hidden]",{display:"none!important"}),gt=le({name:"Overflow",props:{getCounter:Function,getTail:Function,updateCounter:Function,onUpdateOverflow:Function},setup(e,{slots:o}){const s=P(null),d=P(null);function f(){const{value:C}=s,{getCounter:i,getTail:b}=e;let h;if(i!==void 0?h=i():h=d.value,!C||!h)return;h.hasAttribute(ye)&&h.removeAttribute(ye);const{children:F}=C,y=C.offsetWidth,v=[],g=o.tail?b==null?void 0:b():null;let c=g?g.offsetWidth:0,p=!1;const z=C.children.length-(o.tail?1:0);for(let R=0;Ry){const{updateCounter:H}=e;for(let _=R;_>=0;--_){const L=z-1-_;H!==void 0?H(L):h.textContent=`${L}`;const N=h.offsetWidth;if(c-=v[_],c+N<=y||_===0){p=!0,R=_-1,g&&(R===-1?(g.style.maxWidth=`${y-N}px`,g.style.boxSizing="border-box"):g.style.maxWidth="");break}}}}const{onUpdateOverflow:T}=e;p?T!==void 0&&T(!0):(T!==void 0&&T(!1),h.setAttribute(ye,""))}const x=Zt();return Pn.mount({id:"vueuc/overflow",head:!0,anchorMetaName:Qt,ssr:x}),kt(f),{selfRef:s,counterRef:d,sync:f}},render(){const{$slots:e}=this;return Ue(this.sync),n("div",{class:"v-overflow",ref:"selfRef"},[Yt(e,"default"),e.counter?e.counter():n("span",{style:{display:"inline-block"},ref:"counterRef"}),e.tail?e.tail():null])}}),pt=le({name:"Backward",render(){return n("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{d:"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z",fill:"currentColor"}))}}),mt=le({name:"FastBackward",render(){return n("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},n("g",{fill:"currentColor","fill-rule":"nonzero"},n("path",{d:"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z"}))))}}),wt=le({name:"FastForward",render(){return n("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},n("g",{fill:"currentColor","fill-rule":"nonzero"},n("path",{d:"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z"}))))}}),Ct=le({name:"Forward",render(){return n("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{d:"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z",fill:"currentColor"}))}}),xt=le({name:"More",render(){return n("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},n("g",{fill:"currentColor","fill-rule":"nonzero"},n("path",{d:"M4,7 C4.55228,7 5,7.44772 5,8 C5,8.55229 4.55228,9 4,9 C3.44772,9 3,8.55229 3,8 C3,7.44772 3.44772,7 4,7 Z M8,7 C8.55229,7 9,7.44772 9,8 C9,8.55229 8.55229,9 8,9 C7.44772,9 7,8.55229 7,8 C7,7.44772 7.44772,7 8,7 Z M12,7 C12.5523,7 13,7.44772 13,8 C13,8.55229 12.5523,9 12,9 C11.4477,9 11,8.55229 11,8 C11,7.44772 11.4477,7 12,7 Z"}))))}}),On=ce([k("base-selection",` +import{d as le,r as P,bQ as Zt,bR as Qt,a2 as kt,V as Ue,h as n,bS as Yt,bT as Xt,b as ce,c as k,f as U,a as it,e as G,x as Ce,t as we,bU as Gt,y as I,S as Ne,bJ as He,A as Ze,aL as at,as as Pt,ab as lt,bV as We,bW as en,z as Q,bX as tn,bY as nn,n as on,u as dt,bZ as Ot,q as an,aW as Bt,b_ as st,w as E,ao as rn,aq as ln,b$ as sn,ar as zt,at as ct,p as dn,aV as un,s as Ke,J as Rt,c0 as cn,o as fn,aY as hn,aX as qe,aZ as vn,a_ as bn,a$ as gn,b0 as pn,bw as mn,bo as wn,c1 as ft,c2 as Cn,c3 as xn,c4 as yn,j as Fn,L as Mn,_ as ht,N as Re,c5 as Sn}from"./index-dfd5495a.js";import{c as kn,N as Tt,m as vt}from"./Skeleton-6c42d34d.js";function bt(e){switch(e){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw Error(`${e} has no smaller size.`)}const ye="v-hidden",Pn=Xt("[v-hidden]",{display:"none!important"}),gt=le({name:"Overflow",props:{getCounter:Function,getTail:Function,updateCounter:Function,onUpdateOverflow:Function},setup(e,{slots:o}){const s=P(null),d=P(null);function f(){const{value:C}=s,{getCounter:i,getTail:b}=e;let h;if(i!==void 0?h=i():h=d.value,!C||!h)return;h.hasAttribute(ye)&&h.removeAttribute(ye);const{children:F}=C,y=C.offsetWidth,v=[],g=o.tail?b==null?void 0:b():null;let c=g?g.offsetWidth:0,p=!1;const z=C.children.length-(o.tail?1:0);for(let R=0;Ry){const{updateCounter:H}=e;for(let _=R;_>=0;--_){const L=z-1-_;H!==void 0?H(L):h.textContent=`${L}`;const N=h.offsetWidth;if(c-=v[_],c+N<=y||_===0){p=!0,R=_-1,g&&(R===-1?(g.style.maxWidth=`${y-N}px`,g.style.boxSizing="border-box"):g.style.maxWidth="");break}}}}const{onUpdateOverflow:T}=e;p?T!==void 0&&T(!0):(T!==void 0&&T(!1),h.setAttribute(ye,""))}const x=Zt();return Pn.mount({id:"vueuc/overflow",head:!0,anchorMetaName:Qt,ssr:x}),kt(f),{selfRef:s,counterRef:d,sync:f}},render(){const{$slots:e}=this;return Ue(this.sync),n("div",{class:"v-overflow",ref:"selfRef"},[Yt(e,"default"),e.counter?e.counter():n("span",{style:{display:"inline-block"},ref:"counterRef"}),e.tail?e.tail():null])}}),pt=le({name:"Backward",render(){return n("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{d:"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z",fill:"currentColor"}))}}),mt=le({name:"FastBackward",render(){return n("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},n("g",{fill:"currentColor","fill-rule":"nonzero"},n("path",{d:"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z"}))))}}),wt=le({name:"FastForward",render(){return n("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},n("g",{fill:"currentColor","fill-rule":"nonzero"},n("path",{d:"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z"}))))}}),Ct=le({name:"Forward",render(){return n("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n("path",{d:"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z",fill:"currentColor"}))}}),xt=le({name:"More",render(){return n("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},n("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},n("g",{fill:"currentColor","fill-rule":"nonzero"},n("path",{d:"M4,7 C4.55228,7 5,7.44772 5,8 C5,8.55229 4.55228,9 4,9 C3.44772,9 3,8.55229 3,8 C3,7.44772 3.44772,7 4,7 Z M8,7 C8.55229,7 9,7.44772 9,8 C9,8.55229 8.55229,9 8,9 C7.44772,9 7,8.55229 7,8 C7,7.44772 7.44772,7 8,7 Z M12,7 C12.5523,7 13,7.44772 13,8 C13,8.55229 12.5523,9 12,9 C11.4477,9 11,8.55229 11,8 C11,7.44772 11.4477,7 12,7 Z"}))))}}),On=ce([k("base-selection",` position: relative; z-index: auto; box-shadow: none; @@ -196,7 +196,7 @@ import{d as le,r as P,bQ as Zt,bR as Qt,a2 as kt,V as Ue,h as n,bS as Yt,bT as X line-height: 1.25; text-overflow: ellipsis; overflow: hidden; - `)])])]),Bn=le({name:"InternalSelection",props:Object.assign(Object.assign({},Ce.props),{clsPrefix:{type:String,required:!0},bordered:{type:Boolean,default:void 0},active:Boolean,pattern:{type:String,default:""},placeholder:String,selectedOption:{type:Object,default:null},selectedOptions:{type:Array,default:null},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},multiple:Boolean,filterable:Boolean,clearable:Boolean,disabled:Boolean,size:{type:String,default:"medium"},loading:Boolean,autofocus:Boolean,showArrow:{type:Boolean,default:!0},inputProps:Object,focused:Boolean,renderTag:Function,onKeydown:Function,onClick:Function,onBlur:Function,onFocus:Function,onDeleteOption:Function,maxTagCount:[String,Number],onClear:Function,onPatternInput:Function,onPatternFocus:Function,onPatternBlur:Function,renderLabel:Function,status:String,inlineThemeDisabled:Boolean,ignoreComposition:{type:Boolean,default:!0},onResize:Function}),setup(e){const o=P(null),s=P(null),d=P(null),f=P(null),x=P(null),C=P(null),i=P(null),b=P(null),h=P(null),F=P(null),y=P(!1),v=P(!1),g=P(!1),c=Ce("InternalSelection","-internal-selection",On,Gt,e,we(e,"clsPrefix")),p=I(()=>e.clearable&&!e.disabled&&(g.value||e.active)),z=I(()=>e.selectedOption?e.renderTag?e.renderTag({option:e.selectedOption,handleClose:()=>{}}):e.renderLabel?e.renderLabel(e.selectedOption,!0):We(e.selectedOption[e.labelField],e.selectedOption,!0):e.placeholder),T=I(()=>{const r=e.selectedOption;if(r)return r[e.labelField]}),R=I(()=>e.multiple?!!(Array.isArray(e.selectedOptions)&&e.selectedOptions.length):e.selectedOption!==null);function W(){var r;const{value:u}=o;if(u){const{value:$}=s;$&&($.style.width=`${u.offsetWidth}px`,e.maxTagCount!=="responsive"&&((r=h.value)===null||r===void 0||r.sync()))}}function Y(){const{value:r}=F;r&&(r.style.display="none")}function H(){const{value:r}=F;r&&(r.style.display="inline-block")}Ne(we(e,"active"),r=>{r||Y()}),Ne(we(e,"pattern"),()=>{e.multiple&&Ue(W)});function _(r){const{onFocus:u}=e;u&&u(r)}function L(r){const{onBlur:u}=e;u&&u(r)}function N(r){const{onDeleteOption:u}=e;u&&u(r)}function fe(r){const{onClear:u}=e;u&&u(r)}function ne(r){const{onPatternInput:u}=e;u&&u(r)}function se(r){var u;(!r.relatedTarget||!(!((u=d.value)===null||u===void 0)&&u.contains(r.relatedTarget)))&&_(r)}function V(r){var u;!((u=d.value)===null||u===void 0)&&u.contains(r.relatedTarget)||L(r)}function oe(r){fe(r)}function he(){g.value=!0}function ve(){g.value=!1}function J(r){!e.active||!e.filterable||r.target!==s.value&&r.preventDefault()}function K(r){N(r)}function X(r){if(r.key==="Backspace"&&!ae.value&&!e.pattern.length){const{selectedOptions:u}=e;u!=null&&u.length&&K(u[u.length-1])}}const ae=P(!1);let A=null;function xe(r){const{value:u}=o;if(u){const $=r.target.value;u.textContent=$,W()}e.ignoreComposition&&ae.value?A=r:ne(r)}function ee(){ae.value=!0}function be(){ae.value=!1,e.ignoreComposition&&ne(A),A=null}function ge(r){var u;v.value=!0,(u=e.onPatternFocus)===null||u===void 0||u.call(e,r)}function Z(r){var u;v.value=!1,(u=e.onPatternBlur)===null||u===void 0||u.call(e,r)}function pe(){var r,u;if(e.filterable)v.value=!1,(r=C.value)===null||r===void 0||r.blur(),(u=s.value)===null||u===void 0||u.blur();else if(e.multiple){const{value:$}=f;$==null||$.blur()}else{const{value:$}=x;$==null||$.blur()}}function re(){var r,u,$;e.filterable?(v.value=!1,(r=C.value)===null||r===void 0||r.focus()):e.multiple?(u=f.value)===null||u===void 0||u.focus():($=x.value)===null||$===void 0||$.focus()}function q(){const{value:r}=s;r&&(H(),r.focus())}function j(){const{value:r}=s;r&&r.blur()}function a(r){const{value:u}=i;u&&u.setTextContent(`+${r}`)}function m(){const{value:r}=b;return r}function ie(){return s.value}let te=null;function me(){te!==null&&window.clearTimeout(te)}function Te(){e.disabled||e.active||(me(),te=window.setTimeout(()=>{R.value&&(y.value=!0)},100))}function Ie(){me()}function _e(r){r||(me(),y.value=!1)}Ne(R,r=>{r||(y.value=!1)}),kt(()=>{He(()=>{const r=C.value;r&&(r.tabIndex=e.disabled||v.value?-1:0)})}),kn(d,e.onResize);const{inlineThemeDisabled:Fe}=e,Me=I(()=>{const{size:r}=e,{common:{cubicBezierEaseInOut:u},self:{borderRadius:$,color:Se,placeholderColor:$e,textColor:Ae,paddingSingle:je,paddingMultiple:Ee,caretColor:ke,colorDisabled:Pe,textColorDisabled:Oe,placeholderColorDisabled:Le,colorActive:Ve,boxShadowFocus:Be,boxShadowActive:ue,boxShadowHover:t,border:l,borderFocus:w,borderHover:B,borderActive:M,arrowColor:O,arrowColorDisabled:S,loadingColor:D,colorActiveWarning:ze,boxShadowFocusWarning:De,boxShadowActiveWarning:Qe,boxShadowHoverWarning:Ye,borderWarning:Xe,borderFocusWarning:Ge,borderHoverWarning:et,borderActiveWarning:tt,colorActiveError:nt,boxShadowFocusError:ot,boxShadowActiveError:At,boxShadowHoverError:jt,borderError:Et,borderFocusError:Lt,borderHoverError:Vt,borderActiveError:Dt,clearColor:Nt,clearColorHover:Ut,clearColorPressed:Wt,clearSize:Ht,arrowSize:Kt,[Q("height",r)]:qt,[Q("fontSize",r)]:Jt}}=c.value;return{"--n-bezier":u,"--n-border":l,"--n-border-active":M,"--n-border-focus":w,"--n-border-hover":B,"--n-border-radius":$,"--n-box-shadow-active":ue,"--n-box-shadow-focus":Be,"--n-box-shadow-hover":t,"--n-caret-color":ke,"--n-color":Se,"--n-color-active":Ve,"--n-color-disabled":Pe,"--n-font-size":Jt,"--n-height":qt,"--n-padding-single":je,"--n-padding-multiple":Ee,"--n-placeholder-color":$e,"--n-placeholder-color-disabled":Le,"--n-text-color":Ae,"--n-text-color-disabled":Oe,"--n-arrow-color":O,"--n-arrow-color-disabled":S,"--n-loading-color":D,"--n-color-active-warning":ze,"--n-box-shadow-focus-warning":De,"--n-box-shadow-active-warning":Qe,"--n-box-shadow-hover-warning":Ye,"--n-border-warning":Xe,"--n-border-focus-warning":Ge,"--n-border-hover-warning":et,"--n-border-active-warning":tt,"--n-color-active-error":nt,"--n-box-shadow-focus-error":ot,"--n-box-shadow-active-error":At,"--n-box-shadow-hover-error":jt,"--n-border-error":Et,"--n-border-focus-error":Lt,"--n-border-hover-error":Vt,"--n-border-active-error":Dt,"--n-clear-size":Ht,"--n-clear-color":Nt,"--n-clear-color-hover":Ut,"--n-clear-color-pressed":Wt,"--n-arrow-size":Kt}}),de=Fe?Ze("internal-selection",I(()=>e.size[0]),Me,e):void 0;return{mergedTheme:c,mergedClearable:p,patternInputFocused:v,filterablePlaceholder:z,label:T,selected:R,showTagsPanel:y,isComposing:ae,counterRef:i,counterWrapperRef:b,patternInputMirrorRef:o,patternInputRef:s,selfRef:d,multipleElRef:f,singleElRef:x,patternInputWrapperRef:C,overflowRef:h,inputTagElRef:F,handleMouseDown:J,handleFocusin:se,handleClear:oe,handleMouseEnter:he,handleMouseLeave:ve,handleDeleteOption:K,handlePatternKeyDown:X,handlePatternInputInput:xe,handlePatternInputBlur:Z,handlePatternInputFocus:ge,handleMouseEnterCounter:Te,handleMouseLeaveCounter:Ie,handleFocusout:V,handleCompositionEnd:be,handleCompositionStart:ee,onPopoverUpdateShow:_e,focus:re,focusInput:q,blur:pe,blurInput:j,updateCounter:a,getCounter:m,getTail:ie,renderLabel:e.renderLabel,cssVars:Fe?void 0:Me,themeClass:de==null?void 0:de.themeClass,onRender:de==null?void 0:de.onRender}},render(){const{status:e,multiple:o,size:s,disabled:d,filterable:f,maxTagCount:x,bordered:C,clsPrefix:i,onRender:b,renderTag:h,renderLabel:F}=this;b==null||b();const y=x==="responsive",v=typeof x=="number",g=y||v,c=n(tn,null,{default:()=>n(en,{clsPrefix:i,loading:this.loading,showArrow:this.showArrow,showClear:this.mergedClearable&&this.selected,onClear:this.handleClear},{default:()=>{var z,T;return(T=(z=this.$slots).arrow)===null||T===void 0?void 0:T.call(z)}})});let p;if(o){const{labelField:z}=this,T=V=>n("div",{class:`${i}-base-selection-tag-wrapper`,key:V.value},h?h({option:V,handleClose:()=>this.handleDeleteOption(V)}):n(at,{size:s,closable:!V.disabled,disabled:d,onClose:()=>this.handleDeleteOption(V),internalCloseIsButtonTag:!1,internalCloseFocusable:!1},{default:()=>F?F(V,!0):We(V[z],V,!0)})),R=()=>(v?this.selectedOptions.slice(0,x):this.selectedOptions).map(T),W=f?n("div",{class:`${i}-base-selection-input-tag`,ref:"inputTagElRef",key:"__input-tag__"},n("input",Object.assign({},this.inputProps,{ref:"patternInputRef",tabindex:-1,disabled:d,value:this.pattern,autofocus:this.autofocus,class:`${i}-base-selection-input-tag__input`,onBlur:this.handlePatternInputBlur,onFocus:this.handlePatternInputFocus,onKeydown:this.handlePatternKeyDown,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),n("span",{ref:"patternInputMirrorRef",class:`${i}-base-selection-input-tag__mirror`},this.pattern)):null,Y=y?()=>n("div",{class:`${i}-base-selection-tag-wrapper`,ref:"counterWrapperRef"},n(at,{size:s,ref:"counterRef",onMouseenter:this.handleMouseEnterCounter,onMouseleave:this.handleMouseLeaveCounter,disabled:d})):void 0;let H;if(v){const V=this.selectedOptions.length-x;V>0&&(H=n("div",{class:`${i}-base-selection-tag-wrapper`,key:"__counter__"},n(at,{size:s,ref:"counterRef",onMouseenter:this.handleMouseEnterCounter,disabled:d},{default:()=>`+${V}`})))}const _=y?f?n(gt,{ref:"overflowRef",updateCounter:this.updateCounter,getCounter:this.getCounter,getTail:this.getTail,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:R,counter:Y,tail:()=>W}):n(gt,{ref:"overflowRef",updateCounter:this.updateCounter,getCounter:this.getCounter,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:R,counter:Y}):v?R().concat(H):R(),L=g?()=>n("div",{class:`${i}-base-selection-popover`},y?R():this.selectedOptions.map(T)):void 0,N=g?{show:this.showTagsPanel,trigger:"hover",overlap:!0,placement:"top",width:"trigger",onUpdateShow:this.onPopoverUpdateShow,theme:this.mergedTheme.peers.Popover,themeOverrides:this.mergedTheme.peerOverrides.Popover}:null,ne=(this.selected?!1:this.active?!this.pattern&&!this.isComposing:!0)?n("div",{class:`${i}-base-selection-placeholder ${i}-base-selection-overlay`},n("div",{class:`${i}-base-selection-placeholder__inner`},this.placeholder)):null,se=f?n("div",{ref:"patternInputWrapperRef",class:`${i}-base-selection-tags`},_,y?null:W,c):n("div",{ref:"multipleElRef",class:`${i}-base-selection-tags`,tabindex:d?void 0:0},_,c);p=n(lt,null,g?n(Pt,Object.assign({},N,{scrollable:!0,style:"max-height: calc(var(--v-target-height) * 6.6);"}),{trigger:()=>se,default:L}):se,ne)}else if(f){const z=this.pattern||this.isComposing,T=this.active?!z:!this.selected,R=this.active?!1:this.selected;p=n("div",{ref:"patternInputWrapperRef",class:`${i}-base-selection-label`},n("input",Object.assign({},this.inputProps,{ref:"patternInputRef",class:`${i}-base-selection-input`,value:this.active?this.pattern:"",placeholder:"",readonly:d,disabled:d,tabindex:-1,autofocus:this.autofocus,onFocus:this.handlePatternInputFocus,onBlur:this.handlePatternInputBlur,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),R?n("div",{class:`${i}-base-selection-label__render-label ${i}-base-selection-overlay`,key:"input"},n("div",{class:`${i}-base-selection-overlay__wrapper`},h?h({option:this.selectedOption,handleClose:()=>{}}):F?F(this.selectedOption,!0):We(this.label,this.selectedOption,!0))):null,T?n("div",{class:`${i}-base-selection-placeholder ${i}-base-selection-overlay`,key:"placeholder"},n("div",{class:`${i}-base-selection-overlay__wrapper`},this.filterablePlaceholder)):null,c)}else p=n("div",{ref:"singleElRef",class:`${i}-base-selection-label`,tabindex:this.disabled?void 0:0},this.label!==void 0?n("div",{class:`${i}-base-selection-input`,title:nn(this.label),key:"input"},n("div",{class:`${i}-base-selection-input__content`},h?h({option:this.selectedOption,handleClose:()=>{}}):F?F(this.selectedOption,!0):We(this.label,this.selectedOption,!0))):n("div",{class:`${i}-base-selection-placeholder ${i}-base-selection-overlay`,key:"placeholder"},n("div",{class:`${i}-base-selection-placeholder__inner`},this.placeholder)),c);return n("div",{ref:"selfRef",class:[`${i}-base-selection`,this.themeClass,e&&`${i}-base-selection--${e}-status`,{[`${i}-base-selection--active`]:this.active,[`${i}-base-selection--selected`]:this.selected||this.active&&this.pattern,[`${i}-base-selection--disabled`]:this.disabled,[`${i}-base-selection--multiple`]:this.multiple,[`${i}-base-selection--focus`]:this.focused}],style:this.cssVars,onClick:this.onClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onKeydown:this.onKeydown,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onMousedown:this.handleMouseDown},p,C?n("div",{class:`${i}-base-selection__border`}):null,C?n("div",{class:`${i}-base-selection__state-border`}):null)}});function Je(e){return e.type==="group"}function It(e){return e.type==="ignored"}function rt(e,o){try{return!!(1+o.toString().toLowerCase().indexOf(e.trim().toLowerCase()))}catch{return!1}}function _t(e,o){return{getIsGroup:Je,getIgnored:It,getKey(d){return Je(d)?d.name||d.key||"key-required":d[e]},getChildren(d){return d[o]}}}function zn(e,o,s,d){if(!o)return e;function f(x){if(!Array.isArray(x))return[];const C=[];for(const i of x)if(Je(i)){const b=f(i[d]);b.length&&C.push(Object.assign({},i,{[d]:b}))}else{if(It(i))continue;o(s,i)&&C.push(i)}return C}return f(e)}function Rn(e,o,s){const d=new Map;return e.forEach(f=>{Je(f)?f[s].forEach(x=>{d.set(x[o],x)}):d.set(f[o],f)}),d}const $t=on("n-popselect"),Tn=k("popselect-menu",` + `)])])]),Bn=le({name:"InternalSelection",props:Object.assign(Object.assign({},Ce.props),{clsPrefix:{type:String,required:!0},bordered:{type:Boolean,default:void 0},active:Boolean,pattern:{type:String,default:""},placeholder:String,selectedOption:{type:Object,default:null},selectedOptions:{type:Array,default:null},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},multiple:Boolean,filterable:Boolean,clearable:Boolean,disabled:Boolean,size:{type:String,default:"medium"},loading:Boolean,autofocus:Boolean,showArrow:{type:Boolean,default:!0},inputProps:Object,focused:Boolean,renderTag:Function,onKeydown:Function,onClick:Function,onBlur:Function,onFocus:Function,onDeleteOption:Function,maxTagCount:[String,Number],onClear:Function,onPatternInput:Function,onPatternFocus:Function,onPatternBlur:Function,renderLabel:Function,status:String,inlineThemeDisabled:Boolean,ignoreComposition:{type:Boolean,default:!0},onResize:Function}),setup(e){const o=P(null),s=P(null),d=P(null),f=P(null),x=P(null),C=P(null),i=P(null),b=P(null),h=P(null),F=P(null),y=P(!1),v=P(!1),g=P(!1),c=Ce("InternalSelection","-internal-selection",On,Gt,e,we(e,"clsPrefix")),p=I(()=>e.clearable&&!e.disabled&&(g.value||e.active)),z=I(()=>e.selectedOption?e.renderTag?e.renderTag({option:e.selectedOption,handleClose:()=>{}}):e.renderLabel?e.renderLabel(e.selectedOption,!0):We(e.selectedOption[e.labelField],e.selectedOption,!0):e.placeholder),T=I(()=>{const r=e.selectedOption;if(r)return r[e.labelField]}),R=I(()=>e.multiple?!!(Array.isArray(e.selectedOptions)&&e.selectedOptions.length):e.selectedOption!==null);function W(){var r;const{value:u}=o;if(u){const{value:$}=s;$&&($.style.width=`${u.offsetWidth}px`,e.maxTagCount!=="responsive"&&((r=h.value)===null||r===void 0||r.sync()))}}function Y(){const{value:r}=F;r&&(r.style.display="none")}function H(){const{value:r}=F;r&&(r.style.display="inline-block")}Ne(we(e,"active"),r=>{r||Y()}),Ne(we(e,"pattern"),()=>{e.multiple&&Ue(W)});function _(r){const{onFocus:u}=e;u&&u(r)}function L(r){const{onBlur:u}=e;u&&u(r)}function N(r){const{onDeleteOption:u}=e;u&&u(r)}function fe(r){const{onClear:u}=e;u&&u(r)}function ne(r){const{onPatternInput:u}=e;u&&u(r)}function se(r){var u;(!r.relatedTarget||!(!((u=d.value)===null||u===void 0)&&u.contains(r.relatedTarget)))&&_(r)}function V(r){var u;!((u=d.value)===null||u===void 0)&&u.contains(r.relatedTarget)||L(r)}function oe(r){fe(r)}function he(){g.value=!0}function ve(){g.value=!1}function J(r){!e.active||!e.filterable||r.target!==s.value&&r.preventDefault()}function K(r){N(r)}function X(r){if(r.key==="Backspace"&&!ae.value&&!e.pattern.length){const{selectedOptions:u}=e;u!=null&&u.length&&K(u[u.length-1])}}const ae=P(!1);let A=null;function xe(r){const{value:u}=o;if(u){const $=r.target.value;u.textContent=$,W()}e.ignoreComposition&&ae.value?A=r:ne(r)}function ee(){ae.value=!0}function be(){ae.value=!1,e.ignoreComposition&&ne(A),A=null}function ge(r){var u;v.value=!0,(u=e.onPatternFocus)===null||u===void 0||u.call(e,r)}function Z(r){var u;v.value=!1,(u=e.onPatternBlur)===null||u===void 0||u.call(e,r)}function pe(){var r,u;if(e.filterable)v.value=!1,(r=C.value)===null||r===void 0||r.blur(),(u=s.value)===null||u===void 0||u.blur();else if(e.multiple){const{value:$}=f;$==null||$.blur()}else{const{value:$}=x;$==null||$.blur()}}function re(){var r,u,$;e.filterable?(v.value=!1,(r=C.value)===null||r===void 0||r.focus()):e.multiple?(u=f.value)===null||u===void 0||u.focus():($=x.value)===null||$===void 0||$.focus()}function q(){const{value:r}=s;r&&(H(),r.focus())}function j(){const{value:r}=s;r&&r.blur()}function a(r){const{value:u}=i;u&&u.setTextContent(`+${r}`)}function m(){const{value:r}=b;return r}function ie(){return s.value}let te=null;function me(){te!==null&&window.clearTimeout(te)}function Te(){e.disabled||e.active||(me(),te=window.setTimeout(()=>{R.value&&(y.value=!0)},100))}function Ie(){me()}function _e(r){r||(me(),y.value=!1)}Ne(R,r=>{r||(y.value=!1)}),kt(()=>{He(()=>{const r=C.value;r&&(r.tabIndex=e.disabled||v.value?-1:0)})}),kn(d,e.onResize);const{inlineThemeDisabled:Fe}=e,Me=I(()=>{const{size:r}=e,{common:{cubicBezierEaseInOut:u},self:{borderRadius:$,color:Se,placeholderColor:$e,textColor:Ae,paddingSingle:je,paddingMultiple:Ee,caretColor:ke,colorDisabled:Pe,textColorDisabled:Oe,placeholderColorDisabled:Le,colorActive:Ve,boxShadowFocus:Be,boxShadowActive:ue,boxShadowHover:t,border:l,borderFocus:w,borderHover:B,borderActive:M,arrowColor:O,arrowColorDisabled:S,loadingColor:D,colorActiveWarning:ze,boxShadowFocusWarning:De,boxShadowActiveWarning:Qe,boxShadowHoverWarning:Ye,borderWarning:Xe,borderFocusWarning:Ge,borderHoverWarning:et,borderActiveWarning:tt,colorActiveError:nt,boxShadowFocusError:ot,boxShadowActiveError:At,boxShadowHoverError:jt,borderError:Et,borderFocusError:Lt,borderHoverError:Vt,borderActiveError:Dt,clearColor:Nt,clearColorHover:Ut,clearColorPressed:Wt,clearSize:Ht,arrowSize:Kt,[Q("height",r)]:qt,[Q("fontSize",r)]:Jt}}=c.value;return{"--n-bezier":u,"--n-border":l,"--n-border-active":M,"--n-border-focus":w,"--n-border-hover":B,"--n-border-radius":$,"--n-box-shadow-active":ue,"--n-box-shadow-focus":Be,"--n-box-shadow-hover":t,"--n-caret-color":ke,"--n-color":Se,"--n-color-active":Ve,"--n-color-disabled":Pe,"--n-font-size":Jt,"--n-height":qt,"--n-padding-single":je,"--n-padding-multiple":Ee,"--n-placeholder-color":$e,"--n-placeholder-color-disabled":Le,"--n-text-color":Ae,"--n-text-color-disabled":Oe,"--n-arrow-color":O,"--n-arrow-color-disabled":S,"--n-loading-color":D,"--n-color-active-warning":ze,"--n-box-shadow-focus-warning":De,"--n-box-shadow-active-warning":Qe,"--n-box-shadow-hover-warning":Ye,"--n-border-warning":Xe,"--n-border-focus-warning":Ge,"--n-border-hover-warning":et,"--n-border-active-warning":tt,"--n-color-active-error":nt,"--n-box-shadow-focus-error":ot,"--n-box-shadow-active-error":At,"--n-box-shadow-hover-error":jt,"--n-border-error":Et,"--n-border-focus-error":Lt,"--n-border-hover-error":Vt,"--n-border-active-error":Dt,"--n-clear-size":Ht,"--n-clear-color":Nt,"--n-clear-color-hover":Ut,"--n-clear-color-pressed":Wt,"--n-arrow-size":Kt}}),de=Fe?Ze("internal-selection",I(()=>e.size[0]),Me,e):void 0;return{mergedTheme:c,mergedClearable:p,patternInputFocused:v,filterablePlaceholder:z,label:T,selected:R,showTagsPanel:y,isComposing:ae,counterRef:i,counterWrapperRef:b,patternInputMirrorRef:o,patternInputRef:s,selfRef:d,multipleElRef:f,singleElRef:x,patternInputWrapperRef:C,overflowRef:h,inputTagElRef:F,handleMouseDown:J,handleFocusin:se,handleClear:oe,handleMouseEnter:he,handleMouseLeave:ve,handleDeleteOption:K,handlePatternKeyDown:X,handlePatternInputInput:xe,handlePatternInputBlur:Z,handlePatternInputFocus:ge,handleMouseEnterCounter:Te,handleMouseLeaveCounter:Ie,handleFocusout:V,handleCompositionEnd:be,handleCompositionStart:ee,onPopoverUpdateShow:_e,focus:re,focusInput:q,blur:pe,blurInput:j,updateCounter:a,getCounter:m,getTail:ie,renderLabel:e.renderLabel,cssVars:Fe?void 0:Me,themeClass:de==null?void 0:de.themeClass,onRender:de==null?void 0:de.onRender}},render(){const{status:e,multiple:o,size:s,disabled:d,filterable:f,maxTagCount:x,bordered:C,clsPrefix:i,onRender:b,renderTag:h,renderLabel:F}=this;b==null||b();const y=x==="responsive",v=typeof x=="number",g=y||v,c=n(nn,null,{default:()=>n(tn,{clsPrefix:i,loading:this.loading,showArrow:this.showArrow,showClear:this.mergedClearable&&this.selected,onClear:this.handleClear},{default:()=>{var z,T;return(T=(z=this.$slots).arrow)===null||T===void 0?void 0:T.call(z)}})});let p;if(o){const{labelField:z}=this,T=V=>n("div",{class:`${i}-base-selection-tag-wrapper`,key:V.value},h?h({option:V,handleClose:()=>this.handleDeleteOption(V)}):n(at,{size:s,closable:!V.disabled,disabled:d,onClose:()=>this.handleDeleteOption(V),internalCloseIsButtonTag:!1,internalCloseFocusable:!1},{default:()=>F?F(V,!0):We(V[z],V,!0)})),R=()=>(v?this.selectedOptions.slice(0,x):this.selectedOptions).map(T),W=f?n("div",{class:`${i}-base-selection-input-tag`,ref:"inputTagElRef",key:"__input-tag__"},n("input",Object.assign({},this.inputProps,{ref:"patternInputRef",tabindex:-1,disabled:d,value:this.pattern,autofocus:this.autofocus,class:`${i}-base-selection-input-tag__input`,onBlur:this.handlePatternInputBlur,onFocus:this.handlePatternInputFocus,onKeydown:this.handlePatternKeyDown,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),n("span",{ref:"patternInputMirrorRef",class:`${i}-base-selection-input-tag__mirror`},this.pattern)):null,Y=y?()=>n("div",{class:`${i}-base-selection-tag-wrapper`,ref:"counterWrapperRef"},n(at,{size:s,ref:"counterRef",onMouseenter:this.handleMouseEnterCounter,onMouseleave:this.handleMouseLeaveCounter,disabled:d})):void 0;let H;if(v){const V=this.selectedOptions.length-x;V>0&&(H=n("div",{class:`${i}-base-selection-tag-wrapper`,key:"__counter__"},n(at,{size:s,ref:"counterRef",onMouseenter:this.handleMouseEnterCounter,disabled:d},{default:()=>`+${V}`})))}const _=y?f?n(gt,{ref:"overflowRef",updateCounter:this.updateCounter,getCounter:this.getCounter,getTail:this.getTail,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:R,counter:Y,tail:()=>W}):n(gt,{ref:"overflowRef",updateCounter:this.updateCounter,getCounter:this.getCounter,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:R,counter:Y}):v?R().concat(H):R(),L=g?()=>n("div",{class:`${i}-base-selection-popover`},y?R():this.selectedOptions.map(T)):void 0,N=g?{show:this.showTagsPanel,trigger:"hover",overlap:!0,placement:"top",width:"trigger",onUpdateShow:this.onPopoverUpdateShow,theme:this.mergedTheme.peers.Popover,themeOverrides:this.mergedTheme.peerOverrides.Popover}:null,ne=(this.selected?!1:this.active?!this.pattern&&!this.isComposing:!0)?n("div",{class:`${i}-base-selection-placeholder ${i}-base-selection-overlay`},n("div",{class:`${i}-base-selection-placeholder__inner`},this.placeholder)):null,se=f?n("div",{ref:"patternInputWrapperRef",class:`${i}-base-selection-tags`},_,y?null:W,c):n("div",{ref:"multipleElRef",class:`${i}-base-selection-tags`,tabindex:d?void 0:0},_,c);p=n(lt,null,g?n(Pt,Object.assign({},N,{scrollable:!0,style:"max-height: calc(var(--v-target-height) * 6.6);"}),{trigger:()=>se,default:L}):se,ne)}else if(f){const z=this.pattern||this.isComposing,T=this.active?!z:!this.selected,R=this.active?!1:this.selected;p=n("div",{ref:"patternInputWrapperRef",class:`${i}-base-selection-label`},n("input",Object.assign({},this.inputProps,{ref:"patternInputRef",class:`${i}-base-selection-input`,value:this.active?this.pattern:"",placeholder:"",readonly:d,disabled:d,tabindex:-1,autofocus:this.autofocus,onFocus:this.handlePatternInputFocus,onBlur:this.handlePatternInputBlur,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),R?n("div",{class:`${i}-base-selection-label__render-label ${i}-base-selection-overlay`,key:"input"},n("div",{class:`${i}-base-selection-overlay__wrapper`},h?h({option:this.selectedOption,handleClose:()=>{}}):F?F(this.selectedOption,!0):We(this.label,this.selectedOption,!0))):null,T?n("div",{class:`${i}-base-selection-placeholder ${i}-base-selection-overlay`,key:"placeholder"},n("div",{class:`${i}-base-selection-overlay__wrapper`},this.filterablePlaceholder)):null,c)}else p=n("div",{ref:"singleElRef",class:`${i}-base-selection-label`,tabindex:this.disabled?void 0:0},this.label!==void 0?n("div",{class:`${i}-base-selection-input`,title:en(this.label),key:"input"},n("div",{class:`${i}-base-selection-input__content`},h?h({option:this.selectedOption,handleClose:()=>{}}):F?F(this.selectedOption,!0):We(this.label,this.selectedOption,!0))):n("div",{class:`${i}-base-selection-placeholder ${i}-base-selection-overlay`,key:"placeholder"},n("div",{class:`${i}-base-selection-placeholder__inner`},this.placeholder)),c);return n("div",{ref:"selfRef",class:[`${i}-base-selection`,this.themeClass,e&&`${i}-base-selection--${e}-status`,{[`${i}-base-selection--active`]:this.active,[`${i}-base-selection--selected`]:this.selected||this.active&&this.pattern,[`${i}-base-selection--disabled`]:this.disabled,[`${i}-base-selection--multiple`]:this.multiple,[`${i}-base-selection--focus`]:this.focused}],style:this.cssVars,onClick:this.onClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onKeydown:this.onKeydown,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onMousedown:this.handleMouseDown},p,C?n("div",{class:`${i}-base-selection__border`}):null,C?n("div",{class:`${i}-base-selection__state-border`}):null)}});function Je(e){return e.type==="group"}function It(e){return e.type==="ignored"}function rt(e,o){try{return!!(1+o.toString().toLowerCase().indexOf(e.trim().toLowerCase()))}catch{return!1}}function _t(e,o){return{getIsGroup:Je,getIgnored:It,getKey(d){return Je(d)?d.name||d.key||"key-required":d[e]},getChildren(d){return d[o]}}}function zn(e,o,s,d){if(!o)return e;function f(x){if(!Array.isArray(x))return[];const C=[];for(const i of x)if(Je(i)){const b=f(i[d]);b.length&&C.push(Object.assign({},i,{[d]:b}))}else{if(It(i))continue;o(s,i)&&C.push(i)}return C}return f(e)}function Rn(e,o,s){const d=new Map;return e.forEach(f=>{Je(f)?f[s].forEach(x=>{d.set(x[o],x)}):d.set(f[o],f)}),d}const $t=on("n-popselect"),Tn=k("popselect-menu",` box-shadow: var(--n-menu-box-shadow); `),ut={multiple:Boolean,value:{type:[String,Number,Array],default:null},cancelable:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:"medium"},scrollable:Boolean,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onMouseenter:Function,onMouseleave:Function,renderLabel:Function,showCheckmark:{type:Boolean,default:void 0},nodeProps:Function,virtualScroll:Boolean,onChange:[Function,Array]},yt=rn(ut),In=le({name:"PopselectPanel",props:ut,setup(e){const o=an($t),{mergedClsPrefixRef:s,inlineThemeDisabled:d}=dt(e),f=Ce("Popselect","-pop-select",Tn,Ot,o.props,s),x=I(()=>Bt(e.options,_t("value","children")));function C(v,g){const{onUpdateValue:c,"onUpdate:value":p,onChange:z}=e;c&&E(c,v,g),p&&E(p,v,g),z&&E(z,v,g)}function i(v){h(v.key)}function b(v){st(v,"action")||v.preventDefault()}function h(v){const{value:{getNode:g}}=x;if(e.multiple)if(Array.isArray(e.value)){const c=[],p=[];let z=!0;e.value.forEach(T=>{if(T===v){z=!1;return}const R=g(T);R&&(c.push(R.key),p.push(R.rawNode))}),z&&(c.push(v),p.push(g(v).rawNode)),C(c,p)}else{const c=g(v);c&&C([v],[c.rawNode])}else if(e.value===v&&e.cancelable)C(null,null);else{const c=g(v);c&&C(v,c.rawNode);const{"onUpdate:show":p,onUpdateShow:z}=o.props;p&&E(p,!1),z&&E(z,!1),o.setShow(!1)}Ue(()=>{o.syncPosition()})}Ne(we(e,"options"),()=>{Ue(()=>{o.syncPosition()})});const F=I(()=>{const{self:{menuBoxShadow:v}}=f.value;return{"--n-menu-box-shadow":v}}),y=d?Ze("select",void 0,F,o.props):void 0;return{mergedTheme:o.mergedThemeRef,mergedClsPrefix:s,treeMate:x,handleToggle:i,handleMenuMousedown:b,cssVars:d?void 0:F,themeClass:y==null?void 0:y.themeClass,onRender:y==null?void 0:y.onRender}},render(){var e;return(e=this.onRender)===null||e===void 0||e.call(this),n(Tt,{clsPrefix:this.mergedClsPrefix,focusable:!0,nodeProps:this.nodeProps,class:[`${this.mergedClsPrefix}-popselect-menu`,this.themeClass],style:this.cssVars,theme:this.mergedTheme.peers.InternalSelectMenu,themeOverrides:this.mergedTheme.peerOverrides.InternalSelectMenu,multiple:this.multiple,treeMate:this.treeMate,size:this.size,value:this.value,virtualScroll:this.virtualScroll,scrollable:this.scrollable,renderLabel:this.renderLabel,onToggle:this.handleToggle,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseenter,onMousedown:this.handleMenuMousedown,showCheckmark:this.showCheckmark},{action:()=>{var o,s;return((s=(o=this.$slots).action)===null||s===void 0?void 0:s.call(o))||[]},empty:()=>{var o,s;return((s=(o=this.$slots).empty)===null||s===void 0?void 0:s.call(o))||[]}})}}),_n=Object.assign(Object.assign(Object.assign(Object.assign({},Ce.props),zt(ct,["showArrow","arrow"])),{placement:Object.assign(Object.assign({},ct.placement),{default:"bottom"}),trigger:{type:String,default:"hover"}}),ut),$n=le({name:"Popselect",props:_n,inheritAttrs:!1,__popover__:!0,setup(e){const o=Ce("Popselect","-popselect",void 0,Ot,e),s=P(null);function d(){var C;(C=s.value)===null||C===void 0||C.syncPosition()}function f(C){var i;(i=s.value)===null||i===void 0||i.setShow(C)}return dn($t,{props:e,mergedThemeRef:o,syncPosition:d,setShow:f}),Object.assign(Object.assign({},{syncPosition:d,setShow:f}),{popoverInstRef:s,mergedTheme:o})},render(){const{mergedTheme:e}=this,o={theme:e.peers.Popover,themeOverrides:e.peerOverrides.Popover,builtinThemeOverrides:{padding:"0"},ref:"popoverInstRef",internalRenderBody:(s,d,f,x,C)=>{const{$attrs:i}=this;return n(In,Object.assign({},i,{class:[i.class,s],style:[i.style,f]},ln(this.$props,yt),{ref:sn(d),onMouseenter:vt([x,i.onMouseenter]),onMouseleave:vt([C,i.onMouseleave])}),{action:()=>{var b,h;return(h=(b=this.$slots).action)===null||h===void 0?void 0:h.call(b)},empty:()=>{var b,h;return(h=(b=this.$slots).empty)===null||h===void 0?void 0:h.call(b)}})}};return n(Pt,Object.assign({},zt(this.$props,yt),o,{internalDeactivateImmediately:!0}),{trigger:()=>{var s,d;return(d=(s=this.$slots).default)===null||d===void 0?void 0:d.call(s)}})}}),An=ce([k("select",` z-index: auto; @@ -206,7 +206,7 @@ import{d as le,r as P,bQ as Zt,bR as Qt,a2 as kt,V as Ue,h as n,bS as Yt,bT as X `),k("select-menu",` margin: 4px 0; box-shadow: var(--n-menu-box-shadow); - `,[un({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})])]),jn=Object.assign(Object.assign({},Ce.props),{to:qe.propTo,bordered:{type:Boolean,default:void 0},clearable:Boolean,clearFilterAfterSelect:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},defaultValue:{type:[String,Number,Array],default:null},value:[String,Number,Array],placeholder:String,menuProps:Object,multiple:Boolean,size:String,filterable:Boolean,disabled:{type:Boolean,default:void 0},remote:Boolean,loading:Boolean,filter:Function,placement:{type:String,default:"bottom-start"},widthMode:{type:String,default:"trigger"},tag:Boolean,onCreate:Function,fallbackOption:{type:[Function,Boolean],default:void 0},show:{type:Boolean,default:void 0},showArrow:{type:Boolean,default:!0},maxTagCount:[Number,String],consistentMenuWidth:{type:Boolean,default:!0},virtualScroll:{type:Boolean,default:!0},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},childrenField:{type:String,default:"children"},renderLabel:Function,renderOption:Function,renderTag:Function,"onUpdate:value":[Function,Array],inputProps:Object,nodeProps:Function,ignoreComposition:{type:Boolean,default:!0},showOnFocus:Boolean,onUpdateValue:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onFocus:[Function,Array],onScroll:[Function,Array],onSearch:[Function,Array],onUpdateShow:[Function,Array],"onUpdate:show":[Function,Array],displayDirective:{type:String,default:"show"},resetMenuOnOptionsChange:{type:Boolean,default:!0},status:String,showCheckmark:{type:Boolean,default:!0},onChange:[Function,Array],items:Array}),En=le({name:"Select",props:jn,setup(e){const{mergedClsPrefixRef:o,mergedBorderedRef:s,namespaceRef:d,inlineThemeDisabled:f}=dt(e),x=Ce("Select","-select",An,cn,e,o),C=P(e.defaultValue),i=we(e,"value"),b=Ke(i,C),h=P(!1),F=P(""),y=I(()=>{const{valueField:t,childrenField:l}=e,w=_t(t,l);return Bt(V.value,w)}),v=I(()=>Rn(ne.value,e.valueField,e.childrenField)),g=P(!1),c=Ke(we(e,"show"),g),p=P(null),z=P(null),T=P(null),{localeRef:R}=Rt("Select"),W=I(()=>{var t;return(t=e.placeholder)!==null&&t!==void 0?t:R.value.placeholder}),Y=fn(e,["items","options"]),H=[],_=P([]),L=P([]),N=P(new Map),fe=I(()=>{const{fallbackOption:t}=e;if(t===void 0){const{labelField:l,valueField:w}=e;return B=>({[l]:String(B),[w]:B})}return t===!1?!1:l=>Object.assign(t(l),{value:l})}),ne=I(()=>L.value.concat(_.value).concat(Y.value)),se=I(()=>{const{filter:t}=e;if(t)return t;const{labelField:l,valueField:w}=e;return(B,M)=>{if(!M)return!1;const O=M[l];if(typeof O=="string")return rt(B,O);const S=M[w];return typeof S=="string"?rt(B,S):typeof S=="number"?rt(B,String(S)):!1}}),V=I(()=>{if(e.remote)return Y.value;{const{value:t}=ne,{value:l}=F;return!l.length||!e.filterable?t:zn(t,se.value,l,e.childrenField)}});function oe(t){const l=e.remote,{value:w}=N,{value:B}=v,{value:M}=fe,O=[];return t.forEach(S=>{if(B.has(S))O.push(B.get(S));else if(l&&w.has(S))O.push(w.get(S));else if(M){const D=M(S);D&&O.push(D)}}),O}const he=I(()=>{if(e.multiple){const{value:t}=b;return Array.isArray(t)?oe(t):[]}return null}),ve=I(()=>{const{value:t}=b;return!e.multiple&&!Array.isArray(t)?t===null?null:oe([t])[0]||null:null}),J=hn(e),{mergedSizeRef:K,mergedDisabledRef:X,mergedStatusRef:ae}=J;function A(t,l){const{onChange:w,"onUpdate:value":B,onUpdateValue:M}=e,{nTriggerFormChange:O,nTriggerFormInput:S}=J;w&&E(w,t,l),M&&E(M,t,l),B&&E(B,t,l),C.value=t,O(),S()}function xe(t){const{onBlur:l}=e,{nTriggerFormBlur:w}=J;l&&E(l,t),w()}function ee(){const{onClear:t}=e;t&&E(t)}function be(t){const{onFocus:l,showOnFocus:w}=e,{nTriggerFormFocus:B}=J;l&&E(l,t),B(),w&&q()}function ge(t){const{onSearch:l}=e;l&&E(l,t)}function Z(t){const{onScroll:l}=e;l&&E(l,t)}function pe(){var t;const{remote:l,multiple:w}=e;if(l){const{value:B}=N;if(w){const{valueField:M}=e;(t=he.value)===null||t===void 0||t.forEach(O=>{B.set(O[M],O)})}else{const M=ve.value;M&&B.set(M[e.valueField],M)}}}function re(t){const{onUpdateShow:l,"onUpdate:show":w}=e;l&&E(l,t),w&&E(w,t),g.value=t}function q(){X.value||(re(!0),g.value=!0,e.filterable&&Oe())}function j(){re(!1)}function a(){F.value="",L.value=H}const m=P(!1);function ie(){e.filterable&&(m.value=!0)}function te(){e.filterable&&(m.value=!1,c.value||a())}function me(){X.value||(c.value?e.filterable?Oe():j():q())}function Te(t){var l,w;!((w=(l=T.value)===null||l===void 0?void 0:l.selfRef)===null||w===void 0)&&w.contains(t.relatedTarget)||(h.value=!1,xe(t),j())}function Ie(t){be(t),h.value=!0}function _e(t){h.value=!0}function Fe(t){var l;!((l=p.value)===null||l===void 0)&&l.$el.contains(t.relatedTarget)||(h.value=!1,xe(t),j())}function Me(){var t;(t=p.value)===null||t===void 0||t.focus(),j()}function de(t){var l;c.value&&(!((l=p.value)===null||l===void 0)&&l.$el.contains(xn(t))||j())}function r(t){if(!Array.isArray(t))return[];if(fe.value)return Array.from(t);{const{remote:l}=e,{value:w}=v;if(l){const{value:B}=N;return t.filter(M=>w.has(M)||B.has(M))}else return t.filter(B=>w.has(B))}}function u(t){$(t.rawNode)}function $(t){if(X.value)return;const{tag:l,remote:w,clearFilterAfterSelect:B,valueField:M}=e;if(l&&!w){const{value:O}=L,S=O[0]||null;if(S){const D=_.value;D.length?D.push(S):_.value=[S],L.value=H}}if(w&&N.value.set(t[M],t),e.multiple){const O=r(b.value),S=O.findIndex(D=>D===t[M]);if(~S){if(O.splice(S,1),l&&!w){const D=Se(t[M]);~D&&(_.value.splice(D,1),B&&(F.value=""))}}else O.push(t[M]),B&&(F.value="");A(O,oe(O))}else{if(l&&!w){const O=Se(t[M]);~O?_.value=[_.value[O]]:_.value=H}Pe(),j(),A(t[M],t)}}function Se(t){return _.value.findIndex(w=>w[e.valueField]===t)}function $e(t){c.value||q();const{value:l}=t.target;F.value=l;const{tag:w,remote:B}=e;if(ge(l),w&&!B){if(!l){L.value=H;return}const{onCreate:M}=e,O=M?M(l):{[e.labelField]:l,[e.valueField]:l},{valueField:S}=e;Y.value.some(D=>D[S]===O[S])||_.value.some(D=>D[S]===O[S])?L.value=H:L.value=[O]}}function Ae(t){t.stopPropagation();const{multiple:l}=e;!l&&e.filterable&&j(),ee(),l?A([],[]):A(null,null)}function je(t){!st(t,"action")&&!st(t,"empty")&&t.preventDefault()}function Ee(t){Z(t)}function ke(t){var l,w,B,M,O;switch(t.key){case" ":if(e.filterable)break;t.preventDefault();case"Enter":if(!(!((l=p.value)===null||l===void 0)&&l.isComposing)){if(c.value){const S=(w=T.value)===null||w===void 0?void 0:w.getPendingTmNode();S?u(S):e.filterable||(j(),Pe())}else if(q(),e.tag&&m.value){const S=L.value[0];if(S){const D=S[e.valueField],{value:ze}=b;e.multiple&&Array.isArray(ze)&&ze.some(De=>De===D)||$(S)}}}t.preventDefault();break;case"ArrowUp":if(t.preventDefault(),e.loading)return;c.value&&((B=T.value)===null||B===void 0||B.prev());break;case"ArrowDown":if(t.preventDefault(),e.loading)return;c.value?(M=T.value)===null||M===void 0||M.next():q();break;case"Escape":c.value&&(yn(t),j()),(O=p.value)===null||O===void 0||O.focus();break}}function Pe(){var t;(t=p.value)===null||t===void 0||t.focus()}function Oe(){var t;(t=p.value)===null||t===void 0||t.focusInput()}function Le(){var t;c.value&&((t=z.value)===null||t===void 0||t.syncPosition())}pe(),Ne(we(e,"options"),pe);const Ve={focus:()=>{var t;(t=p.value)===null||t===void 0||t.focus()},blur:()=>{var t;(t=p.value)===null||t===void 0||t.blur()}},Be=I(()=>{const{self:{menuBoxShadow:t}}=x.value;return{"--n-menu-box-shadow":t}}),ue=f?Ze("select",void 0,Be,e):void 0;return Object.assign(Object.assign({},Ve),{mergedStatus:ae,mergedClsPrefix:o,mergedBordered:s,namespace:d,treeMate:y,isMounted:vn(),triggerRef:p,menuRef:T,pattern:F,uncontrolledShow:g,mergedShow:c,adjustedTo:qe(e),uncontrolledValue:C,mergedValue:b,followerRef:z,localizedPlaceholder:W,selectedOption:ve,selectedOptions:he,mergedSize:K,mergedDisabled:X,focused:h,activeWithoutMenuOpen:m,inlineThemeDisabled:f,onTriggerInputFocus:ie,onTriggerInputBlur:te,handleTriggerOrMenuResize:Le,handleMenuFocus:_e,handleMenuBlur:Fe,handleMenuTabOut:Me,handleTriggerClick:me,handleToggle:u,handleDeleteOption:$,handlePatternInput:$e,handleClear:Ae,handleTriggerBlur:Te,handleTriggerFocus:Ie,handleKeydown:ke,handleMenuAfterLeave:a,handleMenuClickOutside:de,handleMenuScroll:Ee,handleMenuKeydown:ke,handleMenuMousedown:je,mergedTheme:x,cssVars:f?void 0:Be,themeClass:ue==null?void 0:ue.themeClass,onRender:ue==null?void 0:ue.onRender})},render(){return n("div",{class:`${this.mergedClsPrefix}-select`},n(bn,null,{default:()=>[n(gn,null,{default:()=>n(Bn,{ref:"triggerRef",inlineThemeDisabled:this.inlineThemeDisabled,status:this.mergedStatus,inputProps:this.inputProps,clsPrefix:this.mergedClsPrefix,showArrow:this.showArrow,maxTagCount:this.maxTagCount,bordered:this.mergedBordered,active:this.activeWithoutMenuOpen||this.mergedShow,pattern:this.pattern,placeholder:this.localizedPlaceholder,selectedOption:this.selectedOption,selectedOptions:this.selectedOptions,multiple:this.multiple,renderTag:this.renderTag,renderLabel:this.renderLabel,filterable:this.filterable,clearable:this.clearable,disabled:this.mergedDisabled,size:this.mergedSize,theme:this.mergedTheme.peers.InternalSelection,labelField:this.labelField,valueField:this.valueField,themeOverrides:this.mergedTheme.peerOverrides.InternalSelection,loading:this.loading,focused:this.focused,onClick:this.handleTriggerClick,onDeleteOption:this.handleDeleteOption,onPatternInput:this.handlePatternInput,onClear:this.handleClear,onBlur:this.handleTriggerBlur,onFocus:this.handleTriggerFocus,onKeydown:this.handleKeydown,onPatternBlur:this.onTriggerInputBlur,onPatternFocus:this.onTriggerInputFocus,onResize:this.handleTriggerOrMenuResize,ignoreComposition:this.ignoreComposition},{arrow:()=>{var e,o;return[(o=(e=this.$slots).arrow)===null||o===void 0?void 0:o.call(e)]}})}),n(pn,{ref:"followerRef",show:this.mergedShow,to:this.adjustedTo,teleportDisabled:this.adjustedTo===qe.tdkey,containerClass:this.namespace,width:this.consistentMenuWidth?"target":void 0,minWidth:"target",placement:this.placement},{default:()=>n(mn,{name:"fade-in-scale-up-transition",appear:this.isMounted,onAfterLeave:this.handleMenuAfterLeave},{default:()=>{var e,o,s;return this.mergedShow||this.displayDirective==="show"?((e=this.onRender)===null||e===void 0||e.call(this),wn(n(Tt,Object.assign({},this.menuProps,{ref:"menuRef",onResize:this.handleTriggerOrMenuResize,inlineThemeDisabled:this.inlineThemeDisabled,virtualScroll:this.consistentMenuWidth&&this.virtualScroll,class:[`${this.mergedClsPrefix}-select-menu`,this.themeClass,(o=this.menuProps)===null||o===void 0?void 0:o.class],clsPrefix:this.mergedClsPrefix,focusable:!0,labelField:this.labelField,valueField:this.valueField,autoPending:!0,nodeProps:this.nodeProps,theme:this.mergedTheme.peers.InternalSelectMenu,themeOverrides:this.mergedTheme.peerOverrides.InternalSelectMenu,treeMate:this.treeMate,multiple:this.multiple,size:"medium",renderOption:this.renderOption,renderLabel:this.renderLabel,value:this.mergedValue,style:[(s=this.menuProps)===null||s===void 0?void 0:s.style,this.cssVars],onToggle:this.handleToggle,onScroll:this.handleMenuScroll,onFocus:this.handleMenuFocus,onBlur:this.handleMenuBlur,onKeydown:this.handleMenuKeydown,onTabOut:this.handleMenuTabOut,onMousedown:this.handleMenuMousedown,show:this.mergedShow,showCheckmark:this.showCheckmark,resetMenuOnOptionsChange:this.resetMenuOnOptionsChange}),{empty:()=>{var d,f;return[(f=(d=this.$slots).empty)===null||f===void 0?void 0:f.call(d)]},action:()=>{var d,f;return[(f=(d=this.$slots).action)===null||f===void 0?void 0:f.call(d)]}}),this.displayDirective==="show"?[[Cn,this.mergedShow],[ft,this.handleMenuClickOutside,void 0,{capture:!0}]]:[[ft,this.handleMenuClickOutside,void 0,{capture:!0}]])):null}})})]}))}});function Ln(e,o,s){let d=!1,f=!1,x=1,C=o;if(o===1)return{hasFastBackward:!1,hasFastForward:!1,fastForwardTo:C,fastBackwardTo:x,items:[{type:"page",label:1,active:e===1,mayBeFastBackward:!1,mayBeFastForward:!1}]};if(o===2)return{hasFastBackward:!1,hasFastForward:!1,fastForwardTo:C,fastBackwardTo:x,items:[{type:"page",label:1,active:e===1,mayBeFastBackward:!1,mayBeFastForward:!1},{type:"page",label:2,active:e===2,mayBeFastBackward:!0,mayBeFastForward:!1}]};const i=1,b=o;let h=e,F=e;const y=(s-5)/2;F+=Math.ceil(y),F=Math.min(Math.max(F,i+s-3),b-2),h-=Math.floor(y),h=Math.max(Math.min(h,b-s+3),i+2);let v=!1,g=!1;h>i+2&&(v=!0),F=i+1&&c.push({type:"page",label:i+1,mayBeFastBackward:!0,mayBeFastForward:!1,active:e===i+1});for(let p=h;p<=F;++p)c.push({type:"page",label:p,mayBeFastBackward:!1,mayBeFastForward:!1,active:e===p});return g?(f=!0,C=F+1,c.push({type:"fast-forward",active:!1,label:void 0,options:Ft(F+1,b-1)})):F===b-2&&c[c.length-1].label!==b-1&&c.push({type:"page",mayBeFastForward:!0,mayBeFastBackward:!1,label:b-1,active:e===b-1}),c[c.length-1].label!==b&&c.push({type:"page",mayBeFastForward:!1,mayBeFastBackward:!1,label:b,active:e===b}),{hasFastBackward:d,hasFastForward:f,fastBackwardTo:x,fastForwardTo:C,items:c}}function Ft(e,o){const s=[];for(let d=e;d<=o;++d)s.push({label:`${d}`,value:d});return s}const Mt=` + `,[un({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})])]),jn=Object.assign(Object.assign({},Ce.props),{to:qe.propTo,bordered:{type:Boolean,default:void 0},clearable:Boolean,clearFilterAfterSelect:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},defaultValue:{type:[String,Number,Array],default:null},value:[String,Number,Array],placeholder:String,menuProps:Object,multiple:Boolean,size:String,filterable:Boolean,disabled:{type:Boolean,default:void 0},remote:Boolean,loading:Boolean,filter:Function,placement:{type:String,default:"bottom-start"},widthMode:{type:String,default:"trigger"},tag:Boolean,onCreate:Function,fallbackOption:{type:[Function,Boolean],default:void 0},show:{type:Boolean,default:void 0},showArrow:{type:Boolean,default:!0},maxTagCount:[Number,String],consistentMenuWidth:{type:Boolean,default:!0},virtualScroll:{type:Boolean,default:!0},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},childrenField:{type:String,default:"children"},renderLabel:Function,renderOption:Function,renderTag:Function,"onUpdate:value":[Function,Array],inputProps:Object,nodeProps:Function,ignoreComposition:{type:Boolean,default:!0},showOnFocus:Boolean,onUpdateValue:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onFocus:[Function,Array],onScroll:[Function,Array],onSearch:[Function,Array],onUpdateShow:[Function,Array],"onUpdate:show":[Function,Array],displayDirective:{type:String,default:"show"},resetMenuOnOptionsChange:{type:Boolean,default:!0},status:String,showCheckmark:{type:Boolean,default:!0},onChange:[Function,Array],items:Array}),En=le({name:"Select",props:jn,setup(e){const{mergedClsPrefixRef:o,mergedBorderedRef:s,namespaceRef:d,inlineThemeDisabled:f}=dt(e),x=Ce("Select","-select",An,Cn,e,o),C=P(e.defaultValue),i=we(e,"value"),b=Ke(i,C),h=P(!1),F=P(""),y=I(()=>{const{valueField:t,childrenField:l}=e,w=_t(t,l);return Bt(V.value,w)}),v=I(()=>Rn(ne.value,e.valueField,e.childrenField)),g=P(!1),c=Ke(we(e,"show"),g),p=P(null),z=P(null),T=P(null),{localeRef:R}=Rt("Select"),W=I(()=>{var t;return(t=e.placeholder)!==null&&t!==void 0?t:R.value.placeholder}),Y=cn(e,["items","options"]),H=[],_=P([]),L=P([]),N=P(new Map),fe=I(()=>{const{fallbackOption:t}=e;if(t===void 0){const{labelField:l,valueField:w}=e;return B=>({[l]:String(B),[w]:B})}return t===!1?!1:l=>Object.assign(t(l),{value:l})}),ne=I(()=>L.value.concat(_.value).concat(Y.value)),se=I(()=>{const{filter:t}=e;if(t)return t;const{labelField:l,valueField:w}=e;return(B,M)=>{if(!M)return!1;const O=M[l];if(typeof O=="string")return rt(B,O);const S=M[w];return typeof S=="string"?rt(B,S):typeof S=="number"?rt(B,String(S)):!1}}),V=I(()=>{if(e.remote)return Y.value;{const{value:t}=ne,{value:l}=F;return!l.length||!e.filterable?t:zn(t,se.value,l,e.childrenField)}});function oe(t){const l=e.remote,{value:w}=N,{value:B}=v,{value:M}=fe,O=[];return t.forEach(S=>{if(B.has(S))O.push(B.get(S));else if(l&&w.has(S))O.push(w.get(S));else if(M){const D=M(S);D&&O.push(D)}}),O}const he=I(()=>{if(e.multiple){const{value:t}=b;return Array.isArray(t)?oe(t):[]}return null}),ve=I(()=>{const{value:t}=b;return!e.multiple&&!Array.isArray(t)?t===null?null:oe([t])[0]||null:null}),J=fn(e),{mergedSizeRef:K,mergedDisabledRef:X,mergedStatusRef:ae}=J;function A(t,l){const{onChange:w,"onUpdate:value":B,onUpdateValue:M}=e,{nTriggerFormChange:O,nTriggerFormInput:S}=J;w&&E(w,t,l),M&&E(M,t,l),B&&E(B,t,l),C.value=t,O(),S()}function xe(t){const{onBlur:l}=e,{nTriggerFormBlur:w}=J;l&&E(l,t),w()}function ee(){const{onClear:t}=e;t&&E(t)}function be(t){const{onFocus:l,showOnFocus:w}=e,{nTriggerFormFocus:B}=J;l&&E(l,t),B(),w&&q()}function ge(t){const{onSearch:l}=e;l&&E(l,t)}function Z(t){const{onScroll:l}=e;l&&E(l,t)}function pe(){var t;const{remote:l,multiple:w}=e;if(l){const{value:B}=N;if(w){const{valueField:M}=e;(t=he.value)===null||t===void 0||t.forEach(O=>{B.set(O[M],O)})}else{const M=ve.value;M&&B.set(M[e.valueField],M)}}}function re(t){const{onUpdateShow:l,"onUpdate:show":w}=e;l&&E(l,t),w&&E(w,t),g.value=t}function q(){X.value||(re(!0),g.value=!0,e.filterable&&Oe())}function j(){re(!1)}function a(){F.value="",L.value=H}const m=P(!1);function ie(){e.filterable&&(m.value=!0)}function te(){e.filterable&&(m.value=!1,c.value||a())}function me(){X.value||(c.value?e.filterable?Oe():j():q())}function Te(t){var l,w;!((w=(l=T.value)===null||l===void 0?void 0:l.selfRef)===null||w===void 0)&&w.contains(t.relatedTarget)||(h.value=!1,xe(t),j())}function Ie(t){be(t),h.value=!0}function _e(t){h.value=!0}function Fe(t){var l;!((l=p.value)===null||l===void 0)&&l.$el.contains(t.relatedTarget)||(h.value=!1,xe(t),j())}function Me(){var t;(t=p.value)===null||t===void 0||t.focus(),j()}function de(t){var l;c.value&&(!((l=p.value)===null||l===void 0)&&l.$el.contains(xn(t))||j())}function r(t){if(!Array.isArray(t))return[];if(fe.value)return Array.from(t);{const{remote:l}=e,{value:w}=v;if(l){const{value:B}=N;return t.filter(M=>w.has(M)||B.has(M))}else return t.filter(B=>w.has(B))}}function u(t){$(t.rawNode)}function $(t){if(X.value)return;const{tag:l,remote:w,clearFilterAfterSelect:B,valueField:M}=e;if(l&&!w){const{value:O}=L,S=O[0]||null;if(S){const D=_.value;D.length?D.push(S):_.value=[S],L.value=H}}if(w&&N.value.set(t[M],t),e.multiple){const O=r(b.value),S=O.findIndex(D=>D===t[M]);if(~S){if(O.splice(S,1),l&&!w){const D=Se(t[M]);~D&&(_.value.splice(D,1),B&&(F.value=""))}}else O.push(t[M]),B&&(F.value="");A(O,oe(O))}else{if(l&&!w){const O=Se(t[M]);~O?_.value=[_.value[O]]:_.value=H}Pe(),j(),A(t[M],t)}}function Se(t){return _.value.findIndex(w=>w[e.valueField]===t)}function $e(t){c.value||q();const{value:l}=t.target;F.value=l;const{tag:w,remote:B}=e;if(ge(l),w&&!B){if(!l){L.value=H;return}const{onCreate:M}=e,O=M?M(l):{[e.labelField]:l,[e.valueField]:l},{valueField:S}=e;Y.value.some(D=>D[S]===O[S])||_.value.some(D=>D[S]===O[S])?L.value=H:L.value=[O]}}function Ae(t){t.stopPropagation();const{multiple:l}=e;!l&&e.filterable&&j(),ee(),l?A([],[]):A(null,null)}function je(t){!st(t,"action")&&!st(t,"empty")&&t.preventDefault()}function Ee(t){Z(t)}function ke(t){var l,w,B,M,O;switch(t.key){case" ":if(e.filterable)break;t.preventDefault();case"Enter":if(!(!((l=p.value)===null||l===void 0)&&l.isComposing)){if(c.value){const S=(w=T.value)===null||w===void 0?void 0:w.getPendingTmNode();S?u(S):e.filterable||(j(),Pe())}else if(q(),e.tag&&m.value){const S=L.value[0];if(S){const D=S[e.valueField],{value:ze}=b;e.multiple&&Array.isArray(ze)&&ze.some(De=>De===D)||$(S)}}}t.preventDefault();break;case"ArrowUp":if(t.preventDefault(),e.loading)return;c.value&&((B=T.value)===null||B===void 0||B.prev());break;case"ArrowDown":if(t.preventDefault(),e.loading)return;c.value?(M=T.value)===null||M===void 0||M.next():q();break;case"Escape":c.value&&(yn(t),j()),(O=p.value)===null||O===void 0||O.focus();break}}function Pe(){var t;(t=p.value)===null||t===void 0||t.focus()}function Oe(){var t;(t=p.value)===null||t===void 0||t.focusInput()}function Le(){var t;c.value&&((t=z.value)===null||t===void 0||t.syncPosition())}pe(),Ne(we(e,"options"),pe);const Ve={focus:()=>{var t;(t=p.value)===null||t===void 0||t.focus()},blur:()=>{var t;(t=p.value)===null||t===void 0||t.blur()}},Be=I(()=>{const{self:{menuBoxShadow:t}}=x.value;return{"--n-menu-box-shadow":t}}),ue=f?Ze("select",void 0,Be,e):void 0;return Object.assign(Object.assign({},Ve),{mergedStatus:ae,mergedClsPrefix:o,mergedBordered:s,namespace:d,treeMate:y,isMounted:hn(),triggerRef:p,menuRef:T,pattern:F,uncontrolledShow:g,mergedShow:c,adjustedTo:qe(e),uncontrolledValue:C,mergedValue:b,followerRef:z,localizedPlaceholder:W,selectedOption:ve,selectedOptions:he,mergedSize:K,mergedDisabled:X,focused:h,activeWithoutMenuOpen:m,inlineThemeDisabled:f,onTriggerInputFocus:ie,onTriggerInputBlur:te,handleTriggerOrMenuResize:Le,handleMenuFocus:_e,handleMenuBlur:Fe,handleMenuTabOut:Me,handleTriggerClick:me,handleToggle:u,handleDeleteOption:$,handlePatternInput:$e,handleClear:Ae,handleTriggerBlur:Te,handleTriggerFocus:Ie,handleKeydown:ke,handleMenuAfterLeave:a,handleMenuClickOutside:de,handleMenuScroll:Ee,handleMenuKeydown:ke,handleMenuMousedown:je,mergedTheme:x,cssVars:f?void 0:Be,themeClass:ue==null?void 0:ue.themeClass,onRender:ue==null?void 0:ue.onRender})},render(){return n("div",{class:`${this.mergedClsPrefix}-select`},n(vn,null,{default:()=>[n(bn,null,{default:()=>n(Bn,{ref:"triggerRef",inlineThemeDisabled:this.inlineThemeDisabled,status:this.mergedStatus,inputProps:this.inputProps,clsPrefix:this.mergedClsPrefix,showArrow:this.showArrow,maxTagCount:this.maxTagCount,bordered:this.mergedBordered,active:this.activeWithoutMenuOpen||this.mergedShow,pattern:this.pattern,placeholder:this.localizedPlaceholder,selectedOption:this.selectedOption,selectedOptions:this.selectedOptions,multiple:this.multiple,renderTag:this.renderTag,renderLabel:this.renderLabel,filterable:this.filterable,clearable:this.clearable,disabled:this.mergedDisabled,size:this.mergedSize,theme:this.mergedTheme.peers.InternalSelection,labelField:this.labelField,valueField:this.valueField,themeOverrides:this.mergedTheme.peerOverrides.InternalSelection,loading:this.loading,focused:this.focused,onClick:this.handleTriggerClick,onDeleteOption:this.handleDeleteOption,onPatternInput:this.handlePatternInput,onClear:this.handleClear,onBlur:this.handleTriggerBlur,onFocus:this.handleTriggerFocus,onKeydown:this.handleKeydown,onPatternBlur:this.onTriggerInputBlur,onPatternFocus:this.onTriggerInputFocus,onResize:this.handleTriggerOrMenuResize,ignoreComposition:this.ignoreComposition},{arrow:()=>{var e,o;return[(o=(e=this.$slots).arrow)===null||o===void 0?void 0:o.call(e)]}})}),n(gn,{ref:"followerRef",show:this.mergedShow,to:this.adjustedTo,teleportDisabled:this.adjustedTo===qe.tdkey,containerClass:this.namespace,width:this.consistentMenuWidth?"target":void 0,minWidth:"target",placement:this.placement},{default:()=>n(pn,{name:"fade-in-scale-up-transition",appear:this.isMounted,onAfterLeave:this.handleMenuAfterLeave},{default:()=>{var e,o,s;return this.mergedShow||this.displayDirective==="show"?((e=this.onRender)===null||e===void 0||e.call(this),mn(n(Tt,Object.assign({},this.menuProps,{ref:"menuRef",onResize:this.handleTriggerOrMenuResize,inlineThemeDisabled:this.inlineThemeDisabled,virtualScroll:this.consistentMenuWidth&&this.virtualScroll,class:[`${this.mergedClsPrefix}-select-menu`,this.themeClass,(o=this.menuProps)===null||o===void 0?void 0:o.class],clsPrefix:this.mergedClsPrefix,focusable:!0,labelField:this.labelField,valueField:this.valueField,autoPending:!0,nodeProps:this.nodeProps,theme:this.mergedTheme.peers.InternalSelectMenu,themeOverrides:this.mergedTheme.peerOverrides.InternalSelectMenu,treeMate:this.treeMate,multiple:this.multiple,size:"medium",renderOption:this.renderOption,renderLabel:this.renderLabel,value:this.mergedValue,style:[(s=this.menuProps)===null||s===void 0?void 0:s.style,this.cssVars],onToggle:this.handleToggle,onScroll:this.handleMenuScroll,onFocus:this.handleMenuFocus,onBlur:this.handleMenuBlur,onKeydown:this.handleMenuKeydown,onTabOut:this.handleMenuTabOut,onMousedown:this.handleMenuMousedown,show:this.mergedShow,showCheckmark:this.showCheckmark,resetMenuOnOptionsChange:this.resetMenuOnOptionsChange}),{empty:()=>{var d,f;return[(f=(d=this.$slots).empty)===null||f===void 0?void 0:f.call(d)]},action:()=>{var d,f;return[(f=(d=this.$slots).action)===null||f===void 0?void 0:f.call(d)]}}),this.displayDirective==="show"?[[wn,this.mergedShow],[ft,this.handleMenuClickOutside,void 0,{capture:!0}]]:[[ft,this.handleMenuClickOutside,void 0,{capture:!0}]])):null}})})]}))}});function Ln(e,o,s){let d=!1,f=!1,x=1,C=o;if(o===1)return{hasFastBackward:!1,hasFastForward:!1,fastForwardTo:C,fastBackwardTo:x,items:[{type:"page",label:1,active:e===1,mayBeFastBackward:!1,mayBeFastForward:!1}]};if(o===2)return{hasFastBackward:!1,hasFastForward:!1,fastForwardTo:C,fastBackwardTo:x,items:[{type:"page",label:1,active:e===1,mayBeFastBackward:!1,mayBeFastForward:!1},{type:"page",label:2,active:e===2,mayBeFastBackward:!0,mayBeFastForward:!1}]};const i=1,b=o;let h=e,F=e;const y=(s-5)/2;F+=Math.ceil(y),F=Math.min(Math.max(F,i+s-3),b-2),h-=Math.floor(y),h=Math.max(Math.min(h,b-s+3),i+2);let v=!1,g=!1;h>i+2&&(v=!0),F=i+1&&c.push({type:"page",label:i+1,mayBeFastBackward:!0,mayBeFastForward:!1,active:e===i+1});for(let p=h;p<=F;++p)c.push({type:"page",label:p,mayBeFastBackward:!1,mayBeFastForward:!1,active:e===p});return g?(f=!0,C=F+1,c.push({type:"fast-forward",active:!1,label:void 0,options:Ft(F+1,b-1)})):F===b-2&&c[c.length-1].label!==b-1&&c.push({type:"page",mayBeFastForward:!0,mayBeFastBackward:!1,label:b-1,active:e===b-1}),c[c.length-1].label!==b&&c.push({type:"page",mayBeFastForward:!1,mayBeFastBackward:!1,label:b,active:e===b}),{hasFastBackward:d,hasFastForward:f,fastBackwardTo:x,fastForwardTo:C,items:c}}function Ft(e,o){const s=[];for(let d=e;d<=o;++d)s.push({label:`${d}`,value:d});return s}const Mt=` background: var(--n-item-color-hover); color: var(--n-item-text-color-hover); border: var(--n-item-border-hover); @@ -300,4 +300,4 @@ import{d as le,r as P,bQ as Zt,bR as Qt,a2 as kt,V as Ue,h as n,bS as Yt,bT as X flex-wrap: nowrap; `,[k("pagination-quick-jumper",[k("input",` margin: 0; - `)])])]),Dn=Object.assign(Object.assign({},Ce.props),{simple:Boolean,page:Number,defaultPage:{type:Number,default:1},itemCount:Number,pageCount:Number,defaultPageCount:{type:Number,default:1},showSizePicker:Boolean,pageSize:Number,defaultPageSize:Number,pageSizes:{type:Array,default(){return[10]}},showQuickJumper:Boolean,size:{type:String,default:"medium"},disabled:Boolean,pageSlot:{type:Number,default:9},selectProps:Object,prev:Function,next:Function,goto:Function,prefix:Function,suffix:Function,label:Function,displayOrder:{type:Array,default:["pages","size-picker","quick-jumper"]},to:qe.propTo,"onUpdate:page":[Function,Array],onUpdatePage:[Function,Array],"onUpdate:pageSize":[Function,Array],onUpdatePageSize:[Function,Array],onPageSizeChange:[Function,Array],onChange:[Function,Array]}),Wn=le({name:"Pagination",props:Dn,setup(e){const{mergedComponentPropsRef:o,mergedClsPrefixRef:s,inlineThemeDisabled:d,mergedRtlRef:f}=dt(e),x=Ce("Pagination","-pagination",Vn,Fn,e,s),{localeRef:C}=Rt("Pagination"),i=P(null),b=P(e.defaultPage),F=P((()=>{const{defaultPageSize:a}=e;if(a!==void 0)return a;const m=e.pageSizes[0];return typeof m=="number"?m:m.value||10})()),y=Ke(we(e,"page"),b),v=Ke(we(e,"pageSize"),F),g=I(()=>{const{itemCount:a}=e;if(a!==void 0)return Math.max(1,Math.ceil(a/v.value));const{pageCount:m}=e;return m!==void 0?Math.max(m,1):1}),c=P("");He(()=>{e.simple,c.value=String(y.value)});const p=P(!1),z=P(!1),T=P(!1),R=P(!1),W=()=>{e.disabled||(p.value=!0,J())},Y=()=>{e.disabled||(p.value=!1,J())},H=()=>{z.value=!0,J()},_=()=>{z.value=!1,J()},L=a=>{K(a)},N=I(()=>Ln(y.value,g.value,e.pageSlot));He(()=>{N.value.hasFastBackward?N.value.hasFastForward||(p.value=!1,T.value=!1):(z.value=!1,R.value=!1)});const fe=I(()=>{const a=C.value.selectionSuffix;return e.pageSizes.map(m=>typeof m=="number"?{label:`${m} / ${a}`,value:m}:m)}),ne=I(()=>{var a,m;return((m=(a=o==null?void 0:o.value)===null||a===void 0?void 0:a.Pagination)===null||m===void 0?void 0:m.inputSize)||bt(e.size)}),se=I(()=>{var a,m;return((m=(a=o==null?void 0:o.value)===null||a===void 0?void 0:a.Pagination)===null||m===void 0?void 0:m.selectSize)||bt(e.size)}),V=I(()=>(y.value-1)*v.value),oe=I(()=>{const a=y.value*v.value-1,{itemCount:m}=e;return m!==void 0&&a>m-1?m-1:a}),he=I(()=>{const{itemCount:a}=e;return a!==void 0?a:(e.pageCount||1)*v.value}),ve=Mn("Pagination",f,s),J=()=>{Ue(()=>{var a;const{value:m}=i;m&&(m.classList.add("transition-disabled"),(a=i.value)===null||a===void 0||a.offsetWidth,m.classList.remove("transition-disabled"))})};function K(a){if(a===y.value)return;const{"onUpdate:page":m,onUpdatePage:ie,onChange:te,simple:me}=e;m&&E(m,a),ie&&E(ie,a),te&&E(te,a),b.value=a,me&&(c.value=String(a))}function X(a){if(a===v.value)return;const{"onUpdate:pageSize":m,onUpdatePageSize:ie,onPageSizeChange:te}=e;m&&E(m,a),ie&&E(ie,a),te&&E(te,a),F.value=a,g.value{y.value,v.value,J()});const q=I(()=>{const{size:a}=e,{self:{buttonBorder:m,buttonBorderHover:ie,buttonBorderPressed:te,buttonIconColor:me,buttonIconColorHover:Te,buttonIconColorPressed:Ie,itemTextColor:_e,itemTextColorHover:Fe,itemTextColorPressed:Me,itemTextColorActive:de,itemTextColorDisabled:r,itemColor:u,itemColorHover:$,itemColorPressed:Se,itemColorActive:$e,itemColorActiveHover:Ae,itemColorDisabled:je,itemBorder:Ee,itemBorderHover:ke,itemBorderPressed:Pe,itemBorderActive:Oe,itemBorderDisabled:Le,itemBorderRadius:Ve,jumperTextColor:Be,jumperTextColorDisabled:ue,buttonColor:t,buttonColorHover:l,buttonColorPressed:w,[Q("itemPadding",a)]:B,[Q("itemMargin",a)]:M,[Q("inputWidth",a)]:O,[Q("selectWidth",a)]:S,[Q("inputMargin",a)]:D,[Q("selectMargin",a)]:ze,[Q("jumperFontSize",a)]:De,[Q("prefixMargin",a)]:Qe,[Q("suffixMargin",a)]:Ye,[Q("itemSize",a)]:Xe,[Q("buttonIconSize",a)]:Ge,[Q("itemFontSize",a)]:et,[`${Q("itemMargin",a)}Rtl`]:tt,[`${Q("inputMargin",a)}Rtl`]:nt},common:{cubicBezierEaseInOut:ot}}=x.value;return{"--n-prefix-margin":Qe,"--n-suffix-margin":Ye,"--n-item-font-size":et,"--n-select-width":S,"--n-select-margin":ze,"--n-input-width":O,"--n-input-margin":D,"--n-input-margin-rtl":nt,"--n-item-size":Xe,"--n-item-text-color":_e,"--n-item-text-color-disabled":r,"--n-item-text-color-hover":Fe,"--n-item-text-color-active":de,"--n-item-text-color-pressed":Me,"--n-item-color":u,"--n-item-color-hover":$,"--n-item-color-disabled":je,"--n-item-color-active":$e,"--n-item-color-active-hover":Ae,"--n-item-color-pressed":Se,"--n-item-border":Ee,"--n-item-border-hover":ke,"--n-item-border-disabled":Le,"--n-item-border-active":Oe,"--n-item-border-pressed":Pe,"--n-item-padding":B,"--n-item-border-radius":Ve,"--n-bezier":ot,"--n-jumper-font-size":De,"--n-jumper-text-color":Be,"--n-jumper-text-color-disabled":ue,"--n-item-margin":M,"--n-item-margin-rtl":tt,"--n-button-icon-size":Ge,"--n-button-icon-color":me,"--n-button-icon-color-hover":Te,"--n-button-icon-color-pressed":Ie,"--n-button-color-hover":l,"--n-button-color":t,"--n-button-color-pressed":w,"--n-button-border":m,"--n-button-border-hover":ie,"--n-button-border-pressed":te}}),j=d?Ze("pagination",I(()=>{let a="";const{size:m}=e;return a+=m[0],a}),q,e):void 0;return{rtlEnabled:ve,mergedClsPrefix:s,locale:C,selfRef:i,mergedPage:y,pageItems:I(()=>N.value.items),mergedItemCount:he,jumperValue:c,pageSizeOptions:fe,mergedPageSize:v,inputSize:ne,selectSize:se,mergedTheme:x,mergedPageCount:g,startIndex:V,endIndex:oe,showFastForwardMenu:T,showFastBackwardMenu:R,fastForwardActive:p,fastBackwardActive:z,handleMenuSelect:L,handleFastForwardMouseenter:W,handleFastForwardMouseleave:Y,handleFastBackwardMouseenter:H,handleFastBackwardMouseleave:_,handleJumperInput:re,handleBackwardClick:A,handleForwardClick:ae,handlePageItemClick:pe,handleSizePickerChange:be,handleQuickJumperChange:Z,cssVars:d?void 0:q,themeClass:j==null?void 0:j.themeClass,onRender:j==null?void 0:j.onRender}},render(){const{$slots:e,mergedClsPrefix:o,disabled:s,cssVars:d,mergedPage:f,mergedPageCount:x,pageItems:C,showSizePicker:i,showQuickJumper:b,mergedTheme:h,locale:F,inputSize:y,selectSize:v,mergedPageSize:g,pageSizeOptions:c,jumperValue:p,simple:z,prev:T,next:R,prefix:W,suffix:Y,label:H,goto:_,handleJumperInput:L,handleSizePickerChange:N,handleBackwardClick:fe,handlePageItemClick:ne,handleForwardClick:se,handleQuickJumperChange:V,onRender:oe}=this;oe==null||oe();const he=e.prefix||W,ve=e.suffix||Y,J=T||e.prev,K=R||e.next,X=H||e.label;return n("div",{ref:"selfRef",class:[`${o}-pagination`,this.themeClass,this.rtlEnabled&&`${o}-pagination--rtl`,s&&`${o}-pagination--disabled`,z&&`${o}-pagination--simple`],style:d},he?n("div",{class:`${o}-pagination-prefix`},he({page:f,pageSize:g,pageCount:x,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount})):null,this.displayOrder.map(ae=>{switch(ae){case"pages":return n(lt,null,n("div",{class:[`${o}-pagination-item`,!J&&`${o}-pagination-item--button`,(f<=1||f>x||s)&&`${o}-pagination-item--disabled`],onClick:fe},J?J({page:f,pageSize:g,pageCount:x,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount}):n(Re,{clsPrefix:o},{default:()=>this.rtlEnabled?n(Ct,null):n(pt,null)})),z?n(lt,null,n("div",{class:`${o}-pagination-quick-jumper`},n(ht,{value:p,onUpdateValue:L,size:y,placeholder:"",disabled:s,theme:h.peers.Input,themeOverrides:h.peerOverrides.Input,onChange:V}))," / ",x):C.map((A,xe)=>{let ee,be,ge;const{type:Z}=A;switch(Z){case"page":const re=A.label;X?ee=X({type:"page",node:re,active:A.active}):ee=re;break;case"fast-forward":const q=this.fastForwardActive?n(Re,{clsPrefix:o},{default:()=>this.rtlEnabled?n(mt,null):n(wt,null)}):n(Re,{clsPrefix:o},{default:()=>n(xt,null)});X?ee=X({type:"fast-forward",node:q,active:this.fastForwardActive||this.showFastForwardMenu}):ee=q,be=this.handleFastForwardMouseenter,ge=this.handleFastForwardMouseleave;break;case"fast-backward":const j=this.fastBackwardActive?n(Re,{clsPrefix:o},{default:()=>this.rtlEnabled?n(wt,null):n(mt,null)}):n(Re,{clsPrefix:o},{default:()=>n(xt,null)});X?ee=X({type:"fast-backward",node:j,active:this.fastBackwardActive||this.showFastBackwardMenu}):ee=j,be=this.handleFastBackwardMouseenter,ge=this.handleFastBackwardMouseleave;break}const pe=n("div",{key:xe,class:[`${o}-pagination-item`,A.active&&`${o}-pagination-item--active`,Z!=="page"&&(Z==="fast-backward"&&this.showFastBackwardMenu||Z==="fast-forward"&&this.showFastForwardMenu)&&`${o}-pagination-item--hover`,s&&`${o}-pagination-item--disabled`,Z==="page"&&`${o}-pagination-item--clickable`],onClick:()=>ne(A),onMouseenter:be,onMouseleave:ge},ee);if(Z==="page"&&!A.mayBeFastBackward&&!A.mayBeFastForward)return pe;{const re=A.type==="page"?A.mayBeFastBackward?"fast-backward":"fast-forward":A.type;return n($n,{to:this.to,key:re,disabled:s,trigger:"hover",virtualScroll:!0,style:{width:"60px"},theme:h.peers.Popselect,themeOverrides:h.peerOverrides.Popselect,builtinThemeOverrides:{peers:{InternalSelectMenu:{height:"calc(var(--n-option-height) * 4.6)"}}},nodeProps:()=>({style:{justifyContent:"center"}}),show:Z==="page"?!1:Z==="fast-backward"?this.showFastBackwardMenu:this.showFastForwardMenu,onUpdateShow:q=>{Z!=="page"&&(q?Z==="fast-backward"?this.showFastBackwardMenu=q:this.showFastForwardMenu=q:(this.showFastBackwardMenu=!1,this.showFastForwardMenu=!1))},options:A.type!=="page"?A.options:[],onUpdateValue:this.handleMenuSelect,scrollable:!0,showCheckmark:!1},{default:()=>pe})}}),n("div",{class:[`${o}-pagination-item`,!K&&`${o}-pagination-item--button`,{[`${o}-pagination-item--disabled`]:f<1||f>=x||s}],onClick:se},K?K({page:f,pageSize:g,pageCount:x,itemCount:this.mergedItemCount,startIndex:this.startIndex,endIndex:this.endIndex}):n(Re,{clsPrefix:o},{default:()=>this.rtlEnabled?n(pt,null):n(Ct,null)})));case"size-picker":return!z&&i?n(En,Object.assign({consistentMenuWidth:!1,placeholder:"",showCheckmark:!1,to:this.to},this.selectProps,{size:v,options:c,value:g,disabled:s,theme:h.peers.Select,themeOverrides:h.peerOverrides.Select,onUpdateValue:N})):null;case"quick-jumper":return!z&&b?n("div",{class:`${o}-pagination-quick-jumper`},_?_():Sn(this.$slots.goto,()=>[F.goto]),n(ht,{value:p,onUpdateValue:L,size:y,placeholder:"",disabled:s,theme:h.peers.Input,themeOverrides:h.peerOverrides.Input,onChange:V})):null;default:return null}}),ve?n("div",{class:`${o}-pagination-suffix`},ve({page:f,pageSize:g,pageCount:x,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount})):null)}});export{Wn as _}; + `)])])]),Dn=Object.assign(Object.assign({},Ce.props),{simple:Boolean,page:Number,defaultPage:{type:Number,default:1},itemCount:Number,pageCount:Number,defaultPageCount:{type:Number,default:1},showSizePicker:Boolean,pageSize:Number,defaultPageSize:Number,pageSizes:{type:Array,default(){return[10]}},showQuickJumper:Boolean,size:{type:String,default:"medium"},disabled:Boolean,pageSlot:{type:Number,default:9},selectProps:Object,prev:Function,next:Function,goto:Function,prefix:Function,suffix:Function,label:Function,displayOrder:{type:Array,default:["pages","size-picker","quick-jumper"]},to:qe.propTo,"onUpdate:page":[Function,Array],onUpdatePage:[Function,Array],"onUpdate:pageSize":[Function,Array],onUpdatePageSize:[Function,Array],onPageSizeChange:[Function,Array],onChange:[Function,Array]}),Wn=le({name:"Pagination",props:Dn,setup(e){const{mergedComponentPropsRef:o,mergedClsPrefixRef:s,inlineThemeDisabled:d,mergedRtlRef:f}=dt(e),x=Ce("Pagination","-pagination",Vn,Sn,e,s),{localeRef:C}=Rt("Pagination"),i=P(null),b=P(e.defaultPage),F=P((()=>{const{defaultPageSize:a}=e;if(a!==void 0)return a;const m=e.pageSizes[0];return typeof m=="number"?m:m.value||10})()),y=Ke(we(e,"page"),b),v=Ke(we(e,"pageSize"),F),g=I(()=>{const{itemCount:a}=e;if(a!==void 0)return Math.max(1,Math.ceil(a/v.value));const{pageCount:m}=e;return m!==void 0?Math.max(m,1):1}),c=P("");He(()=>{e.simple,c.value=String(y.value)});const p=P(!1),z=P(!1),T=P(!1),R=P(!1),W=()=>{e.disabled||(p.value=!0,J())},Y=()=>{e.disabled||(p.value=!1,J())},H=()=>{z.value=!0,J()},_=()=>{z.value=!1,J()},L=a=>{K(a)},N=I(()=>Ln(y.value,g.value,e.pageSlot));He(()=>{N.value.hasFastBackward?N.value.hasFastForward||(p.value=!1,T.value=!1):(z.value=!1,R.value=!1)});const fe=I(()=>{const a=C.value.selectionSuffix;return e.pageSizes.map(m=>typeof m=="number"?{label:`${m} / ${a}`,value:m}:m)}),ne=I(()=>{var a,m;return((m=(a=o==null?void 0:o.value)===null||a===void 0?void 0:a.Pagination)===null||m===void 0?void 0:m.inputSize)||bt(e.size)}),se=I(()=>{var a,m;return((m=(a=o==null?void 0:o.value)===null||a===void 0?void 0:a.Pagination)===null||m===void 0?void 0:m.selectSize)||bt(e.size)}),V=I(()=>(y.value-1)*v.value),oe=I(()=>{const a=y.value*v.value-1,{itemCount:m}=e;return m!==void 0&&a>m-1?m-1:a}),he=I(()=>{const{itemCount:a}=e;return a!==void 0?a:(e.pageCount||1)*v.value}),ve=Fn("Pagination",f,s),J=()=>{Ue(()=>{var a;const{value:m}=i;m&&(m.classList.add("transition-disabled"),(a=i.value)===null||a===void 0||a.offsetWidth,m.classList.remove("transition-disabled"))})};function K(a){if(a===y.value)return;const{"onUpdate:page":m,onUpdatePage:ie,onChange:te,simple:me}=e;m&&E(m,a),ie&&E(ie,a),te&&E(te,a),b.value=a,me&&(c.value=String(a))}function X(a){if(a===v.value)return;const{"onUpdate:pageSize":m,onUpdatePageSize:ie,onPageSizeChange:te}=e;m&&E(m,a),ie&&E(ie,a),te&&E(te,a),F.value=a,g.value{y.value,v.value,J()});const q=I(()=>{const{size:a}=e,{self:{buttonBorder:m,buttonBorderHover:ie,buttonBorderPressed:te,buttonIconColor:me,buttonIconColorHover:Te,buttonIconColorPressed:Ie,itemTextColor:_e,itemTextColorHover:Fe,itemTextColorPressed:Me,itemTextColorActive:de,itemTextColorDisabled:r,itemColor:u,itemColorHover:$,itemColorPressed:Se,itemColorActive:$e,itemColorActiveHover:Ae,itemColorDisabled:je,itemBorder:Ee,itemBorderHover:ke,itemBorderPressed:Pe,itemBorderActive:Oe,itemBorderDisabled:Le,itemBorderRadius:Ve,jumperTextColor:Be,jumperTextColorDisabled:ue,buttonColor:t,buttonColorHover:l,buttonColorPressed:w,[Q("itemPadding",a)]:B,[Q("itemMargin",a)]:M,[Q("inputWidth",a)]:O,[Q("selectWidth",a)]:S,[Q("inputMargin",a)]:D,[Q("selectMargin",a)]:ze,[Q("jumperFontSize",a)]:De,[Q("prefixMargin",a)]:Qe,[Q("suffixMargin",a)]:Ye,[Q("itemSize",a)]:Xe,[Q("buttonIconSize",a)]:Ge,[Q("itemFontSize",a)]:et,[`${Q("itemMargin",a)}Rtl`]:tt,[`${Q("inputMargin",a)}Rtl`]:nt},common:{cubicBezierEaseInOut:ot}}=x.value;return{"--n-prefix-margin":Qe,"--n-suffix-margin":Ye,"--n-item-font-size":et,"--n-select-width":S,"--n-select-margin":ze,"--n-input-width":O,"--n-input-margin":D,"--n-input-margin-rtl":nt,"--n-item-size":Xe,"--n-item-text-color":_e,"--n-item-text-color-disabled":r,"--n-item-text-color-hover":Fe,"--n-item-text-color-active":de,"--n-item-text-color-pressed":Me,"--n-item-color":u,"--n-item-color-hover":$,"--n-item-color-disabled":je,"--n-item-color-active":$e,"--n-item-color-active-hover":Ae,"--n-item-color-pressed":Se,"--n-item-border":Ee,"--n-item-border-hover":ke,"--n-item-border-disabled":Le,"--n-item-border-active":Oe,"--n-item-border-pressed":Pe,"--n-item-padding":B,"--n-item-border-radius":Ve,"--n-bezier":ot,"--n-jumper-font-size":De,"--n-jumper-text-color":Be,"--n-jumper-text-color-disabled":ue,"--n-item-margin":M,"--n-item-margin-rtl":tt,"--n-button-icon-size":Ge,"--n-button-icon-color":me,"--n-button-icon-color-hover":Te,"--n-button-icon-color-pressed":Ie,"--n-button-color-hover":l,"--n-button-color":t,"--n-button-color-pressed":w,"--n-button-border":m,"--n-button-border-hover":ie,"--n-button-border-pressed":te}}),j=d?Ze("pagination",I(()=>{let a="";const{size:m}=e;return a+=m[0],a}),q,e):void 0;return{rtlEnabled:ve,mergedClsPrefix:s,locale:C,selfRef:i,mergedPage:y,pageItems:I(()=>N.value.items),mergedItemCount:he,jumperValue:c,pageSizeOptions:fe,mergedPageSize:v,inputSize:ne,selectSize:se,mergedTheme:x,mergedPageCount:g,startIndex:V,endIndex:oe,showFastForwardMenu:T,showFastBackwardMenu:R,fastForwardActive:p,fastBackwardActive:z,handleMenuSelect:L,handleFastForwardMouseenter:W,handleFastForwardMouseleave:Y,handleFastBackwardMouseenter:H,handleFastBackwardMouseleave:_,handleJumperInput:re,handleBackwardClick:A,handleForwardClick:ae,handlePageItemClick:pe,handleSizePickerChange:be,handleQuickJumperChange:Z,cssVars:d?void 0:q,themeClass:j==null?void 0:j.themeClass,onRender:j==null?void 0:j.onRender}},render(){const{$slots:e,mergedClsPrefix:o,disabled:s,cssVars:d,mergedPage:f,mergedPageCount:x,pageItems:C,showSizePicker:i,showQuickJumper:b,mergedTheme:h,locale:F,inputSize:y,selectSize:v,mergedPageSize:g,pageSizeOptions:c,jumperValue:p,simple:z,prev:T,next:R,prefix:W,suffix:Y,label:H,goto:_,handleJumperInput:L,handleSizePickerChange:N,handleBackwardClick:fe,handlePageItemClick:ne,handleForwardClick:se,handleQuickJumperChange:V,onRender:oe}=this;oe==null||oe();const he=e.prefix||W,ve=e.suffix||Y,J=T||e.prev,K=R||e.next,X=H||e.label;return n("div",{ref:"selfRef",class:[`${o}-pagination`,this.themeClass,this.rtlEnabled&&`${o}-pagination--rtl`,s&&`${o}-pagination--disabled`,z&&`${o}-pagination--simple`],style:d},he?n("div",{class:`${o}-pagination-prefix`},he({page:f,pageSize:g,pageCount:x,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount})):null,this.displayOrder.map(ae=>{switch(ae){case"pages":return n(lt,null,n("div",{class:[`${o}-pagination-item`,!J&&`${o}-pagination-item--button`,(f<=1||f>x||s)&&`${o}-pagination-item--disabled`],onClick:fe},J?J({page:f,pageSize:g,pageCount:x,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount}):n(Re,{clsPrefix:o},{default:()=>this.rtlEnabled?n(Ct,null):n(pt,null)})),z?n(lt,null,n("div",{class:`${o}-pagination-quick-jumper`},n(ht,{value:p,onUpdateValue:L,size:y,placeholder:"",disabled:s,theme:h.peers.Input,themeOverrides:h.peerOverrides.Input,onChange:V}))," / ",x):C.map((A,xe)=>{let ee,be,ge;const{type:Z}=A;switch(Z){case"page":const re=A.label;X?ee=X({type:"page",node:re,active:A.active}):ee=re;break;case"fast-forward":const q=this.fastForwardActive?n(Re,{clsPrefix:o},{default:()=>this.rtlEnabled?n(mt,null):n(wt,null)}):n(Re,{clsPrefix:o},{default:()=>n(xt,null)});X?ee=X({type:"fast-forward",node:q,active:this.fastForwardActive||this.showFastForwardMenu}):ee=q,be=this.handleFastForwardMouseenter,ge=this.handleFastForwardMouseleave;break;case"fast-backward":const j=this.fastBackwardActive?n(Re,{clsPrefix:o},{default:()=>this.rtlEnabled?n(wt,null):n(mt,null)}):n(Re,{clsPrefix:o},{default:()=>n(xt,null)});X?ee=X({type:"fast-backward",node:j,active:this.fastBackwardActive||this.showFastBackwardMenu}):ee=j,be=this.handleFastBackwardMouseenter,ge=this.handleFastBackwardMouseleave;break}const pe=n("div",{key:xe,class:[`${o}-pagination-item`,A.active&&`${o}-pagination-item--active`,Z!=="page"&&(Z==="fast-backward"&&this.showFastBackwardMenu||Z==="fast-forward"&&this.showFastForwardMenu)&&`${o}-pagination-item--hover`,s&&`${o}-pagination-item--disabled`,Z==="page"&&`${o}-pagination-item--clickable`],onClick:()=>ne(A),onMouseenter:be,onMouseleave:ge},ee);if(Z==="page"&&!A.mayBeFastBackward&&!A.mayBeFastForward)return pe;{const re=A.type==="page"?A.mayBeFastBackward?"fast-backward":"fast-forward":A.type;return n($n,{to:this.to,key:re,disabled:s,trigger:"hover",virtualScroll:!0,style:{width:"60px"},theme:h.peers.Popselect,themeOverrides:h.peerOverrides.Popselect,builtinThemeOverrides:{peers:{InternalSelectMenu:{height:"calc(var(--n-option-height) * 4.6)"}}},nodeProps:()=>({style:{justifyContent:"center"}}),show:Z==="page"?!1:Z==="fast-backward"?this.showFastBackwardMenu:this.showFastForwardMenu,onUpdateShow:q=>{Z!=="page"&&(q?Z==="fast-backward"?this.showFastBackwardMenu=q:this.showFastForwardMenu=q:(this.showFastBackwardMenu=!1,this.showFastForwardMenu=!1))},options:A.type!=="page"?A.options:[],onUpdateValue:this.handleMenuSelect,scrollable:!0,showCheckmark:!1},{default:()=>pe})}}),n("div",{class:[`${o}-pagination-item`,!K&&`${o}-pagination-item--button`,{[`${o}-pagination-item--disabled`]:f<1||f>=x||s}],onClick:se},K?K({page:f,pageSize:g,pageCount:x,itemCount:this.mergedItemCount,startIndex:this.startIndex,endIndex:this.endIndex}):n(Re,{clsPrefix:o},{default:()=>this.rtlEnabled?n(pt,null):n(Ct,null)})));case"size-picker":return!z&&i?n(En,Object.assign({consistentMenuWidth:!1,placeholder:"",showCheckmark:!1,to:this.to},this.selectProps,{size:v,options:c,value:g,disabled:s,theme:h.peers.Select,themeOverrides:h.peerOverrides.Select,onUpdateValue:N})):null;case"quick-jumper":return!z&&b?n("div",{class:`${o}-pagination-quick-jumper`},_?_():Mn(this.$slots.goto,()=>[F.goto]),n(ht,{value:p,onUpdateValue:L,size:y,placeholder:"",disabled:s,theme:h.peers.Input,themeOverrides:h.peerOverrides.Input,onChange:V})):null;default:return null}}),ve?n("div",{class:`${o}-pagination-suffix`},ve({page:f,pageSize:g,pageCount:x,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount})):null)}});export{Wn as _}; diff --git a/web/dist/assets/Post-21e0e7c2.js b/web/dist/assets/Post-21e0e7c2.js new file mode 100644 index 00000000..f7c7cdbe --- /dev/null +++ b/web/dist/assets/Post-21e0e7c2.js @@ -0,0 +1,57 @@ +import{c as me,a as _e,f as q,e as E,d as j,u as ve,x as ie,am as Le,y as H,A as Pe,h as O,ab as ee,n as Ae,J as ke,q as qe,t as we,L as be,K as Q,B as Ve,N as De,an as Ee,ao as He,b as xe,ap as Fe,r as k,p as Ke,aq as Je,ar as We,as as Ge,at as Qe,w as $e,W as c,Y as g,Z as h,au as Ye,a7 as C,a4 as s,a5 as l,a9 as z,av as Ze,_ as Xe,al as te,$ as le,aw as fe,aa as S,a6 as B,a3 as e,ax as et,af as ce,ak as ze,ay as tt,ac as ne,a8 as Y,az as st,ae as he,a0 as ot,a2 as ge,aA as nt,ag as at,aB as Ie,aC as Re,aD as it,aE as lt,aF as ct,aG as rt,aH as ut,aI as pt,aJ as dt,aK as _t,aL as mt,aM as vt,aN as ft,ah as Te,S as ht,aO as gt,aP as yt,ai as kt,aQ as wt,aR as bt,aS as xt}from"./index-dfd5495a.js";import{_ as $t}from"./InputGroup-a08135e4.js";import{f as ae}from"./formatTime-0c777b4d.js";import{p as ye,_ as Se,H as Ct,C as Pt,B as zt,a as It,b as Rt,c as Tt}from"./content-91421e79.js";import{_ as Be}from"./Thing-7c7318d4.js";import{_ as St}from"./post-skeleton-445c3b83.js";import{l as Bt,I as Ot,_ as Ut,V as X}from"./IEnum-1d2492bb.js";import{_ as Nt,a as jt,b as Mt,c as Lt}from"./Upload-4d55d917.js";import{M as At}from"./MoreHorizFilled-c8a99fb4.js";import{_ as qt}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{_ as Vt}from"./List-872c113a.js";import{a as Dt,_ as Et}from"./Skeleton-6c42d34d.js";const Ht=me("divider",` + position: relative; + display: flex; + width: 100%; + box-sizing: border-box; + font-size: 16px; + color: var(--n-text-color); + transition: + color .3s var(--n-bezier), + background-color .3s var(--n-bezier); +`,[_e("vertical",` + margin-top: 24px; + margin-bottom: 24px; + `,[_e("no-title",` + display: flex; + align-items: center; + `)]),q("title",` + display: flex; + align-items: center; + margin-left: 12px; + margin-right: 12px; + white-space: nowrap; + font-weight: var(--n-font-weight); + `),E("title-position-left",[q("line",[E("left",{width:"28px"})])]),E("title-position-right",[q("line",[E("right",{width:"28px"})])]),E("dashed",[q("line",` + background-color: #0000; + height: 0px; + width: 100%; + border-style: dashed; + border-width: 1px 0 0; + `)]),E("vertical",` + display: inline-block; + height: 1em; + margin: 0 8px; + vertical-align: middle; + width: 1px; + `),q("line",` + border: none; + transition: background-color .3s var(--n-bezier), border-color .3s var(--n-bezier); + height: 1px; + width: 100%; + margin: 0; + `),_e("dashed",[q("line",{backgroundColor:"var(--n-color)"})]),E("dashed",[q("line",{borderColor:"var(--n-color)"})]),E("vertical",{backgroundColor:"var(--n-color)"})]),Ft=Object.assign(Object.assign({},ie.props),{titlePlacement:{type:String,default:"center"},dashed:Boolean,vertical:Boolean}),Kt=j({name:"Divider",props:Ft,setup(r){const{mergedClsPrefixRef:m,inlineThemeDisabled:n}=ve(r),i=ie("Divider","-divider",Ht,Le,r,m),y=H(()=>{const{common:{cubicBezierEaseInOut:u},self:{color:v,textColor:a,fontWeight:x}}=i.value;return{"--n-bezier":u,"--n-color":v,"--n-text-color":a,"--n-font-weight":x}}),_=n?Pe("divider",void 0,y,r):void 0;return{mergedClsPrefix:m,cssVars:n?void 0:y,themeClass:_==null?void 0:_.themeClass,onRender:_==null?void 0:_.onRender}},render(){var r;const{$slots:m,titlePlacement:n,vertical:i,dashed:y,cssVars:_,mergedClsPrefix:u}=this;return(r=this.onRender)===null||r===void 0||r.call(this),O("div",{role:"separator",class:[`${u}-divider`,this.themeClass,{[`${u}-divider--vertical`]:i,[`${u}-divider--no-title`]:!m.default,[`${u}-divider--dashed`]:y,[`${u}-divider--title-position-${n}`]:m.default&&n}],style:_},i?null:O("div",{class:`${u}-divider__line ${u}-divider__line--left`}),!i&&m.default?O(ee,null,O("div",{class:`${u}-divider__title`},this.$slots),O("div",{class:`${u}-divider__line ${u}-divider__line--right`})):null)}}),Oe=Ae("n-popconfirm"),Ue={positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},onPositiveClick:{type:Function,required:!0},onNegativeClick:{type:Function,required:!0}},Ce=He(Ue),Jt=j({name:"NPopconfirmPanel",props:Ue,setup(r){const{localeRef:m}=ke("Popconfirm"),{inlineThemeDisabled:n}=ve(),{mergedClsPrefixRef:i,mergedThemeRef:y,props:_}=qe(Oe),u=H(()=>{const{common:{cubicBezierEaseInOut:a},self:{fontSize:x,iconSize:f,iconColor:p}}=y.value;return{"--n-bezier":a,"--n-font-size":x,"--n-icon-size":f,"--n-icon-color":p}}),v=n?Pe("popconfirm-panel",void 0,u,_):void 0;return Object.assign(Object.assign({},ke("Popconfirm")),{mergedClsPrefix:i,cssVars:n?void 0:u,localizedPositiveText:H(()=>r.positiveText||m.value.positiveText),localizedNegativeText:H(()=>r.negativeText||m.value.negativeText),positiveButtonProps:we(_,"positiveButtonProps"),negativeButtonProps:we(_,"negativeButtonProps"),handlePositiveClick(a){r.onPositiveClick(a)},handleNegativeClick(a){r.onNegativeClick(a)},themeClass:v==null?void 0:v.themeClass,onRender:v==null?void 0:v.onRender})},render(){var r;const{mergedClsPrefix:m,showIcon:n,$slots:i}=this,y=be(i.action,()=>this.negativeText===null&&this.positiveText===null?[]:[this.negativeText!==null&&O(Q,Object.assign({size:"small",onClick:this.handleNegativeClick},this.negativeButtonProps),{default:()=>this.localizedNegativeText}),this.positiveText!==null&&O(Q,Object.assign({size:"small",type:"primary",onClick:this.handlePositiveClick},this.positiveButtonProps),{default:()=>this.localizedPositiveText})]);return(r=this.onRender)===null||r===void 0||r.call(this),O("div",{class:[`${m}-popconfirm__panel`,this.themeClass],style:this.cssVars},Ve(i.default,_=>n||_?O("div",{class:`${m}-popconfirm__body`},n?O("div",{class:`${m}-popconfirm__icon`},be(i.icon,()=>[O(De,{clsPrefix:m},{default:()=>O(Ee,null)})])):null,_):null),y?O("div",{class:[`${m}-popconfirm__action`]},y):null)}}),Wt=me("popconfirm",[q("body",` + font-size: var(--n-font-size); + display: flex; + align-items: center; + flex-wrap: nowrap; + position: relative; + `,[q("icon",` + display: flex; + font-size: var(--n-icon-size); + color: var(--n-icon-color); + transition: color .3s var(--n-bezier); + margin: 0 8px 0 0; + `)]),q("action",` + display: flex; + justify-content: flex-end; + `,[xe("&:not(:first-child)","margin-top: 8px"),me("button",[xe("&:not(:last-child)","margin-right: 8px;")])])]),Gt=Object.assign(Object.assign(Object.assign({},ie.props),Qe),{positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},trigger:{type:String,default:"click"},positiveButtonProps:Object,negativeButtonProps:Object,onPositiveClick:Function,onNegativeClick:Function}),Ne=j({name:"Popconfirm",props:Gt,__popover__:!0,setup(r){const{mergedClsPrefixRef:m}=ve(),n=ie("Popconfirm","-popconfirm",Wt,Fe,r,m),i=k(null);function y(v){const{onPositiveClick:a,"onUpdate:show":x}=r;Promise.resolve(a?a(v):!0).then(f=>{var p;f!==!1&&((p=i.value)===null||p===void 0||p.setShow(!1),x&&$e(x,!1))})}function _(v){const{onNegativeClick:a,"onUpdate:show":x}=r;Promise.resolve(a?a(v):!0).then(f=>{var p;f!==!1&&((p=i.value)===null||p===void 0||p.setShow(!1),x&&$e(x,!1))})}return Ke(Oe,{mergedThemeRef:n,mergedClsPrefixRef:m,props:r}),Object.assign(Object.assign({},{setShow(v){var a;(a=i.value)===null||a===void 0||a.setShow(v)},syncPosition(){var v;(v=i.value)===null||v===void 0||v.syncPosition()}}),{mergedTheme:n,popoverInstRef:i,handlePositiveClick:y,handleNegativeClick:_})},render(){const{$slots:r,$props:m,mergedTheme:n}=this;return O(Ge,We(m,Ce,{theme:n.peers.Popover,themeOverrides:n.peerOverrides.Popover,internalExtraClass:["popconfirm"],ref:"popoverInstRef"}),{trigger:r.activator||r.trigger,default:()=>{const i=Je(m,Ce);return O(Jt,Object.assign(Object.assign({},i),{onPositiveClick:this.handlePositiveClick,onNegativeClick:this.handleNegativeClick}),r)}})}}),Qt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Yt=h("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),Zt=[Yt],Xt=j({name:"Bookmark",render:function(m,n){return c(),g("svg",Qt,Zt)}}),es={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ts=h("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),ss=[ts],os=j({name:"Heart",render:function(m,n){return c(),g("svg",es,ss)}}),ns={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},as=Ye('',1),is=[as],je=j({name:"Trash",render:function(m,n){return c(),g("svg",ns,is)}}),ls={class:"reply-compose-wrap"},cs={class:"reply-switch"},rs={key:0,class:"reply-input-wrap"},us=j({__name:"compose-reply",props:{commentId:{default:0},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(r,{expose:m,emit:n}){const i=r,y=k(),_=k(!1),u=k(""),v=k(!1),a=f=>{_.value=f,f?setTimeout(()=>{var p;(p=y.value)==null||p.focus()},10):(v.value=!1,u.value="",n("reset"))},x=()=>{v.value=!0,Ze({comment_id:i.commentId,at_user_id:i.atUserid,content:u.value}).then(f=>{a(!1),window.$message.success("评论成功"),n("reload")}).catch(f=>{v.value=!1})};return m({switchReply:a}),(f,p)=>{const P=Xe,o=Q,I=$t;return c(),g("div",ls,[h("div",cs,[_.value?C("",!0):(c(),g("span",{key:0,class:"show",onClick:p[0]||(p[0]=$=>a(!0))}," 回复 ")),_.value?(c(),g("span",{key:1,class:"hide",onClick:p[1]||(p[1]=$=>a(!1))}," 取消 ")):C("",!0)]),_.value?(c(),g("div",rs,[s(I,null,{default:l(()=>[s(P,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:i.atUsername?"@"+i.atUsername:"请输入回复内容..",maxlength:"100",value:u.value,"onUpdate:value":p[2]||(p[2]=$=>u.value=$),"show-count":"",clearable:""},null,8,["placeholder","value"]),s(o,{type:"primary",size:"small",ghost:"",loading:v.value,onClick:x},{default:l(()=>[z(" 回复 ")]),_:1},8,["loading"])]),_:1})])):C("",!0)])}}});const ps=te(us,[["__scopeId","data-v-89bc7a6d"]]),ds={class:"reply-item"},_s={class:"header-wrap"},ms={class:"username"},vs={class:"reply-name"},fs={class:"timestamp"},hs={class:"base-wrap"},gs={class:"content"},ys={key:0,class:"reply-switch"},ks=j({__name:"reply-item",props:{reply:null},emits:["focusReply","reload"],setup(r,{emit:m}){const n=r,i=le(),y=()=>{m("focusReply",n.reply)},_=()=>{et({id:n.reply.id}).then(u=>{window.$message.success("删除成功"),setTimeout(()=>{m("reload")},50)}).catch(u=>{console.log(u)})};return(u,v)=>{const a=fe("router-link"),x=ce,f=Q,p=Ne;return c(),g("div",ds,[h("div",_s,[h("div",ms,[s(a,{class:"user-link",to:{name:"user",query:{username:n.reply.user.username}}},{default:l(()=>[z(S(n.reply.user.username),1)]),_:1},8,["to"]),h("span",vs,S(n.reply.at_user_id>0?"回复":":"),1),n.reply.at_user_id>0?(c(),B(a,{key:0,class:"user-link",to:{name:"user",query:{username:n.reply.at_user.username}}},{default:l(()=>[z(S(n.reply.at_user.username),1)]),_:1},8,["to"])):C("",!0)]),h("div",fs,[z(S(n.reply.ip_loc?n.reply.ip_loc+" · ":n.reply.ip_loc)+" "+S(e(ae)(n.reply.created_on,e(i).state.collapsedLeft))+" ",1),e(i).state.userInfo.is_admin||e(i).state.userInfo.id===n.reply.user.id?(c(),B(p,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:_},{trigger:l(()=>[s(f,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:l(()=>[s(x,null,{default:l(()=>[s(e(je))]),_:1})]),_:1})]),default:l(()=>[z(" 是否确认删除? ")]),_:1})):C("",!0)])]),h("div",hs,[h("div",gs,S(n.reply.content),1),e(i).state.userInfo.id>0?(c(),g("div",ys,[h("span",{class:"show",onClick:y}," 回复 ")])):C("",!0)])])}}});const ws=te(ks,[["__scopeId","data-v-c486479f"]]),bs={class:"comment-item"},xs={class:"nickname-wrap"},$s={class:"username-wrap"},Cs={class:"opt-wrap"},Ps={class:"timestamp"},zs=["innerHTML"],Is={class:"reply-wrap"},Rs=j({__name:"comment-item",props:{comment:null},emits:["reload"],setup(r,{emit:m}){const n=r,i=le(),y=ze(),_=k(0),u=k(""),v=k(),a=H(()=>{let I=Object.assign({texts:[],imgs:[]},n.comment);return I.contents.map($=>{(+$.type==1||+$.type==2)&&I.texts.push($),+$.type==3&&I.imgs.push($)}),I}),x=(I,$)=>{let U=I.target;if(U.dataset.detail){const N=U.dataset.detail.split(":");N.length===2&&(i.commit("refresh"),N[0]==="tag"?window.$message.warning("评论内的无效话题"):y.push({name:"user",query:{username:N[1]}}))}},f=I=>{var $,U;_.value=I.user_id,u.value=(($=I.user)==null?void 0:$.username)||"",(U=v.value)==null||U.switchReply(!0)},p=()=>{m("reload")},P=()=>{_.value=0,u.value=""},o=()=>{st({id:a.value.id}).then(I=>{window.$message.success("删除成功"),setTimeout(()=>{p()},50)}).catch(I=>{})};return(I,$)=>{const U=he,N=fe("router-link"),D=ce,F=Q,K=Ne,J=Se,W=ws,G=ps,t=Be;return c(),g("div",bs,[s(t,{"content-indented":""},tt({avatar:l(()=>[s(U,{round:"",size:30,src:e(a).user.avatar},null,8,["src"])]),header:l(()=>[h("span",xs,[s(N,{onClick:$[0]||($[0]=Y(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(a).user.username}}},{default:l(()=>[z(S(e(a).user.nickname),1)]),_:1},8,["to"])]),h("span",$s," @"+S(e(a).user.username),1)]),"header-extra":l(()=>[h("div",Cs,[h("span",Ps,S(e(a).ip_loc?e(a).ip_loc+" · ":e(a).ip_loc)+" "+S(e(ae)(e(a).created_on,e(i).state.collapsedLeft)),1),e(i).state.userInfo.is_admin||e(i).state.userInfo.id===e(a).user.id?(c(),B(K,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:o},{trigger:l(()=>[s(F,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:l(()=>[s(D,null,{default:l(()=>[s(e(je))]),_:1})]),_:1})]),default:l(()=>[z(" 是否确认删除? ")]),_:1})):C("",!0)])]),footer:l(()=>[e(a).imgs.length>0?(c(),B(J,{key:0,imgs:e(a).imgs},null,8,["imgs"])):C("",!0),h("div",Is,[(c(!0),g(ee,null,ne(e(a).replies,d=>(c(),B(W,{key:d.id,reply:d,onFocusReply:f,onReload:p},null,8,["reply"]))),128))]),e(i).state.userInfo.id>0?(c(),B(G,{key:1,ref_key:"replyComposeRef",ref:v,"comment-id":e(a).id,"at-userid":_.value,"at-username":u.value,onReload:p,onReset:P},null,8,["comment-id","at-userid","at-username"])):C("",!0)]),_:2},[e(a).texts.length>0?{name:"description",fn:l(()=>[(c(!0),g(ee,null,ne(e(a).texts,d=>(c(),g("span",{key:d.id,class:"comment-text",onClick:$[1]||($[1]=Y(L=>x(L,e(a).id),["stop"])),innerHTML:e(ye)(d.content).content},null,8,zs))),128))]),key:"0"}:void 0]),1024)])}}});const Ts=te(Rs,[["__scopeId","data-v-02db83b3"]]),Ss=r=>(Ie("data-v-20c23f95"),r=r(),Re(),r),Bs={key:0,class:"compose-wrap"},Os={class:"compose-line"},Us={class:"compose-user"},Ns={class:"compose-line compose-options"},js={class:"attachment"},Ms={class:"submit-wrap"},Ls={class:"attachment-list-wrap"},As={key:1,class:"compose-wrap"},qs=Ss(()=>h("div",{class:"login-wrap"},[h("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Vs={class:"login-wrap"},Ds=j({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(r,{emit:m}){const n=r,i=le(),y=k([]),_=k(!1),u=k(!1),v=k(!1),a=k(""),x=k(),f=k("public/image"),p=k([]),P=k([]),o="/v1/attachment",I=k(),$=Bt.debounce(w=>{ot({k:w}).then(b=>{let R=[];b.suggest.map(T=>{R.push({label:T,value:T})}),y.value=R,u.value=!1}).catch(b=>{u.value=!1})},200),U=(w,b)=>{u.value||(u.value=!0,b==="@"&&$(w))},N=w=>{w.length>200||(a.value=w)},D=w=>{f.value=w},F=w=>{p.value=w},K=async w=>{var b,R;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((b=w.file.file)==null?void 0:b.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((R=w.file.file)==null?void 0:R.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},J=({file:w,event:b})=>{var R;try{let T=JSON.parse((R=b.target)==null?void 0:R.response);T.code===0&&f.value==="public/image"&&P.value.push({id:w.id,content:T.data.content})}catch{window.$message.error("上传失败")}},W=({file:w,event:b})=>{var R;try{let T=JSON.parse((R=b.target)==null?void 0:R.response);if(T.code!==0){let V=T.msg||"上传失败";T.details&&T.details.length>0&&T.details.map(A=>{V+=":"+A}),window.$message.error(V)}}catch{window.$message.error("上传失败")}},G=({file:w})=>{let b=P.value.findIndex(R=>R.id===w.id);b>-1&&P.value.splice(b,1)},t=()=>{_.value=!0},d=()=>{var w;_.value=!1,(w=x.value)==null||w.clear(),p.value=[],a.value="",P.value=[]},L=()=>{if(a.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:w}=ye(a.value);const b=[];let R=100;b.push({content:a.value,type:2,sort:R}),P.value.map(T=>{R++,b.push({content:T.content,type:3,sort:R})}),v.value=!0,nt({contents:b,post_id:n.postId,users:Array.from(new Set(w))}).then(T=>{window.$message.success("发布成功"),v.value=!1,m("post-success"),d()}).catch(T=>{v.value=!1})},se=w=>{i.commit("triggerAuth",!0),i.commit("triggerAuthKey",w)};return ge(()=>{I.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(w,b)=>{const R=he,T=Ut,V=ce,A=Q,re=Nt,ue=jt,pe=at,oe=Mt,de=Lt;return c(),g("div",null,[e(i).state.userInfo.id>0?(c(),g("div",Bs,[h("div",Os,[h("div",Us,[s(R,{round:"",size:30,src:e(i).state.userInfo.avatar},null,8,["src"])]),s(T,{type:"textarea",size:"large",autosize:"",bordered:!1,options:y.value,prefix:["@"],loading:u.value,value:a.value,disabled:n.lock===1,"onUpdate:value":N,onSearch:U,onFocus:t,placeholder:n.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),_.value?(c(),B(de,{key:0,ref_key:"uploadRef",ref:x,abstract:"","list-type":"image",multiple:!0,max:9,action:o,headers:{Authorization:I.value},data:{type:f.value},onBeforeUpload:K,onFinish:J,onError:W,onRemove:G,"onUpdate:fileList":F},{default:l(()=>[h("div",Ns,[h("div",js,[s(re,{abstract:""},{default:l(({handleClick:Z})=>[s(A,{disabled:p.value.length>0&&f.value==="public/video"||p.value.length===9,onClick:()=>{D("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[s(V,{size:"20",color:"var(--primary-color)"},{default:l(()=>[s(e(Ot))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),s(pe,{trigger:"hover",placement:"bottom"},{trigger:l(()=>[s(ue,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:a.value.length/200*100},null,8,["percentage"])]),default:l(()=>[z(" "+S(a.value.length)+" / 200 ",1)]),_:1})]),h("div",Ms,[s(A,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:d},{default:l(()=>[z(" 取消 ")]),_:1}),s(A,{loading:v.value,onClick:L,type:"primary",secondary:"",size:"small",round:""},{default:l(()=>[z(" 发布 ")]),_:1},8,["loading"])])]),h("div",Ls,[s(oe)])]),_:1},8,["headers","data"])):C("",!0)])):(c(),g("div",As,[qs,h("div",Vs,[s(A,{strong:"",secondary:"",round:"",type:"primary",onClick:b[0]||(b[0]=Z=>se("signin"))},{default:l(()=>[z(" 登录 ")]),_:1}),s(A,{strong:"",secondary:"",round:"",type:"info",onClick:b[1]||(b[1]=Z=>se("signup"))},{default:l(()=>[z(" 注册 ")]),_:1})])]))])}}});const Es=te(Ds,[["__scopeId","data-v-20c23f95"]]),Hs={class:"username-wrap"},Fs={key:0,class:"options"},Ks={key:0},Js=["innerHTML"],Ws={class:"timestamp"},Gs={key:0},Qs={key:1},Ys={class:"opts-wrap"},Zs=["onClick"],Xs={class:"opt-item"},eo=["onClick"],to=j({__name:"post-detail",props:{post:null},emits:["reload"],setup(r,{emit:m}){const n=r,i=le(),y=ze(),_=k(!1),u=k(!1),v=k(!1),a=k(!1),x=k(!1),f=k(!1),p=k(!1),P=k(X.PUBLIC),o=H({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},n.post);return t.contents.map(d=>{(+d.type==1||+d.type==2)&&t.texts.push(d),+d.type==3&&t.imgs.push(d),+d.type==4&&t.videos.push(d),+d.type==6&&t.links.push(d),+d.type==7&&t.attachments.push(d),+d.type==8&&t.charge_attachments.push(d)}),t},set:t=>{n.post.upvote_count=t.upvote_count,n.post.comment_count=t.comment_count,n.post.collection_count=t.collection_count}}),I=H(()=>{let t=[{label:"删除",key:"delete"}];return o.value.is_lock===0?t.push({label:"锁定",key:"lock"}):t.push({label:"解锁",key:"unlock"}),i.state.userInfo.is_admin&&(o.value.is_top===0?t.push({label:"置顶",key:"stick"}):t.push({label:"取消置顶",key:"unstick"})),o.value.visibility===X.PUBLIC?t.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):o.value.visibility===X.PRIVATE?t.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):t.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),t}),$=t=>{y.push({name:"post",query:{id:t}})},U=(t,d)=>{if(t.target.dataset.detail){const L=t.target.dataset.detail.split(":");if(L.length===2){i.commit("refresh"),L[0]==="tag"?y.push({name:"home",query:{q:L[1],t:"tag"}}):y.push({name:"user",query:{username:L[1]}});return}}$(d)},N=t=>{switch(t){case"delete":v.value=!0;break;case"lock":case"unlock":a.value=!0;break;case"stick":case"unstick":x.value=!0;break;case"vpublic":P.value=0,f.value=!0;break;case"vprivate":P.value=1,f.value=!0;break;case"vfriend":P.value=2,f.value=!0;break}},D=()=>{ct({id:o.value.id}).then(t=>{window.$message.success("删除成功"),y.replace("/"),setTimeout(()=>{i.commit("refresh")},50)}).catch(t=>{p.value=!1})},F=()=>{rt({id:o.value.id}).then(t=>{m("reload"),t.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(t=>{p.value=!1})},K=()=>{ut({id:o.value.id}).then(t=>{m("reload"),t.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(t=>{p.value=!1})},J=()=>{pt({id:o.value.id,visibility:P.value}).then(t=>{m("reload"),window.$message.success("修改可见性成功")}).catch(t=>{p.value=!1})},W=()=>{dt({id:o.value.id}).then(t=>{_.value=t.status,t.status?o.value={...o.value,upvote_count:o.value.upvote_count+1}:o.value={...o.value,upvote_count:o.value.upvote_count-1}}).catch(t=>{console.log(t)})},G=()=>{_t({id:o.value.id}).then(t=>{u.value=t.status,t.status?o.value={...o.value,collection_count:o.value.collection_count+1}:o.value={...o.value,collection_count:o.value.collection_count-1}}).catch(t=>{console.log(t)})};return ge(()=>{i.state.userInfo.id>0&&(it({id:o.value.id}).then(t=>{_.value=t.status}).catch(t=>{console.log(t)}),lt({id:o.value.id}).then(t=>{u.value=t.status}).catch(t=>{console.log(t)}))}),(t,d)=>{const L=he,se=fe("router-link"),w=mt,b=ce,R=Q,T=vt,V=ft,A=It,re=Se,ue=Rt,pe=Tt,oe=Kt,de=Te,Z=Be;return c(),g("div",{class:"detail-item",onClick:d[6]||(d[6]=M=>$(e(o).id))},[s(Z,null,{avatar:l(()=>[s(L,{round:"",size:30,src:e(o).user.avatar},null,8,["src"])]),header:l(()=>[s(se,{onClick:d[0]||(d[0]=Y(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(o).user.username}}},{default:l(()=>[z(S(e(o).user.nickname),1)]),_:1},8,["to"]),h("span",Hs," @"+S(e(o).user.username),1),e(o).is_top?(c(),B(w,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:l(()=>[z(" 置顶 ")]),_:1})):C("",!0),e(o).visibility==e(X).PRIVATE?(c(),B(w,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:l(()=>[z(" 私密 ")]),_:1})):C("",!0),e(o).visibility==e(X).FRIEND?(c(),B(w,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:l(()=>[z(" 好友可见 ")]),_:1})):C("",!0)]),"header-extra":l(()=>[e(i).state.userInfo.is_admin||e(i).state.userInfo.id===e(o).user.id?(c(),g("div",Fs,[s(T,{placement:"bottom-end",trigger:"click",size:"small",options:e(I),onSelect:N},{default:l(()=>[s(R,{quaternary:"",circle:""},{icon:l(()=>[s(b,null,{default:l(()=>[s(e(At))]),_:1})]),_:1})]),_:1},8,["options"])])):C("",!0),s(V,{show:v.value,"onUpdate:show":d[1]||(d[1]=M=>v.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:D},null,8,["show"]),s(V,{show:a.value,"onUpdate:show":d[2]||(d[2]=M=>a.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(o).is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:F},null,8,["show","content"]),s(V,{show:x.value,"onUpdate:show":d[3]||(d[3]=M=>x.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(o).is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),s(V,{show:f.value,"onUpdate:show":d[4]||(d[4]=M=>f.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(P.value==0?"公开":P.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:J},null,8,["show","content"])]),footer:l(()=>[s(A,{attachments:e(o).attachments},null,8,["attachments"]),s(A,{attachments:e(o).charge_attachments,price:e(o).attachment_price},null,8,["attachments","price"]),s(re,{imgs:e(o).imgs},null,8,["imgs"]),s(ue,{videos:e(o).videos,full:!0},null,8,["videos"]),s(pe,{links:e(o).links},null,8,["links"]),h("div",Ws,[z(" 发布于 "+S(e(ae)(e(o).created_on,e(i).state.collapsedLeft))+" ",1),e(o).ip_loc?(c(),g("span",Gs,[s(oe,{vertical:""}),z(" "+S(e(o).ip_loc),1)])):C("",!0),!e(i).state.collapsedLeft&&e(o).created_on!=e(o).latest_replied_on?(c(),g("span",Qs,[s(oe,{vertical:""}),z(" 最后回复 "+S(e(ae)(e(o).latest_replied_on,e(i).state.collapsedLeft)),1)])):C("",!0)])]),action:l(()=>[h("div",Ys,[s(de,{justify:"space-between"},{default:l(()=>[h("div",{class:"opt-item hover",onClick:Y(W,["stop"])},[s(b,{size:"20",class:"opt-item-icon"},{default:l(()=>[_.value?C("",!0):(c(),B(e(Ct),{key:0})),_.value?(c(),B(e(os),{key:1,color:"red"})):C("",!0)]),_:1}),z(" "+S(e(o).upvote_count),1)],8,Zs),h("div",Xs,[s(b,{size:"20",class:"opt-item-icon"},{default:l(()=>[s(e(Pt))]),_:1}),z(" "+S(e(o).comment_count),1)]),h("div",{class:"opt-item hover",onClick:Y(G,["stop"])},[s(b,{size:"20",class:"opt-item-icon"},{default:l(()=>[u.value?C("",!0):(c(),B(e(zt),{key:0})),u.value?(c(),B(e(Xt),{key:1,color:"#ff7600"})):C("",!0)]),_:1}),z(" "+S(e(o).collection_count),1)],8,eo)]),_:1})])]),default:l(()=>[e(o).texts.length>0?(c(),g("div",Ks,[(c(!0),g(ee,null,ne(e(o).texts,M=>(c(),g("span",{key:M.id,class:"post-text",onClick:d[5]||(d[5]=Y(Me=>U(Me,e(o).id),["stop"])),innerHTML:e(ye)(M.content).content},null,8,Js))),128))])):C("",!0)]),_:1})])}}});const so=r=>(Ie("data-v-c8247a20"),r=r(),Re(),r),oo={key:0,class:"detail-wrap"},no={key:1,class:"empty-wrap"},ao={key:0,class:"comment-opts-wrap"},io=so(()=>h("div",{class:"comment-title-item"},[h("span",{"comment-title-item":""},"评论")],-1)),lo={class:"comment-opt-item"},co={key:2},ro={key:0,class:"skeleton-wrap"},uo={key:1},po={key:0,class:"empty-wrap"},_o=j({__name:"Post",setup(r){const m=kt(),n=k({}),i=k(!1),y=k(!1),_=k([]),u=H(()=>+m.query.id),v=k("default"),a=p=>{v.value=p,f()},x=()=>{n.value={id:0},i.value=!0,gt({id:u.value}).then(p=>{i.value=!1,n.value=p,f()}).catch(p=>{i.value=!1})},f=(p=!1)=>{_.value.length===0&&(y.value=!0),yt({id:n.value.id,sort_strategy:v.value}).then(P=>{_.value=P.list,y.value=!1,p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(P=>{y.value=!1})};return ge(()=>{x()}),ht(u,()=>{u.value>0&&m.name==="post"&&x()}),(p,P)=>{const o=qt,I=to,$=Dt,U=wt,N=Et,D=bt,F=xt,K=Te,J=Es,W=St,G=Ts,t=Vt;return c(),g("div",null,[s(o,{title:"泡泡详情",back:!0}),s(t,{class:"main-content-wrap",bordered:""},{default:l(()=>[s(N,null,{default:l(()=>[s(U,{show:i.value},{default:l(()=>[n.value.id>1?(c(),g("div",oo,[s(I,{post:n.value,onReload:x},null,8,["post"])])):(c(),g("div",no,[s($,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),n.value.id>0?(c(),g("div",ao,[s(K,{justify:"space-between"},{default:l(()=>[io,h("div",lo,[s(F,{type:"bar",size:"small",animated:"","onUpdate:value":a},{default:l(()=>[s(D,{name:"default",tab:"默认"}),s(D,{name:"newest",tab:"最新"})]),_:1})])]),_:1})])):C("",!0),n.value.id>0?(c(),B(N,{key:1},{default:l(()=>[s(J,{lock:n.value.is_lock,"post-id":n.value.id,onPostSuccess:P[0]||(P[0]=d=>f(!0))},null,8,["lock","post-id"])]),_:1})):C("",!0),n.value.id>0?(c(),g("div",co,[y.value?(c(),g("div",ro,[s(W,{num:5})])):(c(),g("div",uo,[_.value.length===0?(c(),g("div",po,[s($,{size:"large",description:"暂无评论,快来抢沙发"})])):C("",!0),(c(!0),g(ee,null,ne(_.value,d=>(c(),B(N,{key:d.id},{default:l(()=>[s(G,{comment:d,onReload:f},null,8,["comment"])]),_:2},1024))),128))]))])):C("",!0)]),_:1})])}}});const Po=te(_o,[["__scopeId","data-v-c8247a20"]]);export{Po as default}; diff --git a/web/dist/assets/Post-2b9ab2ef.css b/web/dist/assets/Post-2b9ab2ef.css new file mode 100644 index 00000000..f08acd96 --- /dev/null +++ b/web/dist/assets/Post-2b9ab2ef.css @@ -0,0 +1 @@ +.reply-compose-wrap .reply-switch[data-v-89bc7a6d]{text-align:right;font-size:12px;margin:10px 0}.reply-compose-wrap .reply-switch .show[data-v-89bc7a6d]{color:#18a058;cursor:pointer}.reply-compose-wrap .reply-switch .hide[data-v-89bc7a6d]{opacity:.75;cursor:pointer}.dark .reply-compose-wrap[data-v-89bc7a6d]{background-color:#101014bf}.reply-item[data-v-c486479f]{display:flex;flex-direction:column;font-size:12px;padding:8px;border-bottom:1px solid #f3f3f3}.reply-item .header-wrap[data-v-c486479f]{display:flex;align-items:center;justify-content:space-between}.reply-item .header-wrap .username[data-v-c486479f]{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .header-wrap .username .reply-name[data-v-c486479f]{margin:0 3px;opacity:.75}.reply-item .header-wrap .timestamp[data-v-c486479f]{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-c486479f]{display:flex}.reply-item .base-wrap .content[data-v-c486479f]{width:calc(100% - 40px);margin-top:4px;font-size:12px;text-align:justify;line-height:2}.reply-item .base-wrap .reply-switch[data-v-c486479f]{width:40px;text-align:right;font-size:12px;margin:10px 0 0}.reply-item .base-wrap .reply-switch .show[data-v-c486479f]{color:#18a058;cursor:pointer}.reply-item .base-wrap .reply-switch .hide[data-v-c486479f]{opacity:.75;cursor:pointer}.dark .reply-item[data-v-c486479f]{border-bottom:1px solid #262628;background-color:#101014bf}.comment-item[data-v-02db83b3]{width:100%;padding:16px;box-sizing:border-box}.comment-item .nickname-wrap[data-v-02db83b3]{font-size:14px}.comment-item .username-wrap[data-v-02db83b3]{font-size:14px;opacity:.75}.comment-item .opt-wrap[data-v-02db83b3]{display:flex;align-items:center}.comment-item .opt-wrap .timestamp[data-v-02db83b3]{opacity:.75;font-size:12px}.comment-item .opt-wrap .del-btn[data-v-02db83b3]{margin-left:4px}.comment-item .comment-text[data-v-02db83b3]{display:block;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.comment-item .opt-item[data-v-02db83b3]{display:flex;align-items:center;opacity:.7}.comment-item .opt-item .opt-item-icon[data-v-02db83b3]{margin-right:10px}.reply-wrap[data-v-02db83b3]{margin-top:10px;border-radius:5px;background:#fafafc}.reply-wrap .reply-item[data-v-02db83b3]:last-child{border-bottom:none}.dark .reply-wrap[data-v-02db83b3]{background:#18181c}.dark .comment-item[data-v-02db83b3]{background-color:#101014bf}.compose-wrap[data-v-20c23f95]{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line[data-v-20c23f95]{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user[data-v-20c23f95]{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options[data-v-20c23f95]{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap[data-v-20c23f95]{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .cancel-btn[data-v-20c23f95]{margin-right:8px}.compose-wrap .login-wrap[data-v-20c23f95]{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner[data-v-20c23f95]{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button[data-v-20c23f95]{margin:0 4px}.attachment[data-v-20c23f95]{display:flex;align-items:center}.attachment .text-statistic[data-v-20c23f95]{margin-left:8px;width:18px;height:18px;transform:rotate(180deg)}.attachment-list-wrap[data-v-20c23f95]{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail[data-v-20c23f95]{overflow:hidden}.dark .compose-mention[data-v-20c23f95],.dark .compose-wrap[data-v-20c23f95]{background-color:#101014bf}.detail-item{width:100%;padding:16px;box-sizing:border-box;background:#f7f9f9}.detail-item .nickname-wrap{font-size:14px}.detail-item .username-wrap{font-size:14px;opacity:.75}.detail-item .top-tag{transform:scale(.75)}.detail-item .options{opacity:.75}.detail-item .post-text{font-size:16px;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.detail-item .opts-wrap{margin-top:20px}.detail-item .opts-wrap .opt-item{display:flex;align-items:center;opacity:.7}.detail-item .opts-wrap .opt-item .opt-item-icon{margin-right:10px}.detail-item .opts-wrap .opt-item.hover{cursor:pointer}.detail-item .n-thing .n-thing-avatar-header-wrapper{align-items:center}.detail-item .timestamp{opacity:.75;font-size:12px;margin-top:10px}.dark .detail-item{background:#18181c}.detail-wrap[data-v-c8247a20]{min-height:100px}.comment-opts-wrap[data-v-c8247a20]{margin-top:6px}.comment-opts-wrap .comment-opt-item[data-v-c8247a20]{display:flex;padding-left:16px;padding-right:16px;align-items:center;opacity:.75}.comment-opts-wrap .comment-title-item[data-v-c8247a20]{padding-left:16px;padding-top:4px;font-size:16px;text-align:center;opacity:.75}.dark .main-content-wrap[data-v-c8247a20],.dark .skeleton-wrap[data-v-c8247a20]{background-color:#101014bf} diff --git a/web/dist/assets/Post-382cf629.css b/web/dist/assets/Post-382cf629.css deleted file mode 100644 index 00871da1..00000000 --- a/web/dist/assets/Post-382cf629.css +++ /dev/null @@ -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} diff --git a/web/dist/assets/Post-abdce3fa.js b/web/dist/assets/Post-abdce3fa.js deleted file mode 100644 index c714b75d..00000000 --- a/web/dist/assets/Post-abdce3fa.js +++ /dev/null @@ -1,57 +0,0 @@ -import{c as me,a as _e,f as L,e as E,d as j,u as ve,x as ie,am as Ae,y as H,A as Pe,h as O,ab as ee,n as qe,J as ke,q as Le,t as we,L as be,K as Q,B as Ve,N as De,an as Ee,ao as He,b as xe,ap as Fe,r as k,p as Ke,aq as Je,ar as We,as as Ge,at as Qe,w as $e,W as c,Y as g,Z as h,au as Ye,a7 as C,a4 as s,a5 as i,a9 as z,av as Ze,_ as Xe,al as te,$ as le,aw as fe,aa as S,a6 as B,a3 as e,ax as et,af as ce,ak as ze,ay as tt,ac as ne,a8 as Y,az as st,ae as he,a0 as ot,a2 as ge,aA as nt,ag as at,aB as Ie,aC as Re,aD as it,aE as lt,aF as ct,aG as rt,aH as ut,aI as pt,aJ as dt,aK as _t,aL as mt,aM as vt,aN as ft,ah as Te,S as ht,aO as gt,aP as yt,ai as kt,aQ as wt,aR as bt,aS as xt}from"./index-c17d3913.js";import{_ as $t}from"./InputGroup-97df1a51.js";import{f as ae}from"./formatTime-09781e30.js";import{p as ye,_ as Se,H as Ct,C as Pt,B as zt,a as It,b as Rt,c as Tt}from"./content-c9c72716.js";import{_ as Be}from"./Thing-2157b754.js";import{_ as St}from"./post-skeleton-40e81755.js";import{l as Bt,I as Ot,_ as Ut,V as X}from"./IEnum-2acc8be7.js";import{_ as Nt,a as jt,b as Mt,c as At}from"./Upload-f8f7ade2.js";import{M as qt}from"./MoreHorizFilled-6e21ff10.js";import{_ as Lt}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";import{_ as Vt}from"./List-28c5febd.js";import{a as Dt,_ as Et}from"./Skeleton-ca436747.js";const Ht=me("divider",` - position: relative; - display: flex; - width: 100%; - box-sizing: border-box; - font-size: 16px; - color: var(--n-text-color); - transition: - color .3s var(--n-bezier), - background-color .3s var(--n-bezier); -`,[_e("vertical",` - margin-top: 24px; - margin-bottom: 24px; - `,[_e("no-title",` - display: flex; - align-items: center; - `)]),L("title",` - display: flex; - align-items: center; - margin-left: 12px; - margin-right: 12px; - white-space: nowrap; - font-weight: var(--n-font-weight); - `),E("title-position-left",[L("line",[E("left",{width:"28px"})])]),E("title-position-right",[L("line",[E("right",{width:"28px"})])]),E("dashed",[L("line",` - background-color: #0000; - height: 0px; - width: 100%; - border-style: dashed; - border-width: 1px 0 0; - `)]),E("vertical",` - display: inline-block; - height: 1em; - margin: 0 8px; - vertical-align: middle; - width: 1px; - `),L("line",` - border: none; - transition: background-color .3s var(--n-bezier), border-color .3s var(--n-bezier); - height: 1px; - width: 100%; - margin: 0; - `),_e("dashed",[L("line",{backgroundColor:"var(--n-color)"})]),E("dashed",[L("line",{borderColor:"var(--n-color)"})]),E("vertical",{backgroundColor:"var(--n-color)"})]),Ft=Object.assign(Object.assign({},ie.props),{titlePlacement:{type:String,default:"center"},dashed:Boolean,vertical:Boolean}),Kt=j({name:"Divider",props:Ft,setup(r){const{mergedClsPrefixRef:m,inlineThemeDisabled:n}=ve(r),l=ie("Divider","-divider",Ht,Ae,r,m),y=H(()=>{const{common:{cubicBezierEaseInOut:u},self:{color:v,textColor:a,fontWeight:x}}=l.value;return{"--n-bezier":u,"--n-color":v,"--n-text-color":a,"--n-font-weight":x}}),_=n?Pe("divider",void 0,y,r):void 0;return{mergedClsPrefix:m,cssVars:n?void 0:y,themeClass:_==null?void 0:_.themeClass,onRender:_==null?void 0:_.onRender}},render(){var r;const{$slots:m,titlePlacement:n,vertical:l,dashed:y,cssVars:_,mergedClsPrefix:u}=this;return(r=this.onRender)===null||r===void 0||r.call(this),O("div",{role:"separator",class:[`${u}-divider`,this.themeClass,{[`${u}-divider--vertical`]:l,[`${u}-divider--no-title`]:!m.default,[`${u}-divider--dashed`]:y,[`${u}-divider--title-position-${n}`]:m.default&&n}],style:_},l?null:O("div",{class:`${u}-divider__line ${u}-divider__line--left`}),!l&&m.default?O(ee,null,O("div",{class:`${u}-divider__title`},this.$slots),O("div",{class:`${u}-divider__line ${u}-divider__line--right`})):null)}}),Oe=qe("n-popconfirm"),Ue={positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},onPositiveClick:{type:Function,required:!0},onNegativeClick:{type:Function,required:!0}},Ce=He(Ue),Jt=j({name:"NPopconfirmPanel",props:Ue,setup(r){const{localeRef:m}=ke("Popconfirm"),{inlineThemeDisabled:n}=ve(),{mergedClsPrefixRef:l,mergedThemeRef:y,props:_}=Le(Oe),u=H(()=>{const{common:{cubicBezierEaseInOut:a},self:{fontSize:x,iconSize:f,iconColor:p}}=y.value;return{"--n-bezier":a,"--n-font-size":x,"--n-icon-size":f,"--n-icon-color":p}}),v=n?Pe("popconfirm-panel",void 0,u,_):void 0;return Object.assign(Object.assign({},ke("Popconfirm")),{mergedClsPrefix:l,cssVars:n?void 0:u,localizedPositiveText:H(()=>r.positiveText||m.value.positiveText),localizedNegativeText:H(()=>r.negativeText||m.value.negativeText),positiveButtonProps:we(_,"positiveButtonProps"),negativeButtonProps:we(_,"negativeButtonProps"),handlePositiveClick(a){r.onPositiveClick(a)},handleNegativeClick(a){r.onNegativeClick(a)},themeClass:v==null?void 0:v.themeClass,onRender:v==null?void 0:v.onRender})},render(){var r;const{mergedClsPrefix:m,showIcon:n,$slots:l}=this,y=be(l.action,()=>this.negativeText===null&&this.positiveText===null?[]:[this.negativeText!==null&&O(Q,Object.assign({size:"small",onClick:this.handleNegativeClick},this.negativeButtonProps),{default:()=>this.localizedNegativeText}),this.positiveText!==null&&O(Q,Object.assign({size:"small",type:"primary",onClick:this.handlePositiveClick},this.positiveButtonProps),{default:()=>this.localizedPositiveText})]);return(r=this.onRender)===null||r===void 0||r.call(this),O("div",{class:[`${m}-popconfirm__panel`,this.themeClass],style:this.cssVars},Ve(l.default,_=>n||_?O("div",{class:`${m}-popconfirm__body`},n?O("div",{class:`${m}-popconfirm__icon`},be(l.icon,()=>[O(De,{clsPrefix:m},{default:()=>O(Ee,null)})])):null,_):null),y?O("div",{class:[`${m}-popconfirm__action`]},y):null)}}),Wt=me("popconfirm",[L("body",` - font-size: var(--n-font-size); - display: flex; - align-items: center; - flex-wrap: nowrap; - position: relative; - `,[L("icon",` - display: flex; - font-size: var(--n-icon-size); - color: var(--n-icon-color); - transition: color .3s var(--n-bezier); - margin: 0 8px 0 0; - `)]),L("action",` - display: flex; - justify-content: flex-end; - `,[xe("&:not(:first-child)","margin-top: 8px"),me("button",[xe("&:not(:last-child)","margin-right: 8px;")])])]),Gt=Object.assign(Object.assign(Object.assign({},ie.props),Qe),{positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},trigger:{type:String,default:"click"},positiveButtonProps:Object,negativeButtonProps:Object,onPositiveClick:Function,onNegativeClick:Function}),Ne=j({name:"Popconfirm",props:Gt,__popover__:!0,setup(r){const{mergedClsPrefixRef:m}=ve(),n=ie("Popconfirm","-popconfirm",Wt,Fe,r,m),l=k(null);function y(v){const{onPositiveClick:a,"onUpdate:show":x}=r;Promise.resolve(a?a(v):!0).then(f=>{var p;f!==!1&&((p=l.value)===null||p===void 0||p.setShow(!1),x&&$e(x,!1))})}function _(v){const{onNegativeClick:a,"onUpdate:show":x}=r;Promise.resolve(a?a(v):!0).then(f=>{var p;f!==!1&&((p=l.value)===null||p===void 0||p.setShow(!1),x&&$e(x,!1))})}return Ke(Oe,{mergedThemeRef:n,mergedClsPrefixRef:m,props:r}),Object.assign(Object.assign({},{setShow(v){var a;(a=l.value)===null||a===void 0||a.setShow(v)},syncPosition(){var v;(v=l.value)===null||v===void 0||v.syncPosition()}}),{mergedTheme:n,popoverInstRef:l,handlePositiveClick:y,handleNegativeClick:_})},render(){const{$slots:r,$props:m,mergedTheme:n}=this;return O(Ge,We(m,Ce,{theme:n.peers.Popover,themeOverrides:n.peerOverrides.Popover,internalExtraClass:["popconfirm"],ref:"popoverInstRef"}),{trigger:r.activator||r.trigger,default:()=>{const l=Je(m,Ce);return O(Jt,Object.assign(Object.assign({},l),{onPositiveClick:this.handlePositiveClick,onNegativeClick:this.handleNegativeClick}),r)}})}}),Qt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Yt=h("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),Zt=[Yt],Xt=j({name:"Bookmark",render:function(m,n){return c(),g("svg",Qt,Zt)}}),es={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ts=h("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),ss=[ts],os=j({name:"Heart",render:function(m,n){return c(),g("svg",es,ss)}}),ns={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},as=Ye('',1),is=[as],je=j({name:"Trash",render:function(m,n){return c(),g("svg",ns,is)}}),ls={class:"reply-compose-wrap"},cs={class:"reply-switch"},rs={key:0,class:"reply-input-wrap"},us=j({__name:"compose-reply",props:{commentId:{default:0},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(r,{expose:m,emit:n}){const l=r,y=k(),_=k(!1),u=k(""),v=k(!1),a=f=>{_.value=f,f?setTimeout(()=>{var p;(p=y.value)==null||p.focus()},10):(v.value=!1,u.value="",n("reset"))},x=()=>{v.value=!0,Ze({comment_id:l.commentId,at_user_id:l.atUserid,content:u.value}).then(f=>{a(!1),window.$message.success("评论成功"),n("reload")}).catch(f=>{v.value=!1})};return m({switchReply:a}),(f,p)=>{const P=Xe,o=Q,I=$t;return c(),g("div",ls,[h("div",cs,[_.value?C("",!0):(c(),g("span",{key:0,class:"show",onClick:p[0]||(p[0]=$=>a(!0))}," 回复 ")),_.value?(c(),g("span",{key:1,class:"hide",onClick:p[1]||(p[1]=$=>a(!1))}," 取消 ")):C("",!0)]),_.value?(c(),g("div",rs,[s(I,null,{default:i(()=>[s(P,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:l.atUsername?"@"+l.atUsername:"请输入回复内容..",maxlength:"100",value:u.value,"onUpdate:value":p[2]||(p[2]=$=>u.value=$),"show-count":"",clearable:""},null,8,["placeholder","value"]),s(o,{type:"primary",size:"small",ghost:"",loading:v.value,onClick:x},{default:i(()=>[z(" 回复 ")]),_:1},8,["loading"])]),_:1})])):C("",!0)])}}});const ps=te(us,[["__scopeId","data-v-e5019121"]]),ds={class:"reply-item"},_s={class:"header-wrap"},ms={class:"username"},vs={class:"reply-name"},fs={class:"timestamp"},hs={class:"base-wrap"},gs={class:"content"},ys={key:0,class:"reply-switch"},ks=j({__name:"reply-item",props:{reply:null},emits:["focusReply","reload"],setup(r,{emit:m}){const n=r,l=le(),y=()=>{m("focusReply",n.reply)},_=()=>{et({id:n.reply.id}).then(u=>{window.$message.success("删除成功"),setTimeout(()=>{m("reload")},50)}).catch(u=>{console.log(u)})};return(u,v)=>{const a=fe("router-link"),x=ce,f=Q,p=Ne;return c(),g("div",ds,[h("div",_s,[h("div",ms,[s(a,{class:"user-link",to:{name:"user",query:{username:n.reply.user.username}}},{default:i(()=>[z(S(n.reply.user.username),1)]),_:1},8,["to"]),h("span",vs,S(n.reply.at_user_id>0?"回复":":"),1),n.reply.at_user_id>0?(c(),B(a,{key:0,class:"user-link",to:{name:"user",query:{username:n.reply.at_user.username}}},{default:i(()=>[z(S(n.reply.at_user.username),1)]),_:1},8,["to"])):C("",!0)]),h("div",fs,[z(S(n.reply.ip_loc?n.reply.ip_loc+" · ":n.reply.ip_loc)+" "+S(e(ae)(n.reply.created_on))+" ",1),e(l).state.userInfo.is_admin||e(l).state.userInfo.id===n.reply.user.id?(c(),B(p,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:_},{trigger:i(()=>[s(f,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:i(()=>[s(x,null,{default:i(()=>[s(e(je))]),_:1})]),_:1})]),default:i(()=>[z(" 是否确认删除? ")]),_:1})):C("",!0)])]),h("div",hs,[h("div",gs,S(n.reply.content),1),e(l).state.userInfo.id>0?(c(),g("div",ys,[h("span",{class:"show",onClick:y}," 回复 ")])):C("",!0)])])}}});const ws=te(ks,[["__scopeId","data-v-25221b2c"]]),bs={class:"comment-item"},xs={class:"nickname-wrap"},$s={class:"username-wrap"},Cs={class:"opt-wrap"},Ps={class:"timestamp"},zs=["innerHTML"],Is={class:"reply-wrap"},Rs=j({__name:"comment-item",props:{comment:null},emits:["reload"],setup(r,{emit:m}){const n=r,l=le(),y=ze(),_=k(0),u=k(""),v=k(),a=H(()=>{let I=Object.assign({texts:[],imgs:[]},n.comment);return I.contents.map($=>{(+$.type==1||+$.type==2)&&I.texts.push($),+$.type==3&&I.imgs.push($)}),I}),x=(I,$)=>{let U=I.target;if(U.dataset.detail){const N=U.dataset.detail.split(":");N.length===2&&(l.commit("refresh"),N[0]==="tag"?window.$message.warning("评论内的无效话题"):y.push({name:"user",query:{username:N[1]}}))}},f=I=>{var $,U;_.value=I.user_id,u.value=(($=I.user)==null?void 0:$.username)||"",(U=v.value)==null||U.switchReply(!0)},p=()=>{m("reload")},P=()=>{_.value=0,u.value=""},o=()=>{st({id:a.value.id}).then(I=>{window.$message.success("删除成功"),setTimeout(()=>{p()},50)}).catch(I=>{})};return(I,$)=>{const U=he,N=fe("router-link"),D=ce,F=Q,K=Ne,J=Se,W=ws,G=ps,t=Be;return c(),g("div",bs,[s(t,{"content-indented":""},tt({avatar:i(()=>[s(U,{round:"",size:30,src:e(a).user.avatar},null,8,["src"])]),header:i(()=>[h("span",xs,[s(N,{onClick:$[0]||($[0]=Y(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(a).user.username}}},{default:i(()=>[z(S(e(a).user.nickname),1)]),_:1},8,["to"])]),h("span",$s," @"+S(e(a).user.username),1)]),"header-extra":i(()=>[h("div",Cs,[h("span",Ps,S(e(a).ip_loc?e(a).ip_loc+" · ":e(a).ip_loc)+" "+S(e(ae)(e(a).created_on)),1),e(l).state.userInfo.is_admin||e(l).state.userInfo.id===e(a).user.id?(c(),B(K,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:o},{trigger:i(()=>[s(F,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:i(()=>[s(D,null,{default:i(()=>[s(e(je))]),_:1})]),_:1})]),default:i(()=>[z(" 是否确认删除? ")]),_:1})):C("",!0)])]),footer:i(()=>[e(a).imgs.length>0?(c(),B(J,{key:0,imgs:e(a).imgs},null,8,["imgs"])):C("",!0),h("div",Is,[(c(!0),g(ee,null,ne(e(a).replies,d=>(c(),B(W,{key:d.id,reply:d,onFocusReply:f,onReload:p},null,8,["reply"]))),128))]),e(l).state.userInfo.id>0?(c(),B(G,{key:1,ref_key:"replyComposeRef",ref:v,"comment-id":e(a).id,"at-userid":_.value,"at-username":u.value,onReload:p,onReset:P},null,8,["comment-id","at-userid","at-username"])):C("",!0)]),_:2},[e(a).texts.length>0?{name:"description",fn:i(()=>[(c(!0),g(ee,null,ne(e(a).texts,d=>(c(),g("span",{key:d.id,class:"comment-text",onClick:$[1]||($[1]=Y(A=>x(A,e(a).id),["stop"])),innerHTML:e(ye)(d.content).content},null,8,zs))),128))]),key:"0"}:void 0]),1024)])}}});const Ts=te(Rs,[["__scopeId","data-v-d4d44282"]]),Ss=r=>(Ie("data-v-f617ba05"),r=r(),Re(),r),Bs={key:0,class:"compose-wrap"},Os={class:"compose-line"},Us={class:"compose-user"},Ns={class:"compose-line compose-options"},js={class:"attachment"},Ms={class:"submit-wrap"},As={class:"attachment-list-wrap"},qs={key:1,class:"compose-wrap"},Ls=Ss(()=>h("div",{class:"login-wrap"},[h("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Vs={class:"login-wrap"},Ds=j({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(r,{emit:m}){const n=r,l=le(),y=k([]),_=k(!1),u=k(!1),v=k(!1),a=k(""),x=k(),f=k("public/image"),p=k([]),P=k([]),o="/v1/attachment",I=k(),$=Bt.debounce(w=>{ot({k:w}).then(b=>{let R=[];b.suggest.map(T=>{R.push({label:T,value:T})}),y.value=R,u.value=!1}).catch(b=>{u.value=!1})},200),U=(w,b)=>{u.value||(u.value=!0,b==="@"&&$(w))},N=w=>{w.length>200||(a.value=w)},D=w=>{f.value=w},F=w=>{p.value=w},K=async w=>{var b,R;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((b=w.file.file)==null?void 0:b.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((R=w.file.file)==null?void 0:R.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},J=({file:w,event:b})=>{var R;try{let T=JSON.parse((R=b.target)==null?void 0:R.response);T.code===0&&f.value==="public/image"&&P.value.push({id:w.id,content:T.data.content})}catch{window.$message.error("上传失败")}},W=({file:w,event:b})=>{var R;try{let T=JSON.parse((R=b.target)==null?void 0:R.response);if(T.code!==0){let V=T.msg||"上传失败";T.details&&T.details.length>0&&T.details.map(q=>{V+=":"+q}),window.$message.error(V)}}catch{window.$message.error("上传失败")}},G=({file:w})=>{let b=P.value.findIndex(R=>R.id===w.id);b>-1&&P.value.splice(b,1)},t=()=>{_.value=!0},d=()=>{var w;_.value=!1,(w=x.value)==null||w.clear(),p.value=[],a.value="",P.value=[]},A=()=>{if(a.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:w}=ye(a.value);const b=[];let R=100;b.push({content:a.value,type:2,sort:R}),P.value.map(T=>{R++,b.push({content:T.content,type:3,sort:R})}),v.value=!0,nt({contents:b,post_id:n.postId,users:Array.from(new Set(w))}).then(T=>{window.$message.success("发布成功"),v.value=!1,m("post-success"),d()}).catch(T=>{v.value=!1})},se=w=>{l.commit("triggerAuth",!0),l.commit("triggerAuthKey",w)};return ge(()=>{I.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(w,b)=>{const R=he,T=Ut,V=ce,q=Q,re=Nt,ue=jt,pe=at,oe=Mt,de=At;return c(),g("div",null,[e(l).state.userInfo.id>0?(c(),g("div",Bs,[h("div",Os,[h("div",Us,[s(R,{round:"",size:30,src:e(l).state.userInfo.avatar},null,8,["src"])]),s(T,{type:"textarea",size:"large",autosize:"",bordered:!1,options:y.value,prefix:["@"],loading:u.value,value:a.value,disabled:n.lock===1,"onUpdate:value":N,onSearch:U,onFocus:t,placeholder:n.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),_.value?(c(),B(de,{key:0,ref_key:"uploadRef",ref:x,abstract:"","list-type":"image",multiple:!0,max:9,action:o,headers:{Authorization:I.value},data:{type:f.value},onBeforeUpload:K,onFinish:J,onError:W,onRemove:G,"onUpdate:fileList":F},{default:i(()=>[h("div",Ns,[h("div",js,[s(re,{abstract:""},{default:i(({handleClick:Z})=>[s(q,{disabled:p.value.length>0&&f.value==="public/video"||p.value.length===9,onClick:()=>{D("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[s(V,{size:"20",color:"var(--primary-color)"},{default:i(()=>[s(e(Ot))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),s(pe,{trigger:"hover",placement:"bottom"},{trigger:i(()=>[s(ue,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:a.value.length/200*100},null,8,["percentage"])]),default:i(()=>[z(" "+S(a.value.length)+" / 200 ",1)]),_:1})]),h("div",Ms,[s(q,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:d},{default:i(()=>[z(" 取消 ")]),_:1}),s(q,{loading:v.value,onClick:A,type:"primary",secondary:"",size:"small",round:""},{default:i(()=>[z(" 发布 ")]),_:1},8,["loading"])])]),h("div",As,[s(oe)])]),_:1},8,["headers","data"])):C("",!0)])):(c(),g("div",qs,[Ls,h("div",Vs,[s(q,{strong:"",secondary:"",round:"",type:"primary",onClick:b[0]||(b[0]=Z=>se("signin"))},{default:i(()=>[z(" 登录 ")]),_:1}),s(q,{strong:"",secondary:"",round:"",type:"info",onClick:b[1]||(b[1]=Z=>se("signup"))},{default:i(()=>[z(" 注册 ")]),_:1})])]))])}}});const Es=te(Ds,[["__scopeId","data-v-f617ba05"]]),Hs={class:"username-wrap"},Fs={key:0,class:"options"},Ks={key:0},Js=["innerHTML"],Ws={class:"timestamp"},Gs={key:0},Qs={key:1},Ys={class:"opts-wrap"},Zs=["onClick"],Xs={class:"opt-item"},eo=["onClick"],to=j({__name:"post-detail",props:{post:null},emits:["reload"],setup(r,{emit:m}){const n=r,l=le(),y=ze(),_=k(!1),u=k(!1),v=k(!1),a=k(!1),x=k(!1),f=k(!1),p=k(!1),P=k(X.PUBLIC),o=H({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},n.post);return t.contents.map(d=>{(+d.type==1||+d.type==2)&&t.texts.push(d),+d.type==3&&t.imgs.push(d),+d.type==4&&t.videos.push(d),+d.type==6&&t.links.push(d),+d.type==7&&t.attachments.push(d),+d.type==8&&t.charge_attachments.push(d)}),t},set:t=>{n.post.upvote_count=t.upvote_count,n.post.comment_count=t.comment_count,n.post.collection_count=t.collection_count}}),I=H(()=>{let t=[{label:"删除",key:"delete"}];return o.value.is_lock===0?t.push({label:"锁定",key:"lock"}):t.push({label:"解锁",key:"unlock"}),l.state.userInfo.is_admin&&(o.value.is_top===0?t.push({label:"置顶",key:"stick"}):t.push({label:"取消置顶",key:"unstick"})),o.value.visibility===X.PUBLIC?t.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):o.value.visibility===X.PRIVATE?t.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):t.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),t}),$=t=>{y.push({name:"post",query:{id:t}})},U=(t,d)=>{if(t.target.dataset.detail){const A=t.target.dataset.detail.split(":");if(A.length===2){l.commit("refresh"),A[0]==="tag"?y.push({name:"home",query:{q:A[1],t:"tag"}}):y.push({name:"user",query:{username:A[1]}});return}}$(d)},N=t=>{switch(t){case"delete":v.value=!0;break;case"lock":case"unlock":a.value=!0;break;case"stick":case"unstick":x.value=!0;break;case"vpublic":P.value=0,f.value=!0;break;case"vprivate":P.value=1,f.value=!0;break;case"vfriend":P.value=2,f.value=!0;break}},D=()=>{ct({id:o.value.id}).then(t=>{window.$message.success("删除成功"),y.replace("/"),setTimeout(()=>{l.commit("refresh")},50)}).catch(t=>{p.value=!1})},F=()=>{rt({id:o.value.id}).then(t=>{m("reload"),t.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(t=>{p.value=!1})},K=()=>{ut({id:o.value.id}).then(t=>{m("reload"),t.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(t=>{p.value=!1})},J=()=>{pt({id:o.value.id,visibility:P.value}).then(t=>{m("reload"),window.$message.success("修改可见性成功")}).catch(t=>{p.value=!1})},W=()=>{dt({id:o.value.id}).then(t=>{_.value=t.status,t.status?o.value={...o.value,upvote_count:o.value.upvote_count+1}:o.value={...o.value,upvote_count:o.value.upvote_count-1}}).catch(t=>{console.log(t)})},G=()=>{_t({id:o.value.id}).then(t=>{u.value=t.status,t.status?o.value={...o.value,collection_count:o.value.collection_count+1}:o.value={...o.value,collection_count:o.value.collection_count-1}}).catch(t=>{console.log(t)})};return ge(()=>{l.state.userInfo.id>0&&(it({id:o.value.id}).then(t=>{_.value=t.status}).catch(t=>{console.log(t)}),lt({id:o.value.id}).then(t=>{u.value=t.status}).catch(t=>{console.log(t)}))}),(t,d)=>{const A=he,se=fe("router-link"),w=mt,b=ce,R=Q,T=vt,V=ft,q=It,re=Se,ue=Rt,pe=Tt,oe=Kt,de=Te,Z=Be;return c(),g("div",{class:"detail-item",onClick:d[6]||(d[6]=M=>$(e(o).id))},[s(Z,null,{avatar:i(()=>[s(A,{round:"",size:30,src:e(o).user.avatar},null,8,["src"])]),header:i(()=>[s(se,{onClick:d[0]||(d[0]=Y(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(o).user.username}}},{default:i(()=>[z(S(e(o).user.nickname),1)]),_:1},8,["to"]),h("span",Hs," @"+S(e(o).user.username),1),e(o).is_top?(c(),B(w,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:i(()=>[z(" 置顶 ")]),_:1})):C("",!0),e(o).visibility==e(X).PRIVATE?(c(),B(w,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:i(()=>[z(" 私密 ")]),_:1})):C("",!0),e(o).visibility==e(X).FRIEND?(c(),B(w,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:i(()=>[z(" 好友可见 ")]),_:1})):C("",!0)]),"header-extra":i(()=>[e(l).state.userInfo.is_admin||e(l).state.userInfo.id===e(o).user.id?(c(),g("div",Fs,[s(T,{placement:"bottom-end",trigger:"click",size:"small",options:e(I),onSelect:N},{default:i(()=>[s(R,{quaternary:"",circle:""},{icon:i(()=>[s(b,null,{default:i(()=>[s(e(qt))]),_:1})]),_:1})]),_:1},8,["options"])])):C("",!0),s(V,{show:v.value,"onUpdate:show":d[1]||(d[1]=M=>v.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:D},null,8,["show"]),s(V,{show:a.value,"onUpdate:show":d[2]||(d[2]=M=>a.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(o).is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:F},null,8,["show","content"]),s(V,{show:x.value,"onUpdate:show":d[3]||(d[3]=M=>x.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(o).is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),s(V,{show:f.value,"onUpdate:show":d[4]||(d[4]=M=>f.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(P.value==0?"公开":P.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:J},null,8,["show","content"])]),footer:i(()=>[s(q,{attachments:e(o).attachments},null,8,["attachments"]),s(q,{attachments:e(o).charge_attachments,price:e(o).attachment_price},null,8,["attachments","price"]),s(re,{imgs:e(o).imgs},null,8,["imgs"]),s(ue,{videos:e(o).videos,full:!0},null,8,["videos"]),s(pe,{links:e(o).links},null,8,["links"]),h("div",Ws,[z(" 发布于 "+S(e(ae)(e(o).created_on))+" ",1),e(o).ip_loc?(c(),g("span",Gs,[s(oe,{vertical:""}),z(" "+S(e(o).ip_loc),1)])):C("",!0),e(o).created_on!=e(o).latest_replied_on?(c(),g("span",Qs,[s(oe,{vertical:""}),z(" 最后回复 "+S(e(ae)(e(o).latest_replied_on)),1)])):C("",!0)])]),action:i(()=>[h("div",Ys,[s(de,{justify:"space-between"},{default:i(()=>[h("div",{class:"opt-item hover",onClick:Y(W,["stop"])},[s(b,{size:"20",class:"opt-item-icon"},{default:i(()=>[_.value?C("",!0):(c(),B(e(Ct),{key:0})),_.value?(c(),B(e(os),{key:1,color:"red"})):C("",!0)]),_:1}),z(" "+S(e(o).upvote_count),1)],8,Zs),h("div",Xs,[s(b,{size:"20",class:"opt-item-icon"},{default:i(()=>[s(e(Pt))]),_:1}),z(" "+S(e(o).comment_count),1)]),h("div",{class:"opt-item hover",onClick:Y(G,["stop"])},[s(b,{size:"20",class:"opt-item-icon"},{default:i(()=>[u.value?C("",!0):(c(),B(e(zt),{key:0})),u.value?(c(),B(e(Xt),{key:1,color:"#ff7600"})):C("",!0)]),_:1}),z(" "+S(e(o).collection_count),1)],8,eo)]),_:1})])]),default:i(()=>[e(o).texts.length>0?(c(),g("div",Ks,[(c(!0),g(ee,null,ne(e(o).texts,M=>(c(),g("span",{key:M.id,class:"post-text",onClick:d[5]||(d[5]=Y(Me=>U(Me,e(o).id),["stop"])),innerHTML:e(ye)(M.content).content},null,8,Js))),128))])):C("",!0)]),_:1})])}}});const so=r=>(Ie("data-v-9f8ff949"),r=r(),Re(),r),oo={key:0,class:"detail-wrap"},no={key:1,class:"empty-wrap"},ao={key:0,class:"comment-opts-wrap"},io=so(()=>h("div",{class:"comment-title-item"},[h("span",{"comment-title-item":""},"评论")],-1)),lo={class:"comment-opt-item"},co={key:2},ro={key:0,class:"skeleton-wrap"},uo={key:1},po={key:0,class:"empty-wrap"},_o=j({__name:"Post",setup(r){const m=kt(),n=k({}),l=k(!1),y=k(!1),_=k([]),u=H(()=>+m.query.id),v=k("default"),a=p=>{v.value=p,f()},x=()=>{n.value={id:0},l.value=!0,gt({id:u.value}).then(p=>{l.value=!1,n.value=p,f()}).catch(p=>{l.value=!1})},f=(p=!1)=>{_.value.length===0&&(y.value=!0),yt({id:n.value.id,sort_strategy:v.value}).then(P=>{_.value=P.list,y.value=!1,p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(P=>{y.value=!1})};return ge(()=>{x()}),ht(u,()=>{u.value>0&&m.name==="post"&&x()}),(p,P)=>{const o=Lt,I=to,$=Dt,U=wt,N=Et,D=bt,F=xt,K=Te,J=Es,W=St,G=Ts,t=Vt;return c(),g("div",null,[s(o,{title:"泡泡详情",back:!0}),s(t,{class:"main-content-wrap",bordered:""},{default:i(()=>[s(N,null,{default:i(()=>[s(U,{show:l.value},{default:i(()=>[n.value.id>1?(c(),g("div",oo,[s(I,{post:n.value,onReload:x},null,8,["post"])])):(c(),g("div",no,[s($,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),n.value.id>0?(c(),g("div",ao,[s(K,{justify:"space-between"},{default:i(()=>[io,h("div",lo,[s(F,{type:"bar",size:"small",animated:"","onUpdate:value":a},{default:i(()=>[s(D,{name:"default",tab:"默认"}),s(D,{name:"newest",tab:"最新"})]),_:1})])]),_:1})])):C("",!0),n.value.id>0?(c(),B(N,{key:1},{default:i(()=>[s(J,{lock:n.value.is_lock,"post-id":n.value.id,onPostSuccess:P[0]||(P[0]=d=>f(!0))},null,8,["lock","post-id"])]),_:1})):C("",!0),n.value.id>0?(c(),g("div",co,[y.value?(c(),g("div",ro,[s(W,{num:5})])):(c(),g("div",uo,[_.value.length===0?(c(),g("div",po,[s($,{size:"large",description:"暂无评论,快来抢沙发"})])):C("",!0),(c(!0),g(ee,null,ne(_.value,d=>(c(),B(N,{key:d.id},{default:i(()=>[s(G,{comment:d,onReload:f},null,8,["comment"])]),_:2},1024))),128))]))])):C("",!0)]),_:1})])}}});const Po=te(_o,[["__scopeId","data-v-9f8ff949"]]);export{Po as default}; diff --git a/web/dist/assets/Profile-1b2bf9dc.js b/web/dist/assets/Profile-1b2bf9dc.js new file mode 100644 index 00000000..7eb71c71 --- /dev/null +++ b/web/dist/assets/Profile-1b2bf9dc.js @@ -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}; diff --git a/web/dist/assets/Profile-4e38522f.css b/web/dist/assets/Profile-4e38522f.css deleted file mode 100644 index 25ece08e..00000000 --- a/web/dist/assets/Profile-4e38522f.css +++ /dev/null @@ -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} diff --git a/web/dist/assets/Profile-5d71a5c2.css b/web/dist/assets/Profile-5d71a5c2.css new file mode 100644 index 00000000..9dea5053 --- /dev/null +++ b/web/dist/assets/Profile-5d71a5c2.css @@ -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} diff --git a/web/dist/assets/Profile-85f3412c.js b/web/dist/assets/Profile-85f3412c.js deleted file mode 100644 index eb7fcdb5..00000000 --- a/web/dist/assets/Profile-85f3412c.js +++ /dev/null @@ -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}; diff --git a/web/dist/assets/Setting-fc8840df.js b/web/dist/assets/Setting-3190a67c.js similarity index 81% rename from web/dist/assets/Setting-fc8840df.js rename to web/dist/assets/Setting-3190a67c.js index 5d86304d..05e0ab0a 100644 --- a/web/dist/assets/Setting-fc8840df.js +++ b/web/dist/assets/Setting-3190a67c.js @@ -1 +1 @@ -import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";import{d as te,W as r,Y as f,Z as d,r as c,be as ee,a2 as ke,a4 as a,a5 as s,a6 as b,a7 as v,$ as be,ch as ae,bP as Ce,a3 as u,a9 as p,aa as q,bw as Ie,bo as $e,by as x,ci as Pe,cj as Ue,ck as Se,cl as Re,cm as qe,cn as xe,ae as Be,K as Ae,_ as Ne,af as ze,co as Ke,cp as De,cq as Fe,cr as Me,a8 as B,aB as je,aC as Ee,al as Te}from"./index-c17d3913.js";import{c as Ve}from"./Upload-f8f7ade2.js";import{_ as Le}from"./Alert-e0e350bb.js";import{_ as Oe}from"./InputGroup-97df1a51.js";const We={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ge=d("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[d("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),d("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),d("path",{d:"M16 5l3 3"})],-1),He=[Ge],Je=te({name:"Edit",render:function(O,W){return r(),f("svg",We,He)}}),M=$=>(je("data-v-3f84f089"),$=$(),Ee(),$),Ye={class:"base-line avatar"},Ze={class:"base-line"},Qe=M(()=>d("span",{class:"base-label"},"昵称",-1)),Xe={key:0},ea={class:"base-line"},aa=M(()=>d("span",{class:"base-label"},"用户名",-1)),ta={key:0},sa={key:1},na=M(()=>d("br",null,null,-1)),oa={key:2,class:"phone-bind-wrap"},la={class:"captcha-img-wrap"},ra={class:"captcha-img"},ia=["src"],ua={class:"form-submit-wrap"},da={key:0},ca={key:1},pa=M(()=>d("br",null,null,-1)),_a={key:2,class:"phone-bind-wrap"},va={class:"captcha-img-wrap"},fa={class:"captcha-img"},ma=["src"],ha={class:"form-submit-wrap"},ga={key:1,class:"phone-bind-wrap"},wa={class:"form-submit-wrap"},ya=te({__name:"Setting",setup($){const O="/v1/attachment",W="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),A=c("public/avatar"),P="true".toLowerCase()==="true",se="false".toLowerCase()==="true",o=be(),U=c(!1),N=c(!1),z=c(!1),G=c(),H=c(),C=c(!1),K=c(!1),S=c(!1),R=c(!1),I=c(60),y=c(!1),k=c(!1),J=c(),Y=c(),Z=c(),Q=c(),t=ee({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=ee({id:"",b64s:"",imgCaptcha:"",activate_code:""}),ne=async n=>{var e,m;return A.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):A.value==="image"&&((m=n.file.file)==null?void 0:m.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},oe=({file:n,event:e})=>{var m;try{let h=JSON.parse((m=e.target)==null?void 0:m.response);h.code===0&&A.value==="public/avatar"&&Pe({avatar:h.data.content}).then(_=>{var D;window.$message.success("头像更新成功"),(D=G.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:h.data.content})}).catch(_=>{console.log(_)})}catch{window.$message.error("上传失败")}},le=(n,e)=>!!t.password&&t.password.startsWith(e)&&t.password.length>=e.length,re=(n,e)=>e===t.password,ie=()=>{var n;t.reenteredPassword&&((n=Q.value)==null||n.validate({trigger:"password-input"}))},ue=n=>{var e;n.preventDefault(),(e=Z.value)==null||e.validate(m=>{m||(K.value=!0,Ue({password:t.password,old_password:t.old_password}).then(h=>{K.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(h=>{K.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(m=>{m||(N.value=!0,Se({phone:t.phone,captcha:t.phone_captcha}).then(h=>{N.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:t.phone}),t.id="",t.b64s="",t.imgCaptcha="",t.phone="",t.phone_captcha=""}).catch(h=>{N.value=!1}))})},ce=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(m=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}U.value=!0,m||(z.value=!0,Re({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(h=>{z.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(h=>{z.value=!1,h.code===20012&&E()}))})},j=()=>{ae().then(n=>{t.id=n.id,t.b64s=n.b64s}).catch(n=>{console.log(n)})},E=()=>{ae().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{qe({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},_e=()=>{if(!(I.value>0&&R.value)){if(t.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}U.value=!0,xe({phone:t.phone,img_captcha:t.imgCaptcha,img_captcha_id:t.id}).then(n=>{R.value=!0,U.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,R.value=!1)},1e3)}).catch(n=>{U.value=!1,n.code===20012&&j(),console.log(n)})}},ve={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},fe={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},me={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:le,message:"两次密码输入不一致",trigger:"input"},{validator:re,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},he=()=>{C.value=!0,setTimeout(()=>{var n;(n=H.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),j(),E()}),(n,e)=>{const m=ye,h=Be,_=Ae,D=Ve,g=Ne,ge=ze,F=Ce,X=Le,w=Ke,we=Oe,T=De,V=Fe,L=Me;return r(),f("div",null,[a(m,{title:"设置",theme:""}),a(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[d("div",Ye,[a(h,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!P||P&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:G,action:O,headers:{Authorization:W},data:{type:A.value},onBeforeUpload:ne,onFinish:oe},{default:s(()=>[a(_,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):v("",!0)]),d("div",Ze,[Qe,C.value?v("",!0):(r(),f("div",Xe,q(u(o).state.userInfo.nickname),1)),Ie(a(g,{ref_key:"inputInstRef",ref:H,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[$e,C.value]]),!C.value&&(!P||P&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(_,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:he},{icon:s(()=>[a(ge,null,{default:s(()=>[a(u(Je))]),_:1})]),_:1})):v("",!0)]),d("div",ea,[aa,p(" @"+q(u(o).state.userInfo.username),1)])]),_:1}),P?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),f("div",ta,[p(q(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(_,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):v("",!0)])):(r(),f("div",sa,[a(X,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),na,y.value?v("",!0):(r(),f("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),f("div",oa,[a(L,{ref_key:"phoneFormRef",ref:J,model:t,rules:ve},{default:s(()=>[a(w,{path:"phone",label:"手机号"},{default:s(()=>[a(g,{value:t.phone,"onUpdate:value":e[3]||(e[3]=l=>t.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),a(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[d("div",la,[a(g,{value:t.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>t.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),d("div",ra,[t.b64s?(r(),f("img",{key:0,src:t.b64s,onClick:j},null,8,ia)):v("",!0)])])]),_:1}),a(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[a(we,null,{default:s(()=>[a(g,{value:t.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>t.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),a(_,{type:"primary",ghost:"",disabled:R.value,loading:U.value,onClick:_e},{default:s(()=>[p(q(I.value>0&&R.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),a(V,{gutter:[0,24]},{default:s(()=>[a(T,{span:24},{default:s(()=>[d("div",ua,[a(_,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),a(_,{secondary:"",round:"",type:"primary",loading:N.value,onClick:de},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):v("",!0)]),_:1})):v("",!0),se?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),f("div",da,[p(q(u(o).state.userInfo.activation)+" ",1),k.value?v("",!0):(r(),b(_,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),f("div",ca,[a(X,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),pa,k.value?v("",!0):(r(),f("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),f("div",_a,[a(L,{ref_key:"activateFormRef",ref:Y,model:i,rules:fe},{default:s(()=>[a(w,{path:"activate_code",label:"激活码"},{default:s(()=>[a(g,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),a(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[d("div",va,[a(g,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),d("div",fa,[i.b64s?(r(),f("img",{key:0,src:i.b64s,onClick:E},null,8,ma)):v("",!0)])])]),_:1}),a(V,{gutter:[0,24]},{default:s(()=>[a(T,{span:24},{default:s(()=>[d("div",ha,[a(_,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),a(_,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ce},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):v("",!0)]),_:1})):v("",!0),a(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?v("",!0):(r(),b(_,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),f("div",ga,[a(L,{ref_key:"formRef",ref:Z,model:t,rules:me},{default:s(()=>[a(w,{path:"old_password",label:"旧密码"},{default:s(()=>[a(g,{value:t.old_password,"onUpdate:value":e[15]||(e[15]=l=>t.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),a(w,{path:"password",label:"新密码"},{default:s(()=>[a(g,{value:t.password,"onUpdate:value":e[17]||(e[17]=l=>t.password=l),type:"password",placeholder:"请输入新密码",onInput:ie,onKeydown:e[18]||(e[18]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),a(w,{ref_key:"rPasswordFormItemRef",ref:Q,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[a(g,{value:t.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>t.reenteredPassword=l),disabled:!t.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),a(V,{gutter:[0,24]},{default:s(()=>[a(T,{span:24},{default:s(()=>[d("div",wa,[a(_,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),a(_,{secondary:"",round:"",type:"primary",loading:K.value,onClick:ue},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):v("",!0)]),_:1})])}}});const Pa=Te(ya,[["__scopeId","data-v-3f84f089"]]);export{Pa as default}; +import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{d as te,W as r,Y as m,Z as d,r as c,be as ee,a2 as ke,a4 as a,a5 as s,a6 as b,a7 as v,$ as be,ch as ae,bP as Ce,a3 as u,a9 as p,aa as q,bw as Ie,bo as $e,by as x,ci as Pe,cj as Ue,ck as Se,cl as Re,cm as qe,cn as xe,ae as Be,K as Ae,_ as Ne,af as ze,co as Ke,cp as De,cq as Fe,cr as Me,a8 as B,aB as je,aC as Ee,al as Te}from"./index-dfd5495a.js";import{c as Ve}from"./Upload-4d55d917.js";import{_ as Le}from"./Alert-f1e64ed3.js";import{_ as Oe}from"./InputGroup-a08135e4.js";const We={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ge=d("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[d("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),d("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),d("path",{d:"M16 5l3 3"})],-1),He=[Ge],Je=te({name:"Edit",render:function(O,W){return r(),m("svg",We,He)}}),M=$=>(je("data-v-a681720e"),$=$(),Ee(),$),Ye={class:"base-line avatar"},Ze={class:"base-line"},Qe=M(()=>d("span",{class:"base-label"},"昵称",-1)),Xe={key:0},ea={class:"base-line"},aa=M(()=>d("span",{class:"base-label"},"用户名",-1)),ta={key:0},sa={key:1},na=M(()=>d("br",null,null,-1)),oa={key:2,class:"phone-bind-wrap"},la={class:"captcha-img-wrap"},ra={class:"captcha-img"},ia=["src"],ua={class:"form-submit-wrap"},da={key:0},ca={key:1},pa=M(()=>d("br",null,null,-1)),_a={key:2,class:"phone-bind-wrap"},va={class:"captcha-img-wrap"},ma={class:"captcha-img"},fa=["src"],ha={class:"form-submit-wrap"},ga={key:1,class:"phone-bind-wrap"},wa={class:"form-submit-wrap"},ya=te({__name:"Setting",setup($){const O="/v1/attachment",W="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),A=c("public/avatar"),P="true".toLowerCase()==="true",se="false".toLowerCase()==="true",o=be(),U=c(!1),N=c(!1),z=c(!1),G=c(),H=c(),C=c(!1),K=c(!1),S=c(!1),R=c(!1),I=c(60),y=c(!1),k=c(!1),J=c(),Y=c(),Z=c(),Q=c(),t=ee({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=ee({id:"",b64s:"",imgCaptcha:"",activate_code:""}),ne=async n=>{var e,f;return A.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):A.value==="image"&&((f=n.file.file)==null?void 0:f.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},oe=({file:n,event:e})=>{var f;try{let h=JSON.parse((f=e.target)==null?void 0:f.response);h.code===0&&A.value==="public/avatar"&&Pe({avatar:h.data.content}).then(_=>{var D;window.$message.success("头像更新成功"),(D=G.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:h.data.content})}).catch(_=>{console.log(_)})}catch{window.$message.error("上传失败")}},le=(n,e)=>!!t.password&&t.password.startsWith(e)&&t.password.length>=e.length,re=(n,e)=>e===t.password,ie=()=>{var n;t.reenteredPassword&&((n=Q.value)==null||n.validate({trigger:"password-input"}))},ue=n=>{var e;n.preventDefault(),(e=Z.value)==null||e.validate(f=>{f||(K.value=!0,Ue({password:t.password,old_password:t.old_password}).then(h=>{K.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(h=>{K.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(f=>{f||(N.value=!0,Se({phone:t.phone,captcha:t.phone_captcha}).then(h=>{N.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:t.phone}),t.id="",t.b64s="",t.imgCaptcha="",t.phone="",t.phone_captcha=""}).catch(h=>{N.value=!1}))})},ce=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(f=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}U.value=!0,f||(z.value=!0,Re({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(h=>{z.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(h=>{z.value=!1,h.code===20012&&E()}))})},j=()=>{ae().then(n=>{t.id=n.id,t.b64s=n.b64s}).catch(n=>{console.log(n)})},E=()=>{ae().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{qe({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},_e=()=>{if(!(I.value>0&&R.value)){if(t.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}U.value=!0,xe({phone:t.phone,img_captcha:t.imgCaptcha,img_captcha_id:t.id}).then(n=>{R.value=!0,U.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,R.value=!1)},1e3)}).catch(n=>{U.value=!1,n.code===20012&&j(),console.log(n)})}},ve={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},fe={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:le,message:"两次密码输入不一致",trigger:"input"},{validator:re,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},he=()=>{C.value=!0,setTimeout(()=>{var n;(n=H.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),j(),E()}),(n,e)=>{const f=ye,h=Be,_=Ae,D=Ve,g=Ne,ge=ze,F=Ce,X=Le,w=Ke,we=Oe,T=De,V=Fe,L=Me;return r(),m("div",null,[a(f,{title:"设置",theme:""}),a(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[d("div",Ye,[a(h,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!P||P&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:G,action:O,headers:{Authorization:W},data:{type:A.value},onBeforeUpload:ne,onFinish:oe},{default:s(()=>[a(_,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):v("",!0)]),d("div",Ze,[Qe,C.value?v("",!0):(r(),m("div",Xe,q(u(o).state.userInfo.nickname),1)),Ie(a(g,{ref_key:"inputInstRef",ref:H,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[$e,C.value]]),!C.value&&(!P||P&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(_,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:he},{icon:s(()=>[a(ge,null,{default:s(()=>[a(u(Je))]),_:1})]),_:1})):v("",!0)]),d("div",ea,[aa,p(" @"+q(u(o).state.userInfo.username),1)])]),_:1}),P?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),m("div",ta,[p(q(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(_,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):v("",!0)])):(r(),m("div",sa,[a(X,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),na,y.value?v("",!0):(r(),m("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),m("div",oa,[a(L,{ref_key:"phoneFormRef",ref:J,model:t,rules:ve},{default:s(()=>[a(w,{path:"phone",label:"手机号"},{default:s(()=>[a(g,{value:t.phone,"onUpdate:value":e[3]||(e[3]=l=>t.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),a(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[d("div",la,[a(g,{value:t.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>t.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),d("div",ra,[t.b64s?(r(),m("img",{key:0,src:t.b64s,onClick:j},null,8,ia)):v("",!0)])])]),_:1}),a(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[a(we,null,{default:s(()=>[a(g,{value:t.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>t.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),a(_,{type:"primary",ghost:"",disabled:R.value,loading:U.value,onClick:_e},{default:s(()=>[p(q(I.value>0&&R.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),a(V,{gutter:[0,24]},{default:s(()=>[a(T,{span:24},{default:s(()=>[d("div",ua,[a(_,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),a(_,{secondary:"",round:"",type:"primary",loading:N.value,onClick:de},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):v("",!0)]),_:1})):v("",!0),se?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),m("div",da,[p(q(u(o).state.userInfo.activation)+" ",1),k.value?v("",!0):(r(),b(_,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),m("div",ca,[a(X,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),pa,k.value?v("",!0):(r(),m("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),m("div",_a,[a(L,{ref_key:"activateFormRef",ref:Y,model:i,rules:me},{default:s(()=>[a(w,{path:"activate_code",label:"激活码"},{default:s(()=>[a(g,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),a(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[d("div",va,[a(g,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),d("div",ma,[i.b64s?(r(),m("img",{key:0,src:i.b64s,onClick:E},null,8,fa)):v("",!0)])])]),_:1}),a(V,{gutter:[0,24]},{default:s(()=>[a(T,{span:24},{default:s(()=>[d("div",ha,[a(_,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),a(_,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ce},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):v("",!0)]),_:1})):v("",!0),a(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?v("",!0):(r(),b(_,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),m("div",ga,[a(L,{ref_key:"formRef",ref:Z,model:t,rules:fe},{default:s(()=>[a(w,{path:"old_password",label:"旧密码"},{default:s(()=>[a(g,{value:t.old_password,"onUpdate:value":e[15]||(e[15]=l=>t.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),a(w,{path:"password",label:"新密码"},{default:s(()=>[a(g,{value:t.password,"onUpdate:value":e[17]||(e[17]=l=>t.password=l),type:"password",placeholder:"请输入新密码",onInput:ie,onKeydown:e[18]||(e[18]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),a(w,{ref_key:"rPasswordFormItemRef",ref:Q,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[a(g,{value:t.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>t.reenteredPassword=l),disabled:!t.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=x(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),a(V,{gutter:[0,24]},{default:s(()=>[a(T,{span:24},{default:s(()=>[d("div",wa,[a(_,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),a(_,{secondary:"",round:"",type:"primary",loading:K.value,onClick:ue},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):v("",!0)]),_:1})])}}});const Pa=Te(ya,[["__scopeId","data-v-a681720e"]]);export{Pa as default}; diff --git a/web/dist/assets/Setting-ba9086ff.css b/web/dist/assets/Setting-ba9086ff.css deleted file mode 100644 index 51395da3..00000000 --- a/web/dist/assets/Setting-ba9086ff.css +++ /dev/null @@ -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%} diff --git a/web/dist/assets/Setting-bfd24152.css b/web/dist/assets/Setting-bfd24152.css new file mode 100644 index 00000000..04dbe4f6 --- /dev/null +++ b/web/dist/assets/Setting-bfd24152.css @@ -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} diff --git a/web/dist/assets/Skeleton-ca436747.js b/web/dist/assets/Skeleton-6c42d34d.js similarity index 97% rename from web/dist/assets/Skeleton-ca436747.js rename to web/dist/assets/Skeleton-6c42d34d.js index 6285414c..8a9f16c0 100644 --- a/web/dist/assets/Skeleton-ca436747.js +++ b/web/dist/assets/Skeleton-6c42d34d.js @@ -1,4 +1,4 @@ -import{aU as je,d as O,bQ as De,bR as Ae,a2 as se,c6 as Ke,b6 as We,y as T,r as $,v as Z,c7 as re,br as K,h as d,b7 as ye,bt as de,bT as ne,bu as qe,c8 as ce,bq as xe,c as L,f as V,b as j,u as we,x as W,c9 as Ge,J as Ue,q as X,ca as Ye,z as D,A as Se,N as Re,cb as ae,bV as ze,b0 as Ze,e as A,a as Xe,aV as Je,t as H,aT as Qe,cc as et,S as ue,V as tt,cd as oe,p as fe,B as nt,ce as ot,cf as it,L as lt,b_ as ve,cg as rt,b8 as st,k as at,ab as dt}from"./index-c17d3913.js";import{l as ct}from"./List-28c5febd.js";function ie(e){const t=e.filter(o=>o!==void 0);if(t.length!==0)return t.length===1?t[0]:o=>{e.forEach(s=>{s&&s(o)})}}let he=!1;function ut(){if(je&&window.CSS&&!he&&(he=!0,"registerProperty"in(window==null?void 0:window.CSS)))try{CSS.registerProperty({name:"--n-color-start",syntax:"",inherits:!1,initialValue:"#0000"}),CSS.registerProperty({name:"--n-color-end",syntax:"",inherits:!1,initialValue:"#0000"})}catch{}}function me(e){return e&-e}class ft{constructor(t,o){this.l=t,this.min=o;const s=new Array(t+1);for(let r=0;rr)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let a=t*s;for(;t>0;)a+=o[t],t-=me(t);return a}getBound(t){let o=0,s=this.l;for(;s>o;){const r=Math.floor((o+s)/2),a=this.sum(r);if(a>t){s=r;continue}else if(a[]},itemSize:{type:Number,required:!0},itemResizable:Boolean,itemsStyle:[String,Object],visibleItemsTag:{type:[String,Object],default:"div"},visibleItemsProps:Object,ignoreItemResize:Boolean,onScroll:Function,onWheel:Function,onResize:Function,defaultScrollKey:[Number,String],defaultScrollIndex:Number,keyField:{type:String,default:"key"},paddingTop:{type:[Number,String],default:0},paddingBottom:{type:[Number,String],default:0}},setup(e){const t=De();ht.mount({id:"vueuc/virtual-list",head:!0,anchorMetaName:Ae,ssr:t}),se(()=>{const{defaultScrollIndex:i,defaultScrollKey:c}=e;i!=null?h({index:i}):c!=null&&h({key:c})});let o=!1,s=!1;Ke(()=>{if(o=!1,!s){s=!0;return}h({top:m.value,left:f})}),We(()=>{o=!0,s||(s=!0)});const r=T(()=>{const i=new Map,{keyField:c}=e;return e.items.forEach((g,k)=>{i.set(g[c],k)}),i}),a=$(null),u=$(void 0),v=new Map,z=T(()=>{const{items:i,itemSize:c,keyField:g}=e,k=new ft(i.length,c);return i.forEach((C,_)=>{const p=C[g],P=v.get(p);P!==void 0&&k.add(_,P)}),k}),b=$(0);let f=0;const m=$(0),R=Z(()=>Math.max(z.value.getBound(m.value-re(e.paddingTop))-1,0)),F=T(()=>{const{value:i}=u;if(i===void 0)return[];const{items:c,itemSize:g}=e,k=R.value,C=Math.min(k+Math.ceil(i/g+1),c.length-1),_=[];for(let p=k;p<=C;++p)_.push(c[p]);return _}),h=(i,c)=>{if(typeof i=="number"){x(i,c,"auto");return}const{left:g,top:k,index:C,key:_,position:p,behavior:P,debounce:n=!0}=i;if(g!==void 0||k!==void 0)x(g,k,P);else if(C!==void 0)S(C,P,n);else if(_!==void 0){const l=r.value.get(_);l!==void 0&&S(l,P,n)}else p==="bottom"?x(0,Number.MAX_SAFE_INTEGER,P):p==="top"&&x(0,0,P)};let y,M=null;function S(i,c,g){const{value:k}=z,C=k.sum(i)+re(e.paddingTop);if(!g)a.value.scrollTo({left:0,top:C,behavior:c});else{y=i,M!==null&&window.clearTimeout(M),M=window.setTimeout(()=>{y=void 0,M=null},16);const{scrollTop:_,offsetHeight:p}=a.value;if(C>_){const P=k.get(i);C+P<=_+p||a.value.scrollTo({left:0,top:C+P-p,behavior:c})}else a.value.scrollTo({left:0,top:C,behavior:c})}}function x(i,c,g){a.value.scrollTo({left:i,top:c,behavior:g})}function I(i,c){var g,k,C;if(o||e.ignoreItemResize||U(c.target))return;const{value:_}=z,p=r.value.get(i),P=_.get(p),n=(C=(k=(g=c.borderBoxSize)===null||g===void 0?void 0:g[0])===null||k===void 0?void 0:k.blockSize)!==null&&C!==void 0?C:c.contentRect.height;if(n===P)return;n-e.itemSize===0?v.delete(i):v.set(i,n-e.itemSize);const w=n-P;if(w===0)return;_.add(p,w);const N=a.value;if(N!=null){if(y===void 0){const G=_.sum(p);N.scrollTop>G&&N.scrollBy(0,w)}else if(pN.scrollTop+N.offsetHeight&&N.scrollBy(0,w)}q()}b.value++}const B=!vt();let E=!1;function J(i){var c;(c=e.onScroll)===null||c===void 0||c.call(e,i),(!B||!E)&&q()}function Q(i){var c;if((c=e.onWheel)===null||c===void 0||c.call(e,i),B){const g=a.value;if(g!=null){if(i.deltaX===0&&(g.scrollTop===0&&i.deltaY<=0||g.scrollTop+g.offsetHeight>=g.scrollHeight&&i.deltaY>=0))return;i.preventDefault(),g.scrollTop+=i.deltaY/ge(),g.scrollLeft+=i.deltaX/ge(),q(),E=!0,qe(()=>{E=!1})}}}function ee(i){if(o||U(i.target)||i.contentRect.height===u.value)return;u.value=i.contentRect.height;const{onResize:c}=e;c!==void 0&&c(i)}function q(){const{value:i}=a;i!=null&&(m.value=i.scrollTop,f=i.scrollLeft)}function U(i){let c=i;for(;c!==null;){if(c.style.display==="none")return!0;c=c.parentElement}return!1}return{listHeight:u,listStyle:{overflow:"auto"},keyToIndex:r,itemsStyle:T(()=>{const{itemResizable:i}=e,c=K(z.value.sum());return b.value,[e.itemsStyle,{boxSizing:"content-box",height:i?"":c,minHeight:i?c:"",paddingTop:K(e.paddingTop),paddingBottom:K(e.paddingBottom)}]}),visibleItemsStyle:T(()=>(b.value,{transform:`translateY(${K(z.value.sum(R.value))})`})),viewportItems:F,listElRef:a,itemsElRef:$(null),scrollTo:h,handleListResize:ee,handleListScroll:J,handleListWheel:Q,handleItemResize:I}},render(){const{itemResizable:e,keyField:t,keyToIndex:o,visibleItemsTag:s}=this;return d(de,{onResize:this.handleListResize},{default:()=>{var r,a;return d("div",ye(this.$attrs,{class:["v-vl",this.showScrollbar&&"v-vl--show-scrollbar"],onScroll:this.handleListScroll,onWheel:this.handleListWheel,ref:"listElRef"}),[this.items.length!==0?d("div",{ref:"itemsElRef",class:"v-vl-items",style:this.itemsStyle},[d(s,Object.assign({class:"v-vl-visible-items",style:this.visibleItemsStyle},this.visibleItemsProps),{default:()=>this.viewportItems.map(u=>{const v=u[t],z=o.get(v),b=this.$slots.default({item:u,index:z})[0];return e?d(de,{key:v,onResize:f=>this.handleItemResize(v,f)},{default:()=>b}):(b.key=v,b)})})]):(a=(r=this.$slots).empty)===null||a===void 0?void 0:a.call(r)])}})}});function gt(e,t){t&&(se(()=>{const{value:o}=e;o&&ce.registerHandler(o,t)}),xe(()=>{const{value:o}=e;o&&ce.unregisterHandler(o)}))}const pt=O({name:"Checkmark",render(){return d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},d("g",{fill:"none"},d("path",{d:"M14.046 3.486a.75.75 0 0 1-.032 1.06l-7.93 7.474a.85.85 0 0 1-1.188-.022l-2.68-2.72a.75.75 0 1 1 1.068-1.053l2.234 2.267l7.468-7.038a.75.75 0 0 1 1.06.032z",fill:"currentColor"})))}}),bt=O({name:"Empty",render(){return d("svg",{viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},d("path",{d:"M26 7.5C26 11.0899 23.0899 14 19.5 14C15.9101 14 13 11.0899 13 7.5C13 3.91015 15.9101 1 19.5 1C23.0899 1 26 3.91015 26 7.5ZM16.8536 4.14645C16.6583 3.95118 16.3417 3.95118 16.1464 4.14645C15.9512 4.34171 15.9512 4.65829 16.1464 4.85355L18.7929 7.5L16.1464 10.1464C15.9512 10.3417 15.9512 10.6583 16.1464 10.8536C16.3417 11.0488 16.6583 11.0488 16.8536 10.8536L19.5 8.20711L22.1464 10.8536C22.3417 11.0488 22.6583 11.0488 22.8536 10.8536C23.0488 10.6583 23.0488 10.3417 22.8536 10.1464L20.2071 7.5L22.8536 4.85355C23.0488 4.65829 23.0488 4.34171 22.8536 4.14645C22.6583 3.95118 22.3417 3.95118 22.1464 4.14645L19.5 6.79289L16.8536 4.14645Z",fill:"currentColor"}),d("path",{d:"M25 22.75V12.5991C24.5572 13.0765 24.053 13.4961 23.5 13.8454V16H17.5L17.3982 16.0068C17.0322 16.0565 16.75 16.3703 16.75 16.75C16.75 18.2688 15.5188 19.5 14 19.5C12.4812 19.5 11.25 18.2688 11.25 16.75L11.2432 16.6482C11.1935 16.2822 10.8797 16 10.5 16H4.5V7.25C4.5 6.2835 5.2835 5.5 6.25 5.5H12.2696C12.4146 4.97463 12.6153 4.47237 12.865 4H6.25C4.45507 4 3 5.45507 3 7.25V22.75C3 24.5449 4.45507 26 6.25 26H21.75C23.5449 26 25 24.5449 25 22.75ZM4.5 22.75V17.5H9.81597L9.85751 17.7041C10.2905 19.5919 11.9808 21 14 21L14.215 20.9947C16.2095 20.8953 17.842 19.4209 18.184 17.5H23.5V22.75C23.5 23.7165 22.7165 24.5 21.75 24.5H6.25C5.2835 24.5 4.5 23.7165 4.5 22.75Z",fill:"currentColor"}))}}),yt=O({props:{onFocus:Function,onBlur:Function},setup(e){return()=>d("div",{style:"width: 0; height: 0",tabindex:0,onFocus:e.onFocus,onBlur:e.onBlur})}}),xt=L("empty",` +import{aU as je,d as O,bQ as De,bR as Ae,a2 as se,c6 as Ke,b6 as We,y as T,r as $,v as Z,c7 as re,h as d,bt as de,bT as ne,bu as qe,br as K,b7 as ye,c8 as ce,bq as xe,c as L,f as V,b as j,u as we,x as W,c9 as Ge,J as Ue,q as X,ca as Ye,z as D,A as Se,N as Re,bV as ze,b0 as Ze,cb as ae,e as A,a as Xe,aV as Je,t as H,aT as Qe,S as ue,V as et,p as fe,B as tt,cc as nt,cd as ot,L as it,ce as lt,cf as oe,b_ as ve,cg as rt,b8 as st,k as at,ab as dt}from"./index-dfd5495a.js";import{l as ct}from"./List-872c113a.js";function ie(e){const t=e.filter(o=>o!==void 0);if(t.length!==0)return t.length===1?t[0]:o=>{e.forEach(s=>{s&&s(o)})}}let he=!1;function ut(){if(je&&window.CSS&&!he&&(he=!0,"registerProperty"in(window==null?void 0:window.CSS)))try{CSS.registerProperty({name:"--n-color-start",syntax:"",inherits:!1,initialValue:"#0000"}),CSS.registerProperty({name:"--n-color-end",syntax:"",inherits:!1,initialValue:"#0000"})}catch{}}function me(e){return e&-e}class ft{constructor(t,o){this.l=t,this.min=o;const s=new Array(t+1);for(let r=0;rr)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let a=t*s;for(;t>0;)a+=o[t],t-=me(t);return a}getBound(t){let o=0,s=this.l;for(;s>o;){const r=Math.floor((o+s)/2),a=this.sum(r);if(a>t){s=r;continue}else if(a[]},itemSize:{type:Number,required:!0},itemResizable:Boolean,itemsStyle:[String,Object],visibleItemsTag:{type:[String,Object],default:"div"},visibleItemsProps:Object,ignoreItemResize:Boolean,onScroll:Function,onWheel:Function,onResize:Function,defaultScrollKey:[Number,String],defaultScrollIndex:Number,keyField:{type:String,default:"key"},paddingTop:{type:[Number,String],default:0},paddingBottom:{type:[Number,String],default:0}},setup(e){const t=De();ht.mount({id:"vueuc/virtual-list",head:!0,anchorMetaName:Ae,ssr:t}),se(()=>{const{defaultScrollIndex:i,defaultScrollKey:c}=e;i!=null?h({index:i}):c!=null&&h({key:c})});let o=!1,s=!1;Ke(()=>{if(o=!1,!s){s=!0;return}h({top:m.value,left:f})}),We(()=>{o=!0,s||(s=!0)});const r=T(()=>{const i=new Map,{keyField:c}=e;return e.items.forEach((g,k)=>{i.set(g[c],k)}),i}),a=$(null),u=$(void 0),v=new Map,z=T(()=>{const{items:i,itemSize:c,keyField:g}=e,k=new ft(i.length,c);return i.forEach((C,_)=>{const p=C[g],P=v.get(p);P!==void 0&&k.add(_,P)}),k}),b=$(0);let f=0;const m=$(0),R=Z(()=>Math.max(z.value.getBound(m.value-re(e.paddingTop))-1,0)),F=T(()=>{const{value:i}=u;if(i===void 0)return[];const{items:c,itemSize:g}=e,k=R.value,C=Math.min(k+Math.ceil(i/g+1),c.length-1),_=[];for(let p=k;p<=C;++p)_.push(c[p]);return _}),h=(i,c)=>{if(typeof i=="number"){x(i,c,"auto");return}const{left:g,top:k,index:C,key:_,position:p,behavior:P,debounce:n=!0}=i;if(g!==void 0||k!==void 0)x(g,k,P);else if(C!==void 0)S(C,P,n);else if(_!==void 0){const l=r.value.get(_);l!==void 0&&S(l,P,n)}else p==="bottom"?x(0,Number.MAX_SAFE_INTEGER,P):p==="top"&&x(0,0,P)};let y,M=null;function S(i,c,g){const{value:k}=z,C=k.sum(i)+re(e.paddingTop);if(!g)a.value.scrollTo({left:0,top:C,behavior:c});else{y=i,M!==null&&window.clearTimeout(M),M=window.setTimeout(()=>{y=void 0,M=null},16);const{scrollTop:_,offsetHeight:p}=a.value;if(C>_){const P=k.get(i);C+P<=_+p||a.value.scrollTo({left:0,top:C+P-p,behavior:c})}else a.value.scrollTo({left:0,top:C,behavior:c})}}function x(i,c,g){a.value.scrollTo({left:i,top:c,behavior:g})}function I(i,c){var g,k,C;if(o||e.ignoreItemResize||U(c.target))return;const{value:_}=z,p=r.value.get(i),P=_.get(p),n=(C=(k=(g=c.borderBoxSize)===null||g===void 0?void 0:g[0])===null||k===void 0?void 0:k.blockSize)!==null&&C!==void 0?C:c.contentRect.height;if(n===P)return;n-e.itemSize===0?v.delete(i):v.set(i,n-e.itemSize);const w=n-P;if(w===0)return;_.add(p,w);const N=a.value;if(N!=null){if(y===void 0){const G=_.sum(p);N.scrollTop>G&&N.scrollBy(0,w)}else if(pN.scrollTop+N.offsetHeight&&N.scrollBy(0,w)}q()}b.value++}const B=!vt();let E=!1;function J(i){var c;(c=e.onScroll)===null||c===void 0||c.call(e,i),(!B||!E)&&q()}function Q(i){var c;if((c=e.onWheel)===null||c===void 0||c.call(e,i),B){const g=a.value;if(g!=null){if(i.deltaX===0&&(g.scrollTop===0&&i.deltaY<=0||g.scrollTop+g.offsetHeight>=g.scrollHeight&&i.deltaY>=0))return;i.preventDefault(),g.scrollTop+=i.deltaY/ge(),g.scrollLeft+=i.deltaX/ge(),q(),E=!0,qe(()=>{E=!1})}}}function ee(i){if(o||U(i.target)||i.contentRect.height===u.value)return;u.value=i.contentRect.height;const{onResize:c}=e;c!==void 0&&c(i)}function q(){const{value:i}=a;i!=null&&(m.value=i.scrollTop,f=i.scrollLeft)}function U(i){let c=i;for(;c!==null;){if(c.style.display==="none")return!0;c=c.parentElement}return!1}return{listHeight:u,listStyle:{overflow:"auto"},keyToIndex:r,itemsStyle:T(()=>{const{itemResizable:i}=e,c=K(z.value.sum());return b.value,[e.itemsStyle,{boxSizing:"content-box",height:i?"":c,minHeight:i?c:"",paddingTop:K(e.paddingTop),paddingBottom:K(e.paddingBottom)}]}),visibleItemsStyle:T(()=>(b.value,{transform:`translateY(${K(z.value.sum(R.value))})`})),viewportItems:F,listElRef:a,itemsElRef:$(null),scrollTo:h,handleListResize:ee,handleListScroll:J,handleListWheel:Q,handleItemResize:I}},render(){const{itemResizable:e,keyField:t,keyToIndex:o,visibleItemsTag:s}=this;return d(de,{onResize:this.handleListResize},{default:()=>{var r,a;return d("div",ye(this.$attrs,{class:["v-vl",this.showScrollbar&&"v-vl--show-scrollbar"],onScroll:this.handleListScroll,onWheel:this.handleListWheel,ref:"listElRef"}),[this.items.length!==0?d("div",{ref:"itemsElRef",class:"v-vl-items",style:this.itemsStyle},[d(s,Object.assign({class:"v-vl-visible-items",style:this.visibleItemsStyle},this.visibleItemsProps),{default:()=>this.viewportItems.map(u=>{const v=u[t],z=o.get(v),b=this.$slots.default({item:u,index:z})[0];return e?d(de,{key:v,onResize:f=>this.handleItemResize(v,f)},{default:()=>b}):(b.key=v,b)})})]):(a=(r=this.$slots).empty)===null||a===void 0?void 0:a.call(r)])}})}});function gt(e,t){t&&(se(()=>{const{value:o}=e;o&&ce.registerHandler(o,t)}),xe(()=>{const{value:o}=e;o&&ce.unregisterHandler(o)}))}const pt=O({name:"Checkmark",render(){return d("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},d("g",{fill:"none"},d("path",{d:"M14.046 3.486a.75.75 0 0 1-.032 1.06l-7.93 7.474a.85.85 0 0 1-1.188-.022l-2.68-2.72a.75.75 0 1 1 1.068-1.053l2.234 2.267l7.468-7.038a.75.75 0 0 1 1.06.032z",fill:"currentColor"})))}}),bt=O({name:"Empty",render(){return d("svg",{viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},d("path",{d:"M26 7.5C26 11.0899 23.0899 14 19.5 14C15.9101 14 13 11.0899 13 7.5C13 3.91015 15.9101 1 19.5 1C23.0899 1 26 3.91015 26 7.5ZM16.8536 4.14645C16.6583 3.95118 16.3417 3.95118 16.1464 4.14645C15.9512 4.34171 15.9512 4.65829 16.1464 4.85355L18.7929 7.5L16.1464 10.1464C15.9512 10.3417 15.9512 10.6583 16.1464 10.8536C16.3417 11.0488 16.6583 11.0488 16.8536 10.8536L19.5 8.20711L22.1464 10.8536C22.3417 11.0488 22.6583 11.0488 22.8536 10.8536C23.0488 10.6583 23.0488 10.3417 22.8536 10.1464L20.2071 7.5L22.8536 4.85355C23.0488 4.65829 23.0488 4.34171 22.8536 4.14645C22.6583 3.95118 22.3417 3.95118 22.1464 4.14645L19.5 6.79289L16.8536 4.14645Z",fill:"currentColor"}),d("path",{d:"M25 22.75V12.5991C24.5572 13.0765 24.053 13.4961 23.5 13.8454V16H17.5L17.3982 16.0068C17.0322 16.0565 16.75 16.3703 16.75 16.75C16.75 18.2688 15.5188 19.5 14 19.5C12.4812 19.5 11.25 18.2688 11.25 16.75L11.2432 16.6482C11.1935 16.2822 10.8797 16 10.5 16H4.5V7.25C4.5 6.2835 5.2835 5.5 6.25 5.5H12.2696C12.4146 4.97463 12.6153 4.47237 12.865 4H6.25C4.45507 4 3 5.45507 3 7.25V22.75C3 24.5449 4.45507 26 6.25 26H21.75C23.5449 26 25 24.5449 25 22.75ZM4.5 22.75V17.5H9.81597L9.85751 17.7041C10.2905 19.5919 11.9808 21 14 21L14.215 20.9947C16.2095 20.8953 17.842 19.4209 18.184 17.5H23.5V22.75C23.5 23.7165 22.7165 24.5 21.75 24.5H6.25C5.2835 24.5 4.5 23.7165 4.5 22.75Z",fill:"currentColor"}))}}),yt=O({props:{onFocus:Function,onBlur:Function},setup(e){return()=>d("div",{style:"width: 0; height: 0",tabindex:0,onFocus:e.onFocus,onBlur:e.onBlur})}}),xt=L("empty",` display: flex; flex-direction: column; align-items: center; @@ -120,7 +120,7 @@ import{aU as je,d as O,bQ as De,bR as Ae,a2 as se,c6 as Ke,b6 as We,y as T,r as top: calc(50% - 7px); color: var(--n-option-check-color); transition: color .3s var(--n-bezier); - `,[Je({enterScale:"0.5"})])])]),Nt=O({name:"InternalSelectMenu",props:Object.assign(Object.assign({},W.props),{clsPrefix:{type:String,required:!0},scrollable:{type:Boolean,default:!0},treeMate:{type:Object,required:!0},multiple:Boolean,size:{type:String,default:"medium"},value:{type:[String,Number,Array],default:null},autoPending:Boolean,virtualScroll:{type:Boolean,default:!0},show:{type:Boolean,default:!0},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},loading:Boolean,focusable:Boolean,renderLabel:Function,renderOption:Function,nodeProps:Function,showCheckmark:{type:Boolean,default:!0},onMousedown:Function,onScroll:Function,onFocus:Function,onBlur:Function,onKeyup:Function,onKeydown:Function,onTabOut:Function,onMouseenter:Function,onMouseleave:Function,onResize:Function,resetMenuOnOptionsChange:{type:Boolean,default:!0},inlineThemeDisabled:Boolean,onToggle:Function}),setup(e){const t=W("InternalSelectMenu","-internal-select-menu",zt,Qe,e,H(e,"clsPrefix")),o=$(null),s=$(null),r=$(null),a=T(()=>e.treeMate.getFlattenedNodes()),u=T(()=>et(a.value)),v=$(null);function z(){const{treeMate:n}=e;let l=null;const{value:w}=e;w===null?l=n.getFirstAvailableNode():(e.multiple?l=n.getNode((w||[])[(w||[]).length-1]):l=n.getNode(w),(!l||l.disabled)&&(l=n.getFirstAvailableNode())),i(l||null)}function b(){const{value:n}=v;n&&!e.treeMate.getNode(n.key)&&(v.value=null)}let f;ue(()=>e.show,n=>{n?f=ue(()=>e.treeMate,()=>{e.resetMenuOnOptionsChange?(e.autoPending?z():b(),tt(c)):b()},{immediate:!0}):f==null||f()},{immediate:!0}),xe(()=>{f==null||f()});const m=T(()=>re(t.value.self[D("optionHeight",e.size)])),R=T(()=>oe(t.value.self[D("padding",e.size)])),F=T(()=>e.multiple&&Array.isArray(e.value)?new Set(e.value):new Set),h=T(()=>{const n=a.value;return n&&n.length===0});function y(n){const{onToggle:l}=e;l&&l(n)}function M(n){const{onScroll:l}=e;l&&l(n)}function S(n){var l;(l=r.value)===null||l===void 0||l.sync(),M(n)}function x(){var n;(n=r.value)===null||n===void 0||n.sync()}function I(){const{value:n}=v;return n||null}function B(n,l){l.disabled||i(l,!1)}function E(n,l){l.disabled||y(l)}function J(n){var l;ve(n,"action")||(l=e.onKeyup)===null||l===void 0||l.call(e,n)}function Q(n){var l;ve(n,"action")||(l=e.onKeydown)===null||l===void 0||l.call(e,n)}function ee(n){var l;(l=e.onMousedown)===null||l===void 0||l.call(e,n),!e.focusable&&n.preventDefault()}function q(){const{value:n}=v;n&&i(n.getNext({loop:!0}),!0)}function U(){const{value:n}=v;n&&i(n.getPrev({loop:!0}),!0)}function i(n,l=!1){v.value=n,l&&c()}function c(){var n,l;const w=v.value;if(!w)return;const N=u.value(w.key);N!==null&&(e.virtualScroll?(n=s.value)===null||n===void 0||n.scrollTo({index:N}):(l=r.value)===null||l===void 0||l.scrollTo({index:N,elSize:m.value}))}function g(n){var l,w;!((l=o.value)===null||l===void 0)&&l.contains(n.target)&&((w=e.onFocus)===null||w===void 0||w.call(e,n))}function k(n){var l,w;!((l=o.value)===null||l===void 0)&&l.contains(n.relatedTarget)||(w=e.onBlur)===null||w===void 0||w.call(e,n)}fe(ae,{handleOptionMouseEnter:B,handleOptionClick:E,valueSetRef:F,pendingTmNodeRef:v,nodePropsRef:H(e,"nodeProps"),showCheckmarkRef:H(e,"showCheckmark"),multipleRef:H(e,"multiple"),valueRef:H(e,"value"),renderLabelRef:H(e,"renderLabel"),renderOptionRef:H(e,"renderOption"),labelFieldRef:H(e,"labelField"),valueFieldRef:H(e,"valueField")}),fe(rt,o),se(()=>{const{value:n}=r;n&&n.sync()});const C=T(()=>{const{size:n}=e,{common:{cubicBezierEaseInOut:l},self:{height:w,borderRadius:N,color:G,groupHeaderTextColor:ke,actionDividerColor:Ce,optionTextColorPressed:Te,optionTextColor:_e,optionTextColorDisabled:Pe,optionTextColorActive:Me,optionOpacityDisabled:Ne,optionCheckColor:Fe,actionTextColor:Ie,optionColorPending:Be,optionColorActive:Le,loadingColor:Oe,loadingSize:Ee,optionColorActivePending:He,[D("optionFontSize",n)]:$e,[D("optionHeight",n)]:Ve,[D("optionPadding",n)]:te}}=t.value;return{"--n-height":w,"--n-action-divider-color":Ce,"--n-action-text-color":Ie,"--n-bezier":l,"--n-border-radius":N,"--n-color":G,"--n-option-font-size":$e,"--n-group-header-text-color":ke,"--n-option-check-color":Fe,"--n-option-color-pending":Be,"--n-option-color-active":Le,"--n-option-color-active-pending":He,"--n-option-height":Ve,"--n-option-opacity-disabled":Ne,"--n-option-text-color":_e,"--n-option-text-color-active":Me,"--n-option-text-color-disabled":Pe,"--n-option-text-color-pressed":Te,"--n-option-padding":te,"--n-option-padding-left":oe(te,"left"),"--n-option-padding-right":oe(te,"right"),"--n-loading-color":Oe,"--n-loading-size":Ee}}),{inlineThemeDisabled:_}=e,p=_?Se("internal-select-menu",T(()=>e.size[0]),C,e):void 0,P={selfRef:o,next:q,prev:U,getPendingTmNode:I};return gt(o,e.onResize),Object.assign({mergedTheme:t,virtualListRef:s,scrollbarRef:r,itemSize:m,padding:R,flattenedNodes:a,empty:h,virtualListContainer(){const{value:n}=s;return n==null?void 0:n.listElRef},virtualListContent(){const{value:n}=s;return n==null?void 0:n.itemsElRef},doScroll:M,handleFocusin:g,handleFocusout:k,handleKeyUp:J,handleKeyDown:Q,handleMouseDown:ee,handleVirtualListResize:x,handleVirtualListScroll:S,cssVars:_?void 0:C,themeClass:p==null?void 0:p.themeClass,onRender:p==null?void 0:p.onRender},P)},render(){const{$slots:e,virtualScroll:t,clsPrefix:o,mergedTheme:s,themeClass:r,onRender:a}=this;return a==null||a(),d("div",{ref:"selfRef",tabindex:this.focusable?0:-1,class:[`${o}-base-select-menu`,r,this.multiple&&`${o}-base-select-menu--multiple`],style:this.cssVars,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onKeyup:this.handleKeyUp,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},this.loading?d("div",{class:`${o}-base-select-menu__loading`},d(ot,{clsPrefix:o,strokeWidth:20})):this.empty?d("div",{class:`${o}-base-select-menu__empty`,"data-empty":!0},lt(e.empty,()=>[d(St,{theme:s.peers.Empty,themeOverrides:s.peerOverrides.Empty})])):d(it,{ref:"scrollbarRef",theme:s.peers.Scrollbar,themeOverrides:s.peerOverrides.Scrollbar,scrollable:this.scrollable,container:t?this.virtualListContainer:void 0,content:t?this.virtualListContent:void 0,onScroll:t?void 0:this.doScroll},{default:()=>t?d(mt,{ref:"virtualListRef",class:`${o}-virtual-list`,items:this.flattenedNodes,itemSize:this.itemSize,showScrollbar:!1,paddingTop:this.padding.top,paddingBottom:this.padding.bottom,onResize:this.handleVirtualListResize,onScroll:this.handleVirtualListScroll,itemResizable:!0},{default:({item:u})=>u.isGroup?d(be,{key:u.key,clsPrefix:o,tmNode:u}):u.ignored?null:d(pe,{clsPrefix:o,key:u.key,tmNode:u})}):d("div",{class:`${o}-base-select-menu-option-wrapper`,style:{paddingTop:this.padding.top,paddingBottom:this.padding.bottom}},this.flattenedNodes.map(u=>u.isGroup?d(be,{key:u.key,clsPrefix:o,tmNode:u}):d(pe,{clsPrefix:o,key:u.key,tmNode:u})))}),nt(e.action,u=>u&&[d("div",{class:`${o}-base-select-menu__action`,"data-action":!0,key:"action"},u),d(yt,{onFocus:this.onTabOut,key:"focus-detector"})]))}}),Ft=O({name:"ListItem",setup(){const e=X(ct,null);return e||st("list-item","`n-list-item` must be placed in `n-list`."),{showDivider:e.showDividerRef,mergedClsPrefix:e.mergedClsPrefixRef}},render(){const{$slots:e,mergedClsPrefix:t}=this;return d("li",{class:`${t}-list-item`},e.prefix?d("div",{class:`${t}-list-item__prefix`},e.prefix()):null,e.default?d("div",{class:`${t}-list-item__main`},e):null,e.suffix?d("div",{class:`${t}-list-item__suffix`},e.suffix()):null,this.showDivider&&d("div",{class:`${t}-list-item__divider`}))}}),kt=e=>{const{heightSmall:t,heightMedium:o,heightLarge:s,borderRadius:r}=e;return{color:"#eee",colorEnd:"#ddd",borderRadius:r,heightSmall:t,heightMedium:o,heightLarge:s}},Ct={name:"Skeleton",common:at,self:kt},Tt=j([L("skeleton",` + `,[Je({enterScale:"0.5"})])])]),Nt=O({name:"InternalSelectMenu",props:Object.assign(Object.assign({},W.props),{clsPrefix:{type:String,required:!0},scrollable:{type:Boolean,default:!0},treeMate:{type:Object,required:!0},multiple:Boolean,size:{type:String,default:"medium"},value:{type:[String,Number,Array],default:null},autoPending:Boolean,virtualScroll:{type:Boolean,default:!0},show:{type:Boolean,default:!0},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},loading:Boolean,focusable:Boolean,renderLabel:Function,renderOption:Function,nodeProps:Function,showCheckmark:{type:Boolean,default:!0},onMousedown:Function,onScroll:Function,onFocus:Function,onBlur:Function,onKeyup:Function,onKeydown:Function,onTabOut:Function,onMouseenter:Function,onMouseleave:Function,onResize:Function,resetMenuOnOptionsChange:{type:Boolean,default:!0},inlineThemeDisabled:Boolean,onToggle:Function}),setup(e){const t=W("InternalSelectMenu","-internal-select-menu",zt,Qe,e,H(e,"clsPrefix")),o=$(null),s=$(null),r=$(null),a=T(()=>e.treeMate.getFlattenedNodes()),u=T(()=>lt(a.value)),v=$(null);function z(){const{treeMate:n}=e;let l=null;const{value:w}=e;w===null?l=n.getFirstAvailableNode():(e.multiple?l=n.getNode((w||[])[(w||[]).length-1]):l=n.getNode(w),(!l||l.disabled)&&(l=n.getFirstAvailableNode())),i(l||null)}function b(){const{value:n}=v;n&&!e.treeMate.getNode(n.key)&&(v.value=null)}let f;ue(()=>e.show,n=>{n?f=ue(()=>e.treeMate,()=>{e.resetMenuOnOptionsChange?(e.autoPending?z():b(),et(c)):b()},{immediate:!0}):f==null||f()},{immediate:!0}),xe(()=>{f==null||f()});const m=T(()=>re(t.value.self[D("optionHeight",e.size)])),R=T(()=>oe(t.value.self[D("padding",e.size)])),F=T(()=>e.multiple&&Array.isArray(e.value)?new Set(e.value):new Set),h=T(()=>{const n=a.value;return n&&n.length===0});function y(n){const{onToggle:l}=e;l&&l(n)}function M(n){const{onScroll:l}=e;l&&l(n)}function S(n){var l;(l=r.value)===null||l===void 0||l.sync(),M(n)}function x(){var n;(n=r.value)===null||n===void 0||n.sync()}function I(){const{value:n}=v;return n||null}function B(n,l){l.disabled||i(l,!1)}function E(n,l){l.disabled||y(l)}function J(n){var l;ve(n,"action")||(l=e.onKeyup)===null||l===void 0||l.call(e,n)}function Q(n){var l;ve(n,"action")||(l=e.onKeydown)===null||l===void 0||l.call(e,n)}function ee(n){var l;(l=e.onMousedown)===null||l===void 0||l.call(e,n),!e.focusable&&n.preventDefault()}function q(){const{value:n}=v;n&&i(n.getNext({loop:!0}),!0)}function U(){const{value:n}=v;n&&i(n.getPrev({loop:!0}),!0)}function i(n,l=!1){v.value=n,l&&c()}function c(){var n,l;const w=v.value;if(!w)return;const N=u.value(w.key);N!==null&&(e.virtualScroll?(n=s.value)===null||n===void 0||n.scrollTo({index:N}):(l=r.value)===null||l===void 0||l.scrollTo({index:N,elSize:m.value}))}function g(n){var l,w;!((l=o.value)===null||l===void 0)&&l.contains(n.target)&&((w=e.onFocus)===null||w===void 0||w.call(e,n))}function k(n){var l,w;!((l=o.value)===null||l===void 0)&&l.contains(n.relatedTarget)||(w=e.onBlur)===null||w===void 0||w.call(e,n)}fe(ae,{handleOptionMouseEnter:B,handleOptionClick:E,valueSetRef:F,pendingTmNodeRef:v,nodePropsRef:H(e,"nodeProps"),showCheckmarkRef:H(e,"showCheckmark"),multipleRef:H(e,"multiple"),valueRef:H(e,"value"),renderLabelRef:H(e,"renderLabel"),renderOptionRef:H(e,"renderOption"),labelFieldRef:H(e,"labelField"),valueFieldRef:H(e,"valueField")}),fe(rt,o),se(()=>{const{value:n}=r;n&&n.sync()});const C=T(()=>{const{size:n}=e,{common:{cubicBezierEaseInOut:l},self:{height:w,borderRadius:N,color:G,groupHeaderTextColor:ke,actionDividerColor:Ce,optionTextColorPressed:Te,optionTextColor:_e,optionTextColorDisabled:Pe,optionTextColorActive:Me,optionOpacityDisabled:Ne,optionCheckColor:Fe,actionTextColor:Ie,optionColorPending:Be,optionColorActive:Le,loadingColor:Oe,loadingSize:Ee,optionColorActivePending:He,[D("optionFontSize",n)]:$e,[D("optionHeight",n)]:Ve,[D("optionPadding",n)]:te}}=t.value;return{"--n-height":w,"--n-action-divider-color":Ce,"--n-action-text-color":Ie,"--n-bezier":l,"--n-border-radius":N,"--n-color":G,"--n-option-font-size":$e,"--n-group-header-text-color":ke,"--n-option-check-color":Fe,"--n-option-color-pending":Be,"--n-option-color-active":Le,"--n-option-color-active-pending":He,"--n-option-height":Ve,"--n-option-opacity-disabled":Ne,"--n-option-text-color":_e,"--n-option-text-color-active":Me,"--n-option-text-color-disabled":Pe,"--n-option-text-color-pressed":Te,"--n-option-padding":te,"--n-option-padding-left":oe(te,"left"),"--n-option-padding-right":oe(te,"right"),"--n-loading-color":Oe,"--n-loading-size":Ee}}),{inlineThemeDisabled:_}=e,p=_?Se("internal-select-menu",T(()=>e.size[0]),C,e):void 0,P={selfRef:o,next:q,prev:U,getPendingTmNode:I};return gt(o,e.onResize),Object.assign({mergedTheme:t,virtualListRef:s,scrollbarRef:r,itemSize:m,padding:R,flattenedNodes:a,empty:h,virtualListContainer(){const{value:n}=s;return n==null?void 0:n.listElRef},virtualListContent(){const{value:n}=s;return n==null?void 0:n.itemsElRef},doScroll:M,handleFocusin:g,handleFocusout:k,handleKeyUp:J,handleKeyDown:Q,handleMouseDown:ee,handleVirtualListResize:x,handleVirtualListScroll:S,cssVars:_?void 0:C,themeClass:p==null?void 0:p.themeClass,onRender:p==null?void 0:p.onRender},P)},render(){const{$slots:e,virtualScroll:t,clsPrefix:o,mergedTheme:s,themeClass:r,onRender:a}=this;return a==null||a(),d("div",{ref:"selfRef",tabindex:this.focusable?0:-1,class:[`${o}-base-select-menu`,r,this.multiple&&`${o}-base-select-menu--multiple`],style:this.cssVars,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onKeyup:this.handleKeyUp,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},this.loading?d("div",{class:`${o}-base-select-menu__loading`},d(nt,{clsPrefix:o,strokeWidth:20})):this.empty?d("div",{class:`${o}-base-select-menu__empty`,"data-empty":!0},it(e.empty,()=>[d(St,{theme:s.peers.Empty,themeOverrides:s.peerOverrides.Empty})])):d(ot,{ref:"scrollbarRef",theme:s.peers.Scrollbar,themeOverrides:s.peerOverrides.Scrollbar,scrollable:this.scrollable,container:t?this.virtualListContainer:void 0,content:t?this.virtualListContent:void 0,onScroll:t?void 0:this.doScroll},{default:()=>t?d(mt,{ref:"virtualListRef",class:`${o}-virtual-list`,items:this.flattenedNodes,itemSize:this.itemSize,showScrollbar:!1,paddingTop:this.padding.top,paddingBottom:this.padding.bottom,onResize:this.handleVirtualListResize,onScroll:this.handleVirtualListScroll,itemResizable:!0},{default:({item:u})=>u.isGroup?d(be,{key:u.key,clsPrefix:o,tmNode:u}):u.ignored?null:d(pe,{clsPrefix:o,key:u.key,tmNode:u})}):d("div",{class:`${o}-base-select-menu-option-wrapper`,style:{paddingTop:this.padding.top,paddingBottom:this.padding.bottom}},this.flattenedNodes.map(u=>u.isGroup?d(be,{key:u.key,clsPrefix:o,tmNode:u}):d(pe,{clsPrefix:o,key:u.key,tmNode:u})))}),tt(e.action,u=>u&&[d("div",{class:`${o}-base-select-menu__action`,"data-action":!0,key:"action"},u),d(yt,{onFocus:this.onTabOut,key:"focus-detector"})]))}}),Ft=O({name:"ListItem",setup(){const e=X(ct,null);return e||st("list-item","`n-list-item` must be placed in `n-list`."),{showDivider:e.showDividerRef,mergedClsPrefix:e.mergedClsPrefixRef}},render(){const{$slots:e,mergedClsPrefix:t}=this;return d("li",{class:`${t}-list-item`},e.prefix?d("div",{class:`${t}-list-item__prefix`},e.prefix()):null,e.default?d("div",{class:`${t}-list-item__main`},e):null,e.suffix?d("div",{class:`${t}-list-item__suffix`},e.suffix()):null,this.showDivider&&d("div",{class:`${t}-list-item__divider`}))}}),kt=e=>{const{heightSmall:t,heightMedium:o,heightLarge:s,borderRadius:r}=e;return{color:"#eee",colorEnd:"#ddd",borderRadius:r,heightSmall:t,heightMedium:o,heightLarge:s}},Ct={name:"Skeleton",common:at,self:kt},Tt=j([L("skeleton",` height: 1em; width: 100%; transition: background-color .3s var(--n-bezier); diff --git a/web/dist/assets/Thing-2157b754.js b/web/dist/assets/Thing-7c7318d4.js similarity index 96% rename from web/dist/assets/Thing-2157b754.js rename to web/dist/assets/Thing-7c7318d4.js index b929e567..5ec26b44 100644 --- a/web/dist/assets/Thing-2157b754.js +++ b/web/dist/assets/Thing-7c7318d4.js @@ -1,4 +1,4 @@ -import{c as r,f as d,b as c,d as $,u as b,x as u,bE as y,i as E,y as S,A as w,h as i,ab as z}from"./index-c17d3913.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-dfd5495a.js";const C=r("thing",` display: flex; transition: color .3s var(--n-bezier); font-size: var(--n-font-size); diff --git a/web/dist/assets/Topic-3a36c606.css b/web/dist/assets/Topic-3a36c606.css new file mode 100644 index 00000000..9f41c2e0 --- /dev/null +++ b/web/dist/assets/Topic-3a36c606.css @@ -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} diff --git a/web/dist/assets/Topic-6db07811.css b/web/dist/assets/Topic-6db07811.css deleted file mode 100644 index b0af2242..00000000 --- a/web/dist/assets/Topic-6db07811.css +++ /dev/null @@ -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} diff --git a/web/dist/assets/Topic-6164b997.js b/web/dist/assets/Topic-e75f8e46.js similarity index 69% rename from web/dist/assets/Topic-6164b997.js rename to web/dist/assets/Topic-e75f8e46.js index c5062ac7..13d2a3f9 100644 --- a/web/dist/assets/Topic-6164b997.js +++ b/web/dist/assets/Topic-e75f8e46.js @@ -1 +1 @@ -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}; +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}; diff --git a/web/dist/assets/Upload-f8f7ade2.js b/web/dist/assets/Upload-4d55d917.js similarity index 99% rename from web/dist/assets/Upload-f8f7ade2.js rename to web/dist/assets/Upload-4d55d917.js index 101497bd..dd82803c 100644 --- a/web/dist/assets/Upload-f8f7ade2.js +++ b/web/dist/assets/Upload-4d55d917.js @@ -1,4 +1,4 @@ -import{cs as V,h as t,b as L,c as h,e as C,d as M,y as R,ba as q,N as j,ct as de,cu as ce,an as ue,cv as fe,u as ge,x as Q,cw as Te,z as te,A as he,n as $e,q as G,b8 as ee,aU as Se,L as Le,M as De,cx as pe,r as W,v as ze,bJ as _e,bA as Fe,K as Z,cy as Ie,cz as Oe,b1 as Ue,bB as je,cA as re,f as U,cB as Ne,cC as Ee,o as Ae,t as F,s as Me,p as qe,cD as He,ab as We,R as ne,V as Xe,w as ie}from"./index-c17d3913.js";const Ve=V("attach",t("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},t("g",{fill:"currentColor","fill-rule":"nonzero"},t("path",{d:"M3.25735931,8.70710678 L7.85355339,4.1109127 C8.82986412,3.13460197 10.4127766,3.13460197 11.3890873,4.1109127 C12.365398,5.08722343 12.365398,6.67013588 11.3890873,7.64644661 L6.08578644,12.9497475 C5.69526215,13.3402718 5.06209717,13.3402718 4.67157288,12.9497475 C4.28104858,12.5592232 4.28104858,11.9260582 4.67157288,11.5355339 L9.97487373,6.23223305 C10.1701359,6.0369709 10.1701359,5.72038841 9.97487373,5.52512627 C9.77961159,5.32986412 9.4630291,5.32986412 9.26776695,5.52512627 L3.96446609,10.8284271 C3.18341751,11.6094757 3.18341751,12.8758057 3.96446609,13.6568542 C4.74551468,14.4379028 6.01184464,14.4379028 6.79289322,13.6568542 L12.0961941,8.35355339 C13.4630291,6.98671837 13.4630291,4.77064094 12.0961941,3.40380592 C10.7293591,2.0369709 8.51328163,2.0369709 7.14644661,3.40380592 L2.55025253,8 C2.35499039,8.19526215 2.35499039,8.51184464 2.55025253,8.70710678 C2.74551468,8.90236893 3.06209717,8.90236893 3.25735931,8.70710678 Z"}))))),Ge=V("trash",t("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},t("path",{d:"M432,144,403.33,419.74A32,32,0,0,1,371.55,448H140.46a32,32,0,0,1-31.78-28.26L80,144",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}),t("rect",{x:"32",y:"64",width:"448",height:"80",rx:"16",ry:"16",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}),t("line",{x1:"312",y1:"240",x2:"200",y2:"352",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}),t("line",{x1:"312",y1:"352",x2:"200",y2:"240",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}))),Ye=V("download",t("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},t("g",{fill:"currentColor","fill-rule":"nonzero"},t("path",{d:"M3.5,13 L12.5,13 C12.7761424,13 13,13.2238576 13,13.5 C13,13.7454599 12.8231248,13.9496084 12.5898756,13.9919443 L12.5,14 L3.5,14 C3.22385763,14 3,13.7761424 3,13.5 C3,13.2545401 3.17687516,13.0503916 3.41012437,13.0080557 L3.5,13 L12.5,13 L3.5,13 Z M7.91012437,1.00805567 L8,1 C8.24545989,1 8.44960837,1.17687516 8.49194433,1.41012437 L8.5,1.5 L8.5,10.292 L11.1819805,7.6109127 C11.3555469,7.43734635 11.6249713,7.4180612 11.8198394,7.55305725 L11.8890873,7.6109127 C12.0626536,7.78447906 12.0819388,8.05390346 11.9469427,8.2487716 L11.8890873,8.31801948 L8.35355339,11.8535534 C8.17998704,12.0271197 7.91056264,12.0464049 7.7156945,11.9114088 L7.64644661,11.8535534 L4.1109127,8.31801948 C3.91565056,8.12275734 3.91565056,7.80617485 4.1109127,7.6109127 C4.28447906,7.43734635 4.55390346,7.4180612 4.7487716,7.55305725 L4.81801948,7.6109127 L7.5,10.292 L7.5,1.5 C7.5,1.25454011 7.67687516,1.05039163 7.91012437,1.00805567 L8,1 L7.91012437,1.00805567 Z"}))))),Ke=V("cancel",t("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},t("g",{fill:"currentColor","fill-rule":"nonzero"},t("path",{d:"M2.58859116,2.7156945 L2.64644661,2.64644661 C2.82001296,2.47288026 3.08943736,2.45359511 3.2843055,2.58859116 L3.35355339,2.64644661 L8,7.293 L12.6464466,2.64644661 C12.8417088,2.45118446 13.1582912,2.45118446 13.3535534,2.64644661 C13.5488155,2.84170876 13.5488155,3.15829124 13.3535534,3.35355339 L8.707,8 L13.3535534,12.6464466 C13.5271197,12.820013 13.5464049,13.0894374 13.4114088,13.2843055 L13.3535534,13.3535534 C13.179987,13.5271197 12.9105626,13.5464049 12.7156945,13.4114088 L12.6464466,13.3535534 L8,8.707 L3.35355339,13.3535534 C3.15829124,13.5488155 2.84170876,13.5488155 2.64644661,13.3535534 C2.45118446,13.1582912 2.45118446,12.8417088 2.64644661,12.6464466 L7.293,8 L2.64644661,3.35355339 C2.47288026,3.17998704 2.45359511,2.91056264 2.58859116,2.7156945 L2.64644661,2.64644661 L2.58859116,2.7156945 Z"}))))),Ze=V("retry",t("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},t("path",{d:"M320,146s24.36-12-64-12A160,160,0,1,0,416,294",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-miterlimit: 10; stroke-width: 32px;"}),t("polyline",{points:"256 58 336 138 256 218",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}))),Je=L([h("progress",{display:"inline-block"},[h("progress-icon",` +import{cs as V,h as t,b as L,c as h,e as C,d as M,y as R,ba as q,N as j,ct as de,cu as ce,an as ue,cv as fe,u as ge,x as Q,cw as Te,z as te,A as he,n as $e,q as G,b8 as ee,aU as Se,L as Le,M as De,cx as pe,r as W,v as ze,bJ as _e,bA as Fe,K as Z,cy as Ie,cz as Oe,b1 as Ue,bB as je,cA as re,f as U,cB as Ne,cC as Ee,o as Ae,t as F,s as Me,p as qe,cD as He,ab as We,R as ne,V as Xe,w as ie}from"./index-dfd5495a.js";const Ve=V("attach",t("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},t("g",{fill:"currentColor","fill-rule":"nonzero"},t("path",{d:"M3.25735931,8.70710678 L7.85355339,4.1109127 C8.82986412,3.13460197 10.4127766,3.13460197 11.3890873,4.1109127 C12.365398,5.08722343 12.365398,6.67013588 11.3890873,7.64644661 L6.08578644,12.9497475 C5.69526215,13.3402718 5.06209717,13.3402718 4.67157288,12.9497475 C4.28104858,12.5592232 4.28104858,11.9260582 4.67157288,11.5355339 L9.97487373,6.23223305 C10.1701359,6.0369709 10.1701359,5.72038841 9.97487373,5.52512627 C9.77961159,5.32986412 9.4630291,5.32986412 9.26776695,5.52512627 L3.96446609,10.8284271 C3.18341751,11.6094757 3.18341751,12.8758057 3.96446609,13.6568542 C4.74551468,14.4379028 6.01184464,14.4379028 6.79289322,13.6568542 L12.0961941,8.35355339 C13.4630291,6.98671837 13.4630291,4.77064094 12.0961941,3.40380592 C10.7293591,2.0369709 8.51328163,2.0369709 7.14644661,3.40380592 L2.55025253,8 C2.35499039,8.19526215 2.35499039,8.51184464 2.55025253,8.70710678 C2.74551468,8.90236893 3.06209717,8.90236893 3.25735931,8.70710678 Z"}))))),Ge=V("trash",t("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},t("path",{d:"M432,144,403.33,419.74A32,32,0,0,1,371.55,448H140.46a32,32,0,0,1-31.78-28.26L80,144",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}),t("rect",{x:"32",y:"64",width:"448",height:"80",rx:"16",ry:"16",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}),t("line",{x1:"312",y1:"240",x2:"200",y2:"352",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}),t("line",{x1:"312",y1:"352",x2:"200",y2:"240",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}))),Ye=V("download",t("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},t("g",{fill:"currentColor","fill-rule":"nonzero"},t("path",{d:"M3.5,13 L12.5,13 C12.7761424,13 13,13.2238576 13,13.5 C13,13.7454599 12.8231248,13.9496084 12.5898756,13.9919443 L12.5,14 L3.5,14 C3.22385763,14 3,13.7761424 3,13.5 C3,13.2545401 3.17687516,13.0503916 3.41012437,13.0080557 L3.5,13 L12.5,13 L3.5,13 Z M7.91012437,1.00805567 L8,1 C8.24545989,1 8.44960837,1.17687516 8.49194433,1.41012437 L8.5,1.5 L8.5,10.292 L11.1819805,7.6109127 C11.3555469,7.43734635 11.6249713,7.4180612 11.8198394,7.55305725 L11.8890873,7.6109127 C12.0626536,7.78447906 12.0819388,8.05390346 11.9469427,8.2487716 L11.8890873,8.31801948 L8.35355339,11.8535534 C8.17998704,12.0271197 7.91056264,12.0464049 7.7156945,11.9114088 L7.64644661,11.8535534 L4.1109127,8.31801948 C3.91565056,8.12275734 3.91565056,7.80617485 4.1109127,7.6109127 C4.28447906,7.43734635 4.55390346,7.4180612 4.7487716,7.55305725 L4.81801948,7.6109127 L7.5,10.292 L7.5,1.5 C7.5,1.25454011 7.67687516,1.05039163 7.91012437,1.00805567 L8,1 L7.91012437,1.00805567 Z"}))))),Ke=V("cancel",t("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},t("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},t("g",{fill:"currentColor","fill-rule":"nonzero"},t("path",{d:"M2.58859116,2.7156945 L2.64644661,2.64644661 C2.82001296,2.47288026 3.08943736,2.45359511 3.2843055,2.58859116 L3.35355339,2.64644661 L8,7.293 L12.6464466,2.64644661 C12.8417088,2.45118446 13.1582912,2.45118446 13.3535534,2.64644661 C13.5488155,2.84170876 13.5488155,3.15829124 13.3535534,3.35355339 L8.707,8 L13.3535534,12.6464466 C13.5271197,12.820013 13.5464049,13.0894374 13.4114088,13.2843055 L13.3535534,13.3535534 C13.179987,13.5271197 12.9105626,13.5464049 12.7156945,13.4114088 L12.6464466,13.3535534 L8,8.707 L3.35355339,13.3535534 C3.15829124,13.5488155 2.84170876,13.5488155 2.64644661,13.3535534 C2.45118446,13.1582912 2.45118446,12.8417088 2.64644661,12.6464466 L7.293,8 L2.64644661,3.35355339 C2.47288026,3.17998704 2.45359511,2.91056264 2.58859116,2.7156945 L2.64644661,2.64644661 L2.58859116,2.7156945 Z"}))))),Ze=V("retry",t("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},t("path",{d:"M320,146s24.36-12-64-12A160,160,0,1,0,416,294",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-miterlimit: 10; stroke-width: 32px;"}),t("polyline",{points:"256 58 336 138 256 218",style:"fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 32px;"}))),Je=L([h("progress",{display:"inline-block"},[h("progress-icon",` color: var(--n-icon-color); transition: color .3s var(--n-bezier); `),C("line",` diff --git a/web/dist/assets/User-c0bbddf5.js b/web/dist/assets/User-30ca5925.js similarity index 78% rename from web/dist/assets/User-c0bbddf5.js rename to web/dist/assets/User-30ca5925.js index ff70234c..c608dfe1 100644 --- a/web/dist/assets/User-c0bbddf5.js +++ b/web/dist/assets/User-30ca5925.js @@ -1,4 +1,4 @@ -import{_ as be}from"./post-item.vue_vue_type_style_index_0_lang-ce942869.js";import{_ as ye}from"./post-skeleton-40e81755.js";import{E as ke,k as G,b5 as xe,c as K,a as Se,e as D,d as L,u as Q,x as B,r as m,y as T,b6 as Ce,h as W,ag as $e,b7 as Te,b8 as Re,q as ze,b9 as Ie,m as P,ba as Ee,z as A,A as Pe,W as b,a6 as U,a5 as p,Z as k,a4 as i,a9 as R,aa as I,bb as Ue,_ as Y,K as F,aN as Z,al as j,bc as Le,bd as Oe,be as We,S as Be,a2 as Fe,Y as $,ai as je,bf as Me,a3 as z,a7 as E,ab as Ne,ac as qe,$ as De,b4 as Ae,bg as Ve,bh as He,ae as Ge,aL as Ke,af as Qe,aM as Ye,aQ as Ze,aR as Je,aS as Xe}from"./index-c17d3913.js";import{u as en,a as nn,_ as tn}from"./Skeleton-ca436747.js";import{_ as J}from"./Alert-e0e350bb.js";import{_ as sn}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";import{M as an}from"./MoreHorizFilled-6e21ff10.js";import{_ as on}from"./List-28c5febd.js";import{_ as ln}from"./Pagination-84d10fc7.js";import"./content-c9c72716.js";import"./formatTime-09781e30.js";import"./Thing-2157b754.js";const rn=ke({name:"Ellipsis",common:G,peers:{Tooltip:xe}}),cn=rn,un=K("ellipsis",{overflow:"hidden"},[Se("line-clamp",` +import{_ as be}from"./post-item.vue_vue_type_style_index_0_lang-8c8699fb.js";import{_ as ye}from"./post-skeleton-445c3b83.js";import{E as ke,k as G,b5 as xe,c as K,a as Se,e as D,d as L,u as Q,x as B,r as m,y as T,b6 as Ce,h as W,ag as $e,b7 as Te,b8 as Re,q as ze,b9 as Ie,m as P,ba as Ee,z as A,A as Pe,W as b,a6 as U,a5 as p,Z as k,a4 as i,a9 as R,aa as I,bb as Ue,_ as Y,K as F,aN as Z,al as j,bc as Le,bd as Oe,be as We,S as Be,a2 as Fe,Y as $,a3 as z,a7 as E,ai as je,bf as Me,ab as Ne,ac as qe,$ as De,b4 as Ae,bg as Ve,bh as He,ae as Ge,aL as Ke,af as Qe,aM as Ye,aQ as Ze,aR as Je,aS as Xe}from"./index-dfd5495a.js";import{u as en,a as nn,_ as tn}from"./Skeleton-6c42d34d.js";import{_ as J}from"./Alert-f1e64ed3.js";import{_ as sn}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{M as an}from"./MoreHorizFilled-c8a99fb4.js";import{_ as on}from"./List-872c113a.js";import{_ as ln}from"./Pagination-35c2dd8e.js";import"./content-91421e79.js";import"./formatTime-0c777b4d.js";import"./Thing-7c7318d4.js";const rn=ke({name:"Ellipsis",common:G,peers:{Tooltip:xe}}),cn=rn,un=K("ellipsis",{overflow:"hidden"},[Se("line-clamp",` white-space: nowrap; display: inline-block; vertical-align: bottom; @@ -19,4 +19,4 @@ import{_ as be}from"./post-item.vue_vue_type_style_index_0_lang-ce942869.js";imp transition: --n-color-start .3s var(--n-bezier), --n-color-end .3s var(--n-bezier); -`),hn=Object.assign(Object.assign({},B.props),{size:[String,Number],fontSize:[String,Number],type:{type:String,default:"primary"},color:[Object,String],gradient:[Object,String]}),ee=L({name:"GradientText",props:hn,setup(e){en();const{mergedClsPrefixRef:l,inlineThemeDisabled:c}=Q(e),t=T(()=>{const{type:o}=e;return o==="danger"?"error":o}),r=T(()=>{let o=e.size||e.fontSize;return o&&(o=Ee(o)),o||void 0}),n=T(()=>{const o=e.color||e.gradient;if(typeof o=="string")return o;if(o){const h=o.deg||0,v=o.from,w=o.to;return`linear-gradient(${h}deg, ${v} 0%, ${w} 100%)`}}),u=B("GradientText","-gradient-text",gn,fn,e,l),f=T(()=>{const{value:o}=t,{common:{cubicBezierEaseInOut:h},self:{rotate:v,[A("colorStart",o)]:w,[A("colorEnd",o)]:x,fontWeight:S}}=u.value;return{"--n-bezier":h,"--n-rotate":v,"--n-color-start":w,"--n-color-end":x,"--n-font-weight":S}}),d=c?Pe("gradient-text",T(()=>t.value[0]),f,e):void 0;return{mergedClsPrefix:l,compatibleType:t,styleFontSize:r,styleBgImage:n,cssVars:c?void 0:f,themeClass:d==null?void 0:d.themeClass,onRender:d==null?void 0:d.onRender}},render(){const{mergedClsPrefix:e,onRender:l}=this;return l==null||l(),W("span",{class:[`${e}-gradient-text`,`${e}-gradient-text--${this.compatibleType}-type`,this.themeClass],style:[{fontSize:this.styleFontSize,backgroundImage:this.styleBgImage},this.cssVars]},this.$slots)}}),vn={class:"whisper-wrap"},wn={class:"whisper-line"},bn={class:"whisper-line send-wrap"},yn=L({__name:"whisper",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(e,{emit:l}){const c=e,t=m(""),r=m(!1),n=()=>{l("success")},u=()=>{r.value=!0,Ue({user_id:c.user.id,content:t.value}).then(f=>{window.$message.success("发送成功"),r.value=!1,t.value="",n()}).catch(f=>{r.value=!1})};return(f,d)=>{const o=ee,h=X,v=J,w=Y,x=F,S=Z;return b(),U(S,{show:e.show,"onUpdate:show":n,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:p(()=>[k("div",vn,[i(v,{"show-icon":!1},{default:p(()=>[R(" 即将发送私信给: "),i(h,{style:{"max-width":"100%"}},{default:p(()=>[i(o,{type:"success"},{default:p(()=>[R(I(e.user.nickname)+"@"+I(e.user.username),1)]),_:1})]),_:1})]),_:1}),k("div",wn,[i(w,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:t.value,"onUpdate:value":d[0]||(d[0]=y=>t.value=y),maxlength:"200","show-count":""},null,8,["value"])]),k("div",bn,[i(x,{strong:"",secondary:"",type:"primary",loading:r.value,onClick:u},{default:p(()=>[R(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const kn=j(yn,[["__scopeId","data-v-b5f47c62"]]),xn={class:"whisper-wrap"},Sn={class:"whisper-line"},Cn={class:"whisper-line send-wrap"},$n=L({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(e,{emit:l}){const c=e,t=m(""),r=m(!1),n=()=>{l("success")},u=()=>{r.value=!0,Le({user_id:c.user.id,greetings:t.value}).then(f=>{window.$message.success("发送成功"),r.value=!1,t.value="",n()}).catch(f=>{r.value=!1})};return(f,d)=>{const o=ee,h=X,v=J,w=Y,x=F,S=Z;return b(),U(S,{show:e.show,"onUpdate:show":n,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:p(()=>[k("div",xn,[i(v,{"show-icon":!1},{default:p(()=>[R(" 发送添加朋友申请给: "),i(h,{style:{"max-width":"100%"}},{default:p(()=>[i(o,{type:"success"},{default:p(()=>[R(I(e.user.nickname)+"@"+I(e.user.username),1)]),_:1})]),_:1})]),_:1}),k("div",Sn,[i(w,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:t.value,"onUpdate:value":d[0]||(d[0]=y=>t.value=y),maxlength:"120","show-count":""},null,8,["value"])]),k("div",Cn,[i(x,{strong:"",secondary:"",type:"primary",loading:r.value,onClick:u},{default:p(()=>[R(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Tn=j($n,[["__scopeId","data-v-f53aca56"]]),Rn={key:0,class:"profile-baseinfo"},zn={class:"avatar"},In={class:"base-info"},En={class:"username"},Pn={class:"uid"},Un={key:0,class:"user-opts"},Ln={key:0,class:"pagination-wrap"},On={key:0,class:"skeleton-wrap"},Wn={key:1},Bn={key:0,class:"empty-wrap"},Fn=L({__name:"User",setup(e){Oe();const l=_n(),c=De(),t=je(),r=m(!1),n=We({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),u=m(!1),f=m(!1),d=m(!1),o=m([]),h=m(t.query.username||""),v=m(+t.query.p||1),w=m(20),x=m(0),S=()=>{r.value=!0,Ae({username:h.value,page:v.value,page_size:w.value}).then(s=>{r.value=!1,o.value=s.list,x.value=Math.ceil(s.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(s=>{r.value=!1})},y=()=>{u.value=!0,Me({username:h.value}).then(s=>{u.value=!1,n.id=s.id,n.avatar=s.avatar,n.username=s.username,n.nickname=s.nickname,n.is_admin=s.is_admin,n.is_friend=s.is_friend,n.status=s.status,S()}).catch(s=>{u.value=!1,console.log(s)})},a=s=>{v.value=s,S()},_=()=>{f.value=!0},g=()=>{d.value=!0},C=()=>{f.value=!1},O=()=>{d.value=!1},ne=T(()=>{let s=[{label:"私信",key:"whisper"}];return c.state.userInfo.is_admin&&(n.status===1?s.push({label:"禁言",key:"banned"}):s.push({label:"解封",key:"deblocking"})),n.is_friend?s.push({label:"删除好友",key:"delete"}):s.push({label:"添加朋友",key:"requesting"}),s}),te=s=>{switch(s){case"whisper":_();break;case"delete":se();break;case"requesting":g();break;case"banned":case"deblocking":ae();break}},se=()=>{l.warning({title:"删除好友",content:"将好友 “"+n.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{u.value=!0,Ve({user_id:n.id}).then(s=>{u.value=!1,n.is_friend=!1,S()}).catch(s=>{u.value=!1,console.log(s)})}})},ae=()=>{l.warning({title:"警告",content:"确定对该用户进行"+(n.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{u.value=!0,He({id:n.id,status:n.status===1?2:1}).then(s=>{u.value=!1,y()}).catch(s=>{u.value=!1,console.log(s)})}})};return Be(()=>({path:t.path,query:t.query}),(s,M)=>{M.path==="/user"&&s.path==="/user"&&(h.value=t.query.username||"",y())}),Fe(()=>{y()}),(s,M)=>{const oe=sn,ie=Ge,N=Ke,le=Qe,re=F,ce=Ye,ue=kn,de=Ze,_e=ln,pe=Je,me=Xe,fe=ye,ge=nn,he=be,ve=tn,we=on;return b(),$("div",null,[i(oe,{title:"用户详情"}),i(we,{class:"main-content-wrap profile-wrap",bordered:""},{footer:p(()=>[x.value>0?(b(),$("div",Ln,[i(_e,{page:v.value,"onUpdate:page":a,"page-slot":z(c).state.collapsedRight?5:8,"page-count":x.value},null,8,["page","page-slot","page-count"])])):E("",!0)]),default:p(()=>[i(de,{show:u.value},{default:p(()=>[n.id>0?(b(),$("div",Rn,[k("div",zn,[i(ie,{size:"large",src:n.avatar},null,8,["src"])]),k("div",In,[k("div",En,[k("strong",null,I(n.nickname),1),k("span",null," @"+I(n.username),1),z(c).state.userInfo.id>0&&z(c).state.userInfo.username!=n.username&&n.is_friend?(b(),U(N,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:p(()=>[R(" 好友 ")]),_:1})):E("",!0),n.is_admin?(b(),U(N,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:p(()=>[R(" 管理员 ")]),_:1})):E("",!0)]),k("div",Pn,"UID. "+I(n.id),1)]),z(c).state.userInfo.id>0&&z(c).state.userInfo.username!=n.username?(b(),$("div",Un,[i(ce,{placement:"bottom-end",trigger:"click",size:"small",options:z(ne),onSelect:te},{default:p(()=>[i(re,{quaternary:"",circle:""},{icon:p(()=>[i(le,null,{default:p(()=>[i(z(an))]),_:1})]),_:1})]),_:1},8,["options"])])):E("",!0)])):E("",!0),i(ue,{show:f.value,user:n,onSuccess:C},null,8,["show","user"]),i(Tn,{show:d.value,user:n,onSuccess:O},null,8,["show","user"])]),_:1},8,["show"]),i(me,{class:"profile-tabs-wrap",animated:""},{default:p(()=>[i(pe,{name:"post",tab:"泡泡"})]),_:1}),r.value?(b(),$("div",On,[i(fe,{num:w.value},null,8,["num"])])):(b(),$("div",Wn,[o.value.length===0?(b(),$("div",Bn,[i(ge,{size:"large",description:"暂无数据"})])):E("",!0),(b(!0),$(Ne,null,qe(o.value,q=>(b(),U(ve,{key:q.id},{default:p(()=>[i(he,{post:q},null,8,["post"])]),_:2},1024))),128))]))]),_:1})])}}});const Zn=j(Fn,[["__scopeId","data-v-8cd7572c"]]);export{Zn as default}; +`),hn=Object.assign(Object.assign({},B.props),{size:[String,Number],fontSize:[String,Number],type:{type:String,default:"primary"},color:[Object,String],gradient:[Object,String]}),ee=L({name:"GradientText",props:hn,setup(e){en();const{mergedClsPrefixRef:l,inlineThemeDisabled:c}=Q(e),t=T(()=>{const{type:o}=e;return o==="danger"?"error":o}),r=T(()=>{let o=e.size||e.fontSize;return o&&(o=Ee(o)),o||void 0}),n=T(()=>{const o=e.color||e.gradient;if(typeof o=="string")return o;if(o){const h=o.deg||0,v=o.from,w=o.to;return`linear-gradient(${h}deg, ${v} 0%, ${w} 100%)`}}),u=B("GradientText","-gradient-text",gn,fn,e,l),f=T(()=>{const{value:o}=t,{common:{cubicBezierEaseInOut:h},self:{rotate:v,[A("colorStart",o)]:w,[A("colorEnd",o)]:x,fontWeight:S}}=u.value;return{"--n-bezier":h,"--n-rotate":v,"--n-color-start":w,"--n-color-end":x,"--n-font-weight":S}}),d=c?Pe("gradient-text",T(()=>t.value[0]),f,e):void 0;return{mergedClsPrefix:l,compatibleType:t,styleFontSize:r,styleBgImage:n,cssVars:c?void 0:f,themeClass:d==null?void 0:d.themeClass,onRender:d==null?void 0:d.onRender}},render(){const{mergedClsPrefix:e,onRender:l}=this;return l==null||l(),W("span",{class:[`${e}-gradient-text`,`${e}-gradient-text--${this.compatibleType}-type`,this.themeClass],style:[{fontSize:this.styleFontSize,backgroundImage:this.styleBgImage},this.cssVars]},this.$slots)}}),vn={class:"whisper-wrap"},wn={class:"whisper-line"},bn={class:"whisper-line send-wrap"},yn=L({__name:"whisper",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(e,{emit:l}){const c=e,t=m(""),r=m(!1),n=()=>{l("success")},u=()=>{r.value=!0,Ue({user_id:c.user.id,content:t.value}).then(f=>{window.$message.success("发送成功"),r.value=!1,t.value="",n()}).catch(f=>{r.value=!1})};return(f,d)=>{const o=ee,h=X,v=J,w=Y,x=F,S=Z;return b(),U(S,{show:e.show,"onUpdate:show":n,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:p(()=>[k("div",vn,[i(v,{"show-icon":!1},{default:p(()=>[R(" 即将发送私信给: "),i(h,{style:{"max-width":"100%"}},{default:p(()=>[i(o,{type:"success"},{default:p(()=>[R(I(e.user.nickname)+"@"+I(e.user.username),1)]),_:1})]),_:1})]),_:1}),k("div",wn,[i(w,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:t.value,"onUpdate:value":d[0]||(d[0]=y=>t.value=y),maxlength:"200","show-count":""},null,8,["value"])]),k("div",bn,[i(x,{strong:"",secondary:"",type:"primary",loading:r.value,onClick:u},{default:p(()=>[R(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const kn=j(yn,[["__scopeId","data-v-0cbfe47c"]]),xn={class:"whisper-wrap"},Sn={class:"whisper-line"},Cn={class:"whisper-line send-wrap"},$n=L({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(e,{emit:l}){const c=e,t=m(""),r=m(!1),n=()=>{l("success")},u=()=>{r.value=!0,Le({user_id:c.user.id,greetings:t.value}).then(f=>{window.$message.success("发送成功"),r.value=!1,t.value="",n()}).catch(f=>{r.value=!1})};return(f,d)=>{const o=ee,h=X,v=J,w=Y,x=F,S=Z;return b(),U(S,{show:e.show,"onUpdate:show":n,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:p(()=>[k("div",xn,[i(v,{"show-icon":!1},{default:p(()=>[R(" 发送添加朋友申请给: "),i(h,{style:{"max-width":"100%"}},{default:p(()=>[i(o,{type:"success"},{default:p(()=>[R(I(e.user.nickname)+"@"+I(e.user.username),1)]),_:1})]),_:1})]),_:1}),k("div",Sn,[i(w,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:t.value,"onUpdate:value":d[0]||(d[0]=y=>t.value=y),maxlength:"120","show-count":""},null,8,["value"])]),k("div",Cn,[i(x,{strong:"",secondary:"",type:"primary",loading:r.value,onClick:u},{default:p(()=>[R(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Tn=j($n,[["__scopeId","data-v-60be56a2"]]),Rn={key:0,class:"profile-baseinfo"},zn={class:"avatar"},In={class:"base-info"},En={class:"username"},Pn={class:"uid"},Un={key:0,class:"user-opts"},Ln={key:0,class:"skeleton-wrap"},On={key:1},Wn={key:0,class:"empty-wrap"},Bn={key:0,class:"pagination-wrap"},Fn=L({__name:"User",setup(e){Oe();const l=_n(),c=De(),t=je(),r=m(!1),n=We({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),u=m(!1),f=m(!1),d=m(!1),o=m([]),h=m(t.query.username||""),v=m(+t.query.p||1),w=m(20),x=m(0),S=()=>{r.value=!0,Ae({username:h.value,page:v.value,page_size:w.value}).then(s=>{r.value=!1,o.value=s.list,x.value=Math.ceil(s.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(s=>{r.value=!1})},y=()=>{u.value=!0,Me({username:h.value}).then(s=>{u.value=!1,n.id=s.id,n.avatar=s.avatar,n.username=s.username,n.nickname=s.nickname,n.is_admin=s.is_admin,n.is_friend=s.is_friend,n.status=s.status,S()}).catch(s=>{u.value=!1,console.log(s)})},a=s=>{v.value=s,S()},_=()=>{f.value=!0},g=()=>{d.value=!0},C=()=>{f.value=!1},O=()=>{d.value=!1},ne=T(()=>{let s=[{label:"私信",key:"whisper"}];return c.state.userInfo.is_admin&&(n.status===1?s.push({label:"禁言",key:"banned"}):s.push({label:"解封",key:"deblocking"})),n.is_friend?s.push({label:"删除好友",key:"delete"}):s.push({label:"添加朋友",key:"requesting"}),s}),te=s=>{switch(s){case"whisper":_();break;case"delete":se();break;case"requesting":g();break;case"banned":case"deblocking":ae();break}},se=()=>{l.warning({title:"删除好友",content:"将好友 “"+n.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{u.value=!0,Ve({user_id:n.id}).then(s=>{u.value=!1,n.is_friend=!1,S()}).catch(s=>{u.value=!1,console.log(s)})}})},ae=()=>{l.warning({title:"警告",content:"确定对该用户进行"+(n.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{u.value=!0,He({id:n.id,status:n.status===1?2:1}).then(s=>{u.value=!1,y()}).catch(s=>{u.value=!1,console.log(s)})}})};return Be(()=>({path:t.path,query:t.query}),(s,M)=>{M.path==="/user"&&s.path==="/user"&&(h.value=t.query.username||"",y())}),Fe(()=>{y()}),(s,M)=>{const oe=sn,ie=Ge,N=Ke,le=Qe,re=F,ce=Ye,ue=kn,de=Ze,_e=Je,pe=Xe,me=ye,fe=nn,ge=be,he=tn,ve=on,we=ln;return b(),$("div",null,[i(oe,{title:"用户详情"}),i(ve,{class:"main-content-wrap profile-wrap",bordered:""},{default:p(()=>[i(de,{show:u.value},{default:p(()=>[n.id>0?(b(),$("div",Rn,[k("div",zn,[i(ie,{size:"large",src:n.avatar},null,8,["src"])]),k("div",In,[k("div",En,[k("strong",null,I(n.nickname),1),k("span",null," @"+I(n.username),1),z(c).state.userInfo.id>0&&z(c).state.userInfo.username!=n.username&&n.is_friend?(b(),U(N,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:p(()=>[R(" 好友 ")]),_:1})):E("",!0),n.is_admin?(b(),U(N,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:p(()=>[R(" 管理员 ")]),_:1})):E("",!0)]),k("div",Pn,"UID. "+I(n.id),1)]),z(c).state.userInfo.id>0&&z(c).state.userInfo.username!=n.username?(b(),$("div",Un,[i(ce,{placement:"bottom-end",trigger:"click",size:"small",options:z(ne),onSelect:te},{default:p(()=>[i(re,{quaternary:"",circle:""},{icon:p(()=>[i(le,null,{default:p(()=>[i(z(an))]),_:1})]),_:1})]),_:1},8,["options"])])):E("",!0)])):E("",!0),i(ue,{show:f.value,user:n,onSuccess:C},null,8,["show","user"]),i(Tn,{show:d.value,user:n,onSuccess:O},null,8,["show","user"])]),_:1},8,["show"]),i(pe,{class:"profile-tabs-wrap",animated:""},{default:p(()=>[i(_e,{name:"post",tab:"泡泡"})]),_:1}),r.value?(b(),$("div",Ln,[i(me,{num:w.value},null,8,["num"])])):(b(),$("div",On,[o.value.length===0?(b(),$("div",Wn,[i(fe,{size:"large",description:"暂无数据"})])):E("",!0),(b(!0),$(Ne,null,qe(o.value,q=>(b(),U(he,{key:q.id},{default:p(()=>[i(ge,{post:q},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),x.value>0?(b(),$("div",Bn,[i(we,{page:v.value,"onUpdate:page":a,"page-slot":z(c).state.collapsedRight?5:8,"page-count":x.value},null,8,["page","page-slot","page-count"])])):E("",!0)])}}});const Zn=j(Fn,[["__scopeId","data-v-46a0183a"]]);export{Zn as default}; diff --git a/web/dist/assets/User-4f525d0f.css b/web/dist/assets/User-4f525d0f.css new file mode 100644 index 00000000..1af8b2d6 --- /dev/null +++ b/web/dist/assets/User-4f525d0f.css @@ -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} diff --git a/web/dist/assets/User-e49182fd.css b/web/dist/assets/User-e49182fd.css deleted file mode 100644 index d2de13b4..00000000 --- a/web/dist/assets/User-e49182fd.css +++ /dev/null @@ -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} diff --git a/web/dist/assets/Wallet-77044929.css b/web/dist/assets/Wallet-77044929.css new file mode 100644 index 00000000..7d3fb3a1 --- /dev/null +++ b/web/dist/assets/Wallet-77044929.css @@ -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} diff --git a/web/dist/assets/Wallet-7e67516c.css b/web/dist/assets/Wallet-7e67516c.css deleted file mode 100644 index fb5f9cfb..00000000 --- a/web/dist/assets/Wallet-7e67516c.css +++ /dev/null @@ -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} diff --git a/web/dist/assets/Wallet-21894a59.js b/web/dist/assets/Wallet-ea78d089.js similarity index 98% rename from web/dist/assets/Wallet-21894a59.js rename to web/dist/assets/Wallet-ea78d089.js index acaf2012..a3a93a57 100644 --- a/web/dist/assets/Wallet-21894a59.js +++ b/web/dist/assets/Wallet-ea78d089.js @@ -1,4 +1,4 @@ -import{_ as se}from"./post-skeleton-40e81755.js";import{_ as ae}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";import{bG as kt,bH as le,bI as St,d as at,J as ce,r as F,y as _t,a2 as Ut,bJ as ue,c as Q,f as Z,u as fe,x as zt,bK as de,i as ge,A as he,h as x,B as X,W as R,Y as D,Z as S,a4 as B,a5 as I,ai as me,bL as pe,aN as _e,a3 as tt,a7 as et,a9 as nt,ab as Tt,ac as Mt,bw as we,bo as ye,aa as $,$ as Ce,bM as ve,bN as Ee,bO as be,K as Be,ah as Ae,af as Ne,bl as Ie,bP as Se,a6 as Rt,b3 as Te,a8 as Me,aB as Re,aC as Pe,al as Le}from"./index-c17d3913.js";import{a as Fe}from"./formatTime-09781e30.js";import{_ as De}from"./List-28c5febd.js";import{_ as ke}from"./Pagination-84d10fc7.js";import{a as Ue,_ as ze}from"./Skeleton-ca436747.js";var Pt=1/0,Ve=17976931348623157e292;function xe(t){if(!t)return t===0?t:0;if(t=kt(t),t===Pt||t===-Pt){var e=t<0?-1:1;return e*Ve}return t===t?t:0}function $e(t){var e=xe(t),i=e%1;return e===e?i?e-i:e:0}var He=le.isFinite,Ke=Math.min;function Oe(t){var e=Math[t];return function(i,r){if(i=kt(i),r=r==null?0:Ke($e(r),292),r&&He(i)){var o=(St(i)+"e").split("e"),n=e(o[0]+"e"+(+o[1]+r));return o=(St(n)+"e").split("e"),+(o[0]+"e"+(+o[1]-r))}return e(i)}}var Je=Oe("round");const Ye=Je,je=t=>1-Math.pow(1-t,5);function qe(t){const{from:e,to:i,duration:r,onUpdate:o,onFinish:n}=t,s=()=>{const l=performance.now(),c=Math.min(l-a,r),u=e+(i-e)*je(c/r);if(c===r){n();return}o(u),requestAnimationFrame(s)},a=performance.now();s()}const Ge={to:{type:Number,default:0},precision:{type:Number,default:0},showSeparator:Boolean,locale:String,from:{type:Number,default:0},active:{type:Boolean,default:!0},duration:{type:Number,default:2e3},onFinish:Function},We=at({name:"NumberAnimation",props:Ge,setup(t){const{localeRef:e}=ce("name"),{duration:i}=t,r=F(t.from),o=_t(()=>{const{locale:f}=t;return f!==void 0?f:e.value});let n=!1;const s=f=>{r.value=f},a=()=>{var f;r.value=t.to,n=!1,(f=t.onFinish)===null||f===void 0||f.call(t)},l=(f=t.from,g=t.to)=>{n=!0,r.value=t.from,f!==g&&qe({from:f,to:g,duration:i,onUpdate:s,onFinish:a})},c=_t(()=>{var f;const p=Ye(r.value,t.precision).toFixed(t.precision).split("."),_=new Intl.NumberFormat(o.value),E=(f=_.formatToParts(.5).find(d=>d.type==="decimal"))===null||f===void 0?void 0:f.value,m=t.showSeparator?_.format(Number(p[0])):p[0],w=p[1];return{integer:m,decimal:w,decimalSeparator:E}});function u(){n||l()}return Ut(()=>{ue(()=>{t.active&&l()})}),Object.assign({formattedValue:c},{play:u})},render(){const{formattedValue:{integer:t,decimal:e,decimalSeparator:i}}=this;return[t,e?i:null,e]}}),Qe=Q("statistic",[Z("label",` +import{_ as se}from"./post-skeleton-445c3b83.js";import{_ as ae}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{bG as kt,bH as le,bI as St,d as at,J as ce,r as F,y as _t,a2 as Ut,bJ as ue,c as Q,f as Z,u as fe,x as zt,bK as de,j as ge,A as he,h as x,B as X,W as R,Y as D,Z as S,a4 as B,a5 as I,ai as me,bL as pe,aN as _e,a3 as tt,a7 as et,a9 as nt,ab as Tt,ac as Mt,bw as we,bo as ye,aa as $,$ as Ce,bM as ve,bN as Ee,bO as be,K as Be,ah as Ae,af as Ne,bl as Ie,bP as Se,a6 as Rt,b3 as Te,a8 as Me,aB as Re,aC as Pe,al as Le}from"./index-dfd5495a.js";import{a as Fe}from"./formatTime-0c777b4d.js";import{_ as De}from"./List-872c113a.js";import{_ as ke}from"./Pagination-35c2dd8e.js";import{a as Ue,_ as ze}from"./Skeleton-6c42d34d.js";var Pt=1/0,Ve=17976931348623157e292;function xe(t){if(!t)return t===0?t:0;if(t=kt(t),t===Pt||t===-Pt){var e=t<0?-1:1;return e*Ve}return t===t?t:0}function $e(t){var e=xe(t),i=e%1;return e===e?i?e-i:e:0}var He=le.isFinite,Ke=Math.min;function Oe(t){var e=Math[t];return function(i,r){if(i=kt(i),r=r==null?0:Ke($e(r),292),r&&He(i)){var o=(St(i)+"e").split("e"),n=e(o[0]+"e"+(+o[1]+r));return o=(St(n)+"e").split("e"),+(o[0]+"e"+(+o[1]-r))}return e(i)}}var Je=Oe("round");const Ye=Je,je=t=>1-Math.pow(1-t,5);function qe(t){const{from:e,to:i,duration:r,onUpdate:o,onFinish:n}=t,s=()=>{const l=performance.now(),c=Math.min(l-a,r),u=e+(i-e)*je(c/r);if(c===r){n();return}o(u),requestAnimationFrame(s)},a=performance.now();s()}const Ge={to:{type:Number,default:0},precision:{type:Number,default:0},showSeparator:Boolean,locale:String,from:{type:Number,default:0},active:{type:Boolean,default:!0},duration:{type:Number,default:2e3},onFinish:Function},We=at({name:"NumberAnimation",props:Ge,setup(t){const{localeRef:e}=ce("name"),{duration:i}=t,r=F(t.from),o=_t(()=>{const{locale:f}=t;return f!==void 0?f:e.value});let n=!1;const s=f=>{r.value=f},a=()=>{var f;r.value=t.to,n=!1,(f=t.onFinish)===null||f===void 0||f.call(t)},l=(f=t.from,g=t.to)=>{n=!0,r.value=t.from,f!==g&&qe({from:f,to:g,duration:i,onUpdate:s,onFinish:a})},c=_t(()=>{var f;const p=Ye(r.value,t.precision).toFixed(t.precision).split("."),_=new Intl.NumberFormat(o.value),E=(f=_.formatToParts(.5).find(d=>d.type==="decimal"))===null||f===void 0?void 0:f.value,m=t.showSeparator?_.format(Number(p[0])):p[0],w=p[1];return{integer:m,decimal:w,decimalSeparator:E}});function u(){n||l()}return Ut(()=>{ue(()=>{t.active&&l()})}),Object.assign({formattedValue:c},{play:u})},render(){const{formattedValue:{integer:t,decimal:e,decimalSeparator:i}}=this;return[t,e?i:null,e]}}),Qe=Q("statistic",[Z("label",` font-weight: var(--n-label-font-weight); transition: .3s color var(--n-bezier); font-size: var(--n-label-font-size); @@ -27,4 +27,4 @@ Make sure your charset is UTF-8`);i=(i>>>8&255)*192+(i&255),t.put(i,13)}};var In The chosen QR Code version cannot contain this amount of data. Minimum version required to store current data is: `+n+`. `);const s=$n(e,i,o),a=ft.getSymbolSize(e),l=new Mn(a);return kn(l,e),Un(l),zn(l,e),mt(l,i,0),e>=7&&Vn(l,e),xn(l,s),isNaN(r)&&(r=Ct.getBestMask(l,mt.bind(null,l,i))),Ct.applyMask(r,l),mt(l,i,r),{modules:l,version:e,errorCorrectionLevel:i,maskPattern:r,segments:o}}Vt.create=function(e,i){if(typeof e>"u"||e==="")throw new Error("No input text");let r=gt.M,o,n;return typeof i<"u"&&(r=gt.from(i.errorCorrectionLevel,gt.M),o=st.from(i.version),n=Ct.from(i.maskPattern),i.toSJISFunc&&ft.setToSJISFunction(i.toSJISFunc)),Kn(e,o,r,n)};var Qt={},Nt={};(function(t){function e(i){if(typeof i=="number"&&(i=i.toString()),typeof i!="string")throw new Error("Color should be defined as hex string");let r=i.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+i);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(n){return[n,n]}))),r.length===6&&r.push("F","F");const o=parseInt(r.join(""),16);return{r:o>>24&255,g:o>>16&255,b:o>>8&255,a:o&255,hex:"#"+r.slice(0,6).join("")}}t.getOptions=function(r){r||(r={}),r.color||(r.color={});const o=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,n=r.width&&r.width>=21?r.width:void 0,s=r.scale||4;return{width:n,scale:n?4:s,margin:o,color:{dark:e(r.color.dark||"#000000ff"),light:e(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},t.getScale=function(r,o){return o.width&&o.width>=r+o.margin*2?o.width/(r+o.margin*2):o.scale},t.getImageWidth=function(r,o){const n=t.getScale(r,o);return Math.floor((r+o.margin*2)*n)},t.qrToImageData=function(r,o,n){const s=o.modules.size,a=o.modules.data,l=t.getScale(s,n),c=Math.floor((s+n.margin*2)*l),u=n.margin*l,y=[n.color.light,n.color.dark];for(let f=0;f=u&&g>=u&&f"u"&&(!s||!s.getContext)&&(l=s,s=void 0),s||(c=r()),l=e.getOptions(l);const u=e.getImageWidth(n.modules.size,l),y=c.getContext("2d"),f=y.createImageData(u,u);return e.qrToImageData(f.data,n,l),i(y,c,u),y.putImageData(f,0,0),c},t.renderToDataURL=function(n,s,a){let l=a;typeof l>"u"&&(!s||!s.getContext)&&(l=s,s=void 0),l||(l={});const c=t.render(n,s,l),u=l.type||"image/png",y=l.rendererOpts||{};return c.toDataURL(u,y.quality)}})(Qt);var Zt={};const On=Nt;function Dt(t,e){const i=t.a/255,r=e+'="'+t.hex+'"';return i<1?r+" "+e+'-opacity="'+i.toFixed(2).slice(1)+'"':r}function pt(t,e,i){let r=t+e;return typeof i<"u"&&(r+=" "+i),r}function Jn(t,e,i){let r="",o=0,n=!1,s=0;for(let a=0;a0&&l>0&&t[a-1]||(r+=n?pt("M",l+i,.5+c+i):pt("m",o,0),o=0,n=!1),l+1':"",c="',u='viewBox="0 0 '+a+" "+a+'"',f=''+l+c+` -`;return typeof r=="function"&&r(null,f),f};const Yn=rn,Et=Vt,Xt=Qt,jn=Zt;function It(t,e,i,r,o){const n=[].slice.call(arguments,1),s=n.length,a=typeof n[s-1]=="function";if(!a&&!Yn())throw new Error("Callback required as last argument");if(a){if(s<2)throw new Error("Too few arguments provided");s===2?(o=i,i=e,e=r=void 0):s===3&&(e.getContext&&typeof o>"u"?(o=r,r=void 0):(o=r,r=i,i=e,e=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(i=e,e=r=void 0):s===2&&!e.getContext&&(r=i,i=e,e=void 0),new Promise(function(l,c){try{const u=Et.create(i,r);l(t(u,e,r))}catch(u){c(u)}})}try{const l=Et.create(i,r);o(null,t(l,e,r))}catch(l){o(l)}}G.create=Et.create;G.toCanvas=It.bind(null,Xt.render);G.toDataURL=It.bind(null,Xt.renderToDataURL);G.toString=It.bind(null,function(t,e,i){return jn.render(t,i)});const te=t=>(Re("data-v-83cd966a"),t=t(),Pe(),t),qn={class:"balance-wrap"},Gn={class:"balance-line"},Wn={class:"balance-opts"},Qn={key:0,class:"pagination-wrap"},Zn={key:0,class:"skeleton-wrap"},Xn={key:1},to={key:0,class:"empty-wrap"},eo={class:"bill-line"},no={key:0,class:"amount-options"},oo={key:1,style:{"margin-top":"10px"}},ro={class:"qrcode-wrap"},io=te(()=>S("canvas",{id:"qrcode-container"},null,-1)),so={class:"pay-tips"},ao={class:"pay-sub-tips"},lo=te(()=>S("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),co=at({__name:"Wallet",setup(t){const e=Ce(),i=me(),r=F(!1),o=F(100),n=F(!1),s=F(""),a=F(!1),l=F([]),c=F(+i.query.p||1),u=F(20),y=F(0),f=F([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),g=()=>{a.value=!0,ve({page:c.value,page_size:u.value}).then(d=>{a.value=!1,l.value=d.list,y.value=Math.ceil(d.pager.total_rows/u.value),window.scrollTo(0,0)}).catch(d=>{a.value=!1})},p=d=>{c.value=d,g()},_=()=>{const d=localStorage.getItem("PAOPAO_TOKEN")||"";d?pe(d).then(h=>{e.commit("updateUserinfo",h),e.commit("triggerAuth",!1),g()}).catch(h=>{e.commit("triggerAuth",!0),e.commit("userLogout")}):(e.commit("triggerAuth",!0),e.commit("userLogout"))},E=()=>{r.value=!0},m=d=>{n.value=!0,Ee({amount:o.value}).then(h=>{n.value=!1,s.value=h.pay,G.toCanvas(document.querySelector("#qrcode-container"),h.pay,{width:150,margin:2});const C=setInterval(()=>{be({id:h.id}).then(v=>{v.status==="TRADE_SUCCESS"&&(clearInterval(C),window.$message.success("充值成功"),r.value=!1,s.value="",_())}).catch(v=>{console.log(v)})},2e3)}).catch(h=>{n.value=!1})},w=()=>{e.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return Ut(()=>{_()}),(d,h)=>{const C=ae,v=We,b=Xe,A=Be,P=Ae,M=ke,V=se,Y=Ue,L=ze,ee=De,ne=Ne,oe=Ie,re=Se,ie=_e;return R(),D("div",null,[B(C,{title:"钱包"}),B(ee,{class:"main-content-wrap",bordered:""},{footer:I(()=>[y.value>1?(R(),D("div",Qn,[B(M,{page:c.value,"onUpdate:page":p,"page-slot":tt(e).state.collapsedRight?5:8,"page-count":y.value},null,8,["page","page-slot","page-count"])])):et("",!0)]),default:I(()=>[S("div",qn,[S("div",Gn,[B(b,{label:"账户余额 (元)"},{default:I(()=>[B(v,{from:0,to:(tt(e).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["from","to"])]),_:1}),S("div",Wn,[B(P,{vertical:""},{default:I(()=>[B(A,{size:"small",secondary:"",type:"primary",onClick:E},{default:I(()=>[nt(" 充值 ")]),_:1}),B(A,{size:"small",secondary:"",type:"tertiary",onClick:w},{default:I(()=>[nt(" 提现 ")]),_:1})]),_:1})])])]),a.value?(R(),D("div",Zn,[B(V,{num:u.value},null,8,["num"])])):(R(),D("div",Xn,[l.value.length===0?(R(),D("div",to,[B(Y,{size:"large",description:"暂无数据"})])):et("",!0),(R(!0),D(Tt,null,Mt(l.value,N=>(R(),Rt(L,{key:N.id},{default:I(()=>[S("div",eo,[S("div",null,"NO."+$(N.id),1),S("div",null,$(N.reason),1),S("div",{class:Te({income:N.change_amount>=0,out:N.change_amount<0})},$((N.change_amount>0?"+":"")+(N.change_amount/100).toFixed(2)),3),S("div",null,$(tt(Fe)(N.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),B(ie,{show:r.value,"onUpdate:show":h[0]||(h[0]=N=>r.value=N)},{default:I(()=>[B(re,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:I(()=>[s.value.length===0?(R(),D("div",no,[B(P,{align:"baseline"},{default:I(()=>[(R(!0),D(Tt,null,Mt(f.value,N=>(R(),Rt(A,{key:N,size:"small",secondary:"",type:o.value===N?"info":"default",onClick:Me(uo=>o.value=N,["stop"])},{default:I(()=>[nt($(N/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):et("",!0),o.value>0&&s.value.length===0?(R(),D("div",oo,[B(A,{loading:n.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:m},{icon:I(()=>[B(ne,null,{default:I(()=>[B(tt(on))]),_:1})]),default:I(()=>[nt(" 前往支付 ")]),_:1},8,["loading"])])):et("",!0),we(S("div",ro,[io,S("div",so," 请使用支付宝扫码支付"+$((o.value/100).toFixed(2))+"元 ",1),S("div",ao,[B(oe,{value:100,type:"info",dot:"",processing:""}),lo])],512),[[ye,s.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yo=Le(co,[["__scopeId","data-v-83cd966a"]]);export{yo as default}; +`;return typeof r=="function"&&r(null,f),f};const Yn=rn,Et=Vt,Xt=Qt,jn=Zt;function It(t,e,i,r,o){const n=[].slice.call(arguments,1),s=n.length,a=typeof n[s-1]=="function";if(!a&&!Yn())throw new Error("Callback required as last argument");if(a){if(s<2)throw new Error("Too few arguments provided");s===2?(o=i,i=e,e=r=void 0):s===3&&(e.getContext&&typeof o>"u"?(o=r,r=void 0):(o=r,r=i,i=e,e=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(i=e,e=r=void 0):s===2&&!e.getContext&&(r=i,i=e,e=void 0),new Promise(function(l,c){try{const u=Et.create(i,r);l(t(u,e,r))}catch(u){c(u)}})}try{const l=Et.create(i,r);o(null,t(l,e,r))}catch(l){o(l)}}G.create=Et.create;G.toCanvas=It.bind(null,Xt.render);G.toDataURL=It.bind(null,Xt.renderToDataURL);G.toString=It.bind(null,function(t,e,i){return jn.render(t,i)});const te=t=>(Re("data-v-870bd246"),t=t(),Pe(),t),qn={class:"balance-wrap"},Gn={class:"balance-line"},Wn={class:"balance-opts"},Qn={key:0,class:"pagination-wrap"},Zn={key:0,class:"skeleton-wrap"},Xn={key:1},to={key:0,class:"empty-wrap"},eo={class:"bill-line"},no={key:0,class:"amount-options"},oo={key:1,style:{"margin-top":"10px"}},ro={class:"qrcode-wrap"},io=te(()=>S("canvas",{id:"qrcode-container"},null,-1)),so={class:"pay-tips"},ao={class:"pay-sub-tips"},lo=te(()=>S("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),co=at({__name:"Wallet",setup(t){const e=Ce(),i=me(),r=F(!1),o=F(100),n=F(!1),s=F(""),a=F(!1),l=F([]),c=F(+i.query.p||1),u=F(20),y=F(0),f=F([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),g=()=>{a.value=!0,ve({page:c.value,page_size:u.value}).then(d=>{a.value=!1,l.value=d.list,y.value=Math.ceil(d.pager.total_rows/u.value),window.scrollTo(0,0)}).catch(d=>{a.value=!1})},p=d=>{c.value=d,g()},_=()=>{const d=localStorage.getItem("PAOPAO_TOKEN")||"";d?pe(d).then(h=>{e.commit("updateUserinfo",h),e.commit("triggerAuth",!1),g()}).catch(h=>{e.commit("triggerAuth",!0),e.commit("userLogout")}):(e.commit("triggerAuth",!0),e.commit("userLogout"))},E=()=>{r.value=!0},m=d=>{n.value=!0,Ee({amount:o.value}).then(h=>{n.value=!1,s.value=h.pay,G.toCanvas(document.querySelector("#qrcode-container"),h.pay,{width:150,margin:2});const C=setInterval(()=>{be({id:h.id}).then(v=>{v.status==="TRADE_SUCCESS"&&(clearInterval(C),window.$message.success("充值成功"),r.value=!1,s.value="",_())}).catch(v=>{console.log(v)})},2e3)}).catch(h=>{n.value=!1})},w=()=>{e.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return Ut(()=>{_()}),(d,h)=>{const C=ae,v=We,b=Xe,A=Be,P=Ae,M=ke,V=se,Y=Ue,L=ze,ee=De,ne=Ne,oe=Ie,re=Se,ie=_e;return R(),D("div",null,[B(C,{title:"钱包"}),B(ee,{class:"main-content-wrap",bordered:""},{footer:I(()=>[y.value>1?(R(),D("div",Qn,[B(M,{page:c.value,"onUpdate:page":p,"page-slot":tt(e).state.collapsedRight?5:8,"page-count":y.value},null,8,["page","page-slot","page-count"])])):et("",!0)]),default:I(()=>[S("div",qn,[S("div",Gn,[B(b,{label:"账户余额 (元)"},{default:I(()=>[B(v,{from:0,to:(tt(e).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["from","to"])]),_:1}),S("div",Wn,[B(P,{vertical:""},{default:I(()=>[B(A,{size:"small",secondary:"",type:"primary",onClick:E},{default:I(()=>[nt(" 充值 ")]),_:1}),B(A,{size:"small",secondary:"",type:"tertiary",onClick:w},{default:I(()=>[nt(" 提现 ")]),_:1})]),_:1})])])]),a.value?(R(),D("div",Zn,[B(V,{num:u.value},null,8,["num"])])):(R(),D("div",Xn,[l.value.length===0?(R(),D("div",to,[B(Y,{size:"large",description:"暂无数据"})])):et("",!0),(R(!0),D(Tt,null,Mt(l.value,N=>(R(),Rt(L,{key:N.id},{default:I(()=>[S("div",eo,[S("div",null,"NO."+$(N.id),1),S("div",null,$(N.reason),1),S("div",{class:Te({income:N.change_amount>=0,out:N.change_amount<0})},$((N.change_amount>0?"+":"")+(N.change_amount/100).toFixed(2)),3),S("div",null,$(tt(Fe)(N.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),B(ie,{show:r.value,"onUpdate:show":h[0]||(h[0]=N=>r.value=N)},{default:I(()=>[B(re,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:I(()=>[s.value.length===0?(R(),D("div",no,[B(P,{align:"baseline"},{default:I(()=>[(R(!0),D(Tt,null,Mt(f.value,N=>(R(),Rt(A,{key:N,size:"small",secondary:"",type:o.value===N?"info":"default",onClick:Me(uo=>o.value=N,["stop"])},{default:I(()=>[nt($(N/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):et("",!0),o.value>0&&s.value.length===0?(R(),D("div",oo,[B(A,{loading:n.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:m},{icon:I(()=>[B(ne,null,{default:I(()=>[B(tt(on))]),_:1})]),default:I(()=>[nt(" 前往支付 ")]),_:1},8,["loading"])])):et("",!0),we(S("div",ro,[io,S("div",so," 请使用支付宝扫码支付"+$((o.value/100).toFixed(2))+"元 ",1),S("div",ao,[B(oe,{value:100,type:"info",dot:"",processing:""}),lo])],512),[[ye,s.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yo=Le(co,[["__scopeId","data-v-870bd246"]]);export{yo as default}; diff --git a/web/dist/assets/content-c9c72716.js b/web/dist/assets/content-91421e79.js similarity index 98% rename from web/dist/assets/content-c9c72716.js rename to web/dist/assets/content-91421e79.js index ed342bc0..23091e7c 100644 --- a/web/dist/assets/content-c9c72716.js +++ b/web/dist/assets/content-91421e79.js @@ -1,4 +1,4 @@ -import{bo as F,bp as pe,y as I,r as B,bq as ce,n as ve,d as C,q as fe,br as V,h as E,bs as me,u as ye,v as L,a2 as he,p as ge,t as Q,aU as we,b7 as W,bt as be,bu as ke,C as $e,D as xe,bv as Z,W as a,Y as c,Z as R,ab as g,ac as k,a4 as s,a5 as p,a3 as m,aa as G,a8 as $,af as J,al as ee,a6 as y,bw as q,bx as ne,a7 as w,by as te,bz as Se,bA as Ce,bB as _e,a9 as Re,bC as ze,bD as Ee,K as Be,aN as je}from"./index-c17d3913.js";function Me(e){if(typeof e=="number")return{"":e.toString()};const n={};return e.split(/ +/).forEach(l=>{if(l==="")return;const[i,u]=l.split(":");u===void 0?n[""]=i:n[i]=u}),n}function O(e,n){var l;if(e==null)return;const i=Me(e);if(n===void 0)return i[""];if(typeof n=="string")return(l=i[n])!==null&&l!==void 0?l:i[""];if(Array.isArray(n)){for(let u=n.length-1;u>=0;--u){const o=n[u];if(o in i)return i[o]}return i[""]}else{let u,o=-1;return Object.keys(i).forEach(t=>{const d=Number(t);!Number.isNaN(d)&&n>=d&&d>=o&&(o=d,u=i[t])}),u}}function Ie(e){var n;const l=(n=e.dirs)===null||n===void 0?void 0:n.find(({dir:i})=>i===F);return!!(l&&l.value===!1)}const Ne={xs:0,s:640,m:1024,l:1280,xl:1536,"2xl":1920};function Te(e){return`(min-width: ${e}px)`}const U={};function Pe(e=Ne){if(!pe)return I(()=>[]);if(typeof window.matchMedia!="function")return I(()=>[]);const n=B({}),l=Object.keys(e),i=(u,o)=>{u.matches?n.value[o]=!0:n.value[o]=!1};return l.forEach(u=>{const o=e[u];let t,d;U[o]===void 0?(t=window.matchMedia(Te(o)),t.addEventListener?t.addEventListener("change",v=>{d.forEach(h=>{h(v,u)})}):t.addListener&&t.addListener(v=>{d.forEach(h=>{h(v,u)})}),d=new Set,U[o]={mql:t,cbs:d}):(t=U[o].mql,d=U[o].cbs),d.add(i),t.matches&&d.forEach(v=>{v(t,u)})}),ce(()=>{l.forEach(u=>{const{cbs:o}=U[e[u]];o.has(i)&&o.delete(i)})}),I(()=>{const{value:u}=n;return l.filter(o=>u[o])})}const K=1,re=ve("n-grid"),oe=1,Ae={span:{type:[Number,String],default:oe},offset:{type:[Number,String],default:0},suffix:Boolean,privateOffset:Number,privateSpan:Number,privateColStart:Number,privateShow:{type:Boolean,default:!0}},se=C({__GRID_ITEM__:!0,name:"GridItem",alias:["Gi"],props:Ae,setup(){const{isSsrRef:e,xGapRef:n,itemStyleRef:l,overflowRef:i,layoutShiftDisabledRef:u}=fe(re),o=me();return{overflow:i,itemStyle:l,layoutShiftDisabled:u,mergedXGap:I(()=>V(n.value||0)),deriveStyle:()=>{e.value;const{privateSpan:t=oe,privateShow:d=!0,privateColStart:v=void 0,privateOffset:h=0}=o.vnode.props,{value:r}=n,f=V(r||0);return{display:d?"":"none",gridColumn:`${v??`span ${t}`} / span ${t}`,marginLeft:h?`calc((100% - (${t} - 1) * ${f}) / ${t} * ${h} + ${f} * ${h})`:""}}}},render(){var e,n;if(this.layoutShiftDisabled){const{span:l,offset:i,mergedXGap:u}=this;return E("div",{style:{gridColumn:`span ${l} / span ${l}`,marginLeft:i?`calc((100% - (${l} - 1) * ${u}) / ${l} * ${i} + ${u} * ${i})`:""}},this.$slots)}return E("div",{style:[this.itemStyle,this.deriveStyle()]},(n=(e=this.$slots).default)===null||n===void 0?void 0:n.call(e,{overflow:this.overflow}))}}),Ve={xs:0,s:640,m:1024,l:1280,xl:1536,xxl:1920},ie=24,H="__ssr__",qe={layoutShiftDisabled:Boolean,responsive:{type:[String,Boolean],default:"self"},cols:{type:[Number,String],default:ie},itemResponsive:Boolean,collapsed:Boolean,collapsedRows:{type:Number,default:1},itemStyle:[Object,String],xGap:{type:[Number,String],default:0},yGap:{type:[Number,String],default:0}},ae=C({name:"Grid",inheritAttrs:!1,props:qe,setup(e){const{mergedClsPrefixRef:n,mergedBreakpointsRef:l}=ye(e),i=/^\d+$/,u=B(void 0),o=Pe((l==null?void 0:l.value)||Ve),t=L(()=>!!(e.itemResponsive||!i.test(e.cols.toString())||!i.test(e.xGap.toString())||!i.test(e.yGap.toString()))),d=I(()=>{if(t.value)return e.responsive==="self"?u.value:o.value}),v=L(()=>{var x;return(x=Number(O(e.cols.toString(),d.value)))!==null&&x!==void 0?x:ie}),h=L(()=>O(e.xGap.toString(),d.value)),r=L(()=>O(e.yGap.toString(),d.value)),f=x=>{u.value=x.contentRect.width},S=x=>{ke(f,x)},N=B(!1),T=I(()=>{if(e.responsive==="self")return S}),_=B(!1),j=B();return he(()=>{const{value:x}=j;x&&x.hasAttribute(H)&&(x.removeAttribute(H),_.value=!0)}),ge(re,{layoutShiftDisabledRef:Q(e,"layoutShiftDisabled"),isSsrRef:_,itemStyleRef:Q(e,"itemStyle"),xGapRef:h,overflowRef:N}),{isSsr:!we,contentEl:j,mergedClsPrefix:n,style:I(()=>e.layoutShiftDisabled?{width:"100%",display:"grid",gridTemplateColumns:`repeat(${e.cols}, minmax(0, 1fr))`,columnGap:V(e.xGap),rowGap:V(e.yGap)}:{width:"100%",display:"grid",gridTemplateColumns:`repeat(${v.value}, minmax(0, 1fr))`,columnGap:V(h.value),rowGap:V(r.value)}),isResponsive:t,responsiveQuery:d,responsiveCols:v,handleResize:T,overflow:N}},render(){if(this.layoutShiftDisabled)return E("div",W({ref:"contentEl",class:`${this.mergedClsPrefix}-grid`,style:this.style},this.$attrs),this.$slots);const e=()=>{var n,l,i,u,o,t,d;this.overflow=!1;const v=$e(xe(this)),h=[],{collapsed:r,collapsedRows:f,responsiveCols:S,responsiveQuery:N}=this;v.forEach(b=>{var D,M,z,P;if(((D=b==null?void 0:b.type)===null||D===void 0?void 0:D.__GRID_ITEM__)!==!0)return;if(Ie(b)){const A=Z(b);A.props?A.props.privateShow=!1:A.props={privateShow:!1},h.push({child:A,rawChildSpan:0});return}b.dirs=((M=b.dirs)===null||M===void 0?void 0:M.filter(({dir:A})=>A!==F))||null;const X=Z(b),Y=Number((P=O((z=X.props)===null||z===void 0?void 0:z.span,N))!==null&&P!==void 0?P:K);Y!==0&&h.push({child:X,rawChildSpan:Y})});let T=0;const _=(n=h[h.length-1])===null||n===void 0?void 0:n.child;if(_!=null&&_.props){const b=(l=_.props)===null||l===void 0?void 0:l.suffix;b!==void 0&&b!==!1&&(T=(u=(i=_.props)===null||i===void 0?void 0:i.span)!==null&&u!==void 0?u:K,_.props.privateSpan=T,_.props.privateColStart=S+1-T,_.props.privateShow=(o=_.props.privateShow)!==null&&o!==void 0?o:!0)}let j=0,x=!1;for(const{child:b,rawChildSpan:D}of h){if(x&&(this.overflow=!0),!x){const M=Number((d=O((t=b.props)===null||t===void 0?void 0:t.offset,N))!==null&&d!==void 0?d:0),z=Math.min(D+M,S);if(b.props?(b.props.privateSpan=z,b.props.privateOffset=M):b.props={privateSpan:z,privateOffset:M},r){const P=j%S;z+P>S&&(j+=S-P),z+j+T>f*S?x=!0:j+=z}}x&&(b.props?b.props.privateShow!==!0&&(b.props.privateShow=!1):b.props={privateShow:!1})}return E("div",W({ref:"contentEl",class:`${this.mergedClsPrefix}-grid`,style:this.style,[H]:this.isSsr||void 0},this.$attrs),h.map(({child:b})=>b))};return this.isResponsive&&this.responsive==="self"?E(be,{onResize:this.handleResize},{default:e}):e()}}),Fe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Ge=R("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),De=[Ge],An=C({name:"BookmarkOutline",render:function(n,l){return a(),c("svg",Fe,De)}}),Oe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Ue=R("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),Le=[Ue],Vn=C({name:"ChatboxOutline",render:function(n,l){return a(),c("svg",Oe,Le)}}),He={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Xe=R("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Ye=R("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),Qe=R("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),We=[Xe,Ye,Qe],Ze=C({name:"CloudDownloadOutline",render:function(n,l){return a(),c("svg",He,We)}}),Ke={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Je=R("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),en=[Je],qn=C({name:"HeartOutline",render:function(n,l){return a(),c("svg",Ke,en)}}),nn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tn=R("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),rn=R("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),on=R("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),sn=[tn,rn,on],an=C({name:"LinkOutline",render:function(n,l){return a(),c("svg",nn,sn)}}),ln={class:"link-wrap"},un=["href"],dn={class:"link-txt"},pn=C({__name:"post-link",props:{links:{default:()=>[]}},setup(e){const n=e;return(l,i)=>{const u=J;return a(),c("div",ln,[(a(!0),c(g,null,k(n.links,o=>(a(),c("div",{class:"link-item",key:o.id},[s(u,{class:"hash-link"},{default:p(()=>[s(m(an))]),_:1}),R("a",{href:o.content,class:"hash-link",target:"_blank",onClick:i[0]||(i[0]=$(()=>{},["stop"]))},[R("span",dn,G(o.content),1)],8,un)]))),128))])}}});const Fn=ee(pn,[["__scopeId","data-v-6c4d1eb6"]]);var le=C({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{colorFrom(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#fbbf24"},colorTo(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[1]?this.colors[1]:"#ec4899"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const cn={class:"relative"},vn={class:"flex items-center justify-start w-full"},fn={class:"font-sans text-white text-xs w-24"},mn={class:"mr-3 ml-2"},yn={class:"relative"},hn={class:"px-3 py-2 rounded-lg flex items-center transform translate-x-2",style:{"background-color":"rgba(0, 0, 0, .8)"}},gn=s("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function wn(e,n,l,i,u,o){return a(),y("div",{class:"shadow-xl rounded-xl overflow-hidden relative",onMouseenter:n[15]||(n[15]=t=>e.hovered=!0),onMouseleave:n[16]||(n[16]=t=>e.hovered=!1),onKeydown:n[17]||(n[17]=te(t=>e.$emit("play"),["left"]))},[s("div",cn,[s("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[s("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(a(),y("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"transition duration-300 transform absolute w-full bottom-0 left-0 flex items-center justify-between overlay px-5 pt-3 pb-5"]},[s("div",vn,[s("p",fn,G(e.time.display)+"/"+G(e.duration),1),s("div",mn,[q(s("img",{src:"https://en-zo.dev/vue-videoplayer/pause.svg",alt:"Icon pause video",class:"w-5 cursor-pointer",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[F,e.playing]]),q(s("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"w-5 cursor-pointer",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[F,!e.playing]])]),s("div",{class:"w-full h-1 bg-white bg-opacity-60 rounded-sm cursor-pointer",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[s("div",{class:"relative h-full pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},[s("div",{class:"w-full rounded-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4),s("div",{class:"w-full rounded-sm filter blur-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4)],4)])]),s("div",{class:"ml-5 flex items-center justify-end",onMouseleave:n[13]||(n[13]=t=>e.volume=!1)},[s("div",yn,[s("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[s("div",hn,[q(s("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1 w-128 vertical-range",onInput:n[9]||(n[9]=(...t)=>e.setVolume&&e.setVolume(...t))},null,544),[[ne,e.amount]])])],2),s("img",{src:`https://en-zo.dev/vue-videoplayer/volume-${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer relative",style:{"z-index":"2"},onClick:n[10]||(n[10]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[11]||(n[11]=t=>e.volume=!0)},null,40,["src"])]),s("img",{src:"https://en-zo.dev/vue-videoplayer/maximize.svg",alt:"Fullscreen",class:"w-3 ml-4 cursor-pointer",onClick:n[12]||(n[12]=t=>e.$emit("fullScreen"))})],32)],2)):w("",!0),!e.autoplay&&e.mask&&e.time.current===0?(a(),y("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[s("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[14]||(n[14]=t=>e.$emit("play"))},[gn])],2)):w("",!0)])],32)}le.render=wn;var ue=C({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{color(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#8B5CF6":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#8B5CF6"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const bn={class:"relative"},kn={class:"mr-5"},$n={class:"relative mr-6"},xn={class:"px-3 py-3 rounded-xl flex items-center transform translate-x-9 bg-black bg-opacity-30"},Sn=s("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function Cn(e,n,l,i,u,o){return a(),y("div",{class:"shadow-xl rounded-3xl overflow-hidden relative",onMouseenter:n[14]||(n[14]=t=>e.hovered=!0),onMouseleave:n[15]||(n[15]=t=>e.hovered=!1),onKeydown:n[16]||(n[16]=te(t=>e.$emit("play"),["left"]))},[s("div",bn,[s("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[s("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(a(),y("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"absolute px-5 pb-5 bottom-0 left-0 w-full transition duration-300 transform"]},[s("div",{class:"w-full bg-black bg-opacity-30 px-5 py-4 rounded-xl flex items-center justify-between",onMouseleave:n[12]||(n[12]=t=>e.volume=!1)},[s("div",{class:"font-sans py-1 px-2 text-white rounded-md text-xs mr-5 whitespace-nowrap font-medium w-32 text-center",style:`font-size: 11px; background-color: ${e.color}`},G(e.time.display)+" / "+G(e.duration),5),s("div",kn,[q(s("img",{src:"https://en-zo.dev/vue-videoplayer/basic/pause.svg",alt:"Icon pause video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[F,e.playing]]),q(s("img",{src:"https://en-zo.dev/vue-videoplayer/basic/play.svg",alt:"Icon play video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[F,!e.playing]])]),s("div",{class:"w-full h-1 bg-white bg-opacity-40 rounded-sm cursor-pointer mr-6",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[s("div",{class:"w-full rounded-sm h-full bg-white pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},null,4)]),s("div",$n,[s("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[s("div",xn,[q(s("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1.5 w-128 vertical-range"},null,512),[[ne,e.amount]])])],2),s("img",{src:`https://en-zo.dev/vue-videoplayer/basic/volume_${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer filter-white transition duration-300 relative",style:{"z-index":"2"},onClick:n[9]||(n[9]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[10]||(n[10]=t=>e.volume=!0)},null,40,["src"])]),s("img",{src:"https://en-zo.dev/vue-videoplayer/basic/fullscreen.svg",alt:"Fullscreen",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[11]||(n[11]=t=>e.$emit("fullScreen"))})],32)],2)):w("",!0),!e.autoplay&&e.mask&&e.time.current===0?(a(),y("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[s("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[13]||(n[13]=t=>e.$emit("play"))},[Sn])],2)):w("",!0)])],32)}ue.render=Cn;var de=C({name:"Vue3PlayerVideo",components:{basic:ue,gradient:le},props:{src:{type:String,required:!0},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},colors:{type:[String,Array],default(){return["#8B5CF6","#ec4899"]}},hoverable:{type:Boolean,default:!1},theme:{type:String,default:"basic"}},data(){return{uuid:Math.random().toString(36).substr(2,18),player:null,duration:0,playing:!1,time:{progress:0,display:0,current:0}}},watch:{"time.current"(e){this.time.display=this.format(Number(e)),this.time.progress=e*100/this.player.duration}},methods:{isPlaying(e){this.playing=e},play(){return this.playing?this.player.pause():this.player.play()},setPlayer(e){this.player=e,this.player.addEventListener("loadeddata",()=>{this.player.readyState>=3&&(this.duration=this.format(Number(this.player.duration)),this.time.display=this.format(0))})},stop(){this.player.pause(),this.player.currentTime=0},fullScreen(){this.player.webkitEnterFullscreen()},position(e){this.player.pause();const n=e.target.getBoundingClientRect(),i=(e.clientX-n.left)*100/e.target.offsetWidth;this.player.currentTime=i*this.player.duration/100,this.player.play()},format(e){const n=Math.floor(e/3600),l=Math.floor(e%3600/60),i=Math.round(e%60);return[n,l>9?l:n?"0"+l:l||"00",i>9?i:"0"+i].filter(Boolean).join(":")}}});const _n={class:"vue3-player-video"};function Rn(e,n,l,i,u,o){return a(),y("div",_n,[(a(),y(Se(e.theme),{uuid:e.uuid,src:e.src,autoplay:e.autoplay,loop:e.loop,controls:e.controls,mask:e.mask,colors:e.colors,time:e.time,playing:e.playing,duration:e.duration,hoverable:e.hoverable,onPlay:e.play,onStop:e.stop,onTimeupdate:n[1]||(n[1]=({currentTime:t})=>e.time.current=t),onPosition:e.position,onFullScreen:e.fullScreen,onSetPlayer:e.setPlayer,onIsPlaying:e.isPlaying},null,8,["uuid","src","autoplay","loop","controls","mask","colors","time","playing","duration","hoverable","onPlay","onStop","onPosition","onFullScreen","onSetPlayer","onIsPlaying"]))])}function zn(e,n){n===void 0&&(n={});var l=n.insertAt;if(!(!e||typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css",l==="top"&&i.firstChild?i.insertBefore(u,i.firstChild):i.appendChild(u),u.styleSheet?u.styleSheet.cssText=e:u.appendChild(document.createTextNode(e))}}var En=`/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */ +import{bo as F,bp as pe,y as I,r as B,bq as ce,n as ve,d as C,q as fe,br as V,h as E,bs as me,u as ye,v as L,a2 as he,p as ge,t as Q,aU as we,b7 as W,bt as be,bu as ke,C as $e,D as xe,bv as Z,W as a,Y as c,Z as R,ab as g,ac as k,a4 as s,a5 as p,a3 as m,aa as G,a8 as $,af as J,al as ee,a6 as y,bw as q,bx as ne,a7 as w,by as te,bz as Se,bA as Ce,bB as _e,a9 as Re,bC as ze,bD as Ee,K as Be,aN as je}from"./index-dfd5495a.js";function Me(e){if(typeof e=="number")return{"":e.toString()};const n={};return e.split(/ +/).forEach(l=>{if(l==="")return;const[i,u]=l.split(":");u===void 0?n[""]=i:n[i]=u}),n}function O(e,n){var l;if(e==null)return;const i=Me(e);if(n===void 0)return i[""];if(typeof n=="string")return(l=i[n])!==null&&l!==void 0?l:i[""];if(Array.isArray(n)){for(let u=n.length-1;u>=0;--u){const o=n[u];if(o in i)return i[o]}return i[""]}else{let u,o=-1;return Object.keys(i).forEach(t=>{const d=Number(t);!Number.isNaN(d)&&n>=d&&d>=o&&(o=d,u=i[t])}),u}}function Ie(e){var n;const l=(n=e.dirs)===null||n===void 0?void 0:n.find(({dir:i})=>i===F);return!!(l&&l.value===!1)}const Ne={xs:0,s:640,m:1024,l:1280,xl:1536,"2xl":1920};function Te(e){return`(min-width: ${e}px)`}const U={};function Pe(e=Ne){if(!pe)return I(()=>[]);if(typeof window.matchMedia!="function")return I(()=>[]);const n=B({}),l=Object.keys(e),i=(u,o)=>{u.matches?n.value[o]=!0:n.value[o]=!1};return l.forEach(u=>{const o=e[u];let t,d;U[o]===void 0?(t=window.matchMedia(Te(o)),t.addEventListener?t.addEventListener("change",v=>{d.forEach(h=>{h(v,u)})}):t.addListener&&t.addListener(v=>{d.forEach(h=>{h(v,u)})}),d=new Set,U[o]={mql:t,cbs:d}):(t=U[o].mql,d=U[o].cbs),d.add(i),t.matches&&d.forEach(v=>{v(t,u)})}),ce(()=>{l.forEach(u=>{const{cbs:o}=U[e[u]];o.has(i)&&o.delete(i)})}),I(()=>{const{value:u}=n;return l.filter(o=>u[o])})}const K=1,re=ve("n-grid"),oe=1,Ae={span:{type:[Number,String],default:oe},offset:{type:[Number,String],default:0},suffix:Boolean,privateOffset:Number,privateSpan:Number,privateColStart:Number,privateShow:{type:Boolean,default:!0}},se=C({__GRID_ITEM__:!0,name:"GridItem",alias:["Gi"],props:Ae,setup(){const{isSsrRef:e,xGapRef:n,itemStyleRef:l,overflowRef:i,layoutShiftDisabledRef:u}=fe(re),o=me();return{overflow:i,itemStyle:l,layoutShiftDisabled:u,mergedXGap:I(()=>V(n.value||0)),deriveStyle:()=>{e.value;const{privateSpan:t=oe,privateShow:d=!0,privateColStart:v=void 0,privateOffset:h=0}=o.vnode.props,{value:r}=n,f=V(r||0);return{display:d?"":"none",gridColumn:`${v??`span ${t}`} / span ${t}`,marginLeft:h?`calc((100% - (${t} - 1) * ${f}) / ${t} * ${h} + ${f} * ${h})`:""}}}},render(){var e,n;if(this.layoutShiftDisabled){const{span:l,offset:i,mergedXGap:u}=this;return E("div",{style:{gridColumn:`span ${l} / span ${l}`,marginLeft:i?`calc((100% - (${l} - 1) * ${u}) / ${l} * ${i} + ${u} * ${i})`:""}},this.$slots)}return E("div",{style:[this.itemStyle,this.deriveStyle()]},(n=(e=this.$slots).default)===null||n===void 0?void 0:n.call(e,{overflow:this.overflow}))}}),Ve={xs:0,s:640,m:1024,l:1280,xl:1536,xxl:1920},ie=24,H="__ssr__",qe={layoutShiftDisabled:Boolean,responsive:{type:[String,Boolean],default:"self"},cols:{type:[Number,String],default:ie},itemResponsive:Boolean,collapsed:Boolean,collapsedRows:{type:Number,default:1},itemStyle:[Object,String],xGap:{type:[Number,String],default:0},yGap:{type:[Number,String],default:0}},ae=C({name:"Grid",inheritAttrs:!1,props:qe,setup(e){const{mergedClsPrefixRef:n,mergedBreakpointsRef:l}=ye(e),i=/^\d+$/,u=B(void 0),o=Pe((l==null?void 0:l.value)||Ve),t=L(()=>!!(e.itemResponsive||!i.test(e.cols.toString())||!i.test(e.xGap.toString())||!i.test(e.yGap.toString()))),d=I(()=>{if(t.value)return e.responsive==="self"?u.value:o.value}),v=L(()=>{var x;return(x=Number(O(e.cols.toString(),d.value)))!==null&&x!==void 0?x:ie}),h=L(()=>O(e.xGap.toString(),d.value)),r=L(()=>O(e.yGap.toString(),d.value)),f=x=>{u.value=x.contentRect.width},S=x=>{ke(f,x)},N=B(!1),T=I(()=>{if(e.responsive==="self")return S}),_=B(!1),j=B();return he(()=>{const{value:x}=j;x&&x.hasAttribute(H)&&(x.removeAttribute(H),_.value=!0)}),ge(re,{layoutShiftDisabledRef:Q(e,"layoutShiftDisabled"),isSsrRef:_,itemStyleRef:Q(e,"itemStyle"),xGapRef:h,overflowRef:N}),{isSsr:!we,contentEl:j,mergedClsPrefix:n,style:I(()=>e.layoutShiftDisabled?{width:"100%",display:"grid",gridTemplateColumns:`repeat(${e.cols}, minmax(0, 1fr))`,columnGap:V(e.xGap),rowGap:V(e.yGap)}:{width:"100%",display:"grid",gridTemplateColumns:`repeat(${v.value}, minmax(0, 1fr))`,columnGap:V(h.value),rowGap:V(r.value)}),isResponsive:t,responsiveQuery:d,responsiveCols:v,handleResize:T,overflow:N}},render(){if(this.layoutShiftDisabled)return E("div",W({ref:"contentEl",class:`${this.mergedClsPrefix}-grid`,style:this.style},this.$attrs),this.$slots);const e=()=>{var n,l,i,u,o,t,d;this.overflow=!1;const v=$e(xe(this)),h=[],{collapsed:r,collapsedRows:f,responsiveCols:S,responsiveQuery:N}=this;v.forEach(b=>{var D,M,z,P;if(((D=b==null?void 0:b.type)===null||D===void 0?void 0:D.__GRID_ITEM__)!==!0)return;if(Ie(b)){const A=Z(b);A.props?A.props.privateShow=!1:A.props={privateShow:!1},h.push({child:A,rawChildSpan:0});return}b.dirs=((M=b.dirs)===null||M===void 0?void 0:M.filter(({dir:A})=>A!==F))||null;const X=Z(b),Y=Number((P=O((z=X.props)===null||z===void 0?void 0:z.span,N))!==null&&P!==void 0?P:K);Y!==0&&h.push({child:X,rawChildSpan:Y})});let T=0;const _=(n=h[h.length-1])===null||n===void 0?void 0:n.child;if(_!=null&&_.props){const b=(l=_.props)===null||l===void 0?void 0:l.suffix;b!==void 0&&b!==!1&&(T=(u=(i=_.props)===null||i===void 0?void 0:i.span)!==null&&u!==void 0?u:K,_.props.privateSpan=T,_.props.privateColStart=S+1-T,_.props.privateShow=(o=_.props.privateShow)!==null&&o!==void 0?o:!0)}let j=0,x=!1;for(const{child:b,rawChildSpan:D}of h){if(x&&(this.overflow=!0),!x){const M=Number((d=O((t=b.props)===null||t===void 0?void 0:t.offset,N))!==null&&d!==void 0?d:0),z=Math.min(D+M,S);if(b.props?(b.props.privateSpan=z,b.props.privateOffset=M):b.props={privateSpan:z,privateOffset:M},r){const P=j%S;z+P>S&&(j+=S-P),z+j+T>f*S?x=!0:j+=z}}x&&(b.props?b.props.privateShow!==!0&&(b.props.privateShow=!1):b.props={privateShow:!1})}return E("div",W({ref:"contentEl",class:`${this.mergedClsPrefix}-grid`,style:this.style,[H]:this.isSsr||void 0},this.$attrs),h.map(({child:b})=>b))};return this.isResponsive&&this.responsive==="self"?E(be,{onResize:this.handleResize},{default:e}):e()}}),Fe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Ge=R("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),De=[Ge],An=C({name:"BookmarkOutline",render:function(n,l){return a(),c("svg",Fe,De)}}),Oe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Ue=R("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),Le=[Ue],Vn=C({name:"ChatboxOutline",render:function(n,l){return a(),c("svg",Oe,Le)}}),He={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Xe=R("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Ye=R("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),Qe=R("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),We=[Xe,Ye,Qe],Ze=C({name:"CloudDownloadOutline",render:function(n,l){return a(),c("svg",He,We)}}),Ke={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Je=R("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),en=[Je],qn=C({name:"HeartOutline",render:function(n,l){return a(),c("svg",Ke,en)}}),nn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tn=R("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),rn=R("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),on=R("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),sn=[tn,rn,on],an=C({name:"LinkOutline",render:function(n,l){return a(),c("svg",nn,sn)}}),ln={class:"link-wrap"},un=["href"],dn={class:"link-txt"},pn=C({__name:"post-link",props:{links:{default:()=>[]}},setup(e){const n=e;return(l,i)=>{const u=J;return a(),c("div",ln,[(a(!0),c(g,null,k(n.links,o=>(a(),c("div",{class:"link-item",key:o.id},[s(u,{class:"hash-link"},{default:p(()=>[s(m(an))]),_:1}),R("a",{href:o.content,class:"hash-link",target:"_blank",onClick:i[0]||(i[0]=$(()=>{},["stop"]))},[R("span",dn,G(o.content),1)],8,un)]))),128))])}}});const Fn=ee(pn,[["__scopeId","data-v-6c4d1eb6"]]);var le=C({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{colorFrom(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#fbbf24"},colorTo(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[1]?this.colors[1]:"#ec4899"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const cn={class:"relative"},vn={class:"flex items-center justify-start w-full"},fn={class:"font-sans text-white text-xs w-24"},mn={class:"mr-3 ml-2"},yn={class:"relative"},hn={class:"px-3 py-2 rounded-lg flex items-center transform translate-x-2",style:{"background-color":"rgba(0, 0, 0, .8)"}},gn=s("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function wn(e,n,l,i,u,o){return a(),y("div",{class:"shadow-xl rounded-xl overflow-hidden relative",onMouseenter:n[15]||(n[15]=t=>e.hovered=!0),onMouseleave:n[16]||(n[16]=t=>e.hovered=!1),onKeydown:n[17]||(n[17]=te(t=>e.$emit("play"),["left"]))},[s("div",cn,[s("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[s("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(a(),y("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"transition duration-300 transform absolute w-full bottom-0 left-0 flex items-center justify-between overlay px-5 pt-3 pb-5"]},[s("div",vn,[s("p",fn,G(e.time.display)+"/"+G(e.duration),1),s("div",mn,[q(s("img",{src:"https://en-zo.dev/vue-videoplayer/pause.svg",alt:"Icon pause video",class:"w-5 cursor-pointer",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[F,e.playing]]),q(s("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"w-5 cursor-pointer",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[F,!e.playing]])]),s("div",{class:"w-full h-1 bg-white bg-opacity-60 rounded-sm cursor-pointer",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[s("div",{class:"relative h-full pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},[s("div",{class:"w-full rounded-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4),s("div",{class:"w-full rounded-sm filter blur-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4)],4)])]),s("div",{class:"ml-5 flex items-center justify-end",onMouseleave:n[13]||(n[13]=t=>e.volume=!1)},[s("div",yn,[s("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[s("div",hn,[q(s("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1 w-128 vertical-range",onInput:n[9]||(n[9]=(...t)=>e.setVolume&&e.setVolume(...t))},null,544),[[ne,e.amount]])])],2),s("img",{src:`https://en-zo.dev/vue-videoplayer/volume-${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer relative",style:{"z-index":"2"},onClick:n[10]||(n[10]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[11]||(n[11]=t=>e.volume=!0)},null,40,["src"])]),s("img",{src:"https://en-zo.dev/vue-videoplayer/maximize.svg",alt:"Fullscreen",class:"w-3 ml-4 cursor-pointer",onClick:n[12]||(n[12]=t=>e.$emit("fullScreen"))})],32)],2)):w("",!0),!e.autoplay&&e.mask&&e.time.current===0?(a(),y("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[s("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[14]||(n[14]=t=>e.$emit("play"))},[gn])],2)):w("",!0)])],32)}le.render=wn;var ue=C({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{color(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#8B5CF6":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#8B5CF6"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const bn={class:"relative"},kn={class:"mr-5"},$n={class:"relative mr-6"},xn={class:"px-3 py-3 rounded-xl flex items-center transform translate-x-9 bg-black bg-opacity-30"},Sn=s("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function Cn(e,n,l,i,u,o){return a(),y("div",{class:"shadow-xl rounded-3xl overflow-hidden relative",onMouseenter:n[14]||(n[14]=t=>e.hovered=!0),onMouseleave:n[15]||(n[15]=t=>e.hovered=!1),onKeydown:n[16]||(n[16]=te(t=>e.$emit("play"),["left"]))},[s("div",bn,[s("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[s("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(a(),y("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"absolute px-5 pb-5 bottom-0 left-0 w-full transition duration-300 transform"]},[s("div",{class:"w-full bg-black bg-opacity-30 px-5 py-4 rounded-xl flex items-center justify-between",onMouseleave:n[12]||(n[12]=t=>e.volume=!1)},[s("div",{class:"font-sans py-1 px-2 text-white rounded-md text-xs mr-5 whitespace-nowrap font-medium w-32 text-center",style:`font-size: 11px; background-color: ${e.color}`},G(e.time.display)+" / "+G(e.duration),5),s("div",kn,[q(s("img",{src:"https://en-zo.dev/vue-videoplayer/basic/pause.svg",alt:"Icon pause video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[F,e.playing]]),q(s("img",{src:"https://en-zo.dev/vue-videoplayer/basic/play.svg",alt:"Icon play video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[F,!e.playing]])]),s("div",{class:"w-full h-1 bg-white bg-opacity-40 rounded-sm cursor-pointer mr-6",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[s("div",{class:"w-full rounded-sm h-full bg-white pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},null,4)]),s("div",$n,[s("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[s("div",xn,[q(s("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1.5 w-128 vertical-range"},null,512),[[ne,e.amount]])])],2),s("img",{src:`https://en-zo.dev/vue-videoplayer/basic/volume_${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer filter-white transition duration-300 relative",style:{"z-index":"2"},onClick:n[9]||(n[9]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[10]||(n[10]=t=>e.volume=!0)},null,40,["src"])]),s("img",{src:"https://en-zo.dev/vue-videoplayer/basic/fullscreen.svg",alt:"Fullscreen",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[11]||(n[11]=t=>e.$emit("fullScreen"))})],32)],2)):w("",!0),!e.autoplay&&e.mask&&e.time.current===0?(a(),y("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[s("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[13]||(n[13]=t=>e.$emit("play"))},[Sn])],2)):w("",!0)])],32)}ue.render=Cn;var de=C({name:"Vue3PlayerVideo",components:{basic:ue,gradient:le},props:{src:{type:String,required:!0},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},colors:{type:[String,Array],default(){return["#8B5CF6","#ec4899"]}},hoverable:{type:Boolean,default:!1},theme:{type:String,default:"basic"}},data(){return{uuid:Math.random().toString(36).substr(2,18),player:null,duration:0,playing:!1,time:{progress:0,display:0,current:0}}},watch:{"time.current"(e){this.time.display=this.format(Number(e)),this.time.progress=e*100/this.player.duration}},methods:{isPlaying(e){this.playing=e},play(){return this.playing?this.player.pause():this.player.play()},setPlayer(e){this.player=e,this.player.addEventListener("loadeddata",()=>{this.player.readyState>=3&&(this.duration=this.format(Number(this.player.duration)),this.time.display=this.format(0))})},stop(){this.player.pause(),this.player.currentTime=0},fullScreen(){this.player.webkitEnterFullscreen()},position(e){this.player.pause();const n=e.target.getBoundingClientRect(),i=(e.clientX-n.left)*100/e.target.offsetWidth;this.player.currentTime=i*this.player.duration/100,this.player.play()},format(e){const n=Math.floor(e/3600),l=Math.floor(e%3600/60),i=Math.round(e%60);return[n,l>9?l:n?"0"+l:l||"00",i>9?i:"0"+i].filter(Boolean).join(":")}}});const _n={class:"vue3-player-video"};function Rn(e,n,l,i,u,o){return a(),y("div",_n,[(a(),y(Se(e.theme),{uuid:e.uuid,src:e.src,autoplay:e.autoplay,loop:e.loop,controls:e.controls,mask:e.mask,colors:e.colors,time:e.time,playing:e.playing,duration:e.duration,hoverable:e.hoverable,onPlay:e.play,onStop:e.stop,onTimeupdate:n[1]||(n[1]=({currentTime:t})=>e.time.current=t),onPosition:e.position,onFullScreen:e.fullScreen,onSetPlayer:e.setPlayer,onIsPlaying:e.isPlaying},null,8,["uuid","src","autoplay","loop","controls","mask","colors","time","playing","duration","hoverable","onPlay","onStop","onPosition","onFullScreen","onSetPlayer","onIsPlaying"]))])}function zn(e,n){n===void 0&&(n={});var l=n.insertAt;if(!(!e||typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],u=document.createElement("style");u.type="text/css",l==="top"&&i.firstChild?i.insertBefore(u,i.firstChild):i.appendChild(u),u.styleSheet?u.styleSheet.cssText=e:u.appendChild(document.createTextNode(e))}}var En=`/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */ /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ @@ -807,4 +807,4 @@ video { --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(251, 191, 36, 0)) } -`;zn(En);de.render=Rn;var Bn=(()=>{const e=de;return e.install=n=>{n.component("Vue3PlayerVideo",e)},e})();const jn=Bn,Mn={key:0},Gn=C({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(e){const n=e;return(l,i)=>{const u=se,o=ae;return n.videos.length>0?(a(),c("div",Mn,[s(o,{"x-gap":4,"y-gap":4,cols:e.full?1:5},{default:p(()=>[s(u,{span:e.full?1:3},{default:p(()=>[(a(!0),c(g,null,k(n.videos,t=>(a(),y(m(jn),{onClick:i[0]||(i[0]=$(()=>{},["stop"])),key:t.id,src:t.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):w("",!0)}}}),In={class:"images-wrap"},Dn=C({__name:"post-image",props:{imgs:{default:()=>[]}},setup(e){const n=e,l="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",i="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(u,o)=>{const t=Ce,d=se,v=ae,h=_e;return a(),c("div",In,[[1].includes(n.imgs.length)?(a(),y(h,{key:0},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:2},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,r=>(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[0]||(o[0]=$(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):w("",!0),[2,3].includes(n.imgs.length)?(a(),y(h,{key:1},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:3},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,r=>(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[1]||(o[1]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):w("",!0),[4].includes(n.imgs.length)?(a(),y(h,{key:2},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:4},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,r=>(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[2]||(o[2]=$(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):w("",!0),[5].includes(n.imgs.length)?(a(),y(h,{key:3},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:3},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,{key:r.id},[f<3?(a(),y(d,{key:0},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[3]||(o[3]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),128))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,{key:r.id},[f>=3?(a(),y(d,{key:0},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[4]||(o[4]=$(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),128))]),_:1})]),_:1})):w("",!0),[6].includes(n.imgs.length)?(a(),y(h,{key:4},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:3},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,{key:r.id},[f<3?(a(),y(d,{key:0},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[5]||(o[5]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),128))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,{key:r.id},[f>=3?(a(),y(d,{key:0},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[6]||(o[6]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),128))]),_:1})]),_:1})):w("",!0),n.imgs.length===7?(a(),y(h,{key:5},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:4},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f<4?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[7]||(o[7]=$(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f>=4?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[8]||(o[8]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1})]),_:1})):w("",!0),n.imgs.length===8?(a(),y(h,{key:6},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:4},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f<4?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[9]||(o[9]=$(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f>=4?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[10]||(o[10]=$(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1})]),_:1})):w("",!0),n.imgs.length===9?(a(),y(h,{key:7},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:3},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f<3?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[11]||(o[11]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f>=3&&f<6?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[12]||(o[12]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f>=6?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[13]||(o[13]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1})]),_:1})):w("",!0)])}}});const Nn={class:"attachment-wrap"},Tn=C({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(e){const n=e,l=B(!1),i=B(""),u=B(0),o=d=>{l.value=!0,u.value=d.id,i.value="这是一个免费附件,您可以直接下载?",d.type===8&&(i.value=()=>E("div",{},[E("p",{},"这是一个收费附件,下载将收取"+(n.price/100).toFixed(2)+"元")]),ze({id:u.value}).then(v=>{v.paid&&(i.value=()=>E("div",{},[E("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(v=>{l.value=!1}))},t=()=>{Ee({id:u.value}).then(d=>{window.open(d.signed_url.replace("http://","https://"),"_blank")}).catch(d=>{console.log(d)})};return(d,v)=>{const h=J,r=Be,f=je;return a(),c("div",Nn,[(a(!0),c(g,null,k(e.attachments,S=>(a(),c("div",{class:"attach-item",key:S.id},[s(r,{onClick:$(N=>o(S),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:p(()=>[s(h,null,{default:p(()=>[s(m(Ze))]),_:1})]),default:p(()=>[Re(" "+G(S.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(f,{show:l.value,"onUpdate:show":v[0]||(v[0]=S=>l.value=S),"mask-closable":!1,preset:"dialog",title:"下载提示",content:i.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:t},null,8,["show","content"])])}}});const On=ee(Tn,[["__scopeId","data-v-22563084"]]),Un=e=>{const n=[],l=[];var i=/(#|#)([^#@])+?\s+?/g,u=/@([a-zA-Z0-9])+?\s+?/g;return e=e.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(i,o=>(n.push(o.substr(1).trim()),''+o.trim()+" ")).replace(u,o=>(l.push(o.substr(1).trim()),''+o.trim()+" ")),{content:e,tags:n,users:l}};export{An as B,Vn as C,qn as H,Dn as _,On as a,Gn as b,Fn as c,Un as p}; +`;zn(En);de.render=Rn;var Bn=(()=>{const e=de;return e.install=n=>{n.component("Vue3PlayerVideo",e)},e})();const jn=Bn,Mn={key:0},Gn=C({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(e){const n=e;return(l,i)=>{const u=se,o=ae;return n.videos.length>0?(a(),c("div",Mn,[s(o,{"x-gap":4,"y-gap":4,cols:e.full?1:5},{default:p(()=>[s(u,{span:e.full?1:3},{default:p(()=>[(a(!0),c(g,null,k(n.videos,t=>(a(),y(m(jn),{onClick:i[0]||(i[0]=$(()=>{},["stop"])),key:t.id,src:t.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):w("",!0)}}}),In={class:"images-wrap"},Dn=C({__name:"post-image",props:{imgs:{default:()=>[]}},setup(e){const n=e,l="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",i="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(u,o)=>{const t=Ce,d=se,v=ae,h=_e;return a(),c("div",In,[[1].includes(n.imgs.length)?(a(),y(h,{key:0},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:2},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,r=>(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[0]||(o[0]=$(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):w("",!0),[2,3].includes(n.imgs.length)?(a(),y(h,{key:1},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:3},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,r=>(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[1]||(o[1]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):w("",!0),[4].includes(n.imgs.length)?(a(),y(h,{key:2},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:4},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,r=>(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[2]||(o[2]=$(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):w("",!0),[5].includes(n.imgs.length)?(a(),y(h,{key:3},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:3},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,{key:r.id},[f<3?(a(),y(d,{key:0},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[3]||(o[3]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),128))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,{key:r.id},[f>=3?(a(),y(d,{key:0},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[4]||(o[4]=$(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),128))]),_:1})]),_:1})):w("",!0),[6].includes(n.imgs.length)?(a(),y(h,{key:4},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:3},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,{key:r.id},[f<3?(a(),y(d,{key:0},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[5]||(o[5]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),128))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,{key:r.id},[f>=3?(a(),y(d,{key:0},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[6]||(o[6]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),128))]),_:1})]),_:1})):w("",!0),n.imgs.length===7?(a(),y(h,{key:5},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:4},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f<4?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[7]||(o[7]=$(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f>=4?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[8]||(o[8]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1})]),_:1})):w("",!0),n.imgs.length===8?(a(),y(h,{key:6},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:4},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f<4?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[9]||(o[9]=$(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f>=4?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[10]||(o[10]=$(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1})]),_:1})):w("",!0),n.imgs.length===9?(a(),y(h,{key:7},{default:p(()=>[s(v,{"x-gap":4,"y-gap":4,cols:3},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f<3?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[11]||(o[11]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f>=3&&f<6?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[12]||(o[12]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1}),s(v,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:p(()=>[(a(!0),c(g,null,k(n.imgs,(r,f)=>(a(),c(g,null,[f>=6?(a(),y(d,{key:r.id},{default:p(()=>[s(t,{onError:()=>r.content=m(l),onClick:o[13]||(o[13]=$(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:r.content+m(i),"preview-src":r.content},null,8,["onError","src","preview-src"])]),_:2},1024)):w("",!0)],64))),256))]),_:1})]),_:1})):w("",!0)])}}});const Nn={class:"attachment-wrap"},Tn=C({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(e){const n=e,l=B(!1),i=B(""),u=B(0),o=d=>{l.value=!0,u.value=d.id,i.value="这是一个免费附件,您可以直接下载?",d.type===8&&(i.value=()=>E("div",{},[E("p",{},"这是一个收费附件,下载将收取"+(n.price/100).toFixed(2)+"元")]),ze({id:u.value}).then(v=>{v.paid&&(i.value=()=>E("div",{},[E("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(v=>{l.value=!1}))},t=()=>{Ee({id:u.value}).then(d=>{window.open(d.signed_url.replace("http://","https://"),"_blank")}).catch(d=>{console.log(d)})};return(d,v)=>{const h=J,r=Be,f=je;return a(),c("div",Nn,[(a(!0),c(g,null,k(e.attachments,S=>(a(),c("div",{class:"attach-item",key:S.id},[s(r,{onClick:$(N=>o(S),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:p(()=>[s(h,null,{default:p(()=>[s(m(Ze))]),_:1})]),default:p(()=>[Re(" "+G(S.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(f,{show:l.value,"onUpdate:show":v[0]||(v[0]=S=>l.value=S),"mask-closable":!1,preset:"dialog",title:"下载提示",content:i.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:t},null,8,["show","content"])])}}});const On=ee(Tn,[["__scopeId","data-v-22563084"]]),Un=e=>{const n=[],l=[];var i=/(#|#)([^#@\s])+?\s+?/g,u=/@([a-zA-Z0-9])+?\s+?/g;return e=e.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(i,o=>(n.push(o.substr(1).trim()),''+o.trim()+" ")).replace(u,o=>(l.push(o.substr(1).trim()),''+o.trim()+" ")),{content:e,tags:n,users:l}};export{An as B,Vn as C,qn as H,Dn as _,On as a,Gn as b,Fn as c,Un as p}; diff --git a/web/dist/assets/content-ebd7946e.css b/web/dist/assets/content-cc55174b.css similarity index 89% rename from web/dist/assets/content-ebd7946e.css rename to web/dist/assets/content-cc55174b.css index 5d946739..c464f917 100644 --- a/web/dist/assets/content-ebd7946e.css +++ b/web/dist/assets/content-cc55174b.css @@ -1 +1 @@ -.link-wrap[data-v-6c4d1eb6]{margin-bottom:10px}.link-wrap .link-item[data-v-6c4d1eb6]{display:flex;align-items:center}.link-wrap .link-item .hash-link .link-txt[data-v-6c4d1eb6]{margin-left:4px;word-break:break-all}.images-wrap{margin-top:10px}.post-img{display:flex;margin:0;border-radius:3px;overflow:hidden;background:rgba(0,0,0,.1);border:1px solid #eee}.post-img img{width:100%;height:100%}.x1{height:140px}.x2{height:90px}.x3{height:80px}.dark .post-img{border:1px solid #333}@media screen and (max-width: 821px){.x1{height:100px}.x2{height:70px}.x3{height:50px}}.attach-item[data-v-22563084]{margin:10px 0} +.link-wrap[data-v-6c4d1eb6]{margin-bottom:10px}.link-wrap .link-item[data-v-6c4d1eb6]{display:flex;align-items:center}.link-wrap .link-item .hash-link .link-txt[data-v-6c4d1eb6]{margin-left:4px;word-break:break-all}.images-wrap{margin-top:10px}.post-img{display:flex;margin:0;border-radius:3px;overflow:hidden;background:rgba(0,0,0,.1);border:1px solid #eee}.post-img img{width:100%;height:100%}.x1{height:152px}.x2{height:98px}.x3{height:87px}.dark .post-img{border:1px solid #333}@media screen and (max-width: 821px){.x1{height:100px}.x2{height:70px}.x3{height:50px}}.attach-item[data-v-22563084]{margin:10px 0} diff --git a/web/dist/assets/formatTime-09781e30.js b/web/dist/assets/formatTime-0c777b4d.js similarity index 86% rename from web/dist/assets/formatTime-09781e30.js rename to web/dist/assets/formatTime-0c777b4d.js index d718e40d..dfb088a2 100644 --- a/web/dist/assets/formatTime-09781e30.js +++ b/web/dist/assets/formatTime-0c777b4d.js @@ -3,9 +3,9 @@ //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com -var Wt;function l(){return Wt.apply(null,arguments)}function Ds(e){Wt=e}function I(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function ae(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function y(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function nt(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var t;for(t in e)if(y(e,t))return!1;return!0}function b(e){return e===void 0}function q(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function De(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function Nt(e,t){var s=[],r,a=e.length;for(r=0;r>>0,r;for(r=0;r0)for(s=0;s>>0,r;for(r=0;r0)for(s=0;s=0;return(n?s?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}var ut=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,pe=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,qe={},ue={};function h(e,t,s,r){var a=r;typeof r=="string"&&(a=function(){return this[r]()}),e&&(ue[e]=a),t&&(ue[t[0]]=function(){return E(a.apply(this,arguments),t[1],t[2])}),s&&(ue[s]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function Os(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function Ts(e){var t=e.match(ut),s,r;for(s=0,r=t.length;s=0&&pe.test(e);)e=e.replace(pe,r),pe.lastIndex=0,s-=1;return e}var xs={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function bs(e){var t=this._longDateFormat[e],s=this._longDateFormat[e.toUpperCase()];return t||!s?t:(this._longDateFormat[e]=s.match(ut).map(function(r){return r==="MMMM"||r==="MM"||r==="DD"||r==="dddd"?r.slice(1):r}).join(""),this._longDateFormat[e])}var Ws="Invalid date";function Ns(){return this._invalidDate}var Ps="%d",Rs=/\d{1,2}/;function Fs(e){return this._ordinal.replace("%d",e)}var Ls={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Is(e,t,s,r){var a=this._relativeTime[s];return V(a)?a(e,t,s,r):a.replace(/%d/i,e)}function Cs(e,t){var s=this._relativeTime[e>0?"future":"past"];return V(s)?s(t):s.replace(/%s/i,t)}var ye={};function O(e,t){var s=e.toLowerCase();ye[s]=ye[s+"s"]=ye[t]=e}function F(e){return typeof e=="string"?ye[e]||ye[e.toLowerCase()]:void 0}function dt(e){var t={},s,r;for(r in e)y(e,r)&&(s=F(r),s&&(t[s]=e[r]));return t}var Lt={};function T(e,t){Lt[e]=t}function Hs(e){var t=[],s;for(s in e)y(e,s)&&t.push({unit:s,priority:Lt[s]});return t.sort(function(r,a){return r.priority-a.priority}),t}function Ce(e){return e%4===0&&e%100!==0||e%400===0}function P(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function _(e){var t=+e,s=0;return t!==0&&isFinite(t)&&(s=P(t)),s}function fe(e,t){return function(s){return s!=null?(It(this,e,s),l.updateOffset(this,t),this):We(this,e)}}function We(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function It(e,t,s){e.isValid()&&!isNaN(s)&&(t==="FullYear"&&Ce(e.year())&&e.month()===1&&e.date()===29?(s=_(s),e._d["set"+(e._isUTC?"UTC":"")+t](s,e.month(),Ge(s,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](s))}function Us(e){return e=F(e),V(this[e])?this[e]():this}function Es(e,t){if(typeof e=="object"){e=dt(e);var s=Hs(e),r,a=s.length;for(r=0;r68?1900:2e3)};var Zt=fe("FullYear",!0);function nr(){return Ce(this.year())}function ir(e,t,s,r,a,n,i){var d;return e<100&&e>=0?(d=new Date(e+400,t,s,r,a,n,i),isFinite(d.getFullYear())&&d.setFullYear(e)):d=new Date(e,t,s,r,a,n,i),d}function ke(e){var t,s;return e<100&&e>=0?(s=Array.prototype.slice.call(arguments),s[0]=e+400,t=new Date(Date.UTC.apply(null,s)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Pe(e,t,s){var r=7+t-s,a=(7+ke(e,0,r).getUTCDay()-t)%7;return-a+r-1}function $t(e,t,s,r,a){var n=(7+s-r)%7,i=Pe(e,r,a),d=1+7*(t-1)+n+i,c,k;return d<=0?(c=e-1,k=we(c)+d):d>we(e)?(c=e+1,k=d-we(e)):(c=e,k=d),{year:c,dayOfYear:k}}function Me(e,t,s){var r=Pe(e.year(),t,s),a=Math.floor((e.dayOfYear()-r-1)/7)+1,n,i;return a<1?(i=e.year()-1,n=a+B(i,t,s)):a>B(e.year(),t,s)?(n=a-B(e.year(),t,s),i=e.year()+1):(i=e.year(),n=a),{week:n,year:i}}function B(e,t,s){var r=Pe(e,t,s),a=Pe(e+1,t,s);return(we(e)-r+a)/7}h("w",["ww",2],"wo","week");h("W",["WW",2],"Wo","isoWeek");O("week","w");O("isoWeek","W");T("week",5);T("isoWeek",5);u("w",D);u("ww",D,N);u("W",D);u("WW",D,N);ve(["w","ww","W","WW"],function(e,t,s,r){t[r.substr(0,1)]=_(e)});function or(e){return Me(e,this._week.dow,this._week.doy).week}var lr={dow:0,doy:6};function ur(){return this._week.dow}function dr(){return this._week.doy}function hr(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function fr(e){var t=Me(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}h("d",0,"do","day");h("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)});h("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)});h("dddd",0,0,function(e){return this.localeData().weekdays(this,e)});h("e",0,0,"weekday");h("E",0,0,"isoWeekday");O("day","d");O("weekday","e");O("isoWeekday","E");T("day",11);T("weekday",11);T("isoWeekday",11);u("d",D);u("e",D);u("E",D);u("dd",function(e,t){return t.weekdaysMinRegex(e)});u("ddd",function(e,t){return t.weekdaysShortRegex(e)});u("dddd",function(e,t){return t.weekdaysRegex(e)});ve(["dd","ddd","dddd"],function(e,t,s,r){var a=s._locale.weekdaysParse(e,r,s._strict);a!=null?t.d=a:f(s).invalidWeekday=e});ve(["d","e","E"],function(e,t,s,r){t[r]=_(e)});function cr(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function _r(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function ct(e,t){return e.slice(t,7).concat(e.slice(0,t))}var mr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Bt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),yr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),wr=ge,kr=ge,Mr=ge;function Sr(e,t){var s=I(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?ct(s,this._week.dow):e?s[e.day()]:s}function Dr(e){return e===!0?ct(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Yr(e){return e===!0?ct(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function gr(e,t,s){var r,a,n,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)n=A([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(n,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(n,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(n,"").toLocaleLowerCase();return s?t==="dddd"?(a=g.call(this._weekdaysParse,i),a!==-1?a:null):t==="ddd"?(a=g.call(this._shortWeekdaysParse,i),a!==-1?a:null):(a=g.call(this._minWeekdaysParse,i),a!==-1?a:null):t==="dddd"?(a=g.call(this._weekdaysParse,i),a!==-1||(a=g.call(this._shortWeekdaysParse,i),a!==-1)?a:(a=g.call(this._minWeekdaysParse,i),a!==-1?a:null)):t==="ddd"?(a=g.call(this._shortWeekdaysParse,i),a!==-1||(a=g.call(this._weekdaysParse,i),a!==-1)?a:(a=g.call(this._minWeekdaysParse,i),a!==-1?a:null)):(a=g.call(this._minWeekdaysParse,i),a!==-1||(a=g.call(this._weekdaysParse,i),a!==-1)?a:(a=g.call(this._shortWeekdaysParse,i),a!==-1?a:null))}function vr(e,t,s){var r,a,n;if(this._weekdaysParseExact)return gr.call(this,e,t,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(a=A([2e3,1]).day(r),s&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(n="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[r]=new RegExp(n.replace(".",""),"i")),s&&t==="dddd"&&this._fullWeekdaysParse[r].test(e))return r;if(s&&t==="ddd"&&this._shortWeekdaysParse[r].test(e))return r;if(s&&t==="dd"&&this._minWeekdaysParse[r].test(e))return r;if(!s&&this._weekdaysParse[r].test(e))return r}}function pr(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=cr(e,this.localeData()),this.add(e-t,"d")):t}function Or(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function Tr(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=_r(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function xr(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(y(this,"_weekdaysRegex")||(this._weekdaysRegex=wr),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function br(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(y(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=kr),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Wr(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(y(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Mr),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function _t(){function e(x,G){return G.length-x.length}var t=[],s=[],r=[],a=[],n,i,d,c,k;for(n=0;n<7;n++)i=A([2e3,1]).day(n),d=W(this.weekdaysMin(i,"")),c=W(this.weekdaysShort(i,"")),k=W(this.weekdays(i,"")),t.push(d),s.push(c),r.push(k),a.push(d),a.push(c),a.push(k);t.sort(e),s.sort(e),r.sort(e),a.sort(e),this._weekdaysRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function mt(){return this.hours()%12||12}function Nr(){return this.hours()||24}h("H",["HH",2],0,"hour");h("h",["hh",2],0,mt);h("k",["kk",2],0,Nr);h("hmm",0,0,function(){return""+mt.apply(this)+E(this.minutes(),2)});h("hmmss",0,0,function(){return""+mt.apply(this)+E(this.minutes(),2)+E(this.seconds(),2)});h("Hmm",0,0,function(){return""+this.hours()+E(this.minutes(),2)});h("Hmmss",0,0,function(){return""+this.hours()+E(this.minutes(),2)+E(this.seconds(),2)});function qt(e,t){h(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}qt("a",!0);qt("A",!1);O("hour","h");T("hour",13);function Jt(e,t){return t._meridiemParse}u("a",Jt);u("A",Jt);u("H",D);u("h",D);u("k",D);u("HH",D,N);u("hh",D,N);u("kk",D,N);u("hmm",Ut);u("hmmss",Et);u("Hmm",Ut);u("Hmmss",Et);M(["H","HH"],v);M(["k","kk"],function(e,t,s){var r=_(e);t[v]=r===24?0:r});M(["a","A"],function(e,t,s){s._isPm=s._locale.isPM(e),s._meridiem=e});M(["h","hh"],function(e,t,s){t[v]=_(e),f(s).bigHour=!0});M("hmm",function(e,t,s){var r=e.length-2;t[v]=_(e.substr(0,r)),t[L]=_(e.substr(r)),f(s).bigHour=!0});M("hmmss",function(e,t,s){var r=e.length-4,a=e.length-2;t[v]=_(e.substr(0,r)),t[L]=_(e.substr(r,2)),t[$]=_(e.substr(a)),f(s).bigHour=!0});M("Hmm",function(e,t,s){var r=e.length-2;t[v]=_(e.substr(0,r)),t[L]=_(e.substr(r))});M("Hmmss",function(e,t,s){var r=e.length-4,a=e.length-2;t[v]=_(e.substr(0,r)),t[L]=_(e.substr(r,2)),t[$]=_(e.substr(a))});function Pr(e){return(e+"").toLowerCase().charAt(0)==="p"}var Rr=/[ap]\.?m?\.?/i,Fr=fe("Hours",!0);function Lr(e,t,s){return e>11?s?"pm":"PM":s?"am":"AM"}var Qt={calendar:vs,longDateFormat:xs,invalidDate:Ws,ordinal:Ps,dayOfMonthOrdinalParse:Rs,relativeTime:Ls,months:qs,monthsShort:At,week:lr,weekdays:mr,weekdaysMin:yr,weekdaysShort:Bt,meridiemParse:Rr},Y={},_e={},Se;function Ir(e,t){var s,r=Math.min(e.length,t.length);for(s=0;s0;){if(a=je(n.slice(0,s).join("-")),a)return a;if(r&&r.length>=s&&Ir(n,r)>=s-1)break;s--}t++}return Se}function Hr(e){return e.match("^[^/\\\\]*$")!=null}function je(e){var t=null,s;if(Y[e]===void 0&&typeof module<"u"&&module&&module.exports&&Hr(e))try{t=Se._abbr,s=require,s("./locale/"+e),te(t)}catch{Y[e]=null}return Y[e]}function te(e,t){var s;return e&&(b(t)?s=J(e):s=yt(e,t),s?Se=s:typeof console<"u"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),Se._abbr}function yt(e,t){if(t!==null){var s,r=Qt;if(t.abbr=e,Y[e]!=null)Rt("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=Y[e]._config;else if(t.parentLocale!=null)if(Y[t.parentLocale]!=null)r=Y[t.parentLocale]._config;else if(s=je(t.parentLocale),s!=null)r=s._config;else return _e[t.parentLocale]||(_e[t.parentLocale]=[]),_e[t.parentLocale].push({name:e,config:t}),null;return Y[e]=new lt(Ke(r,t)),_e[e]&&_e[e].forEach(function(a){yt(a.name,a.config)}),te(e),Y[e]}else return delete Y[e],null}function Ur(e,t){if(t!=null){var s,r,a=Qt;Y[e]!=null&&Y[e].parentLocale!=null?Y[e].set(Ke(Y[e]._config,t)):(r=je(e),r!=null&&(a=r._config),t=Ke(a,t),r==null&&(t.abbr=e),s=new lt(t),s.parentLocale=Y[e],Y[e]=s),te(e)}else Y[e]!=null&&(Y[e].parentLocale!=null?(Y[e]=Y[e].parentLocale,e===te()&&te(e)):Y[e]!=null&&delete Y[e]);return Y[e]}function J(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Se;if(!I(e)){if(t=je(e),t)return t;e=[e]}return Cr(e)}function Er(){return et(Y)}function wt(e){var t,s=e._a;return s&&f(e).overflow===-2&&(t=s[Z]<0||s[Z]>11?Z:s[U]<1||s[U]>Ge(s[p],s[Z])?U:s[v]<0||s[v]>24||s[v]===24&&(s[L]!==0||s[$]!==0||s[re]!==0)?v:s[L]<0||s[L]>59?L:s[$]<0||s[$]>59?$:s[re]<0||s[re]>999?re:-1,f(e)._overflowDayOfYear&&(tU)&&(t=U),f(e)._overflowWeeks&&t===-1&&(t=Zs),f(e)._overflowWeekday&&t===-1&&(t=$s),f(e).overflow=t),e}var Ar=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Vr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Gr=/Z|[+-]\d\d(?::?\d\d)?/,Oe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Je=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],jr=/^\/?Date\((-?\d+)/i,zr=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Zr={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Xt(e){var t,s,r=e._i,a=Ar.exec(r)||Vr.exec(r),n,i,d,c,k=Oe.length,x=Je.length;if(a){for(f(e).iso=!0,t=0,s=k;twe(i)||e._dayOfYear===0)&&(f(e)._overflowDayOfYear=!0),s=ke(i,0,e._dayOfYear),e._a[Z]=s.getUTCMonth(),e._a[U]=s.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=r[t]=a[t];for(;t<7;t++)e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[v]===24&&e._a[L]===0&&e._a[$]===0&&e._a[re]===0&&(e._nextDay=!0,e._a[v]=0),e._d=(e._useUTC?ke:ir).apply(null,r),n=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[v]=24),e._w&&typeof e._w.d<"u"&&e._w.d!==n&&(f(e).weekdayMismatch=!0)}}function ea(e){var t,s,r,a,n,i,d,c,k;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(n=1,i=4,s=oe(t.GG,e._a[p],Me(S(),1,4).year),r=oe(t.W,1),a=oe(t.E,1),(a<1||a>7)&&(c=!0)):(n=e._locale._week.dow,i=e._locale._week.doy,k=Me(S(),n,i),s=oe(t.gg,e._a[p],k.year),r=oe(t.w,k.week),t.d!=null?(a=t.d,(a<0||a>6)&&(c=!0)):t.e!=null?(a=t.e+n,(t.e<0||t.e>6)&&(c=!0)):a=n),r<1||r>B(s,n,i)?f(e)._overflowWeeks=!0:c!=null?f(e)._overflowWeekday=!0:(d=$t(s,r,a,n,i),e._a[p]=d.year,e._dayOfYear=d.dayOfYear)}l.ISO_8601=function(){};l.RFC_2822=function(){};function Mt(e){if(e._f===l.ISO_8601){Xt(e);return}if(e._f===l.RFC_2822){Kt(e);return}e._a=[],f(e).empty=!0;var t=""+e._i,s,r,a,n,i,d=t.length,c=0,k,x;for(a=Ft(e._f,e._locale).match(ut)||[],x=a.length,s=0;s0&&f(e).unusedInput.push(i),t=t.slice(t.indexOf(r)+r.length),c+=r.length),ue[n]?(r?f(e).empty=!1:f(e).unusedTokens.push(n),zs(n,r,e)):e._strict&&!r&&f(e).unusedTokens.push(n);f(e).charsLeftOver=d-c,t.length>0&&f(e).unusedInput.push(t),e._a[v]<=12&&f(e).bigHour===!0&&e._a[v]>0&&(f(e).bigHour=void 0),f(e).parsedDateParts=e._a.slice(0),f(e).meridiem=e._meridiem,e._a[v]=ta(e._locale,e._a[v],e._meridiem),k=f(e).era,k!==null&&(e._a[p]=e._locale.erasConvertYear(k,e._a[p])),kt(e),wt(e)}function ta(e,t,s){var r;return s==null?t:e.meridiemHour!=null?e.meridiemHour(t,s):(e.isPM!=null&&(r=e.isPM(s),r&&t<12&&(t+=12),!r&&t===12&&(t=0)),t)}function sa(e){var t,s,r,a,n,i,d=!1,c=e._f.length;if(c===0){f(e).invalidFormat=!0,e._d=new Date(NaN);return}for(a=0;athis?this:e:Ie()});function ss(e,t){var s,r;if(t.length===1&&I(t[0])&&(t=t[0]),!t.length)return S();for(s=t[0],r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function ga(){if(!b(this._isDSTShifted))return this._isDSTShifted;var e={},t;return ot(e,this),e=es(e),e._a?(t=e._isUTC?A(e._a):S(e._a),this._isDSTShifted=this.isValid()&&_a(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function va(){return this.isValid()?!this._isUTC:!1}function pa(){return this.isValid()?this._isUTC:!1}function as(){return this.isValid()?this._isUTC&&this._offset===0:!1}var Oa=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Ta=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function H(e,t){var s=e,r=null,a,n,i;return xe(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:q(e)||!isNaN(+e)?(s={},t?s[t]=+e:s.milliseconds=+e):(r=Oa.exec(e))?(a=r[1]==="-"?-1:1,s={y:0,d:_(r[U])*a,h:_(r[v])*a,m:_(r[L])*a,s:_(r[$])*a,ms:_(st(r[re]*1e3))*a}):(r=Ta.exec(e))?(a=r[1]==="-"?-1:1,s={y:se(r[2],a),M:se(r[3],a),w:se(r[4],a),d:se(r[5],a),h:se(r[6],a),m:se(r[7],a),s:se(r[8],a)}):s==null?s={}:typeof s=="object"&&("from"in s||"to"in s)&&(i=xa(S(s.from),S(s.to)),s={},s.ms=i.milliseconds,s.M=i.months),n=new ze(s),xe(e)&&y(e,"_locale")&&(n._locale=e._locale),xe(e)&&y(e,"_isValid")&&(n._isValid=e._isValid),n}H.fn=ze.prototype;H.invalid=ca;function se(e,t){var s=e&&parseFloat(e.replace(",","."));return(isNaN(s)?0:s)*t}function xt(e,t){var s={};return s.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(s.months,"M").isAfter(t)&&--s.months,s.milliseconds=+t-+e.clone().add(s.months,"M"),s}function xa(e,t){var s;return e.isValid()&&t.isValid()?(t=Dt(t,e),e.isBefore(t)?s=xt(e,t):(s=xt(t,e),s.milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0}}function ns(e,t){return function(s,r){var a,n;return r!==null&&!isNaN(+r)&&(Rt(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=r,r=n),a=H(s,r),is(this,a,e),this}}function is(e,t,s,r){var a=t._milliseconds,n=st(t._days),i=st(t._months);e.isValid()&&(r=r??!0,i&&Gt(e,We(e,"Month")+i*s),n&&It(e,"Date",We(e,"Date")+n*s),a&&e._d.setTime(e._d.valueOf()+a*s),r&&l.updateOffset(e,n||i))}var ba=ns(1,"add"),Wa=ns(-1,"subtract");function os(e){return typeof e=="string"||e instanceof String}function Na(e){return C(e)||De(e)||os(e)||q(e)||Ra(e)||Pa(e)||e===null||e===void 0}function Pa(e){var t=ae(e)&&!nt(e),s=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a,n,i=r.length;for(a=0;as.valueOf():s.valueOf()9999?Te(s,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):V(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Te(s,"Z")):Te(s,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function $a(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",s,r,a,n;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),s="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a="-MM-DD[T]HH:mm:ss.SSS",n=t+'[")]',this.format(s+r+a+n)}function Ba(e){e||(e=this.isUtc()?l.defaultFormatUtc:l.defaultFormat);var t=Te(this,e);return this.localeData().postformat(t)}function qa(e,t){return this.isValid()&&(C(e)&&e.isValid()||S(e).isValid())?H({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Ja(e){return this.from(S(),e)}function Qa(e,t){return this.isValid()&&(C(e)&&e.isValid()||S(e).isValid())?H({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Xa(e){return this.to(S(),e)}function ls(e){var t;return e===void 0?this._locale._abbr:(t=J(e),t!=null&&(this._locale=t),this)}var us=R("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function ds(){return this._locale}var Re=1e3,de=60*Re,Fe=60*de,hs=(365*400+97)*24*Fe;function he(e,t){return(e%t+t)%t}function fs(e,t,s){return e<100&&e>=0?new Date(e+400,t,s)-hs:new Date(e,t,s).valueOf()}function cs(e,t,s){return e<100&&e>=0?Date.UTC(e+400,t,s)-hs:Date.UTC(e,t,s)}function Ka(e){var t,s;if(e=F(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?cs:fs,e){case"year":t=s(this.year(),0,1);break;case"quarter":t=s(this.year(),this.month()-this.month()%3,1);break;case"month":t=s(this.year(),this.month(),1);break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=s(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=he(t+(this._isUTC?0:this.utcOffset()*de),Fe);break;case"minute":t=this._d.valueOf(),t-=he(t,de);break;case"second":t=this._d.valueOf(),t-=he(t,Re);break}return this._d.setTime(t),l.updateOffset(this,!0),this}function en(e){var t,s;if(e=F(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?cs:fs,e){case"year":t=s(this.year()+1,0,1)-1;break;case"quarter":t=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=s(this.year(),this.month()+1,1)-1;break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=Fe-he(t+(this._isUTC?0:this.utcOffset()*de),Fe)-1;break;case"minute":t=this._d.valueOf(),t+=de-he(t,de)-1;break;case"second":t=this._d.valueOf(),t+=Re-he(t,Re)-1;break}return this._d.setTime(t),l.updateOffset(this,!0),this}function tn(){return this._d.valueOf()-(this._offset||0)*6e4}function sn(){return Math.floor(this.valueOf()/1e3)}function rn(){return new Date(this.valueOf())}function an(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function nn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function on(){return this.isValid()?this.toISOString():null}function ln(){return it(this)}function un(){return K({},f(this))}function dn(){return f(this).overflow}function hn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}h("N",0,0,"eraAbbr");h("NN",0,0,"eraAbbr");h("NNN",0,0,"eraAbbr");h("NNNN",0,0,"eraName");h("NNNNN",0,0,"eraNarrow");h("y",["y",1],"yo","eraYear");h("y",["yy",2],0,"eraYear");h("y",["yyy",3],0,"eraYear");h("y",["yyyy",4],0,"eraYear");u("N",Yt);u("NN",Yt);u("NNN",Yt);u("NNNN",Yn);u("NNNNN",gn);M(["N","NN","NNN","NNNN","NNNNN"],function(e,t,s,r){var a=s._locale.erasParse(e,r,s._strict);a?f(s).era=a:f(s).invalidEra=e});u("y",ce);u("yy",ce);u("yyy",ce);u("yyyy",ce);u("yo",vn);M(["y","yy","yyy","yyyy"],p);M(["yo"],function(e,t,s,r){var a;s._locale._eraYearOrdinalRegex&&(a=e.match(s._locale._eraYearOrdinalRegex)),s._locale.eraYearOrdinalParse?t[p]=s._locale.eraYearOrdinalParse(e,a):t[p]=parseInt(e,10)});function fn(e,t){var s,r,a,n=this._eras||J("en")._eras;for(s=0,r=n.length;s=0)return n[r]}function _n(e,t){var s=e.since<=e.until?1:-1;return t===void 0?l(e.since).year():l(e.since).year()+(t-e.offset)*s}function mn(){var e,t,s,r=this.localeData().eras();for(e=0,t=r.length;en&&(t=n),Nn.call(this,e,t,s,r,a))}function Nn(e,t,s,r,a){var n=$t(e,t,s,r,a),i=ke(n.year,0,n.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}h("Q",0,"Qo","quarter");O("quarter","Q");T("quarter",7);u("Q",Ct);M("Q",function(e,t){t[Z]=(_(e)-1)*3});function Pn(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}h("D",["DD",2],"Do","date");O("date","D");T("date",9);u("D",D);u("DD",D,N);u("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient});M(["D","DD"],U);M("Do",function(e,t){t[U]=_(e.match(D)[0])});var ms=fe("Date",!0);h("DDD",["DDDD",3],"DDDo","dayOfYear");O("dayOfYear","DDD");T("dayOfYear",4);u("DDD",Ue);u("DDDD",Ht);M(["DDD","DDDD"],function(e,t,s){s._dayOfYear=_(e)});function Rn(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}h("m",["mm",2],0,"minute");O("minute","m");T("minute",14);u("m",D);u("mm",D,N);M(["m","mm"],L);var Fn=fe("Minutes",!1);h("s",["ss",2],0,"second");O("second","s");T("second",15);u("s",D);u("ss",D,N);M(["s","ss"],$);var Ln=fe("Seconds",!1);h("S",0,0,function(){return~~(this.millisecond()/100)});h(0,["SS",2],0,function(){return~~(this.millisecond()/10)});h(0,["SSS",3],0,"millisecond");h(0,["SSSS",4],0,function(){return this.millisecond()*10});h(0,["SSSSS",5],0,function(){return this.millisecond()*100});h(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});h(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});h(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});h(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});O("millisecond","ms");T("millisecond",16);u("S",Ue,Ct);u("SS",Ue,N);u("SSS",Ue,Ht);var ee,ys;for(ee="SSSS";ee.length<=9;ee+="S")u(ee,ce);function In(e,t){t[re]=_(("0."+e)*1e3)}for(ee="S";ee.length<=9;ee+="S")M(ee,In);ys=fe("Milliseconds",!1);h("z",0,0,"zoneAbbr");h("zz",0,0,"zoneName");function Cn(){return this._isUTC?"UTC":""}function Hn(){return this._isUTC?"Coordinated Universal Time":""}var o=Ye.prototype;o.add=ba;o.calendar=Ia;o.clone=Ca;o.diff=ja;o.endOf=en;o.format=Ba;o.from=qa;o.fromNow=Ja;o.to=Qa;o.toNow=Xa;o.get=Us;o.invalidAt=dn;o.isAfter=Ha;o.isBefore=Ua;o.isBetween=Ea;o.isSame=Aa;o.isSameOrAfter=Va;o.isSameOrBefore=Ga;o.isValid=ln;o.lang=us;o.locale=ls;o.localeData=ds;o.max=oa;o.min=ia;o.parsingFlags=un;o.set=Es;o.startOf=Ka;o.subtract=Wa;o.toArray=an;o.toObject=nn;o.toDate=rn;o.toISOString=Za;o.inspect=$a;typeof Symbol<"u"&&Symbol.for!=null&&(o[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});o.toJSON=on;o.toString=za;o.unix=sn;o.valueOf=tn;o.creationData=hn;o.eraName=mn;o.eraNarrow=yn;o.eraAbbr=wn;o.eraYear=kn;o.year=Zt;o.isLeapYear=nr;o.weekYear=pn;o.isoWeekYear=On;o.quarter=o.quarters=Pn;o.month=jt;o.daysInMonth=sr;o.week=o.weeks=hr;o.isoWeek=o.isoWeeks=fr;o.weeksInYear=bn;o.weeksInWeekYear=Wn;o.isoWeeksInYear=Tn;o.isoWeeksInISOWeekYear=xn;o.date=ms;o.day=o.days=pr;o.weekday=Or;o.isoWeekday=Tr;o.dayOfYear=Rn;o.hour=o.hours=Fr;o.minute=o.minutes=Fn;o.second=o.seconds=Ln;o.millisecond=o.milliseconds=ys;o.utcOffset=ya;o.utc=ka;o.local=Ma;o.parseZone=Sa;o.hasAlignedHourOffset=Da;o.isDST=Ya;o.isLocal=va;o.isUtcOffset=pa;o.isUtc=as;o.isUTC=as;o.zoneAbbr=Cn;o.zoneName=Hn;o.dates=R("dates accessor is deprecated. Use date instead.",ms);o.months=R("months accessor is deprecated. Use month instead",jt);o.years=R("years accessor is deprecated. Use year instead",Zt);o.zone=R("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",wa);o.isDSTShifted=R("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",ga);function Un(e){return S(e*1e3)}function En(){return S.apply(null,arguments).parseZone()}function ws(e){return e}var w=lt.prototype;w.calendar=ps;w.longDateFormat=bs;w.invalidDate=Ns;w.ordinal=Fs;w.preparse=ws;w.postformat=ws;w.relativeTime=Is;w.pastFuture=Cs;w.set=gs;w.eras=fn;w.erasParse=cn;w.erasConvertYear=_n;w.erasAbbrRegex=Sn;w.erasNameRegex=Mn;w.erasNarrowRegex=Dn;w.months=Xs;w.monthsShort=Ks;w.monthsParse=tr;w.monthsRegex=ar;w.monthsShortRegex=rr;w.week=or;w.firstDayOfYear=dr;w.firstDayOfWeek=ur;w.weekdays=Sr;w.weekdaysMin=Yr;w.weekdaysShort=Dr;w.weekdaysParse=vr;w.weekdaysRegex=xr;w.weekdaysShortRegex=br;w.weekdaysMinRegex=Wr;w.isPM=Pr;w.meridiem=Lr;function Le(e,t,s,r){var a=J(),n=A().set(r,t);return a[s](n,e)}function ks(e,t,s){if(q(e)&&(t=e,e=void 0),e=e||"",t!=null)return Le(e,t,s,"month");var r,a=[];for(r=0;r<12;r++)a[r]=Le(e,r,s,"month");return a}function vt(e,t,s,r){typeof e=="boolean"?(q(t)&&(s=t,t=void 0),t=t||""):(t=e,s=t,e=!1,q(t)&&(s=t,t=void 0),t=t||"");var a=J(),n=e?a._week.dow:0,i,d=[];if(s!=null)return Le(t,(s+n)%7,r,"day");for(i=0;i<7;i++)d[i]=Le(t,(i+n)%7,r,"day");return d}function An(e,t){return ks(e,t,"months")}function Vn(e,t){return ks(e,t,"monthsShort")}function Gn(e,t,s){return vt(e,t,s,"weekdays")}function jn(e,t,s){return vt(e,t,s,"weekdaysShort")}function zn(e,t,s){return vt(e,t,s,"weekdaysMin")}te("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,s=_(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+s}});l.lang=R("moment.lang is deprecated. Use moment.locale instead.",te);l.langData=R("moment.langData is deprecated. Use moment.localeData instead.",J);var j=Math.abs;function Zn(){var e=this._data;return this._milliseconds=j(this._milliseconds),this._days=j(this._days),this._months=j(this._months),e.milliseconds=j(e.milliseconds),e.seconds=j(e.seconds),e.minutes=j(e.minutes),e.hours=j(e.hours),e.months=j(e.months),e.years=j(e.years),this}function Ms(e,t,s,r){var a=H(t,s);return e._milliseconds+=r*a._milliseconds,e._days+=r*a._days,e._months+=r*a._months,e._bubble()}function $n(e,t){return Ms(this,e,t,1)}function Bn(e,t){return Ms(this,e,t,-1)}function bt(e){return e<0?Math.floor(e):Math.ceil(e)}function qn(){var e=this._milliseconds,t=this._days,s=this._months,r=this._data,a,n,i,d,c;return e>=0&&t>=0&&s>=0||e<=0&&t<=0&&s<=0||(e+=bt(at(s)+t)*864e5,t=0,s=0),r.milliseconds=e%1e3,a=P(e/1e3),r.seconds=a%60,n=P(a/60),r.minutes=n%60,i=P(n/60),r.hours=i%24,t+=P(i/24),c=P(Ss(t)),s+=c,t-=bt(at(c)),d=P(s/12),s%=12,r.days=t,r.months=s,r.years=d,this}function Ss(e){return e*4800/146097}function at(e){return e*146097/4800}function Jn(e){if(!this.isValid())return NaN;var t,s,r=this._milliseconds;if(e=F(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+r/864e5,s=this._months+Ss(t),e){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(t=this._days+Math.round(at(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return t*24+r/36e5;case"minute":return t*1440+r/6e4;case"second":return t*86400+r/1e3;case"millisecond":return Math.floor(t*864e5)+r;default:throw new Error("Unknown unit "+e)}}function Qn(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+_(this._months/12)*31536e6:NaN}function Q(e){return function(){return this.as(e)}}var Xn=Q("ms"),Kn=Q("s"),ei=Q("m"),ti=Q("h"),si=Q("d"),ri=Q("w"),ai=Q("M"),ni=Q("Q"),ii=Q("y");function oi(){return H(this)}function li(e){return e=F(e),this.isValid()?this[e+"s"]():NaN}function ne(e){return function(){return this.isValid()?this._data[e]:NaN}}var ui=ne("milliseconds"),di=ne("seconds"),hi=ne("minutes"),fi=ne("hours"),ci=ne("days"),_i=ne("months"),mi=ne("years");function yi(){return P(this.days()/7)}var z=Math.round,le={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function wi(e,t,s,r,a){return a.relativeTime(t||1,!!s,e,r)}function ki(e,t,s,r){var a=H(e).abs(),n=z(a.as("s")),i=z(a.as("m")),d=z(a.as("h")),c=z(a.as("d")),k=z(a.as("M")),x=z(a.as("w")),G=z(a.as("y")),X=n<=s.ss&&["s",n]||n0,X[4]=r,wi.apply(null,X)}function Mi(e){return e===void 0?z:typeof e=="function"?(z=e,!0):!1}function Si(e,t){return le[e]===void 0?!1:t===void 0?le[e]:(le[e]=t,e==="s"&&(le.ss=t-1),!0)}function Di(e,t){if(!this.isValid())return this.localeData().invalidDate();var s=!1,r=le,a,n;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(s=e),typeof t=="object"&&(r=Object.assign({},le,t),t.s!=null&&t.ss==null&&(r.ss=t.s-1)),a=this.localeData(),n=ki(this,!s,r,a),s&&(n=a.pastFuture(+this,n)),a.postformat(n)}var Qe=Math.abs;function ie(e){return(e>0)-(e<0)||+e}function $e(){if(!this.isValid())return this.localeData().invalidDate();var e=Qe(this._milliseconds)/1e3,t=Qe(this._days),s=Qe(this._months),r,a,n,i,d=this.asSeconds(),c,k,x,G;return d?(r=P(e/60),a=P(r/60),e%=60,r%=60,n=P(s/12),s%=12,i=e?e.toFixed(3).replace(/\.?0+$/,""):"",c=d<0?"-":"",k=ie(this._months)!==ie(d)?"-":"",x=ie(this._days)!==ie(d)?"-":"",G=ie(this._milliseconds)!==ie(d)?"-":"",c+"P"+(n?k+n+"Y":"")+(s?k+s+"M":"")+(t?x+t+"D":"")+(a||r||e?"T":"")+(a?G+a+"H":"")+(r?G+r+"M":"")+(e?G+i+"S":"")):"P0D"}var m=ze.prototype;m.isValid=fa;m.abs=Zn;m.add=$n;m.subtract=Bn;m.as=Jn;m.asMilliseconds=Xn;m.asSeconds=Kn;m.asMinutes=ei;m.asHours=ti;m.asDays=si;m.asWeeks=ri;m.asMonths=ai;m.asQuarters=ni;m.asYears=ii;m.valueOf=Qn;m._bubble=qn;m.clone=oi;m.get=li;m.milliseconds=ui;m.seconds=di;m.minutes=hi;m.hours=fi;m.days=ci;m.weeks=yi;m.months=_i;m.years=mi;m.humanize=Di;m.toISOString=$e;m.toString=$e;m.toJSON=$e;m.locale=ls;m.localeData=ds;m.toIsoString=R("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",$e);m.lang=us;h("X",0,0,"unix");h("x",0,0,"valueOf");u("x",Ae);u("X",Vs);M("X",function(e,t,s){s._d=new Date(parseFloat(e)*1e3)});M("x",function(e,t,s){s._d=new Date(_(e))});//! moment.js -l.version="2.29.4";Ds(S);l.fn=o;l.min=la;l.max=ua;l.now=da;l.utc=A;l.unix=Un;l.months=An;l.isDate=De;l.locale=te;l.invalid=Ie;l.duration=H;l.isMoment=C;l.weekdays=Gn;l.parseZone=En;l.localeData=J;l.isDuration=xe;l.monthsShort=Vn;l.weekdaysMin=zn;l.defineLocale=yt;l.updateLocale=Ur;l.locales=Er;l.weekdaysShort=jn;l.normalizeUnits=F;l.relativeTimeRounding=Mi;l.relativeTimeThreshold=Si;l.calendarFormat=La;l.prototype=o;l.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};//! moment.js locale configuration -l.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return e===12&&(e=0),t==="凌晨"||t==="早上"||t==="上午"?e:t==="下午"||t==="晚上"?e+12:e>=11?e:e+12},meridiem:function(e,t,s){var r=e*100+t;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:function(e){return e.week()!==this.week()?"[下]dddLT":"[本]dddLT"},lastDay:"[昨天]LT",lastWeek:function(e){return this.week()!==e.week()?"[上]dddLT":"[本]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s后",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",w:"1 周",ww:"%d 周",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});l.locale("zh-cn");const Yi=e=>l.unix(e).fromNow(),gi=e=>{let t=l.unix(e);return l().diff(t,"month")>3?t.utc(!0).format("YYYY-MM-DD HH:mm"):t.fromNow()};export{Yi as a,gi as f}; +`+new Error().stack),s=!1}return t.apply(this,arguments)},t)}var Ot={};function Rt(e,t){l.deprecationHandler!=null&&l.deprecationHandler(e,t),Ot[e]||(Pt(t),Ot[e]=!0)}l.suppressDeprecationWarnings=!1;l.deprecationHandler=null;function V(e){return typeof Function<"u"&&e instanceof Function||Object.prototype.toString.call(e)==="[object Function]"}function gs(e){var t,s;for(s in e)y(e,s)&&(t=e[s],V(t)?this[s]=t:this["_"+s]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function Ke(e,t){var s=K({},e),r;for(r in t)y(t,r)&&(ae(e[r])&&ae(t[r])?(s[r]={},K(s[r],e[r]),K(s[r],t[r])):t[r]!=null?s[r]=t[r]:delete s[r]);for(r in e)y(e,r)&&!y(t,r)&&ae(e[r])&&(s[r]=K({},s[r]));return s}function lt(e){e!=null&&this.set(e)}var et;Object.keys?et=Object.keys:et=function(e){var t,s=[];for(t in e)y(e,t)&&s.push(t);return s};var vs={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function ps(e,t,s){var r=this._calendar[e]||this._calendar.sameElse;return V(r)?r.call(t,s):r}function E(e,t,s){var r=""+Math.abs(e),a=t-r.length,n=e>=0;return(n?s?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}var ut=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,pe=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,qe={},ue={};function h(e,t,s,r){var a=r;typeof r=="string"&&(a=function(){return this[r]()}),e&&(ue[e]=a),t&&(ue[t[0]]=function(){return E(a.apply(this,arguments),t[1],t[2])}),s&&(ue[s]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function Os(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function Ts(e){var t=e.match(ut),s,r;for(s=0,r=t.length;s=0&&pe.test(e);)e=e.replace(pe,r),pe.lastIndex=0,s-=1;return e}var xs={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function bs(e){var t=this._longDateFormat[e],s=this._longDateFormat[e.toUpperCase()];return t||!s?t:(this._longDateFormat[e]=s.match(ut).map(function(r){return r==="MMMM"||r==="MM"||r==="DD"||r==="dddd"?r.slice(1):r}).join(""),this._longDateFormat[e])}var Ns="Invalid date";function Ws(){return this._invalidDate}var Ps="%d",Rs=/\d{1,2}/;function Fs(e){return this._ordinal.replace("%d",e)}var Ls={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Is(e,t,s,r){var a=this._relativeTime[s];return V(a)?a(e,t,s,r):a.replace(/%d/i,e)}function Cs(e,t){var s=this._relativeTime[e>0?"future":"past"];return V(s)?s(t):s.replace(/%s/i,t)}var ye={};function O(e,t){var s=e.toLowerCase();ye[s]=ye[s+"s"]=ye[t]=e}function F(e){return typeof e=="string"?ye[e]||ye[e.toLowerCase()]:void 0}function dt(e){var t={},s,r;for(r in e)y(e,r)&&(s=F(r),s&&(t[s]=e[r]));return t}var Lt={};function T(e,t){Lt[e]=t}function Hs(e){var t=[],s;for(s in e)y(e,s)&&t.push({unit:s,priority:Lt[s]});return t.sort(function(r,a){return r.priority-a.priority}),t}function Ce(e){return e%4===0&&e%100!==0||e%400===0}function P(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function _(e){var t=+e,s=0;return t!==0&&isFinite(t)&&(s=P(t)),s}function fe(e,t){return function(s){return s!=null?(It(this,e,s),l.updateOffset(this,t),this):Ne(this,e)}}function Ne(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function It(e,t,s){e.isValid()&&!isNaN(s)&&(t==="FullYear"&&Ce(e.year())&&e.month()===1&&e.date()===29?(s=_(s),e._d["set"+(e._isUTC?"UTC":"")+t](s,e.month(),Ge(s,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](s))}function Us(e){return e=F(e),V(this[e])?this[e]():this}function Es(e,t){if(typeof e=="object"){e=dt(e);var s=Hs(e),r,a=s.length;for(r=0;r68?1900:2e3)};var Zt=fe("FullYear",!0);function nr(){return Ce(this.year())}function ir(e,t,s,r,a,n,i){var d;return e<100&&e>=0?(d=new Date(e+400,t,s,r,a,n,i),isFinite(d.getFullYear())&&d.setFullYear(e)):d=new Date(e,t,s,r,a,n,i),d}function Me(e){var t,s;return e<100&&e>=0?(s=Array.prototype.slice.call(arguments),s[0]=e+400,t=new Date(Date.UTC.apply(null,s)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Pe(e,t,s){var r=7+t-s,a=(7+Me(e,0,r).getUTCDay()-t)%7;return-a+r-1}function $t(e,t,s,r,a){var n=(7+s-r)%7,i=Pe(e,r,a),d=1+7*(t-1)+n+i,c,M;return d<=0?(c=e-1,M=we(c)+d):d>we(e)?(c=e+1,M=d-we(e)):(c=e,M=d),{year:c,dayOfYear:M}}function ke(e,t,s){var r=Pe(e.year(),t,s),a=Math.floor((e.dayOfYear()-r-1)/7)+1,n,i;return a<1?(i=e.year()-1,n=a+B(i,t,s)):a>B(e.year(),t,s)?(n=a-B(e.year(),t,s),i=e.year()+1):(i=e.year(),n=a),{week:n,year:i}}function B(e,t,s){var r=Pe(e,t,s),a=Pe(e+1,t,s);return(we(e)-r+a)/7}h("w",["ww",2],"wo","week");h("W",["WW",2],"Wo","isoWeek");O("week","w");O("isoWeek","W");T("week",5);T("isoWeek",5);u("w",D);u("ww",D,W);u("W",D);u("WW",D,W);ve(["w","ww","W","WW"],function(e,t,s,r){t[r.substr(0,1)]=_(e)});function or(e){return ke(e,this._week.dow,this._week.doy).week}var lr={dow:0,doy:6};function ur(){return this._week.dow}function dr(){return this._week.doy}function hr(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function fr(e){var t=ke(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}h("d",0,"do","day");h("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)});h("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)});h("dddd",0,0,function(e){return this.localeData().weekdays(this,e)});h("e",0,0,"weekday");h("E",0,0,"isoWeekday");O("day","d");O("weekday","e");O("isoWeekday","E");T("day",11);T("weekday",11);T("isoWeekday",11);u("d",D);u("e",D);u("E",D);u("dd",function(e,t){return t.weekdaysMinRegex(e)});u("ddd",function(e,t){return t.weekdaysShortRegex(e)});u("dddd",function(e,t){return t.weekdaysRegex(e)});ve(["dd","ddd","dddd"],function(e,t,s,r){var a=s._locale.weekdaysParse(e,r,s._strict);a!=null?t.d=a:f(s).invalidWeekday=e});ve(["d","e","E"],function(e,t,s,r){t[r]=_(e)});function cr(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function _r(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function ct(e,t){return e.slice(t,7).concat(e.slice(0,t))}var mr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Bt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),yr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),wr=ge,Mr=ge,kr=ge;function Sr(e,t){var s=I(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?ct(s,this._week.dow):e?s[e.day()]:s}function Dr(e){return e===!0?ct(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Yr(e){return e===!0?ct(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function gr(e,t,s){var r,a,n,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)n=A([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(n,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(n,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(n,"").toLocaleLowerCase();return s?t==="dddd"?(a=g.call(this._weekdaysParse,i),a!==-1?a:null):t==="ddd"?(a=g.call(this._shortWeekdaysParse,i),a!==-1?a:null):(a=g.call(this._minWeekdaysParse,i),a!==-1?a:null):t==="dddd"?(a=g.call(this._weekdaysParse,i),a!==-1||(a=g.call(this._shortWeekdaysParse,i),a!==-1)?a:(a=g.call(this._minWeekdaysParse,i),a!==-1?a:null)):t==="ddd"?(a=g.call(this._shortWeekdaysParse,i),a!==-1||(a=g.call(this._weekdaysParse,i),a!==-1)?a:(a=g.call(this._minWeekdaysParse,i),a!==-1?a:null)):(a=g.call(this._minWeekdaysParse,i),a!==-1||(a=g.call(this._weekdaysParse,i),a!==-1)?a:(a=g.call(this._shortWeekdaysParse,i),a!==-1?a:null))}function vr(e,t,s){var r,a,n;if(this._weekdaysParseExact)return gr.call(this,e,t,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(a=A([2e3,1]).day(r),s&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(n="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[r]=new RegExp(n.replace(".",""),"i")),s&&t==="dddd"&&this._fullWeekdaysParse[r].test(e))return r;if(s&&t==="ddd"&&this._shortWeekdaysParse[r].test(e))return r;if(s&&t==="dd"&&this._minWeekdaysParse[r].test(e))return r;if(!s&&this._weekdaysParse[r].test(e))return r}}function pr(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=cr(e,this.localeData()),this.add(e-t,"d")):t}function Or(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function Tr(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=_r(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function xr(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(y(this,"_weekdaysRegex")||(this._weekdaysRegex=wr),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function br(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(y(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Mr),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Nr(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||_t.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(y(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=kr),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function _t(){function e(x,G){return G.length-x.length}var t=[],s=[],r=[],a=[],n,i,d,c,M;for(n=0;n<7;n++)i=A([2e3,1]).day(n),d=N(this.weekdaysMin(i,"")),c=N(this.weekdaysShort(i,"")),M=N(this.weekdays(i,"")),t.push(d),s.push(c),r.push(M),a.push(d),a.push(c),a.push(M);t.sort(e),s.sort(e),r.sort(e),a.sort(e),this._weekdaysRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function mt(){return this.hours()%12||12}function Wr(){return this.hours()||24}h("H",["HH",2],0,"hour");h("h",["hh",2],0,mt);h("k",["kk",2],0,Wr);h("hmm",0,0,function(){return""+mt.apply(this)+E(this.minutes(),2)});h("hmmss",0,0,function(){return""+mt.apply(this)+E(this.minutes(),2)+E(this.seconds(),2)});h("Hmm",0,0,function(){return""+this.hours()+E(this.minutes(),2)});h("Hmmss",0,0,function(){return""+this.hours()+E(this.minutes(),2)+E(this.seconds(),2)});function qt(e,t){h(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}qt("a",!0);qt("A",!1);O("hour","h");T("hour",13);function Jt(e,t){return t._meridiemParse}u("a",Jt);u("A",Jt);u("H",D);u("h",D);u("k",D);u("HH",D,W);u("hh",D,W);u("kk",D,W);u("hmm",Ut);u("hmmss",Et);u("Hmm",Ut);u("Hmmss",Et);k(["H","HH"],v);k(["k","kk"],function(e,t,s){var r=_(e);t[v]=r===24?0:r});k(["a","A"],function(e,t,s){s._isPm=s._locale.isPM(e),s._meridiem=e});k(["h","hh"],function(e,t,s){t[v]=_(e),f(s).bigHour=!0});k("hmm",function(e,t,s){var r=e.length-2;t[v]=_(e.substr(0,r)),t[L]=_(e.substr(r)),f(s).bigHour=!0});k("hmmss",function(e,t,s){var r=e.length-4,a=e.length-2;t[v]=_(e.substr(0,r)),t[L]=_(e.substr(r,2)),t[$]=_(e.substr(a)),f(s).bigHour=!0});k("Hmm",function(e,t,s){var r=e.length-2;t[v]=_(e.substr(0,r)),t[L]=_(e.substr(r))});k("Hmmss",function(e,t,s){var r=e.length-4,a=e.length-2;t[v]=_(e.substr(0,r)),t[L]=_(e.substr(r,2)),t[$]=_(e.substr(a))});function Pr(e){return(e+"").toLowerCase().charAt(0)==="p"}var Rr=/[ap]\.?m?\.?/i,Fr=fe("Hours",!0);function Lr(e,t,s){return e>11?s?"pm":"PM":s?"am":"AM"}var Qt={calendar:vs,longDateFormat:xs,invalidDate:Ns,ordinal:Ps,dayOfMonthOrdinalParse:Rs,relativeTime:Ls,months:qs,monthsShort:At,week:lr,weekdays:mr,weekdaysMin:yr,weekdaysShort:Bt,meridiemParse:Rr},Y={},_e={},Se;function Ir(e,t){var s,r=Math.min(e.length,t.length);for(s=0;s0;){if(a=je(n.slice(0,s).join("-")),a)return a;if(r&&r.length>=s&&Ir(n,r)>=s-1)break;s--}t++}return Se}function Hr(e){return e.match("^[^/\\\\]*$")!=null}function je(e){var t=null,s;if(Y[e]===void 0&&typeof module<"u"&&module&&module.exports&&Hr(e))try{t=Se._abbr,s=require,s("./locale/"+e),te(t)}catch{Y[e]=null}return Y[e]}function te(e,t){var s;return e&&(b(t)?s=J(e):s=yt(e,t),s?Se=s:typeof console<"u"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),Se._abbr}function yt(e,t){if(t!==null){var s,r=Qt;if(t.abbr=e,Y[e]!=null)Rt("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=Y[e]._config;else if(t.parentLocale!=null)if(Y[t.parentLocale]!=null)r=Y[t.parentLocale]._config;else if(s=je(t.parentLocale),s!=null)r=s._config;else return _e[t.parentLocale]||(_e[t.parentLocale]=[]),_e[t.parentLocale].push({name:e,config:t}),null;return Y[e]=new lt(Ke(r,t)),_e[e]&&_e[e].forEach(function(a){yt(a.name,a.config)}),te(e),Y[e]}else return delete Y[e],null}function Ur(e,t){if(t!=null){var s,r,a=Qt;Y[e]!=null&&Y[e].parentLocale!=null?Y[e].set(Ke(Y[e]._config,t)):(r=je(e),r!=null&&(a=r._config),t=Ke(a,t),r==null&&(t.abbr=e),s=new lt(t),s.parentLocale=Y[e],Y[e]=s),te(e)}else Y[e]!=null&&(Y[e].parentLocale!=null?(Y[e]=Y[e].parentLocale,e===te()&&te(e)):Y[e]!=null&&delete Y[e]);return Y[e]}function J(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Se;if(!I(e)){if(t=je(e),t)return t;e=[e]}return Cr(e)}function Er(){return et(Y)}function wt(e){var t,s=e._a;return s&&f(e).overflow===-2&&(t=s[Z]<0||s[Z]>11?Z:s[U]<1||s[U]>Ge(s[p],s[Z])?U:s[v]<0||s[v]>24||s[v]===24&&(s[L]!==0||s[$]!==0||s[re]!==0)?v:s[L]<0||s[L]>59?L:s[$]<0||s[$]>59?$:s[re]<0||s[re]>999?re:-1,f(e)._overflowDayOfYear&&(tU)&&(t=U),f(e)._overflowWeeks&&t===-1&&(t=Zs),f(e)._overflowWeekday&&t===-1&&(t=$s),f(e).overflow=t),e}var Ar=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Vr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Gr=/Z|[+-]\d\d(?::?\d\d)?/,Oe=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Je=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],jr=/^\/?Date\((-?\d+)/i,zr=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Zr={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Xt(e){var t,s,r=e._i,a=Ar.exec(r)||Vr.exec(r),n,i,d,c,M=Oe.length,x=Je.length;if(a){for(f(e).iso=!0,t=0,s=M;twe(i)||e._dayOfYear===0)&&(f(e)._overflowDayOfYear=!0),s=Me(i,0,e._dayOfYear),e._a[Z]=s.getUTCMonth(),e._a[U]=s.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=r[t]=a[t];for(;t<7;t++)e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[v]===24&&e._a[L]===0&&e._a[$]===0&&e._a[re]===0&&(e._nextDay=!0,e._a[v]=0),e._d=(e._useUTC?Me:ir).apply(null,r),n=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[v]=24),e._w&&typeof e._w.d<"u"&&e._w.d!==n&&(f(e).weekdayMismatch=!0)}}function ea(e){var t,s,r,a,n,i,d,c,M;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(n=1,i=4,s=oe(t.GG,e._a[p],ke(S(),1,4).year),r=oe(t.W,1),a=oe(t.E,1),(a<1||a>7)&&(c=!0)):(n=e._locale._week.dow,i=e._locale._week.doy,M=ke(S(),n,i),s=oe(t.gg,e._a[p],M.year),r=oe(t.w,M.week),t.d!=null?(a=t.d,(a<0||a>6)&&(c=!0)):t.e!=null?(a=t.e+n,(t.e<0||t.e>6)&&(c=!0)):a=n),r<1||r>B(s,n,i)?f(e)._overflowWeeks=!0:c!=null?f(e)._overflowWeekday=!0:(d=$t(s,r,a,n,i),e._a[p]=d.year,e._dayOfYear=d.dayOfYear)}l.ISO_8601=function(){};l.RFC_2822=function(){};function kt(e){if(e._f===l.ISO_8601){Xt(e);return}if(e._f===l.RFC_2822){Kt(e);return}e._a=[],f(e).empty=!0;var t=""+e._i,s,r,a,n,i,d=t.length,c=0,M,x;for(a=Ft(e._f,e._locale).match(ut)||[],x=a.length,s=0;s0&&f(e).unusedInput.push(i),t=t.slice(t.indexOf(r)+r.length),c+=r.length),ue[n]?(r?f(e).empty=!1:f(e).unusedTokens.push(n),zs(n,r,e)):e._strict&&!r&&f(e).unusedTokens.push(n);f(e).charsLeftOver=d-c,t.length>0&&f(e).unusedInput.push(t),e._a[v]<=12&&f(e).bigHour===!0&&e._a[v]>0&&(f(e).bigHour=void 0),f(e).parsedDateParts=e._a.slice(0),f(e).meridiem=e._meridiem,e._a[v]=ta(e._locale,e._a[v],e._meridiem),M=f(e).era,M!==null&&(e._a[p]=e._locale.erasConvertYear(M,e._a[p])),Mt(e),wt(e)}function ta(e,t,s){var r;return s==null?t:e.meridiemHour!=null?e.meridiemHour(t,s):(e.isPM!=null&&(r=e.isPM(s),r&&t<12&&(t+=12),!r&&t===12&&(t=0)),t)}function sa(e){var t,s,r,a,n,i,d=!1,c=e._f.length;if(c===0){f(e).invalidFormat=!0,e._d=new Date(NaN);return}for(a=0;athis?this:e:Ie()});function ss(e,t){var s,r;if(t.length===1&&I(t[0])&&(t=t[0]),!t.length)return S();for(s=t[0],r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function ga(){if(!b(this._isDSTShifted))return this._isDSTShifted;var e={},t;return ot(e,this),e=es(e),e._a?(t=e._isUTC?A(e._a):S(e._a),this._isDSTShifted=this.isValid()&&_a(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function va(){return this.isValid()?!this._isUTC:!1}function pa(){return this.isValid()?this._isUTC:!1}function as(){return this.isValid()?this._isUTC&&this._offset===0:!1}var Oa=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Ta=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function H(e,t){var s=e,r=null,a,n,i;return xe(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:q(e)||!isNaN(+e)?(s={},t?s[t]=+e:s.milliseconds=+e):(r=Oa.exec(e))?(a=r[1]==="-"?-1:1,s={y:0,d:_(r[U])*a,h:_(r[v])*a,m:_(r[L])*a,s:_(r[$])*a,ms:_(st(r[re]*1e3))*a}):(r=Ta.exec(e))?(a=r[1]==="-"?-1:1,s={y:se(r[2],a),M:se(r[3],a),w:se(r[4],a),d:se(r[5],a),h:se(r[6],a),m:se(r[7],a),s:se(r[8],a)}):s==null?s={}:typeof s=="object"&&("from"in s||"to"in s)&&(i=xa(S(s.from),S(s.to)),s={},s.ms=i.milliseconds,s.M=i.months),n=new ze(s),xe(e)&&y(e,"_locale")&&(n._locale=e._locale),xe(e)&&y(e,"_isValid")&&(n._isValid=e._isValid),n}H.fn=ze.prototype;H.invalid=ca;function se(e,t){var s=e&&parseFloat(e.replace(",","."));return(isNaN(s)?0:s)*t}function xt(e,t){var s={};return s.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(s.months,"M").isAfter(t)&&--s.months,s.milliseconds=+t-+e.clone().add(s.months,"M"),s}function xa(e,t){var s;return e.isValid()&&t.isValid()?(t=Dt(t,e),e.isBefore(t)?s=xt(e,t):(s=xt(t,e),s.milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0}}function ns(e,t){return function(s,r){var a,n;return r!==null&&!isNaN(+r)&&(Rt(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=s,s=r,r=n),a=H(s,r),is(this,a,e),this}}function is(e,t,s,r){var a=t._milliseconds,n=st(t._days),i=st(t._months);e.isValid()&&(r=r??!0,i&&Gt(e,Ne(e,"Month")+i*s),n&&It(e,"Date",Ne(e,"Date")+n*s),a&&e._d.setTime(e._d.valueOf()+a*s),r&&l.updateOffset(e,n||i))}var ba=ns(1,"add"),Na=ns(-1,"subtract");function os(e){return typeof e=="string"||e instanceof String}function Wa(e){return C(e)||De(e)||os(e)||q(e)||Ra(e)||Pa(e)||e===null||e===void 0}function Pa(e){var t=ae(e)&&!nt(e),s=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a,n,i=r.length;for(a=0;as.valueOf():s.valueOf()9999?Te(s,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):V(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Te(s,"Z")):Te(s,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function $a(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",s,r,a,n;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),s="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a="-MM-DD[T]HH:mm:ss.SSS",n=t+'[")]',this.format(s+r+a+n)}function Ba(e){e||(e=this.isUtc()?l.defaultFormatUtc:l.defaultFormat);var t=Te(this,e);return this.localeData().postformat(t)}function qa(e,t){return this.isValid()&&(C(e)&&e.isValid()||S(e).isValid())?H({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Ja(e){return this.from(S(),e)}function Qa(e,t){return this.isValid()&&(C(e)&&e.isValid()||S(e).isValid())?H({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Xa(e){return this.to(S(),e)}function ls(e){var t;return e===void 0?this._locale._abbr:(t=J(e),t!=null&&(this._locale=t),this)}var us=R("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function ds(){return this._locale}var Re=1e3,de=60*Re,Fe=60*de,hs=(365*400+97)*24*Fe;function he(e,t){return(e%t+t)%t}function fs(e,t,s){return e<100&&e>=0?new Date(e+400,t,s)-hs:new Date(e,t,s).valueOf()}function cs(e,t,s){return e<100&&e>=0?Date.UTC(e+400,t,s)-hs:Date.UTC(e,t,s)}function Ka(e){var t,s;if(e=F(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?cs:fs,e){case"year":t=s(this.year(),0,1);break;case"quarter":t=s(this.year(),this.month()-this.month()%3,1);break;case"month":t=s(this.year(),this.month(),1);break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=s(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=he(t+(this._isUTC?0:this.utcOffset()*de),Fe);break;case"minute":t=this._d.valueOf(),t-=he(t,de);break;case"second":t=this._d.valueOf(),t-=he(t,Re);break}return this._d.setTime(t),l.updateOffset(this,!0),this}function en(e){var t,s;if(e=F(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?cs:fs,e){case"year":t=s(this.year()+1,0,1)-1;break;case"quarter":t=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=s(this.year(),this.month()+1,1)-1;break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=Fe-he(t+(this._isUTC?0:this.utcOffset()*de),Fe)-1;break;case"minute":t=this._d.valueOf(),t+=de-he(t,de)-1;break;case"second":t=this._d.valueOf(),t+=Re-he(t,Re)-1;break}return this._d.setTime(t),l.updateOffset(this,!0),this}function tn(){return this._d.valueOf()-(this._offset||0)*6e4}function sn(){return Math.floor(this.valueOf()/1e3)}function rn(){return new Date(this.valueOf())}function an(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function nn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function on(){return this.isValid()?this.toISOString():null}function ln(){return it(this)}function un(){return K({},f(this))}function dn(){return f(this).overflow}function hn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}h("N",0,0,"eraAbbr");h("NN",0,0,"eraAbbr");h("NNN",0,0,"eraAbbr");h("NNNN",0,0,"eraName");h("NNNNN",0,0,"eraNarrow");h("y",["y",1],"yo","eraYear");h("y",["yy",2],0,"eraYear");h("y",["yyy",3],0,"eraYear");h("y",["yyyy",4],0,"eraYear");u("N",Yt);u("NN",Yt);u("NNN",Yt);u("NNNN",Yn);u("NNNNN",gn);k(["N","NN","NNN","NNNN","NNNNN"],function(e,t,s,r){var a=s._locale.erasParse(e,r,s._strict);a?f(s).era=a:f(s).invalidEra=e});u("y",ce);u("yy",ce);u("yyy",ce);u("yyyy",ce);u("yo",vn);k(["y","yy","yyy","yyyy"],p);k(["yo"],function(e,t,s,r){var a;s._locale._eraYearOrdinalRegex&&(a=e.match(s._locale._eraYearOrdinalRegex)),s._locale.eraYearOrdinalParse?t[p]=s._locale.eraYearOrdinalParse(e,a):t[p]=parseInt(e,10)});function fn(e,t){var s,r,a,n=this._eras||J("en")._eras;for(s=0,r=n.length;s=0)return n[r]}function _n(e,t){var s=e.since<=e.until?1:-1;return t===void 0?l(e.since).year():l(e.since).year()+(t-e.offset)*s}function mn(){var e,t,s,r=this.localeData().eras();for(e=0,t=r.length;en&&(t=n),Wn.call(this,e,t,s,r,a))}function Wn(e,t,s,r,a){var n=$t(e,t,s,r,a),i=Me(n.year,0,n.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}h("Q",0,"Qo","quarter");O("quarter","Q");T("quarter",7);u("Q",Ct);k("Q",function(e,t){t[Z]=(_(e)-1)*3});function Pn(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}h("D",["DD",2],"Do","date");O("date","D");T("date",9);u("D",D);u("DD",D,W);u("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient});k(["D","DD"],U);k("Do",function(e,t){t[U]=_(e.match(D)[0])});var ms=fe("Date",!0);h("DDD",["DDDD",3],"DDDo","dayOfYear");O("dayOfYear","DDD");T("dayOfYear",4);u("DDD",Ue);u("DDDD",Ht);k(["DDD","DDDD"],function(e,t,s){s._dayOfYear=_(e)});function Rn(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}h("m",["mm",2],0,"minute");O("minute","m");T("minute",14);u("m",D);u("mm",D,W);k(["m","mm"],L);var Fn=fe("Minutes",!1);h("s",["ss",2],0,"second");O("second","s");T("second",15);u("s",D);u("ss",D,W);k(["s","ss"],$);var Ln=fe("Seconds",!1);h("S",0,0,function(){return~~(this.millisecond()/100)});h(0,["SS",2],0,function(){return~~(this.millisecond()/10)});h(0,["SSS",3],0,"millisecond");h(0,["SSSS",4],0,function(){return this.millisecond()*10});h(0,["SSSSS",5],0,function(){return this.millisecond()*100});h(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});h(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});h(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});h(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});O("millisecond","ms");T("millisecond",16);u("S",Ue,Ct);u("SS",Ue,W);u("SSS",Ue,Ht);var ee,ys;for(ee="SSSS";ee.length<=9;ee+="S")u(ee,ce);function In(e,t){t[re]=_(("0."+e)*1e3)}for(ee="S";ee.length<=9;ee+="S")k(ee,In);ys=fe("Milliseconds",!1);h("z",0,0,"zoneAbbr");h("zz",0,0,"zoneName");function Cn(){return this._isUTC?"UTC":""}function Hn(){return this._isUTC?"Coordinated Universal Time":""}var o=Ye.prototype;o.add=ba;o.calendar=Ia;o.clone=Ca;o.diff=ja;o.endOf=en;o.format=Ba;o.from=qa;o.fromNow=Ja;o.to=Qa;o.toNow=Xa;o.get=Us;o.invalidAt=dn;o.isAfter=Ha;o.isBefore=Ua;o.isBetween=Ea;o.isSame=Aa;o.isSameOrAfter=Va;o.isSameOrBefore=Ga;o.isValid=ln;o.lang=us;o.locale=ls;o.localeData=ds;o.max=oa;o.min=ia;o.parsingFlags=un;o.set=Es;o.startOf=Ka;o.subtract=Na;o.toArray=an;o.toObject=nn;o.toDate=rn;o.toISOString=Za;o.inspect=$a;typeof Symbol<"u"&&Symbol.for!=null&&(o[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});o.toJSON=on;o.toString=za;o.unix=sn;o.valueOf=tn;o.creationData=hn;o.eraName=mn;o.eraNarrow=yn;o.eraAbbr=wn;o.eraYear=Mn;o.year=Zt;o.isLeapYear=nr;o.weekYear=pn;o.isoWeekYear=On;o.quarter=o.quarters=Pn;o.month=jt;o.daysInMonth=sr;o.week=o.weeks=hr;o.isoWeek=o.isoWeeks=fr;o.weeksInYear=bn;o.weeksInWeekYear=Nn;o.isoWeeksInYear=Tn;o.isoWeeksInISOWeekYear=xn;o.date=ms;o.day=o.days=pr;o.weekday=Or;o.isoWeekday=Tr;o.dayOfYear=Rn;o.hour=o.hours=Fr;o.minute=o.minutes=Fn;o.second=o.seconds=Ln;o.millisecond=o.milliseconds=ys;o.utcOffset=ya;o.utc=Ma;o.local=ka;o.parseZone=Sa;o.hasAlignedHourOffset=Da;o.isDST=Ya;o.isLocal=va;o.isUtcOffset=pa;o.isUtc=as;o.isUTC=as;o.zoneAbbr=Cn;o.zoneName=Hn;o.dates=R("dates accessor is deprecated. Use date instead.",ms);o.months=R("months accessor is deprecated. Use month instead",jt);o.years=R("years accessor is deprecated. Use year instead",Zt);o.zone=R("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",wa);o.isDSTShifted=R("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",ga);function Un(e){return S(e*1e3)}function En(){return S.apply(null,arguments).parseZone()}function ws(e){return e}var w=lt.prototype;w.calendar=ps;w.longDateFormat=bs;w.invalidDate=Ws;w.ordinal=Fs;w.preparse=ws;w.postformat=ws;w.relativeTime=Is;w.pastFuture=Cs;w.set=gs;w.eras=fn;w.erasParse=cn;w.erasConvertYear=_n;w.erasAbbrRegex=Sn;w.erasNameRegex=kn;w.erasNarrowRegex=Dn;w.months=Xs;w.monthsShort=Ks;w.monthsParse=tr;w.monthsRegex=ar;w.monthsShortRegex=rr;w.week=or;w.firstDayOfYear=dr;w.firstDayOfWeek=ur;w.weekdays=Sr;w.weekdaysMin=Yr;w.weekdaysShort=Dr;w.weekdaysParse=vr;w.weekdaysRegex=xr;w.weekdaysShortRegex=br;w.weekdaysMinRegex=Nr;w.isPM=Pr;w.meridiem=Lr;function Le(e,t,s,r){var a=J(),n=A().set(r,t);return a[s](n,e)}function Ms(e,t,s){if(q(e)&&(t=e,e=void 0),e=e||"",t!=null)return Le(e,t,s,"month");var r,a=[];for(r=0;r<12;r++)a[r]=Le(e,r,s,"month");return a}function vt(e,t,s,r){typeof e=="boolean"?(q(t)&&(s=t,t=void 0),t=t||""):(t=e,s=t,e=!1,q(t)&&(s=t,t=void 0),t=t||"");var a=J(),n=e?a._week.dow:0,i,d=[];if(s!=null)return Le(t,(s+n)%7,r,"day");for(i=0;i<7;i++)d[i]=Le(t,(i+n)%7,r,"day");return d}function An(e,t){return Ms(e,t,"months")}function Vn(e,t){return Ms(e,t,"monthsShort")}function Gn(e,t,s){return vt(e,t,s,"weekdays")}function jn(e,t,s){return vt(e,t,s,"weekdaysShort")}function zn(e,t,s){return vt(e,t,s,"weekdaysMin")}te("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,s=_(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+s}});l.lang=R("moment.lang is deprecated. Use moment.locale instead.",te);l.langData=R("moment.langData is deprecated. Use moment.localeData instead.",J);var j=Math.abs;function Zn(){var e=this._data;return this._milliseconds=j(this._milliseconds),this._days=j(this._days),this._months=j(this._months),e.milliseconds=j(e.milliseconds),e.seconds=j(e.seconds),e.minutes=j(e.minutes),e.hours=j(e.hours),e.months=j(e.months),e.years=j(e.years),this}function ks(e,t,s,r){var a=H(t,s);return e._milliseconds+=r*a._milliseconds,e._days+=r*a._days,e._months+=r*a._months,e._bubble()}function $n(e,t){return ks(this,e,t,1)}function Bn(e,t){return ks(this,e,t,-1)}function bt(e){return e<0?Math.floor(e):Math.ceil(e)}function qn(){var e=this._milliseconds,t=this._days,s=this._months,r=this._data,a,n,i,d,c;return e>=0&&t>=0&&s>=0||e<=0&&t<=0&&s<=0||(e+=bt(at(s)+t)*864e5,t=0,s=0),r.milliseconds=e%1e3,a=P(e/1e3),r.seconds=a%60,n=P(a/60),r.minutes=n%60,i=P(n/60),r.hours=i%24,t+=P(i/24),c=P(Ss(t)),s+=c,t-=bt(at(c)),d=P(s/12),s%=12,r.days=t,r.months=s,r.years=d,this}function Ss(e){return e*4800/146097}function at(e){return e*146097/4800}function Jn(e){if(!this.isValid())return NaN;var t,s,r=this._milliseconds;if(e=F(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+r/864e5,s=this._months+Ss(t),e){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(t=this._days+Math.round(at(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return t*24+r/36e5;case"minute":return t*1440+r/6e4;case"second":return t*86400+r/1e3;case"millisecond":return Math.floor(t*864e5)+r;default:throw new Error("Unknown unit "+e)}}function Qn(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+_(this._months/12)*31536e6:NaN}function Q(e){return function(){return this.as(e)}}var Xn=Q("ms"),Kn=Q("s"),ei=Q("m"),ti=Q("h"),si=Q("d"),ri=Q("w"),ai=Q("M"),ni=Q("Q"),ii=Q("y");function oi(){return H(this)}function li(e){return e=F(e),this.isValid()?this[e+"s"]():NaN}function ne(e){return function(){return this.isValid()?this._data[e]:NaN}}var ui=ne("milliseconds"),di=ne("seconds"),hi=ne("minutes"),fi=ne("hours"),ci=ne("days"),_i=ne("months"),mi=ne("years");function yi(){return P(this.days()/7)}var z=Math.round,le={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function wi(e,t,s,r,a){return a.relativeTime(t||1,!!s,e,r)}function Mi(e,t,s,r){var a=H(e).abs(),n=z(a.as("s")),i=z(a.as("m")),d=z(a.as("h")),c=z(a.as("d")),M=z(a.as("M")),x=z(a.as("w")),G=z(a.as("y")),X=n<=s.ss&&["s",n]||n0,X[4]=r,wi.apply(null,X)}function ki(e){return e===void 0?z:typeof e=="function"?(z=e,!0):!1}function Si(e,t){return le[e]===void 0?!1:t===void 0?le[e]:(le[e]=t,e==="s"&&(le.ss=t-1),!0)}function Di(e,t){if(!this.isValid())return this.localeData().invalidDate();var s=!1,r=le,a,n;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(s=e),typeof t=="object"&&(r=Object.assign({},le,t),t.s!=null&&t.ss==null&&(r.ss=t.s-1)),a=this.localeData(),n=Mi(this,!s,r,a),s&&(n=a.pastFuture(+this,n)),a.postformat(n)}var Qe=Math.abs;function ie(e){return(e>0)-(e<0)||+e}function $e(){if(!this.isValid())return this.localeData().invalidDate();var e=Qe(this._milliseconds)/1e3,t=Qe(this._days),s=Qe(this._months),r,a,n,i,d=this.asSeconds(),c,M,x,G;return d?(r=P(e/60),a=P(r/60),e%=60,r%=60,n=P(s/12),s%=12,i=e?e.toFixed(3).replace(/\.?0+$/,""):"",c=d<0?"-":"",M=ie(this._months)!==ie(d)?"-":"",x=ie(this._days)!==ie(d)?"-":"",G=ie(this._milliseconds)!==ie(d)?"-":"",c+"P"+(n?M+n+"Y":"")+(s?M+s+"M":"")+(t?x+t+"D":"")+(a||r||e?"T":"")+(a?G+a+"H":"")+(r?G+r+"M":"")+(e?G+i+"S":"")):"P0D"}var m=ze.prototype;m.isValid=fa;m.abs=Zn;m.add=$n;m.subtract=Bn;m.as=Jn;m.asMilliseconds=Xn;m.asSeconds=Kn;m.asMinutes=ei;m.asHours=ti;m.asDays=si;m.asWeeks=ri;m.asMonths=ai;m.asQuarters=ni;m.asYears=ii;m.valueOf=Qn;m._bubble=qn;m.clone=oi;m.get=li;m.milliseconds=ui;m.seconds=di;m.minutes=hi;m.hours=fi;m.days=ci;m.weeks=yi;m.months=_i;m.years=mi;m.humanize=Di;m.toISOString=$e;m.toString=$e;m.toJSON=$e;m.locale=ls;m.localeData=ds;m.toIsoString=R("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",$e);m.lang=us;h("X",0,0,"unix");h("x",0,0,"valueOf");u("x",Ae);u("X",Vs);k("X",function(e,t,s){s._d=new Date(parseFloat(e)*1e3)});k("x",function(e,t,s){s._d=new Date(_(e))});//! moment.js +l.version="2.29.4";Ds(S);l.fn=o;l.min=la;l.max=ua;l.now=da;l.utc=A;l.unix=Un;l.months=An;l.isDate=De;l.locale=te;l.invalid=Ie;l.duration=H;l.isMoment=C;l.weekdays=Gn;l.parseZone=En;l.localeData=J;l.isDuration=xe;l.monthsShort=Vn;l.weekdaysMin=zn;l.defineLocale=yt;l.updateLocale=Ur;l.locales=Er;l.weekdaysShort=jn;l.normalizeUnits=F;l.relativeTimeRounding=ki;l.relativeTimeThreshold=Si;l.calendarFormat=La;l.prototype=o;l.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};//! moment.js locale configuration +l.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return e===12&&(e=0),t==="凌晨"||t==="早上"||t==="上午"?e:t==="下午"||t==="晚上"?e+12:e>=11?e:e+12},meridiem:function(e,t,s){var r=e*100+t;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:function(e){return e.week()!==this.week()?"[下]dddLT":"[本]dddLT"},lastDay:"[昨天]LT",lastWeek:function(e){return this.week()!==e.week()?"[上]dddLT":"[本]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s后",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",w:"1 周",ww:"%d 周",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});l.locale("zh-cn");const Yi=e=>l.unix(e).fromNow(),gi=(e,t)=>{if(t)return l.unix(e).utc(!0).fromNow();let s=l.unix(e).utc(!0),r=l().utc(!0);return s.year()!=r.year()?s.format("YYYY-MM-DD HH:mm"):l().diff(s,"month")>3?s.format("MM-DD HH:mm"):s.fromNow()};export{Yi as a,gi as f}; diff --git a/web/dist/assets/index-4af9b72d.css b/web/dist/assets/index-4af9b72d.css new file mode 100644 index 00000000..b6662594 --- /dev/null +++ b/web/dist/assets/index-4af9b72d.css @@ -0,0 +1 @@ +.auth-wrap[data-v-ead596c6]{margin-top:-30px}.dark .auth-wrap[data-v-ead596c6]{background-color:#101014bf}.rightbar-wrap[data-v-9c65d923]{width:240px;position:fixed;left:calc(50% + var(--content-main) / 2 + 10px)}.rightbar-wrap .search-wrap[data-v-9c65d923]{margin:12px 0}.rightbar-wrap .hot-tag-item[data-v-9c65d923]{line-height:2;position:relative}.rightbar-wrap .hot-tag-item .hash-link[data-v-9c65d923]{width:calc(100% - 60px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.rightbar-wrap .hot-tag-item .post-num[data-v-9c65d923]{position:absolute;right:0;top:0;width:60px;text-align:right;line-height:2;opacity:.5}.rightbar-wrap .copyright-wrap[data-v-9c65d923]{margin-top:10px}.rightbar-wrap .copyright-wrap .copyright[data-v-9c65d923]{font-size:12px;opacity:.75}.rightbar-wrap .copyright-wrap .hash-link[data-v-9c65d923]{font-size:12px}.dark .hottopic-wrap[data-v-9c65d923],.dark .copyright-wrap[data-v-9c65d923]{background-color:#18181c}.sidebar-wrap{z-index:99;width:200px;height:100vh;position:fixed;right:calc(50% + var(--content-main) / 2 + 10px);padding:12px 0;box-sizing:border-box}.sidebar-wrap .n-menu .n-menu-item-content:before{border-radius:21px}.logo-wrap{display:flex;justify-content:flex-start;margin-bottom:12px}.logo-wrap .logo-img{margin-left:24px}.logo-wrap .logo-img:hover{cursor:pointer}.user-wrap{display:flex;align-items:center;position:absolute;bottom:12px;left:12px;right:12px}.user-wrap .user-mini-wrap{display:none}.user-wrap .user-avatar{margin-right:8px}.user-wrap .user-info{display:flex;flex-direction:column}.user-wrap .user-info .nickname{font-size:16px;font-weight:700;line-height:16px;height:16px;margin-bottom:2px;display:flex;align-items:center}.user-wrap .user-info .nickname .nickname-txt{max-width:90px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.user-wrap .user-info .nickname .logout{margin-left:6px}.user-wrap .user-info .username{font-size:14px;line-height:16px;height:16px;width:120px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;opacity:.75}.user-wrap .login-wrap{display:flex;justify-content:center;width:100%}.user-wrap .login-wrap button{margin:0 4px}.auth-card .n-card-header{z-index:999}@media screen and (max-width: 821px){.sidebar-wrap{width:65px;right:calc(100% - 60px)}.logo-wrap .logo-img{margin-left:12px!important}.user-wrap .user-avatar,.user-wrap .user-info,.user-wrap .login-wrap{display:none}.user-wrap .user-mini-wrap{display:block!important}}:root{--content-main: 544px}.app-container{margin:0}.app-container .app-wrap{width:100%;margin:0 auto}.main-wrap{min-height:100vh;display:flex;flex-direction:row;justify-content:center}.main-wrap .content-wrap{width:100%;max-width:var(--content-main);position:relative}.main-wrap .main-content-wrap{margin:0;border-top:none;border-radius:0}.main-wrap .main-content-wrap .n-list-item{padding:0}.empty-wrap{min-height:300px;display:flex;align-items:center;justify-content:center}.hash-link,.user-link{color:#18a058;text-decoration:none;cursor:pointer}.hash-link:hover,.user-link:hover{opacity:.8}.beian-link{color:#333;text-decoration:none}.beian-link:hover{opacity:.75}.username-link{color:#000;color:none;text-decoration:none;cursor:pointer}.username-link:hover{text-decoration:underline}.dark .hash-link,.dark .user-link{color:#63e2b7}.dark .username-link{color:#eee}.dark .beian-link{color:#ddd}@media screen and (max-width: 821px){.content-wrap{top:0;left:60px;position:absolute!important;width:calc(100% - 60px)!important}}@font-face{font-family:v-sans;font-weight:400;src:url(/assets/LatoLatin-Regular-ddd4ef7f.woff2)}@font-face{font-family:v-sans;font-weight:600;src:url(/assets/LatoLatin-Semibold-267eef30.woff2)}@font-face{font-family:v-mono;font-weight:400;src:url(/assets/FiraCode-Regular-f13d1ece.woff2)} diff --git a/web/dist/assets/index-c17d3913.js b/web/dist/assets/index-dfd5495a.js similarity index 97% rename from web/dist/assets/index-c17d3913.js rename to web/dist/assets/index-dfd5495a.js index 0b0bfe54..77db65db 100644 --- a/web/dist/assets/index-c17d3913.js +++ b/web/dist/assets/index-dfd5495a.js @@ -2,7 +2,7 @@ * vue-router v4.1.6 * (c) 2022 Eduardo San Martin Morote * @license MIT - */const cn=typeof window<"u";function ky(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Je=Object.assign;function Ws(e,t){const o={};for(const r in t){const n=t[r];o[r]=xo(n)?n.map(e):e(n)}return o}const ui=()=>{},xo=Array.isArray,Ty=/\/$/,Ey=e=>e.replace(Ty,"");function Vs(e,t,o="/"){let r,n={},i="",a="";const s=t.indexOf("#");let l=t.indexOf("?");return s=0&&(l=-1),l>-1&&(r=t.slice(0,l),i=t.slice(l+1,s>-1?s:t.length),n=e(i)),s>-1&&(r=r||t.slice(0,s),a=t.slice(s,t.length)),r=Ay(r??t,o),{fullPath:r+(i&&"?")+i+a,path:r,query:n,hash:a}}function Ry(e,t){const o=t.query?e(t.query):"";return t.path+(o&&"?")+o+(t.hash||"")}function Su(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function zy(e,t,o){const r=t.matched.length-1,n=o.matched.length-1;return r>-1&&r===n&&kn(t.matched[r],o.matched[n])&&Kp(t.params,o.params)&&e(t.query)===e(o.query)&&t.hash===o.hash}function kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Kp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const o in e)if(!Oy(e[o],t[o]))return!1;return!0}function Oy(e,t){return xo(e)?_u(e,t):xo(t)?_u(t,e):e===t}function _u(e,t){return xo(t)?e.length===t.length&&e.every((o,r)=>o===t[r]):e.length===1&&e[0]===t}function Ay(e,t){if(e.startsWith("/"))return e;if(!e)return t;const o=t.split("/"),r=e.split("/");let n=o.length-1,i,a;for(i=0;i1&&n--;else break;return o.slice(0,n).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var Pi;(function(e){e.pop="pop",e.push="push"})(Pi||(Pi={}));var fi;(function(e){e.back="back",e.forward="forward",e.unknown=""})(fi||(fi={}));function Iy(e){if(!e)if(cn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Ey(e)}const My=/^[^#]+#/;function Ly(e,t){return e.replace(My,"#")+t}function By(e,t){const o=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-o.left-(t.left||0),top:r.top-o.top-(t.top||0)}}const ss=()=>({left:window.pageXOffset,top:window.pageYOffset});function Hy(e){let t;if("el"in e){const o=e.el,r=typeof o=="string"&&o.startsWith("#"),n=typeof o=="string"?r?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!n)return;t=By(n,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function $u(e,t){return(history.state?history.state.position-t:-1)+e}const Ll=new Map;function Dy(e,t){Ll.set(e,t)}function Fy(e){const t=Ll.get(e);return Ll.delete(e),t}let jy=()=>location.protocol+"//"+location.host;function qp(e,t){const{pathname:o,search:r,hash:n}=t,i=e.indexOf("#");if(i>-1){let s=n.includes(e.slice(i))?e.slice(i).length:1,l=n.slice(s);return l[0]!=="/"&&(l="/"+l),Su(l,"")}return Su(o,e)+r+n}function Ny(e,t,o,r){let n=[],i=[],a=null;const s=({state:f})=>{const p=qp(e,location),h=o.value,v=t.value;let b=0;if(f){if(o.value=p,t.value=f,a&&a===h){a=null;return}b=v?f.position-v.position:0}else r(p);n.forEach(g=>{g(o.value,h,{delta:b,type:Pi.pop,direction:b?b>0?fi.forward:fi.back:fi.unknown})})};function l(){a=o.value}function c(f){n.push(f);const p=()=>{const h=n.indexOf(f);h>-1&&n.splice(h,1)};return i.push(p),p}function d(){const{history:f}=window;f.state&&f.replaceState(Je({},f.state,{scroll:ss()}),"")}function u(){for(const f of i)f();i=[],window.removeEventListener("popstate",s),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",s),window.addEventListener("beforeunload",d),{pauseListeners:l,listen:c,destroy:u}}function Pu(e,t,o,r=!1,n=!1){return{back:e,current:t,forward:o,replaced:r,position:window.history.length,scroll:n?ss():null}}function Wy(e){const{history:t,location:o}=window,r={value:qp(e,o)},n={value:t.state};n.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,d){const u=e.indexOf("#"),f=u>-1?(o.host&&document.querySelector("base")?e:e.slice(u))+l:jy()+e+l;try{t[d?"replaceState":"pushState"](c,"",f),n.value=c}catch(p){console.error(p),o[d?"replace":"assign"](f)}}function a(l,c){const d=Je({},t.state,Pu(n.value.back,l,n.value.forward,!0),c,{position:n.value.position});i(l,d,!0),r.value=l}function s(l,c){const d=Je({},n.value,t.state,{forward:l,scroll:ss()});i(d.current,d,!0);const u=Je({},Pu(r.value,l,null),{position:d.position+1},c);i(l,u,!1),r.value=l}return{location:r,state:n,push:s,replace:a}}function Vy(e){e=Iy(e);const t=Wy(e),o=Ny(e,t.state,t.location,t.replace);function r(i,a=!0){a||o.pauseListeners(),history.go(i)}const n=Je({location:"",base:e,go:r,createHref:Ly.bind(null,e)},t,o);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>t.state.value}),n}function Uy(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Vy(e)}function Ky(e){return typeof e=="string"||e&&typeof e=="object"}function Gp(e){return typeof e=="string"||typeof e=="symbol"}const Qo={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Yp=Symbol("");var ku;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ku||(ku={}));function Tn(e,t){return Je(new Error,{type:e,[Yp]:!0},t)}function Io(e,t){return e instanceof Error&&Yp in e&&(t==null||!!(e.type&t))}const Tu="[^/]+?",qy={sensitive:!1,strict:!1,start:!0,end:!0},Gy=/[.+*?^${}()[\]/\\]/g;function Yy(e,t){const o=Je({},qy,t),r=[];let n=o.start?"^":"";const i=[];for(const c of e){const d=c.length?[]:[90];o.strict&&!c.length&&(n+="/");for(let u=0;ut.length?t.length===1&&t[0]===40+40?1:-1:0}function Zy(e,t){let o=0;const r=e.score,n=t.score;for(;o0&&t[t.length-1]<0}const Jy={type:0,value:""},Qy=/[a-zA-Z0-9_]/;function eC(e){if(!e)return[[]];if(e==="/")return[[Jy]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${o})/"${c}": ${p}`)}let o=0,r=o;const n=[];let i;function a(){i&&n.push(i),i=[]}let s=0,l,c="",d="";function u(){c&&(o===0?i.push({type:0,value:c}):o===1||o===2||o===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:d,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;s{a(C)}:ui}function a(d){if(Gp(d)){const u=r.get(d);u&&(r.delete(d),o.splice(o.indexOf(u),1),u.children.forEach(a),u.alias.forEach(a))}else{const u=o.indexOf(d);u>-1&&(o.splice(u,1),d.record.name&&r.delete(d.record.name),d.children.forEach(a),d.alias.forEach(a))}}function s(){return o}function l(d){let u=0;for(;u=0&&(d.record.path!==o[u].record.path||!Xp(d,o[u]));)u++;o.splice(u,0,d),d.record.name&&!zu(d)&&r.set(d.record.name,d)}function c(d,u){let f,p={},h,v;if("name"in d&&d.name){if(f=r.get(d.name),!f)throw Tn(1,{location:d});v=f.record.name,p=Je(Ru(u.params,f.keys.filter(C=>!C.optional).map(C=>C.name)),d.params&&Ru(d.params,f.keys.map(C=>C.name))),h=f.stringify(p)}else if("path"in d)h=d.path,f=o.find(C=>C.re.test(h)),f&&(p=f.parse(h),v=f.record.name);else{if(f=u.name?r.get(u.name):o.find(C=>C.re.test(u.path)),!f)throw Tn(1,{location:d,currentLocation:u});v=f.record.name,p=Je({},u.params,d.params),h=f.stringify(p)}const b=[];let g=f;for(;g;)b.unshift(g.record),g=g.parent;return{name:v,path:h,params:p,matched:b,meta:iC(b)}}return e.forEach(d=>i(d)),{addRoute:i,resolve:c,removeRoute:a,getRoutes:s,getRecordMatcher:n}}function Ru(e,t){const o={};for(const r of t)r in e&&(o[r]=e[r]);return o}function rC(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:nC(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function nC(e){const t={},o=e.props||!1;if("component"in e)t.default=o;else for(const r in e.components)t[r]=typeof o=="boolean"?o:o[r];return t}function zu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function iC(e){return e.reduce((t,o)=>Je(t,o.meta),{})}function Ou(e,t){const o={};for(const r in e)o[r]=r in t?t[r]:e[r];return o}function Xp(e,t){return t.children.some(o=>o===e||Xp(e,o))}const Zp=/#/g,aC=/&/g,sC=/\//g,lC=/=/g,cC=/\?/g,Jp=/\+/g,dC=/%5B/g,uC=/%5D/g,Qp=/%5E/g,fC=/%60/g,em=/%7B/g,hC=/%7C/g,tm=/%7D/g,pC=/%20/g;function Fc(e){return encodeURI(""+e).replace(hC,"|").replace(dC,"[").replace(uC,"]")}function mC(e){return Fc(e).replace(em,"{").replace(tm,"}").replace(Qp,"^")}function Bl(e){return Fc(e).replace(Jp,"%2B").replace(pC,"+").replace(Zp,"%23").replace(aC,"%26").replace(fC,"`").replace(em,"{").replace(tm,"}").replace(Qp,"^")}function gC(e){return Bl(e).replace(lC,"%3D")}function vC(e){return Fc(e).replace(Zp,"%23").replace(cC,"%3F")}function bC(e){return e==null?"":vC(e).replace(sC,"%2F")}function Ma(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function xC(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;ni&&Bl(i)):[r&&Bl(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+o,i!=null&&(t+="="+i))})}return t}function yC(e){const t={};for(const o in e){const r=e[o];r!==void 0&&(t[o]=xo(r)?r.map(n=>n==null?null:""+n):r==null?r:""+r)}return t}const CC=Symbol(""),Iu=Symbol(""),ls=Symbol(""),jc=Symbol(""),Hl=Symbol("");function Yn(){let e=[];function t(r){return e.push(r),()=>{const n=e.indexOf(r);n>-1&&e.splice(n,1)}}function o(){e=[]}return{add:t,list:()=>e,reset:o}}function ir(e,t,o,r,n){const i=r&&(r.enterCallbacks[n]=r.enterCallbacks[n]||[]);return()=>new Promise((a,s)=>{const l=u=>{u===!1?s(Tn(4,{from:o,to:t})):u instanceof Error?s(u):Ky(u)?s(Tn(2,{from:t,to:u})):(i&&r.enterCallbacks[n]===i&&typeof u=="function"&&i.push(u),a())},c=e.call(r&&r.instances[n],t,o,l);let d=Promise.resolve(c);e.length<3&&(d=d.then(l)),d.catch(u=>s(u))})}function Us(e,t,o,r){const n=[];for(const i of e)for(const a in i.components){let s=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(wC(s)){const c=(s.__vccOpts||s)[t];c&&n.push(ir(c,o,r,i,a))}else{let l=s();n.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${i.path}"`));const d=ky(c)?c.default:c;i.components[a]=d;const f=(d.__vccOpts||d)[t];return f&&ir(f,o,r,i,a)()}))}}return n}function wC(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Mu(e){const t=ve(ls),o=ve(jc),r=H(()=>t.resolve(Qe(e.to))),n=H(()=>{const{matched:l}=r.value,{length:c}=l,d=l[c-1],u=o.matched;if(!d||!u.length)return-1;const f=u.findIndex(kn.bind(null,d));if(f>-1)return f;const p=Lu(l[c-2]);return c>1&&Lu(d)===p&&u[u.length-1].path!==p?u.findIndex(kn.bind(null,l[c-2])):f}),i=H(()=>n.value>-1&&PC(o.params,r.value.params)),a=H(()=>n.value>-1&&n.value===o.matched.length-1&&Kp(o.params,r.value.params));function s(l={}){return $C(l)?t[Qe(e.replace)?"replace":"push"](Qe(e.to)).catch(ui):Promise.resolve()}return{route:r,href:H(()=>r.value.href),isActive:i,isExactActive:a,navigate:s}}const SC=se({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Mu,setup(e,{slots:t}){const o=vo(Mu(e)),{options:r}=ve(ls),n=H(()=>({[Bu(e.activeClass,r.linkActiveClass,"router-link-active")]:o.isActive,[Bu(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive}));return()=>{const i=t.default&&t.default(o);return e.custom?i:m("a",{"aria-current":o.isExactActive?e.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:n.value},i)}}}),_C=SC;function $C(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function PC(e,t){for(const o in t){const r=t[o],n=e[o];if(typeof r=="string"){if(r!==n)return!1}else if(!xo(n)||n.length!==r.length||r.some((i,a)=>i!==n[a]))return!1}return!0}function Lu(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Bu=(e,t,o)=>e??t??o,kC=se({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:o}){const r=ve(Hl),n=H(()=>e.route||r.value),i=ve(Iu,0),a=H(()=>{let c=Qe(i);const{matched:d}=n.value;let u;for(;(u=d[c])&&!u.components;)c++;return c}),s=H(()=>n.value.matched[a.value]);Be(Iu,H(()=>a.value+1)),Be(CC,s),Be(Hl,n);const l=V();return Fe(()=>[l.value,s.value,e.name],([c,d,u],[f,p,h])=>{d&&(d.instances[u]=c,p&&p!==d&&c&&c===f&&(d.leaveGuards.size||(d.leaveGuards=p.leaveGuards),d.updateGuards.size||(d.updateGuards=p.updateGuards))),c&&d&&(!p||!kn(d,p)||!f)&&(d.enterCallbacks[u]||[]).forEach(v=>v(c))},{flush:"post"}),()=>{const c=n.value,d=e.name,u=s.value,f=u&&u.components[d];if(!f)return Hu(o.default,{Component:f,route:c});const p=u.props[d],h=p?p===!0?c.params:typeof p=="function"?p(c):p:null,b=m(f,Je({},h,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(u.instances[d]=null)},ref:l}));return Hu(o.default,{Component:b,route:c})||b}}});function Hu(e,t){if(!e)return null;const o=e(t);return o.length===1?o[0]:o}const TC=kC;function EC(e){const t=oC(e.routes,e),o=e.parseQuery||xC,r=e.stringifyQuery||Au,n=e.history,i=Yn(),a=Yn(),s=Yn(),l=z1(Qo);let c=Qo;cn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Ws.bind(null,U=>""+U),u=Ws.bind(null,bC),f=Ws.bind(null,Ma);function p(U,te){let G,ce;return Gp(U)?(G=t.getRecordMatcher(U),ce=te):ce=U,t.addRoute(ce,G)}function h(U){const te=t.getRecordMatcher(U);te&&t.removeRoute(te)}function v(){return t.getRoutes().map(U=>U.record)}function b(U){return!!t.getRecordMatcher(U)}function g(U,te){if(te=Je({},te||l.value),typeof U=="string"){const x=Vs(o,U,te.path),P=t.resolve({path:x.path},te),O=n.createHref(x.fullPath);return Je(x,P,{params:f(P.params),hash:Ma(x.hash),redirectedFrom:void 0,href:O})}let G;if("path"in U)G=Je({},U,{path:Vs(o,U.path,te.path).path});else{const x=Je({},U.params);for(const P in x)x[P]==null&&delete x[P];G=Je({},U,{params:u(U.params)}),te.params=u(te.params)}const ce=t.resolve(G,te),de=U.hash||"";ce.params=d(f(ce.params));const Oe=Ry(r,Je({},U,{hash:mC(de),path:ce.path})),be=n.createHref(Oe);return Je({fullPath:Oe,hash:de,query:r===Au?yC(U.query):U.query||{}},ce,{redirectedFrom:void 0,href:be})}function C(U){return typeof U=="string"?Vs(o,U,l.value.path):Je({},U)}function w(U,te){if(c!==U)return Tn(8,{from:te,to:U})}function y(U){return S(U)}function k(U){return y(Je(C(U),{replace:!0}))}function T(U){const te=U.matched[U.matched.length-1];if(te&&te.redirect){const{redirect:G}=te;let ce=typeof G=="function"?G(U):G;return typeof ce=="string"&&(ce=ce.includes("?")||ce.includes("#")?ce=C(ce):{path:ce},ce.params={}),Je({query:U.query,hash:U.hash,params:"path"in ce?{}:U.params},ce)}}function S(U,te){const G=c=g(U),ce=l.value,de=U.state,Oe=U.force,be=U.replace===!0,x=T(G);if(x)return S(Je(C(x),{state:typeof x=="object"?Je({},de,x.state):de,force:Oe,replace:be}),te||G);const P=G;P.redirectedFrom=te;let O;return!Oe&&zy(r,ce,G)&&(O=Tn(16,{to:P,from:ce}),Ce(ce,ce,!0,!1)),(O?Promise.resolve(O):z(P,ce)).catch(W=>Io(W)?Io(W,2)?W:me(W):X(W,P,ce)).then(W=>{if(W){if(Io(W,2))return S(Je({replace:be},C(W.to),{state:typeof W.to=="object"?Je({},de,W.to.state):de,force:Oe}),te||P)}else W=N(P,ce,!0,be,de);return $(P,ce,W),W})}function _(U,te){const G=w(U,te);return G?Promise.reject(G):Promise.resolve()}function z(U,te){let G;const[ce,de,Oe]=RC(U,te);G=Us(ce.reverse(),"beforeRouteLeave",U,te);for(const x of ce)x.leaveGuards.forEach(P=>{G.push(ir(P,U,te))});const be=_.bind(null,U,te);return G.push(be),Qr(G).then(()=>{G=[];for(const x of i.list())G.push(ir(x,U,te));return G.push(be),Qr(G)}).then(()=>{G=Us(de,"beforeRouteUpdate",U,te);for(const x of de)x.updateGuards.forEach(P=>{G.push(ir(P,U,te))});return G.push(be),Qr(G)}).then(()=>{G=[];for(const x of U.matched)if(x.beforeEnter&&!te.matched.includes(x))if(xo(x.beforeEnter))for(const P of x.beforeEnter)G.push(ir(P,U,te));else G.push(ir(x.beforeEnter,U,te));return G.push(be),Qr(G)}).then(()=>(U.matched.forEach(x=>x.enterCallbacks={}),G=Us(Oe,"beforeRouteEnter",U,te),G.push(be),Qr(G))).then(()=>{G=[];for(const x of a.list())G.push(ir(x,U,te));return G.push(be),Qr(G)}).catch(x=>Io(x,8)?x:Promise.reject(x))}function $(U,te,G){for(const ce of s.list())ce(U,te,G)}function N(U,te,G,ce,de){const Oe=w(U,te);if(Oe)return Oe;const be=te===Qo,x=cn?history.state:{};G&&(ce||be?n.replace(U.fullPath,Je({scroll:be&&x&&x.scroll},de)):n.push(U.fullPath,de)),l.value=U,Ce(U,te,G,be),me()}let R;function F(){R||(R=n.listen((U,te,G)=>{if(!He.listening)return;const ce=g(U),de=T(ce);if(de){S(Je(de,{replace:!0}),ce).catch(ui);return}c=ce;const Oe=l.value;cn&&Dy($u(Oe.fullPath,G.delta),ss()),z(ce,Oe).catch(be=>Io(be,12)?be:Io(be,2)?(S(be.to,ce).then(x=>{Io(x,20)&&!G.delta&&G.type===Pi.pop&&n.go(-1,!1)}).catch(ui),Promise.reject()):(G.delta&&n.go(-G.delta,!1),X(be,ce,Oe))).then(be=>{be=be||N(ce,Oe,!1),be&&(G.delta&&!Io(be,8)?n.go(-G.delta,!1):G.type===Pi.pop&&Io(be,20)&&n.go(-1,!1)),$(ce,Oe,be)}).catch(ui)}))}let j=Yn(),Q=Yn(),I;function X(U,te,G){me(U);const ce=Q.list();return ce.length?ce.forEach(de=>de(U,te,G)):console.error(U),Promise.reject(U)}function ie(){return I&&l.value!==Qo?Promise.resolve():new Promise((U,te)=>{j.add([U,te])})}function me(U){return I||(I=!U,F(),j.list().forEach(([te,G])=>U?G(U):te()),j.reset()),U}function Ce(U,te,G,ce){const{scrollBehavior:de}=e;if(!cn||!de)return Promise.resolve();const Oe=!G&&Fy($u(U.fullPath,0))||(ce||!G)&&history.state&&history.state.scroll||null;return Jt().then(()=>de(U,te,Oe)).then(be=>be&&Hy(be)).catch(be=>X(be,U,te))}const $e=U=>n.go(U);let Pe;const Xe=new Set,He={currentRoute:l,listening:!0,addRoute:p,removeRoute:h,hasRoute:b,getRoutes:v,resolve:g,options:e,push:y,replace:k,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:i.add,beforeResolve:a.add,afterEach:s.add,onError:Q.add,isReady:ie,install(U){const te=this;U.component("RouterLink",_C),U.component("RouterView",TC),U.config.globalProperties.$router=te,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>Qe(l)}),cn&&!Pe&&l.value===Qo&&(Pe=!0,y(n.location).catch(de=>{}));const G={};for(const de in Qo)G[de]=H(()=>l.value[de]);U.provide(ls,te),U.provide(jc,vo(G)),U.provide(Hl,l);const ce=U.unmount;Xe.add(U),U.unmount=function(){Xe.delete(U),Xe.size<1&&(c=Qo,R&&R(),R=null,l.value=Qo,Pe=!1,I=!1),ce()}}};return He}function Qr(e){return e.reduce((t,o)=>t.then(()=>o()),Promise.resolve())}function RC(e,t){const o=[],r=[],n=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;akn(c,s))?r.push(s):o.push(s));const l=e.matched[a];l&&(t.matched.find(c=>kn(c,l))||n.push(l))}return[o,r,n]}function om(){return ve(ls)}function zC(){return ve(jc)}const OC=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>oo(()=>import("./Home-d9a0354e.js"),["assets/Home-d9a0354e.js","assets/post-item.vue_vue_type_style_index_0_lang-ce942869.js","assets/content-c9c72716.js","assets/content-ebd7946e.css","assets/formatTime-09781e30.js","assets/Thing-2157b754.js","assets/post-item-dc5866aa.css","assets/post-skeleton-40e81755.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/post-skeleton-3d1d61f7.css","assets/IEnum-2acc8be7.js","assets/Upload-f8f7ade2.js","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/Pagination-84d10fc7.js","assets/Home-9d0d21d5.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>oo(()=>import("./Post-abdce3fa.js"),["assets/Post-abdce3fa.js","assets/InputGroup-97df1a51.js","assets/formatTime-09781e30.js","assets/content-c9c72716.js","assets/content-ebd7946e.css","assets/Thing-2157b754.js","assets/post-skeleton-40e81755.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/post-skeleton-3d1d61f7.css","assets/IEnum-2acc8be7.js","assets/Upload-f8f7ade2.js","assets/MoreHorizFilled-6e21ff10.js","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/Post-382cf629.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>oo(()=>import("./Topic-6164b997.js"),["assets/Topic-6164b997.js","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/List-28c5febd.js","assets/Topic-6db07811.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>oo(()=>import("./Anouncement-bb8f5e6e.js"),["assets/Anouncement-bb8f5e6e.js","assets/post-skeleton-40e81755.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/post-skeleton-3d1d61f7.css","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/formatTime-09781e30.js","assets/Pagination-84d10fc7.js","assets/Anouncement-662e2d95.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>oo(()=>import("./Profile-85f3412c.js"),["assets/Profile-85f3412c.js","assets/post-item.vue_vue_type_style_index_0_lang-ce942869.js","assets/content-c9c72716.js","assets/content-ebd7946e.css","assets/formatTime-09781e30.js","assets/Thing-2157b754.js","assets/post-item-dc5866aa.css","assets/post-skeleton-40e81755.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/post-skeleton-3d1d61f7.css","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/Pagination-84d10fc7.js","assets/Profile-4e38522f.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>oo(()=>import("./User-c0bbddf5.js"),["assets/User-c0bbddf5.js","assets/post-item.vue_vue_type_style_index_0_lang-ce942869.js","assets/content-c9c72716.js","assets/content-ebd7946e.css","assets/formatTime-09781e30.js","assets/Thing-2157b754.js","assets/post-item-dc5866aa.css","assets/post-skeleton-40e81755.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/post-skeleton-3d1d61f7.css","assets/Alert-e0e350bb.js","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/MoreHorizFilled-6e21ff10.js","assets/Pagination-84d10fc7.js","assets/User-e49182fd.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>oo(()=>import("./Messages-95a60791.js"),["assets/Messages-95a60791.js","assets/formatTime-09781e30.js","assets/Alert-e0e350bb.js","assets/Thing-2157b754.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/Pagination-84d10fc7.js","assets/Messages-e24ddbef.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>oo(()=>import("./Collection-9fafc8b1.js"),["assets/Collection-9fafc8b1.js","assets/post-item.vue_vue_type_style_index_0_lang-ce942869.js","assets/content-c9c72716.js","assets/content-ebd7946e.css","assets/formatTime-09781e30.js","assets/Thing-2157b754.js","assets/post-item-dc5866aa.css","assets/post-skeleton-40e81755.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/post-skeleton-3d1d61f7.css","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/Pagination-84d10fc7.js","assets/Collection-80f4dbd5.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>oo(()=>import("./Contacts-1dbeea36.js"),["assets/Contacts-1dbeea36.js","assets/post-skeleton-40e81755.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/post-skeleton-3d1d61f7.css","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/Pagination-84d10fc7.js","assets/Contacts-f68f8d51.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>oo(()=>import("./Wallet-21894a59.js"),["assets/Wallet-21894a59.js","assets/post-skeleton-40e81755.js","assets/Skeleton-ca436747.js","assets/List-28c5febd.js","assets/post-skeleton-3d1d61f7.css","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/formatTime-09781e30.js","assets/Pagination-84d10fc7.js","assets/Wallet-7e67516c.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>oo(()=>import("./Setting-fc8840df.js"),["assets/Setting-fc8840df.js","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/Upload-f8f7ade2.js","assets/Alert-e0e350bb.js","assets/InputGroup-97df1a51.js","assets/Setting-ba9086ff.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>oo(()=>import("./404-fafefb76.js"),["assets/404-fafefb76.js","assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js","assets/main-nav-f7e14d14.css","assets/List-28c5febd.js","assets/404-0638bdac.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],rm=EC({history:Uy(),routes:OC});rm.beforeEach((e,t,o)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,o()});/*! + */const cn=typeof window<"u";function ky(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Je=Object.assign;function Ws(e,t){const o={};for(const r in t){const n=t[r];o[r]=xo(n)?n.map(e):e(n)}return o}const ui=()=>{},xo=Array.isArray,Ty=/\/$/,Ey=e=>e.replace(Ty,"");function Vs(e,t,o="/"){let r,n={},i="",a="";const s=t.indexOf("#");let l=t.indexOf("?");return s=0&&(l=-1),l>-1&&(r=t.slice(0,l),i=t.slice(l+1,s>-1?s:t.length),n=e(i)),s>-1&&(r=r||t.slice(0,s),a=t.slice(s,t.length)),r=Ay(r??t,o),{fullPath:r+(i&&"?")+i+a,path:r,query:n,hash:a}}function Ry(e,t){const o=t.query?e(t.query):"";return t.path+(o&&"?")+o+(t.hash||"")}function Su(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function zy(e,t,o){const r=t.matched.length-1,n=o.matched.length-1;return r>-1&&r===n&&kn(t.matched[r],o.matched[n])&&Kp(t.params,o.params)&&e(t.query)===e(o.query)&&t.hash===o.hash}function kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Kp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const o in e)if(!Oy(e[o],t[o]))return!1;return!0}function Oy(e,t){return xo(e)?_u(e,t):xo(t)?_u(t,e):e===t}function _u(e,t){return xo(t)?e.length===t.length&&e.every((o,r)=>o===t[r]):e.length===1&&e[0]===t}function Ay(e,t){if(e.startsWith("/"))return e;if(!e)return t;const o=t.split("/"),r=e.split("/");let n=o.length-1,i,a;for(i=0;i1&&n--;else break;return o.slice(0,n).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var Pi;(function(e){e.pop="pop",e.push="push"})(Pi||(Pi={}));var fi;(function(e){e.back="back",e.forward="forward",e.unknown=""})(fi||(fi={}));function Iy(e){if(!e)if(cn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Ey(e)}const My=/^[^#]+#/;function Ly(e,t){return e.replace(My,"#")+t}function By(e,t){const o=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-o.left-(t.left||0),top:r.top-o.top-(t.top||0)}}const ss=()=>({left:window.pageXOffset,top:window.pageYOffset});function Hy(e){let t;if("el"in e){const o=e.el,r=typeof o=="string"&&o.startsWith("#"),n=typeof o=="string"?r?document.getElementById(o.slice(1)):document.querySelector(o):o;if(!n)return;t=By(n,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function $u(e,t){return(history.state?history.state.position-t:-1)+e}const Ll=new Map;function Dy(e,t){Ll.set(e,t)}function Fy(e){const t=Ll.get(e);return Ll.delete(e),t}let jy=()=>location.protocol+"//"+location.host;function qp(e,t){const{pathname:o,search:r,hash:n}=t,i=e.indexOf("#");if(i>-1){let s=n.includes(e.slice(i))?e.slice(i).length:1,l=n.slice(s);return l[0]!=="/"&&(l="/"+l),Su(l,"")}return Su(o,e)+r+n}function Ny(e,t,o,r){let n=[],i=[],a=null;const s=({state:f})=>{const p=qp(e,location),h=o.value,v=t.value;let b=0;if(f){if(o.value=p,t.value=f,a&&a===h){a=null;return}b=v?f.position-v.position:0}else r(p);n.forEach(g=>{g(o.value,h,{delta:b,type:Pi.pop,direction:b?b>0?fi.forward:fi.back:fi.unknown})})};function l(){a=o.value}function c(f){n.push(f);const p=()=>{const h=n.indexOf(f);h>-1&&n.splice(h,1)};return i.push(p),p}function d(){const{history:f}=window;f.state&&f.replaceState(Je({},f.state,{scroll:ss()}),"")}function u(){for(const f of i)f();i=[],window.removeEventListener("popstate",s),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",s),window.addEventListener("beforeunload",d),{pauseListeners:l,listen:c,destroy:u}}function Pu(e,t,o,r=!1,n=!1){return{back:e,current:t,forward:o,replaced:r,position:window.history.length,scroll:n?ss():null}}function Wy(e){const{history:t,location:o}=window,r={value:qp(e,o)},n={value:t.state};n.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,d){const u=e.indexOf("#"),f=u>-1?(o.host&&document.querySelector("base")?e:e.slice(u))+l:jy()+e+l;try{t[d?"replaceState":"pushState"](c,"",f),n.value=c}catch(p){console.error(p),o[d?"replace":"assign"](f)}}function a(l,c){const d=Je({},t.state,Pu(n.value.back,l,n.value.forward,!0),c,{position:n.value.position});i(l,d,!0),r.value=l}function s(l,c){const d=Je({},n.value,t.state,{forward:l,scroll:ss()});i(d.current,d,!0);const u=Je({},Pu(r.value,l,null),{position:d.position+1},c);i(l,u,!1),r.value=l}return{location:r,state:n,push:s,replace:a}}function Vy(e){e=Iy(e);const t=Wy(e),o=Ny(e,t.state,t.location,t.replace);function r(i,a=!0){a||o.pauseListeners(),history.go(i)}const n=Je({location:"",base:e,go:r,createHref:Ly.bind(null,e)},t,o);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>t.state.value}),n}function Uy(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Vy(e)}function Ky(e){return typeof e=="string"||e&&typeof e=="object"}function Gp(e){return typeof e=="string"||typeof e=="symbol"}const Qo={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Yp=Symbol("");var ku;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ku||(ku={}));function Tn(e,t){return Je(new Error,{type:e,[Yp]:!0},t)}function Io(e,t){return e instanceof Error&&Yp in e&&(t==null||!!(e.type&t))}const Tu="[^/]+?",qy={sensitive:!1,strict:!1,start:!0,end:!0},Gy=/[.+*?^${}()[\]/\\]/g;function Yy(e,t){const o=Je({},qy,t),r=[];let n=o.start?"^":"";const i=[];for(const c of e){const d=c.length?[]:[90];o.strict&&!c.length&&(n+="/");for(let u=0;ut.length?t.length===1&&t[0]===40+40?1:-1:0}function Zy(e,t){let o=0;const r=e.score,n=t.score;for(;o0&&t[t.length-1]<0}const Jy={type:0,value:""},Qy=/[a-zA-Z0-9_]/;function eC(e){if(!e)return[[]];if(e==="/")return[[Jy]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${o})/"${c}": ${p}`)}let o=0,r=o;const n=[];let i;function a(){i&&n.push(i),i=[]}let s=0,l,c="",d="";function u(){c&&(o===0?i.push({type:0,value:c}):o===1||o===2||o===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:d,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;s{a(C)}:ui}function a(d){if(Gp(d)){const u=r.get(d);u&&(r.delete(d),o.splice(o.indexOf(u),1),u.children.forEach(a),u.alias.forEach(a))}else{const u=o.indexOf(d);u>-1&&(o.splice(u,1),d.record.name&&r.delete(d.record.name),d.children.forEach(a),d.alias.forEach(a))}}function s(){return o}function l(d){let u=0;for(;u=0&&(d.record.path!==o[u].record.path||!Xp(d,o[u]));)u++;o.splice(u,0,d),d.record.name&&!zu(d)&&r.set(d.record.name,d)}function c(d,u){let f,p={},h,v;if("name"in d&&d.name){if(f=r.get(d.name),!f)throw Tn(1,{location:d});v=f.record.name,p=Je(Ru(u.params,f.keys.filter(C=>!C.optional).map(C=>C.name)),d.params&&Ru(d.params,f.keys.map(C=>C.name))),h=f.stringify(p)}else if("path"in d)h=d.path,f=o.find(C=>C.re.test(h)),f&&(p=f.parse(h),v=f.record.name);else{if(f=u.name?r.get(u.name):o.find(C=>C.re.test(u.path)),!f)throw Tn(1,{location:d,currentLocation:u});v=f.record.name,p=Je({},u.params,d.params),h=f.stringify(p)}const b=[];let g=f;for(;g;)b.unshift(g.record),g=g.parent;return{name:v,path:h,params:p,matched:b,meta:iC(b)}}return e.forEach(d=>i(d)),{addRoute:i,resolve:c,removeRoute:a,getRoutes:s,getRecordMatcher:n}}function Ru(e,t){const o={};for(const r of t)r in e&&(o[r]=e[r]);return o}function rC(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:nC(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function nC(e){const t={},o=e.props||!1;if("component"in e)t.default=o;else for(const r in e.components)t[r]=typeof o=="boolean"?o:o[r];return t}function zu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function iC(e){return e.reduce((t,o)=>Je(t,o.meta),{})}function Ou(e,t){const o={};for(const r in e)o[r]=r in t?t[r]:e[r];return o}function Xp(e,t){return t.children.some(o=>o===e||Xp(e,o))}const Zp=/#/g,aC=/&/g,sC=/\//g,lC=/=/g,cC=/\?/g,Jp=/\+/g,dC=/%5B/g,uC=/%5D/g,Qp=/%5E/g,fC=/%60/g,em=/%7B/g,hC=/%7C/g,tm=/%7D/g,pC=/%20/g;function Fc(e){return encodeURI(""+e).replace(hC,"|").replace(dC,"[").replace(uC,"]")}function mC(e){return Fc(e).replace(em,"{").replace(tm,"}").replace(Qp,"^")}function Bl(e){return Fc(e).replace(Jp,"%2B").replace(pC,"+").replace(Zp,"%23").replace(aC,"%26").replace(fC,"`").replace(em,"{").replace(tm,"}").replace(Qp,"^")}function gC(e){return Bl(e).replace(lC,"%3D")}function vC(e){return Fc(e).replace(Zp,"%23").replace(cC,"%3F")}function bC(e){return e==null?"":vC(e).replace(sC,"%2F")}function Ma(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function xC(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;ni&&Bl(i)):[r&&Bl(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+o,i!=null&&(t+="="+i))})}return t}function yC(e){const t={};for(const o in e){const r=e[o];r!==void 0&&(t[o]=xo(r)?r.map(n=>n==null?null:""+n):r==null?r:""+r)}return t}const CC=Symbol(""),Iu=Symbol(""),ls=Symbol(""),jc=Symbol(""),Hl=Symbol("");function Yn(){let e=[];function t(r){return e.push(r),()=>{const n=e.indexOf(r);n>-1&&e.splice(n,1)}}function o(){e=[]}return{add:t,list:()=>e,reset:o}}function ir(e,t,o,r,n){const i=r&&(r.enterCallbacks[n]=r.enterCallbacks[n]||[]);return()=>new Promise((a,s)=>{const l=u=>{u===!1?s(Tn(4,{from:o,to:t})):u instanceof Error?s(u):Ky(u)?s(Tn(2,{from:t,to:u})):(i&&r.enterCallbacks[n]===i&&typeof u=="function"&&i.push(u),a())},c=e.call(r&&r.instances[n],t,o,l);let d=Promise.resolve(c);e.length<3&&(d=d.then(l)),d.catch(u=>s(u))})}function Us(e,t,o,r){const n=[];for(const i of e)for(const a in i.components){let s=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(wC(s)){const c=(s.__vccOpts||s)[t];c&&n.push(ir(c,o,r,i,a))}else{let l=s();n.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${i.path}"`));const d=ky(c)?c.default:c;i.components[a]=d;const f=(d.__vccOpts||d)[t];return f&&ir(f,o,r,i,a)()}))}}return n}function wC(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Mu(e){const t=ve(ls),o=ve(jc),r=H(()=>t.resolve(Qe(e.to))),n=H(()=>{const{matched:l}=r.value,{length:c}=l,d=l[c-1],u=o.matched;if(!d||!u.length)return-1;const f=u.findIndex(kn.bind(null,d));if(f>-1)return f;const p=Lu(l[c-2]);return c>1&&Lu(d)===p&&u[u.length-1].path!==p?u.findIndex(kn.bind(null,l[c-2])):f}),i=H(()=>n.value>-1&&PC(o.params,r.value.params)),a=H(()=>n.value>-1&&n.value===o.matched.length-1&&Kp(o.params,r.value.params));function s(l={}){return $C(l)?t[Qe(e.replace)?"replace":"push"](Qe(e.to)).catch(ui):Promise.resolve()}return{route:r,href:H(()=>r.value.href),isActive:i,isExactActive:a,navigate:s}}const SC=se({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Mu,setup(e,{slots:t}){const o=vo(Mu(e)),{options:r}=ve(ls),n=H(()=>({[Bu(e.activeClass,r.linkActiveClass,"router-link-active")]:o.isActive,[Bu(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:o.isExactActive}));return()=>{const i=t.default&&t.default(o);return e.custom?i:m("a",{"aria-current":o.isExactActive?e.ariaCurrentValue:null,href:o.href,onClick:o.navigate,class:n.value},i)}}}),_C=SC;function $C(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function PC(e,t){for(const o in t){const r=t[o],n=e[o];if(typeof r=="string"){if(r!==n)return!1}else if(!xo(n)||n.length!==r.length||r.some((i,a)=>i!==n[a]))return!1}return!0}function Lu(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Bu=(e,t,o)=>e??t??o,kC=se({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:o}){const r=ve(Hl),n=H(()=>e.route||r.value),i=ve(Iu,0),a=H(()=>{let c=Qe(i);const{matched:d}=n.value;let u;for(;(u=d[c])&&!u.components;)c++;return c}),s=H(()=>n.value.matched[a.value]);Be(Iu,H(()=>a.value+1)),Be(CC,s),Be(Hl,n);const l=V();return Fe(()=>[l.value,s.value,e.name],([c,d,u],[f,p,h])=>{d&&(d.instances[u]=c,p&&p!==d&&c&&c===f&&(d.leaveGuards.size||(d.leaveGuards=p.leaveGuards),d.updateGuards.size||(d.updateGuards=p.updateGuards))),c&&d&&(!p||!kn(d,p)||!f)&&(d.enterCallbacks[u]||[]).forEach(v=>v(c))},{flush:"post"}),()=>{const c=n.value,d=e.name,u=s.value,f=u&&u.components[d];if(!f)return Hu(o.default,{Component:f,route:c});const p=u.props[d],h=p?p===!0?c.params:typeof p=="function"?p(c):p:null,b=m(f,Je({},h,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(u.instances[d]=null)},ref:l}));return Hu(o.default,{Component:b,route:c})||b}}});function Hu(e,t){if(!e)return null;const o=e(t);return o.length===1?o[0]:o}const TC=kC;function EC(e){const t=oC(e.routes,e),o=e.parseQuery||xC,r=e.stringifyQuery||Au,n=e.history,i=Yn(),a=Yn(),s=Yn(),l=z1(Qo);let c=Qo;cn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Ws.bind(null,U=>""+U),u=Ws.bind(null,bC),f=Ws.bind(null,Ma);function p(U,te){let G,ce;return Gp(U)?(G=t.getRecordMatcher(U),ce=te):ce=U,t.addRoute(ce,G)}function h(U){const te=t.getRecordMatcher(U);te&&t.removeRoute(te)}function v(){return t.getRoutes().map(U=>U.record)}function b(U){return!!t.getRecordMatcher(U)}function g(U,te){if(te=Je({},te||l.value),typeof U=="string"){const x=Vs(o,U,te.path),P=t.resolve({path:x.path},te),O=n.createHref(x.fullPath);return Je(x,P,{params:f(P.params),hash:Ma(x.hash),redirectedFrom:void 0,href:O})}let G;if("path"in U)G=Je({},U,{path:Vs(o,U.path,te.path).path});else{const x=Je({},U.params);for(const P in x)x[P]==null&&delete x[P];G=Je({},U,{params:u(U.params)}),te.params=u(te.params)}const ce=t.resolve(G,te),de=U.hash||"";ce.params=d(f(ce.params));const Oe=Ry(r,Je({},U,{hash:mC(de),path:ce.path})),be=n.createHref(Oe);return Je({fullPath:Oe,hash:de,query:r===Au?yC(U.query):U.query||{}},ce,{redirectedFrom:void 0,href:be})}function C(U){return typeof U=="string"?Vs(o,U,l.value.path):Je({},U)}function w(U,te){if(c!==U)return Tn(8,{from:te,to:U})}function y(U){return S(U)}function k(U){return y(Je(C(U),{replace:!0}))}function T(U){const te=U.matched[U.matched.length-1];if(te&&te.redirect){const{redirect:G}=te;let ce=typeof G=="function"?G(U):G;return typeof ce=="string"&&(ce=ce.includes("?")||ce.includes("#")?ce=C(ce):{path:ce},ce.params={}),Je({query:U.query,hash:U.hash,params:"path"in ce?{}:U.params},ce)}}function S(U,te){const G=c=g(U),ce=l.value,de=U.state,Oe=U.force,be=U.replace===!0,x=T(G);if(x)return S(Je(C(x),{state:typeof x=="object"?Je({},de,x.state):de,force:Oe,replace:be}),te||G);const P=G;P.redirectedFrom=te;let O;return!Oe&&zy(r,ce,G)&&(O=Tn(16,{to:P,from:ce}),Ce(ce,ce,!0,!1)),(O?Promise.resolve(O):z(P,ce)).catch(W=>Io(W)?Io(W,2)?W:me(W):X(W,P,ce)).then(W=>{if(W){if(Io(W,2))return S(Je({replace:be},C(W.to),{state:typeof W.to=="object"?Je({},de,W.to.state):de,force:Oe}),te||P)}else W=N(P,ce,!0,be,de);return $(P,ce,W),W})}function _(U,te){const G=w(U,te);return G?Promise.reject(G):Promise.resolve()}function z(U,te){let G;const[ce,de,Oe]=RC(U,te);G=Us(ce.reverse(),"beforeRouteLeave",U,te);for(const x of ce)x.leaveGuards.forEach(P=>{G.push(ir(P,U,te))});const be=_.bind(null,U,te);return G.push(be),Qr(G).then(()=>{G=[];for(const x of i.list())G.push(ir(x,U,te));return G.push(be),Qr(G)}).then(()=>{G=Us(de,"beforeRouteUpdate",U,te);for(const x of de)x.updateGuards.forEach(P=>{G.push(ir(P,U,te))});return G.push(be),Qr(G)}).then(()=>{G=[];for(const x of U.matched)if(x.beforeEnter&&!te.matched.includes(x))if(xo(x.beforeEnter))for(const P of x.beforeEnter)G.push(ir(P,U,te));else G.push(ir(x.beforeEnter,U,te));return G.push(be),Qr(G)}).then(()=>(U.matched.forEach(x=>x.enterCallbacks={}),G=Us(Oe,"beforeRouteEnter",U,te),G.push(be),Qr(G))).then(()=>{G=[];for(const x of a.list())G.push(ir(x,U,te));return G.push(be),Qr(G)}).catch(x=>Io(x,8)?x:Promise.reject(x))}function $(U,te,G){for(const ce of s.list())ce(U,te,G)}function N(U,te,G,ce,de){const Oe=w(U,te);if(Oe)return Oe;const be=te===Qo,x=cn?history.state:{};G&&(ce||be?n.replace(U.fullPath,Je({scroll:be&&x&&x.scroll},de)):n.push(U.fullPath,de)),l.value=U,Ce(U,te,G,be),me()}let R;function F(){R||(R=n.listen((U,te,G)=>{if(!He.listening)return;const ce=g(U),de=T(ce);if(de){S(Je(de,{replace:!0}),ce).catch(ui);return}c=ce;const Oe=l.value;cn&&Dy($u(Oe.fullPath,G.delta),ss()),z(ce,Oe).catch(be=>Io(be,12)?be:Io(be,2)?(S(be.to,ce).then(x=>{Io(x,20)&&!G.delta&&G.type===Pi.pop&&n.go(-1,!1)}).catch(ui),Promise.reject()):(G.delta&&n.go(-G.delta,!1),X(be,ce,Oe))).then(be=>{be=be||N(ce,Oe,!1),be&&(G.delta&&!Io(be,8)?n.go(-G.delta,!1):G.type===Pi.pop&&Io(be,20)&&n.go(-1,!1)),$(ce,Oe,be)}).catch(ui)}))}let j=Yn(),Q=Yn(),I;function X(U,te,G){me(U);const ce=Q.list();return ce.length?ce.forEach(de=>de(U,te,G)):console.error(U),Promise.reject(U)}function ie(){return I&&l.value!==Qo?Promise.resolve():new Promise((U,te)=>{j.add([U,te])})}function me(U){return I||(I=!U,F(),j.list().forEach(([te,G])=>U?G(U):te()),j.reset()),U}function Ce(U,te,G,ce){const{scrollBehavior:de}=e;if(!cn||!de)return Promise.resolve();const Oe=!G&&Fy($u(U.fullPath,0))||(ce||!G)&&history.state&&history.state.scroll||null;return Jt().then(()=>de(U,te,Oe)).then(be=>be&&Hy(be)).catch(be=>X(be,U,te))}const $e=U=>n.go(U);let Pe;const Xe=new Set,He={currentRoute:l,listening:!0,addRoute:p,removeRoute:h,hasRoute:b,getRoutes:v,resolve:g,options:e,push:y,replace:k,go:$e,back:()=>$e(-1),forward:()=>$e(1),beforeEach:i.add,beforeResolve:a.add,afterEach:s.add,onError:Q.add,isReady:ie,install(U){const te=this;U.component("RouterLink",_C),U.component("RouterView",TC),U.config.globalProperties.$router=te,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>Qe(l)}),cn&&!Pe&&l.value===Qo&&(Pe=!0,y(n.location).catch(de=>{}));const G={};for(const de in Qo)G[de]=H(()=>l.value[de]);U.provide(ls,te),U.provide(jc,vo(G)),U.provide(Hl,l);const ce=U.unmount;Xe.add(U),U.unmount=function(){Xe.delete(U),Xe.size<1&&(c=Qo,R&&R(),R=null,l.value=Qo,Pe=!1,I=!1),ce()}}};return He}function Qr(e){return e.reduce((t,o)=>t.then(()=>o()),Promise.resolve())}function RC(e,t){const o=[],r=[],n=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;akn(c,s))?r.push(s):o.push(s));const l=e.matched[a];l&&(t.matched.find(c=>kn(c,l))||n.push(l))}return[o,r,n]}function om(){return ve(ls)}function zC(){return ve(jc)}const OC=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>oo(()=>import("./Home-4b4f3711.js"),["assets/Home-4b4f3711.js","assets/post-item.vue_vue_type_style_index_0_lang-8c8699fb.js","assets/content-91421e79.js","assets/content-cc55174b.css","assets/formatTime-0c777b4d.js","assets/Thing-7c7318d4.js","assets/post-item-3a63e077.css","assets/post-skeleton-445c3b83.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/post-skeleton-f1900002.css","assets/IEnum-1d2492bb.js","assets/Upload-4d55d917.js","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/Pagination-35c2dd8e.js","assets/Home-a7297c0f.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>oo(()=>import("./Post-21e0e7c2.js"),["assets/Post-21e0e7c2.js","assets/InputGroup-a08135e4.js","assets/formatTime-0c777b4d.js","assets/content-91421e79.js","assets/content-cc55174b.css","assets/Thing-7c7318d4.js","assets/post-skeleton-445c3b83.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/post-skeleton-f1900002.css","assets/IEnum-1d2492bb.js","assets/Upload-4d55d917.js","assets/MoreHorizFilled-c8a99fb4.js","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/Post-2b9ab2ef.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>oo(()=>import("./Topic-e75f8e46.js"),["assets/Topic-e75f8e46.js","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/List-872c113a.js","assets/Topic-3a36c606.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>oo(()=>import("./Anouncement-362c2a8b.js"),["assets/Anouncement-362c2a8b.js","assets/post-skeleton-445c3b83.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/formatTime-0c777b4d.js","assets/Pagination-35c2dd8e.js","assets/Anouncement-662e2d95.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>oo(()=>import("./Profile-1b2bf9dc.js"),["assets/Profile-1b2bf9dc.js","assets/post-item.vue_vue_type_style_index_0_lang-8c8699fb.js","assets/content-91421e79.js","assets/content-cc55174b.css","assets/formatTime-0c777b4d.js","assets/Thing-7c7318d4.js","assets/post-item-3a63e077.css","assets/post-skeleton-445c3b83.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/Pagination-35c2dd8e.js","assets/Profile-5d71a5c2.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>oo(()=>import("./User-30ca5925.js"),["assets/User-30ca5925.js","assets/post-item.vue_vue_type_style_index_0_lang-8c8699fb.js","assets/content-91421e79.js","assets/content-cc55174b.css","assets/formatTime-0c777b4d.js","assets/Thing-7c7318d4.js","assets/post-item-3a63e077.css","assets/post-skeleton-445c3b83.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/post-skeleton-f1900002.css","assets/Alert-f1e64ed3.js","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/MoreHorizFilled-c8a99fb4.js","assets/Pagination-35c2dd8e.js","assets/User-4f525d0f.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>oo(()=>import("./Messages-296c5576.js"),["assets/Messages-296c5576.js","assets/formatTime-0c777b4d.js","assets/Alert-f1e64ed3.js","assets/Thing-7c7318d4.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/Pagination-35c2dd8e.js","assets/Messages-7ed31ecd.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>oo(()=>import("./Collection-8fafe5fc.js"),["assets/Collection-8fafe5fc.js","assets/post-item.vue_vue_type_style_index_0_lang-8c8699fb.js","assets/content-91421e79.js","assets/content-cc55174b.css","assets/formatTime-0c777b4d.js","assets/Thing-7c7318d4.js","assets/post-item-3a63e077.css","assets/post-skeleton-445c3b83.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/Pagination-35c2dd8e.js","assets/Collection-e1365ea0.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>oo(()=>import("./Contacts-9dd72b63.js"),["assets/Contacts-9dd72b63.js","assets/post-skeleton-445c3b83.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/Pagination-35c2dd8e.js","assets/Contacts-b60e5e0d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>oo(()=>import("./Wallet-ea78d089.js"),["assets/Wallet-ea78d089.js","assets/post-skeleton-445c3b83.js","assets/Skeleton-6c42d34d.js","assets/List-872c113a.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/formatTime-0c777b4d.js","assets/Pagination-35c2dd8e.js","assets/Wallet-77044929.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>oo(()=>import("./Setting-3190a67c.js"),["assets/Setting-3190a67c.js","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/Upload-4d55d917.js","assets/Alert-f1e64ed3.js","assets/InputGroup-a08135e4.js","assets/Setting-bfd24152.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>oo(()=>import("./404-9bdfc78f.js"),["assets/404-9bdfc78f.js","assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js","assets/main-nav-f7e14d14.css","assets/List-872c113a.js","assets/404-020b2afd.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],rm=EC({history:Uy(),routes:OC});rm.beforeEach((e,t,o)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,o()});/*! * vuex v4.1.0 * (c) 2022 Evan You * @license MIT @@ -15,7 +15,7 @@ ${n} }`:"";const a=e?[e+" {"]:[];return i.forEach(s=>{const l=n[s];if(s==="raw"){a.push(` `+l+` `);return}s=bm(s),l!=null&&a.push(` ${s}${yw(l)}`)}),e&&a.push("}"),a.join(` -`)}function Nl(e,t,o){e&&e.forEach(r=>{if(Array.isArray(r))Nl(r,t,o);else if(typeof r=="function"){const n=r(t);Array.isArray(n)?Nl(n,t,o):n&&o(n)}else r&&o(r)})}function xm(e,t,o,r,n,i){const a=e.$;let s="";if(!a||typeof a=="string")ia(a)?s=a:t.push(a);else if(typeof a=="function"){const d=a({context:r.context,props:n});ia(d)?s=d:t.push(d)}else if(a.before&&a.before(r.context),!a.$||typeof a.$=="string")ia(a.$)?s=a.$:t.push(a.$);else if(a.$){const d=a.$({context:r.context,props:n});ia(d)?s=d:t.push(d)}const l=vw(t),c=qu(l,e.props,r,n);s?(o.push(`${s} {`),i&&c&&i.insertRule(`${s} { +`)}function Nl(e,t,o){e&&e.forEach(r=>{if(Array.isArray(r))Nl(r,t,o);else if(typeof r=="function"){const n=r(t);Array.isArray(n)?Nl(n,t,o):n&&o(n)}else r&&o(r)})}function xm(e,t,o,r,n,i){const a=e.$;let s="";if(!a||typeof a=="string")ia(a)?s=a:t.push(a);else if(typeof a=="function"){const d={context:r.context,props:n};ia(d.value)?s=d.value:t.push(d.value)}else if(a.before&&a.before(r.context),!a.$||typeof a.$=="string")ia(a.$)?s=a.$:t.push(a.$);else if(a.$){const d=a.$({context:r.context,props:n});ia(d)?s=d:t.push(d)}const l=vw(t),c=qu(l,e.props,r,n);s?(o.push(`${s} {`),i&&c&&i.insertRule(`${s} { ${c} } `)):(i&&c&&i.insertRule(c),!i&&c.length&&o.push(c)),e.children&&Nl(e.children,{context:r.context,props:n},d=>{if(typeof d=="string"){const u=qu(l,{raw:d},r,n);i?i.insertRule(u):o.push(u)}else xm(d,t,o,r,n,i)}),t.pop(),s&&o.push("}"),a&&a.after&&a.after(r.context)}function ym(e,t,o,r=!1){const n=[];return xm(e,[],n,t,o,r?e.instance.__styleSheet:void 0),r?"":n.join(` @@ -2003,4 +2003,4 @@ ${t} border-bottom: none; `)])])]),lA=Object.assign(Object.assign({},ze.props),{value:[String,Number],defaultValue:[String,Number],trigger:{type:String,default:"click"},type:{type:String,default:"bar"},closable:Boolean,justifyContent:String,size:{type:String,default:"medium"},placement:{type:String,default:"top"},tabStyle:[String,Object],barWidth:Number,paneClass:String,paneStyle:[String,Object],addable:[Boolean,Object],tabsPadding:{type:Number,default:0},animated:Boolean,onBeforeLeave:Function,onAdd:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClose:[Function,Array],labelSize:String,activeName:[String,Number],onActiveNameChange:[Function,Array]}),cA=se({name:"Tabs",props:lA,setup(e,{slots:t}){var o,r,n,i;const{mergedClsPrefixRef:a,inlineThemeDisabled:s}=dt(e),l=ze("Tabs","-tabs",sA,XO,e,a),c=V(null),d=V(null),u=V(null),f=V(null),p=V(null),h=V(!0),v=V(!0),b=Ri(e,["labelSize","size"]),g=Ri(e,["activeName","value"]),C=V((r=(o=g.value)!==null&&o!==void 0?o:e.defaultValue)!==null&&r!==void 0?r:t.default?(i=(n=Br(t.default())[0])===null||n===void 0?void 0:n.props)===null||i===void 0?void 0:i.name:null),w=zn(g,C),y={id:0},k=H(()=>{if(!(!e.justifyContent||e.type==="card"))return{display:"flex",justifyContent:e.justifyContent}});Fe(w,()=>{y.id=0,z(),$()});function T(){var E;const{value:B}=w;return B===null?null:(E=c.value)===null||E===void 0?void 0:E.querySelector(`[data-name="${B}"]`)}function S(E){if(e.type==="card")return;const{value:B}=d;if(B&&E){const Y=`${a.value}-tabs-bar--disabled`,{barWidth:q,placement:J}=e;if(E.dataset.disabled==="true"?B.classList.add(Y):B.classList.remove(Y),["top","bottom"].includes(J)){if(_(["top","maxHeight","height"]),typeof q=="number"&&E.offsetWidth>=q){const Z=Math.floor((E.offsetWidth-q)/2)+E.offsetLeft;B.style.left=`${Z}px`,B.style.maxWidth=`${q}px`}else B.style.left=`${E.offsetLeft}px`,B.style.maxWidth=`${E.offsetWidth}px`;B.style.width="8192px",B.offsetWidth}else{if(_(["left","maxWidth","width"]),typeof q=="number"&&E.offsetHeight>=q){const Z=Math.floor((E.offsetHeight-q)/2)+E.offsetTop;B.style.top=`${Z}px`,B.style.maxHeight=`${q}px`}else B.style.top=`${E.offsetTop}px`,B.style.maxHeight=`${E.offsetHeight}px`;B.style.height="8192px",B.offsetHeight}}}function _(E){const{value:B}=d;if(B)for(const Y of E)B.style[Y]=""}function z(){if(e.type==="card")return;const E=T();E&&S(E)}function $(E){var B;const Y=(B=p.value)===null||B===void 0?void 0:B.$el;if(!Y)return;const q=T();if(!q)return;const{scrollLeft:J,offsetWidth:Z}=Y,{offsetLeft:he,offsetWidth:ue}=q;J>he?Y.scrollTo({top:0,left:he,behavior:"smooth"}):he+ue>J+Z&&Y.scrollTo({top:0,left:he+ue-Z,behavior:"smooth"})}const N=V(null);let R=0,F=null;function j(E){const B=N.value;if(B){R=E.getBoundingClientRect().height;const Y=`${R}px`,q=()=>{B.style.height=Y,B.style.maxHeight=Y};F?(q(),F(),F=null):F=q}}function Q(E){const B=N.value;if(B){const Y=E.getBoundingClientRect().height,q=()=>{document.body.offsetHeight,B.style.maxHeight=`${Y}px`,B.style.height=`${Math.max(R,Y)}px`};F?(F(),F=null,q()):F=q}}function I(){const E=N.value;E&&(E.style.maxHeight="",E.style.height="")}const X={value:[]},ie=V("next");function me(E){const B=w.value;let Y="next";for(const q of X.value){if(q===B)break;if(q===E){Y="prev";break}}ie.value=Y,Ce(E)}function Ce(E){const{onActiveNameChange:B,onUpdateValue:Y,"onUpdate:value":q}=e;B&&Me(B,E),Y&&Me(Y,E),q&&Me(q,E),C.value=E}function $e(E){const{onClose:B}=e;B&&Me(B,E)}function Pe(){const{value:E}=d;if(!E)return;const B="transition-disabled";E.classList.add(B),z(),E.classList.remove(B)}let Xe=0;function He(E){var B;if(E.contentRect.width===0&&E.contentRect.height===0||Xe===E.contentRect.width)return;Xe=E.contentRect.width;const{type:Y}=e;(Y==="line"||Y==="bar")&&Pe(),Y!=="segment"&&Oe((B=p.value)===null||B===void 0?void 0:B.$el)}const U=nl(He,64);Fe([()=>e.justifyContent,()=>e.size],()=>{Jt(()=>{const{type:E}=e;(E==="line"||E==="bar")&&Pe()})});const te=V(!1);function G(E){var B;const{target:Y,contentRect:{width:q}}=E,J=Y.parentElement.offsetWidth;if(!te.value)JZ.$el.offsetWidth&&(te.value=!1)}Oe((B=p.value)===null||B===void 0?void 0:B.$el)}const ce=nl(G,64);function de(){const{onAdd:E}=e;E&&E(),Jt(()=>{const B=T(),{value:Y}=p;!B||!Y||Y.scrollTo({left:B.offsetLeft,top:0,behavior:"smooth"})})}function Oe(E){if(!E)return;const{scrollLeft:B,scrollWidth:Y,offsetWidth:q}=E;h.value=B<=0,v.value=B+q>=Y}const be=nl(E=>{Oe(E.target)},64);Be(Ed,{triggerRef:Ee(e,"trigger"),tabStyleRef:Ee(e,"tabStyle"),paneClassRef:Ee(e,"paneClass"),paneStyleRef:Ee(e,"paneStyle"),mergedClsPrefixRef:a,typeRef:Ee(e,"type"),closableRef:Ee(e,"closable"),valueRef:w,tabChangeIdRef:y,onBeforeLeaveRef:Ee(e,"onBeforeLeave"),activateTab:me,handleClose:$e,handleAdd:de}),km(()=>{z(),$()}),Kt(()=>{const{value:E}=u;if(!E||["left","right"].includes(e.placement))return;const{value:B}=a,Y=`${B}-tabs-nav-scroll-wrapper--shadow-before`,q=`${B}-tabs-nav-scroll-wrapper--shadow-after`;h.value?E.classList.remove(Y):E.classList.add(Y),v.value?E.classList.remove(q):E.classList.add(q)});const x=V(null);Fe(w,()=>{if(e.type==="segment"){const E=x.value;E&&Jt(()=>{E.classList.add("transition-disabled"),E.offsetWidth,E.classList.remove("transition-disabled")})}});const P={syncBarPosition:()=>{z()}},O=H(()=>{const{value:E}=b,{type:B}=e,Y={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[B],q=`${E}${Y}`,{self:{barColor:J,closeIconColor:Z,closeIconColorHover:he,closeIconColorPressed:ue,tabColor:pe,tabBorderColor:Se,paneTextColor:Ae,tabFontWeight:Ve,tabBorderRadius:je,tabFontWeightActive:ot,colorSegment:wt,fontWeightStrong:Nt,tabColorSegment:Xo,closeSize:eo,closeIconSize:Xt,closeColorHover:Ct,closeColorPressed:re,closeBorderRadius:ge,[ae("panePadding",E)]:ke,[ae("tabPadding",q)]:Ze,[ae("tabPaddingVertical",q)]:ut,[ae("tabGap",q)]:Pt,[ae("tabTextColor",B)]:Dt,[ae("tabTextColorActive",B)]:rt,[ae("tabTextColorHover",B)]:Wt,[ae("tabTextColorDisabled",B)]:Ao,[ae("tabFontSize",E)]:Yr},common:{cubicBezierEaseInOut:Xr}}=l.value;return{"--n-bezier":Xr,"--n-color-segment":wt,"--n-bar-color":J,"--n-tab-font-size":Yr,"--n-tab-text-color":Dt,"--n-tab-text-color-active":rt,"--n-tab-text-color-disabled":Ao,"--n-tab-text-color-hover":Wt,"--n-pane-text-color":Ae,"--n-tab-border-color":Se,"--n-tab-border-radius":je,"--n-close-size":eo,"--n-close-icon-size":Xt,"--n-close-color-hover":Ct,"--n-close-color-pressed":re,"--n-close-border-radius":ge,"--n-close-icon-color":Z,"--n-close-icon-color-hover":he,"--n-close-icon-color-pressed":ue,"--n-tab-color":pe,"--n-tab-font-weight":Ve,"--n-tab-font-weight-active":ot,"--n-tab-padding":Ze,"--n-tab-padding-vertical":ut,"--n-tab-gap":Pt,"--n-pane-padding":ke,"--n-font-weight-strong":Nt,"--n-tab-color-segment":Xo}}),W=s?Et("tabs",H(()=>`${b.value[0]}${e.type[0]}`),O,e):void 0;return Object.assign({mergedClsPrefix:a,mergedValue:w,renderedNames:new Set,tabsRailElRef:x,tabsPaneWrapperRef:N,tabsElRef:c,barElRef:d,addTabInstRef:f,xScrollInstRef:p,scrollWrapperElRef:u,addTabFixed:te,tabWrapperStyle:k,handleNavResize:U,mergedSize:b,handleScroll:be,handleTabsResize:ce,cssVars:s?void 0:O,themeClass:W==null?void 0:W.themeClass,animationDirection:ie,renderNameListRef:X,onAnimationBeforeLeave:j,onAnimationEnter:Q,onAnimationAfterEnter:I,onRender:W==null?void 0:W.onRender},P)},render(){const{mergedClsPrefix:e,type:t,placement:o,addTabFixed:r,addable:n,mergedSize:i,renderNameListRef:a,onRender:s,$slots:{default:l,prefix:c,suffix:d}}=this;s==null||s();const u=l?Br(l()).filter(C=>C.type.__TAB_PANE__===!0):[],f=l?Br(l()).filter(C=>C.type.__TAB__===!0):[],p=!f.length,h=t==="card",v=t==="segment",b=!h&&!v&&this.justifyContent;a.value=[];const g=()=>{const C=m("div",{style:this.tabWrapperStyle,class:[`${e}-tabs-wrapper`]},b?null:m("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}),p?u.map((w,y)=>(a.value.push(w.props.name),ml(m(uc,Object.assign({},w.props,{internalCreatedByPane:!0,internalLeftPadded:y!==0&&(!b||b==="center"||b==="start"||b==="end")}),w.children?{default:w.children.tab}:void 0)))):f.map((w,y)=>(a.value.push(w.props.name),ml(y!==0&&!b?wh(w):w))),!r&&n&&h?Ch(n,(p?u.length:f.length)!==0):null,b?null:m("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}));return m("div",{ref:"tabsElRef",class:`${e}-tabs-nav-scroll-content`},h&&n?m(An,{onResize:this.handleTabsResize},{default:()=>C}):C,h?m("div",{class:`${e}-tabs-pad`}):null,h?null:m("div",{ref:"barElRef",class:`${e}-tabs-bar`}))};return m("div",{class:[`${e}-tabs`,this.themeClass,`${e}-tabs--${t}-type`,`${e}-tabs--${i}-size`,b&&`${e}-tabs--flex`,`${e}-tabs--${o}`],style:this.cssVars},m("div",{class:[`${e}-tabs-nav--${t}-type`,`${e}-tabs-nav--${o}`,`${e}-tabs-nav`]},ft(c,C=>C&&m("div",{class:`${e}-tabs-nav__prefix`},C)),v?m("div",{class:`${e}-tabs-rail`,ref:"tabsRailElRef"},p?u.map((C,w)=>(a.value.push(C.props.name),m(uc,Object.assign({},C.props,{internalCreatedByPane:!0,internalLeftPadded:w!==0}),C.children?{default:C.children.tab}:void 0))):f.map((C,w)=>(a.value.push(C.props.name),w===0?C:wh(C)))):m(An,{onResize:this.handleNavResize},{default:()=>m("div",{class:`${e}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes(o)?m(HS,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:g}):m("div",{class:`${e}-tabs-nav-y-scroll`},g()))}),r&&n&&h?Ch(n,!0):null,ft(d,C=>C&&m("div",{class:`${e}-tabs-nav__suffix`},C))),p&&(this.animated?m("div",{ref:"tabsPaneWrapperRef",class:`${e}-tabs-pane-wrapper`},yh(u,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):yh(u,this.mergedValue,this.renderedNames)))}});function yh(e,t,o,r,n,i,a){const s=[];return e.forEach(l=>{const{name:c,displayDirective:d,"display-directive":u}=l.props,f=h=>d===h||u===h,p=t===c;if(l.key!==void 0&&(l.key=c),p||f("show")||f("show:lazy")&&o.has(c)){o.has(c)||o.add(c);const h=!f("if");s.push(h?Ro(l,[[$i,p]]):l)}}),a?m(Dc,{name:`${a}-transition`,onBeforeLeave:r,onEnter:n,onAfterEnter:i},{default:()=>s}):s}function Ch(e,t){return m(uc,{ref:"addTabInstRef",key:"__addable",name:"__addable",internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:t,disabled:typeof e=="object"&&e.disabled})}function wh(e){const t=so(e);return t.props?t.props.internalLeftPadded=!0:t.props={internalLeftPadded:!0},t}function ml(e){return Array.isArray(e.dynamicProps)?e.dynamicProps.includes("internalLeftPadded")||e.dynamicProps.push("internalLeftPadded"):e.dynamicProps=["internalLeftPadded"],e}const dA=()=>({}),uA={name:"Equation",common:le,self:dA},fA=uA,hA={name:"dark",common:le,Alert:mk,Anchor:Ck,AutoComplete:Ak,Avatar:Cv,AvatarGroup:Vk,BackTop:qk,Badge:Yk,Breadcrumb:iT,Button:Yt,ButtonGroup:Kz,Calendar:mT,Card:Pv,Carousel:kT,Cascader:AT,Checkbox:Wn,Code:kv,Collapse:BT,CollapseTransition:FT,ColorPicker:bT,DataTable:uE,DatePicker:ME,Descriptions:DE,Dialog:qv,Divider:sR,Drawer:dR,Dropdown:gd,DynamicInput:hR,DynamicTags:wR,Element:_R,Empty:qr,Ellipsis:Iv,Equation:fA,Form:TR,GradientText:Rz,Icon:gE,IconWrapper:Az,Image:S8,Input:fo,InputNumber:Gz,LegacyTransfer:I8,Layout:Xz,List:Qz,LoadingBar:tO,Log:rO,Menu:dO,Mention:iO,Message:Vz,Modal:XE,Notification:Dz,PageHeader:hO,Pagination:Ov,Popconfirm:vO,Popover:Gr,Popselect:Tv,Progress:hb,Radio:Mv,Rate:wO,Result:PO,Row:w8,Scrollbar:Gt,Select:Rv,Skeleton:eA,Slider:EO,Space:tb,Spin:AO,Statistic:LO,Steps:FO,Switch:WO,Table:qO,Tabs:JO,Tag:cv,Thing:t8,TimePicker:Vv,Timeline:n8,Tooltip:Ps,Transfer:s8,Tree:xb,TreeSelect:u8,Typography:m8,Upload:b8,Watermark:y8};function Ob(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ab}=Object.prototype,{getPrototypeOf:Rd}=Object,zd=(e=>t=>{const o=Ab.call(t);return e[o]||(e[o]=o.slice(8,-1).toLowerCase())})(Object.create(null)),Yo=e=>(e=e.toLowerCase(),t=>zd(t)===e),Es=e=>t=>typeof t===e,{isArray:Vn}=Array,Di=Es("undefined");function pA(e){return e!==null&&!Di(e)&&e.constructor!==null&&!Di(e.constructor)&&hr(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ib=Yo("ArrayBuffer");function mA(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ib(e.buffer),t}const gA=Es("string"),hr=Es("function"),Mb=Es("number"),Od=e=>e!==null&&typeof e=="object",vA=e=>e===!0||e===!1,$a=e=>{if(zd(e)!=="object")return!1;const t=Rd(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},bA=Yo("Date"),xA=Yo("File"),yA=Yo("Blob"),CA=Yo("FileList"),wA=e=>Od(e)&&hr(e.pipe),SA=e=>{const t="[object FormData]";return e&&(typeof FormData=="function"&&e instanceof FormData||Ab.call(e)===t||hr(e.toString)&&e.toString()===t)},_A=Yo("URLSearchParams"),$A=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Xi(e,t,{allOwnKeys:o=!1}={}){if(e===null||typeof e>"u")return;let r,n;if(typeof e!="object"&&(e=[e]),Vn(e))for(r=0,n=e.length;r0;)if(n=o[r],t===n.toLowerCase())return n;return null}const Bb=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Hb=e=>!Di(e)&&e!==Bb;function fc(){const{caseless:e}=Hb(this)&&this||{},t={},o=(r,n)=>{const i=e&&Lb(t,n)||n;$a(t[i])&&$a(r)?t[i]=fc(t[i],r):$a(r)?t[i]=fc({},r):Vn(r)?t[i]=r.slice():t[i]=r};for(let r=0,n=arguments.length;r(Xi(t,(n,i)=>{o&&hr(n)?e[i]=Ob(n,o):e[i]=n},{allOwnKeys:r}),e),kA=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),TA=(e,t,o,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),o&&Object.assign(e.prototype,o)},EA=(e,t,o,r)=>{let n,i,a;const s={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),i=n.length;i-- >0;)a=n[i],(!r||r(a,e,t))&&!s[a]&&(t[a]=e[a],s[a]=!0);e=o!==!1&&Rd(e)}while(e&&(!o||o(e,t))&&e!==Object.prototype);return t},RA=(e,t,o)=>{e=String(e),(o===void 0||o>e.length)&&(o=e.length),o-=t.length;const r=e.indexOf(t,o);return r!==-1&&r===o},zA=e=>{if(!e)return null;if(Vn(e))return e;let t=e.length;if(!Mb(t))return null;const o=new Array(t);for(;t-- >0;)o[t]=e[t];return o},OA=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Rd(Uint8Array)),AA=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let n;for(;(n=r.next())&&!n.done;){const i=n.value;t.call(e,i[0],i[1])}},IA=(e,t)=>{let o;const r=[];for(;(o=e.exec(t))!==null;)r.push(o);return r},MA=Yo("HTMLFormElement"),LA=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(o,r,n){return r.toUpperCase()+n}),Sh=(({hasOwnProperty:e})=>(t,o)=>e.call(t,o))(Object.prototype),BA=Yo("RegExp"),Db=(e,t)=>{const o=Object.getOwnPropertyDescriptors(e),r={};Xi(o,(n,i)=>{t(n,i,e)!==!1&&(r[i]=n)}),Object.defineProperties(e,r)},HA=e=>{Db(e,(t,o)=>{if(hr(e)&&["arguments","caller","callee"].indexOf(o)!==-1)return!1;const r=e[o];if(hr(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+o+"'")})}})},DA=(e,t)=>{const o={},r=n=>{n.forEach(i=>{o[i]=!0})};return Vn(e)?r(e):r(String(e).split(t)),o},FA=()=>{},jA=(e,t)=>(e=+e,Number.isFinite(e)?e:t),gl="abcdefghijklmnopqrstuvwxyz",_h="0123456789",Fb={DIGIT:_h,ALPHA:gl,ALPHA_DIGIT:gl+gl.toUpperCase()+_h},NA=(e=16,t=Fb.ALPHA_DIGIT)=>{let o="";const{length:r}=t;for(;e--;)o+=t[Math.random()*r|0];return o};function WA(e){return!!(e&&hr(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const VA=e=>{const t=new Array(10),o=(r,n)=>{if(Od(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[n]=r;const i=Vn(r)?[]:{};return Xi(r,(a,s)=>{const l=o(a,n+1);!Di(l)&&(i[s]=l)}),t[n]=void 0,i}}return r};return o(e,0)},ee={isArray:Vn,isArrayBuffer:Ib,isBuffer:pA,isFormData:SA,isArrayBufferView:mA,isString:gA,isNumber:Mb,isBoolean:vA,isObject:Od,isPlainObject:$a,isUndefined:Di,isDate:bA,isFile:xA,isBlob:yA,isRegExp:BA,isFunction:hr,isStream:wA,isURLSearchParams:_A,isTypedArray:OA,isFileList:CA,forEach:Xi,merge:fc,extend:PA,trim:$A,stripBOM:kA,inherits:TA,toFlatObject:EA,kindOf:zd,kindOfTest:Yo,endsWith:RA,toArray:zA,forEachEntry:AA,matchAll:IA,isHTMLForm:MA,hasOwnProperty:Sh,hasOwnProp:Sh,reduceDescriptors:Db,freezeMethods:HA,toObjectSet:DA,toCamelCase:LA,noop:FA,toFiniteNumber:jA,findKey:Lb,global:Bb,isContextDefined:Hb,ALPHABET:Fb,generateString:NA,isSpecCompliantForm:WA,toJSONObject:VA};function qe(e,t,o,r,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),o&&(this.config=o),r&&(this.request=r),n&&(this.response=n)}ee.inherits(qe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ee.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const jb=qe.prototype,Nb={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Nb[e]={value:e}});Object.defineProperties(qe,Nb);Object.defineProperty(jb,"isAxiosError",{value:!0});qe.from=(e,t,o,r,n,i)=>{const a=Object.create(jb);return ee.toFlatObject(e,a,function(l){return l!==Error.prototype},s=>s!=="isAxiosError"),qe.call(a,e.message,t,o,r,n),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const UA=null;function hc(e){return ee.isPlainObject(e)||ee.isArray(e)}function Wb(e){return ee.endsWith(e,"[]")?e.slice(0,-2):e}function $h(e,t,o){return e?e.concat(t).map(function(n,i){return n=Wb(n),!o&&i?"["+n+"]":n}).join(o?".":""):t}function KA(e){return ee.isArray(e)&&!e.some(hc)}const qA=ee.toFlatObject(ee,{},null,function(t){return/^is[A-Z]/.test(t)});function Rs(e,t,o){if(!ee.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,o=ee.toFlatObject(o,{metaTokens:!0,dots:!1,indexes:!1},!1,function(v,b){return!ee.isUndefined(b[v])});const r=o.metaTokens,n=o.visitor||d,i=o.dots,a=o.indexes,l=(o.Blob||typeof Blob<"u"&&Blob)&&ee.isSpecCompliantForm(t);if(!ee.isFunction(n))throw new TypeError("visitor must be a function");function c(h){if(h===null)return"";if(ee.isDate(h))return h.toISOString();if(!l&&ee.isBlob(h))throw new qe("Blob is not supported. Use a Buffer instead.");return ee.isArrayBuffer(h)||ee.isTypedArray(h)?l&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function d(h,v,b){let g=h;if(h&&!b&&typeof h=="object"){if(ee.endsWith(v,"{}"))v=r?v:v.slice(0,-2),h=JSON.stringify(h);else if(ee.isArray(h)&&KA(h)||(ee.isFileList(h)||ee.endsWith(v,"[]"))&&(g=ee.toArray(h)))return v=Wb(v),g.forEach(function(w,y){!(ee.isUndefined(w)||w===null)&&t.append(a===!0?$h([v],y,i):a===null?v:v+"[]",c(w))}),!1}return hc(h)?!0:(t.append($h(b,v,i),c(h)),!1)}const u=[],f=Object.assign(qA,{defaultVisitor:d,convertValue:c,isVisitable:hc});function p(h,v){if(!ee.isUndefined(h)){if(u.indexOf(h)!==-1)throw Error("Circular reference detected in "+v.join("."));u.push(h),ee.forEach(h,function(g,C){(!(ee.isUndefined(g)||g===null)&&n.call(t,g,ee.isString(C)?C.trim():C,v,f))===!0&&p(g,v?v.concat(C):[C])}),u.pop()}}if(!ee.isObject(e))throw new TypeError("data must be an object");return p(e),t}function Ph(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Ad(e,t){this._pairs=[],e&&Rs(e,this,t)}const Vb=Ad.prototype;Vb.append=function(t,o){this._pairs.push([t,o])};Vb.toString=function(t){const o=t?function(r){return t.call(this,r,Ph)}:Ph;return this._pairs.map(function(n){return o(n[0])+"="+o(n[1])},"").join("&")};function GA(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ub(e,t,o){if(!t)return e;const r=o&&o.encode||GA,n=o&&o.serialize;let i;if(n?i=n(t,o):i=ee.isURLSearchParams(t)?t.toString():new Ad(t,o).toString(r),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class YA{constructor(){this.handlers=[]}use(t,o,r){return this.handlers.push({fulfilled:t,rejected:o,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ee.forEach(this.handlers,function(r){r!==null&&t(r)})}}const kh=YA,Kb={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},XA=typeof URLSearchParams<"u"?URLSearchParams:Ad,ZA=typeof FormData<"u"?FormData:null,JA=typeof Blob<"u"?Blob:null,QA=(()=>{let e;return typeof navigator<"u"&&((e=navigator.product)==="ReactNative"||e==="NativeScript"||e==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),eI=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Po={isBrowser:!0,classes:{URLSearchParams:XA,FormData:ZA,Blob:JA},isStandardBrowserEnv:QA,isStandardBrowserWebWorkerEnv:eI,protocols:["http","https","file","blob","url","data"]};function tI(e,t){return Rs(e,new Po.classes.URLSearchParams,Object.assign({visitor:function(o,r,n,i){return Po.isNode&&ee.isBuffer(o)?(this.append(r,o.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function oI(e){return ee.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function rI(e){const t={},o=Object.keys(e);let r;const n=o.length;let i;for(r=0;r=o.length;return a=!a&&ee.isArray(n)?n.length:a,l?(ee.hasOwnProp(n,a)?n[a]=[n[a],r]:n[a]=r,!s):((!n[a]||!ee.isObject(n[a]))&&(n[a]=[]),t(o,r,n[a],i)&&ee.isArray(n[a])&&(n[a]=rI(n[a])),!s)}if(ee.isFormData(e)&&ee.isFunction(e.entries)){const o={};return ee.forEachEntry(e,(r,n)=>{t(oI(r),n,o,0)}),o}return null}const nI={"Content-Type":void 0};function iI(e,t,o){if(ee.isString(e))try{return(t||JSON.parse)(e),ee.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(o||JSON.stringify)(e)}const zs={transitional:Kb,adapter:["xhr","http"],transformRequest:[function(t,o){const r=o.getContentType()||"",n=r.indexOf("application/json")>-1,i=ee.isObject(t);if(i&&ee.isHTMLForm(t)&&(t=new FormData(t)),ee.isFormData(t))return n&&n?JSON.stringify(qb(t)):t;if(ee.isArrayBuffer(t)||ee.isBuffer(t)||ee.isStream(t)||ee.isFile(t)||ee.isBlob(t))return t;if(ee.isArrayBufferView(t))return t.buffer;if(ee.isURLSearchParams(t))return o.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return tI(t,this.formSerializer).toString();if((s=ee.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Rs(s?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||n?(o.setContentType("application/json",!1),iI(t)):t}],transformResponse:[function(t){const o=this.transitional||zs.transitional,r=o&&o.forcedJSONParsing,n=this.responseType==="json";if(t&&ee.isString(t)&&(r&&!this.responseType||n)){const a=!(o&&o.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(s){if(a)throw s.name==="SyntaxError"?qe.from(s,qe.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Po.classes.FormData,Blob:Po.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};ee.forEach(["delete","get","head"],function(t){zs.headers[t]={}});ee.forEach(["post","put","patch"],function(t){zs.headers[t]=ee.merge(nI)});const Id=zs,aI=ee.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),sI=e=>{const t={};let o,r,n;return e&&e.split(` `).forEach(function(a){n=a.indexOf(":"),o=a.substring(0,n).trim().toLowerCase(),r=a.substring(n+1).trim(),!(!o||t[o]&&aI[o])&&(o==="set-cookie"?t[o]?t[o].push(r):t[o]=[r]:t[o]=t[o]?t[o]+", "+r:r)}),t},Th=Symbol("internals");function ti(e){return e&&String(e).trim().toLowerCase()}function Pa(e){return e===!1||e==null?e:ee.isArray(e)?e.map(Pa):String(e)}function lI(e){const t=Object.create(null),o=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=o.exec(e);)t[r[1]]=r[2];return t}function cI(e){return/^[-_a-zA-Z]+$/.test(e.trim())}function vl(e,t,o,r,n){if(ee.isFunction(r))return r.call(this,t,o);if(n&&(t=o),!!ee.isString(t)){if(ee.isString(r))return t.indexOf(r)!==-1;if(ee.isRegExp(r))return r.test(t)}}function dI(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,o,r)=>o.toUpperCase()+r)}function uI(e,t){const o=ee.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+o,{value:function(n,i,a){return this[r].call(this,t,n,i,a)},configurable:!0})})}class Os{constructor(t){t&&this.set(t)}set(t,o,r){const n=this;function i(s,l,c){const d=ti(l);if(!d)throw new Error("header name must be a non-empty string");const u=ee.findKey(n,d);(!u||n[u]===void 0||c===!0||c===void 0&&n[u]!==!1)&&(n[u||l]=Pa(s))}const a=(s,l)=>ee.forEach(s,(c,d)=>i(c,d,l));return ee.isPlainObject(t)||t instanceof this.constructor?a(t,o):ee.isString(t)&&(t=t.trim())&&!cI(t)?a(sI(t),o):t!=null&&i(o,t,r),this}get(t,o){if(t=ti(t),t){const r=ee.findKey(this,t);if(r){const n=this[r];if(!o)return n;if(o===!0)return lI(n);if(ee.isFunction(o))return o.call(this,n,r);if(ee.isRegExp(o))return o.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,o){if(t=ti(t),t){const r=ee.findKey(this,t);return!!(r&&this[r]!==void 0&&(!o||vl(this,this[r],r,o)))}return!1}delete(t,o){const r=this;let n=!1;function i(a){if(a=ti(a),a){const s=ee.findKey(r,a);s&&(!o||vl(r,r[s],s,o))&&(delete r[s],n=!0)}}return ee.isArray(t)?t.forEach(i):i(t),n}clear(t){const o=Object.keys(this);let r=o.length,n=!1;for(;r--;){const i=o[r];(!t||vl(this,this[i],i,t,!0))&&(delete this[i],n=!0)}return n}normalize(t){const o=this,r={};return ee.forEach(this,(n,i)=>{const a=ee.findKey(r,i);if(a){o[a]=Pa(n),delete o[i];return}const s=t?dI(i):String(i).trim();s!==i&&delete o[i],o[s]=Pa(n),r[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const o=Object.create(null);return ee.forEach(this,(r,n)=>{r!=null&&r!==!1&&(o[n]=t&&ee.isArray(r)?r.join(", "):r)}),o}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,o])=>t+": "+o).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...o){const r=new this(t);return o.forEach(n=>r.set(n)),r}static accessor(t){const r=(this[Th]=this[Th]={accessors:{}}).accessors,n=this.prototype;function i(a){const s=ti(a);r[s]||(uI(n,a),r[s]=!0)}return ee.isArray(t)?t.forEach(i):i(t),this}}Os.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ee.freezeMethods(Os.prototype);ee.freezeMethods(Os);const Do=Os;function bl(e,t){const o=this||Id,r=t||o,n=Do.from(r.headers);let i=r.data;return ee.forEach(e,function(s){i=s.call(o,i,n.normalize(),t?t.status:void 0)}),n.normalize(),i}function Gb(e){return!!(e&&e.__CANCEL__)}function Zi(e,t,o){qe.call(this,e??"canceled",qe.ERR_CANCELED,t,o),this.name="CanceledError"}ee.inherits(Zi,qe,{__CANCEL__:!0});function fI(e,t,o){const r=o.config.validateStatus;!o.status||!r||r(o.status)?e(o):t(new qe("Request failed with status code "+o.status,[qe.ERR_BAD_REQUEST,qe.ERR_BAD_RESPONSE][Math.floor(o.status/100)-4],o.config,o.request,o))}const hI=Po.isStandardBrowserEnv?function(){return{write:function(o,r,n,i,a,s){const l=[];l.push(o+"="+encodeURIComponent(r)),ee.isNumber(n)&&l.push("expires="+new Date(n).toGMTString()),ee.isString(i)&&l.push("path="+i),ee.isString(a)&&l.push("domain="+a),s===!0&&l.push("secure"),document.cookie=l.join("; ")},read:function(o){const r=document.cookie.match(new RegExp("(^|;\\s*)("+o+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(o){this.write(o,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function pI(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function mI(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function Yb(e,t){return e&&!pI(t)?mI(e,t):t}const gI=Po.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");let r;function n(i){let a=i;return t&&(o.setAttribute("href",a),a=o.href),o.setAttribute("href",a),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:o.pathname.charAt(0)==="/"?o.pathname:"/"+o.pathname}}return r=n(window.location.href),function(a){const s=ee.isString(a)?n(a):a;return s.protocol===r.protocol&&s.host===r.host}}():function(){return function(){return!0}}();function vI(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function bI(e,t){e=e||10;const o=new Array(e),r=new Array(e);let n=0,i=0,a;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),d=r[i];a||(a=c),o[n]=l,r[n]=c;let u=i,f=0;for(;u!==n;)f+=o[u++],u=u%e;if(n=(n+1)%e,n===i&&(i=(i+1)%e),c-a{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-o,l=r(s),c=i<=a;o=i;const d={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&c?(a-i)/l:void 0,event:n};d[t?"download":"upload"]=!0,e(d)}}const xI=typeof XMLHttpRequest<"u",yI=xI&&function(e){return new Promise(function(o,r){let n=e.data;const i=Do.from(e.headers).normalize(),a=e.responseType;let s;function l(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener("abort",s)}ee.isFormData(n)&&(Po.isStandardBrowserEnv||Po.isStandardBrowserWebWorkerEnv)&&i.setContentType(!1);let c=new XMLHttpRequest;if(e.auth){const p=e.auth.username||"",h=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(p+":"+h))}const d=Yb(e.baseURL,e.url);c.open(e.method.toUpperCase(),Ub(d,e.params,e.paramsSerializer),!0),c.timeout=e.timeout;function u(){if(!c)return;const p=Do.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders()),v={data:!a||a==="text"||a==="json"?c.responseText:c.response,status:c.status,statusText:c.statusText,headers:p,config:e,request:c};fI(function(g){o(g),l()},function(g){r(g),l()},v),c=null}if("onloadend"in c?c.onloadend=u:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(u)},c.onabort=function(){c&&(r(new qe("Request aborted",qe.ECONNABORTED,e,c)),c=null)},c.onerror=function(){r(new qe("Network Error",qe.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let h=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const v=e.transitional||Kb;e.timeoutErrorMessage&&(h=e.timeoutErrorMessage),r(new qe(h,v.clarifyTimeoutError?qe.ETIMEDOUT:qe.ECONNABORTED,e,c)),c=null},Po.isStandardBrowserEnv){const p=(e.withCredentials||gI(d))&&e.xsrfCookieName&&hI.read(e.xsrfCookieName);p&&i.set(e.xsrfHeaderName,p)}n===void 0&&i.setContentType(null),"setRequestHeader"in c&&ee.forEach(i.toJSON(),function(h,v){c.setRequestHeader(v,h)}),ee.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),a&&a!=="json"&&(c.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&c.addEventListener("progress",Eh(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",Eh(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=p=>{c&&(r(!p||p.type?new Zi(null,e,c):p),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(s),e.signal&&(e.signal.aborted?s():e.signal.addEventListener("abort",s)));const f=vI(d);if(f&&Po.protocols.indexOf(f)===-1){r(new qe("Unsupported protocol "+f+":",qe.ERR_BAD_REQUEST,e));return}c.send(n||null)})},ka={http:UA,xhr:yI};ee.forEach(ka,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const CI={getAdapter:e=>{e=ee.isArray(e)?e:[e];const{length:t}=e;let o,r;for(let n=0;ne instanceof Do?e.toJSON():e;function In(e,t){t=t||{};const o={};function r(c,d,u){return ee.isPlainObject(c)&&ee.isPlainObject(d)?ee.merge.call({caseless:u},c,d):ee.isPlainObject(d)?ee.merge({},d):ee.isArray(d)?d.slice():d}function n(c,d,u){if(ee.isUndefined(d)){if(!ee.isUndefined(c))return r(void 0,c,u)}else return r(c,d,u)}function i(c,d){if(!ee.isUndefined(d))return r(void 0,d)}function a(c,d){if(ee.isUndefined(d)){if(!ee.isUndefined(c))return r(void 0,c)}else return r(void 0,d)}function s(c,d,u){if(u in t)return r(c,d);if(u in e)return r(void 0,c)}const l={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(c,d)=>n(zh(c),zh(d),!0)};return ee.forEach(Object.keys(e).concat(Object.keys(t)),function(d){const u=l[d]||n,f=u(e[d],t[d],d);ee.isUndefined(f)&&u!==s||(o[d]=f)}),o}const Xb="1.3.4",Md={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Md[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Oh={};Md.transitional=function(t,o,r){function n(i,a){return"[Axios v"+Xb+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,s)=>{if(t===!1)throw new qe(n(a," has been removed"+(o?" in "+o:"")),qe.ERR_DEPRECATED);return o&&!Oh[a]&&(Oh[a]=!0,console.warn(n(a," has been deprecated since v"+o+" and will be removed in the near future"))),t?t(i,a,s):!0}};function wI(e,t,o){if(typeof e!="object")throw new qe("options must be an object",qe.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let n=r.length;for(;n-- >0;){const i=r[n],a=t[i];if(a){const s=e[i],l=s===void 0||a(s,i,e);if(l!==!0)throw new qe("option "+i+" must be "+l,qe.ERR_BAD_OPTION_VALUE);continue}if(o!==!0)throw new qe("Unknown option "+i,qe.ERR_BAD_OPTION)}}const pc={assertOptions:wI,validators:Md},or=pc.validators;class Ka{constructor(t){this.defaults=t,this.interceptors={request:new kh,response:new kh}}request(t,o){typeof t=="string"?(o=o||{},o.url=t):o=t||{},o=In(this.defaults,o);const{transitional:r,paramsSerializer:n,headers:i}=o;r!==void 0&&pc.assertOptions(r,{silentJSONParsing:or.transitional(or.boolean),forcedJSONParsing:or.transitional(or.boolean),clarifyTimeoutError:or.transitional(or.boolean)},!1),n!==void 0&&pc.assertOptions(n,{encode:or.function,serialize:or.function},!0),o.method=(o.method||this.defaults.method||"get").toLowerCase();let a;a=i&&ee.merge(i.common,i[o.method]),a&&ee.forEach(["delete","get","head","post","put","patch","common"],h=>{delete i[h]}),o.headers=Do.concat(a,i);const s=[];let l=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(o)===!1||(l=l&&v.synchronous,s.unshift(v.fulfilled,v.rejected))});const c=[];this.interceptors.response.forEach(function(v){c.push(v.fulfilled,v.rejected)});let d,u=0,f;if(!l){const h=[Rh.bind(this),void 0];for(h.unshift.apply(h,s),h.push.apply(h,c),f=h.length,d=Promise.resolve(o);u{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](n);r._listeners=null}),this.promise.then=n=>{let i;const a=new Promise(s=>{r.subscribe(s),i=s}).then(n);return a.cancel=function(){r.unsubscribe(i)},a},t(function(i,a,s){r.reason||(r.reason=new Zi(i,a,s),o(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const o=this._listeners.indexOf(t);o!==-1&&this._listeners.splice(o,1)}static source(){let t;return{token:new Ld(function(n){t=n}),cancel:t}}}const SI=Ld;function _I(e){return function(o){return e.apply(null,o)}}function $I(e){return ee.isObject(e)&&e.isAxiosError===!0}const mc={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(mc).forEach(([e,t])=>{mc[t]=e});const PI=mc;function Zb(e){const t=new Ta(e),o=Ob(Ta.prototype.request,t);return ee.extend(o,Ta.prototype,t,{allOwnKeys:!0}),ee.extend(o,t,null,{allOwnKeys:!0}),o.create=function(n){return Zb(In(e,n))},o}const $t=Zb(Id);$t.Axios=Ta;$t.CanceledError=Zi;$t.CancelToken=SI;$t.isCancel=Gb;$t.VERSION=Xb;$t.toFormData=Rs;$t.AxiosError=qe;$t.Cancel=$t.CanceledError;$t.all=function(t){return Promise.all(t)};$t.spread=_I;$t.isAxiosError=$I;$t.mergeConfig=In;$t.AxiosHeaders=Do;$t.formToJSON=e=>qb(ee.isHTMLForm(e)?new FormData(e):e);$t.HttpStatusCode=PI;$t.default=$t;const kI=$t,Bd=kI.create({baseURL:"",timeout:3e4});Bd.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));Bd.interceptors.response.use(e=>{const{data:t={},code:o=0}=(e==null?void 0:e.data)||{};if(+o==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var o;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((o=t==null?void 0:t.data)==null?void 0:o.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function Re(e){return Bd(e)}const Ah=e=>Re({method:"post",url:"/v1/auth/login",data:e}),TI=e=>Re({method:"post",url:"/v1/auth/register",data:e}),yl=(e="")=>Re({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),EI={class:"auth-wrap"},RI=se({__name:"auth",setup(e){const t=cs(),o=V(!1),r=V(),n=vo({username:"",password:""}),i=V(),a=vo({username:"",password:"",repassword:""}),s={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(d,u)=>!!a.password&&a.password.startsWith(u)&&a.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},l=d=>{var u;d.preventDefault(),d.stopPropagation(),(u=r.value)==null||u.validate(f=>{f||(o.value=!0,Ah({username:n.username,password:n.password}).then(p=>{const h=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",h),yl(h)}).then(p=>{window.$message.success("登录成功"),o.value=!1,t.commit("updateUserinfo",p),t.commit("triggerAuth",!1),n.username="",n.password=""}).catch(p=>{o.value=!1}))})},c=d=>{var u;d.preventDefault(),d.stopPropagation(),(u=i.value)==null||u.validate(f=>{f||(o.value=!0,TI({username:a.username,password:a.password}).then(p=>Ah({username:a.username,password:a.password})).then(p=>{const h=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",h),yl(h)}).then(p=>{window.$message.success("注册成功"),o.value=!1,t.commit("updateUserinfo",p),t.commit("triggerAuth",!1),a.username="",a.password="",a.repassword=""}).catch(p=>{o.value=!1}))})};return yt(()=>{const d=localStorage.getItem("PAOPAO_TOKEN")||"";d?yl(d).then(u=>{t.commit("updateUserinfo",u),t.commit("triggerAuth",!1)}).catch(u=>{t.commit("userLogout")}):t.commit("userLogout")}),(d,u)=>{const f=bv,p=kz,h=OR,v=Ua,b=iA,g=cA,C=pd,w=Jv;return ct(),Rr(w,{show:Qe(t).state.authModalShow,"onUpdate:show":u[5]||(u[5]=y=>Qe(t).state.authModalShow=y),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:Ye(()=>[Le("div",EI,[xe(C,{bordered:!1},{default:Ye(()=>[xe(g,{"default-value":Qe(t).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:Ye(()=>[xe(b,{name:"signin",tab:"登录"},{default:Ye(()=>[xe(h,{ref_key:"loginRef",ref:r,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:Ye(()=>[xe(p,{label:"账户",path:"username"},{default:Ye(()=>[xe(f,{value:n.username,"onUpdate:value":u[0]||(u[0]=y=>n.username=y),placeholder:"请输入用户名",onKeyup:ii(ni(l,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),xe(p,{label:"密码",path:"password"},{default:Ye(()=>[xe(f,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=y=>n.password=y),placeholder:"请输入账户密码",onKeyup:ii(ni(l,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),xe(v,{type:"primary",block:"",secondary:"",strong:"",loading:o.value,onClick:l},{default:Ye(()=>[bo(" 登录 ")]),_:1},8,["loading"])]),_:1}),xe(b,{name:"signup",tab:"注册"},{default:Ye(()=>[xe(h,{ref_key:"registerRef",ref:i,model:a,rules:s},{default:Ye(()=>[xe(p,{label:"用户名",path:"username"},{default:Ye(()=>[xe(f,{value:a.username,"onUpdate:value":u[2]||(u[2]=y=>a.username=y),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),xe(p,{label:"密码",path:"password"},{default:Ye(()=>[xe(f,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:a.password,"onUpdate:value":u[3]||(u[3]=y=>a.password=y),onKeyup:ii(ni(c,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),xe(p,{label:"重复密码",path:"repassword"},{default:Ye(()=>[xe(f,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:a.repassword,"onUpdate:value":u[4]||(u[4]=y=>a.repassword=y),onKeyup:ii(ni(c,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),xe(v,{type:"primary",block:"",secondary:"",strong:"",loading:o.value,onClick:c},{default:Ye(()=>[bo(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])]),_:1})])]),_:1},8,["show"])}}});const Jb=(e,t)=>{const o=e.__vccOpts||e;for(const[r,n]of t)o[r]=n;return o},zI=Jb(RI,[["__scopeId","data-v-76dc0264"]]),wL=e=>Re({method:"get",url:"/v1/posts",params:e}),OI=e=>Re({method:"get",url:"/v1/tags",params:e}),SL=e=>Re({method:"get",url:"/v1/post",params:e}),_L=e=>Re({method:"get",url:"/v1/post/star",params:e}),$L=e=>Re({method:"post",url:"/v1/post/star",data:e}),PL=e=>Re({method:"get",url:"/v1/post/collection",params:e}),kL=e=>Re({method:"post",url:"/v1/post/collection",data:e}),TL=e=>Re({method:"get",url:"/v1/post/comments",params:e}),EL=e=>Re({method:"get",url:"/v1/user/contacts",params:e}),RL=e=>Re({method:"post",url:"/v1/post",data:e}),zL=e=>Re({method:"delete",url:"/v1/post",data:e}),OL=e=>Re({method:"post",url:"/v1/post/lock",data:e}),AL=e=>Re({method:"post",url:"/v1/post/stick",data:e}),IL=e=>Re({method:"post",url:"/v1/post/visibility",data:e}),ML=e=>Re({method:"post",url:"/v1/post/comment",data:e}),LL=e=>Re({method:"delete",url:"/v1/post/comment",data:e}),BL=e=>Re({method:"post",url:"/v1/post/comment/reply",data:e}),HL=e=>Re({method:"delete",url:"/v1/post/comment/reply",data:e}),AI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},II=Le("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),MI=Le("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),LI=[II,MI],BI=se({name:"BookmarksOutline",render:function(t,o){return ct(),It("svg",AI,LI)}}),HI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},DI=Le("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),FI=Le("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),jI=[DI,FI],NI=se({name:"ChatbubblesOutline",render:function(t,o){return ct(),It("svg",HI,jI)}}),WI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},VI=Le("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),UI=Le("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),KI=Le("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),qI=[VI,UI,KI],Ih=se({name:"HomeOutline",render:function(t,o){return ct(),It("svg",WI,qI)}}),GI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},YI=Le("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),XI=Le("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),ZI=[YI,XI],JI=se({name:"LeafOutline",render:function(t,o){return ct(),It("svg",GI,ZI)}}),QI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},eM=Le("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),tM=Le("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),oM=Le("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),rM=[eM,tM,oM],Mh=se({name:"LogOutOutline",render:function(t,o){return ct(),It("svg",QI,rM)}}),nM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},iM=Mp('',6),aM=[iM],sM=se({name:"MegaphoneOutline",render:function(t,o){return ct(),It("svg",nM,aM)}}),lM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},cM=Le("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),dM=Le("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),uM=Le("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),fM=Le("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),hM=[cM,dM,uM,fM],pM=se({name:"PeopleOutline",render:function(t,o){return ct(),It("svg",lM,hM)}}),mM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},gM=Le("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),vM=[gM],bM=se({name:"Search",render:function(t,o){return ct(),It("svg",mM,vM)}}),xM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},yM=Le("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),CM=[yM],wM=se({name:"SettingsOutline",render:function(t,o){return ct(),It("svg",xM,CM)}}),SM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_M=Le("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),$M=Le("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),PM=Le("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),kM=[_M,$M,PM],TM=se({name:"WalletOutline",render:function(t,o){return ct(),It("svg",SM,kM)}}),EM={key:0,class:"rightbar-wrap"},RM={class:"search-wrap"},zM={class:"post-num"},OM={class:"copyright"},AM=["href"],IM=["href"],MM=se({__name:"rightbar",setup(e){const t=V([]),o=V(!1),r=V(""),n=cs(),i=om(),a="2023 paopao.info",s="Roc's Me",l="",c="泡泡(PaoPao)开源社区",d="https://www.paopao.info",u=()=>{o.value=!0,OI({type:"hot",num:12}).then(h=>{t.value=h.topics,o.value=!1}).catch(h=>{o.value=!1})},f=h=>h>=1e3?(h/1e3).toFixed(1)+"k":h,p=()=>{i.push({name:"home",query:{q:r.value}})};return yt(()=>{u()}),(h,v)=>{const b=hn,g=bv,C=yp("router-link"),w=nA,y=pd,k=yR;return Qe(n).state.collapsedRight?Ol("",!0):(ct(),It("div",EM,[Le("div",RM,[xe(g,{round:"",clearable:"",placeholder:"搜一搜...",value:r.value,"onUpdate:value":v[0]||(v[0]=T=>r.value=T),onKeyup:ii(ni(p,["prevent"]),["enter"])},{prefix:Ye(()=>[xe(b,{component:Qe(bM)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),xe(y,{title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:Ye(()=>[xe(w,{show:o.value},{default:Ye(()=>[(ct(!0),It(et,null,nx(t.value,T=>(ct(),It("div",{class:"hot-tag-item",key:T.id},[xe(C,{class:"hash-link",to:{name:"home",query:{q:T.tag,t:"tag"}}},{default:Ye(()=>[bo(" #"+Pr(T.tag),1)]),_:2},1032,["to"]),Le("div",zM,Pr(f(T.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),xe(y,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:Ye(()=>[Le("div",OM,"© "+Pr(Qe(a)),1),Le("div",null,[xe(k,null,{default:Ye(()=>[Le("a",{href:Qe(l),target:"_blank",class:"hash-link"},Pr(Qe(s)),9,AM),Le("a",{href:Qe(d),target:"_blank",class:"hash-link"},Pr(Qe(c)),9,IM)]),_:1})])]),_:1})]))}}});const LM=Jb(MM,[["__scopeId","data-v-a42d31d5"]]),BM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},HM=Mp('',1),DM=[HM],Lh=se({name:"Hash",render:function(t,o){return ct(),It("svg",BM,DM)}}),DL=(e={})=>Re({method:"get",url:"/v1/captcha",params:e}),FL=e=>Re({method:"post",url:"/v1/captcha",data:e}),jL=e=>Re({method:"post",url:"/v1/user/whisper",data:e}),NL=e=>Re({method:"post",url:"/v1/friend/requesting",data:e}),WL=e=>Re({method:"post",url:"/v1/friend/add",data:e}),VL=e=>Re({method:"post",url:"/v1/friend/reject",data:e}),UL=e=>Re({method:"post",url:"/v1/friend/delete",data:e}),KL=e=>Re({method:"post",url:"/v1/user/phone",data:e}),qL=e=>Re({method:"post",url:"/v1/user/activate",data:e}),GL=e=>Re({method:"post",url:"/v1/user/password",data:e}),YL=e=>Re({method:"post",url:"/v1/user/nickname",data:e}),XL=e=>Re({method:"post",url:"/v1/user/avatar",data:e}),Bh=(e={})=>Re({method:"get",url:"/v1/user/msgcount/unread",params:e}),ZL=e=>Re({method:"get",url:"/v1/user/messages",params:e}),JL=e=>Re({method:"post",url:"/v1/user/message/read",data:e}),QL=e=>Re({method:"get",url:"/v1/user/collections",params:e}),eB=e=>Re({method:"get",url:"/v1/user/profile",params:e}),tB=e=>Re({method:"get",url:"/v1/user/posts",params:e}),oB=e=>Re({method:"get",url:"/v1/user/wallet/bills",params:e}),rB=e=>Re({method:"post",url:"/v1/user/recharge",data:e}),nB=e=>Re({method:"get",url:"/v1/user/recharge",params:e}),iB=e=>Re({method:"get",url:"/v1/suggest/users",params:e}),aB=e=>Re({method:"get",url:"/v1/suggest/tags",params:e}),sB=e=>Re({method:"get",url:"/v1/attachment/precheck",params:e}),lB=e=>Re({method:"get",url:"/v1/attachment",params:e}),cB=e=>Re({method:"post",url:"/v1/admin/user/status",data:e}),FM="/assets/logo-52afee68.png",jM={class:"sidebar-wrap"},NM={class:"logo-wrap"},WM={key:0,class:"user-wrap"},VM={class:"user-info"},UM={class:"nickname"},KM={class:"nickname-txt"},qM={class:"username"},GM={class:"user-mini-wrap"},YM={key:1,class:"user-wrap"},XM={class:"login-wrap"},ZM=se({__name:"sidebar",setup(e){const t=cs(),o=zC(),r=om(),n=V(!1),i=V(o.name||""),a=V();Fe(o,()=>{i.value=o.name}),Fe(t.state,()=>{t.state.userInfo.id>0?a.value||(Bh().then(h=>{n.value=h.count>0}).catch(h=>{console.log(h)}),a.value=setInterval(()=>{Bh().then(h=>{n.value=h.count>0}).catch(h=>{console.log(h)})},5e3)):a.value&&clearInterval(a.value)}),yt(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const s=H(()=>{const h=[{label:"广场",key:"home",icon:()=>m(Ih),href:"/"},{label:"话题",key:"topic",icon:()=>m(Lh),href:"/topic"}];return"false".toLowerCase()==="true"&&h.push({label:"公告",key:"anouncement",icon:()=>m(sM),href:"/anouncement"}),h.push({label:"主页",key:"profile",icon:()=>m(JI),href:"/profile"}),h.push({label:"消息",key:"messages",icon:()=>m(NI),href:"/messages"}),h.push({label:"收藏",key:"collection",icon:()=>m(BI),href:"/collection"}),h.push({label:"好友",key:"contacts",icon:()=>m(pM),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&h.push({label:"钱包",key:"wallet",icon:()=>m(TM),href:"/wallet"}),h.push({label:"设置",key:"setting",icon:()=>m(wM),href:"/setting"}),t.state.userInfo.id>0?h:[{label:"广场",key:"home",icon:()=>m(Ih),href:"/"},{label:"话题",key:"topic",icon:()=>m(Lh),href:"/topic"}]}),l=h=>"href"in h?m("div",{},h.label):h.label,c=h=>h.key==="messages"?m(tT,{dot:!0,show:n.value,processing:!0},{default:()=>m(hn,{color:h.key===i.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:h.icon})}):m(hn,null,{default:h.icon}),d=(h,v={})=>{i.value=h,r.push({name:h})},u=()=>{o.path==="/"&&t.commit("refresh"),d("home")},f=h=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",h)},p=()=>{t.commit("userLogout")};return window.$store=t,window.$message=Q8(),(h,v)=>{const b=R8,g=U8,C=jk,w=Ua;return ct(),It("div",jM,[Le("div",NM,[xe(b,{class:"logo-img",width:"36",src:Qe(FM),"preview-disabled":!0,onClick:u},null,8,["src"])]),xe(g,{accordion:!0,collapsed:Qe(t).state.collapsedLeft,"collapsed-width":64,"icon-size":24,options:Qe(s),"render-label":l,"render-icon":c,value:i.value,"onUpdate:value":d},null,8,["collapsed","options","value"]),Qe(t).state.userInfo.id>0?(ct(),It("div",WM,[xe(C,{class:"user-avatar",round:"",size:34,src:Qe(t).state.userInfo.avatar},null,8,["src"]),Le("div",VM,[Le("div",UM,[Le("span",KM,Pr(Qe(t).state.userInfo.nickname),1),xe(w,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:p},{icon:Ye(()=>[xe(Qe(hn),null,{default:Ye(()=>[xe(Qe(Mh))]),_:1})]),_:1})]),Le("div",qM,"@"+Pr(Qe(t).state.userInfo.username),1)]),Le("div",GM,[xe(w,{class:"logout",quaternary:"",circle:"",onClick:p},{icon:Ye(()=>[xe(Qe(hn),{size:24},{default:Ye(()=>[xe(Qe(Mh))]),_:1})]),_:1})])])):(ct(),It("div",YM,[Le("div",XM,[xe(w,{strong:"",secondary:"",round:"",type:"primary",onClick:v[0]||(v[0]=y=>f("signin"))},{default:Ye(()=>[bo(" 登录 ")]),_:1}),xe(w,{strong:"",secondary:"",round:"",type:"info",onClick:v[1]||(v[1]=y=>f("signup"))},{default:Ye(()=>[bo(" 注册 ")]),_:1})])]))])}}});const JM={"has-sider":"",class:"main-wrap",position:"static"},QM={class:"content-wrap"},eL=se({__name:"App",setup(e){const t=cs(),o=H(()=>t.state.theme==="dark"?hA:null);return(r,n)=>{const i=ZM,a=yp("router-view"),s=LM,l=zI,c=nR,d=J8,u=Tz,f=NT;return ct(),Rr(f,{theme:Qe(o)},{default:Ye(()=>[xe(d,null,{default:Ye(()=>[xe(c,null,{default:Ye(()=>{var p;return[Le("div",{class:Ga(["app-container",{dark:((p=Qe(o))==null?void 0:p.name)==="dark"}])},[Le("div",JM,[xe(i),Le("div",QM,[xe(a,{class:"app-wrap"},{default:Ye(({Component:h})=>[(ct(),Rr(Z1,null,[r.$route.meta.keepAlive?(ct(),Rr(Xd(h),{key:0})):Ol("",!0)],1024)),r.$route.meta.keepAlive?Ol("",!0):(ct(),Rr(Xd(h),{key:0}))]),_:1})]),xe(s)]),xe(l)],2)]}),_:1})]),_:1}),xe(u)]),_:1},8,["theme"])}}});my(eL).use(rm).use(XC).mount("#app");export{cs as $,Et as A,ft as B,Br as C,lw as D,cL as E,gv as F,$s as G,uR as H,ql as I,Fg as J,Ua as K,Ho as L,L4 as M,zt as N,uw as O,tp as P,We as Q,En as R,Fe as S,jo as T,tt as U,Jt as V,ct as W,fL as X,It as Y,Le as Z,bv as _,ht as a,Dm as a$,iB as a0,aB as a1,yt as a2,Qe as a3,xe as a4,Ye as a5,Rr as a6,Ol as a7,ni as a8,bo as a9,ML as aA,tL as aB,oL as aC,_L as aD,PL as aE,zL as aF,OL as aG,AL as aH,IL as aI,$L as aJ,kL as aK,uL as aL,TE as aM,Jv as aN,SL as aO,TL as aP,nA as aQ,iA as aR,cA as aS,ov as aT,Wr as aU,Bi as aV,Kg as aW,On as aX,Ni as aY,Mm as aZ,Lm as a_,Pr as aa,et as ab,nx as ac,RL as ad,jk as ae,hn as af,Hv as ag,yR as ah,zC as ai,wL as aj,om as ak,Jb as al,pL as am,Wg as an,lo as ao,gL as ap,Qt as aq,Uc as ar,sv as as,_s as at,Mp as au,BL as av,yp as aw,HL as ax,rL as ay,LL as az,A as b,dw as b$,Ht as b0,dr as b1,OI as b2,Ga as b3,tB as b4,md as b5,bp as b6,pr as b7,us as b8,UE as b9,R8 as bA,CL as bB,sB as bC,lB as bD,xL as bE,EL as bF,kf as bG,Co as bH,xs as bI,Kt as bJ,bL as bK,yl as bL,oB as bM,rB as bN,nB as bO,pd as bP,Fn as bQ,Hm as bR,ix as bS,un as bT,lk as bU,kt as bV,ik as bW,Vu as bX,cw as bY,KT as bZ,ju as b_,ao as ba,jL as bb,NL as bc,Q8 as bd,vo as be,eB as bf,UL as bg,cB as bh,WL as bi,VL as bj,JL as bk,tT as bl,ZL as bm,QL as bn,$i as bo,Gc as bp,mt as bq,JC as br,Uo as bs,An as bt,mm as bu,so as bv,Ro as bw,nL as bx,ii as by,Xd as bz,M as c,GT as c0,Ri as c1,Ul as c2,ki as c3,sL as c4,hL as c5,vp as c6,Nu as c7,mf as c8,Xg as c9,hv as cA,Mi as cB,yL as cC,zp as cD,hk as cE,ye as cF,Ui as cG,vL as cH,Kc as cI,_m as cJ,mL as cK,Eo as cL,qc as cM,Vo as cN,jO as cO,Ha as cP,No as ca,lL as cb,dL as cc,gm as cd,Ss as ce,Qg as cf,Yw as cg,DL as ch,XL as ci,GL as cj,KL as ck,qL as cl,YL as cm,FL as cn,vz as co,Sz as cp,Cz as cq,OR as cr,Oo as cs,Ng as ct,jg as cu,oc as cv,xO as cw,ws as cx,D4 as cy,Cs as cz,se as d,K as e,D as f,mr as g,m as h,Go as i,aT as j,Ne as k,rE as l,ne as m,iL as n,Zm as o,Be as p,ve as q,V as r,zn as s,Ee as t,dt as u,xt as v,Me as w,ze as x,H as y,ae as z}; +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...o){const r=new this(t);return o.forEach(n=>r.set(n)),r}static accessor(t){const r=(this[Th]=this[Th]={accessors:{}}).accessors,n=this.prototype;function i(a){const s=ti(a);r[s]||(uI(n,a),r[s]=!0)}return ee.isArray(t)?t.forEach(i):i(t),this}}Os.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ee.freezeMethods(Os.prototype);ee.freezeMethods(Os);const Do=Os;function bl(e,t){const o=this||Id,r=t||o,n=Do.from(r.headers);let i=r.data;return ee.forEach(e,function(s){i=s.call(o,i,n.normalize(),t?t.status:void 0)}),n.normalize(),i}function Gb(e){return!!(e&&e.__CANCEL__)}function Zi(e,t,o){qe.call(this,e??"canceled",qe.ERR_CANCELED,t,o),this.name="CanceledError"}ee.inherits(Zi,qe,{__CANCEL__:!0});function fI(e,t,o){const r=o.config.validateStatus;!o.status||!r||r(o.status)?e(o):t(new qe("Request failed with status code "+o.status,[qe.ERR_BAD_REQUEST,qe.ERR_BAD_RESPONSE][Math.floor(o.status/100)-4],o.config,o.request,o))}const hI=Po.isStandardBrowserEnv?function(){return{write:function(o,r,n,i,a,s){const l=[];l.push(o+"="+encodeURIComponent(r)),ee.isNumber(n)&&l.push("expires="+new Date(n).toGMTString()),ee.isString(i)&&l.push("path="+i),ee.isString(a)&&l.push("domain="+a),s===!0&&l.push("secure"),document.cookie=l.join("; ")},read:function(o){const r=document.cookie.match(new RegExp("(^|;\\s*)("+o+")=([^;]*)"));return r?decodeURIComponent(r[3]):null},remove:function(o){this.write(o,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function pI(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function mI(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function Yb(e,t){return e&&!pI(t)?mI(e,t):t}const gI=Po.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");let r;function n(i){let a=i;return t&&(o.setAttribute("href",a),a=o.href),o.setAttribute("href",a),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:o.pathname.charAt(0)==="/"?o.pathname:"/"+o.pathname}}return r=n(window.location.href),function(a){const s=ee.isString(a)?n(a):a;return s.protocol===r.protocol&&s.host===r.host}}():function(){return function(){return!0}}();function vI(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function bI(e,t){e=e||10;const o=new Array(e),r=new Array(e);let n=0,i=0,a;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),d=r[i];a||(a=c),o[n]=l,r[n]=c;let u=i,f=0;for(;u!==n;)f+=o[u++],u=u%e;if(n=(n+1)%e,n===i&&(i=(i+1)%e),c-a{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-o,l=r(s),c=i<=a;o=i;const d={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&c?(a-i)/l:void 0,event:n};d[t?"download":"upload"]=!0,e(d)}}const xI=typeof XMLHttpRequest<"u",yI=xI&&function(e){return new Promise(function(o,r){let n=e.data;const i=Do.from(e.headers).normalize(),a=e.responseType;let s;function l(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener("abort",s)}ee.isFormData(n)&&(Po.isStandardBrowserEnv||Po.isStandardBrowserWebWorkerEnv)&&i.setContentType(!1);let c=new XMLHttpRequest;if(e.auth){const p=e.auth.username||"",h=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(p+":"+h))}const d=Yb(e.baseURL,e.url);c.open(e.method.toUpperCase(),Ub(d,e.params,e.paramsSerializer),!0),c.timeout=e.timeout;function u(){if(!c)return;const p=Do.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders()),v={data:!a||a==="text"||a==="json"?c.responseText:c.response,status:c.status,statusText:c.statusText,headers:p,config:e,request:c};fI(function(g){o(g),l()},function(g){r(g),l()},v),c=null}if("onloadend"in c?c.onloadend=u:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(u)},c.onabort=function(){c&&(r(new qe("Request aborted",qe.ECONNABORTED,e,c)),c=null)},c.onerror=function(){r(new qe("Network Error",qe.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let h=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const v=e.transitional||Kb;e.timeoutErrorMessage&&(h=e.timeoutErrorMessage),r(new qe(h,v.clarifyTimeoutError?qe.ETIMEDOUT:qe.ECONNABORTED,e,c)),c=null},Po.isStandardBrowserEnv){const p=(e.withCredentials||gI(d))&&e.xsrfCookieName&&hI.read(e.xsrfCookieName);p&&i.set(e.xsrfHeaderName,p)}n===void 0&&i.setContentType(null),"setRequestHeader"in c&&ee.forEach(i.toJSON(),function(h,v){c.setRequestHeader(v,h)}),ee.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),a&&a!=="json"&&(c.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&c.addEventListener("progress",Eh(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",Eh(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=p=>{c&&(r(!p||p.type?new Zi(null,e,c):p),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(s),e.signal&&(e.signal.aborted?s():e.signal.addEventListener("abort",s)));const f=vI(d);if(f&&Po.protocols.indexOf(f)===-1){r(new qe("Unsupported protocol "+f+":",qe.ERR_BAD_REQUEST,e));return}c.send(n||null)})},ka={http:UA,xhr:yI};ee.forEach(ka,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const CI={getAdapter:e=>{e=ee.isArray(e)?e:[e];const{length:t}=e;let o,r;for(let n=0;ne instanceof Do?e.toJSON():e;function In(e,t){t=t||{};const o={};function r(c,d,u){return ee.isPlainObject(c)&&ee.isPlainObject(d)?ee.merge.call({caseless:u},c,d):ee.isPlainObject(d)?ee.merge({},d):ee.isArray(d)?d.slice():d}function n(c,d,u){if(ee.isUndefined(d)){if(!ee.isUndefined(c))return r(void 0,c,u)}else return r(c,d,u)}function i(c,d){if(!ee.isUndefined(d))return r(void 0,d)}function a(c,d){if(ee.isUndefined(d)){if(!ee.isUndefined(c))return r(void 0,c)}else return r(void 0,d)}function s(c,d,u){if(u in t)return r(c,d);if(u in e)return r(void 0,c)}const l={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(c,d)=>n(zh(c),zh(d),!0)};return ee.forEach(Object.keys(e).concat(Object.keys(t)),function(d){const u=l[d]||n,f=u(e[d],t[d],d);ee.isUndefined(f)&&u!==s||(o[d]=f)}),o}const Xb="1.3.4",Md={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Md[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Oh={};Md.transitional=function(t,o,r){function n(i,a){return"[Axios v"+Xb+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,s)=>{if(t===!1)throw new qe(n(a," has been removed"+(o?" in "+o:"")),qe.ERR_DEPRECATED);return o&&!Oh[a]&&(Oh[a]=!0,console.warn(n(a," has been deprecated since v"+o+" and will be removed in the near future"))),t?t(i,a,s):!0}};function wI(e,t,o){if(typeof e!="object")throw new qe("options must be an object",qe.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let n=r.length;for(;n-- >0;){const i=r[n],a=t[i];if(a){const s=e[i],l=s===void 0||a(s,i,e);if(l!==!0)throw new qe("option "+i+" must be "+l,qe.ERR_BAD_OPTION_VALUE);continue}if(o!==!0)throw new qe("Unknown option "+i,qe.ERR_BAD_OPTION)}}const pc={assertOptions:wI,validators:Md},or=pc.validators;class Ka{constructor(t){this.defaults=t,this.interceptors={request:new kh,response:new kh}}request(t,o){typeof t=="string"?(o=o||{},o.url=t):o=t||{},o=In(this.defaults,o);const{transitional:r,paramsSerializer:n,headers:i}=o;r!==void 0&&pc.assertOptions(r,{silentJSONParsing:or.transitional(or.boolean),forcedJSONParsing:or.transitional(or.boolean),clarifyTimeoutError:or.transitional(or.boolean)},!1),n!==void 0&&pc.assertOptions(n,{encode:or.function,serialize:or.function},!0),o.method=(o.method||this.defaults.method||"get").toLowerCase();let a;a=i&&ee.merge(i.common,i[o.method]),a&&ee.forEach(["delete","get","head","post","put","patch","common"],h=>{delete i[h]}),o.headers=Do.concat(a,i);const s=[];let l=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(o)===!1||(l=l&&v.synchronous,s.unshift(v.fulfilled,v.rejected))});const c=[];this.interceptors.response.forEach(function(v){c.push(v.fulfilled,v.rejected)});let d,u=0,f;if(!l){const h=[Rh.bind(this),void 0];for(h.unshift.apply(h,s),h.push.apply(h,c),f=h.length,d=Promise.resolve(o);u{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](n);r._listeners=null}),this.promise.then=n=>{let i;const a=new Promise(s=>{r.subscribe(s),i=s}).then(n);return a.cancel=function(){r.unsubscribe(i)},a},t(function(i,a,s){r.reason||(r.reason=new Zi(i,a,s),o(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const o=this._listeners.indexOf(t);o!==-1&&this._listeners.splice(o,1)}static source(){let t;return{token:new Ld(function(n){t=n}),cancel:t}}}const SI=Ld;function _I(e){return function(o){return e.apply(null,o)}}function $I(e){return ee.isObject(e)&&e.isAxiosError===!0}const mc={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(mc).forEach(([e,t])=>{mc[t]=e});const PI=mc;function Zb(e){const t=new Ta(e),o=Ob(Ta.prototype.request,t);return ee.extend(o,Ta.prototype,t,{allOwnKeys:!0}),ee.extend(o,t,null,{allOwnKeys:!0}),o.create=function(n){return Zb(In(e,n))},o}const $t=Zb(Id);$t.Axios=Ta;$t.CanceledError=Zi;$t.CancelToken=SI;$t.isCancel=Gb;$t.VERSION=Xb;$t.toFormData=Rs;$t.AxiosError=qe;$t.Cancel=$t.CanceledError;$t.all=function(t){return Promise.all(t)};$t.spread=_I;$t.isAxiosError=$I;$t.mergeConfig=In;$t.AxiosHeaders=Do;$t.formToJSON=e=>qb(ee.isHTMLForm(e)?new FormData(e):e);$t.HttpStatusCode=PI;$t.default=$t;const kI=$t,Bd=kI.create({baseURL:"",timeout:3e4});Bd.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));Bd.interceptors.response.use(e=>{const{data:t={},code:o=0}=(e==null?void 0:e.data)||{};if(+o==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var o;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((o=t==null?void 0:t.data)==null?void 0:o.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function Re(e){return Bd(e)}const Ah=e=>Re({method:"post",url:"/v1/auth/login",data:e}),TI=e=>Re({method:"post",url:"/v1/auth/register",data:e}),yl=(e="")=>Re({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),EI={class:"auth-wrap"},RI=se({__name:"auth",setup(e){const t=cs(),o=V(!1),r=V(),n=vo({username:"",password:""}),i=V(),a=vo({username:"",password:"",repassword:""}),s={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(d,u)=>!!a.password&&a.password.startsWith(u)&&a.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},l=d=>{var u;d.preventDefault(),d.stopPropagation(),(u=r.value)==null||u.validate(f=>{f||(o.value=!0,Ah({username:n.username,password:n.password}).then(p=>{const h=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",h),yl(h)}).then(p=>{window.$message.success("登录成功"),o.value=!1,t.commit("updateUserinfo",p),t.commit("triggerAuth",!1),n.username="",n.password=""}).catch(p=>{o.value=!1}))})},c=d=>{var u;d.preventDefault(),d.stopPropagation(),(u=i.value)==null||u.validate(f=>{f||(o.value=!0,TI({username:a.username,password:a.password}).then(p=>Ah({username:a.username,password:a.password})).then(p=>{const h=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",h),yl(h)}).then(p=>{window.$message.success("注册成功"),o.value=!1,t.commit("updateUserinfo",p),t.commit("triggerAuth",!1),a.username="",a.password="",a.repassword=""}).catch(p=>{o.value=!1}))})};return yt(()=>{const d=localStorage.getItem("PAOPAO_TOKEN")||"";d?yl(d).then(u=>{t.commit("updateUserinfo",u),t.commit("triggerAuth",!1)}).catch(u=>{t.commit("userLogout")}):t.commit("userLogout")}),(d,u)=>{const f=bv,p=kz,h=OR,v=Ua,b=iA,g=cA,C=pd,w=Jv;return ct(),Rr(w,{show:Qe(t).state.authModalShow,"onUpdate:show":u[5]||(u[5]=y=>Qe(t).state.authModalShow=y),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:Ye(()=>[Le("div",EI,[xe(C,{bordered:!1},{default:Ye(()=>[xe(g,{"default-value":Qe(t).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:Ye(()=>[xe(b,{name:"signin",tab:"登录"},{default:Ye(()=>[xe(h,{ref_key:"loginRef",ref:r,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:Ye(()=>[xe(p,{label:"账户",path:"username"},{default:Ye(()=>[xe(f,{value:n.username,"onUpdate:value":u[0]||(u[0]=y=>n.username=y),placeholder:"请输入用户名",onKeyup:ii(ni(l,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),xe(p,{label:"密码",path:"password"},{default:Ye(()=>[xe(f,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=y=>n.password=y),placeholder:"请输入账户密码",onKeyup:ii(ni(l,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),xe(v,{type:"primary",block:"",secondary:"",strong:"",loading:o.value,onClick:l},{default:Ye(()=>[bo(" 登录 ")]),_:1},8,["loading"])]),_:1}),xe(b,{name:"signup",tab:"注册"},{default:Ye(()=>[xe(h,{ref_key:"registerRef",ref:i,model:a,rules:s},{default:Ye(()=>[xe(p,{label:"用户名",path:"username"},{default:Ye(()=>[xe(f,{value:a.username,"onUpdate:value":u[2]||(u[2]=y=>a.username=y),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),xe(p,{label:"密码",path:"password"},{default:Ye(()=>[xe(f,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:a.password,"onUpdate:value":u[3]||(u[3]=y=>a.password=y),onKeyup:ii(ni(c,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),xe(p,{label:"重复密码",path:"repassword"},{default:Ye(()=>[xe(f,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:a.repassword,"onUpdate:value":u[4]||(u[4]=y=>a.repassword=y),onKeyup:ii(ni(c,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),xe(v,{type:"primary",block:"",secondary:"",strong:"",loading:o.value,onClick:c},{default:Ye(()=>[bo(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])]),_:1})])]),_:1},8,["show"])}}});const Jb=(e,t)=>{const o=e.__vccOpts||e;for(const[r,n]of t)o[r]=n;return o},zI=Jb(RI,[["__scopeId","data-v-ead596c6"]]),wL=e=>Re({method:"get",url:"/v1/posts",params:e}),OI=e=>Re({method:"get",url:"/v1/tags",params:e}),SL=e=>Re({method:"get",url:"/v1/post",params:e}),_L=e=>Re({method:"get",url:"/v1/post/star",params:e}),$L=e=>Re({method:"post",url:"/v1/post/star",data:e}),PL=e=>Re({method:"get",url:"/v1/post/collection",params:e}),kL=e=>Re({method:"post",url:"/v1/post/collection",data:e}),TL=e=>Re({method:"get",url:"/v1/post/comments",params:e}),EL=e=>Re({method:"get",url:"/v1/user/contacts",params:e}),RL=e=>Re({method:"post",url:"/v1/post",data:e}),zL=e=>Re({method:"delete",url:"/v1/post",data:e}),OL=e=>Re({method:"post",url:"/v1/post/lock",data:e}),AL=e=>Re({method:"post",url:"/v1/post/stick",data:e}),IL=e=>Re({method:"post",url:"/v1/post/visibility",data:e}),ML=e=>Re({method:"post",url:"/v1/post/comment",data:e}),LL=e=>Re({method:"delete",url:"/v1/post/comment",data:e}),BL=e=>Re({method:"post",url:"/v1/post/comment/reply",data:e}),HL=e=>Re({method:"delete",url:"/v1/post/comment/reply",data:e}),AI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},II=Le("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),MI=Le("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),LI=[II,MI],BI=se({name:"BookmarksOutline",render:function(t,o){return ct(),It("svg",AI,LI)}}),HI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},DI=Le("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),FI=Le("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),jI=[DI,FI],NI=se({name:"ChatbubblesOutline",render:function(t,o){return ct(),It("svg",HI,jI)}}),WI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},VI=Le("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),UI=Le("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),KI=Le("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),qI=[VI,UI,KI],Ih=se({name:"HomeOutline",render:function(t,o){return ct(),It("svg",WI,qI)}}),GI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},YI=Le("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),XI=Le("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),ZI=[YI,XI],JI=se({name:"LeafOutline",render:function(t,o){return ct(),It("svg",GI,ZI)}}),QI={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},eM=Le("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),tM=Le("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),oM=Le("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),rM=[eM,tM,oM],Mh=se({name:"LogOutOutline",render:function(t,o){return ct(),It("svg",QI,rM)}}),nM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},iM=Mp('',6),aM=[iM],sM=se({name:"MegaphoneOutline",render:function(t,o){return ct(),It("svg",nM,aM)}}),lM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},cM=Le("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),dM=Le("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),uM=Le("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),fM=Le("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),hM=[cM,dM,uM,fM],pM=se({name:"PeopleOutline",render:function(t,o){return ct(),It("svg",lM,hM)}}),mM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},gM=Le("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),vM=[gM],bM=se({name:"Search",render:function(t,o){return ct(),It("svg",mM,vM)}}),xM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},yM=Le("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),CM=[yM],wM=se({name:"SettingsOutline",render:function(t,o){return ct(),It("svg",xM,CM)}}),SM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},_M=Le("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),$M=Le("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),PM=Le("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),kM=[_M,$M,PM],TM=se({name:"WalletOutline",render:function(t,o){return ct(),It("svg",SM,kM)}}),EM={key:0,class:"rightbar-wrap"},RM={class:"search-wrap"},zM={class:"post-num"},OM={class:"copyright"},AM=["href"],IM=["href"],MM=se({__name:"rightbar",setup(e){const t=V([]),o=V(!1),r=V(""),n=cs(),i=om(),a="2023 paopao.info",s="Roc's Me",l="",c="泡泡(PaoPao)开源社区",d="https://www.paopao.info",u=()=>{o.value=!0,OI({type:"hot",num:12}).then(h=>{t.value=h.topics,o.value=!1}).catch(h=>{o.value=!1})},f=h=>h>=1e3?(h/1e3).toFixed(1)+"k":h,p=()=>{i.push({name:"home",query:{q:r.value}})};return yt(()=>{u()}),(h,v)=>{const b=hn,g=bv,C=yp("router-link"),w=nA,y=pd,k=yR;return Qe(n).state.collapsedRight?Ol("",!0):(ct(),It("div",EM,[Le("div",RM,[xe(g,{round:"",clearable:"",placeholder:"搜一搜...",value:r.value,"onUpdate:value":v[0]||(v[0]=T=>r.value=T),onKeyup:ii(ni(p,["prevent"]),["enter"])},{prefix:Ye(()=>[xe(b,{component:Qe(bM)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),xe(y,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:Ye(()=>[xe(w,{show:o.value},{default:Ye(()=>[(ct(!0),It(et,null,nx(t.value,T=>(ct(),It("div",{class:"hot-tag-item",key:T.id},[xe(C,{class:"hash-link",to:{name:"home",query:{q:T.tag,t:"tag"}}},{default:Ye(()=>[bo(" #"+Pr(T.tag),1)]),_:2},1032,["to"]),Le("div",zM,Pr(f(T.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),xe(y,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:Ye(()=>[Le("div",OM,"© "+Pr(Qe(a)),1),Le("div",null,[xe(k,null,{default:Ye(()=>[Le("a",{href:Qe(l),target:"_blank",class:"hash-link"},Pr(Qe(s)),9,AM),Le("a",{href:Qe(d),target:"_blank",class:"hash-link"},Pr(Qe(c)),9,IM)]),_:1})])]),_:1})]))}}});const LM=Jb(MM,[["__scopeId","data-v-9c65d923"]]),BM={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},HM=Mp('',1),DM=[HM],Lh=se({name:"Hash",render:function(t,o){return ct(),It("svg",BM,DM)}}),DL=(e={})=>Re({method:"get",url:"/v1/captcha",params:e}),FL=e=>Re({method:"post",url:"/v1/captcha",data:e}),jL=e=>Re({method:"post",url:"/v1/user/whisper",data:e}),NL=e=>Re({method:"post",url:"/v1/friend/requesting",data:e}),WL=e=>Re({method:"post",url:"/v1/friend/add",data:e}),VL=e=>Re({method:"post",url:"/v1/friend/reject",data:e}),UL=e=>Re({method:"post",url:"/v1/friend/delete",data:e}),KL=e=>Re({method:"post",url:"/v1/user/phone",data:e}),qL=e=>Re({method:"post",url:"/v1/user/activate",data:e}),GL=e=>Re({method:"post",url:"/v1/user/password",data:e}),YL=e=>Re({method:"post",url:"/v1/user/nickname",data:e}),XL=e=>Re({method:"post",url:"/v1/user/avatar",data:e}),Bh=(e={})=>Re({method:"get",url:"/v1/user/msgcount/unread",params:e}),ZL=e=>Re({method:"get",url:"/v1/user/messages",params:e}),JL=e=>Re({method:"post",url:"/v1/user/message/read",data:e}),QL=e=>Re({method:"get",url:"/v1/user/collections",params:e}),eB=e=>Re({method:"get",url:"/v1/user/profile",params:e}),tB=e=>Re({method:"get",url:"/v1/user/posts",params:e}),oB=e=>Re({method:"get",url:"/v1/user/wallet/bills",params:e}),rB=e=>Re({method:"post",url:"/v1/user/recharge",data:e}),nB=e=>Re({method:"get",url:"/v1/user/recharge",params:e}),iB=e=>Re({method:"get",url:"/v1/suggest/users",params:e}),aB=e=>Re({method:"get",url:"/v1/suggest/tags",params:e}),sB=e=>Re({method:"get",url:"/v1/attachment/precheck",params:e}),lB=e=>Re({method:"get",url:"/v1/attachment",params:e}),cB=e=>Re({method:"post",url:"/v1/admin/user/status",data:e}),FM="/assets/logo-52afee68.png",jM={class:"sidebar-wrap"},NM={class:"logo-wrap"},WM={key:0,class:"user-wrap"},VM={class:"user-info"},UM={class:"nickname"},KM={class:"nickname-txt"},qM={class:"username"},GM={class:"user-mini-wrap"},YM={key:1,class:"user-wrap"},XM={class:"login-wrap"},ZM=se({__name:"sidebar",setup(e){const t=cs(),o=zC(),r=om(),n=V(!1),i=V(o.name||""),a=V();Fe(o,()=>{i.value=o.name}),Fe(t.state,()=>{t.state.userInfo.id>0?a.value||(Bh().then(h=>{n.value=h.count>0}).catch(h=>{console.log(h)}),a.value=setInterval(()=>{Bh().then(h=>{n.value=h.count>0}).catch(h=>{console.log(h)})},5e3)):a.value&&clearInterval(a.value)}),yt(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const s=H(()=>{const h=[{label:"广场",key:"home",icon:()=>m(Ih),href:"/"},{label:"话题",key:"topic",icon:()=>m(Lh),href:"/topic"}];return"false".toLowerCase()==="true"&&h.push({label:"公告",key:"anouncement",icon:()=>m(sM),href:"/anouncement"}),h.push({label:"主页",key:"profile",icon:()=>m(JI),href:"/profile"}),h.push({label:"消息",key:"messages",icon:()=>m(NI),href:"/messages"}),h.push({label:"收藏",key:"collection",icon:()=>m(BI),href:"/collection"}),h.push({label:"好友",key:"contacts",icon:()=>m(pM),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&h.push({label:"钱包",key:"wallet",icon:()=>m(TM),href:"/wallet"}),h.push({label:"设置",key:"setting",icon:()=>m(wM),href:"/setting"}),t.state.userInfo.id>0?h:[{label:"广场",key:"home",icon:()=>m(Ih),href:"/"},{label:"话题",key:"topic",icon:()=>m(Lh),href:"/topic"}]}),l=h=>"href"in h?m("div",{},h.label):h.label,c=h=>h.key==="messages"?m(tT,{dot:!0,show:n.value,processing:!0},{default:()=>m(hn,{color:h.key===i.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:h.icon})}):m(hn,null,{default:h.icon}),d=(h,v={})=>{i.value=h,r.push({name:h})},u=()=>{o.path==="/"&&t.commit("refresh"),d("home")},f=h=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",h)},p=()=>{t.commit("userLogout")};return window.$store=t,window.$message=Q8(),(h,v)=>{const b=R8,g=U8,C=jk,w=Ua;return ct(),It("div",jM,[Le("div",NM,[xe(b,{class:"logo-img",width:"36",src:Qe(FM),"preview-disabled":!0,onClick:u},null,8,["src"])]),xe(g,{accordion:!0,collapsed:Qe(t).state.collapsedLeft,"collapsed-width":64,"icon-size":24,options:Qe(s),"render-label":l,"render-icon":c,value:i.value,"onUpdate:value":d},null,8,["collapsed","options","value"]),Qe(t).state.userInfo.id>0?(ct(),It("div",WM,[xe(C,{class:"user-avatar",round:"",size:34,src:Qe(t).state.userInfo.avatar},null,8,["src"]),Le("div",VM,[Le("div",UM,[Le("span",KM,Pr(Qe(t).state.userInfo.nickname),1),xe(w,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:p},{icon:Ye(()=>[xe(Qe(hn),null,{default:Ye(()=>[xe(Qe(Mh))]),_:1})]),_:1})]),Le("div",qM,"@"+Pr(Qe(t).state.userInfo.username),1)]),Le("div",GM,[xe(w,{class:"logout",quaternary:"",circle:"",onClick:p},{icon:Ye(()=>[xe(Qe(hn),{size:24},{default:Ye(()=>[xe(Qe(Mh))]),_:1})]),_:1})])])):(ct(),It("div",YM,[Le("div",XM,[xe(w,{strong:"",secondary:"",round:"",type:"primary",onClick:v[0]||(v[0]=y=>f("signin"))},{default:Ye(()=>[bo(" 登录 ")]),_:1}),xe(w,{strong:"",secondary:"",round:"",type:"info",onClick:v[1]||(v[1]=y=>f("signup"))},{default:Ye(()=>[bo(" 注册 ")]),_:1})])]))])}}});const JM={"has-sider":"",class:"main-wrap",position:"static"},QM={class:"content-wrap"},eL=se({__name:"App",setup(e){const t=cs(),o=H(()=>t.state.theme==="dark"?hA:null);return(r,n)=>{const i=ZM,a=yp("router-view"),s=LM,l=zI,c=nR,d=J8,u=Tz,f=NT;return ct(),Rr(f,{theme:Qe(o)},{default:Ye(()=>[xe(d,null,{default:Ye(()=>[xe(c,null,{default:Ye(()=>{var p;return[Le("div",{class:Ga(["app-container",{dark:((p=Qe(o))==null?void 0:p.name)==="dark"}])},[Le("div",JM,[xe(i),Le("div",QM,[xe(a,{class:"app-wrap"},{default:Ye(({Component:h})=>[(ct(),Rr(Z1,null,[r.$route.meta.keepAlive?(ct(),Rr(Xd(h),{key:0})):Ol("",!0)],1024)),r.$route.meta.keepAlive?Ol("",!0):(ct(),Rr(Xd(h),{key:0}))]),_:1})]),xe(s)]),xe(l)],2)]}),_:1})]),_:1}),xe(u)]),_:1},8,["theme"])}}});my(eL).use(rm).use(XC).mount("#app");export{cs as $,Et as A,ft as B,Br as C,lw as D,cL as E,gv as F,$s as G,uR as H,ql as I,Fg as J,Ua as K,Ho as L,L4 as M,zt as N,uw as O,tp as P,We as Q,En as R,Fe as S,jo as T,tt as U,Jt as V,ct as W,fL as X,It as Y,Le as Z,bv as _,ht as a,Dm as a$,iB as a0,aB as a1,yt as a2,Qe as a3,xe as a4,Ye as a5,Rr as a6,Ol as a7,ni as a8,bo as a9,ML as aA,tL as aB,oL as aC,_L as aD,PL as aE,zL as aF,OL as aG,AL as aH,IL as aI,$L as aJ,kL as aK,uL as aL,TE as aM,Jv as aN,SL as aO,TL as aP,nA as aQ,iA as aR,cA as aS,ov as aT,Wr as aU,Bi as aV,Kg as aW,On as aX,Ni as aY,Mm as aZ,Lm as a_,Pr as aa,et as ab,nx as ac,RL as ad,jk as ae,hn as af,Hv as ag,yR as ah,zC as ai,wL as aj,om as ak,Jb as al,pL as am,Wg as an,lo as ao,gL as ap,Qt as aq,Uc as ar,sv as as,_s as at,Mp as au,BL as av,yp as aw,HL as ax,rL as ay,LL as az,A as b,dw as b$,Ht as b0,dr as b1,OI as b2,Ga as b3,tB as b4,md as b5,bp as b6,pr as b7,us as b8,UE as b9,R8 as bA,CL as bB,sB as bC,lB as bD,xL as bE,EL as bF,kf as bG,Co as bH,xs as bI,Kt as bJ,bL as bK,yl as bL,oB as bM,rB as bN,nB as bO,pd as bP,Fn as bQ,Hm as bR,ix as bS,un as bT,lk as bU,kt as bV,cw as bW,ik as bX,Vu as bY,KT as bZ,ju as b_,ao as ba,jL as bb,NL as bc,Q8 as bd,vo as be,eB as bf,UL as bg,cB as bh,WL as bi,VL as bj,JL as bk,tT as bl,ZL as bm,QL as bn,$i as bo,Gc as bp,mt as bq,JC as br,Uo as bs,An as bt,mm as bu,so as bv,Ro as bw,nL as bx,ii as by,Xd as bz,M as c,Ri as c0,Ul as c1,GT as c2,ki as c3,sL as c4,hL as c5,vp as c6,Nu as c7,mf as c8,Xg as c9,hv as cA,Mi as cB,yL as cC,zp as cD,hk as cE,ye as cF,Ui as cG,vL as cH,Kc as cI,_m as cJ,mL as cK,Eo as cL,qc as cM,Vo as cN,jO as cO,Ha as cP,No as ca,lL as cb,Ss as cc,Qg as cd,dL as ce,gm as cf,Yw as cg,DL as ch,XL as ci,GL as cj,KL as ck,qL as cl,YL as cm,FL as cn,vz as co,Sz as cp,Cz as cq,OR as cr,Oo as cs,Ng as ct,jg as cu,oc as cv,xO as cw,ws as cx,D4 as cy,Cs as cz,se as d,K as e,D as f,mr as g,m as h,aT as i,Go as j,Ne as k,rE as l,ne as m,iL as n,Zm as o,Be as p,ve as q,V as r,zn as s,Ee as t,dt as u,xt as v,Me as w,ze as x,H as y,ae as z}; diff --git a/web/dist/assets/index-e95a8d3c.css b/web/dist/assets/index-e95a8d3c.css deleted file mode 100644 index 071e8eb1..00000000 --- a/web/dist/assets/index-e95a8d3c.css +++ /dev/null @@ -1 +0,0 @@ -.auth-wrap[data-v-76dc0264]{margin-top:-30px}.rightbar-wrap[data-v-a42d31d5]{width:240px;position:fixed;left:calc(50% + var(--content-main) / 2 + 10px)}.rightbar-wrap .search-wrap[data-v-a42d31d5]{margin:12px 0}.rightbar-wrap .hot-tag-item[data-v-a42d31d5]{line-height:2;position:relative}.rightbar-wrap .hot-tag-item .hash-link[data-v-a42d31d5]{width:calc(100% - 60px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.rightbar-wrap .hot-tag-item .post-num[data-v-a42d31d5]{position:absolute;right:0;top:0;width:60px;text-align:right;line-height:2;opacity:.5}.rightbar-wrap .copyright-wrap[data-v-a42d31d5]{margin-top:10px}.rightbar-wrap .copyright-wrap .copyright[data-v-a42d31d5]{font-size:12px;opacity:.75}.rightbar-wrap .copyright-wrap .hash-link[data-v-a42d31d5]{font-size:12px}.sidebar-wrap{z-index:99;width:200px;height:100vh;position:fixed;right:calc(50% + var(--content-main) / 2 + 10px);padding:12px 0;box-sizing:border-box}.sidebar-wrap .n-menu .n-menu-item-content:before{border-radius:21px}.logo-wrap{display:flex;justify-content:flex-start;margin-bottom:12px}.logo-wrap .logo-img{margin-left:24px}.logo-wrap .logo-img:hover{cursor:pointer}.user-wrap{display:flex;align-items:center;position:absolute;bottom:12px;left:12px;right:12px}.user-wrap .user-mini-wrap{display:none}.user-wrap .user-avatar{margin-right:8px}.user-wrap .user-info{display:flex;flex-direction:column}.user-wrap .user-info .nickname{font-size:16px;font-weight:700;line-height:16px;height:16px;margin-bottom:2px;display:flex;align-items:center}.user-wrap .user-info .nickname .nickname-txt{max-width:90px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.user-wrap .user-info .nickname .logout{margin-left:6px}.user-wrap .user-info .username{font-size:14px;line-height:16px;height:16px;width:120px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;opacity:.75}.user-wrap .login-wrap{display:flex;justify-content:center;width:100%}.user-wrap .login-wrap button{margin:0 4px}.auth-card .n-card-header{z-index:999}@media screen and (max-width: 821px){.sidebar-wrap{width:65px;right:calc(100% - 60px)}.logo-wrap .logo-img{margin-left:12px!important}.user-wrap .user-avatar,.user-wrap .user-info,.user-wrap .login-wrap{display:none}.user-wrap .user-mini-wrap{display:block!important}}:root{--content-main: 500px}.app-container{margin:0}.app-container .app-wrap{width:100%;margin:0 auto}.main-wrap{min-height:100vh;display:flex;flex-direction:row;justify-content:center}.main-wrap .content-wrap{width:100%;max-width:var(--content-main);position:relative}.main-wrap .main-content-wrap{margin:0;border-top:none;border-radius:0}.main-wrap .main-content-wrap .n-list-item{padding:0}.empty-wrap{min-height:300px;display:flex;align-items:center;justify-content:center}.hash-link,.user-link{color:#18a058;text-decoration:none;cursor:pointer}.hash-link:hover,.user-link:hover{opacity:.8}.beian-link{color:#333;text-decoration:none}.beian-link:hover{opacity:.75}.username-link{color:#000;color:none;text-decoration:none;cursor:pointer}.username-link:hover{text-decoration:underline}.dark .hash-link,.dark .user-link{color:#63e2b7}.dark .username-link{color:#eee}.dark .beian-link{color:#ddd}@media screen and (max-width: 821px){.content-wrap{top:0;left:60px;position:absolute!important;width:calc(100% - 60px)!important}}@font-face{font-family:v-sans;font-weight:400;src:url(/assets/LatoLatin-Regular-ddd4ef7f.woff2)}@font-face{font-family:v-sans;font-weight:600;src:url(/assets/LatoLatin-Semibold-267eef30.woff2)}@font-face{font-family:v-mono;font-weight:400;src:url(/assets/FiraCode-Regular-f13d1ece.woff2)} diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js similarity index 99% rename from web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js rename to web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js index 71818304..94f94176 100644 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-750a5968.js @@ -1,4 +1,4 @@ -import{cL as ne,cM as Be,cN as Se,bq as $e,r as D,k as ze,cO as Me,m as Re,c as ae,f as t,cB as oe,b as X,e as h,a as ie,d as L,u as Ve,x as le,o as Le,t as Fe,s as Te,y as E,z as x,br as Z,c7 as f,A as Oe,cP as G,h as r,B as y,cz as Ee,ce as Pe,w as J,W as z,Y as ee,Z as W,a2 as Ae,a6 as Q,a5 as R,a4 as P,a3 as A,a7 as re,a9 as Ne,aa as De,$ as He,ak as Ie,af as We,K as Ke,bP as Ue}from"./index-c17d3913.js";let N=0;const je=typeof window<"u"&&window.matchMedia!==void 0,B=D(null);let c,C;function H(e){e.matches&&(B.value="dark")}function I(e){e.matches&&(B.value="light")}function qe(){c=window.matchMedia("(prefers-color-scheme: dark)"),C=window.matchMedia("(prefers-color-scheme: light)"),c.matches?B.value="dark":C.matches?B.value="light":B.value=null,c.addEventListener?(c.addEventListener("change",H),C.addEventListener("change",I)):c.addListener&&(c.addListener(H),C.addListener(I))}function Ye(){"removeEventListener"in c?(c.removeEventListener("change",H),C.removeEventListener("change",I)):"removeListener"in c&&(c.removeListener(H),C.removeListener(I)),c=void 0,C=void 0}let se=!0;function Xe(){return je?(N===0&&qe(),se&&(se=Be())&&(Se(()=>{N+=1}),$e(()=>{N-=1,N===0&&Ye()})),ne(B)):ne(B)}const Ze=e=>{const{primaryColor:o,opacityDisabled:i,borderRadius:s,textColor3:l}=e,b="rgba(0, 0, 0, .14)";return Object.assign(Object.assign({},Me),{iconColor:l,textColor:"white",loadingColor:o,opacityDisabled:i,railColor:b,railColorActive:o,buttonBoxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",buttonColor:"#FFF",railBorderRadiusSmall:s,railBorderRadiusMedium:s,railBorderRadiusLarge:s,buttonBorderRadiusSmall:s,buttonBorderRadiusMedium:s,buttonBorderRadiusLarge:s,boxShadowFocus:`0 0 0 2px ${Re(o,{alpha:.2})}`})},Ge={name:"Switch",common:ze,self:Ze},Je=Ge,Qe=ae("switch",` +import{cL as ne,cM as Be,cN as Se,bq as $e,r as D,k as ze,cO as Me,m as Re,c as ae,f as t,cB as oe,b as X,e as h,a as ie,d as L,u as Ve,x as le,o as Le,t as Fe,s as Te,y as E,z as x,br as Z,c7 as f,A as Oe,cP as G,h as r,B as y,cz as Ee,cc as Pe,w as J,W as z,Y as ee,Z as W,a2 as Ae,a6 as Q,a5 as R,a4 as P,a3 as A,a7 as re,a9 as Ne,aa as De,$ as He,ak as Ie,af as We,K as Ke,bP as Ue}from"./index-dfd5495a.js";let N=0;const je=typeof window<"u"&&window.matchMedia!==void 0,B=D(null);let c,C;function H(e){e.matches&&(B.value="dark")}function I(e){e.matches&&(B.value="light")}function qe(){c=window.matchMedia("(prefers-color-scheme: dark)"),C=window.matchMedia("(prefers-color-scheme: light)"),c.matches?B.value="dark":C.matches?B.value="light":B.value=null,c.addEventListener?(c.addEventListener("change",H),C.addEventListener("change",I)):c.addListener&&(c.addListener(H),C.addListener(I))}function Ye(){"removeEventListener"in c?(c.removeEventListener("change",H),C.removeEventListener("change",I)):"removeListener"in c&&(c.removeListener(H),C.removeListener(I)),c=void 0,C=void 0}let se=!0;function Xe(){return je?(N===0&&qe(),se&&(se=Be())&&(Se(()=>{N+=1}),$e(()=>{N-=1,N===0&&Ye()})),ne(B)):ne(B)}const Ze=e=>{const{primaryColor:o,opacityDisabled:i,borderRadius:s,textColor3:l}=e,b="rgba(0, 0, 0, .14)";return Object.assign(Object.assign({},Me),{iconColor:l,textColor:"white",loadingColor:o,opacityDisabled:i,railColor:b,railColorActive:o,buttonBoxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",buttonColor:"#FFF",railBorderRadiusSmall:s,railBorderRadiusMedium:s,railBorderRadiusLarge:s,buttonBorderRadiusSmall:s,buttonBorderRadiusMedium:s,buttonBorderRadiusLarge:s,boxShadowFocus:`0 0 0 2px ${Re(o,{alpha:.2})}`})},Ge={name:"Switch",common:ze,self:Ze},Je=Ge,Qe=ae("switch",` height: var(--n-height); min-width: var(--n-width); vertical-align: middle; diff --git a/web/dist/assets/post-item-dc5866aa.css b/web/dist/assets/post-item-3a63e077.css similarity index 81% rename from web/dist/assets/post-item-dc5866aa.css rename to web/dist/assets/post-item-3a63e077.css index 227cd0fe..24e93eba 100644 --- a/web/dist/assets/post-item-dc5866aa.css +++ b/web/dist/assets/post-item-3a63e077.css @@ -1 +1 @@ -.post-item{width:100%;padding:16px;box-sizing:border-box}.post-item .nickname-wrap{font-size:14px}.post-item .username-wrap{font-size:14px;opacity:.75}.post-item .top-tag{transform:scale(.75)}.post-item .timestamp{opacity:.75;font-size:12px}.post-item .post-text{text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.post-item .opt-item{display:flex;align-items:center;opacity:.7}.post-item .opt-item .opt-item-icon{margin-right:10px}.post-item:hover{background:#f7f9f9;cursor:pointer}.post-item .n-thing-avatar{margin-top:0}.post-item .n-thing-header{line-height:16px;margin-bottom:8px!important}.dark .post-item:hover{background:#18181c} +.post-item{width:100%;padding:16px;box-sizing:border-box}.post-item .nickname-wrap{font-size:14px}.post-item .username-wrap{font-size:14px;opacity:.75}.post-item .top-tag{transform:scale(.75)}.post-item .timestamp{opacity:.75;font-size:12px}.post-item .post-text{text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.post-item .opt-item{display:flex;align-items:center;opacity:.7}.post-item .opt-item .opt-item-icon{margin-right:10px}.post-item:hover{background:#f7f9f9;cursor:pointer}.post-item .n-thing-avatar{margin-top:0}.post-item .n-thing-header{line-height:16px;margin-bottom:8px!important}.dark .post-item{background-color:#101014bf}.dark .post-item:hover{background:#18181c} diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-ce942869.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-8c8699fb.js similarity index 92% rename from web/dist/assets/post-item.vue_vue_type_style_index_0_lang-ce942869.js rename to web/dist/assets/post-item.vue_vue_type_style_index_0_lang-8c8699fb.js index fa1f3f92..3307798e 100644 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-ce942869.js +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-8c8699fb.js @@ -1 +1 @@ -import{p as L,H as O,C as V,B as M,a as R,_ as S,b as j,c as D}from"./content-c9c72716.js";import{d as I,ai as P,ak as E,$ as F,y as W,aw as Y,W as o,Y as f,a4 as i,ay as Z,a3 as t,a5 as n,ab as A,ac as G,a8 as v,Z as u,a9 as _,aa as p,a6 as r,a7 as c,ae as J,aL as K,af as Q,ah as U}from"./index-c17d3913.js";import{a as X}from"./formatTime-09781e30.js";import{_ as tt}from"./Thing-2157b754.js";const et={class:"nickname-wrap"},st={class:"username-wrap"},at={class:"timestamp"},nt=["innerHTML"],ot={class:"opt-item"},it={class:"opt-item"},rt={class:"opt-item"},ut=I({__name:"post-item",props:{post:null},setup(x){const C=x;P();const m=E(),b=F(),e=W(()=>{let a=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},C.post);return a.contents.map(s=>{(+s.type==1||+s.type==2)&&a.texts.push(s),+s.type==3&&a.imgs.push(s),+s.type==4&&a.videos.push(s),+s.type==6&&a.links.push(s),+s.type==7&&a.attachments.push(s),+s.type==8&&a.charge_attachments.push(s)}),a}),k=a=>{m.push({name:"post",query:{id:a}})},w=(a,s)=>{if(a.target.dataset.detail){const l=a.target.dataset.detail.split(":");if(l.length===2){b.commit("refresh"),l[0]==="tag"?m.push({name:"home",query:{q:l[1],t:"tag"}}):m.push({name:"user",query:{username:l[1]}});return}}k(s)};return(a,s)=>{const l=J,z=Y("router-link"),d=K,y=R,B=S,T=j,q=D,h=Q,N=U,$=tt;return o(),f("div",{class:"post-item",onClick:s[2]||(s[2]=g=>k(t(e).id))},[i($,{"content-indented":""},Z({avatar:n(()=>[i(l,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:n(()=>[u("span",et,[i(z,{onClick:s[0]||(s[0]=v(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:n(()=>[_(p(t(e).user.nickname),1)]),_:1},8,["to"])]),u("span",st," @"+p(t(e).user.username),1),t(e).is_top?(o(),r(d,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[_(" 置顶 ")]),_:1})):c("",!0),t(e).visibility==1?(o(),r(d,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[_(" 私密 ")]),_:1})):c("",!0),t(e).visibility==2?(o(),r(d,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[_(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":n(()=>[u("span",at,p(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+p(t(X)(t(e).created_on)),1)]),footer:n(()=>[t(e).attachments.length>0?(o(),r(y,{key:0,attachments:t(e).attachments},null,8,["attachments"])):c("",!0),t(e).charge_attachments.length>0?(o(),r(y,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):c("",!0),t(e).imgs.length>0?(o(),r(B,{key:2,imgs:t(e).imgs},null,8,["imgs"])):c("",!0),t(e).videos.length>0?(o(),r(T,{key:3,videos:t(e).videos},null,8,["videos"])):c("",!0),t(e).links.length>0?(o(),r(q,{key:4,links:t(e).links},null,8,["links"])):c("",!0)]),action:n(()=>[i(N,{justify:"space-between"},{default:n(()=>[u("div",ot,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(O))]),_:1}),_(" "+p(t(e).upvote_count),1)]),u("div",it,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(V))]),_:1}),_(" "+p(t(e).comment_count),1)]),u("div",rt,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(M))]),_:1}),_(" "+p(t(e).collection_count),1)])]),_:1})]),_:2},[t(e).texts.length>0?{name:"description",fn:n(()=>[(o(!0),f(A,null,G(t(e).texts,g=>(o(),f("span",{key:g.id,class:"post-text",onClick:s[1]||(s[1]=v(H=>w(H,t(e).id),["stop"])),innerHTML:t(L)(g.content).content},null,8,nt))),128))]),key:"0"}:void 0]),1024)])}}});export{ut as _}; +import{p as L,H as O,C as V,B as M,a as R,_ as S,b as j,c as D}from"./content-91421e79.js";import{d as I,ai as P,ak as E,$ as F,y as W,aw as Y,W as o,Y as f,a4 as i,ay as Z,a3 as t,a5 as n,ab as A,ac as G,a8 as v,Z as u,a9 as _,aa as p,a6 as r,a7 as c,ae as J,aL as K,af as Q,ah as U}from"./index-dfd5495a.js";import{a as X}from"./formatTime-0c777b4d.js";import{_ as tt}from"./Thing-7c7318d4.js";const et={class:"nickname-wrap"},st={class:"username-wrap"},at={class:"timestamp"},nt=["innerHTML"],ot={class:"opt-item"},it={class:"opt-item"},rt={class:"opt-item"},ut=I({__name:"post-item",props:{post:null},setup(x){const C=x;P();const m=E(),b=F(),e=W(()=>{let a=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},C.post);return a.contents.map(s=>{(+s.type==1||+s.type==2)&&a.texts.push(s),+s.type==3&&a.imgs.push(s),+s.type==4&&a.videos.push(s),+s.type==6&&a.links.push(s),+s.type==7&&a.attachments.push(s),+s.type==8&&a.charge_attachments.push(s)}),a}),k=a=>{m.push({name:"post",query:{id:a}})},w=(a,s)=>{if(a.target.dataset.detail){const l=a.target.dataset.detail.split(":");if(l.length===2){b.commit("refresh"),l[0]==="tag"?m.push({name:"home",query:{q:l[1],t:"tag"}}):m.push({name:"user",query:{username:l[1]}});return}}k(s)};return(a,s)=>{const l=J,z=Y("router-link"),d=K,y=R,B=S,T=j,q=D,h=Q,N=U,$=tt;return o(),f("div",{class:"post-item",onClick:s[2]||(s[2]=g=>k(t(e).id))},[i($,{"content-indented":""},Z({avatar:n(()=>[i(l,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:n(()=>[u("span",et,[i(z,{onClick:s[0]||(s[0]=v(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:n(()=>[_(p(t(e).user.nickname),1)]),_:1},8,["to"])]),u("span",st," @"+p(t(e).user.username),1),t(e).is_top?(o(),r(d,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[_(" 置顶 ")]),_:1})):c("",!0),t(e).visibility==1?(o(),r(d,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[_(" 私密 ")]),_:1})):c("",!0),t(e).visibility==2?(o(),r(d,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[_(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":n(()=>[u("span",at,p(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+p(t(X)(t(e).created_on)),1)]),footer:n(()=>[t(e).attachments.length>0?(o(),r(y,{key:0,attachments:t(e).attachments},null,8,["attachments"])):c("",!0),t(e).charge_attachments.length>0?(o(),r(y,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):c("",!0),t(e).imgs.length>0?(o(),r(B,{key:2,imgs:t(e).imgs},null,8,["imgs"])):c("",!0),t(e).videos.length>0?(o(),r(T,{key:3,videos:t(e).videos},null,8,["videos"])):c("",!0),t(e).links.length>0?(o(),r(q,{key:4,links:t(e).links},null,8,["links"])):c("",!0)]),action:n(()=>[i(N,{justify:"space-between"},{default:n(()=>[u("div",ot,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(O))]),_:1}),_(" "+p(t(e).upvote_count),1)]),u("div",it,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(V))]),_:1}),_(" "+p(t(e).comment_count),1)]),u("div",rt,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(M))]),_:1}),_(" "+p(t(e).collection_count),1)])]),_:1})]),_:2},[t(e).texts.length>0?{name:"description",fn:n(()=>[(o(!0),f(A,null,G(t(e).texts,g=>(o(),f("span",{key:g.id,class:"post-text",onClick:s[1]||(s[1]=v(H=>w(H,t(e).id),["stop"])),innerHTML:t(L)(g.content).content},null,8,nt))),128))]),key:"0"}:void 0]),1024)])}}});export{ut as _}; diff --git a/web/dist/assets/post-skeleton-3d1d61f7.css b/web/dist/assets/post-skeleton-3d1d61f7.css deleted file mode 100644 index 778f1a85..00000000 --- a/web/dist/assets/post-skeleton-3d1d61f7.css +++ /dev/null @@ -1 +0,0 @@ -.skeleton-item[data-v-5583d486]{padding:12px;display:flex}.skeleton-item .user[data-v-5583d486]{width:42px}.skeleton-item .content[data-v-5583d486]{width:calc(100% - 42px)} diff --git a/web/dist/assets/post-skeleton-40e81755.js b/web/dist/assets/post-skeleton-40e81755.js deleted file mode 100644 index 802c05d0..00000000 --- a/web/dist/assets/post-skeleton-40e81755.js +++ /dev/null @@ -1 +0,0 @@ -import{b as c}from"./Skeleton-ca436747.js";import{d as r,W as s,Y as n,ac as l,Z as o,a4 as t,ab as p,al as d}from"./index-c17d3913.js";const i={class:"user"},m={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(k,f)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",i,[t(e,{circle:"",size:"small"})]),o("div",m,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const y=d(u,[["__scopeId","data-v-5583d486"]]);export{y as _}; diff --git a/web/dist/assets/post-skeleton-445c3b83.js b/web/dist/assets/post-skeleton-445c3b83.js new file mode 100644 index 00000000..639486c3 --- /dev/null +++ b/web/dist/assets/post-skeleton-445c3b83.js @@ -0,0 +1 @@ +import{b as c}from"./Skeleton-6c42d34d.js";import{d as r,W as s,Y as n,ac as l,Z as o,a4 as t,ab as p,al as i}from"./index-dfd5495a.js";const d={class:"user"},m={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(k,b)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",d,[t(e,{circle:"",size:"small"})]),o("div",m,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const x=i(u,[["__scopeId","data-v-ab0015b4"]]);export{x as _}; diff --git a/web/dist/assets/post-skeleton-f1900002.css b/web/dist/assets/post-skeleton-f1900002.css new file mode 100644 index 00000000..2b10b03e --- /dev/null +++ b/web/dist/assets/post-skeleton-f1900002.css @@ -0,0 +1 @@ +.skeleton-item[data-v-ab0015b4]{padding:12px;display:flex}.skeleton-item .user[data-v-ab0015b4]{width:42px}.skeleton-item .content[data-v-ab0015b4]{width:calc(100% - 42px)}.dark .skeleton-item[data-v-ab0015b4]{background-color:#101014bf} diff --git a/web/dist/index.html b/web/dist/index.html index e391410d..5b149f32 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,8 +8,8 @@ 泡泡 - - + + diff --git a/web/src/assets/css/main.less b/web/src/assets/css/main.less index b33e6dac..4f2adeec 100644 --- a/web/src/assets/css/main.less +++ b/web/src/assets/css/main.less @@ -1,6 +1,6 @@ :root { // 如果要变更中间栏的大小,修改此处即可 - --content-main: 500px; + --content-main: 544px; } .app-container { diff --git a/web/src/components/auth.vue b/web/src/components/auth.vue index 0e7d50c8..15ee1dc0 100644 --- a/web/src/components/auth.vue +++ b/web/src/components/auth.vue @@ -253,4 +253,9 @@ onMounted(() => { .auth-wrap { margin-top: -30px; } +.dark { + .auth-wrap { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/components/comment-item.vue b/web/src/components/comment-item.vue index 6f695bd4..4c89d8f1 100644 --- a/web/src/components/comment-item.vue +++ b/web/src/components/comment-item.vue @@ -29,7 +29,7 @@ ? comment.ip_loc + ' · ' : comment.ip_loc }} - {{ formatPrettyTime(comment.created_on) }} + {{ formatPrettyTime(comment.created_on, store.state.collapsedLeft) }} { .reply-wrap { background: #18181c; } + .comment-item { + background-color: rgba(16, 16, 20, 0.75); + } } \ No newline at end of file diff --git a/web/src/components/compose-comment.vue b/web/src/components/compose-comment.vue index 226adaf1..276dcbbb 100644 --- a/web/src/components/compose-comment.vue +++ b/web/src/components/compose-comment.vue @@ -428,4 +428,12 @@ onMounted(() => { overflow: hidden; } } +.dark { + .compose-mention { + background-color: rgba(16, 16, 20, 0.75); + } + .compose-wrap { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/components/compose-reply.vue b/web/src/components/compose-reply.vue index cc22b195..e79b5e2f 100644 --- a/web/src/components/compose-reply.vue +++ b/web/src/components/compose-reply.vue @@ -109,4 +109,9 @@ defineExpose({ switchReply }); } } } +.dark { + .reply-compose-wrap { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/components/compose.vue b/web/src/components/compose.vue index b4faf3ec..475a8d7c 100644 --- a/web/src/components/compose.vue +++ b/web/src/components/compose.vue @@ -672,4 +672,9 @@ onMounted(() => { overflow: hidden; } } +.dark { + .compose-wrap { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/components/contact-item.vue b/web/src/components/contact-item.vue index ec4473d4..7cdadf2f 100644 --- a/web/src/components/contact-item.vue +++ b/web/src/components/contact-item.vue @@ -69,6 +69,7 @@ const goUserProfile = (username: string) => { &:hover { background: #18181c; } + background-color: rgba(16, 16, 20, 0.75); } } \ No newline at end of file diff --git a/web/src/components/message-item.vue b/web/src/components/message-item.vue index 6eddf9c6..404792b0 100644 --- a/web/src/components/message-item.vue +++ b/web/src/components/message-item.vue @@ -221,6 +221,10 @@ const handleReadMessage = (message: Item.MessageProps) => { &.unread { background: #0f180b; } + .brief-wrap { + background-color: #18181c; + } + background-color: rgba(16, 16, 20, 0.75); } } \ No newline at end of file diff --git a/web/src/components/message-skeleton.vue b/web/src/components/message-skeleton.vue index 5844b1df..3fc83325 100644 --- a/web/src/components/message-skeleton.vue +++ b/web/src/components/message-skeleton.vue @@ -24,4 +24,9 @@ const props = withDefaults(defineProps<{ width: 100%; } } +.dark { + .skeleton-item { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/components/post-detail.vue b/web/src/components/post-detail.vue index d687c318..99b08038 100644 --- a/web/src/components/post-detail.vue +++ b/web/src/components/post-detail.vue @@ -147,14 +147,14 @@
- 发布于 {{ formatPrettyTime(post.created_on) }} + 发布于 {{ formatPrettyTime(post.created_on, store.state.collapsedLeft) }} {{ post.ip_loc }} - + 最后回复 - {{ formatPrettyTime(post.latest_replied_on) }} + {{ formatPrettyTime(post.latest_replied_on, store.state.collapsedLeft) }}
diff --git a/web/src/components/post-image.vue b/web/src/components/post-image.vue index 92595c50..9a2d4bcb 100644 --- a/web/src/components/post-image.vue +++ b/web/src/components/post-image.vue @@ -251,13 +251,13 @@ const props = withDefaults(defineProps<{ } } .x1 { - height: 140px; + height: 152px; } .x2 { - height: 90px; + height: 98px; } .x3 { - height: 80px; + height: 87px; } .dark { .post-img { diff --git a/web/src/components/post-item.vue b/web/src/components/post-item.vue index 10381419..8784cb05 100644 --- a/web/src/components/post-item.vue +++ b/web/src/components/post-item.vue @@ -251,6 +251,7 @@ const doClickText = (e: MouseEvent, id: number) => { &:hover { background: #18181c; } + background-color: rgba(16, 16, 20, 0.75); } } \ No newline at end of file diff --git a/web/src/components/post-skeleton.vue b/web/src/components/post-skeleton.vue index 16405f62..f2c9cbed 100644 --- a/web/src/components/post-skeleton.vue +++ b/web/src/components/post-skeleton.vue @@ -31,4 +31,9 @@ const props = withDefaults(defineProps<{ width: calc(100% - 42px); } } +.dark { + .skeleton-item { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/components/post-video.vue b/web/src/components/post-video.vue index b3fb156f..9800bd06 100644 --- a/web/src/components/post-video.vue +++ b/web/src/components/post-video.vue @@ -30,4 +30,4 @@ const props = withDefaults( full: false, } ); - \ No newline at end of file + diff --git a/web/src/components/reply-item.vue b/web/src/components/reply-item.vue index dc897703..f7082434 100644 --- a/web/src/components/reply-item.vue +++ b/web/src/components/reply-item.vue @@ -32,7 +32,7 @@ ? props.reply.ip_loc + ' · ' : props.reply.ip_loc }} - {{ formatPrettyTime(props.reply.created_on) }} + {{ formatPrettyTime(props.reply.created_on, store.state.collapsedLeft) }} +
{ } } } +.dark { + .hottopic-wrap { + background-color: #18181c; + } + .copyright-wrap { + background-color: #18181c; + } +} \ No newline at end of file diff --git a/web/src/components/whisper-add-friend.vue b/web/src/components/whisper-add-friend.vue index aba92746..425a1ffa 100644 --- a/web/src/components/whisper-add-friend.vue +++ b/web/src/components/whisper-add-friend.vue @@ -102,4 +102,9 @@ const sendWhisper = () => { } } } +.dark { + .whisper-wrap { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/components/whisper.vue b/web/src/components/whisper.vue index 19f80fbb..8a72b07b 100644 --- a/web/src/components/whisper.vue +++ b/web/src/components/whisper.vue @@ -102,4 +102,9 @@ const sendWhisper = () => { } } } +.dark { + .whisper-wrap { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/utils/formatTime.ts b/web/src/utils/formatTime.ts index 3cf87c67..09111f6e 100644 --- a/web/src/utils/formatTime.ts +++ b/web/src/utils/formatTime.ts @@ -14,10 +14,16 @@ export const formatRelativeTime = (time: number) => { return moment.unix(time).fromNow(); }; -export const formatPrettyTime = (time: number) => { - let mt = moment.unix(time); - if (moment().diff(mt, "month") > 3) { - return mt.utc(true).format("YYYY-MM-DD HH:mm"); +export const formatPrettyTime = (time: number, noPretty: boolean) => { + if (noPretty) { + return moment.unix(time).utc(true).fromNow(); + } + let mt = moment.unix(time).utc(true); + let now = moment().utc(true); + if (mt.year() != now.year()) { + return mt.format("YYYY-MM-DD HH:mm"); + } else if (moment().diff(mt, "month") > 3) { + return mt.format("MM-DD HH:mm"); } return mt.fromNow(); }; diff --git a/web/src/views/404.vue b/web/src/views/404.vue index 4c724ec5..c715c8da 100644 --- a/web/src/views/404.vue +++ b/web/src/views/404.vue @@ -34,4 +34,9 @@ const goHome = () => { align-items: center; justify-content: center; } +.dark { + .main-content-wra { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/views/Collection.vue b/web/src/views/Collection.vue index b77b0bd1..b9ab8cea 100644 --- a/web/src/views/Collection.vue +++ b/web/src/views/Collection.vue @@ -3,17 +3,6 @@ - -
@@ -27,6 +16,14 @@
+ +
+ +
@@ -79,4 +76,9 @@ onMounted(() => { justify-content: center; overflow: hidden; } +.dark { + .main-content-wrap, .empty-wrap, .skeleton-wrap { + background-color: rgba(16, 16, 20, 0.75); + } +} \ No newline at end of file diff --git a/web/src/views/Contacts.vue b/web/src/views/Contacts.vue index f65c6a41..2273b4c0 100644 --- a/web/src/views/Contacts.vue +++ b/web/src/views/Contacts.vue @@ -3,14 +3,6 @@ - - -
@@ -27,6 +19,14 @@
+ +
+ +
-======= ->>>>>>> rocboss-dev From a1af0b83706a7631fc37b1f0b809e4788013b2e9 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Wed, 3 May 2023 21:55:49 +0800 Subject: [PATCH 55/65] frontend: add custom get unread message loop interval in .env --- web/.env | 9 +++++---- web/dist/assets/{404-965f9bdd.js => 404-3cabee86.js} | 2 +- .../{Anouncement-0fa743b5.js => Anouncement-97201f06.js} | 2 +- .../{Collection-9157a1fd.js => Collection-8331a401.js} | 2 +- .../{Contacts-a5be232b.js => Contacts-c5c4a21f.js} | 2 +- web/dist/assets/{Home-0225fcff.js => Home-7afb79f1.js} | 2 +- .../{Messages-86b8d0d2.js => Messages-d46eab4a.js} | 2 +- web/dist/assets/{Post-fc3a4d8c.js => Post-fde9a5fe.js} | 2 +- .../assets/{Profile-48ed7161.js => Profile-92dce2d9.js} | 2 +- .../assets/{Setting-24dac2a9.js => Setting-111fc1e0.js} | 2 +- web/dist/assets/{Topic-84def3f4.js => Topic-a0916725.js} | 2 +- web/dist/assets/{User-14a792eb.js => User-3eaafdd1.js} | 2 +- .../assets/{Wallet-0822433d.js => Wallet-2284c505.js} | 2 +- .../assets/{content-08a31875.js => content-a3ccbaf1.js} | 2 +- web/dist/assets/{index-f248e035.js => index-f9e09224.js} | 2 +- ...main-nav.vue_vue_type_style_index_0_lang-5590db51.js} | 2 +- ...ost-item.vue_vue_type_style_index_0_lang-c93cad29.js} | 2 +- ...st-skeleton-765fdbf7.js => post-skeleton-5cb6f6d4.js} | 2 +- web/dist/index.html | 2 +- web/src/components/sidebar.vue | 3 ++- web/src/vite-env.d.ts | 1 + 21 files changed, 26 insertions(+), 23 deletions(-) rename web/dist/assets/{404-965f9bdd.js => 404-3cabee86.js} (84%) rename web/dist/assets/{Anouncement-0fa743b5.js => Anouncement-97201f06.js} (91%) rename web/dist/assets/{Collection-9157a1fd.js => Collection-8331a401.js} (83%) rename web/dist/assets/{Contacts-a5be232b.js => Contacts-c5c4a21f.js} (93%) rename web/dist/assets/{Home-0225fcff.js => Home-7afb79f1.js} (97%) rename web/dist/assets/{Messages-86b8d0d2.js => Messages-d46eab4a.js} (97%) rename web/dist/assets/{Post-fc3a4d8c.js => Post-fde9a5fe.js} (99%) rename web/dist/assets/{Profile-48ed7161.js => Profile-92dce2d9.js} (84%) rename web/dist/assets/{Setting-24dac2a9.js => Setting-111fc1e0.js} (97%) rename web/dist/assets/{Topic-84def3f4.js => Topic-a0916725.js} (97%) rename web/dist/assets/{User-14a792eb.js => User-3eaafdd1.js} (96%) rename web/dist/assets/{Wallet-0822433d.js => Wallet-2284c505.js} (96%) rename web/dist/assets/{content-08a31875.js => content-a3ccbaf1.js} (99%) rename web/dist/assets/{index-f248e035.js => index-f9e09224.js} (62%) rename web/dist/assets/{main-nav.vue_vue_type_style_index_0_lang-35243535.js => main-nav.vue_vue_type_style_index_0_lang-5590db51.js} (96%) rename web/dist/assets/{post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js => post-item.vue_vue_type_style_index_0_lang-c93cad29.js} (97%) rename web/dist/assets/{post-skeleton-765fdbf7.js => post-skeleton-5cb6f6d4.js} (88%) diff --git a/web/.env b/web/.env index d9cbec5b..d4e9e42a 100644 --- a/web/.env +++ b/web/.env @@ -14,10 +14,11 @@ VITE_ALLOW_ACTIVATION=false VITE_ALLOW_PHONE_BIND=true # 局部参数 -VITE_DEFAULT_TWEET_VISIBILITY=friend -VITE_DEFAULT_TWEET_MAX_LENGTH=300 -VITE_RIGHT_FOLLOW_TOPIC_MAX_SIZE=6 -VITE_RIGHT_HOT_TOPIC_MAX_SIZE=12 +VITE_DEFAULT_MSG_LOOP_INTERVAL=5000 # 拉取未读消息的间隔,单位:毫秒,, 默认5000ms +VITE_DEFAULT_TWEET_VISIBILITY=friend # 推文可见性,默认好友可见 +VITE_DEFAULT_TWEET_MAX_LENGTH=300 # 推文最大长度, 默认300字 +VITE_RIGHT_FOLLOW_TOPIC_MAX_SIZE=6 # 右侧关注话题最大条目数, 默认6条 +VITE_RIGHT_HOT_TOPIC_MAX_SIZE=12 # 右侧热门话题最大条目数, 默认12条 VITE_COPYRIGHT_TOP="2023 paopao.info" VITE_COPYRIGHT_LEFT="Roc's Me" VITE_COPYRIGHT_LEFT_LINK="" diff --git a/web/dist/assets/404-965f9bdd.js b/web/dist/assets/404-3cabee86.js similarity index 84% rename from web/dist/assets/404-965f9bdd.js rename to web/dist/assets/404-3cabee86.js index e2f43a28..32447b8b 100644 --- a/web/dist/assets/404-965f9bdd.js +++ b/web/dist/assets/404-3cabee86.js @@ -1 +1 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{u as a}from"./vue-router-88cc84d1.js";import{F as i,e as c,a2 as u}from"./naive-ui-2035804c.js";import{d as l,c as d,L as t,$ as o,o as f,e as x}from"./@vue-ca177dbe.js";import{_ as g}from"./index-f248e035.js";import"./vuex-d28e9067.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./@vicons-6d35273b.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{u as a}from"./vue-router-88cc84d1.js";import{F as i,e as c,a2 as u}from"./naive-ui-2035804c.js";import{d as l,c as d,L as t,$ as o,o as f,e as x}from"./@vue-ca177dbe.js";import{_ as g}from"./index-f9e09224.js";import"./vuex-d28e9067.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./@vicons-6d35273b.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; diff --git a/web/dist/assets/Anouncement-0fa743b5.js b/web/dist/assets/Anouncement-97201f06.js similarity index 91% rename from web/dist/assets/Anouncement-0fa743b5.js rename to web/dist/assets/Anouncement-97201f06.js index 4af9e80b..d5895a8a 100644 --- a/web/dist/assets/Anouncement-0fa743b5.js +++ b/web/dist/assets/Anouncement-97201f06.js @@ -1 +1 @@ -import{_ as F}from"./post-skeleton-765fdbf7.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{u as z}from"./vuex-d28e9067.js";import{b as A}from"./vue-router-88cc84d1.js";import{a as R}from"./formatTime-000dbebb.js";import{d as S,r as n,j as V,c as o,L as a,$ as p,o as e,Y as u,O as l,F as I,a2 as L,K as M,a as s,M as _,a4 as O}from"./@vue-ca177dbe.js";import{F as P,G as $,I as j,H as q}from"./naive-ui-2035804c.js";import{_ as D}from"./index-f248e035.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./@vicons-6d35273b.js";import"./moment-b7869f98.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";/* empty css */const E={key:0,class:"pagination-wrap"},G={key:0,class:"skeleton-wrap"},H={key:1},K={key:0,class:"empty-wrap"},T={class:"bill-line"},U=S({__name:"Anouncement",setup(Y){const d=z(),g=A(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return V(()=>{}),(m,J)=>{const y=N,k=$,x=F,w=j,B=q,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",E,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",G,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",H,[r.value.length===0?(e(),o("div",K,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",T,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=D(U,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; +import{_ as F}from"./post-skeleton-5cb6f6d4.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{u as z}from"./vuex-d28e9067.js";import{b as A}from"./vue-router-88cc84d1.js";import{a as R}from"./formatTime-000dbebb.js";import{d as S,r as n,j as V,c as o,L as a,$ as p,o as e,Y as u,O as l,F as I,a2 as L,K as M,a as s,M as _,a4 as O}from"./@vue-ca177dbe.js";import{F as P,G as $,I as j,H as q}from"./naive-ui-2035804c.js";import{_ as D}from"./index-f9e09224.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./@vicons-6d35273b.js";import"./moment-b7869f98.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";/* empty css */const E={key:0,class:"pagination-wrap"},G={key:0,class:"skeleton-wrap"},H={key:1},K={key:0,class:"empty-wrap"},T={class:"bill-line"},U=S({__name:"Anouncement",setup(Y){const d=z(),g=A(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return V(()=>{}),(m,J)=>{const y=N,k=$,x=F,w=j,B=q,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",E,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",G,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",H,[r.value.length===0?(e(),o("div",K,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",T,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=D(U,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; diff --git a/web/dist/assets/Collection-9157a1fd.js b/web/dist/assets/Collection-8331a401.js similarity index 83% rename from web/dist/assets/Collection-9157a1fd.js rename to web/dist/assets/Collection-8331a401.js index dede65ed..4863ec16 100644 --- a/web/dist/assets/Collection-9157a1fd.js +++ b/web/dist/assets/Collection-8331a401.js @@ -1 +1 @@ -import{_ as z}from"./post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js";import{_ as B}from"./post-skeleton-765fdbf7.js";import{_ as F}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{u as P}from"./vuex-d28e9067.js";import{b as R,u as $}from"./vue-router-88cc84d1.js";import{K as b,_ as I}from"./index-f248e035.js";import{d as K,r as a,j as L,c as e,L as n,$ as m,Y as M,O as u,o as t,F as N,a2 as S,K as V}from"./@vue-ca177dbe.js";import{F as j,G as q,I as E,H as G}from"./naive-ui-2035804c.js";import"./content-08a31875.js";import"./@vicons-6d35273b.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const H={key:0,class:"skeleton-wrap"},O={key:1},T={key:0,class:"empty-wrap"},U={key:0,class:"pagination-wrap"},Y=K({__name:"Collection",setup(A){const d=P(),g=R();$();const s=a(!1),p=a([]),_=a(+g.query.p||1),i=a(20),r=a(0),l=()=>{s.value=!0,b({page:_.value,page_size:i.value}).then(o=>{s.value=!1,p.value=o.list,r.value=Math.ceil(o.pager.total_rows/i.value),window.scrollTo(0,0)}).catch(o=>{s.value=!1})},v=o=>{_.value=o,l()};return L(()=>{l()}),(o,D)=>{const f=F,h=B,k=E,y=z,w=G,C=j,x=q;return t(),e("div",null,[n(f,{title:"收藏"}),n(C,{class:"main-content-wrap",bordered:""},{default:m(()=>[s.value?(t(),e("div",H,[n(h,{num:i.value},null,8,["num"])])):(t(),e("div",O,[p.value.length===0?(t(),e("div",T,[n(k,{size:"large",description:"暂无数据"})])):u("",!0),(t(!0),e(N,null,S(p.value,c=>(t(),V(w,{key:c.id},{default:m(()=>[n(y,{post:c},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),r.value>0?(t(),e("div",U,[n(x,{page:_.value,"onUpdate:page":v,"page-slot":M(d).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):u("",!0)])}}});const Bt=I(Y,[["__scopeId","data-v-1e709369"]]);export{Bt as default}; +import{_ as z}from"./post-item.vue_vue_type_style_index_0_lang-c93cad29.js";import{_ as B}from"./post-skeleton-5cb6f6d4.js";import{_ as F}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{u as P}from"./vuex-d28e9067.js";import{b as R,u as $}from"./vue-router-88cc84d1.js";import{K as b,_ as I}from"./index-f9e09224.js";import{d as K,r as a,j as L,c as e,L as n,$ as m,Y as M,O as u,o as t,F as N,a2 as S,K as V}from"./@vue-ca177dbe.js";import{F as j,G as q,I as E,H as G}from"./naive-ui-2035804c.js";import"./content-a3ccbaf1.js";import"./@vicons-6d35273b.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const H={key:0,class:"skeleton-wrap"},O={key:1},T={key:0,class:"empty-wrap"},U={key:0,class:"pagination-wrap"},Y=K({__name:"Collection",setup(A){const d=P(),g=R();$();const s=a(!1),p=a([]),_=a(+g.query.p||1),i=a(20),r=a(0),l=()=>{s.value=!0,b({page:_.value,page_size:i.value}).then(o=>{s.value=!1,p.value=o.list,r.value=Math.ceil(o.pager.total_rows/i.value),window.scrollTo(0,0)}).catch(o=>{s.value=!1})},v=o=>{_.value=o,l()};return L(()=>{l()}),(o,D)=>{const f=F,h=B,k=E,y=z,w=G,C=j,x=q;return t(),e("div",null,[n(f,{title:"收藏"}),n(C,{class:"main-content-wrap",bordered:""},{default:m(()=>[s.value?(t(),e("div",H,[n(h,{num:i.value},null,8,["num"])])):(t(),e("div",O,[p.value.length===0?(t(),e("div",T,[n(k,{size:"large",description:"暂无数据"})])):u("",!0),(t(!0),e(N,null,S(p.value,c=>(t(),V(w,{key:c.id},{default:m(()=>[n(y,{post:c},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),r.value>0?(t(),e("div",U,[n(x,{page:_.value,"onUpdate:page":v,"page-slot":M(d).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):u("",!0)])}}});const Bt=I(Y,[["__scopeId","data-v-1e709369"]]);export{Bt as default}; diff --git a/web/dist/assets/Contacts-a5be232b.js b/web/dist/assets/Contacts-c5c4a21f.js similarity index 93% rename from web/dist/assets/Contacts-a5be232b.js rename to web/dist/assets/Contacts-c5c4a21f.js index e15cd95a..a2af417c 100644 --- a/web/dist/assets/Contacts-a5be232b.js +++ b/web/dist/assets/Contacts-c5c4a21f.js @@ -1 +1 @@ -import{u as M,b as P}from"./vue-router-88cc84d1.js";import{d as b,o as t,c as n,a,L as s,M as v,r as i,j as R,$ as h,Y as S,O as y,F as k,a2 as U,K as V}from"./@vue-ca177dbe.js";import{o as q,F as D,G as L,I as T,H as j}from"./naive-ui-2035804c.js";import{_ as C,N as E}from"./index-f248e035.js";import{_ as G}from"./post-skeleton-765fdbf7.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{u as K}from"./vuex-d28e9067.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";import"./@vicons-6d35273b.js";/* empty css */const O={class:"avatar"},Y={class:"base-info"},A={class:"username"},J={class:"uid"},Q=b({__name:"contact-item",props:{contact:null},setup(c){const p=M(),m=e=>{p.push({name:"user",query:{username:e}})};return(e,o)=>{const _=q;return t(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=l=>m(c.contact.username))},[a("div",O,[s(_,{size:"large",src:c.contact.avatar},null,8,["src"])]),a("div",Y,[a("div",A,[a("strong",null,v(c.contact.nickname),1),a("span",null," @"+v(c.contact.username),1)]),a("div",J,"UID. "+v(c.contact.user_id),1)])])}}});const W=C(Q,[["__scopeId","data-v-08ee9b2e"]]),X={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=b({__name:"Contacts",setup(c){const p=K(),m=P(),e=i(!1),o=i([]),_=i(+m.query.p||1),l=i(20),d=i(0),$=r=>{_.value=r,g()};R(()=>{g()});const g=(r=!1)=>{o.value.length===0&&(e.value=!0),E({page:_.value,page_size:l.value}).then(u=>{e.value=!1,o.value=u.list,d.value=Math.ceil(u.pager.total_rows/l.value),r&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(u=>{e.value=!1})};return(r,u)=>{const w=H,x=G,I=T,z=W,B=j,N=D,F=L;return t(),n(k,null,[a("div",null,[s(w,{title:"好友"}),s(N,{class:"main-content-wrap",bordered:""},{default:h(()=>[e.value?(t(),n("div",X,[s(x,{num:l.value},null,8,["num"])])):(t(),n("div",Z,[o.value.length===0?(t(),n("div",tt,[s(I,{size:"large",description:"暂无数据"})])):y("",!0),(t(!0),n(k,null,U(o.value,f=>(t(),V(B,{key:f.user_id},{default:h(()=>[s(z,{contact:f},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),d.value>0?(t(),n("div",et,[s(F,{page:_.value,"onUpdate:page":$,"page-slot":S(p).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):y("",!0)],64)}}});const It=C(ot,[["__scopeId","data-v-3b2bf978"]]);export{It as default}; +import{u as M,b as P}from"./vue-router-88cc84d1.js";import{d as b,o as t,c as n,a,L as s,M as v,r as i,j as R,$ as h,Y as S,O as y,F as k,a2 as U,K as V}from"./@vue-ca177dbe.js";import{o as q,F as D,G as L,I as T,H as j}from"./naive-ui-2035804c.js";import{_ as C,N as E}from"./index-f9e09224.js";import{_ as G}from"./post-skeleton-5cb6f6d4.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{u as K}from"./vuex-d28e9067.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-707ed124.js";import"./@vicons-6d35273b.js";/* empty css */const O={class:"avatar"},Y={class:"base-info"},A={class:"username"},J={class:"uid"},Q=b({__name:"contact-item",props:{contact:null},setup(c){const p=M(),m=e=>{p.push({name:"user",query:{username:e}})};return(e,o)=>{const _=q;return t(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=l=>m(c.contact.username))},[a("div",O,[s(_,{size:"large",src:c.contact.avatar},null,8,["src"])]),a("div",Y,[a("div",A,[a("strong",null,v(c.contact.nickname),1),a("span",null," @"+v(c.contact.username),1)]),a("div",J,"UID. "+v(c.contact.user_id),1)])])}}});const W=C(Q,[["__scopeId","data-v-08ee9b2e"]]),X={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=b({__name:"Contacts",setup(c){const p=K(),m=P(),e=i(!1),o=i([]),_=i(+m.query.p||1),l=i(20),d=i(0),$=r=>{_.value=r,g()};R(()=>{g()});const g=(r=!1)=>{o.value.length===0&&(e.value=!0),E({page:_.value,page_size:l.value}).then(u=>{e.value=!1,o.value=u.list,d.value=Math.ceil(u.pager.total_rows/l.value),r&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(u=>{e.value=!1})};return(r,u)=>{const w=H,x=G,I=T,z=W,B=j,N=D,F=L;return t(),n(k,null,[a("div",null,[s(w,{title:"好友"}),s(N,{class:"main-content-wrap",bordered:""},{default:h(()=>[e.value?(t(),n("div",X,[s(x,{num:l.value},null,8,["num"])])):(t(),n("div",Z,[o.value.length===0?(t(),n("div",tt,[s(I,{size:"large",description:"暂无数据"})])):y("",!0),(t(!0),n(k,null,U(o.value,f=>(t(),V(B,{key:f.user_id},{default:h(()=>[s(z,{contact:f},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),d.value>0?(t(),n("div",et,[s(F,{page:_.value,"onUpdate:page":$,"page-slot":S(p).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):y("",!0)],64)}}});const It=C(ot,[["__scopeId","data-v-3b2bf978"]]);export{It as default}; diff --git a/web/dist/assets/Home-0225fcff.js b/web/dist/assets/Home-7afb79f1.js similarity index 97% rename from web/dist/assets/Home-0225fcff.js rename to web/dist/assets/Home-7afb79f1.js index ff249f56..1254eec7 100644 --- a/web/dist/assets/Home-0225fcff.js +++ b/web/dist/assets/Home-7afb79f1.js @@ -1 +1 @@ -import{_ as qe}from"./post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js";import{_ as Ie}from"./post-skeleton-765fdbf7.js";import{d as Q,r as l,j as X,o as c,c as v,Y as $,a as I,L as t,$ as s,K as N,O as q,a0 as K,e as z,M as G,F as Y,a2 as W,n as Te,w as Ue}from"./@vue-ca177dbe.js";import{u as Z}from"./vuex-d28e9067.js";import{l as J}from"./lodash-3329902d.js";import{g as xe,a as Ee,c as Re,b as Le,_ as ze}from"./index-f248e035.js";import{p as Ae}from"./content-08a31875.js";import{V as T,P as S}from"./IEnum-a180d93e.js";import{I as Pe,V as Se,A as Ne,d as Ve,E as Be}from"./@vicons-6d35273b.js";import{o as Oe,v as Me,j as Fe,e as De,w as je,x as He,y as Ke,z as Ge,A as Je,B as Qe,C as Xe,a as Ye,D as We,E as Ze,F as et,G as tt,H as at,I as ot}from"./naive-ui-2035804c.js";import{_ as nt}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{b as st,u as lt}from"./vue-router-88cc84d1.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-db921567.js";const it={key:0,class:"compose-wrap"},ut={class:"compose-line"},rt={class:"compose-user"},ct={class:"compose-line compose-options"},pt={class:"attachment"},_t={class:"submit-wrap"},dt={class:"attachment-list-wrap"},mt={key:0,class:"attachment-price-wrap"},vt=I("span",null," 附件价格¥",-1),gt={key:0,class:"eye-wrap"},ft={key:1,class:"link-wrap"},yt={key:1,class:"compose-wrap"},ht=I("div",{class:"login-wrap"},[I("span",{class:"login-banner"}," 登录后,精彩更多")],-1),wt={key:0,class:"login-only-wrap"},bt={key:1,class:"login-wrap"},kt=Q({__name:"compose",emits:["post-success"],setup(ee,{emit:V}){const r=Z(),E=l([]),y=l(!1),h=l(!1),f=l(!1),w=l(!1),b=l(""),U=l([]),R=l(),A=l(0),d=l("public/image"),i=l([]),g=l([]),k=l([]),m=l([]),C=l(T.FRIEND),x=l(T.FRIEND),M=[{value:T.PUBLIC,label:"公开"},{value:T.PRIVATE,label:"私密"},{value:T.FRIEND,label:"好友可见"}],P=+"300",B=l("true".toLowerCase()==="true"),F=l("true".toLowerCase()==="true"),O=l("true".toLowerCase()==="true"),te=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),oe="/v1/attachment",H=l(),ne=()=>{f.value=!f.value,f.value&&w.value&&(w.value=!1)},se=()=>{w.value=!w.value,w.value&&f.value&&(f.value=!1)},le=J.debounce(a=>{xe({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),E.value=n,y.value=!1}).catch(e=>{y.value=!1})},200),ie=J.debounce(a=>{Ee({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),E.value=n,y.value=!1}).catch(e=>{y.value=!1})},200),ue=(a,e)=>{y.value||(y.value=!0,e==="@"?le(a):ie(a))},re=a=>{a.length>P||(b.value=a)},D=a=>{d.value=a},ce=a=>{i.value=a},pe=async a=>{var e,n,o,u,_,L;return d.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=a.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):d.value==="image"&&((n=a.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):d.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=a.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):d.value==="public/video"&&((u=a.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):d.value==="attachment"&&!["application/zip"].includes((_=a.file.file)==null?void 0:_.type)?(window.$message.warning("附件仅允许 zip 格式"),!1):d.value==="attachment"&&((L=a.file.file)==null?void 0:L.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(d.value==="public/image"&&g.value.push({id:a.id,content:o.data.content}),d.value==="public/video"&&k.value.push({id:a.id,content:o.data.content}),d.value==="attachment"&&m.value.push({id:a.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let u=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(_=>{u+=":"+_}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},me=({file:a})=>{let e=g.value.findIndex(n=>n.id===a.id);e>-1&&g.value.splice(e,1),e=k.value.findIndex(n=>n.id===a.id),e>-1&&k.value.splice(e,1),e=m.value.findIndex(n=>n.id===a.id),e>-1&&m.value.splice(e,1)},ve=()=>{if(b.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:a,users:e}=Ae(b.value);const n=[];let o=100;n.push({content:b.value,type:S.TEXT,sort:o}),g.value.map(u=>{o++,n.push({content:u.content,type:S.IMAGEURL,sort:o})}),k.value.map(u=>{o++,n.push({content:u.content,type:S.VIDEOURL,sort:o})}),m.value.map(u=>{o++,n.push({content:u.content,type:S.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(u=>{o++,n.push({content:u,type:S.LINKURL,sort:o})}),h.value=!0,Re({contents:n,tags:Array.from(new Set(a)),users:Array.from(new Set(e)),attachment_price:+A.value*100,visibility:C.value}).then(u=>{var _;window.$message.success("发布成功"),h.value=!1,V("post-success",u),f.value=!1,w.value=!1,(_=R.value)==null||_.clear(),i.value=[],b.value="",U.value=[],g.value=[],k.value=[],m.value=[],C.value=x.value}).catch(u=>{h.value=!1})},j=a=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",a)};return X(()=>{"friend".toLowerCase()==="friend"?x.value=T.FRIEND:"friend".toLowerCase()==="public"?x.value=T.PUBLIC:x.value=T.PRIVATE,C.value=x.value,H.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(a,e)=>{const n=Oe,o=Me,u=Fe,_=De,L=je,ge=He,fe=Ke,ye=Ge,he=Je,we=Qe,be=Xe,ke=Ye,Ce=We,$e=Ze;return c(),v("div",null,[$(r).state.userInfo.id>0?(c(),v("div",it,[I("div",ut,[I("div",rt,[t(n,{round:"",size:30,src:$(r).state.userInfo.avatar},null,8,["src"])]),t(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:y.value,value:b.value,prefix:["@","#"],options:E.value,onSearch:ue,"onUpdate:value":re,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),t(we,{ref_key:"uploadRef",ref:R,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:H.value},data:{type:d.value},onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[I("div",ct,[I("div",pt,[t(L,{abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value==="public/video"||i.value.length===9,onClick:()=>{D("public/image"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Pe))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),F.value?(c(),N(L,{key:0,abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value!=="public/video"||i.value.length===9,onClick:()=>{D("public/video"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):q("",!0),O.value?(c(),N(L,{key:1,abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value==="public/video"||i.value.length===9,onClick:()=>{D("attachment"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):q("",!0),t(_,{quaternary:"",circle:"",type:"primary",onClick:K(ne,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Ve))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),N(_,{key:2,quaternary:"",circle:"",type:"primary",onClick:K(se,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Be))]),_:1})]),_:1},8,["onClick"])):q("",!0)]),I("div",_t,[t(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[t(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:b.value.length/$(P)*100},null,8,["percentage"])]),default:s(()=>[z(" "+G(b.value.length)+" / "+G($(P)),1)]),_:1}),t(_,{loading:h.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[z(" 发布 ")]),_:1},8,["loading"])])]),I("div",dt,[t(ye),m.value.length>0?(c(),v("div",mt,[te.value?(c(),N(he,{key:0,value:A.value,"onUpdate:value":e[0]||(e[0]=p=>A.value=p),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[vt]),_:1},8,["value"])):q("",!0)])):q("",!0)])]),_:1},8,["headers","data"]),w.value?(c(),v("div",gt,[t(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=p=>C.value=p),name:"radiogroup"},{default:s(()=>[t(ke,null,{default:s(()=>[(c(),v(Y,null,W(M,p=>t(be,{key:p.value,value:p.value,label:p.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):q("",!0),f.value?(c(),v("div",ft,[t($e,{value:U.value,"onUpdate:value":e[2]||(e[2]=p=>U.value=p),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[z(" 创建链接 ")]),_:1},8,["value"])])):q("",!0)])):(c(),v("div",yt,[ht,B.value?q("",!0):(c(),v("div",wt,[t(_,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=p=>j("signin"))},{default:s(()=>[z(" 登录 ")]),_:1})])),B.value?(c(),v("div",bt,[t(_,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=p=>j("signin"))},{default:s(()=>[z(" 登录 ")]),_:1}),t(_,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=p=>j("signup"))},{default:s(()=>[z(" 注册 ")]),_:1})])):q("",!0)]))])}}});const Ct={key:0,class:"skeleton-wrap"},$t={key:1},qt={key:0,class:"empty-wrap"},It={key:0,class:"pagination-wrap"},Tt=Q({__name:"Home",setup(ee){const V=Z(),r=st(),E=lt(),y=l(!1),h=l([]),f=l(+r.query.p||1),w=l(20),b=l(0),U=Te(()=>{let i="泡泡广场";return r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?i="#"+decodeURIComponent(r.query.q):i="搜索: "+decodeURIComponent(r.query.q)),i}),R=()=>{y.value=!0,Le({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:f.value,page_size:w.value}).then(i=>{y.value=!1,h.value=i.list,b.value=Math.ceil(i.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(i=>{y.value=!1})},A=i=>{if(f.value!=1){E.push({name:"post",query:{id:i.id}});return}let g=[],k=h.value.length;k==w.value&&k--;for(var m=0;m{E.push({name:"home",query:{...r.query,p:i}})};return X(()=>{R()}),Ue(()=>({path:r.path,query:r.query,refresh:V.state.refresh}),(i,g)=>{if(i.refresh!==g.refresh){f.value=+r.query.p||1,setTimeout(()=>{R()},0);return}g.path!=="/post"&&i.path==="/"&&(f.value=+r.query.p||1,setTimeout(()=>{R()},0))}),(i,g)=>{const k=nt,m=kt,C=at,x=Ie,M=ot,P=qe,B=et,F=tt;return c(),v("div",null,[t(k,{title:$(U)},null,8,["title"]),t(B,{class:"main-content-wrap",bordered:""},{default:s(()=>[t(C,null,{default:s(()=>[t(m,{onPostSuccess:A})]),_:1}),y.value?(c(),v("div",Ct,[t(x,{num:w.value},null,8,["num"])])):(c(),v("div",$t,[h.value.length===0?(c(),v("div",qt,[t(M,{size:"large",description:"暂无数据"})])):q("",!0),(c(!0),v(Y,null,W(h.value,O=>(c(),N(C,{key:O.id},{default:s(()=>[t(P,{post:O},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),b.value>0?(c(),v("div",It,[t(F,{page:f.value,"onUpdate:page":d,"page-slot":$(V).state.collapsedRight?5:8,"page-count":b.value},null,8,["page","page-slot","page-count"])])):q("",!0)])}}});const la=ze(Tt,[["__scopeId","data-v-936146f2"]]);export{la as default}; +import{_ as qe}from"./post-item.vue_vue_type_style_index_0_lang-c93cad29.js";import{_ as Ie}from"./post-skeleton-5cb6f6d4.js";import{d as Q,r as l,j as X,o as c,c as v,Y as $,a as I,L as t,$ as s,K as N,O as q,a0 as K,e as z,M as G,F as Y,a2 as W,n as Te,w as Ue}from"./@vue-ca177dbe.js";import{u as Z}from"./vuex-d28e9067.js";import{l as J}from"./lodash-3329902d.js";import{g as xe,a as Ee,c as Re,b as Le,_ as ze}from"./index-f9e09224.js";import{p as Ae}from"./content-a3ccbaf1.js";import{V as T,P as S}from"./IEnum-a180d93e.js";import{I as Pe,V as Se,A as Ne,d as Ve,E as Be}from"./@vicons-6d35273b.js";import{o as Oe,v as Me,j as Fe,e as De,w as je,x as He,y as Ke,z as Ge,A as Je,B as Qe,C as Xe,a as Ye,D as We,E as Ze,F as et,G as tt,H as at,I as ot}from"./naive-ui-2035804c.js";import{_ as nt}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{b as st,u as lt}from"./vue-router-88cc84d1.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-db921567.js";const it={key:0,class:"compose-wrap"},ut={class:"compose-line"},rt={class:"compose-user"},ct={class:"compose-line compose-options"},pt={class:"attachment"},_t={class:"submit-wrap"},dt={class:"attachment-list-wrap"},mt={key:0,class:"attachment-price-wrap"},vt=I("span",null," 附件价格¥",-1),gt={key:0,class:"eye-wrap"},ft={key:1,class:"link-wrap"},yt={key:1,class:"compose-wrap"},ht=I("div",{class:"login-wrap"},[I("span",{class:"login-banner"}," 登录后,精彩更多")],-1),wt={key:0,class:"login-only-wrap"},bt={key:1,class:"login-wrap"},kt=Q({__name:"compose",emits:["post-success"],setup(ee,{emit:V}){const r=Z(),E=l([]),y=l(!1),h=l(!1),f=l(!1),w=l(!1),b=l(""),U=l([]),R=l(),A=l(0),d=l("public/image"),i=l([]),g=l([]),k=l([]),m=l([]),C=l(T.FRIEND),x=l(T.FRIEND),M=[{value:T.PUBLIC,label:"公开"},{value:T.PRIVATE,label:"私密"},{value:T.FRIEND,label:"好友可见"}],P=+"300",B=l("true".toLowerCase()==="true"),F=l("true".toLowerCase()==="true"),O=l("true".toLowerCase()==="true"),te=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),oe="/v1/attachment",H=l(),ne=()=>{f.value=!f.value,f.value&&w.value&&(w.value=!1)},se=()=>{w.value=!w.value,w.value&&f.value&&(f.value=!1)},le=J.debounce(a=>{xe({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),E.value=n,y.value=!1}).catch(e=>{y.value=!1})},200),ie=J.debounce(a=>{Ee({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),E.value=n,y.value=!1}).catch(e=>{y.value=!1})},200),ue=(a,e)=>{y.value||(y.value=!0,e==="@"?le(a):ie(a))},re=a=>{a.length>P||(b.value=a)},D=a=>{d.value=a},ce=a=>{i.value=a},pe=async a=>{var e,n,o,u,_,L;return d.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=a.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):d.value==="image"&&((n=a.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):d.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=a.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):d.value==="public/video"&&((u=a.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):d.value==="attachment"&&!["application/zip"].includes((_=a.file.file)==null?void 0:_.type)?(window.$message.warning("附件仅允许 zip 格式"),!1):d.value==="attachment"&&((L=a.file.file)==null?void 0:L.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(d.value==="public/image"&&g.value.push({id:a.id,content:o.data.content}),d.value==="public/video"&&k.value.push({id:a.id,content:o.data.content}),d.value==="attachment"&&m.value.push({id:a.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let u=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(_=>{u+=":"+_}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},me=({file:a})=>{let e=g.value.findIndex(n=>n.id===a.id);e>-1&&g.value.splice(e,1),e=k.value.findIndex(n=>n.id===a.id),e>-1&&k.value.splice(e,1),e=m.value.findIndex(n=>n.id===a.id),e>-1&&m.value.splice(e,1)},ve=()=>{if(b.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:a,users:e}=Ae(b.value);const n=[];let o=100;n.push({content:b.value,type:S.TEXT,sort:o}),g.value.map(u=>{o++,n.push({content:u.content,type:S.IMAGEURL,sort:o})}),k.value.map(u=>{o++,n.push({content:u.content,type:S.VIDEOURL,sort:o})}),m.value.map(u=>{o++,n.push({content:u.content,type:S.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(u=>{o++,n.push({content:u,type:S.LINKURL,sort:o})}),h.value=!0,Re({contents:n,tags:Array.from(new Set(a)),users:Array.from(new Set(e)),attachment_price:+A.value*100,visibility:C.value}).then(u=>{var _;window.$message.success("发布成功"),h.value=!1,V("post-success",u),f.value=!1,w.value=!1,(_=R.value)==null||_.clear(),i.value=[],b.value="",U.value=[],g.value=[],k.value=[],m.value=[],C.value=x.value}).catch(u=>{h.value=!1})},j=a=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",a)};return X(()=>{"friend".toLowerCase()==="friend"?x.value=T.FRIEND:"friend".toLowerCase()==="public"?x.value=T.PUBLIC:x.value=T.PRIVATE,C.value=x.value,H.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(a,e)=>{const n=Oe,o=Me,u=Fe,_=De,L=je,ge=He,fe=Ke,ye=Ge,he=Je,we=Qe,be=Xe,ke=Ye,Ce=We,$e=Ze;return c(),v("div",null,[$(r).state.userInfo.id>0?(c(),v("div",it,[I("div",ut,[I("div",rt,[t(n,{round:"",size:30,src:$(r).state.userInfo.avatar},null,8,["src"])]),t(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:y.value,value:b.value,prefix:["@","#"],options:E.value,onSearch:ue,"onUpdate:value":re,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),t(we,{ref_key:"uploadRef",ref:R,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:H.value},data:{type:d.value},onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[I("div",ct,[I("div",pt,[t(L,{abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value==="public/video"||i.value.length===9,onClick:()=>{D("public/image"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Pe))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),F.value?(c(),N(L,{key:0,abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value!=="public/video"||i.value.length===9,onClick:()=>{D("public/video"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):q("",!0),O.value?(c(),N(L,{key:1,abstract:""},{default:s(({handleClick:p})=>[t(_,{disabled:i.value.length>0&&d.value==="public/video"||i.value.length===9,onClick:()=>{D("attachment"),p()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):q("",!0),t(_,{quaternary:"",circle:"",type:"primary",onClick:K(ne,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Ve))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),N(_,{key:2,quaternary:"",circle:"",type:"primary",onClick:K(se,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t($(Be))]),_:1})]),_:1},8,["onClick"])):q("",!0)]),I("div",_t,[t(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[t(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:b.value.length/$(P)*100},null,8,["percentage"])]),default:s(()=>[z(" "+G(b.value.length)+" / "+G($(P)),1)]),_:1}),t(_,{loading:h.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[z(" 发布 ")]),_:1},8,["loading"])])]),I("div",dt,[t(ye),m.value.length>0?(c(),v("div",mt,[te.value?(c(),N(he,{key:0,value:A.value,"onUpdate:value":e[0]||(e[0]=p=>A.value=p),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[vt]),_:1},8,["value"])):q("",!0)])):q("",!0)])]),_:1},8,["headers","data"]),w.value?(c(),v("div",gt,[t(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=p=>C.value=p),name:"radiogroup"},{default:s(()=>[t(ke,null,{default:s(()=>[(c(),v(Y,null,W(M,p=>t(be,{key:p.value,value:p.value,label:p.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):q("",!0),f.value?(c(),v("div",ft,[t($e,{value:U.value,"onUpdate:value":e[2]||(e[2]=p=>U.value=p),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[z(" 创建链接 ")]),_:1},8,["value"])])):q("",!0)])):(c(),v("div",yt,[ht,B.value?q("",!0):(c(),v("div",wt,[t(_,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=p=>j("signin"))},{default:s(()=>[z(" 登录 ")]),_:1})])),B.value?(c(),v("div",bt,[t(_,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=p=>j("signin"))},{default:s(()=>[z(" 登录 ")]),_:1}),t(_,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=p=>j("signup"))},{default:s(()=>[z(" 注册 ")]),_:1})])):q("",!0)]))])}}});const Ct={key:0,class:"skeleton-wrap"},$t={key:1},qt={key:0,class:"empty-wrap"},It={key:0,class:"pagination-wrap"},Tt=Q({__name:"Home",setup(ee){const V=Z(),r=st(),E=lt(),y=l(!1),h=l([]),f=l(+r.query.p||1),w=l(20),b=l(0),U=Te(()=>{let i="泡泡广场";return r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?i="#"+decodeURIComponent(r.query.q):i="搜索: "+decodeURIComponent(r.query.q)),i}),R=()=>{y.value=!0,Le({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:f.value,page_size:w.value}).then(i=>{y.value=!1,h.value=i.list,b.value=Math.ceil(i.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(i=>{y.value=!1})},A=i=>{if(f.value!=1){E.push({name:"post",query:{id:i.id}});return}let g=[],k=h.value.length;k==w.value&&k--;for(var m=0;m{E.push({name:"home",query:{...r.query,p:i}})};return X(()=>{R()}),Ue(()=>({path:r.path,query:r.query,refresh:V.state.refresh}),(i,g)=>{if(i.refresh!==g.refresh){f.value=+r.query.p||1,setTimeout(()=>{R()},0);return}g.path!=="/post"&&i.path==="/"&&(f.value=+r.query.p||1,setTimeout(()=>{R()},0))}),(i,g)=>{const k=nt,m=kt,C=at,x=Ie,M=ot,P=qe,B=et,F=tt;return c(),v("div",null,[t(k,{title:$(U)},null,8,["title"]),t(B,{class:"main-content-wrap",bordered:""},{default:s(()=>[t(C,null,{default:s(()=>[t(m,{onPostSuccess:A})]),_:1}),y.value?(c(),v("div",Ct,[t(x,{num:w.value},null,8,["num"])])):(c(),v("div",$t,[h.value.length===0?(c(),v("div",qt,[t(M,{size:"large",description:"暂无数据"})])):q("",!0),(c(!0),v(Y,null,W(h.value,O=>(c(),N(C,{key:O.id},{default:s(()=>[t(P,{post:O},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),b.value>0?(c(),v("div",It,[t(F,{page:f.value,"onUpdate:page":d,"page-slot":$(V).state.collapsedRight?5:8,"page-count":b.value},null,8,["page","page-slot","page-count"])])):q("",!0)])}}});const la=ze(Tt,[["__scopeId","data-v-936146f2"]]);export{la as default}; diff --git a/web/dist/assets/Messages-86b8d0d2.js b/web/dist/assets/Messages-d46eab4a.js similarity index 97% rename from web/dist/assets/Messages-86b8d0d2.js rename to web/dist/assets/Messages-d46eab4a.js index 71ba8cbb..90d7765a 100644 --- a/web/dist/assets/Messages-86b8d0d2.js +++ b/web/dist/assets/Messages-d46eab4a.js @@ -1 +1 @@ -import{d as b,a1 as V,o as a,c as o,L as n,$ as i,a as k,a0 as $,e as u,M as g,K as z,O as l,Y as p,a4 as A,a2 as N,F as O,r as y,j as D}from"./@vue-ca177dbe.js";import{u as L,b as G}from"./vue-router-88cc84d1.js";import{G as H,H as P,I as T,_ as F,J as U}from"./index-f248e035.js";import{a as E}from"./formatTime-000dbebb.js";import{q as J,r as K,s as q,t as Y}from"./@vicons-6d35273b.js";import{o as Q,l as W,j as X,S as Z,L as ee,U as se,F as te,G as ne,I as ae,H as oe}from"./naive-ui-2035804c.js";import{_ as ie}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{u as le}from"./vuex-d28e9067.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const re={class:"sender-wrap"},ce={key:0,class:"nickname"},_e={class:"username"},ue={key:1,class:"nickname"},de={class:"timestamp"},me={class:"timestamp-txt"},pe={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke=b({__name:"message-item",props:{message:null},setup(e){const h="https://assets.paopao.info/public/avatar/default/admin.png",w=L(),r=s=>{c(s),(s.type===1||s.type===2||s.type===3)&&(s.post&&s.post.id>0?w.push({name:"post",query:{id:s.post_id}}):window.$message.error("该动态已被删除"))},d=s=>{c(s),H({user_id:s.sender_user_id}).then(t=>{s.reply_id=2,window.$message.success("已同意添加好友")}).catch(t=>{console.log(t)})},v=s=>{c(s),P({user_id:s.sender_user_id}).then(t=>{s.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(t=>{console.log(t)})},c=s=>{s.is_read===0&&T({id:s.id}).then(t=>{s.is_read=1}).catch(t=>{console.log(t)})};return(s,t)=>{const x=Q,_=V("router-link"),I=W,m=X,C=Z,M=ee;return a(),o("div",{class:A(["message-item",{unread:e.message.is_read===0}]),onClick:t[4]||(t[4]=f=>c(e.message))},[n(M,{"content-indented":""},{avatar:i(()=>[n(x,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:h},null,8,["src"])]),header:i(()=>[k("div",re,[e.message.sender_user.id>0?(a(),o("span",ce,[n(_,{onClick:t[0]||(t[0]=$(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:i(()=>[u(g(e.message.sender_user.nickname),1)]),_:1},8,["to"]),k("span",_e," @"+g(e.message.sender_user.username),1)])):(a(),o("span",ue," 系统 "))])]),"header-extra":i(()=>[k("span",de,[e.message.is_read===0?(a(),z(I,{key:0,dot:"",processing:""})):l("",!0),k("span",me,g(p(E)(e.message.created_on)),1)])]),description:i(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:i(()=>[e.message.type!=4?(a(),o("div",pe,[u(g(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(a(),o("span",{key:0,onClick:t[1]||(t[1]=$(f=>r(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(J))]),_:1}),u(" 查看详情 ")])):l("",!0)])):l("",!0),e.message.type===4?(a(),o("div",ge,g(e.message.content),1)):l("",!0),e.message.type===5?(a(),o("div",ve,[u(g(e.message.content)+" ",1),e.message.reply_id===1?(a(),o("span",{key:0,onClick:t[2]||(t[2]=$(f=>d(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(K))]),_:1}),u(" 同意 ")])):l("",!0),e.message.reply_id===1?(a(),o("span",{key:1,onClick:t[3]||(t[3]=$(f=>v(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(q))]),_:1}),u(" 拒绝 ")])):l("",!0),e.message.reply_id===2?(a(),o("span",fe,[n(m,null,{default:i(()=>[n(p(Y))]),_:1}),u(" 已同意 ")])):l("",!0),e.message.reply_id===3?(a(),o("span",ye,[n(m,null,{default:i(()=>[n(p(q))]),_:1}),u(" 已拒绝 ")])):l("",!0)])):l("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const he=F(ke,[["__scopeId","data-v-4a0e27fa"]]),we={class:"content"},$e=b({__name:"message-skeleton",props:{num:{default:1}},setup(e){return(h,w)=>{const r=se;return a(!0),o(O,null,N(new Array(e.num),d=>(a(),o("div",{class:"skeleton-item",key:d},[k("div",we,[n(r,{text:"",repeat:2}),n(r,{text:"",style:{width:"60%"}})])]))),128)}}});const xe=F($e,[["__scopeId","data-v-01d2e871"]]),Ce={key:0,class:"skeleton-wrap"},Me={key:1},be={key:0,class:"empty-wrap"},Fe={key:0,class:"pagination-wrap"},Ie=b({__name:"Messages",setup(e){const h=G(),w=le(),r=y(!1),d=y(+h.query.p||1),v=y(10),c=y(0),s=y([]),t=()=>{r.value=!0,U({page:d.value,page_size:v.value}).then(_=>{r.value=!1,s.value=_.list,c.value=Math.ceil(_.pager.total_rows/v.value)}).catch(_=>{r.value=!1})},x=_=>{d.value=_,t()};return D(()=>{t()}),(_,I)=>{const m=ie,C=xe,M=ae,f=he,R=oe,j=te,B=ne;return a(),o("div",null,[n(m,{title:"消息"}),n(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:i(()=>[r.value?(a(),o("div",Ce,[n(C,{num:v.value},null,8,["num"])])):(a(),o("div",Me,[s.value.length===0?(a(),o("div",be,[n(M,{size:"large",description:"暂无数据"})])):l("",!0),(a(!0),o(O,null,N(s.value,S=>(a(),z(R,{key:S.id},{default:i(()=>[n(f,{message:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),c.value>0?(a(),o("div",Fe,[n(B,{page:d.value,"onUpdate:page":x,"page-slot":p(w).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)])}}});const Ze=F(Ie,[["__scopeId","data-v-4e7b1342"]]);export{Ze as default}; +import{d as b,a1 as V,o as a,c as o,L as n,$ as i,a as k,a0 as $,e as u,M as g,K as z,O as l,Y as p,a4 as A,a2 as N,F as O,r as y,j as D}from"./@vue-ca177dbe.js";import{u as L,b as G}from"./vue-router-88cc84d1.js";import{G as H,H as P,I as T,_ as F,J as U}from"./index-f9e09224.js";import{a as E}from"./formatTime-000dbebb.js";import{q as J,r as K,s as q,t as Y}from"./@vicons-6d35273b.js";import{o as Q,l as W,j as X,S as Z,L as ee,U as se,F as te,G as ne,I as ae,H as oe}from"./naive-ui-2035804c.js";import{_ as ie}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{u as le}from"./vuex-d28e9067.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const re={class:"sender-wrap"},ce={key:0,class:"nickname"},_e={class:"username"},ue={key:1,class:"nickname"},de={class:"timestamp"},me={class:"timestamp-txt"},pe={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke=b({__name:"message-item",props:{message:null},setup(e){const h="https://assets.paopao.info/public/avatar/default/admin.png",w=L(),r=s=>{c(s),(s.type===1||s.type===2||s.type===3)&&(s.post&&s.post.id>0?w.push({name:"post",query:{id:s.post_id}}):window.$message.error("该动态已被删除"))},d=s=>{c(s),H({user_id:s.sender_user_id}).then(t=>{s.reply_id=2,window.$message.success("已同意添加好友")}).catch(t=>{console.log(t)})},v=s=>{c(s),P({user_id:s.sender_user_id}).then(t=>{s.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(t=>{console.log(t)})},c=s=>{s.is_read===0&&T({id:s.id}).then(t=>{s.is_read=1}).catch(t=>{console.log(t)})};return(s,t)=>{const x=Q,_=V("router-link"),I=W,m=X,C=Z,M=ee;return a(),o("div",{class:A(["message-item",{unread:e.message.is_read===0}]),onClick:t[4]||(t[4]=f=>c(e.message))},[n(M,{"content-indented":""},{avatar:i(()=>[n(x,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:h},null,8,["src"])]),header:i(()=>[k("div",re,[e.message.sender_user.id>0?(a(),o("span",ce,[n(_,{onClick:t[0]||(t[0]=$(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:i(()=>[u(g(e.message.sender_user.nickname),1)]),_:1},8,["to"]),k("span",_e," @"+g(e.message.sender_user.username),1)])):(a(),o("span",ue," 系统 "))])]),"header-extra":i(()=>[k("span",de,[e.message.is_read===0?(a(),z(I,{key:0,dot:"",processing:""})):l("",!0),k("span",me,g(p(E)(e.message.created_on)),1)])]),description:i(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:i(()=>[e.message.type!=4?(a(),o("div",pe,[u(g(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(a(),o("span",{key:0,onClick:t[1]||(t[1]=$(f=>r(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(J))]),_:1}),u(" 查看详情 ")])):l("",!0)])):l("",!0),e.message.type===4?(a(),o("div",ge,g(e.message.content),1)):l("",!0),e.message.type===5?(a(),o("div",ve,[u(g(e.message.content)+" ",1),e.message.reply_id===1?(a(),o("span",{key:0,onClick:t[2]||(t[2]=$(f=>d(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(K))]),_:1}),u(" 同意 ")])):l("",!0),e.message.reply_id===1?(a(),o("span",{key:1,onClick:t[3]||(t[3]=$(f=>v(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(q))]),_:1}),u(" 拒绝 ")])):l("",!0),e.message.reply_id===2?(a(),o("span",fe,[n(m,null,{default:i(()=>[n(p(Y))]),_:1}),u(" 已同意 ")])):l("",!0),e.message.reply_id===3?(a(),o("span",ye,[n(m,null,{default:i(()=>[n(p(q))]),_:1}),u(" 已拒绝 ")])):l("",!0)])):l("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const he=F(ke,[["__scopeId","data-v-4a0e27fa"]]),we={class:"content"},$e=b({__name:"message-skeleton",props:{num:{default:1}},setup(e){return(h,w)=>{const r=se;return a(!0),o(O,null,N(new Array(e.num),d=>(a(),o("div",{class:"skeleton-item",key:d},[k("div",we,[n(r,{text:"",repeat:2}),n(r,{text:"",style:{width:"60%"}})])]))),128)}}});const xe=F($e,[["__scopeId","data-v-01d2e871"]]),Ce={key:0,class:"skeleton-wrap"},Me={key:1},be={key:0,class:"empty-wrap"},Fe={key:0,class:"pagination-wrap"},Ie=b({__name:"Messages",setup(e){const h=G(),w=le(),r=y(!1),d=y(+h.query.p||1),v=y(10),c=y(0),s=y([]),t=()=>{r.value=!0,U({page:d.value,page_size:v.value}).then(_=>{r.value=!1,s.value=_.list,c.value=Math.ceil(_.pager.total_rows/v.value)}).catch(_=>{r.value=!1})},x=_=>{d.value=_,t()};return D(()=>{t()}),(_,I)=>{const m=ie,C=xe,M=ae,f=he,R=oe,j=te,B=ne;return a(),o("div",null,[n(m,{title:"消息"}),n(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:i(()=>[r.value?(a(),o("div",Ce,[n(C,{num:v.value},null,8,["num"])])):(a(),o("div",Me,[s.value.length===0?(a(),o("div",be,[n(M,{size:"large",description:"暂无数据"})])):l("",!0),(a(!0),o(O,null,N(s.value,S=>(a(),z(R,{key:S.id},{default:i(()=>[n(f,{message:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),c.value>0?(a(),o("div",Fe,[n(B,{page:d.value,"onUpdate:page":x,"page-slot":p(w).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)])}}});const Ze=F(Ie,[["__scopeId","data-v-4e7b1342"]]);export{Ze as default}; diff --git a/web/dist/assets/Post-fc3a4d8c.js b/web/dist/assets/Post-fde9a5fe.js similarity index 99% rename from web/dist/assets/Post-fc3a4d8c.js rename to web/dist/assets/Post-fde9a5fe.js index 16a384fd..73117014 100644 --- a/web/dist/assets/Post-fc3a4d8c.js +++ b/web/dist/assets/Post-fde9a5fe.js @@ -1 +1 @@ -import{d as Q,r as u,a1 as de,o as n,c,a as d,L as t,$ as a,e as I,M as T,K as z,O as i,Y as e,a0 as j,n as ae,a6 as Ue,F as le,a2 as ie,j as me,U as ge,V as ye,w as Pe}from"./@vue-ca177dbe.js";import{u as ee}from"./vuex-d28e9067.js";import{f as ce}from"./formatTime-000dbebb.js";import{t as Re,d as Se,e as Le,_ as te,f as Ae,h as De,i as Me,j as Oe,g as qe,k as Be,l as Ee,m as Ne,n as je,o as Ve,s as He,v as Fe,p as Ye,q as Ke,r as Je,u as he}from"./index-f248e035.js";import{Y as ue,V as Z}from"./IEnum-a180d93e.js";import{T as ke,e as re,f as we,g as _e,h as be,I as Ge,i as Qe,j as We,k as Xe,l as Ze,m as et,n as tt,o as st}from"./@vicons-6d35273b.js";import{j as se,e as oe,J as $e,b as ot,K as nt,o as ve,L as Ce,v as at,w as lt,x as it,y as ct,z as ut,B as rt,M as _t,O as pt,i as dt,P as mt,a as xe,F as vt,I as ft,k as ht,H as gt,f as yt,g as kt}from"./naive-ui-2035804c.js";import{p as fe,_ as Ie,a as wt,b as bt,c as $t}from"./content-08a31875.js";import{u as Te,b as Ct}from"./vue-router-88cc84d1.js";import{_ as xt}from"./post-skeleton-765fdbf7.js";import{l as It}from"./lodash-3329902d.js";import{a as Tt}from"./copy-to-clipboard-ca358197.js";import{_ as zt}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{K as Ut}from"./v3-infinite-loading-fcb59c38.js";import"./moment-b7869f98.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-db921567.js";import"./toggle-selection-93f4ad84.js";const Pt={class:"reply-item"},Rt={class:"header-wrap"},St={class:"username"},Lt={class:"reply-name"},At={class:"timestamp"},Dt={class:"base-wrap"},Mt={class:"content"},Ot={class:"reply-switch"},qt={class:"time-item"},Bt={class:"actions"},Et={class:"upvote-count"},Nt=["onClick"],jt={class:"upvote-count"},Vt={key:2,class:"action-item"},Ht=["onClick"],Ft=Q({__name:"reply-item",props:{tweetId:null,reply:null},emits:["focusReply","reload"],setup(A,{emit:O}){const l=A,r=ee(),g=u(l.reply.is_thumbs_up==ue.YES),y=u(l.reply.is_thumbs_down==ue.YES),w=u(l.reply.thumbs_up_count),S=()=>{Re({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(k=>{g.value=!g.value,g.value?(w.value++,y.value=!1):w.value--}).catch(k=>{console.log(k)})},_=()=>{Se({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(k=>{y.value=!y.value,y.value&&g.value&&(w.value--,g.value=!1)}).catch(k=>{console.log(k)})},C=()=>{O("focusReply",l.reply)},f=()=>{Le({id:l.reply.id}).then(k=>{window.$message.success("删除成功"),setTimeout(()=>{O("reload")},50)}).catch(k=>{console.log(k)})};return(k,U)=>{const s=de("router-link"),h=se,b=oe,$=$e;return n(),c("div",Pt,[d("div",Rt,[d("div",St,[t(s,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:a(()=>[I(T(l.reply.user.username),1)]),_:1},8,["to"]),d("span",Lt,T(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(n(),z(s,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:a(()=>[I(T(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),d("div",At,[I(T(l.reply.ip_loc)+" ",1),e(r).state.userInfo.is_admin||e(r).state.userInfo.id===l.reply.user.id?(n(),z($,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:f},{trigger:a(()=>[t(b,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:a(()=>[t(h,null,{default:a(()=>[t(e(ke))]),_:1})]),_:1})]),default:a(()=>[I(" 是否确认删除? ")]),_:1})):i("",!0)])]),d("div",Dt,[d("div",Mt,T(l.reply.content),1),d("div",Ot,[d("span",qt,T(e(ce)(l.reply.created_on)),1),d("div",Bt,[e(r).state.userLogined?i("",!0):(n(),c("div",{key:0,class:"action-item",onClick:U[0]||(U[0]=j(()=>{},["stop"]))},[t(h,{size:"medium"},{default:a(()=>[t(e(re))]),_:1}),d("span",Et,T(w.value),1)])),e(r).state.userLogined?(n(),c("div",{key:1,class:"action-item hover",onClick:j(S,["stop"])},[t(h,{size:"medium"},{default:a(()=>[g.value?i("",!0):(n(),z(e(re),{key:0})),g.value?(n(),z(e(we),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",jt,T(w.value),1)],8,Nt)):i("",!0),e(r).state.userLogined?i("",!0):(n(),c("div",Vt,[t(h,{size:"medium"},{default:a(()=>[t(e(_e))]),_:1})])),e(r).state.userLogined?(n(),c("div",{key:3,class:"action-item hover",onClick:j(_,["stop"])},[t(h,{size:"medium"},{default:a(()=>[y.value?i("",!0):(n(),z(e(_e),{key:0})),y.value?(n(),z(e(be),{key:1,class:"show"})):i("",!0)]),_:1})],8,Ht)):i("",!0),e(r).state.userLogined?(n(),c("span",{key:4,class:"show opacity-item reply-btn",onClick:C}," 回复 ")):i("",!0)])])])])}}});const Yt=te(Ft,[["__scopeId","data-v-783f5693"]]),Kt={class:"reply-compose-wrap"},Jt={class:"reply-switch"},Gt={class:"time-item"},Qt={class:"actions"},Wt={key:0,class:"action-item"},Xt={class:"upvote-count"},Zt=["onClick"],es={class:"upvote-count"},ts={key:2,class:"action-item"},ss=["onClick"],os={key:0,class:"reply-input-wrap"},ns=Q({__name:"compose-reply",props:{comment:null,atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(A,{expose:O,emit:l}){const r=A,g=ee(),y=u(),w=u(!1),S=u(""),_=u(!1),C=u(r.comment.is_thumbs_up==ue.YES),f=u(r.comment.is_thumbs_down==ue.YES),k=u(r.comment.thumbs_up_count),U=()=>{Ae({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then($=>{C.value=!C.value,C.value?(k.value++,f.value=!1):k.value--}).catch($=>{console.log($)})},s=()=>{De({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then($=>{f.value=!f.value,f.value&&C.value&&(k.value--,C.value=!1)}).catch($=>{console.log($)})},h=$=>{w.value=$,$?setTimeout(()=>{var x;(x=y.value)==null||x.focus()},10):(_.value=!1,S.value="",l("reset"))},b=()=>{_.value=!0,Me({comment_id:r.comment.id,at_user_id:r.atUserid,content:S.value}).then($=>{h(!1),window.$message.success("评论成功"),l("reload")}).catch($=>{_.value=!1})};return O({switchReply:h}),($,x)=>{const M=se,q=ot,Y=oe,E=nt;return n(),c("div",Kt,[d("div",Jt,[d("span",Gt,T(e(ce)(A.comment.created_on)),1),d("div",Qt,[e(g).state.userLogined?i("",!0):(n(),c("div",Wt,[t(M,{size:"medium"},{default:a(()=>[t(e(re))]),_:1}),d("span",Xt,T(k.value),1)])),e(g).state.userLogined?(n(),c("div",{key:1,class:"action-item hover",onClick:j(U,["stop"])},[t(M,{size:"medium"},{default:a(()=>[C.value?i("",!0):(n(),z(e(re),{key:0})),C.value?(n(),z(e(we),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",es,T(k.value),1)],8,Zt)):i("",!0),e(g).state.userLogined?i("",!0):(n(),c("div",ts,[t(M,{size:"medium"},{default:a(()=>[t(e(_e))]),_:1})])),e(g).state.userLogined?(n(),c("div",{key:3,class:"action-item hover",onClick:j(s,["stop"])},[t(M,{size:"medium"},{default:a(()=>[f.value?i("",!0):(n(),z(e(_e),{key:0})),f.value?(n(),z(e(be),{key:1,class:"show"})):i("",!0)]),_:1})],8,ss)):i("",!0),e(g).state.userLogined&&!w.value?(n(),c("span",{key:4,class:"show reply-btn",onClick:x[0]||(x[0]=N=>h(!0))}," 回复 ")):i("",!0),e(g).state.userLogined&&w.value?(n(),c("span",{key:5,class:"hide reply-btn",onClick:x[1]||(x[1]=N=>h(!1))}," 取消 ")):i("",!0)])]),w.value?(n(),c("div",os,[t(E,null,{default:a(()=>[t(q,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:r.atUsername?"@"+r.atUsername:"请输入回复内容..",maxlength:"100",value:S.value,"onUpdate:value":x[2]||(x[2]=N=>S.value=N),"show-count":"",clearable:""},null,8,["placeholder","value"]),t(Y,{type:"primary",size:"small",ghost:"",loading:_.value,onClick:b},{default:a(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const as=te(ns,[["__scopeId","data-v-0f1721e2"]]),ls={class:"comment-item"},is={class:"nickname-wrap"},cs={class:"username-wrap"},us={class:"opt-wrap"},rs={class:"timestamp"},_s=["innerHTML"],ps={class:"reply-wrap"},ds=Q({__name:"comment-item",props:{comment:null},emits:["reload"],setup(A,{emit:O}){const l=A,r=ee(),g=Te(),y=u(0),w=u(""),S=u(),_=ae(()=>{let h=Object.assign({texts:[],imgs:[]},l.comment);return h.contents.map(b=>{(+b.type==1||+b.type==2)&&h.texts.push(b),+b.type==3&&h.imgs.push(b)}),h}),C=(h,b)=>{let $=h.target;if($.dataset.detail){const x=$.dataset.detail.split(":");x.length===2&&(r.commit("refresh"),x[0]==="tag"?window.$message.warning("评论内的无效话题"):g.push({name:"user",query:{username:x[1]}}))}},f=h=>{var b,$;y.value=h.user_id,w.value=((b=h.user)==null?void 0:b.username)||"",($=S.value)==null||$.switchReply(!0)},k=()=>{O("reload")},U=()=>{y.value=0,w.value=""},s=()=>{Oe({id:_.value.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{k()},50)}).catch(h=>{})};return(h,b)=>{const $=ve,x=de("router-link"),M=se,q=oe,Y=$e,E=Ie,N=as,L=Yt,D=Ce;return n(),c("div",ls,[t(D,{"content-indented":""},Ue({avatar:a(()=>[t($,{round:"",size:30,src:e(_).user.avatar},null,8,["src"])]),header:a(()=>[d("span",is,[t(x,{onClick:b[0]||(b[0]=j(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(_).user.username}}},{default:a(()=>[I(T(e(_).user.nickname),1)]),_:1},8,["to"])]),d("span",cs," @"+T(e(_).user.username),1)]),"header-extra":a(()=>[d("div",us,[d("span",rs,T(e(_).ip_loc),1),e(r).state.userInfo.is_admin||e(r).state.userInfo.id===e(_).user.id?(n(),z(Y,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:s},{trigger:a(()=>[t(q,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:a(()=>[t(M,null,{default:a(()=>[t(e(ke))]),_:1})]),_:1})]),default:a(()=>[I(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:a(()=>[e(_).imgs.length>0?(n(),z(E,{key:0,imgs:e(_).imgs},null,8,["imgs"])):i("",!0),t(N,{ref_key:"replyComposeRef",ref:S,comment:e(_),"at-userid":y.value,"at-username":w.value,onReload:k,onReset:U},null,8,["comment","at-userid","at-username"]),d("div",ps,[(n(!0),c(le,null,ie(e(_).replies,o=>(n(),z(L,{key:o.id,reply:o,"tweet-id":e(_).post_id,onFocusReply:f,onReload:k},null,8,["reply","tweet-id"]))),128))])]),_:2},[e(_).texts.length>0?{name:"description",fn:a(()=>[(n(!0),c(le,null,ie(e(_).texts,o=>(n(),c("span",{key:o.id,class:"comment-text",onClick:b[1]||(b[1]=j(p=>C(p,e(_).id),["stop"])),innerHTML:e(fe)(o.content).content},null,8,_s))),128))]),key:"0"}:void 0]),1024)])}}});const ms=te(ds,[["__scopeId","data-v-f206d4d8"]]),vs=A=>(ge("data-v-ca3e6071"),A=A(),ye(),A),fs={key:0,class:"compose-wrap"},hs={class:"compose-line"},gs={class:"compose-user"},ys={class:"compose-line compose-options"},ks={class:"attachment"},ws={class:"submit-wrap"},bs={class:"attachment-list-wrap"},$s={key:1,class:"compose-wrap"},Cs=vs(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),xs={key:0,class:"login-only-wrap"},Is={key:1,class:"login-wrap"},Ts=Q({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(A,{emit:O}){const l=A,r=ee(),g=u([]),y=u(!1),w=u(!1),S=u(!1),_=u(""),C=u(),f=u("public/image"),k=u([]),U=u([]),s=u("true".toLowerCase()==="true"),h="/v1/attachment",b=u(),$=It.debounce(m=>{qe({k:m}).then(v=>{let P=[];v.suggest.map(R=>{P.push({label:R,value:R})}),g.value=P,w.value=!1}).catch(v=>{w.value=!1})},200),x=(m,v)=>{w.value||(w.value=!0,v==="@"&&$(m))},M=m=>{m.length>200||(_.value=m)},q=m=>{f.value=m},Y=m=>{k.value=m},E=async m=>{var v,P;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((v=m.file.file)==null?void 0:v.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((P=m.file.file)==null?void 0:P.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},N=({file:m,event:v})=>{var P;try{let R=JSON.parse((P=v.target)==null?void 0:P.response);R.code===0&&f.value==="public/image"&&U.value.push({id:m.id,content:R.data.content})}catch{window.$message.error("上传失败")}},L=({file:m,event:v})=>{var P;try{let R=JSON.parse((P=v.target)==null?void 0:P.response);if(R.code!==0){let H=R.msg||"上传失败";R.details&&R.details.length>0&&R.details.map(B=>{H+=":"+B}),window.$message.error(H)}}catch{window.$message.error("上传失败")}},D=({file:m})=>{let v=U.value.findIndex(P=>P.id===m.id);v>-1&&U.value.splice(v,1)},o=()=>{y.value=!0},p=()=>{var m;y.value=!1,(m=C.value)==null||m.clear(),k.value=[],_.value="",U.value=[]},V=()=>{if(_.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:m}=fe(_.value);const v=[];let P=100;v.push({content:_.value,type:2,sort:P}),U.value.map(R=>{P++,v.push({content:R.content,type:3,sort:P})}),S.value=!0,Be({contents:v,post_id:l.postId,users:Array.from(new Set(m))}).then(R=>{window.$message.success("发布成功"),S.value=!1,O("post-success"),p()}).catch(R=>{S.value=!1})},K=m=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",m)};return me(()=>{b.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(m,v)=>{const P=ve,R=at,H=se,B=oe,W=lt,X=it,J=ct,ne=ut,pe=rt;return n(),c("div",null,[e(r).state.userInfo.id>0?(n(),c("div",fs,[d("div",hs,[d("div",gs,[t(P,{round:"",size:30,src:e(r).state.userInfo.avatar},null,8,["src"])]),t(R,{type:"textarea",size:"large",autosize:"",bordered:!1,options:g.value,prefix:["@"],loading:w.value,value:_.value,disabled:l.lock===1,"onUpdate:value":M,onSearch:x,onFocus:o,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(n(),z(pe,{key:0,ref_key:"uploadRef",ref:C,abstract:"","list-type":"image",multiple:!0,max:9,action:h,headers:{Authorization:b.value},data:{type:f.value},onBeforeUpload:E,onFinish:N,onError:L,onRemove:D,"onUpdate:fileList":Y},{default:a(()=>[d("div",ys,[d("div",ks,[t(W,{abstract:""},{default:a(({handleClick:G})=>[t(B,{disabled:k.value.length>0&&f.value==="public/video"||k.value.length===9,onClick:()=>{q("public/image"),G()},quaternary:"",circle:"",type:"primary"},{icon:a(()=>[t(H,{size:"20",color:"var(--primary-color)"},{default:a(()=>[t(e(Ge))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(J,{trigger:"hover",placement:"bottom"},{trigger:a(()=>[t(X,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:_.value.length/200*100},null,8,["percentage"])]),default:a(()=>[I(" "+T(_.value.length)+" / 200 ",1)]),_:1})]),d("div",ws,[t(B,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:p},{default:a(()=>[I(" 取消 ")]),_:1}),t(B,{loading:S.value,onClick:V,type:"primary",secondary:"",size:"small",round:""},{default:a(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",bs,[t(ne)])]),_:1},8,["headers","data"])):i("",!0)])):(n(),c("div",$s,[Cs,s.value?i("",!0):(n(),c("div",xs,[t(B,{strong:"",secondary:"",round:"",type:"primary",onClick:v[0]||(v[0]=G=>K("signin"))},{default:a(()=>[I(" 登录 ")]),_:1})])),s.value?(n(),c("div",Is,[t(B,{strong:"",secondary:"",round:"",type:"primary",onClick:v[1]||(v[1]=G=>K("signin"))},{default:a(()=>[I(" 登录 ")]),_:1}),t(B,{strong:"",secondary:"",round:"",type:"info",onClick:v[2]||(v[2]=G=>K("signup"))},{default:a(()=>[I(" 注册 ")]),_:1})])):i("",!0)]))])}}});const zs=te(Ts,[["__scopeId","data-v-ca3e6071"]]),Us={class:"username-wrap"},Ps={key:0,class:"options"},Rs={key:0},Ss=["innerHTML"],Ls={class:"timestamp"},As={key:0},Ds={key:1},Ms={class:"opts-wrap"},Os=["onClick"],qs={class:"opt-item"},Bs=["onClick"],Es=["onClick"],Ns=Q({__name:"post-detail",props:{post:null},emits:["reload"],setup(A,{emit:O}){const l=A,r=ee(),g=Te(),y=u(!1),w=u(!1),S=u(!1),_=u(!1),C=u(!1),f=u(!1),k=u(!1),U=u(Z.PUBLIC),s=ae({get:()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return o.contents.map(p=>{(+p.type==1||+p.type==2)&&o.texts.push(p),+p.type==3&&o.imgs.push(p),+p.type==4&&o.videos.push(p),+p.type==6&&o.links.push(p),+p.type==7&&o.attachments.push(p),+p.type==8&&o.charge_attachments.push(p)}),o},set:o=>{l.post.upvote_count=o.upvote_count,l.post.comment_count=o.comment_count,l.post.collection_count=o.collection_count}}),h=ae(()=>{let o=[{label:"删除",key:"delete"}];return s.value.is_lock===0?o.push({label:"锁定",key:"lock"}):o.push({label:"解锁",key:"unlock"}),r.state.userInfo.is_admin&&(s.value.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"})),s.value.visibility===Z.PUBLIC?o.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):s.value.visibility===Z.PRIVATE?o.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):o.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),o}),b=o=>{g.push({name:"post",query:{id:o}})},$=(o,p)=>{if(o.target.dataset.detail){const V=o.target.dataset.detail.split(":");if(V.length===2){r.commit("refresh"),V[0]==="tag"?g.push({name:"home",query:{q:V[1],t:"tag"}}):g.push({name:"user",query:{username:V[1]}});return}}b(p)},x=o=>{switch(o){case"delete":S.value=!0;break;case"lock":case"unlock":_.value=!0;break;case"stick":case"unstick":C.value=!0;break;case"vpublic":U.value=0,f.value=!0;break;case"vprivate":U.value=1,f.value=!0;break;case"vfriend":U.value=2,f.value=!0;break}},M=()=>{je({id:s.value.id}).then(o=>{window.$message.success("删除成功"),g.replace("/"),setTimeout(()=>{r.commit("refresh")},50)}).catch(o=>{k.value=!1})},q=()=>{Ve({id:s.value.id}).then(o=>{O("reload"),o.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(o=>{k.value=!1})},Y=()=>{He({id:s.value.id}).then(o=>{O("reload"),o.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(o=>{k.value=!1})},E=()=>{Fe({id:s.value.id,visibility:U.value}).then(o=>{O("reload"),window.$message.success("修改可见性成功")}).catch(o=>{k.value=!1})},N=()=>{Ye({id:s.value.id}).then(o=>{y.value=o.status,o.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(o=>{console.log(o)})},L=()=>{Ke({id:s.value.id}).then(o=>{w.value=o.status,o.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(o=>{console.log(o)})},D=()=>{Tt(`${window.location.origin}/#/post?id=${s.value.id}`),window.$message.success("链接已复制到剪贴板")};return me(()=>{r.state.userInfo.id>0&&(Ee({id:s.value.id}).then(o=>{y.value=o.status}).catch(o=>{console.log(o)}),Ne({id:s.value.id}).then(o=>{w.value=o.status}).catch(o=>{console.log(o)}))}),(o,p)=>{const V=ve,K=de("router-link"),m=_t,v=se,P=oe,R=pt,H=dt,B=wt,W=Ie,X=bt,J=$t,ne=mt,pe=xe,G=Ce;return n(),c("div",{class:"detail-item",onClick:p[6]||(p[6]=F=>b(e(s).id))},[t(G,null,{avatar:a(()=>[t(V,{round:"",size:30,src:e(s).user.avatar},null,8,["src"])]),header:a(()=>[t(K,{onClick:p[0]||(p[0]=j(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(s).user.username}}},{default:a(()=>[I(T(e(s).user.nickname),1)]),_:1},8,["to"]),d("span",Us," @"+T(e(s).user.username),1),e(s).is_top?(n(),z(m,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:a(()=>[I(" 置顶 ")]),_:1})):i("",!0),e(s).visibility==e(Z).PRIVATE?(n(),z(m,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:a(()=>[I(" 私密 ")]),_:1})):i("",!0),e(s).visibility==e(Z).FRIEND?(n(),z(m,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:a(()=>[I(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":a(()=>[e(r).state.userInfo.is_admin||e(r).state.userInfo.id===e(s).user.id?(n(),c("div",Ps,[t(R,{placement:"bottom-end",trigger:"click",size:"small",options:e(h),onSelect:x},{default:a(()=>[t(P,{quaternary:"",circle:""},{icon:a(()=>[t(v,null,{default:a(()=>[t(e(Qe))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),t(H,{show:S.value,"onUpdate:show":p[1]||(p[1]=F=>S.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:M},null,8,["show"]),t(H,{show:_.value,"onUpdate:show":p[2]||(p[2]=F=>_.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(s).is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:q},null,8,["show","content"]),t(H,{show:C.value,"onUpdate:show":p[3]||(p[3]=F=>C.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(s).is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(H,{show:f.value,"onUpdate:show":p[4]||(p[4]=F=>f.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(U.value==0?"公开":U.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:E},null,8,["show","content"])]),footer:a(()=>[t(B,{attachments:e(s).attachments},null,8,["attachments"]),t(B,{attachments:e(s).charge_attachments,price:e(s).attachment_price},null,8,["attachments","price"]),t(W,{imgs:e(s).imgs},null,8,["imgs"]),t(X,{videos:e(s).videos,full:!0},null,8,["videos"]),t(J,{links:e(s).links},null,8,["links"]),d("div",Ls,[I(" 发布于 "+T(e(ce)(e(s).created_on))+" ",1),e(s).ip_loc?(n(),c("span",As,[t(ne,{vertical:""}),I(" "+T(e(s).ip_loc),1)])):i("",!0),!e(r).state.collapsedLeft&&e(s).created_on!=e(s).latest_replied_on?(n(),c("span",Ds,[t(ne,{vertical:""}),I(" 最后回复 "+T(e(ce)(e(s).latest_replied_on)),1)])):i("",!0)])]),action:a(()=>[d("div",Ms,[t(pe,{justify:"space-between"},{default:a(()=>[d("div",{class:"opt-item hover",onClick:j(N,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[y.value?i("",!0):(n(),z(e(We),{key:0})),y.value?(n(),z(e(Xe),{key:1,color:"red"})):i("",!0)]),_:1}),I(" "+T(e(s).upvote_count),1)],8,Os),d("div",qs,[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[t(e(Ze))]),_:1}),I(" "+T(e(s).comment_count),1)]),d("div",{class:"opt-item hover",onClick:j(L,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[w.value?i("",!0):(n(),z(e(et),{key:0})),w.value?(n(),z(e(tt),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),I(" "+T(e(s).collection_count),1)],8,Bs),d("div",{class:"opt-item hover",onClick:j(D,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[t(e(st))]),_:1}),I(" "+T(e(s).share_count),1)],8,Es)]),_:1})])]),default:a(()=>[e(s).texts.length>0?(n(),c("div",Rs,[(n(!0),c(le,null,ie(e(s).texts,F=>(n(),c("span",{key:F.id,class:"post-text",onClick:p[5]||(p[5]=j(ze=>$(ze,e(s).id),["stop"])),innerHTML:e(fe)(F.content).content},null,8,Ss))),128))])):i("",!0)]),_:1})])}}});const js=A=>(ge("data-v-0d01659f"),A=A(),ye(),A),Vs={key:0,class:"detail-wrap"},Hs={key:1,class:"empty-wrap"},Fs={key:0,class:"comment-opts-wrap"},Ys=js(()=>d("span",{class:"comment-title-item"},"评论",-1)),Ks={key:2},Js={key:0,class:"skeleton-wrap"},Gs={key:1},Qs={key:0,class:"empty-wrap"},Ws={key:0,class:"load-more-spinner"},Xs={key:1,class:"load-more-spinner"},Zs={key:2,class:"load-more-spinner"},eo={key:3,class:"load-more-spinner"},to=Q({__name:"Post",setup(A){const O=Ct(),l=u({}),r=u(!1),g=u(!1),y=u([]),w=ae(()=>+O.query.id),S=u("default"),_=u(!0),C=20;let f={loading(){},loaded(){},complete(){},error(){}};const k=L=>{S.value=L,L==="default"&&(_.value=!0),E(f)},U=()=>{l.value={id:0},r.value=!0,Je({id:w.value}).then(L=>{r.value=!1,l.value=L,E(f)}).catch(L=>{r.value=!1})};let s=1;const h=u(!1),b=u([]),$=L=>{h.value||he({id:l.value.id,sort_strategy:"default",page:s,page_size:C}).then(D=>{L!==null&&(f=L),D.list.length0&&(s===1?b.value=D.list:b.value.push(...D.list),y.value=b.value),f.loaded(),g.value=!1}).catch(D=>{g.value=!1,f.error()})};let x=1,M=u(!1);const q=u([]),Y=L=>{M.value||he({id:l.value.id,sort_strategy:"newest",page:x,page_size:C}).then(D=>{L!==null&&(f=L),D.list.length0&&(x===1?q.value=D.list:q.value.push(...D.list),y.value=q.value),f.loaded(),g.value=!1}).catch(D=>{g.value=!1,f.error()})},E=L=>{w.value<1||(y.value.length===0&&(g.value=!0),S.value==="default"?(y.value=b.value,$(L)):(y.value=q.value,Y(L)),g.value=!1)},N=()=>{s=1,h.value=!1,b.value=[],x=1,M.value=!1,q.value=[],E(f)};return me(()=>{U()}),Pe(w,()=>{w.value>0&&O.name==="post"&&U()}),(L,D)=>{const o=zt,p=Ns,V=ft,K=ht,m=gt,v=yt,P=kt,R=zs,H=xt,B=ms,W=xe,X=vt;return n(),c("div",null,[t(o,{title:"泡泡详情",back:!0}),t(X,{class:"main-content-wrap",bordered:""},{default:a(()=>[t(m,null,{default:a(()=>[t(K,{show:r.value},{default:a(()=>[l.value.id>1?(n(),c("div",Vs,[t(p,{post:l.value,onReload:U},null,8,["post"])])):(n(),c("div",Hs,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(n(),c("div",Fs,[t(P,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":k},{prefix:a(()=>[Ys]),default:a(()=>[t(v,{name:"default",tab:"默认"}),t(v,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(n(),z(m,{key:1},{default:a(()=>[t(R,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:N},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(n(),c("div",Ks,[g.value?(n(),c("div",Js,[t(H,{num:5})])):(n(),c("div",Gs,[y.value.length===0?(n(),c("div",Qs,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(n(!0),c(le,null,ie(y.value,J=>(n(),z(m,{key:J.id},{default:a(()=>[t(B,{comment:J,onReload:N},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=C?(n(),z(W,{key:3,justify:"center"},{default:a(()=>[t(e(Ut),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:E},{spinner:a(()=>[_.value&&h.value?(n(),c("span",Ws)):i("",!0),!_.value&&e(M)?(n(),c("span",Xs)):i("",!0),_.value&&!h.value?(n(),c("span",Zs,"加载评论")):i("",!0),!_.value&&!e(M)?(n(),c("span",eo,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const Do=te(to,[["__scopeId","data-v-0d01659f"]]);export{Do as default}; +import{d as Q,r as u,a1 as de,o as n,c,a as d,L as t,$ as a,e as I,M as T,K as z,O as i,Y as e,a0 as j,n as ae,a6 as Ue,F as le,a2 as ie,j as me,U as ge,V as ye,w as Pe}from"./@vue-ca177dbe.js";import{u as ee}from"./vuex-d28e9067.js";import{f as ce}from"./formatTime-000dbebb.js";import{t as Re,d as Se,e as Le,_ as te,f as Ae,h as De,i as Me,j as Oe,g as qe,k as Be,l as Ee,m as Ne,n as je,o as Ve,s as He,v as Fe,p as Ye,q as Ke,r as Je,u as he}from"./index-f9e09224.js";import{Y as ue,V as Z}from"./IEnum-a180d93e.js";import{T as ke,e as re,f as we,g as _e,h as be,I as Ge,i as Qe,j as We,k as Xe,l as Ze,m as et,n as tt,o as st}from"./@vicons-6d35273b.js";import{j as se,e as oe,J as $e,b as ot,K as nt,o as ve,L as Ce,v as at,w as lt,x as it,y as ct,z as ut,B as rt,M as _t,O as pt,i as dt,P as mt,a as xe,F as vt,I as ft,k as ht,H as gt,f as yt,g as kt}from"./naive-ui-2035804c.js";import{p as fe,_ as Ie,a as wt,b as bt,c as $t}from"./content-a3ccbaf1.js";import{u as Te,b as Ct}from"./vue-router-88cc84d1.js";import{_ as xt}from"./post-skeleton-5cb6f6d4.js";import{l as It}from"./lodash-3329902d.js";import{a as Tt}from"./copy-to-clipboard-ca358197.js";import{_ as zt}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{K as Ut}from"./v3-infinite-loading-fcb59c38.js";import"./moment-b7869f98.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-db921567.js";import"./toggle-selection-93f4ad84.js";const Pt={class:"reply-item"},Rt={class:"header-wrap"},St={class:"username"},Lt={class:"reply-name"},At={class:"timestamp"},Dt={class:"base-wrap"},Mt={class:"content"},Ot={class:"reply-switch"},qt={class:"time-item"},Bt={class:"actions"},Et={class:"upvote-count"},Nt=["onClick"],jt={class:"upvote-count"},Vt={key:2,class:"action-item"},Ht=["onClick"],Ft=Q({__name:"reply-item",props:{tweetId:null,reply:null},emits:["focusReply","reload"],setup(A,{emit:O}){const l=A,r=ee(),g=u(l.reply.is_thumbs_up==ue.YES),y=u(l.reply.is_thumbs_down==ue.YES),w=u(l.reply.thumbs_up_count),S=()=>{Re({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(k=>{g.value=!g.value,g.value?(w.value++,y.value=!1):w.value--}).catch(k=>{console.log(k)})},_=()=>{Se({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(k=>{y.value=!y.value,y.value&&g.value&&(w.value--,g.value=!1)}).catch(k=>{console.log(k)})},C=()=>{O("focusReply",l.reply)},f=()=>{Le({id:l.reply.id}).then(k=>{window.$message.success("删除成功"),setTimeout(()=>{O("reload")},50)}).catch(k=>{console.log(k)})};return(k,U)=>{const s=de("router-link"),h=se,b=oe,$=$e;return n(),c("div",Pt,[d("div",Rt,[d("div",St,[t(s,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:a(()=>[I(T(l.reply.user.username),1)]),_:1},8,["to"]),d("span",Lt,T(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(n(),z(s,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:a(()=>[I(T(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),d("div",At,[I(T(l.reply.ip_loc)+" ",1),e(r).state.userInfo.is_admin||e(r).state.userInfo.id===l.reply.user.id?(n(),z($,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:f},{trigger:a(()=>[t(b,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:a(()=>[t(h,null,{default:a(()=>[t(e(ke))]),_:1})]),_:1})]),default:a(()=>[I(" 是否确认删除? ")]),_:1})):i("",!0)])]),d("div",Dt,[d("div",Mt,T(l.reply.content),1),d("div",Ot,[d("span",qt,T(e(ce)(l.reply.created_on)),1),d("div",Bt,[e(r).state.userLogined?i("",!0):(n(),c("div",{key:0,class:"action-item",onClick:U[0]||(U[0]=j(()=>{},["stop"]))},[t(h,{size:"medium"},{default:a(()=>[t(e(re))]),_:1}),d("span",Et,T(w.value),1)])),e(r).state.userLogined?(n(),c("div",{key:1,class:"action-item hover",onClick:j(S,["stop"])},[t(h,{size:"medium"},{default:a(()=>[g.value?i("",!0):(n(),z(e(re),{key:0})),g.value?(n(),z(e(we),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",jt,T(w.value),1)],8,Nt)):i("",!0),e(r).state.userLogined?i("",!0):(n(),c("div",Vt,[t(h,{size:"medium"},{default:a(()=>[t(e(_e))]),_:1})])),e(r).state.userLogined?(n(),c("div",{key:3,class:"action-item hover",onClick:j(_,["stop"])},[t(h,{size:"medium"},{default:a(()=>[y.value?i("",!0):(n(),z(e(_e),{key:0})),y.value?(n(),z(e(be),{key:1,class:"show"})):i("",!0)]),_:1})],8,Ht)):i("",!0),e(r).state.userLogined?(n(),c("span",{key:4,class:"show opacity-item reply-btn",onClick:C}," 回复 ")):i("",!0)])])])])}}});const Yt=te(Ft,[["__scopeId","data-v-783f5693"]]),Kt={class:"reply-compose-wrap"},Jt={class:"reply-switch"},Gt={class:"time-item"},Qt={class:"actions"},Wt={key:0,class:"action-item"},Xt={class:"upvote-count"},Zt=["onClick"],es={class:"upvote-count"},ts={key:2,class:"action-item"},ss=["onClick"],os={key:0,class:"reply-input-wrap"},ns=Q({__name:"compose-reply",props:{comment:null,atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(A,{expose:O,emit:l}){const r=A,g=ee(),y=u(),w=u(!1),S=u(""),_=u(!1),C=u(r.comment.is_thumbs_up==ue.YES),f=u(r.comment.is_thumbs_down==ue.YES),k=u(r.comment.thumbs_up_count),U=()=>{Ae({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then($=>{C.value=!C.value,C.value?(k.value++,f.value=!1):k.value--}).catch($=>{console.log($)})},s=()=>{De({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then($=>{f.value=!f.value,f.value&&C.value&&(k.value--,C.value=!1)}).catch($=>{console.log($)})},h=$=>{w.value=$,$?setTimeout(()=>{var x;(x=y.value)==null||x.focus()},10):(_.value=!1,S.value="",l("reset"))},b=()=>{_.value=!0,Me({comment_id:r.comment.id,at_user_id:r.atUserid,content:S.value}).then($=>{h(!1),window.$message.success("评论成功"),l("reload")}).catch($=>{_.value=!1})};return O({switchReply:h}),($,x)=>{const M=se,q=ot,Y=oe,E=nt;return n(),c("div",Kt,[d("div",Jt,[d("span",Gt,T(e(ce)(A.comment.created_on)),1),d("div",Qt,[e(g).state.userLogined?i("",!0):(n(),c("div",Wt,[t(M,{size:"medium"},{default:a(()=>[t(e(re))]),_:1}),d("span",Xt,T(k.value),1)])),e(g).state.userLogined?(n(),c("div",{key:1,class:"action-item hover",onClick:j(U,["stop"])},[t(M,{size:"medium"},{default:a(()=>[C.value?i("",!0):(n(),z(e(re),{key:0})),C.value?(n(),z(e(we),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",es,T(k.value),1)],8,Zt)):i("",!0),e(g).state.userLogined?i("",!0):(n(),c("div",ts,[t(M,{size:"medium"},{default:a(()=>[t(e(_e))]),_:1})])),e(g).state.userLogined?(n(),c("div",{key:3,class:"action-item hover",onClick:j(s,["stop"])},[t(M,{size:"medium"},{default:a(()=>[f.value?i("",!0):(n(),z(e(_e),{key:0})),f.value?(n(),z(e(be),{key:1,class:"show"})):i("",!0)]),_:1})],8,ss)):i("",!0),e(g).state.userLogined&&!w.value?(n(),c("span",{key:4,class:"show reply-btn",onClick:x[0]||(x[0]=N=>h(!0))}," 回复 ")):i("",!0),e(g).state.userLogined&&w.value?(n(),c("span",{key:5,class:"hide reply-btn",onClick:x[1]||(x[1]=N=>h(!1))}," 取消 ")):i("",!0)])]),w.value?(n(),c("div",os,[t(E,null,{default:a(()=>[t(q,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:r.atUsername?"@"+r.atUsername:"请输入回复内容..",maxlength:"100",value:S.value,"onUpdate:value":x[2]||(x[2]=N=>S.value=N),"show-count":"",clearable:""},null,8,["placeholder","value"]),t(Y,{type:"primary",size:"small",ghost:"",loading:_.value,onClick:b},{default:a(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const as=te(ns,[["__scopeId","data-v-0f1721e2"]]),ls={class:"comment-item"},is={class:"nickname-wrap"},cs={class:"username-wrap"},us={class:"opt-wrap"},rs={class:"timestamp"},_s=["innerHTML"],ps={class:"reply-wrap"},ds=Q({__name:"comment-item",props:{comment:null},emits:["reload"],setup(A,{emit:O}){const l=A,r=ee(),g=Te(),y=u(0),w=u(""),S=u(),_=ae(()=>{let h=Object.assign({texts:[],imgs:[]},l.comment);return h.contents.map(b=>{(+b.type==1||+b.type==2)&&h.texts.push(b),+b.type==3&&h.imgs.push(b)}),h}),C=(h,b)=>{let $=h.target;if($.dataset.detail){const x=$.dataset.detail.split(":");x.length===2&&(r.commit("refresh"),x[0]==="tag"?window.$message.warning("评论内的无效话题"):g.push({name:"user",query:{username:x[1]}}))}},f=h=>{var b,$;y.value=h.user_id,w.value=((b=h.user)==null?void 0:b.username)||"",($=S.value)==null||$.switchReply(!0)},k=()=>{O("reload")},U=()=>{y.value=0,w.value=""},s=()=>{Oe({id:_.value.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{k()},50)}).catch(h=>{})};return(h,b)=>{const $=ve,x=de("router-link"),M=se,q=oe,Y=$e,E=Ie,N=as,L=Yt,D=Ce;return n(),c("div",ls,[t(D,{"content-indented":""},Ue({avatar:a(()=>[t($,{round:"",size:30,src:e(_).user.avatar},null,8,["src"])]),header:a(()=>[d("span",is,[t(x,{onClick:b[0]||(b[0]=j(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(_).user.username}}},{default:a(()=>[I(T(e(_).user.nickname),1)]),_:1},8,["to"])]),d("span",cs," @"+T(e(_).user.username),1)]),"header-extra":a(()=>[d("div",us,[d("span",rs,T(e(_).ip_loc),1),e(r).state.userInfo.is_admin||e(r).state.userInfo.id===e(_).user.id?(n(),z(Y,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:s},{trigger:a(()=>[t(q,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:a(()=>[t(M,null,{default:a(()=>[t(e(ke))]),_:1})]),_:1})]),default:a(()=>[I(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:a(()=>[e(_).imgs.length>0?(n(),z(E,{key:0,imgs:e(_).imgs},null,8,["imgs"])):i("",!0),t(N,{ref_key:"replyComposeRef",ref:S,comment:e(_),"at-userid":y.value,"at-username":w.value,onReload:k,onReset:U},null,8,["comment","at-userid","at-username"]),d("div",ps,[(n(!0),c(le,null,ie(e(_).replies,o=>(n(),z(L,{key:o.id,reply:o,"tweet-id":e(_).post_id,onFocusReply:f,onReload:k},null,8,["reply","tweet-id"]))),128))])]),_:2},[e(_).texts.length>0?{name:"description",fn:a(()=>[(n(!0),c(le,null,ie(e(_).texts,o=>(n(),c("span",{key:o.id,class:"comment-text",onClick:b[1]||(b[1]=j(p=>C(p,e(_).id),["stop"])),innerHTML:e(fe)(o.content).content},null,8,_s))),128))]),key:"0"}:void 0]),1024)])}}});const ms=te(ds,[["__scopeId","data-v-f206d4d8"]]),vs=A=>(ge("data-v-ca3e6071"),A=A(),ye(),A),fs={key:0,class:"compose-wrap"},hs={class:"compose-line"},gs={class:"compose-user"},ys={class:"compose-line compose-options"},ks={class:"attachment"},ws={class:"submit-wrap"},bs={class:"attachment-list-wrap"},$s={key:1,class:"compose-wrap"},Cs=vs(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),xs={key:0,class:"login-only-wrap"},Is={key:1,class:"login-wrap"},Ts=Q({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(A,{emit:O}){const l=A,r=ee(),g=u([]),y=u(!1),w=u(!1),S=u(!1),_=u(""),C=u(),f=u("public/image"),k=u([]),U=u([]),s=u("true".toLowerCase()==="true"),h="/v1/attachment",b=u(),$=It.debounce(m=>{qe({k:m}).then(v=>{let P=[];v.suggest.map(R=>{P.push({label:R,value:R})}),g.value=P,w.value=!1}).catch(v=>{w.value=!1})},200),x=(m,v)=>{w.value||(w.value=!0,v==="@"&&$(m))},M=m=>{m.length>200||(_.value=m)},q=m=>{f.value=m},Y=m=>{k.value=m},E=async m=>{var v,P;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((v=m.file.file)==null?void 0:v.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((P=m.file.file)==null?void 0:P.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},N=({file:m,event:v})=>{var P;try{let R=JSON.parse((P=v.target)==null?void 0:P.response);R.code===0&&f.value==="public/image"&&U.value.push({id:m.id,content:R.data.content})}catch{window.$message.error("上传失败")}},L=({file:m,event:v})=>{var P;try{let R=JSON.parse((P=v.target)==null?void 0:P.response);if(R.code!==0){let H=R.msg||"上传失败";R.details&&R.details.length>0&&R.details.map(B=>{H+=":"+B}),window.$message.error(H)}}catch{window.$message.error("上传失败")}},D=({file:m})=>{let v=U.value.findIndex(P=>P.id===m.id);v>-1&&U.value.splice(v,1)},o=()=>{y.value=!0},p=()=>{var m;y.value=!1,(m=C.value)==null||m.clear(),k.value=[],_.value="",U.value=[]},V=()=>{if(_.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:m}=fe(_.value);const v=[];let P=100;v.push({content:_.value,type:2,sort:P}),U.value.map(R=>{P++,v.push({content:R.content,type:3,sort:P})}),S.value=!0,Be({contents:v,post_id:l.postId,users:Array.from(new Set(m))}).then(R=>{window.$message.success("发布成功"),S.value=!1,O("post-success"),p()}).catch(R=>{S.value=!1})},K=m=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",m)};return me(()=>{b.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(m,v)=>{const P=ve,R=at,H=se,B=oe,W=lt,X=it,J=ct,ne=ut,pe=rt;return n(),c("div",null,[e(r).state.userInfo.id>0?(n(),c("div",fs,[d("div",hs,[d("div",gs,[t(P,{round:"",size:30,src:e(r).state.userInfo.avatar},null,8,["src"])]),t(R,{type:"textarea",size:"large",autosize:"",bordered:!1,options:g.value,prefix:["@"],loading:w.value,value:_.value,disabled:l.lock===1,"onUpdate:value":M,onSearch:x,onFocus:o,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(n(),z(pe,{key:0,ref_key:"uploadRef",ref:C,abstract:"","list-type":"image",multiple:!0,max:9,action:h,headers:{Authorization:b.value},data:{type:f.value},onBeforeUpload:E,onFinish:N,onError:L,onRemove:D,"onUpdate:fileList":Y},{default:a(()=>[d("div",ys,[d("div",ks,[t(W,{abstract:""},{default:a(({handleClick:G})=>[t(B,{disabled:k.value.length>0&&f.value==="public/video"||k.value.length===9,onClick:()=>{q("public/image"),G()},quaternary:"",circle:"",type:"primary"},{icon:a(()=>[t(H,{size:"20",color:"var(--primary-color)"},{default:a(()=>[t(e(Ge))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(J,{trigger:"hover",placement:"bottom"},{trigger:a(()=>[t(X,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:_.value.length/200*100},null,8,["percentage"])]),default:a(()=>[I(" "+T(_.value.length)+" / 200 ",1)]),_:1})]),d("div",ws,[t(B,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:p},{default:a(()=>[I(" 取消 ")]),_:1}),t(B,{loading:S.value,onClick:V,type:"primary",secondary:"",size:"small",round:""},{default:a(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",bs,[t(ne)])]),_:1},8,["headers","data"])):i("",!0)])):(n(),c("div",$s,[Cs,s.value?i("",!0):(n(),c("div",xs,[t(B,{strong:"",secondary:"",round:"",type:"primary",onClick:v[0]||(v[0]=G=>K("signin"))},{default:a(()=>[I(" 登录 ")]),_:1})])),s.value?(n(),c("div",Is,[t(B,{strong:"",secondary:"",round:"",type:"primary",onClick:v[1]||(v[1]=G=>K("signin"))},{default:a(()=>[I(" 登录 ")]),_:1}),t(B,{strong:"",secondary:"",round:"",type:"info",onClick:v[2]||(v[2]=G=>K("signup"))},{default:a(()=>[I(" 注册 ")]),_:1})])):i("",!0)]))])}}});const zs=te(Ts,[["__scopeId","data-v-ca3e6071"]]),Us={class:"username-wrap"},Ps={key:0,class:"options"},Rs={key:0},Ss=["innerHTML"],Ls={class:"timestamp"},As={key:0},Ds={key:1},Ms={class:"opts-wrap"},Os=["onClick"],qs={class:"opt-item"},Bs=["onClick"],Es=["onClick"],Ns=Q({__name:"post-detail",props:{post:null},emits:["reload"],setup(A,{emit:O}){const l=A,r=ee(),g=Te(),y=u(!1),w=u(!1),S=u(!1),_=u(!1),C=u(!1),f=u(!1),k=u(!1),U=u(Z.PUBLIC),s=ae({get:()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return o.contents.map(p=>{(+p.type==1||+p.type==2)&&o.texts.push(p),+p.type==3&&o.imgs.push(p),+p.type==4&&o.videos.push(p),+p.type==6&&o.links.push(p),+p.type==7&&o.attachments.push(p),+p.type==8&&o.charge_attachments.push(p)}),o},set:o=>{l.post.upvote_count=o.upvote_count,l.post.comment_count=o.comment_count,l.post.collection_count=o.collection_count}}),h=ae(()=>{let o=[{label:"删除",key:"delete"}];return s.value.is_lock===0?o.push({label:"锁定",key:"lock"}):o.push({label:"解锁",key:"unlock"}),r.state.userInfo.is_admin&&(s.value.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"})),s.value.visibility===Z.PUBLIC?o.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):s.value.visibility===Z.PRIVATE?o.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):o.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),o}),b=o=>{g.push({name:"post",query:{id:o}})},$=(o,p)=>{if(o.target.dataset.detail){const V=o.target.dataset.detail.split(":");if(V.length===2){r.commit("refresh"),V[0]==="tag"?g.push({name:"home",query:{q:V[1],t:"tag"}}):g.push({name:"user",query:{username:V[1]}});return}}b(p)},x=o=>{switch(o){case"delete":S.value=!0;break;case"lock":case"unlock":_.value=!0;break;case"stick":case"unstick":C.value=!0;break;case"vpublic":U.value=0,f.value=!0;break;case"vprivate":U.value=1,f.value=!0;break;case"vfriend":U.value=2,f.value=!0;break}},M=()=>{je({id:s.value.id}).then(o=>{window.$message.success("删除成功"),g.replace("/"),setTimeout(()=>{r.commit("refresh")},50)}).catch(o=>{k.value=!1})},q=()=>{Ve({id:s.value.id}).then(o=>{O("reload"),o.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(o=>{k.value=!1})},Y=()=>{He({id:s.value.id}).then(o=>{O("reload"),o.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(o=>{k.value=!1})},E=()=>{Fe({id:s.value.id,visibility:U.value}).then(o=>{O("reload"),window.$message.success("修改可见性成功")}).catch(o=>{k.value=!1})},N=()=>{Ye({id:s.value.id}).then(o=>{y.value=o.status,o.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(o=>{console.log(o)})},L=()=>{Ke({id:s.value.id}).then(o=>{w.value=o.status,o.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(o=>{console.log(o)})},D=()=>{Tt(`${window.location.origin}/#/post?id=${s.value.id}`),window.$message.success("链接已复制到剪贴板")};return me(()=>{r.state.userInfo.id>0&&(Ee({id:s.value.id}).then(o=>{y.value=o.status}).catch(o=>{console.log(o)}),Ne({id:s.value.id}).then(o=>{w.value=o.status}).catch(o=>{console.log(o)}))}),(o,p)=>{const V=ve,K=de("router-link"),m=_t,v=se,P=oe,R=pt,H=dt,B=wt,W=Ie,X=bt,J=$t,ne=mt,pe=xe,G=Ce;return n(),c("div",{class:"detail-item",onClick:p[6]||(p[6]=F=>b(e(s).id))},[t(G,null,{avatar:a(()=>[t(V,{round:"",size:30,src:e(s).user.avatar},null,8,["src"])]),header:a(()=>[t(K,{onClick:p[0]||(p[0]=j(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(s).user.username}}},{default:a(()=>[I(T(e(s).user.nickname),1)]),_:1},8,["to"]),d("span",Us," @"+T(e(s).user.username),1),e(s).is_top?(n(),z(m,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:a(()=>[I(" 置顶 ")]),_:1})):i("",!0),e(s).visibility==e(Z).PRIVATE?(n(),z(m,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:a(()=>[I(" 私密 ")]),_:1})):i("",!0),e(s).visibility==e(Z).FRIEND?(n(),z(m,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:a(()=>[I(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":a(()=>[e(r).state.userInfo.is_admin||e(r).state.userInfo.id===e(s).user.id?(n(),c("div",Ps,[t(R,{placement:"bottom-end",trigger:"click",size:"small",options:e(h),onSelect:x},{default:a(()=>[t(P,{quaternary:"",circle:""},{icon:a(()=>[t(v,null,{default:a(()=>[t(e(Qe))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),t(H,{show:S.value,"onUpdate:show":p[1]||(p[1]=F=>S.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:M},null,8,["show"]),t(H,{show:_.value,"onUpdate:show":p[2]||(p[2]=F=>_.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(s).is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:q},null,8,["show","content"]),t(H,{show:C.value,"onUpdate:show":p[3]||(p[3]=F=>C.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(s).is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(H,{show:f.value,"onUpdate:show":p[4]||(p[4]=F=>f.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(U.value==0?"公开":U.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:E},null,8,["show","content"])]),footer:a(()=>[t(B,{attachments:e(s).attachments},null,8,["attachments"]),t(B,{attachments:e(s).charge_attachments,price:e(s).attachment_price},null,8,["attachments","price"]),t(W,{imgs:e(s).imgs},null,8,["imgs"]),t(X,{videos:e(s).videos,full:!0},null,8,["videos"]),t(J,{links:e(s).links},null,8,["links"]),d("div",Ls,[I(" 发布于 "+T(e(ce)(e(s).created_on))+" ",1),e(s).ip_loc?(n(),c("span",As,[t(ne,{vertical:""}),I(" "+T(e(s).ip_loc),1)])):i("",!0),!e(r).state.collapsedLeft&&e(s).created_on!=e(s).latest_replied_on?(n(),c("span",Ds,[t(ne,{vertical:""}),I(" 最后回复 "+T(e(ce)(e(s).latest_replied_on)),1)])):i("",!0)])]),action:a(()=>[d("div",Ms,[t(pe,{justify:"space-between"},{default:a(()=>[d("div",{class:"opt-item hover",onClick:j(N,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[y.value?i("",!0):(n(),z(e(We),{key:0})),y.value?(n(),z(e(Xe),{key:1,color:"red"})):i("",!0)]),_:1}),I(" "+T(e(s).upvote_count),1)],8,Os),d("div",qs,[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[t(e(Ze))]),_:1}),I(" "+T(e(s).comment_count),1)]),d("div",{class:"opt-item hover",onClick:j(L,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[w.value?i("",!0):(n(),z(e(et),{key:0})),w.value?(n(),z(e(tt),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),I(" "+T(e(s).collection_count),1)],8,Bs),d("div",{class:"opt-item hover",onClick:j(D,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[t(e(st))]),_:1}),I(" "+T(e(s).share_count),1)],8,Es)]),_:1})])]),default:a(()=>[e(s).texts.length>0?(n(),c("div",Rs,[(n(!0),c(le,null,ie(e(s).texts,F=>(n(),c("span",{key:F.id,class:"post-text",onClick:p[5]||(p[5]=j(ze=>$(ze,e(s).id),["stop"])),innerHTML:e(fe)(F.content).content},null,8,Ss))),128))])):i("",!0)]),_:1})])}}});const js=A=>(ge("data-v-0d01659f"),A=A(),ye(),A),Vs={key:0,class:"detail-wrap"},Hs={key:1,class:"empty-wrap"},Fs={key:0,class:"comment-opts-wrap"},Ys=js(()=>d("span",{class:"comment-title-item"},"评论",-1)),Ks={key:2},Js={key:0,class:"skeleton-wrap"},Gs={key:1},Qs={key:0,class:"empty-wrap"},Ws={key:0,class:"load-more-spinner"},Xs={key:1,class:"load-more-spinner"},Zs={key:2,class:"load-more-spinner"},eo={key:3,class:"load-more-spinner"},to=Q({__name:"Post",setup(A){const O=Ct(),l=u({}),r=u(!1),g=u(!1),y=u([]),w=ae(()=>+O.query.id),S=u("default"),_=u(!0),C=20;let f={loading(){},loaded(){},complete(){},error(){}};const k=L=>{S.value=L,L==="default"&&(_.value=!0),E(f)},U=()=>{l.value={id:0},r.value=!0,Je({id:w.value}).then(L=>{r.value=!1,l.value=L,E(f)}).catch(L=>{r.value=!1})};let s=1;const h=u(!1),b=u([]),$=L=>{h.value||he({id:l.value.id,sort_strategy:"default",page:s,page_size:C}).then(D=>{L!==null&&(f=L),D.list.length0&&(s===1?b.value=D.list:b.value.push(...D.list),y.value=b.value),f.loaded(),g.value=!1}).catch(D=>{g.value=!1,f.error()})};let x=1,M=u(!1);const q=u([]),Y=L=>{M.value||he({id:l.value.id,sort_strategy:"newest",page:x,page_size:C}).then(D=>{L!==null&&(f=L),D.list.length0&&(x===1?q.value=D.list:q.value.push(...D.list),y.value=q.value),f.loaded(),g.value=!1}).catch(D=>{g.value=!1,f.error()})},E=L=>{w.value<1||(y.value.length===0&&(g.value=!0),S.value==="default"?(y.value=b.value,$(L)):(y.value=q.value,Y(L)),g.value=!1)},N=()=>{s=1,h.value=!1,b.value=[],x=1,M.value=!1,q.value=[],E(f)};return me(()=>{U()}),Pe(w,()=>{w.value>0&&O.name==="post"&&U()}),(L,D)=>{const o=zt,p=Ns,V=ft,K=ht,m=gt,v=yt,P=kt,R=zs,H=xt,B=ms,W=xe,X=vt;return n(),c("div",null,[t(o,{title:"泡泡详情",back:!0}),t(X,{class:"main-content-wrap",bordered:""},{default:a(()=>[t(m,null,{default:a(()=>[t(K,{show:r.value},{default:a(()=>[l.value.id>1?(n(),c("div",Vs,[t(p,{post:l.value,onReload:U},null,8,["post"])])):(n(),c("div",Hs,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(n(),c("div",Fs,[t(P,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":k},{prefix:a(()=>[Ys]),default:a(()=>[t(v,{name:"default",tab:"默认"}),t(v,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(n(),z(m,{key:1},{default:a(()=>[t(R,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:N},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(n(),c("div",Ks,[g.value?(n(),c("div",Js,[t(H,{num:5})])):(n(),c("div",Gs,[y.value.length===0?(n(),c("div",Qs,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(n(!0),c(le,null,ie(y.value,J=>(n(),z(m,{key:J.id},{default:a(()=>[t(B,{comment:J,onReload:N},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=C?(n(),z(W,{key:3,justify:"center"},{default:a(()=>[t(e(Ut),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:E},{spinner:a(()=>[_.value&&h.value?(n(),c("span",Ws)):i("",!0),!_.value&&e(M)?(n(),c("span",Xs)):i("",!0),_.value&&!h.value?(n(),c("span",Zs,"加载评论")):i("",!0),!_.value&&!e(M)?(n(),c("span",eo,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const Do=te(to,[["__scopeId","data-v-0d01659f"]]);export{Do as default}; diff --git a/web/dist/assets/Profile-48ed7161.js b/web/dist/assets/Profile-92dce2d9.js similarity index 84% rename from web/dist/assets/Profile-48ed7161.js rename to web/dist/assets/Profile-92dce2d9.js index 10deb3cb..3785e91e 100644 --- a/web/dist/assets/Profile-48ed7161.js +++ b/web/dist/assets/Profile-92dce2d9.js @@ -1 +1 @@ -import{_ as M}from"./post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js";import{_ as N}from"./post-skeleton-765fdbf7.js";import{_ as S}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{u as U}from"./vuex-d28e9067.js";import{b as V}from"./vue-router-88cc84d1.js";import{A as D,_ as L}from"./index-f248e035.js";import{d as R,r,j,c as a,L as t,Y as _,K as h,$ as u,O as d,o as e,a as s,M as f,F as q,a2 as A}from"./@vue-ca177dbe.js";import{F as E,G,o as H,f as K,g as O,I as T,H as Y}from"./naive-ui-2035804c.js";import"./content-08a31875.js";import"./@vicons-6d35273b.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={class:"profile-baseinfo"},Q={class:"avatar"},W={class:"base-info"},X={class:"username"},Z={class:"uid"},tt={key:0,class:"skeleton-wrap"},et={key:1},ot={key:0,class:"empty-wrap"},st={key:1,class:"pagination-wrap"},nt=R({__name:"Profile",setup(at){const o=U(),k=V(),i=r(!1),p=r([]),l=r(+k.query.p||1),c=r(20),m=r(0),g=()=>{i.value=!0,D({username:o.state.userInfo.username,page:l.value,page_size:c.value}).then(n=>{i.value=!1,p.value=n.list,m.value=Math.ceil(n.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(n=>{i.value=!1})},y=n=>{l.value=n,g()};return j(()=>{g()}),(n,_t)=>{const w=S,I=H,b=K,P=O,x=N,z=T,B=M,$=Y,C=E,F=G;return e(),a("div",null,[t(w,{title:"主页"}),_(o).state.userInfo.id>0?(e(),h(C,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:u(()=>[s("div",J,[s("div",Q,[t(I,{size:"large",src:_(o).state.userInfo.avatar},null,8,["src"])]),s("div",W,[s("div",X,[s("strong",null,f(_(o).state.userInfo.nickname),1),s("span",null," @"+f(_(o).state.userInfo.username),1)]),s("div",Z,"UID. "+f(_(o).state.userInfo.id),1)])]),t(P,{class:"profile-tabs-wrap",animated:""},{default:u(()=>[t(b,{name:"post",tab:"泡泡"})]),_:1}),i.value?(e(),a("div",tt,[t(x,{num:c.value},null,8,["num"])])):(e(),a("div",et,[p.value.length===0?(e(),a("div",ot,[t(z,{size:"large",description:"暂无数据"})])):d("",!0),(e(!0),a(q,null,A(p.value,v=>(e(),h($,{key:v.id},{default:u(()=>[t(B,{post:v},null,8,["post"])]),_:2},1024))),128))]))]),_:1})):d("",!0),m.value>0?(e(),a("div",st,[t(F,{page:l.value,"onUpdate:page":y,"page-slot":_(o).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):d("",!0)])}}});const Lt=L(nt,[["__scopeId","data-v-1d87d974"]]);export{Lt as default}; +import{_ as M}from"./post-item.vue_vue_type_style_index_0_lang-c93cad29.js";import{_ as N}from"./post-skeleton-5cb6f6d4.js";import{_ as S}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{u as U}from"./vuex-d28e9067.js";import{b as V}from"./vue-router-88cc84d1.js";import{A as D,_ as L}from"./index-f9e09224.js";import{d as R,r,j,c as a,L as t,Y as _,K as h,$ as u,O as d,o as e,a as s,M as f,F as q,a2 as A}from"./@vue-ca177dbe.js";import{F as E,G,o as H,f as K,g as O,I as T,H as Y}from"./naive-ui-2035804c.js";import"./content-a3ccbaf1.js";import"./@vicons-6d35273b.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={class:"profile-baseinfo"},Q={class:"avatar"},W={class:"base-info"},X={class:"username"},Z={class:"uid"},tt={key:0,class:"skeleton-wrap"},et={key:1},ot={key:0,class:"empty-wrap"},st={key:1,class:"pagination-wrap"},nt=R({__name:"Profile",setup(at){const o=U(),k=V(),i=r(!1),p=r([]),l=r(+k.query.p||1),c=r(20),m=r(0),g=()=>{i.value=!0,D({username:o.state.userInfo.username,page:l.value,page_size:c.value}).then(n=>{i.value=!1,p.value=n.list,m.value=Math.ceil(n.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(n=>{i.value=!1})},y=n=>{l.value=n,g()};return j(()=>{g()}),(n,_t)=>{const w=S,I=H,b=K,P=O,x=N,z=T,B=M,$=Y,C=E,F=G;return e(),a("div",null,[t(w,{title:"主页"}),_(o).state.userInfo.id>0?(e(),h(C,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:u(()=>[s("div",J,[s("div",Q,[t(I,{size:"large",src:_(o).state.userInfo.avatar},null,8,["src"])]),s("div",W,[s("div",X,[s("strong",null,f(_(o).state.userInfo.nickname),1),s("span",null," @"+f(_(o).state.userInfo.username),1)]),s("div",Z,"UID. "+f(_(o).state.userInfo.id),1)])]),t(P,{class:"profile-tabs-wrap",animated:""},{default:u(()=>[t(b,{name:"post",tab:"泡泡"})]),_:1}),i.value?(e(),a("div",tt,[t(x,{num:c.value},null,8,["num"])])):(e(),a("div",et,[p.value.length===0?(e(),a("div",ot,[t(z,{size:"large",description:"暂无数据"})])):d("",!0),(e(!0),a(q,null,A(p.value,v=>(e(),h($,{key:v.id},{default:u(()=>[t(B,{post:v},null,8,["post"])]),_:2},1024))),128))]))]),_:1})):d("",!0),m.value>0?(e(),a("div",st,[t(F,{page:l.value,"onUpdate:page":y,"page-slot":_(o).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):d("",!0)])}}});const Lt=L(nt,[["__scopeId","data-v-1d87d974"]]);export{Lt as default}; diff --git a/web/dist/assets/Setting-24dac2a9.js b/web/dist/assets/Setting-111fc1e0.js similarity index 97% rename from web/dist/assets/Setting-24dac2a9.js rename to web/dist/assets/Setting-111fc1e0.js index 521776bb..a8649083 100644 --- a/web/dist/assets/Setting-24dac2a9.js +++ b/web/dist/assets/Setting-111fc1e0.js @@ -1 +1 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{d as ye,r as d,D as Q,j as ke,c as g,L as t,$ as s,K as b,O as _,o as r,a as m,Y as u,e as c,M as R,z as be,v as Ce,P as q,a0 as B,U as Ie,V as $e}from"./@vue-ca177dbe.js";import{u as Pe}from"./vuex-d28e9067.js";import{S as Z,T as Ue,U as Se,V as Re,W as qe,X as Be,Y as Ae,_ as ze}from"./index-f248e035.js";import{x as Ke}from"./@vicons-6d35273b.js";import{h as Ne,o as xe,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Oe,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-2035804c.js";import"./vue-router-88cc84d1.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Ye={class:"base-line avatar"},Ge={class:"base-line"},Je=V(()=>m("span",{class:"base-label"},"昵称",-1)),Xe={key:0},He={class:"base-line"},Qe=V(()=>m("span",{class:"base-label"},"用户名",-1)),Ze={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),K=d(!1),N=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),J=d(),X=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=X.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{v||(x.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(K.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{K.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{K.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(N.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{N.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{N.value=!1,f.code===20012&&j()}))})},T=()=>{Z().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{Z().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=Ve,ge=Te,F=Ne,H=je,w=Oe,he=Ee,O=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Je,C.value?_("",!0):(r(),g("div",Xe,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ke))]),_:1})]),_:1})):_("",!0)]),m("div",He,[Qe,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Ze,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(H,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(H,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:J,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:X,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{d as ye,r as d,D as Q,j as ke,c as g,L as t,$ as s,K as b,O as _,o as r,a as m,Y as u,e as c,M as R,z as be,v as Ce,P as q,a0 as B,U as Ie,V as $e}from"./@vue-ca177dbe.js";import{u as Pe}from"./vuex-d28e9067.js";import{S as Z,T as Ue,U as Se,V as Re,W as qe,X as Be,Y as Ae,_ as ze}from"./index-f9e09224.js";import{x as Ke}from"./@vicons-6d35273b.js";import{h as Ne,o as xe,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Oe,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-2035804c.js";import"./vue-router-88cc84d1.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Ye={class:"base-line avatar"},Ge={class:"base-line"},Je=V(()=>m("span",{class:"base-label"},"昵称",-1)),Xe={key:0},He={class:"base-line"},Qe=V(()=>m("span",{class:"base-label"},"用户名",-1)),Ze={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),K=d(!1),N=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),J=d(),X=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=X.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{v||(x.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(K.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{K.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{K.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(N.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{N.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{N.value=!1,f.code===20012&&j()}))})},T=()=>{Z().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{Z().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=Ve,ge=Te,F=Ne,H=je,w=Oe,he=Ee,O=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Je,C.value?_("",!0):(r(),g("div",Xe,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ke))]),_:1})]),_:1})):_("",!0)]),m("div",He,[Qe,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Ze,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(H,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(H,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:J,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:X,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-84def3f4.js b/web/dist/assets/Topic-a0916725.js similarity index 97% rename from web/dist/assets/Topic-84def3f4.js rename to web/dist/assets/Topic-a0916725.js index e931f61d..5b98e8c3 100644 --- a/web/dist/assets/Topic-84def3f4.js +++ b/web/dist/assets/Topic-a0916725.js @@ -1 +1 @@ -import{w as x,x as S,y as z,z as I,_ as j}from"./index-f248e035.js";import{p as E}from"./@vicons-6d35273b.js";import{d as F,r as _,n as $,j as q,a1 as U,o as l,c as u,L as n,$ as a,K as T,e as A,M as w,O as m,Y as r,w as D,a6 as K,F as Y,a2 as G}from"./@vue-ca177dbe.js";import{o as H,M as L,j as J,e as P,O as Q,L as R,F as W,f as X,g as Z,a as tt,k as et}from"./naive-ui-2035804c.js";import{_ as ot}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{u as nt}from"./vuex-d28e9067.js";import"./vue-router-88cc84d1.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const st={key:0,class:"tag-item"},at={key:0,class:"tag-quote"},ct={key:1,class:"tag-quote tag-follow"},lt={key:0,class:"options"},it=F({__name:"tag-item",props:{tag:null,showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(s){const e=s,g=_(!1),d=$(()=>{let o=[];return e.tag.is_following===0?o.push({label:"关注",key:"follow"}):(e.tag.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"}),o.push({label:"取消关注",key:"unfollow"})),o}),i=o=>{switch(o){case"follow":z({topic_id:e.tag.id}).then(t=>{e.tag.is_following=1,window.$message.success("关注成功")}).catch(t=>{console.log(t)});break;case"unfollow":S({topic_id:e.tag.id}).then(t=>{e.tag.is_following=0,window.$message.success("取消关注")}).catch(t=>{console.log(t)});break;case"stick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("置顶成功")}).catch(t=>{console.log(t)});break;case"unstick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("取消置顶")}).catch(t=>{console.log(t)});break}};return q(()=>{g.value=!1}),(o,t)=>{const k=U("router-link"),f=H,v=L,c=J,h=P,y=Q,p=R;return!s.checkFollowing||s.checkFollowing&&s.tag.is_following===1?(l(),u("div",st,[n(p,null,{header:a(()=>[(l(),T(v,{type:"success",size:"large",round:"",key:s.tag.id},{avatar:a(()=>[n(f,{src:s.tag.user.avatar},null,8,["src"])]),default:a(()=>[n(k,{class:"hash-link",to:{name:"home",query:{q:s.tag.tag,t:"tag"}}},{default:a(()=>[A(" #"+w(s.tag.tag),1)]),_:1},8,["to"]),s.showAction?m("",!0):(l(),u("span",at,"("+w(s.tag.quote_num)+")",1)),s.showAction?(l(),u("span",ct,"("+w(s.tag.quote_num)+")",1)):m("",!0)]),_:1}))]),"header-extra":a(()=>[s.showAction?(l(),u("div",lt,[n(y,{placement:"bottom-end",trigger:"click",size:"small",options:r(d),onSelect:i},{default:a(()=>[n(h,{type:"success",quaternary:"",circle:"",block:""},{icon:a(()=>[n(c,null,{default:a(()=>[n(r(E))]),_:1})]),_:1})]),_:1},8,["options"])])):m("",!0)]),_:1})])):m("",!0)}}});const _t=F({__name:"Topic",setup(s){const e=nt(),g=_([]),d=_("hot"),i=_(!1),o=_(!1),t=_(!1);D(o,()=>{o.value||(window.$message.success("保存成功"),e.commit("refreshTopicFollow"))});const k=$({get:()=>{let c="编辑";return o.value&&(c="保存"),c},set:c=>{}}),f=()=>{i.value=!0,I({type:d.value,num:50}).then(c=>{g.value=c.topics,i.value=!1}).catch(c=>{console.log(c),i.value=!1})},v=c=>{d.value=c,c=="follow"?t.value=!0:t.value=!1,f()};return q(()=>{f()}),(c,h)=>{const y=ot,p=X,B=L,C=Z,V=it,M=tt,N=et,O=W;return l(),u("div",null,[n(y,{title:"话题"}),n(O,{class:"main-content-wrap tags-wrap",bordered:""},{default:a(()=>[n(C,{type:"line",animated:"","onUpdate:value":v},K({default:a(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),r(e).state.userLogined?(l(),T(p,{key:0,name:"follow",tab:"关注"})):m("",!0)]),_:2},[r(e).state.userLogined?{name:"suffix",fn:a(()=>[n(B,{checked:o.value,"onUpdate:checked":h[0]||(h[0]=b=>o.value=b),checkable:""},{default:a(()=>[A(w(r(k)),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(N,{show:i.value},{default:a(()=>[n(M,null,{default:a(()=>[(l(!0),u(Y,null,G(g.value,b=>(l(),T(V,{tag:b,showAction:r(e).state.userLogined&&o.value,checkFollowing:t.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Vt=j(_t,[["__scopeId","data-v-15794a53"]]);export{Vt as default}; +import{w as x,x as S,y as z,z as I,_ as j}from"./index-f9e09224.js";import{p as E}from"./@vicons-6d35273b.js";import{d as F,r as _,n as $,j as q,a1 as U,o as l,c as u,L as n,$ as a,K as T,e as A,M as w,O as m,Y as r,w as D,a6 as K,F as Y,a2 as G}from"./@vue-ca177dbe.js";import{o as H,M as L,j as J,e as P,O as Q,L as R,F as W,f as X,g as Z,a as tt,k as et}from"./naive-ui-2035804c.js";import{_ as ot}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{u as nt}from"./vuex-d28e9067.js";import"./vue-router-88cc84d1.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const st={key:0,class:"tag-item"},at={key:0,class:"tag-quote"},ct={key:1,class:"tag-quote tag-follow"},lt={key:0,class:"options"},it=F({__name:"tag-item",props:{tag:null,showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(s){const e=s,g=_(!1),d=$(()=>{let o=[];return e.tag.is_following===0?o.push({label:"关注",key:"follow"}):(e.tag.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"}),o.push({label:"取消关注",key:"unfollow"})),o}),i=o=>{switch(o){case"follow":z({topic_id:e.tag.id}).then(t=>{e.tag.is_following=1,window.$message.success("关注成功")}).catch(t=>{console.log(t)});break;case"unfollow":S({topic_id:e.tag.id}).then(t=>{e.tag.is_following=0,window.$message.success("取消关注")}).catch(t=>{console.log(t)});break;case"stick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("置顶成功")}).catch(t=>{console.log(t)});break;case"unstick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("取消置顶")}).catch(t=>{console.log(t)});break}};return q(()=>{g.value=!1}),(o,t)=>{const k=U("router-link"),f=H,v=L,c=J,h=P,y=Q,p=R;return!s.checkFollowing||s.checkFollowing&&s.tag.is_following===1?(l(),u("div",st,[n(p,null,{header:a(()=>[(l(),T(v,{type:"success",size:"large",round:"",key:s.tag.id},{avatar:a(()=>[n(f,{src:s.tag.user.avatar},null,8,["src"])]),default:a(()=>[n(k,{class:"hash-link",to:{name:"home",query:{q:s.tag.tag,t:"tag"}}},{default:a(()=>[A(" #"+w(s.tag.tag),1)]),_:1},8,["to"]),s.showAction?m("",!0):(l(),u("span",at,"("+w(s.tag.quote_num)+")",1)),s.showAction?(l(),u("span",ct,"("+w(s.tag.quote_num)+")",1)):m("",!0)]),_:1}))]),"header-extra":a(()=>[s.showAction?(l(),u("div",lt,[n(y,{placement:"bottom-end",trigger:"click",size:"small",options:r(d),onSelect:i},{default:a(()=>[n(h,{type:"success",quaternary:"",circle:"",block:""},{icon:a(()=>[n(c,null,{default:a(()=>[n(r(E))]),_:1})]),_:1})]),_:1},8,["options"])])):m("",!0)]),_:1})])):m("",!0)}}});const _t=F({__name:"Topic",setup(s){const e=nt(),g=_([]),d=_("hot"),i=_(!1),o=_(!1),t=_(!1);D(o,()=>{o.value||(window.$message.success("保存成功"),e.commit("refreshTopicFollow"))});const k=$({get:()=>{let c="编辑";return o.value&&(c="保存"),c},set:c=>{}}),f=()=>{i.value=!0,I({type:d.value,num:50}).then(c=>{g.value=c.topics,i.value=!1}).catch(c=>{console.log(c),i.value=!1})},v=c=>{d.value=c,c=="follow"?t.value=!0:t.value=!1,f()};return q(()=>{f()}),(c,h)=>{const y=ot,p=X,B=L,C=Z,V=it,M=tt,N=et,O=W;return l(),u("div",null,[n(y,{title:"话题"}),n(O,{class:"main-content-wrap tags-wrap",bordered:""},{default:a(()=>[n(C,{type:"line",animated:"","onUpdate:value":v},K({default:a(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),r(e).state.userLogined?(l(),T(p,{key:0,name:"follow",tab:"关注"})):m("",!0)]),_:2},[r(e).state.userLogined?{name:"suffix",fn:a(()=>[n(B,{checked:o.value,"onUpdate:checked":h[0]||(h[0]=b=>o.value=b),checkable:""},{default:a(()=>[A(w(r(k)),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(N,{show:i.value},{default:a(()=>[n(M,null,{default:a(()=>[(l(!0),u(Y,null,G(g.value,b=>(l(),T(V,{tag:b,showAction:r(e).state.userLogined&&o.value,checkFollowing:t.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Vt=j(_t,[["__scopeId","data-v-15794a53"]]);export{Vt as default}; diff --git a/web/dist/assets/User-14a792eb.js b/web/dist/assets/User-3eaafdd1.js similarity index 96% rename from web/dist/assets/User-14a792eb.js rename to web/dist/assets/User-3eaafdd1.js index b37b35fb..20842b56 100644 --- a/web/dist/assets/User-14a792eb.js +++ b/web/dist/assets/User-3eaafdd1.js @@ -1 +1 @@ -import{_ as _e}from"./post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js";import{_ as re}from"./post-skeleton-765fdbf7.js";import{B as ue,_ as I,C as pe,D as de,A as me,E as he,F as ve}from"./index-f248e035.js";import{Q as B,R as P,S as R,b as T,e as S,i as A,u as fe,T as ge,F as we,G as ye,o as ke,M as be,j as xe,O as $e,k as Ue,f as Fe,g as ze,I as Ie,H as Se}from"./naive-ui-2035804c.js";import{d as q,r as c,o as i,K as z,$ as t,a as _,L as n,e as h,M as $,D as qe,n as We,w as Ce,j as Me,c as m,Y as x,O as F,F as Be,a2 as Pe}from"./@vue-ca177dbe.js";import{_ as Re}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{u as Te}from"./vuex-d28e9067.js";import{b as Ae}from"./vue-router-88cc84d1.js";import{i as De}from"./@vicons-6d35273b.js";import"./content-08a31875.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ne={class:"whisper-wrap"},Ve={class:"whisper-line"},Le={class:"whisper-line send-wrap"},Oe=q({__name:"whisper",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,ue({user_id:u.user.id,content:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=B,f=P,g=R,w=T,y=S,k=A;return i(),z(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ne,[n(g,{"show-icon":!1},{default:t(()=>[h(" 即将发送私信给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",Ve,[n(w,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"200","show-count":""},null,8,["value"])]),_("div",Le,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const je=I(Oe,[["__scopeId","data-v-0cbfe47c"]]),Ee={class:"whisper-wrap"},He={class:"whisper-line"},Ge={class:"whisper-line send-wrap"},Ke=q({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,pe({user_id:u.user.id,greetings:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=B,f=P,g=R,w=T,y=S,k=A;return i(),z(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ee,[n(g,{"show-icon":!1},{default:t(()=>[h(" 发送添加朋友申请给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",He,[n(w,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"120","show-count":""},null,8,["value"])]),_("div",Ge,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Qe=I(Ke,[["__scopeId","data-v-60be56a2"]]),Ye={key:0,class:"profile-baseinfo"},Je={class:"avatar"},Xe={class:"base-info"},Ze={class:"username"},es={class:"uid"},ss={key:0,class:"user-opts"},ns={key:0,class:"skeleton-wrap"},ts={key:1},as={key:0,class:"empty-wrap"},os={key:0,class:"pagination-wrap"},ls=q({__name:"User",setup(r){fe();const U=ge(),u=Te(),a=Ae(),o=c(!1),e=qe({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),l=c(!1),p=c(!1),d=c(!1),v=c([]),f=c(a.query.username||""),g=c(+a.query.p||1),w=c(20),y=c(0),k=()=>{o.value=!0,me({username:f.value,page:g.value,page_size:w.value}).then(s=>{o.value=!1,v.value=s.list,y.value=Math.ceil(s.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(s=>{o.value=!1})},b=()=>{l.value=!0,de({username:f.value}).then(s=>{l.value=!1,e.id=s.id,e.avatar=s.avatar,e.username=s.username,e.nickname=s.nickname,e.is_admin=s.is_admin,e.is_friend=s.is_friend,e.status=s.status,k()}).catch(s=>{l.value=!1,console.log(s)})},D=s=>{g.value=s,k()},N=()=>{p.value=!0},V=()=>{d.value=!0},L=()=>{p.value=!1},O=()=>{d.value=!1},j=We(()=>{let s=[{label:"私信",key:"whisper"}];return u.state.userInfo.is_admin&&(e.status===1?s.push({label:"禁言",key:"banned"}):s.push({label:"解封",key:"deblocking"})),e.is_friend?s.push({label:"删除好友",key:"delete"}):s.push({label:"添加朋友",key:"requesting"}),s}),E=s=>{switch(s){case"whisper":N();break;case"delete":H();break;case"requesting":V();break;case"banned":case"deblocking":G();break}},H=()=>{U.warning({title:"删除好友",content:"将好友 “"+e.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,he({user_id:e.id}).then(s=>{l.value=!1,e.is_friend=!1,k()}).catch(s=>{l.value=!1,console.log(s)})}})},G=()=>{U.warning({title:"警告",content:"确定对该用户进行"+(e.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,ve({id:e.id,status:e.status===1?2:1}).then(s=>{l.value=!1,b()}).catch(s=>{l.value=!1,console.log(s)})}})};return Ce(()=>({path:a.path,query:a.query}),(s,W)=>{W.path==="/user"&&s.path==="/user"&&(f.value=a.query.username||"",b())}),Me(()=>{b()}),(s,W)=>{const K=Re,Q=ke,C=be,Y=xe,J=S,X=$e,Z=je,ee=Ue,se=Fe,ne=ze,te=re,ae=Ie,oe=_e,le=Se,ie=we,ce=ye;return i(),m("div",null,[n(K,{title:"用户详情"}),n(ie,{class:"main-content-wrap profile-wrap",bordered:""},{default:t(()=>[n(ee,{show:l.value},{default:t(()=>[e.id>0?(i(),m("div",Ye,[_("div",Je,[n(Q,{size:"large",src:e.avatar},null,8,["src"])]),_("div",Xe,[_("div",Ze,[_("strong",null,$(e.nickname),1),_("span",null," @"+$(e.username),1),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username&&e.is_friend?(i(),z(C,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:t(()=>[h(" 好友 ")]),_:1})):F("",!0),e.is_admin?(i(),z(C,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:t(()=>[h(" 管理员 ")]),_:1})):F("",!0)]),_("div",es,"UID. "+$(e.id),1)]),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username?(i(),m("div",ss,[n(X,{placement:"bottom-end",trigger:"click",size:"small",options:x(j),onSelect:E},{default:t(()=>[n(J,{quaternary:"",circle:""},{icon:t(()=>[n(Y,null,{default:t(()=>[n(x(De))]),_:1})]),_:1})]),_:1},8,["options"])])):F("",!0)])):F("",!0),n(Z,{show:p.value,user:e,onSuccess:L},null,8,["show","user"]),n(Qe,{show:d.value,user:e,onSuccess:O},null,8,["show","user"])]),_:1},8,["show"]),n(ne,{class:"profile-tabs-wrap",animated:""},{default:t(()=>[n(se,{name:"post",tab:"泡泡"})]),_:1}),o.value?(i(),m("div",ns,[n(te,{num:w.value},null,8,["num"])])):(i(),m("div",ts,[v.value.length===0?(i(),m("div",as,[n(ae,{size:"large",description:"暂无数据"})])):F("",!0),(i(!0),m(Be,null,Pe(v.value,M=>(i(),z(le,{key:M.id},{default:t(()=>[n(oe,{post:M},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),y.value>0?(i(),m("div",os,[n(ce,{page:g.value,"onUpdate:page":D,"page-slot":x(u).state.collapsedRight?5:8,"page-count":y.value},null,8,["page","page-slot","page-count"])])):F("",!0)])}}});const Ts=I(ls,[["__scopeId","data-v-46a0183a"]]);export{Ts as default}; +import{_ as _e}from"./post-item.vue_vue_type_style_index_0_lang-c93cad29.js";import{_ as re}from"./post-skeleton-5cb6f6d4.js";import{B as ue,_ as I,C as pe,D as de,A as me,E as he,F as ve}from"./index-f9e09224.js";import{Q as B,R as P,S as R,b as T,e as S,i as A,u as fe,T as ge,F as we,G as ye,o as ke,M as be,j as xe,O as $e,k as Ue,f as Fe,g as ze,I as Ie,H as Se}from"./naive-ui-2035804c.js";import{d as q,r as c,o as i,K as z,$ as t,a as _,L as n,e as h,M as $,D as qe,n as We,w as Ce,j as Me,c as m,Y as x,O as F,F as Be,a2 as Pe}from"./@vue-ca177dbe.js";import{_ as Re}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{u as Te}from"./vuex-d28e9067.js";import{b as Ae}from"./vue-router-88cc84d1.js";import{i as De}from"./@vicons-6d35273b.js";import"./content-a3ccbaf1.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-ca358197.js";import"./toggle-selection-93f4ad84.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ne={class:"whisper-wrap"},Ve={class:"whisper-line"},Le={class:"whisper-line send-wrap"},Oe=q({__name:"whisper",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,ue({user_id:u.user.id,content:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=B,f=P,g=R,w=T,y=S,k=A;return i(),z(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ne,[n(g,{"show-icon":!1},{default:t(()=>[h(" 即将发送私信给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",Ve,[n(w,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"200","show-count":""},null,8,["value"])]),_("div",Le,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const je=I(Oe,[["__scopeId","data-v-0cbfe47c"]]),Ee={class:"whisper-wrap"},He={class:"whisper-line"},Ge={class:"whisper-line send-wrap"},Ke=q({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,pe({user_id:u.user.id,greetings:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=B,f=P,g=R,w=T,y=S,k=A;return i(),z(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ee,[n(g,{"show-icon":!1},{default:t(()=>[h(" 发送添加朋友申请给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",He,[n(w,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"120","show-count":""},null,8,["value"])]),_("div",Ge,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Qe=I(Ke,[["__scopeId","data-v-60be56a2"]]),Ye={key:0,class:"profile-baseinfo"},Je={class:"avatar"},Xe={class:"base-info"},Ze={class:"username"},es={class:"uid"},ss={key:0,class:"user-opts"},ns={key:0,class:"skeleton-wrap"},ts={key:1},as={key:0,class:"empty-wrap"},os={key:0,class:"pagination-wrap"},ls=q({__name:"User",setup(r){fe();const U=ge(),u=Te(),a=Ae(),o=c(!1),e=qe({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),l=c(!1),p=c(!1),d=c(!1),v=c([]),f=c(a.query.username||""),g=c(+a.query.p||1),w=c(20),y=c(0),k=()=>{o.value=!0,me({username:f.value,page:g.value,page_size:w.value}).then(s=>{o.value=!1,v.value=s.list,y.value=Math.ceil(s.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(s=>{o.value=!1})},b=()=>{l.value=!0,de({username:f.value}).then(s=>{l.value=!1,e.id=s.id,e.avatar=s.avatar,e.username=s.username,e.nickname=s.nickname,e.is_admin=s.is_admin,e.is_friend=s.is_friend,e.status=s.status,k()}).catch(s=>{l.value=!1,console.log(s)})},D=s=>{g.value=s,k()},N=()=>{p.value=!0},V=()=>{d.value=!0},L=()=>{p.value=!1},O=()=>{d.value=!1},j=We(()=>{let s=[{label:"私信",key:"whisper"}];return u.state.userInfo.is_admin&&(e.status===1?s.push({label:"禁言",key:"banned"}):s.push({label:"解封",key:"deblocking"})),e.is_friend?s.push({label:"删除好友",key:"delete"}):s.push({label:"添加朋友",key:"requesting"}),s}),E=s=>{switch(s){case"whisper":N();break;case"delete":H();break;case"requesting":V();break;case"banned":case"deblocking":G();break}},H=()=>{U.warning({title:"删除好友",content:"将好友 “"+e.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,he({user_id:e.id}).then(s=>{l.value=!1,e.is_friend=!1,k()}).catch(s=>{l.value=!1,console.log(s)})}})},G=()=>{U.warning({title:"警告",content:"确定对该用户进行"+(e.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,ve({id:e.id,status:e.status===1?2:1}).then(s=>{l.value=!1,b()}).catch(s=>{l.value=!1,console.log(s)})}})};return Ce(()=>({path:a.path,query:a.query}),(s,W)=>{W.path==="/user"&&s.path==="/user"&&(f.value=a.query.username||"",b())}),Me(()=>{b()}),(s,W)=>{const K=Re,Q=ke,C=be,Y=xe,J=S,X=$e,Z=je,ee=Ue,se=Fe,ne=ze,te=re,ae=Ie,oe=_e,le=Se,ie=we,ce=ye;return i(),m("div",null,[n(K,{title:"用户详情"}),n(ie,{class:"main-content-wrap profile-wrap",bordered:""},{default:t(()=>[n(ee,{show:l.value},{default:t(()=>[e.id>0?(i(),m("div",Ye,[_("div",Je,[n(Q,{size:"large",src:e.avatar},null,8,["src"])]),_("div",Xe,[_("div",Ze,[_("strong",null,$(e.nickname),1),_("span",null," @"+$(e.username),1),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username&&e.is_friend?(i(),z(C,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:t(()=>[h(" 好友 ")]),_:1})):F("",!0),e.is_admin?(i(),z(C,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:t(()=>[h(" 管理员 ")]),_:1})):F("",!0)]),_("div",es,"UID. "+$(e.id),1)]),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username?(i(),m("div",ss,[n(X,{placement:"bottom-end",trigger:"click",size:"small",options:x(j),onSelect:E},{default:t(()=>[n(J,{quaternary:"",circle:""},{icon:t(()=>[n(Y,null,{default:t(()=>[n(x(De))]),_:1})]),_:1})]),_:1},8,["options"])])):F("",!0)])):F("",!0),n(Z,{show:p.value,user:e,onSuccess:L},null,8,["show","user"]),n(Qe,{show:d.value,user:e,onSuccess:O},null,8,["show","user"])]),_:1},8,["show"]),n(ne,{class:"profile-tabs-wrap",animated:""},{default:t(()=>[n(se,{name:"post",tab:"泡泡"})]),_:1}),o.value?(i(),m("div",ns,[n(te,{num:w.value},null,8,["num"])])):(i(),m("div",ts,[v.value.length===0?(i(),m("div",as,[n(ae,{size:"large",description:"暂无数据"})])):F("",!0),(i(!0),m(Be,null,Pe(v.value,M=>(i(),z(le,{key:M.id},{default:t(()=>[n(oe,{post:M},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),y.value>0?(i(),m("div",os,[n(ce,{page:g.value,"onUpdate:page":D,"page-slot":x(u).state.collapsedRight?5:8,"page-count":y.value},null,8,["page","page-slot","page-count"])])):F("",!0)])}}});const Ts=I(ls,[["__scopeId","data-v-46a0183a"]]);export{Ts as default}; diff --git a/web/dist/assets/Wallet-0822433d.js b/web/dist/assets/Wallet-2284c505.js similarity index 96% rename from web/dist/assets/Wallet-0822433d.js rename to web/dist/assets/Wallet-2284c505.js index e3bcbe73..a363a94f 100644 --- a/web/dist/assets/Wallet-0822433d.js +++ b/web/dist/assets/Wallet-2284c505.js @@ -1 +1 @@ -import{_ as H}from"./post-skeleton-765fdbf7.js";import{_ as Z}from"./main-nav.vue_vue_type_style_index_0_lang-35243535.js";import{d as J,r as c,j as X,c as _,L as e,$ as o,o as n,Y as y,O as w,a,e as k,F as $,a2 as N,z as ee,v as te,M as r,K as q,a4 as oe,a0 as ae,U as ne,V as se}from"./@vue-ca177dbe.js";import{u as le}from"./vuex-d28e9067.js";import{b as ce}from"./vue-router-88cc84d1.js";import{b as ie}from"./qrcode-23069ad7.js";import{O as _e,P as re,Q as ue,R as pe,_ as me}from"./index-f248e035.js";import{a as de}from"./formatTime-000dbebb.js";import{w as ge}from"./@vicons-6d35273b.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Ce,l as Ie,h as Se,H as Re}from"./naive-ui-2035804c.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-59d11638.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const O=d=>(ne("data-v-870bd246"),d=d(),se(),d),Ae={class:"balance-wrap"},ze={class:"balance-line"},$e={class:"balance-opts"},Ne={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Oe={key:1},Pe={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Le={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},Ue=O(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},We={class:"pay-sub-tips"},Ee=O(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Me=J({__name:"Wallet",setup(d){const i=le(),P=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+P.query.p||1),C=c(20),I=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},L=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(m=>{m.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(m=>{console.log(m)})},2e3)}).catch(l=>{v.value=!1})},U=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return X(()=>{A()}),(s,l)=>{const S=Z,m=fe,V=ye,f=we,z=ke,W=be,E=H,M=xe,D=Re,j=ve,K=Ce,Q=Ie,Y=Se,G=he;return n(),_("div",null,[e(S,{title:"钱包"}),e(j,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(n(),_("div",Ne,[e(W,{page:x.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(m,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["from","to"])]),_:1}),a("div",$e,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:L},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:U},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(E,{num:C.value},null,8,["num"])])):(n(),_("div",Oe,[b.value.length===0?(n(),_("div",Pe,[e(M,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_($,null,N(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",Be,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(G,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(Y,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Fe,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_($,null,N(B.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Le,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(K,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Te,[Ue,a("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",We,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ee])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=me(Me,[["__scopeId","data-v-870bd246"]]);export{yt as default}; +import{_ as H}from"./post-skeleton-5cb6f6d4.js";import{_ as Z}from"./main-nav.vue_vue_type_style_index_0_lang-5590db51.js";import{d as J,r as c,j as X,c as _,L as e,$ as o,o as n,Y as y,O as w,a,e as k,F as $,a2 as N,z as ee,v as te,M as r,K as q,a4 as oe,a0 as ae,U as ne,V as se}from"./@vue-ca177dbe.js";import{u as le}from"./vuex-d28e9067.js";import{b as ce}from"./vue-router-88cc84d1.js";import{b as ie}from"./qrcode-23069ad7.js";import{O as _e,P as re,Q as ue,R as pe,_ as me}from"./index-f9e09224.js";import{a as de}from"./formatTime-000dbebb.js";import{w as ge}from"./@vicons-6d35273b.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Ce,l as Ie,h as Se,H as Re}from"./naive-ui-2035804c.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-59d11638.js";import"./axios-707ed124.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const O=d=>(ne("data-v-870bd246"),d=d(),se(),d),Ae={class:"balance-wrap"},ze={class:"balance-line"},$e={class:"balance-opts"},Ne={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Oe={key:1},Pe={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Le={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},Ue=O(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},We={class:"pay-sub-tips"},Ee=O(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Me=J({__name:"Wallet",setup(d){const i=le(),P=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+P.query.p||1),C=c(20),I=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},L=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(m=>{m.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(m=>{console.log(m)})},2e3)}).catch(l=>{v.value=!1})},U=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return X(()=>{A()}),(s,l)=>{const S=Z,m=fe,V=ye,f=we,z=ke,W=be,E=H,M=xe,D=Re,j=ve,K=Ce,Q=Ie,Y=Se,G=he;return n(),_("div",null,[e(S,{title:"钱包"}),e(j,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(n(),_("div",Ne,[e(W,{page:x.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(m,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["from","to"])]),_:1}),a("div",$e,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:L},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:U},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(E,{num:C.value},null,8,["num"])])):(n(),_("div",Oe,[b.value.length===0?(n(),_("div",Pe,[e(M,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_($,null,N(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",Be,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(G,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(Y,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Fe,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_($,null,N(B.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Le,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(K,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Te,[Ue,a("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",We,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ee])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=me(Me,[["__scopeId","data-v-870bd246"]]);export{yt as default}; diff --git a/web/dist/assets/content-08a31875.js b/web/dist/assets/content-a3ccbaf1.js similarity index 99% rename from web/dist/assets/content-08a31875.js rename to web/dist/assets/content-a3ccbaf1.js index 4c88652c..5ed6c511 100644 --- a/web/dist/assets/content-08a31875.js +++ b/web/dist/assets/content-a3ccbaf1.js @@ -1 +1 @@ -import{d as h,o as e,c as r,F as a,a2 as m,L as s,$ as o,Y as c,a as j,M as $,a0 as k,K as _,O as g,r as C,e as B,s as b}from"./@vue-ca177dbe.js";import{u as D,v as L}from"./@vicons-6d35273b.js";import{j as I,V as N,W as V,m as M,X as z,e as F,i as O}from"./naive-ui-2035804c.js";import{_ as A,L as T,M as U}from"./index-f248e035.js";import{N as P}from"./nonesir-video-db921567.js";const R={class:"link-wrap"},K=["href"],S={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=I;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(D))]),_:1}),j("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[j("span",S,$(n.content),1)],8,K)]))),128))])}}});const nt=A(W,[["__scopeId","data-v-6c4d1eb6"]]),X={key:0},ot=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=N,n=V;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:y.full?1:5},{default:o(()=>[s(x,{span:y.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),_(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},st=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=M,d=N,f=V,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),_(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),_(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),_(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),_(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),_(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),_(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),_(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),_(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},q=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=C(!1),u=C(""),x=C(0),n=d=>{p.value=!0,x.value=d.id,u.value="这是一个免费附件,您可以直接下载?",d.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),T({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{U({id:x.value}).then(d=>{window.open(d.signed_url.replace("http://","https://"),"_blank")}).catch(d=>{console.log(d)})};return(d,f)=>{const w=I,t=F,i=O;return e(),r("div",Z,[(e(!0),r(a,null,m(y.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(G=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(L))]),_:1})]),default:o(()=>[B(" "+$(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const rt=A(q,[["__scopeId","data-v-22563084"]]),lt=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{st as _,rt as a,ot as b,nt as c,lt as p}; +import{d as h,o as e,c as r,F as a,a2 as m,L as s,$ as o,Y as c,a as j,M as $,a0 as k,K as _,O as g,r as C,e as B,s as b}from"./@vue-ca177dbe.js";import{u as D,v as L}from"./@vicons-6d35273b.js";import{j as I,V as N,W as V,m as M,X as z,e as F,i as O}from"./naive-ui-2035804c.js";import{_ as A,L as T,M as U}from"./index-f9e09224.js";import{N as P}from"./nonesir-video-db921567.js";const R={class:"link-wrap"},K=["href"],S={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=I;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(D))]),_:1}),j("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[j("span",S,$(n.content),1)],8,K)]))),128))])}}});const nt=A(W,[["__scopeId","data-v-6c4d1eb6"]]),X={key:0},ot=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=N,n=V;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:y.full?1:5},{default:o(()=>[s(x,{span:y.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),_(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},st=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=M,d=N,f=V,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),_(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),_(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),_(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),_(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),_(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),_(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),_(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),_(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},q=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=C(!1),u=C(""),x=C(0),n=d=>{p.value=!0,x.value=d.id,u.value="这是一个免费附件,您可以直接下载?",d.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),T({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{U({id:x.value}).then(d=>{window.open(d.signed_url.replace("http://","https://"),"_blank")}).catch(d=>{console.log(d)})};return(d,f)=>{const w=I,t=F,i=O;return e(),r("div",Z,[(e(!0),r(a,null,m(y.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(G=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(L))]),_:1})]),default:o(()=>[B(" "+$(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const rt=A(q,[["__scopeId","data-v-22563084"]]),lt=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{st as _,rt as a,ot as b,nt as c,lt as p}; diff --git a/web/dist/assets/index-f248e035.js b/web/dist/assets/index-f9e09224.js similarity index 62% rename from web/dist/assets/index-f248e035.js rename to web/dist/assets/index-f9e09224.js index ca9980ca..e8239e21 100644 --- a/web/dist/assets/index-f248e035.js +++ b/web/dist/assets/index-f9e09224.js @@ -1 +1 @@ -import{d as z,r as R,D as Y,j,o as v,K as D,$ as a,a as k,L as o,c as T,e as S,P as K,a0 as q,O as M,Y as m,n as Q,w as H,a1 as ae,F as J,a2 as X,M as I,s as P,a3 as he,Q as Z,a4 as ge,a5 as fe}from"./@vue-ca177dbe.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-88cc84d1.js";import{c as ke,u as B}from"./vuex-d28e9067.js";import{a as be}from"./axios-707ed124.js";import{_ as Pe,N as Oe,a as ue,b as ce,c as Le,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ce,j as x,k as Ee,u as $e,l as Ie,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as De,s as Ne,t as xe}from"./naive-ui-2035804c.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-6d35273b.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const h of n.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&i(h)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Ye=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Ye(n),n in se)return;se[n]=!0;const h=n.endsWith(".css"),d=h?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const _=c[b];if(_.href===n&&(!h||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=h?"stylesheet":Ge,h||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),h)return new Promise((b,_)=>{g.addEventListener("load",b),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())},Je=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-0225fcff.js"),["assets/Home-0225fcff.js","assets/post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js","assets/content-08a31875.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-765fdbf7.js","assets/post-skeleton-f1900002.css","assets/lodash-3329902d.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Home-47eb20e2.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-fc3a4d8c.js"),["assets/Post-fc3a4d8c.js","assets/@vue-ca177dbe.js","assets/vuex-d28e9067.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/IEnum-a180d93e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-08a31875.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vue-router-88cc84d1.js","assets/post-skeleton-765fdbf7.js","assets/post-skeleton-f1900002.css","assets/lodash-3329902d.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/main-nav-3ef9bae6.css","assets/v3-infinite-loading-fcb59c38.js","assets/v3-infinite-loading-7d241236.css","assets/axios-707ed124.js","assets/Post-d4d1dd23.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-84def3f4.js"),["assets/Topic-84def3f4.js","assets/@vicons-6d35273b.js","assets/@vue-ca177dbe.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-0fa743b5.js"),["assets/Anouncement-0fa743b5.js","assets/post-skeleton-765fdbf7.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/@vue-ca177dbe.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-707ed124.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-48ed7161.js"),["assets/Profile-48ed7161.js","assets/post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js","assets/content-08a31875.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-765fdbf7.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Profile-5d71a5c2.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-14a792eb.js"),["assets/User-14a792eb.js","assets/post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js","assets/content-08a31875.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-765fdbf7.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/User-4f525d0f.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-86b8d0d2.js"),["assets/Messages-86b8d0d2.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/vuex-d28e9067.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-9157a1fd.js"),["assets/Collection-9157a1fd.js","assets/post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js","assets/content-08a31875.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-765fdbf7.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Collection-e1365ea0.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-a5be232b.js"),["assets/Contacts-a5be232b.js","assets/vue-router-88cc84d1.js","assets/@vue-ca177dbe.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-765fdbf7.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/vuex-d28e9067.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-0822433d.js"),["assets/Wallet-0822433d.js","assets/post-skeleton-765fdbf7.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/@vue-ca177dbe.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/qrcode-23069ad7.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-59d11638.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-707ed124.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-24dac2a9.js"),["assets/Setting-24dac2a9.js","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/vuex-d28e9067.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/vooks-2c48c2b5.js","assets/evtd-b614532e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/@css-render-480a363d.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-965f9bdd.js"),["assets/404-965f9bdd.js","assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js","assets/vuex-d28e9067.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/vooks-2c48c2b5.js","assets/evtd-b614532e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/@css-render-480a363d.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Je});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Xe=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function s(e){return G(e)}const ne=e=>s({method:"post",url:"/v1/auth/login",data:e}),Ze=e=>s({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>s({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=Y({username:"",password:""}),h=R(),d=Y({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=c.value)==null||u.validate(O=>{O||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const r=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",r),W(r)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=h.value)==null||u.validate(O=>{O||(i.value=!0,Ze({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const r=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",r),W(r)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?W(_).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(_,u)=>{const O=Pe,p=Oe,r=ue,y=ce,L=Le,w=Ae,E=ie,$=Te,N=Re,F=de,V=Ce;return v(),D(V,{show:m(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>m(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[o(F,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[o(r,{justify:"center"},{default:a(()=>[o(p,null,{default:a(()=>[o(O,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),o(w,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(L,{label:"账户",path:"username"},{default:a(()=>[o(y,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(y,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),D(N,{key:1,"default-value":m(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[o($,{name:"signin",tab:"登录"},{default:a(()=>[o(w,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(L,{label:"账户",path:"username"},{default:a(()=>[o(y,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(y,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:K(q(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),o($,{name:"signup",tab:"注册"},{default:a(()=>[o(w,{ref_key:"registerRef",ref:h,model:d,rules:U},{default:a(()=>[o(L,{label:"用户名",path:"username"},{default:a(()=>[o(y,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),o(L,{label:"密码",path:"password"},{default:a(()=>[o(y,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:K(q(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(L,{label:"重复密码",path:"repassword"},{default:a(()=>[o(y,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:K(q(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Jt=e=>s({method:"get",url:"/v1/posts",params:e}),nt=e=>s({method:"get",url:"/v1/tags",params:e}),Xt=e=>s({method:"get",url:"/v1/post",params:e}),Zt=e=>s({method:"get",url:"/v1/post/star",params:e}),eo=e=>s({method:"post",url:"/v1/post/star",data:e}),to=e=>s({method:"get",url:"/v1/post/collection",params:e}),oo=e=>s({method:"post",url:"/v1/post/collection",data:e}),so=e=>s({method:"get",url:"/v1/post/comments",params:e}),no=e=>s({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>s({method:"post",url:"/v1/post",data:e}),ao=e=>s({method:"delete",url:"/v1/post",data:e}),lo=e=>s({method:"post",url:"/v1/post/lock",data:e}),uo=e=>s({method:"post",url:"/v1/post/stick",data:e}),co=e=>s({method:"post",url:"/v1/post/visibility",data:e}),io=e=>s({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),po=e=>s({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),mo=e=>s({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),_o=e=>s({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),ho=e=>s({method:"post",url:"/v1/post/comment",data:e}),go=e=>s({method:"delete",url:"/v1/post/comment",data:e}),fo=e=>s({method:"post",url:"/v1/post/comment/reply",data:e}),vo=e=>s({method:"delete",url:"/v1/post/comment/reply",data:e}),wo=e=>s({method:"post",url:"/v1/topic/stick",data:e}),yo=e=>s({method:"post",url:"/v1/topic/follow",data:e}),ko=e=>s({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),h=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",_="https://www.paopao.info",u=+"6",O=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:O,extral_num:u}).then(w=>{t.value=w.topics,l.value=w.extral_topics??[],L.value=!0,i.value=!1}).catch(w=>{i.value=!1})},r=w=>w>=1e3?(w/1e3).toFixed(1)+"k":w,y=()=>{h.push({name:"home",query:{q:c.value}})},L=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:w=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(w,E)=>{(w.refreshTopicFollow!==E.refreshTopicFollow||w.userLogined)&&p()}),j(()=>{p()}),(w,E)=>{const $=x,N=ce,F=ae("router-link"),V=Ee,f=de,_e=ue;return m(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[o(N,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":E[0]||(E[0]=C=>c.value=C),onKeyup:K(q(y,["prevent"]),["enter"])},{prefix:a(()=>[o($,{component:m(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),m(L)?(v(),D(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(l.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(F,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(C.tag),1)]),_:2},1032,["to"]),k("div",lt,I(r(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),o(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(t.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(F,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(C.tag),1)]),_:2},1032,["to"]),k("div",ut,I(r(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),o(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+I(m(d)),1),k("div",null,[o(_e,null,{default:a(()=>[k("a",{href:m(g),target:"_blank",class:"hash-link"},I(m(U)),9,it),k("a",{href:m(_),target:"_blank",class:"hash-link"},I(m(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),bo=(e={})=>s({method:"get",url:"/v1/captcha",params:e}),Po=e=>s({method:"post",url:"/v1/captcha",data:e}),Oo=e=>s({method:"post",url:"/v1/user/whisper",data:e}),Lo=e=>s({method:"post",url:"/v1/friend/requesting",data:e}),Ao=e=>s({method:"post",url:"/v1/friend/add",data:e}),To=e=>s({method:"post",url:"/v1/friend/reject",data:e}),Ro=e=>s({method:"post",url:"/v1/friend/delete",data:e}),Co=e=>s({method:"post",url:"/v1/user/phone",data:e}),Eo=e=>s({method:"post",url:"/v1/user/activate",data:e}),$o=e=>s({method:"post",url:"/v1/user/password",data:e}),Io=e=>s({method:"post",url:"/v1/user/nickname",data:e}),So=e=>s({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>s({method:"get",url:"/v1/user/msgcount/unread",params:e}),Mo=e=>s({method:"get",url:"/v1/user/messages",params:e}),Uo=e=>s({method:"post",url:"/v1/user/message/read",data:e}),Ko=e=>s({method:"get",url:"/v1/user/collections",params:e}),qo=e=>s({method:"get",url:"/v1/user/profile",params:e}),Do=e=>s({method:"get",url:"/v1/user/posts",params:e}),No=e=>s({method:"get",url:"/v1/user/wallet/bills",params:e}),xo=e=>s({method:"post",url:"/v1/user/recharge",data:e}),Fo=e=>s({method:"get",url:"/v1/user/recharge",params:e}),Vo=e=>s({method:"get",url:"/v1/suggest/users",params:e}),zo=e=>s({method:"get",url:"/v1/suggest/tags",params:e}),Bo=e=>s({method:"get",url:"/v1/attachment/precheck",params:e}),Wo=e=>s({method:"get",url:"/v1/attachment",params:e}),Ho=e=>s({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Ot={key:0,class:"login-only-wrap"},Lt={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),h=R(),d=R("true".toLowerCase()==="true");H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?h.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),h.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},5e3)):h.value&&clearInterval(h.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const U=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),g=r=>"href"in r?P("div",{},r.label):r.label,b=r=>r.key==="messages"?P(Ie,{dot:!0,show:c.value,processing:!0},{default:()=>P(x,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(x,null,{default:r.icon}),_=(r,y={})=>{n.value=r,i.push({name:r})},u=()=>{l.path==="/"&&t.commit("refresh"),_("home")},O=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},p=()=>{t.commit("userLogout"),t.commit("refresh"),u()};return window.$store=t,window.$message=$e(),(r,y)=>{const L=Se,w=Me,E=Ue,$=ie;return v(),T("div",ht,[k("div",gt,[o(L,{class:"logo-img",width:"36",src:m(_t),"preview-disabled":!0,onClick:u},null,8,["src"])]),o(w,{accordion:!0,"icon-size":24,options:m(U),"render-label":g,"render-icon":b,value:n.value,"onUpdate:value":_},null,8,["options","value"]),m(t).state.userInfo.id>0?(v(),T("div",ft,[o(E,{class:"user-avatar",round:"",size:34,src:m(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,I(m(t).state.userInfo.nickname),1),o($,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:p},{icon:a(()=>[o(m(x),null,{default:a(()=>[o(m(oe))]),_:1})]),_:1})]),k("div",kt,"@"+I(m(t).state.userInfo.username),1)]),k("div",bt,[o($,{class:"logout",quaternary:"",circle:"",onClick:p},{icon:a(()=>[o(m(x),{size:24},{default:a(()=>[o(m(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Ot,[o($,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=N=>O("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Lt,[o($,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=N=>O("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),o($,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=N=>O("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Ct={class:"content-wrap"},Et=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,h=ae("router-view"),d=mt,U=st,g=De,b=Ne,_=xe,u=Ke;return v(),D(u,{theme:m(l)},{default:a(()=>[o(b,null,{default:a(()=>[o(g,null,{default:a(()=>{var O;return[k("div",{class:ge(["app-container",{dark:((O=m(l))==null?void 0:O.name)==="dark",mobile:!m(t).state.desktopModelShow}])},[k("div",Tt,[m(t).state.desktopModelShow?(v(),T("div",Rt,[o(n)])):M("",!0),k("div",Ct,[o(h,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),D(he,null,[i.$route.meta.keepAlive?(v(),D(Z(p),{key:0})):M("",!0)],1024)),i.$route.meta.keepAlive?M("",!0):(v(),D(Z(p),{key:0}))]),_:1})]),o(d)]),o(U)],2)]}),_:1})]),_:1}),o(_)]),_:1},8,["theme"])}}});fe(Et).use(pe).use(Xe).mount("#app");export{Do as A,Oo as B,Lo as C,qo as D,Ro as E,Ho as F,Ao as G,To as H,Uo as I,Mo as J,Ko as K,Bo as L,Wo as M,no as N,W as O,No as P,xo as Q,Fo as R,bo as S,So as T,$o as U,Co as V,Eo as W,Io as X,Po as Y,At as Z,me as _,zo as a,Jt as b,ro as c,_o as d,vo as e,io as f,Vo as g,po as h,fo as i,go as j,ho as k,Zt as l,to as m,ao as n,lo as o,eo as p,oo as q,Xt as r,uo as s,mo as t,so as u,co as v,wo as w,ko as x,yo as y,nt as z}; +import{d as z,r as R,D as Y,j,o as v,K as N,$ as a,a as k,L as o,c as T,e as S,P as q,a0 as D,O as M,Y as m,n as Q,w as H,a1 as ae,F as J,a2 as X,M as I,s as P,a3 as he,Q as Z,a4 as ge,a5 as fe}from"./@vue-ca177dbe.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-88cc84d1.js";import{c as ke,u as B}from"./vuex-d28e9067.js";import{a as be}from"./axios-707ed124.js";import{_ as Pe,N as Le,a as ue,b as ce,c as Oe,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ce,j as F,k as Ee,u as $e,l as Ie,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as De,s as Ne,t as xe}from"./naive-ui-2035804c.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-6d35273b.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const _ of n.addedNodes)_.tagName==="LINK"&&_.rel==="modulepreload"&&i(_)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Ye=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Ye(n),n in se)return;se[n]=!0;const _=n.endsWith(".css"),d=_?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const h=c[b];if(h.href===n&&(!_||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=_?"stylesheet":Ge,_||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),_)return new Promise((b,h)=>{g.addEventListener("load",b),g.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())},Je=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-7afb79f1.js"),["assets/Home-7afb79f1.js","assets/post-item.vue_vue_type_style_index_0_lang-c93cad29.js","assets/content-a3ccbaf1.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-5cb6f6d4.js","assets/post-skeleton-f1900002.css","assets/lodash-3329902d.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Home-47eb20e2.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-fde9a5fe.js"),["assets/Post-fde9a5fe.js","assets/@vue-ca177dbe.js","assets/vuex-d28e9067.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/IEnum-a180d93e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-a3ccbaf1.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vue-router-88cc84d1.js","assets/post-skeleton-5cb6f6d4.js","assets/post-skeleton-f1900002.css","assets/lodash-3329902d.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/main-nav-3ef9bae6.css","assets/v3-infinite-loading-fcb59c38.js","assets/v3-infinite-loading-7d241236.css","assets/axios-707ed124.js","assets/Post-d4d1dd23.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-a0916725.js"),["assets/Topic-a0916725.js","assets/@vicons-6d35273b.js","assets/@vue-ca177dbe.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-97201f06.js"),["assets/Anouncement-97201f06.js","assets/post-skeleton-5cb6f6d4.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/@vue-ca177dbe.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-707ed124.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-92dce2d9.js"),["assets/Profile-92dce2d9.js","assets/post-item.vue_vue_type_style_index_0_lang-c93cad29.js","assets/content-a3ccbaf1.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-5cb6f6d4.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Profile-5d71a5c2.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-3eaafdd1.js"),["assets/User-3eaafdd1.js","assets/post-item.vue_vue_type_style_index_0_lang-c93cad29.js","assets/content-a3ccbaf1.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-5cb6f6d4.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/User-4f525d0f.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-d46eab4a.js"),["assets/Messages-d46eab4a.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/vuex-d28e9067.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-8331a401.js"),["assets/Collection-8331a401.js","assets/post-item.vue_vue_type_style_index_0_lang-c93cad29.js","assets/content-a3ccbaf1.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-ca358197.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-5cb6f6d4.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Collection-e1365ea0.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-c5c4a21f.js"),["assets/Contacts-c5c4a21f.js","assets/vue-router-88cc84d1.js","assets/@vue-ca177dbe.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-5cb6f6d4.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/vuex-d28e9067.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-2284c505.js"),["assets/Wallet-2284c505.js","assets/post-skeleton-5cb6f6d4.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/@vue-ca177dbe.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/qrcode-23069ad7.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-59d11638.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-707ed124.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-111fc1e0.js"),["assets/Setting-111fc1e0.js","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/vuex-d28e9067.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/vooks-2c48c2b5.js","assets/evtd-b614532e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/@css-render-480a363d.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-3cabee86.js"),["assets/404-3cabee86.js","assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js","assets/vuex-d28e9067.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/vooks-2c48c2b5.js","assets/evtd-b614532e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/@css-render-480a363d.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-707ed124.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Je});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Xe=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function s(e){return G(e)}const ne=e=>s({method:"post",url:"/v1/auth/login",data:e}),Ze=e=>s({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>s({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=Y({username:"",password:""}),_=R(),d=Y({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(h,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=h=>{var u;h.preventDefault(),h.stopPropagation(),(u=c.value)==null||u.validate(L=>{L||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=h=>{var u;h.preventDefault(),h.stopPropagation(),(u=_.value)==null||u.validate(L=>{L||(i.value=!0,Ze({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const h=localStorage.getItem("PAOPAO_TOKEN")||"";h?W(h).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(h,u)=>{const L=Pe,p=Le,O=ue,r=ce,w=Oe,y=Ae,E=ie,x=Te,$=Re,K=de,V=Ce;return v(),N(V,{show:m(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>m(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[o(K,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[o(O,{justify:"center"},{default:a(()=>[o(p,null,{default:a(()=>[o(L,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),o(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(w,{label:"账户",path:"username"},{default:a(()=>[o(r,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(D(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(D(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),N($,{key:1,"default-value":m(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[o(x,{name:"signin",tab:"登录"},{default:a(()=>[o(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(w,{label:"账户",path:"username"},{default:a(()=>[o(r,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(D(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(D(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),o(x,{name:"signup",tab:"注册"},{default:a(()=>[o(y,{ref_key:"registerRef",ref:_,model:d,rules:U},{default:a(()=>[o(w,{label:"用户名",path:"username"},{default:a(()=>[o(r,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:q(D(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"重复密码",path:"repassword"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:q(D(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Jt=e=>s({method:"get",url:"/v1/posts",params:e}),nt=e=>s({method:"get",url:"/v1/tags",params:e}),Xt=e=>s({method:"get",url:"/v1/post",params:e}),Zt=e=>s({method:"get",url:"/v1/post/star",params:e}),eo=e=>s({method:"post",url:"/v1/post/star",data:e}),to=e=>s({method:"get",url:"/v1/post/collection",params:e}),oo=e=>s({method:"post",url:"/v1/post/collection",data:e}),so=e=>s({method:"get",url:"/v1/post/comments",params:e}),no=e=>s({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>s({method:"post",url:"/v1/post",data:e}),ao=e=>s({method:"delete",url:"/v1/post",data:e}),lo=e=>s({method:"post",url:"/v1/post/lock",data:e}),uo=e=>s({method:"post",url:"/v1/post/stick",data:e}),co=e=>s({method:"post",url:"/v1/post/visibility",data:e}),io=e=>s({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),po=e=>s({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),mo=e=>s({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),_o=e=>s({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),ho=e=>s({method:"post",url:"/v1/post/comment",data:e}),go=e=>s({method:"delete",url:"/v1/post/comment",data:e}),fo=e=>s({method:"post",url:"/v1/post/comment/reply",data:e}),vo=e=>s({method:"delete",url:"/v1/post/comment/reply",data:e}),wo=e=>s({method:"post",url:"/v1/topic/stick",data:e}),yo=e=>s({method:"post",url:"/v1/topic/follow",data:e}),ko=e=>s({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),_=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",h="https://www.paopao.info",u=+"6",L=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:L,extral_num:u}).then(y=>{t.value=y.topics,l.value=y.extral_topics??[],w.value=!0,i.value=!1}).catch(y=>{i.value=!1})},O=y=>y>=1e3?(y/1e3).toFixed(1)+"k":y,r=()=>{_.push({name:"home",query:{q:c.value}})},w=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:y=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(y,E)=>{(y.refreshTopicFollow!==E.refreshTopicFollow||y.userLogined)&&p()}),j(()=>{p()}),(y,E)=>{const x=F,$=ce,K=ae("router-link"),V=Ee,f=de,_e=ue;return m(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[o($,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":E[0]||(E[0]=C=>c.value=C),onKeyup:q(D(r,["prevent"]),["enter"])},{prefix:a(()=>[o(x,{component:m(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),m(w)?(v(),N(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(l.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(K,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(C.tag),1)]),_:2},1032,["to"]),k("div",lt,I(O(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),o(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(t.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(K,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(C.tag),1)]),_:2},1032,["to"]),k("div",ut,I(O(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),o(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+I(m(d)),1),k("div",null,[o(_e,null,{default:a(()=>[k("a",{href:m(g),target:"_blank",class:"hash-link"},I(m(U)),9,it),k("a",{href:m(h),target:"_blank",class:"hash-link"},I(m(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),bo=(e={})=>s({method:"get",url:"/v1/captcha",params:e}),Po=e=>s({method:"post",url:"/v1/captcha",data:e}),Lo=e=>s({method:"post",url:"/v1/user/whisper",data:e}),Oo=e=>s({method:"post",url:"/v1/friend/requesting",data:e}),Ao=e=>s({method:"post",url:"/v1/friend/add",data:e}),To=e=>s({method:"post",url:"/v1/friend/reject",data:e}),Ro=e=>s({method:"post",url:"/v1/friend/delete",data:e}),Co=e=>s({method:"post",url:"/v1/user/phone",data:e}),Eo=e=>s({method:"post",url:"/v1/user/activate",data:e}),$o=e=>s({method:"post",url:"/v1/user/password",data:e}),Io=e=>s({method:"post",url:"/v1/user/nickname",data:e}),So=e=>s({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>s({method:"get",url:"/v1/user/msgcount/unread",params:e}),Mo=e=>s({method:"get",url:"/v1/user/messages",params:e}),Uo=e=>s({method:"post",url:"/v1/user/message/read",data:e}),Ko=e=>s({method:"get",url:"/v1/user/collections",params:e}),qo=e=>s({method:"get",url:"/v1/user/profile",params:e}),Do=e=>s({method:"get",url:"/v1/user/posts",params:e}),No=e=>s({method:"get",url:"/v1/user/wallet/bills",params:e}),xo=e=>s({method:"post",url:"/v1/user/recharge",data:e}),Fo=e=>s({method:"get",url:"/v1/user/recharge",params:e}),Vo=e=>s({method:"get",url:"/v1/suggest/users",params:e}),zo=e=>s({method:"get",url:"/v1/suggest/tags",params:e}),Bo=e=>s({method:"get",url:"/v1/attachment/precheck",params:e}),Wo=e=>s({method:"get",url:"/v1/attachment",params:e}),Ho=e=>s({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Lt={key:0,class:"login-only-wrap"},Ot={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),_=R(),d=R("true".toLowerCase()==="true"),U=+"5000";H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?_.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),_.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},U)):_.value&&clearInterval(_.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const g=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),b=r=>"href"in r?P("div",{},r.label):r.label,h=r=>r.key==="messages"?P(Ie,{dot:!0,show:c.value,processing:!0},{default:()=>P(F,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(F,null,{default:r.icon}),u=(r,w={})=>{n.value=r,i.push({name:r})},L=()=>{l.path==="/"&&t.commit("refresh"),u("home")},p=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},O=()=>{t.commit("userLogout"),t.commit("refresh"),L()};return window.$store=t,window.$message=$e(),(r,w)=>{const y=Se,E=Me,x=Ue,$=ie;return v(),T("div",ht,[k("div",gt,[o(y,{class:"logo-img",width:"36",src:m(_t),"preview-disabled":!0,onClick:L},null,8,["src"])]),o(E,{accordion:!0,"icon-size":24,options:m(g),"render-label":b,"render-icon":h,value:n.value,"onUpdate:value":u},null,8,["options","value"]),m(t).state.userInfo.id>0?(v(),T("div",ft,[o(x,{class:"user-avatar",round:"",size:34,src:m(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,I(m(t).state.userInfo.nickname),1),o($,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:O},{icon:a(()=>[o(m(F),null,{default:a(()=>[o(m(oe))]),_:1})]),_:1})]),k("div",kt,"@"+I(m(t).state.userInfo.username),1)]),k("div",bt,[o($,{class:"logout",quaternary:"",circle:"",onClick:O},{icon:a(()=>[o(m(F),{size:24},{default:a(()=>[o(m(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Lt,[o($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[0]||(w[0]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Ot,[o($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[1]||(w[1]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),o($,{strong:"",secondary:"",round:"",type:"info",onClick:w[2]||(w[2]=K=>p("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Ct={class:"content-wrap"},Et=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,_=ae("router-view"),d=mt,U=st,g=De,b=Ne,h=xe,u=Ke;return v(),N(u,{theme:m(l)},{default:a(()=>[o(b,null,{default:a(()=>[o(g,null,{default:a(()=>{var L;return[k("div",{class:ge(["app-container",{dark:((L=m(l))==null?void 0:L.name)==="dark",mobile:!m(t).state.desktopModelShow}])},[k("div",Tt,[m(t).state.desktopModelShow?(v(),T("div",Rt,[o(n)])):M("",!0),k("div",Ct,[o(_,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),N(he,null,[i.$route.meta.keepAlive?(v(),N(Z(p),{key:0})):M("",!0)],1024)),i.$route.meta.keepAlive?M("",!0):(v(),N(Z(p),{key:0}))]),_:1})]),o(d)]),o(U)],2)]}),_:1})]),_:1}),o(h)]),_:1},8,["theme"])}}});fe(Et).use(pe).use(Xe).mount("#app");export{Do as A,Lo as B,Oo as C,qo as D,Ro as E,Ho as F,Ao as G,To as H,Uo as I,Mo as J,Ko as K,Bo as L,Wo as M,no as N,W as O,No as P,xo as Q,Fo as R,bo as S,So as T,$o as U,Co as V,Eo as W,Io as X,Po as Y,At as Z,me as _,zo as a,Jt as b,ro as c,_o as d,vo as e,io as f,Vo as g,po as h,fo as i,go as j,ho as k,Zt as l,to as m,ao as n,lo as o,eo as p,oo as q,Xt as r,uo as s,mo as t,so as u,co as v,wo as w,ko as x,yo as y,nt as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js similarity index 96% rename from web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js rename to web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js index cefff675..ac90b3c5 100644 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-35243535.js +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-5590db51.js @@ -1 +1 @@ -import{Z as B}from"./index-f248e035.js";import{u as E}from"./vuex-d28e9067.js";import{u as S}from"./vue-router-88cc84d1.js";import{j as A}from"./vooks-2c48c2b5.js";import{D as C,y as D,z as N,F as P}from"./@vicons-6d35273b.js";import{a3 as x,a4 as R,j as I,e as V,a5 as j,h as F}from"./naive-ui-2035804c.js";import{d as H,r as f,j as L,o as a,c as g,Y as o,L as e,$ as t,O as c,a as $,K as _,e as q,M as U,F as K}from"./@vue-ca177dbe.js";const Y={key:0},Z={class:"navbar"},oe=H({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(r){const i=r,n=E(),m=S(),l=f(!1),k=f("left"),u=d=>{d?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return L(()=>{localStorage.getItem("PAOPAO_THEME")||u(A()==="dark")}),(d,p)=>{const y=B,b=x,O=R,s=I,h=V,M=j,T=F;return a(),g(K,null,[o(n).state.drawerModelShow?(a(),g("div",Y,[e(O,{show:l.value,"onUpdate:show":p[0]||(p[0]=z=>l.value=z),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[$("div",Z,[o(n).state.drawerModelShow&&!r.back?(a(),_(h,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),r.back?(a(),_(h,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(D))]),_:1})]),_:1})):c("",!0),q(" "+U(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(s,{component:o(N)},null,8,["component"])]),"unchecked-icon":t(()=>[e(s,{component:o(P)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; +import{Z as B}from"./index-f9e09224.js";import{u as E}from"./vuex-d28e9067.js";import{u as S}from"./vue-router-88cc84d1.js";import{j as A}from"./vooks-2c48c2b5.js";import{D as C,y as D,z as N,F as P}from"./@vicons-6d35273b.js";import{a3 as x,a4 as R,j as I,e as V,a5 as j,h as F}from"./naive-ui-2035804c.js";import{d as H,r as f,j as L,o as a,c as g,Y as o,L as e,$ as t,O as c,a as $,K as _,e as q,M as U,F as K}from"./@vue-ca177dbe.js";const Y={key:0},Z={class:"navbar"},oe=H({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(r){const i=r,n=E(),m=S(),l=f(!1),k=f("left"),u=d=>{d?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return L(()=>{localStorage.getItem("PAOPAO_THEME")||u(A()==="dark")}),(d,p)=>{const y=B,b=x,O=R,s=I,h=V,M=j,T=F;return a(),g(K,null,[o(n).state.drawerModelShow?(a(),g("div",Y,[e(O,{show:l.value,"onUpdate:show":p[0]||(p[0]=z=>l.value=z),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[$("div",Z,[o(n).state.drawerModelShow&&!r.back?(a(),_(h,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),r.back?(a(),_(h,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(D))]),_:1})]),_:1})):c("",!0),q(" "+U(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(s,{component:o(N)},null,8,["component"])]),"unchecked-icon":t(()=>[e(s,{component:o(P)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-c93cad29.js similarity index 97% rename from web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js rename to web/dist/assets/post-item.vue_vue_type_style_index_0_lang-c93cad29.js index 9acd1bb8..19eeec12 100644 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0e1e75fc.js +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-c93cad29.js @@ -1 +1 @@ -import{p as D,a as F,_ as P,b as I,c as R}from"./content-08a31875.js";import{d as A,n as b,a1 as E,o as a,c as u,L as i,a6 as K,Y as t,$ as n,a as l,F as Y,a2 as G,a0 as v,e as _,M as c,K as p,O as r}from"./@vue-ca177dbe.js";import{u as J}from"./vuex-d28e9067.js";import{b as Q,u as U}from"./vue-router-88cc84d1.js";import{b as x}from"./formatTime-000dbebb.js";import{a as W}from"./copy-to-clipboard-ca358197.js";import{i as X,j as Z,l as tt,m as et}from"./@vicons-6d35273b.js";import{o as st,M as ot,j as nt,e as at,O as it,a as rt,L as ct}from"./naive-ui-2035804c.js";const pt={class:"post-item"},lt={class:"nickname-wrap"},_t={class:"username-wrap"},mt={key:3},ut={class:"timestamp-mobile"},dt={class:"item-header-extra"},ht={key:0,class:"timestamp"},gt=["innerHTML"],kt={class:"opt-item"},ft={class:"opt-item"},Mt=A({__name:"post-item",props:{post:null},setup(C){const $=C;Q();const k=U(),d=J(),z=b(()=>[{label:"复制链接",key:"copyTweetLink"}]),M=o=>{switch(o){case"copyTweetLink":W(`${window.location.origin}/#/post?id=${e.value.id}`),window.$message.success("链接已复制到剪贴板");break}},e=b(()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},$.post);return o.contents.map(s=>{(+s.type==1||+s.type==2)&&o.texts.push(s),+s.type==3&&o.imgs.push(s),+s.type==4&&o.videos.push(s),+s.type==6&&o.links.push(s),+s.type==7&&o.attachments.push(s),+s.type==8&&o.charge_attachments.push(s)}),o}),f=o=>{k.push({name:"post",query:{id:o}})},T=(o,s)=>{if(o.target.dataset.detail){const m=o.target.dataset.detail.split(":");if(m.length===2){d.commit("refresh"),m[0]==="tag"?k.push({name:"home",query:{q:m[1],t:"tag"}}):k.push({name:"user",query:{username:m[1]}});return}}f(s)};return(o,s)=>{const m=st,L=E("router-link"),y=ot,h=nt,O=at,S=it,w=F,q=P,B=I,N=R,j=rt,H=ct;return a(),u("div",pt,[i(H,{"content-indented":""},K({avatar:n(()=>[i(m,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:n(()=>[l("span",lt,[i(L,{onClick:s[0]||(s[0]=v(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:n(()=>[_(c(t(e).user.nickname),1)]),_:1},8,["to"])]),l("span",_t," @"+c(t(e).user.username),1),t(e).is_top?(a(),p(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[_(" 置顶 ")]),_:1})):r("",!0),t(e).visibility==1?(a(),p(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[_(" 私密 ")]),_:1})):r("",!0),t(e).visibility==2?(a(),p(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[_(" 好友可见 ")]),_:1})):r("",!0),t(d).state.desktopModelShow?r("",!0):(a(),u("div",mt,[l("span",ut,c(t(x)(t(e).created_on))+" "+c(t(e).ip_loc),1)]))]),"header-extra":n(()=>[l("div",dt,[t(d).state.desktopModelShow?(a(),u("span",ht,c(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+c(t(x)(t(e).created_on)),1)):r("",!0),t(d).state.desktopModelShow?r("",!0):(a(),p(S,{key:1,placement:"bottom-end",trigger:"click",size:"small",options:t(z),onSelect:M},{default:n(()=>[i(O,{quaternary:"",circle:""},{icon:n(()=>[i(h,null,{default:n(()=>[i(t(X))]),_:1})]),_:1})]),_:1},8,["options"]))])]),footer:n(()=>[t(e).attachments.length>0?(a(),p(w,{key:0,attachments:t(e).attachments},null,8,["attachments"])):r("",!0),t(e).charge_attachments.length>0?(a(),p(w,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):r("",!0),t(e).imgs.length>0?(a(),p(q,{key:2,imgs:t(e).imgs},null,8,["imgs"])):r("",!0),t(e).videos.length>0?(a(),p(B,{key:3,videos:t(e).videos},null,8,["videos"])):r("",!0),t(e).links.length>0?(a(),p(N,{key:4,links:t(e).links},null,8,["links"])):r("",!0)]),action:n(()=>[i(j,{justify:"space-between"},{default:n(()=>[l("div",kt,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(Z))]),_:1}),_(" "+c(t(e).upvote_count),1)]),l("div",{class:"opt-item",onClick:s[3]||(s[3]=v(g=>f(t(e).id),["stop"]))},[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(tt))]),_:1}),_(" "+c(t(e).comment_count),1)]),l("div",ft,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(et))]),_:1}),_(" "+c(t(e).collection_count),1)])]),_:1})]),_:2},[t(e).texts.length>0?{name:"description",fn:n(()=>[l("div",{onClick:s[2]||(s[2]=g=>f(t(e).id))},[(a(!0),u(Y,null,G(t(e).texts,g=>(a(),u("span",{key:g.id,class:"post-text",onClick:s[1]||(s[1]=v(V=>T(V,t(e).id),["stop"])),innerHTML:t(D)(g.content).content},null,8,gt))),128))])]),key:"0"}:void 0]),1024)])}}});export{Mt as _}; +import{p as D,a as F,_ as P,b as I,c as R}from"./content-a3ccbaf1.js";import{d as A,n as b,a1 as E,o as a,c as u,L as i,a6 as K,Y as t,$ as n,a as l,F as Y,a2 as G,a0 as v,e as _,M as c,K as p,O as r}from"./@vue-ca177dbe.js";import{u as J}from"./vuex-d28e9067.js";import{b as Q,u as U}from"./vue-router-88cc84d1.js";import{b as x}from"./formatTime-000dbebb.js";import{a as W}from"./copy-to-clipboard-ca358197.js";import{i as X,j as Z,l as tt,m as et}from"./@vicons-6d35273b.js";import{o as st,M as ot,j as nt,e as at,O as it,a as rt,L as ct}from"./naive-ui-2035804c.js";const pt={class:"post-item"},lt={class:"nickname-wrap"},_t={class:"username-wrap"},mt={key:3},ut={class:"timestamp-mobile"},dt={class:"item-header-extra"},ht={key:0,class:"timestamp"},gt=["innerHTML"],kt={class:"opt-item"},ft={class:"opt-item"},Mt=A({__name:"post-item",props:{post:null},setup(C){const $=C;Q();const k=U(),d=J(),z=b(()=>[{label:"复制链接",key:"copyTweetLink"}]),M=o=>{switch(o){case"copyTweetLink":W(`${window.location.origin}/#/post?id=${e.value.id}`),window.$message.success("链接已复制到剪贴板");break}},e=b(()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},$.post);return o.contents.map(s=>{(+s.type==1||+s.type==2)&&o.texts.push(s),+s.type==3&&o.imgs.push(s),+s.type==4&&o.videos.push(s),+s.type==6&&o.links.push(s),+s.type==7&&o.attachments.push(s),+s.type==8&&o.charge_attachments.push(s)}),o}),f=o=>{k.push({name:"post",query:{id:o}})},T=(o,s)=>{if(o.target.dataset.detail){const m=o.target.dataset.detail.split(":");if(m.length===2){d.commit("refresh"),m[0]==="tag"?k.push({name:"home",query:{q:m[1],t:"tag"}}):k.push({name:"user",query:{username:m[1]}});return}}f(s)};return(o,s)=>{const m=st,L=E("router-link"),y=ot,h=nt,O=at,S=it,w=F,q=P,B=I,N=R,j=rt,H=ct;return a(),u("div",pt,[i(H,{"content-indented":""},K({avatar:n(()=>[i(m,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:n(()=>[l("span",lt,[i(L,{onClick:s[0]||(s[0]=v(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:n(()=>[_(c(t(e).user.nickname),1)]),_:1},8,["to"])]),l("span",_t," @"+c(t(e).user.username),1),t(e).is_top?(a(),p(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[_(" 置顶 ")]),_:1})):r("",!0),t(e).visibility==1?(a(),p(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[_(" 私密 ")]),_:1})):r("",!0),t(e).visibility==2?(a(),p(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[_(" 好友可见 ")]),_:1})):r("",!0),t(d).state.desktopModelShow?r("",!0):(a(),u("div",mt,[l("span",ut,c(t(x)(t(e).created_on))+" "+c(t(e).ip_loc),1)]))]),"header-extra":n(()=>[l("div",dt,[t(d).state.desktopModelShow?(a(),u("span",ht,c(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+c(t(x)(t(e).created_on)),1)):r("",!0),t(d).state.desktopModelShow?r("",!0):(a(),p(S,{key:1,placement:"bottom-end",trigger:"click",size:"small",options:t(z),onSelect:M},{default:n(()=>[i(O,{quaternary:"",circle:""},{icon:n(()=>[i(h,null,{default:n(()=>[i(t(X))]),_:1})]),_:1})]),_:1},8,["options"]))])]),footer:n(()=>[t(e).attachments.length>0?(a(),p(w,{key:0,attachments:t(e).attachments},null,8,["attachments"])):r("",!0),t(e).charge_attachments.length>0?(a(),p(w,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):r("",!0),t(e).imgs.length>0?(a(),p(q,{key:2,imgs:t(e).imgs},null,8,["imgs"])):r("",!0),t(e).videos.length>0?(a(),p(B,{key:3,videos:t(e).videos},null,8,["videos"])):r("",!0),t(e).links.length>0?(a(),p(N,{key:4,links:t(e).links},null,8,["links"])):r("",!0)]),action:n(()=>[i(j,{justify:"space-between"},{default:n(()=>[l("div",kt,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(Z))]),_:1}),_(" "+c(t(e).upvote_count),1)]),l("div",{class:"opt-item",onClick:s[3]||(s[3]=v(g=>f(t(e).id),["stop"]))},[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(tt))]),_:1}),_(" "+c(t(e).comment_count),1)]),l("div",ft,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(et))]),_:1}),_(" "+c(t(e).collection_count),1)])]),_:1})]),_:2},[t(e).texts.length>0?{name:"description",fn:n(()=>[l("div",{onClick:s[2]||(s[2]=g=>f(t(e).id))},[(a(!0),u(Y,null,G(t(e).texts,g=>(a(),u("span",{key:g.id,class:"post-text",onClick:s[1]||(s[1]=v(V=>T(V,t(e).id),["stop"])),innerHTML:t(D)(g.content).content},null,8,gt))),128))])]),key:"0"}:void 0]),1024)])}}});export{Mt as _}; diff --git a/web/dist/assets/post-skeleton-765fdbf7.js b/web/dist/assets/post-skeleton-5cb6f6d4.js similarity index 88% rename from web/dist/assets/post-skeleton-765fdbf7.js rename to web/dist/assets/post-skeleton-5cb6f6d4.js index 1a62554f..cf59d091 100644 --- a/web/dist/assets/post-skeleton-765fdbf7.js +++ b/web/dist/assets/post-skeleton-5cb6f6d4.js @@ -1 +1 @@ -import{U as c}from"./naive-ui-2035804c.js";import{d as r,o as s,c as n,a2 as l,a as o,L as t,F as p}from"./@vue-ca177dbe.js";import{_ as i}from"./index-f248e035.js";const m={class:"user"},d={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(f,k)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; +import{U as c}from"./naive-ui-2035804c.js";import{d as r,o as s,c as n,a2 as l,a as o,L as t,F as p}from"./@vue-ca177dbe.js";import{_ as i}from"./index-f9e09224.js";const m={class:"user"},d={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(f,k)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/index.html b/web/dist/index.html index fb8c0c46..7f978613 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,7 +8,7 @@ 泡泡 - + diff --git a/web/src/components/sidebar.vue b/web/src/components/sidebar.vue index 04f4cf53..e4ba4303 100644 --- a/web/src/components/sidebar.vue +++ b/web/src/components/sidebar.vue @@ -81,6 +81,7 @@ const hasUnreadMsg = ref(false); const selectedPath = ref(route.name || ''); const msgLoop = ref(); const allowUserRegister = ref(import.meta.env.VITE_ALLOW_USER_REGISTER.toLowerCase() === 'true') +const defMsgLoopInterval = Number(import.meta.env.VITE_DEFAULT_MSG_LOOP_INTERVAL) watch(route, () => { selectedPath.value = route.name; @@ -104,7 +105,7 @@ watch(store.state, () => { .catch((err) => { console.log(err); }); - }, 5000); + }, defMsgLoopInterval); } } else { if (msgLoop.value) { diff --git a/web/src/vite-env.d.ts b/web/src/vite-env.d.ts index 6f387fc3..e6fc8051 100644 --- a/web/src/vite-env.d.ts +++ b/web/src/vite-env.d.ts @@ -15,6 +15,7 @@ interface ImportMetaEnv { readonly VITE_ALLOW_TWEET_VIDEO: string; readonly VITE_ALLOW_TWEET_LABEL: string; readonly VITE_ALLOW_TWEET_VISIBILITY: string; + readonly VITE_DEFAULT_MSG_LOOP_INTERVAL: number; readonly VITE_DEFAULT_TWEET_MAX_LENGTH: number; readonly VITE_DEFAULT_TWEET_VISIBILITY: string; readonly VITE_DEFAULT_TWEET_IMAGE_404: string; From 538a32f43795c7ff7591e22222772482ea6c4724 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 29 Jun 2023 17:34:34 +0800 Subject: [PATCH 56/65] re-generate web/dist and reduce unused source code --- CHANGELOG.md | 4 + go.mod | 25 +- go.sum | 50 +- internal/ims/README.md | 2 - internal/ims/ims.go | 5 - internal/obs/README.md | 2 - internal/obs/obs.go | 5 - internal/timeline/README.md | 2 - internal/timeline/timeline.go | 5 - internal/xds/README.md | 2 - internal/xds/xds.go | 5 - web/dist/assets/404-00d7402f.js | 1 - web/dist/assets/404-a716f9be.js | 1 + ...er-480a363d.js => @css-render-6b6cdab1.js} | 2 +- ...vicons-6d35273b.js => @vicons-4022100b.js} | 2 +- web/dist/assets/@vue-ca177dbe.js | 1 - web/dist/assets/@vue-d002002f.js | 1 + web/dist/assets/Anouncement-03e2840f.js | 1 + web/dist/assets/Anouncement-89915a48.js | 1 - web/dist/assets/Collection-2dd501b0.js | 1 - web/dist/assets/Collection-d2c48dce.js | 1 + web/dist/assets/Contacts-11d4e104.js | 1 + web/dist/assets/Contacts-212adf88.js | 1 - web/dist/assets/Home-37cbe774.js | 1 - web/dist/assets/Home-95daf6e0.js | 1 + web/dist/assets/Messages-268fd9db.js | 1 - web/dist/assets/Messages-bfeaef81.js | 1 + web/dist/assets/Post-9d62007f.js | 1 + web/dist/assets/Post-e74fef3c.js | 1 - web/dist/assets/Profile-5a5650f5.js | 1 + web/dist/assets/Profile-ada56cf6.js | 1 - web/dist/assets/Setting-51598333.js | 1 + web/dist/assets/Setting-e97b467a.js | 1 - web/dist/assets/Topic-31413ff4.js | 1 + web/dist/assets/Topic-ea29dcd9.js | 1 - web/dist/assets/User-44311937.js | 1 + web/dist/assets/User-645b4d7e.js | 1 - web/dist/assets/Wallet-595cd027.js | 1 - web/dist/assets/Wallet-ec5cbdee.js | 1 + web/dist/assets/content-3f1d28f2.js | 1 - web/dist/assets/content-b5ab8047.js | 1 + web/dist/assets/index-0f3021a1.js | 1 + web/dist/assets/index-71354138.js | 1 - ...ue_vue_type_style_index_0_lang-5097b22a.js | 1 - ...ue_vue_type_style_index_0_lang-6d03f8cc.js | 1 + ...ve-ui-2035804c.js => naive-ui-88b48034.js} | 2 +- web/dist/assets/nonesir-video-db921567.js | 810 ----------------- .../assets/paopao-video-player-d47e9bf6.js | 836 ++++++++++++++++++ ...ue_vue_type_style_index_0_lang-09a3d19d.js | 1 - ...ue_vue_type_style_index_0_lang-0b64a8ce.js | 1 + web/dist/assets/post-skeleton-8710588f.js | 1 + web/dist/assets/post-skeleton-fdd699ea.js | 1 - ...c38.js => v3-infinite-loading-58f64a4e.js} | 2 +- .../{vooks-2c48c2b5.js => vooks-77bdadbd.js} | 2 +- ...ter-88cc84d1.js => vue-router-29e6667f.js} | 2 +- .../{vueuc-973e5707.js => vueuc-0232e3b9.js} | 2 +- .../{vuex-d28e9067.js => vuex-4d2f7b35.js} | 4 +- web/dist/index.html | 18 +- 58 files changed, 917 insertions(+), 908 deletions(-) delete mode 100644 internal/ims/README.md delete mode 100644 internal/ims/ims.go delete mode 100644 internal/obs/README.md delete mode 100644 internal/obs/obs.go delete mode 100644 internal/timeline/README.md delete mode 100644 internal/timeline/timeline.go delete mode 100644 internal/xds/README.md delete mode 100644 internal/xds/xds.go delete mode 100644 web/dist/assets/404-00d7402f.js create mode 100644 web/dist/assets/404-a716f9be.js rename web/dist/assets/{@css-render-480a363d.js => @css-render-6b6cdab1.js} (96%) rename web/dist/assets/{@vicons-6d35273b.js => @vicons-4022100b.js} (99%) delete mode 100644 web/dist/assets/@vue-ca177dbe.js create mode 100644 web/dist/assets/@vue-d002002f.js create mode 100644 web/dist/assets/Anouncement-03e2840f.js delete mode 100644 web/dist/assets/Anouncement-89915a48.js delete mode 100644 web/dist/assets/Collection-2dd501b0.js create mode 100644 web/dist/assets/Collection-d2c48dce.js create mode 100644 web/dist/assets/Contacts-11d4e104.js delete mode 100644 web/dist/assets/Contacts-212adf88.js delete mode 100644 web/dist/assets/Home-37cbe774.js create mode 100644 web/dist/assets/Home-95daf6e0.js delete mode 100644 web/dist/assets/Messages-268fd9db.js create mode 100644 web/dist/assets/Messages-bfeaef81.js create mode 100644 web/dist/assets/Post-9d62007f.js delete mode 100644 web/dist/assets/Post-e74fef3c.js create mode 100644 web/dist/assets/Profile-5a5650f5.js delete mode 100644 web/dist/assets/Profile-ada56cf6.js create mode 100644 web/dist/assets/Setting-51598333.js delete mode 100644 web/dist/assets/Setting-e97b467a.js create mode 100644 web/dist/assets/Topic-31413ff4.js delete mode 100644 web/dist/assets/Topic-ea29dcd9.js create mode 100644 web/dist/assets/User-44311937.js delete mode 100644 web/dist/assets/User-645b4d7e.js delete mode 100644 web/dist/assets/Wallet-595cd027.js create mode 100644 web/dist/assets/Wallet-ec5cbdee.js delete mode 100644 web/dist/assets/content-3f1d28f2.js create mode 100644 web/dist/assets/content-b5ab8047.js create mode 100644 web/dist/assets/index-0f3021a1.js delete mode 100644 web/dist/assets/index-71354138.js delete mode 100644 web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js create mode 100644 web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js rename web/dist/assets/{naive-ui-2035804c.js => naive-ui-88b48034.js} (99%) delete mode 100644 web/dist/assets/nonesir-video-db921567.js create mode 100644 web/dist/assets/paopao-video-player-d47e9bf6.js delete mode 100644 web/dist/assets/post-item.vue_vue_type_style_index_0_lang-09a3d19d.js create mode 100644 web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js create mode 100644 web/dist/assets/post-skeleton-8710588f.js delete mode 100644 web/dist/assets/post-skeleton-fdd699ea.js rename web/dist/assets/{v3-infinite-loading-fcb59c38.js => v3-infinite-loading-58f64a4e.js} (63%) rename web/dist/assets/{vooks-2c48c2b5.js => vooks-77bdadbd.js} (83%) rename web/dist/assets/{vue-router-88cc84d1.js => vue-router-29e6667f.js} (99%) rename web/dist/assets/{vueuc-973e5707.js => vueuc-0232e3b9.js} (99%) rename web/dist/assets/{vuex-d28e9067.js => vuex-4d2f7b35.js} (89%) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0be5cd4..54ca3c78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to paopao-ce are documented in this file. ## 0.4.0+dev ([`dev`](https://github.com/rocboss/paopao-ce/tree/dev)) +## 0.3.1 +### Fixed +- fixed: video player assets cdn error. [&caff8c0](https://github.com/rocboss/paopao-ce/commit/caff8c052be6c8d59576011192f830fd98e17ab3 'commit caff8c0') + ## 0.3.0 ### Added diff --git a/go.mod b/go.mod index b1fff807..f23b737c 100644 --- a/go.mod +++ b/go.mod @@ -9,13 +9,13 @@ require ( github.com/alimy/mir/v3 v3.1.1 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.8 + github.com/bytedance/sonic v1.9.1 github.com/cockroachdb/errors v1.9.1 github.com/disintegration/imaging v1.6.2 github.com/fatih/color v1.15.0 github.com/getsentry/sentry-go v0.20.0 github.com/gin-contrib/cors v1.4.0 - github.com/gin-gonic/gin v1.9.0 + github.com/gin-gonic/gin v1.9.1 github.com/go-resty/resty/v2 v2.7.0 github.com/goccy/go-json v0.10.2 github.com/gofrs/uuid v4.4.0+incompatible @@ -57,11 +57,12 @@ require ( github.com/cockroachdb/redact v1.1.3 // indirect github.com/dustin/go-humanize v1.0.1 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.11.2 // indirect + github.com/go-playground/validator/v10 v10.14.0 // indirect github.com/go-sql-driver/mysql v1.7.0 // indirect github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -85,12 +86,12 @@ require ( github.com/klauspost/cpuid/v2 v2.2.4 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect - github.com/leodido/go-urn v1.2.1 // indirect + github.com/leodido/go-urn v1.2.4 // indirect github.com/lib/pq v1.10.2 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.17 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect github.com/mattn/go-sqlite3 v1.14.16 // indirect github.com/minio/md5-simd v1.1.2 // indirect github.com/minio/sha256-simd v1.0.0 // indirect @@ -98,7 +99,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mozillazg/go-httpheader v0.3.1 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pyroscope-io/godeltaprof v0.1.0 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect @@ -111,17 +112,17 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect - github.com/ugorji/go/codec v1.2.9 // indirect + github.com/ugorji/go/codec v1.2.11 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasthttp v1.40.0 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect - golang.org/x/crypto v0.7.0 // indirect + golang.org/x/arch v0.3.0 // indirect + golang.org/x/crypto v0.9.0 // indirect golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9 // indirect golang.org/x/mod v0.9.0 // indirect - golang.org/x/net v0.8.0 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/text v0.8.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.8.0 // indirect + golang.org/x/text v0.9.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.7.0 // indirect google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect diff --git a/go.sum b/go.sum index 2e0702c1..eb97bc99 100644 --- a/go.sum +++ b/go.sum @@ -199,8 +199,8 @@ github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8n github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= -github.com/bytedance/sonic v1.8.8 h1:Kj4AYbZSeENfyXicsYppYKO0K2YWab+i2UTSY7Ukz9Q= -github.com/bytedance/sonic v1.8.8/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= +github.com/bytedance/sonic v1.9.1/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= @@ -462,6 +462,8 @@ github.com/fsouza/fake-gcs-server v1.17.0/go.mod h1:D1rTE4YCyHFNa99oyJJ5HyclvN/0 github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/gabriel-vasile/mimetype v1.3.1/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8= github.com/gabriel-vasile/mimetype v1.4.0/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8= +github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= +github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= @@ -477,8 +479,8 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= -github.com/gin-gonic/gin v1.9.0 h1:OjyFBKICoexlu99ctXNR2gg+c5pKrKMuyjgARg9qeY8= -github.com/gin-gonic/gin v1.9.0/go.mod h1:W1Me9+hsUSyj3CePGrd1/QrKJMSJ1Tu/0hFEH89961k= +github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= +github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= @@ -531,8 +533,8 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= -github.com/go-playground/validator/v10 v10.11.2 h1:q3SHpufmypg+erIExEKUmsgmhDTyhcJ38oeKGACXohU= -github.com/go-playground/validator/v10 v10.11.2/go.mod h1:NieE624vt4SCTJtD87arVLvdmjPAeV8BQlHtMnw9D7s= +github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= +github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= @@ -918,8 +920,9 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/ktrysmt/go-bitbucket v0.6.4/go.mod h1:9u0v3hsd2rqCHRIpbir1oP7F58uo5dq19sBYvuMoyQ4= github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= -github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= +github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -963,8 +966,8 @@ github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2y github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= @@ -1112,8 +1115,8 @@ github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAv github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= @@ -1283,8 +1286,9 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= @@ -1309,8 +1313,8 @@ github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6 github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= -github.com/ugorji/go/codec v1.2.9 h1:rmenucSohSTiyL09Y+l2OCk+FrMxGMzho2+tjr5ticU= -github.com/ugorji/go/codec v1.2.9/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= @@ -1423,8 +1427,9 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -golang.org/x/arch v0.0.0-20210923205945-b76863e36670 h1:18EFjUmQOcUvxNYSkA6jO9VAiXCnxFY6NyDX0bHDmkU= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= +golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1456,8 +1461,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1583,8 +1588,8 @@ golang.org/x/net v0.0.0-20220111093109-d55c255bac03/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180227000427-d7d64896b5ff/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1751,8 +1756,9 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1769,8 +1775,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/internal/ims/README.md b/internal/ims/README.md deleted file mode 100644 index d095421b..00000000 --- a/internal/ims/README.md +++ /dev/null @@ -1,2 +0,0 @@ -### IMS(Instant Message Push System) -消息推送模块,用于优化@、私信、系统通知等消息服务,目前还没实现,先占个位置~ diff --git a/internal/ims/ims.go b/internal/ims/ims.go deleted file mode 100644 index 1042e45d..00000000 --- a/internal/ims/ims.go +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2022 ROC. All rights reserved. -// Use of this source code is governed by a MIT style -// license that can be found in the LICENSE file. - -package ims diff --git a/internal/obs/README.md b/internal/obs/README.md deleted file mode 100644 index f56a1ef9..00000000 --- a/internal/obs/README.md +++ /dev/null @@ -1,2 +0,0 @@ -### OBS(Object Blob Storage System) -简单对象存储模块,目前还没实现,先占个位置~ diff --git a/internal/obs/obs.go b/internal/obs/obs.go deleted file mode 100644 index 13923b07..00000000 --- a/internal/obs/obs.go +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2022 ROC. All rights reserved. -// Use of this source code is governed by a MIT style -// license that can be found in the LICENSE file. - -package obs diff --git a/internal/timeline/README.md b/internal/timeline/README.md deleted file mode 100644 index fd1f55fe..00000000 --- a/internal/timeline/README.md +++ /dev/null @@ -1,2 +0,0 @@ -### Timeline(Timeline Message Flow System -广场时间线消息流系统模块, 目前还没实现,先占个位置~ diff --git a/internal/timeline/timeline.go b/internal/timeline/timeline.go deleted file mode 100644 index 13663547..00000000 --- a/internal/timeline/timeline.go +++ /dev/null @@ -1,5 +0,0 @@ -// 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 timeline diff --git a/internal/xds/README.md b/internal/xds/README.md deleted file mode 100644 index 8ea9592e..00000000 --- a/internal/xds/README.md +++ /dev/null @@ -1,2 +0,0 @@ -### xDS(Recommended Discovery System) -推荐发现系统模块,目前还没实现,先占个位置~ diff --git a/internal/xds/xds.go b/internal/xds/xds.go deleted file mode 100644 index 3f0f20b5..00000000 --- a/internal/xds/xds.go +++ /dev/null @@ -1,5 +0,0 @@ -// 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 xds diff --git a/web/dist/assets/404-00d7402f.js b/web/dist/assets/404-00d7402f.js deleted file mode 100644 index 37baf9fc..00000000 --- a/web/dist/assets/404-00d7402f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{u as a}from"./vue-router-88cc84d1.js";import{F as i,e as c,a2 as u}from"./naive-ui-2035804c.js";import{d as l,c as d,L as t,$ as o,o as f,e as x}from"./@vue-ca177dbe.js";import{_ as g}from"./index-71354138.js";import"./vuex-d28e9067.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./@vicons-6d35273b.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; diff --git a/web/dist/assets/404-a716f9be.js b/web/dist/assets/404-a716f9be.js new file mode 100644 index 00000000..b27dc085 --- /dev/null +++ b/web/dist/assets/404-a716f9be.js @@ -0,0 +1 @@ +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{u as a}from"./vue-router-29e6667f.js";import{F as i,e as c,a2 as u}from"./naive-ui-88b48034.js";import{d as l,c as d,U as t,a0 as o,o as f,e as x}from"./@vue-d002002f.js";import{_ as g}from"./index-0f3021a1.js";import"./vuex-4d2f7b35.js";import"./vooks-77bdadbd.js";import"./evtd-b614532e.js";import"./@vicons-4022100b.js";import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./@css-render-6b6cdab1.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const L=g(v,[["__scopeId","data-v-e62daa85"]]);export{L as default}; diff --git a/web/dist/assets/@css-render-480a363d.js b/web/dist/assets/@css-render-6b6cdab1.js similarity index 96% rename from web/dist/assets/@css-render-480a363d.js rename to web/dist/assets/@css-render-6b6cdab1.js index 9921db76..71299e1a 100644 --- a/web/dist/assets/@css-render-480a363d.js +++ b/web/dist/assets/@css-render-6b6cdab1.js @@ -1,3 +1,3 @@ -import{i as d}from"./@vue-ca177dbe.js";function C(i){let r=".",s="__",m="--",f;if(i){let e=i.blockPrefix;e&&(r=e),e=i.elementPrefix,e&&(s=e),e=i.modifierPrefix,e&&(m=e)}const b={install(e){f=e.c;const l=e.context;l.bem={},l.bem.b=null,l.bem.els=null}};function y(e){let l,n;return{before(t){l=t.bem.b,n=t.bem.els,t.bem.els=null},after(t){t.bem.b=l,t.bem.els=n},$({context:t,props:u}){return e=typeof e=="string"?e:e({context:t,props:u}),t.bem.b=e,`${(u==null?void 0:u.bPrefix)||r}${t.bem.b}`}}}function v(e){let l;return{before(n){l=n.bem.els},after(n){n.bem.els=l},$({context:n,props:t}){return e=typeof e=="string"?e:e({context:n,props:t}),n.bem.els=e.split(",").map(u=>u.trim()),n.bem.els.map(u=>`${(t==null?void 0:t.bPrefix)||r}${n.bem.b}${s}${u}`).join(", ")}}}function P(e){return{$({context:l,props:n}){e=typeof e=="string"?e:e({context:l,props:n});const t=e.split(",").map(o=>o.trim());function u(o){return t.map(x=>`&${(n==null?void 0:n.bPrefix)||r}${l.bem.b}${o!==void 0?`${s}${o}`:""}${m}${x}`).join(", ")}const c=l.bem.els;return c!==null?u(c[0]):u()}}}function _(e){return{$({context:l,props:n}){e=typeof e=="string"?e:e({context:l,props:n});const t=l.bem.els;return`&:not(${(n==null?void 0:n.bPrefix)||r}${l.bem.b}${t!==null&&t.length>0?`${s}${t[0]}`:""}${m}${e})`}}}return Object.assign(b,{cB:(...e)=>f(y(e[0]),e[1],e[2]),cE:(...e)=>f(v(e[0]),e[1],e[2]),cM:(...e)=>f(P(e[0]),e[1],e[2]),cNotM:(...e)=>f(_(e[0]),e[1],e[2])}),b}const $=Symbol("@css-render/vue3-ssr");function M(i,r){return``}function S(i,r){const s=d($,null);if(s===null){console.error("[css-render/vue3-ssr]: no ssr context found.");return}const{styles:m,ids:f}=s;f.has(i)||m!==null&&(f.add(i),m.push(M(i,r)))}const j=typeof document<"u";function N(){if(j)return;const i=d($,null);if(i!==null)return{adapter:S,context:i}}export{C as p,N as u}; diff --git a/web/dist/assets/@vicons-6d35273b.js b/web/dist/assets/@vicons-4022100b.js similarity index 99% rename from web/dist/assets/@vicons-6d35273b.js rename to web/dist/assets/@vicons-4022100b.js index 125ad615..7f5dfa69 100644 --- a/web/dist/assets/@vicons-6d35273b.js +++ b/web/dist/assets/@vicons-4022100b.js @@ -1 +1 @@ -import{d as n,o,c as e,a as t,b as i}from"./@vue-ca177dbe.js";const c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},h=t("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),d=[h],Zt=n({name:"AttachOutline",render:function(s,l){return o(),e("svg",c,d)}}),a={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=t("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),u=[w],tn=n({name:"Bookmark",render:function(s,l){return o(),e("svg",a,u)}}),_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k=t("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),x=[k],nn=n({name:"BookmarkOutline",render:function(s,l){return o(),e("svg",_,x)}}),p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},m=t("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),g=t("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),v=[m,g],on=n({name:"BookmarksOutline",render:function(s,l){return o(),e("svg",p,v)}}),$={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},f=t("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),C=[f],en=n({name:"ChatboxOutline",render:function(s,l){return o(),e("svg",$,C)}}),M={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},z=t("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),O=t("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),j=[z,O],rn=n({name:"ChatbubblesOutline",render:function(s,l){return o(),e("svg",M,j)}}),B={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},L=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),H=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),V=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),A=[L,H,V],sn=n({name:"CheckmarkDoneOutline",render:function(s,l){return o(),e("svg",B,A)}}),b={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),S=[y],ln=n({name:"CheckmarkOutline",render:function(s,l){return o(),e("svg",b,S)}}),D={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),E=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),q=[T,E],cn=n({name:"CloseOutline",render:function(s,l){return o(),e("svg",D,q)}}),R={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},U=t("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),F=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),I=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),P=[U,F,I],hn=n({name:"CloudDownloadOutline",render:function(s,l){return o(),e("svg",R,P)}}),W={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},N=t("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),G=t("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),J=[N,G],dn=n({name:"CompassOutline",render:function(s,l){return o(),e("svg",W,J)}}),K={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Q=t("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),X=t("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Y=[Q,X],an=n({name:"EyeOutline",render:function(s,l){return o(),e("svg",K,Y)}}),Z={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t1=t("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),n1=[t1],wn=n({name:"Heart",render:function(s,l){return o(),e("svg",Z,n1)}}),o1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},e1=t("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),r1=[e1],un=n({name:"HeartOutline",render:function(s,l){return o(),e("svg",o1,r1)}}),s1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},l1=t("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),i1=t("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),c1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),h1=[l1,i1,c1],_n=n({name:"HomeOutline",render:function(s,l){return o(),e("svg",s1,h1)}}),d1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},a1=t("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),w1=t("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),u1=t("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),_1=t("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),k1=[a1,w1,u1,_1],kn=n({name:"ImageOutline",render:function(s,l){return o(),e("svg",d1,k1)}}),x1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},p1=t("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),m1=t("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),g1=[p1,m1],xn=n({name:"LeafOutline",render:function(s,l){return o(),e("svg",x1,g1)}}),v1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},$1=t("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),f1=t("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),C1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),M1=[$1,f1,C1],pn=n({name:"LinkOutline",render:function(s,l){return o(),e("svg",v1,M1)}}),z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},O1=t("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),j1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),B1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),L1=[O1,j1,B1],mn=n({name:"LogOutOutline",render:function(s,l){return o(),e("svg",z1,L1)}}),H1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},V1=t("path",{d:"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7c-39.82 48.57-91.18 78-144.5 78c-90.18 0-120.8-78.22-78.1-129.72c9.31-11.22 25.15-21.94 49.73-28c38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89c60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23c-34.74 30-13.94 84.93 56.37 84.93c40.87 0 81.71-25.9 113.79-67.37c-41.36-20-77-34.85-114.4-34.42z",fill:"currentColor"},null,-1),A1=[V1],gn=n({name:"LogoAlipay",render:function(s,l){return o(),e("svg",H1,A1)}}),b1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y1=i('',6),S1=[y1],vn=n({name:"MegaphoneOutline",render:function(s,l){return o(),e("svg",b1,S1)}}),D1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T1=t("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),E1=t("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),q1=t("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),R1=t("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),U1=[T1,E1,q1,R1],$n=n({name:"PeopleOutline",render:function(s,l){return o(),e("svg",D1,U1)}}),F1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},I1=t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),P1=[I1],fn=n({name:"Search",render:function(s,l){return o(),e("svg",F1,P1)}}),W1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},N1=t("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),G1=[N1],Cn=n({name:"SettingsOutline",render:function(s,l){return o(),e("svg",W1,G1)}}),J1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},K1=t("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Q1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),X1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),Y1=[K1,Q1,X1],Mn=n({name:"ShareOutline",render:function(s,l){return o(),e("svg",J1,Y1)}}),Z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tt=i('',5),nt=[tt],zn=n({name:"ShareSocialOutline",render:function(s,l){return o(),e("svg",Z1,nt)}}),ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},et=t("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),rt=t("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),st=[et,rt],On=n({name:"VideocamOutline",render:function(s,l){return o(),e("svg",ot,st)}}),lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},it=t("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ct=t("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ht=t("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),dt=[it,ct,ht],jn=n({name:"WalletOutline",render:function(s,l){return o(),e("svg",lt,dt)}}),at={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},wt=t("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),t("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),t("path",{d:"M16 5l3 3"})],-1),ut=[wt],Bn=n({name:"Edit",render:function(s,l){return o(),e("svg",at,ut)}}),_t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},kt=i('',1),xt=[kt],Ln=n({name:"Hash",render:function(s,l){return o(),e("svg",_t,xt)}}),pt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},mt=i('',1),gt=[mt],Hn=n({name:"Trash",render:function(s,l){return o(),e("svg",pt,gt)}}),vt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},$t=t("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",fill:"currentColor"},null,-1),ft=[$t],Vn=n({name:"ChevronLeftRound",render:function(s,l){return o(),e("svg",vt,ft)}}),Ct={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Mt=t("path",{d:"M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z",fill:"currentColor"},null,-1),zt=[Mt],An=n({name:"DarkModeOutlined",render:function(s,l){return o(),e("svg",Ct,zt)}}),Ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},jt=t("path",{d:"M2 17c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1z",fill:"currentColor"},null,-1),Bt=[jt],bn=n({name:"DehazeRound",render:function(s,l){return o(),e("svg",Ot,Bt)}}),Lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ht=t("path",{d:"M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3s-3-1.35-3-3s1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5s5-2.24 5-5s-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z",fill:"currentColor"},null,-1),Vt=[Ht],yn=n({name:"LightModeOutlined",render:function(s,l){return o(),e("svg",Lt,Vt)}}),At={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},bt=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),yt=[bt],Sn=n({name:"MoreHorizFilled",render:function(s,l){return o(),e("svg",At,yt)}}),St={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Dt=t("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),Tt=[Dt],Dn=n({name:"MoreVertOutlined",render:function(s,l){return o(),e("svg",St,Tt)}}),Et={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},qt=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Rt=[qt],Tn=n({name:"ThumbDownOutlined",render:function(s,l){return o(),e("svg",Et,Rt)}}),Ut={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ft=t("path",{opacity:".3",d:"M3 12v2h9l-1.34 5.34L15 15V5H6z",fill:"currentColor"},null,-1),It=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Pt=[Ft,It],En=n({name:"ThumbDownTwotone",render:function(s,l){return o(),e("svg",Ut,Pt)}}),Wt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Nt=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),Gt=[Nt],qn=n({name:"ThumbUpOutlined",render:function(s,l){return o(),e("svg",Wt,Gt)}}),Jt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Kt=t("path",{opacity:".3",d:"M21 12v-2h-9l1.34-5.34L9 9v10h9z",fill:"currentColor"},null,-1),Qt=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),Xt=[Kt,Qt],Rn=n({name:"ThumbUpTwotone",render:function(s,l){return o(),e("svg",Jt,Xt)}});export{Zt as A,on as B,rn as C,bn as D,an as E,An as F,_n as H,kn as I,xn as L,vn as M,$n as P,fn as S,Hn as T,On as V,jn as W,Cn as a,Ln as b,mn as c,dn as d,qn as e,Rn as f,Tn as g,En as h,Sn as i,un as j,wn as k,en as l,nn as m,tn as n,zn as o,Dn as p,Mn as q,ln as r,cn as s,sn as t,pn as u,hn as v,gn as w,Bn as x,Vn as y,yn as z}; +import{d as n,o,c as e,a as t,b as i}from"./@vue-d002002f.js";const c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},h=t("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),d=[h],Zt=n({name:"AttachOutline",render:function(s,l){return o(),e("svg",c,d)}}),a={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=t("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),u=[w],tn=n({name:"Bookmark",render:function(s,l){return o(),e("svg",a,u)}}),_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k=t("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),x=[k],nn=n({name:"BookmarkOutline",render:function(s,l){return o(),e("svg",_,x)}}),p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},m=t("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),g=t("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),v=[m,g],on=n({name:"BookmarksOutline",render:function(s,l){return o(),e("svg",p,v)}}),$={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},f=t("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),C=[f],en=n({name:"ChatboxOutline",render:function(s,l){return o(),e("svg",$,C)}}),M={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},z=t("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),O=t("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),j=[z,O],rn=n({name:"ChatbubblesOutline",render:function(s,l){return o(),e("svg",M,j)}}),B={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},L=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),H=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),V=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),A=[L,H,V],sn=n({name:"CheckmarkDoneOutline",render:function(s,l){return o(),e("svg",B,A)}}),b={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),S=[y],ln=n({name:"CheckmarkOutline",render:function(s,l){return o(),e("svg",b,S)}}),D={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),E=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),q=[T,E],cn=n({name:"CloseOutline",render:function(s,l){return o(),e("svg",D,q)}}),R={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},U=t("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),F=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),I=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),P=[U,F,I],hn=n({name:"CloudDownloadOutline",render:function(s,l){return o(),e("svg",R,P)}}),W={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},N=t("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),G=t("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),J=[N,G],dn=n({name:"CompassOutline",render:function(s,l){return o(),e("svg",W,J)}}),K={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Q=t("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),X=t("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Y=[Q,X],an=n({name:"EyeOutline",render:function(s,l){return o(),e("svg",K,Y)}}),Z={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t1=t("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),n1=[t1],wn=n({name:"Heart",render:function(s,l){return o(),e("svg",Z,n1)}}),o1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},e1=t("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),r1=[e1],un=n({name:"HeartOutline",render:function(s,l){return o(),e("svg",o1,r1)}}),s1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},l1=t("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),i1=t("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),c1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),h1=[l1,i1,c1],_n=n({name:"HomeOutline",render:function(s,l){return o(),e("svg",s1,h1)}}),d1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},a1=t("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),w1=t("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),u1=t("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),_1=t("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),k1=[a1,w1,u1,_1],kn=n({name:"ImageOutline",render:function(s,l){return o(),e("svg",d1,k1)}}),x1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},p1=t("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),m1=t("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),g1=[p1,m1],xn=n({name:"LeafOutline",render:function(s,l){return o(),e("svg",x1,g1)}}),v1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},$1=t("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),f1=t("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),C1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),M1=[$1,f1,C1],pn=n({name:"LinkOutline",render:function(s,l){return o(),e("svg",v1,M1)}}),z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},O1=t("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),j1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),B1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),L1=[O1,j1,B1],mn=n({name:"LogOutOutline",render:function(s,l){return o(),e("svg",z1,L1)}}),H1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},V1=t("path",{d:"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7c-39.82 48.57-91.18 78-144.5 78c-90.18 0-120.8-78.22-78.1-129.72c9.31-11.22 25.15-21.94 49.73-28c38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89c60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23c-34.74 30-13.94 84.93 56.37 84.93c40.87 0 81.71-25.9 113.79-67.37c-41.36-20-77-34.85-114.4-34.42z",fill:"currentColor"},null,-1),A1=[V1],gn=n({name:"LogoAlipay",render:function(s,l){return o(),e("svg",H1,A1)}}),b1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y1=i('',6),S1=[y1],vn=n({name:"MegaphoneOutline",render:function(s,l){return o(),e("svg",b1,S1)}}),D1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T1=t("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),E1=t("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),q1=t("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),R1=t("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),U1=[T1,E1,q1,R1],$n=n({name:"PeopleOutline",render:function(s,l){return o(),e("svg",D1,U1)}}),F1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},I1=t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),P1=[I1],fn=n({name:"Search",render:function(s,l){return o(),e("svg",F1,P1)}}),W1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},N1=t("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),G1=[N1],Cn=n({name:"SettingsOutline",render:function(s,l){return o(),e("svg",W1,G1)}}),J1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},K1=t("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Q1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),X1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),Y1=[K1,Q1,X1],Mn=n({name:"ShareOutline",render:function(s,l){return o(),e("svg",J1,Y1)}}),Z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tt=i('',5),nt=[tt],zn=n({name:"ShareSocialOutline",render:function(s,l){return o(),e("svg",Z1,nt)}}),ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},et=t("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),rt=t("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),st=[et,rt],On=n({name:"VideocamOutline",render:function(s,l){return o(),e("svg",ot,st)}}),lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},it=t("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ct=t("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ht=t("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),dt=[it,ct,ht],jn=n({name:"WalletOutline",render:function(s,l){return o(),e("svg",lt,dt)}}),at={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},wt=t("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),t("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),t("path",{d:"M16 5l3 3"})],-1),ut=[wt],Bn=n({name:"Edit",render:function(s,l){return o(),e("svg",at,ut)}}),_t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},kt=i('',1),xt=[kt],Ln=n({name:"Hash",render:function(s,l){return o(),e("svg",_t,xt)}}),pt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},mt=i('',1),gt=[mt],Hn=n({name:"Trash",render:function(s,l){return o(),e("svg",pt,gt)}}),vt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},$t=t("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",fill:"currentColor"},null,-1),ft=[$t],Vn=n({name:"ChevronLeftRound",render:function(s,l){return o(),e("svg",vt,ft)}}),Ct={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Mt=t("path",{d:"M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z",fill:"currentColor"},null,-1),zt=[Mt],An=n({name:"DarkModeOutlined",render:function(s,l){return o(),e("svg",Ct,zt)}}),Ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},jt=t("path",{d:"M2 17c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1z",fill:"currentColor"},null,-1),Bt=[jt],bn=n({name:"DehazeRound",render:function(s,l){return o(),e("svg",Ot,Bt)}}),Lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ht=t("path",{d:"M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3s-3-1.35-3-3s1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5s5-2.24 5-5s-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z",fill:"currentColor"},null,-1),Vt=[Ht],yn=n({name:"LightModeOutlined",render:function(s,l){return o(),e("svg",Lt,Vt)}}),At={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},bt=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),yt=[bt],Sn=n({name:"MoreHorizFilled",render:function(s,l){return o(),e("svg",At,yt)}}),St={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Dt=t("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),Tt=[Dt],Dn=n({name:"MoreVertOutlined",render:function(s,l){return o(),e("svg",St,Tt)}}),Et={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},qt=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Rt=[qt],Tn=n({name:"ThumbDownOutlined",render:function(s,l){return o(),e("svg",Et,Rt)}}),Ut={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ft=t("path",{opacity:".3",d:"M3 12v2h9l-1.34 5.34L15 15V5H6z",fill:"currentColor"},null,-1),It=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Pt=[Ft,It],En=n({name:"ThumbDownTwotone",render:function(s,l){return o(),e("svg",Ut,Pt)}}),Wt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Nt=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),Gt=[Nt],qn=n({name:"ThumbUpOutlined",render:function(s,l){return o(),e("svg",Wt,Gt)}}),Jt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Kt=t("path",{opacity:".3",d:"M21 12v-2h-9l1.34-5.34L9 9v10h9z",fill:"currentColor"},null,-1),Qt=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),Xt=[Kt,Qt],Rn=n({name:"ThumbUpTwotone",render:function(s,l){return o(),e("svg",Jt,Xt)}});export{Zt as A,on as B,rn as C,bn as D,an as E,An as F,_n as H,kn as I,xn as L,vn as M,$n as P,fn as S,Hn as T,On as V,jn as W,Cn as a,Ln as b,mn as c,dn as d,qn as e,Rn as f,Tn as g,En as h,Sn as i,un as j,wn as k,en as l,nn as m,tn as n,zn as o,Dn as p,Mn as q,ln as r,cn as s,sn as t,pn as u,hn as v,gn as w,Bn as x,Vn as y,yn as z}; diff --git a/web/dist/assets/@vue-ca177dbe.js b/web/dist/assets/@vue-ca177dbe.js deleted file mode 100644 index 8c69982e..00000000 --- a/web/dist/assets/@vue-ca177dbe.js +++ /dev/null @@ -1 +0,0 @@ -function $n(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function Bn(e){if(S(e)){const t={};for(let n=0;n{if(n){const s=n.split(di);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function jn(e){let t="";if(ee(e))t=e;else if(S(e))for(let n=0;nee(e)?e:e==null?"":S(e)||Z(e)&&(e.toString===sr||!D(e.toString))?JSON.stringify(e,er,2):String(e),er=(e,t)=>t&&t.__v_isRef?er(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:tr(t)?{[`Set(${t.size})`]:[...t.values()]}:Z(t)&&!S(t)&&!rr(t)?String(t):t,X={},ot=[],Te=()=>{},_i=()=>!1,bi=/^on[^a-z]/,en=e=>bi.test(e),Un=e=>e.startsWith("onUpdate:"),ie=Object.assign,Kn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yi=Object.prototype.hasOwnProperty,K=(e,t)=>yi.call(e,t),S=Array.isArray,lt=e=>Lt(e)==="[object Map]",tr=e=>Lt(e)==="[object Set]",xi=e=>Lt(e)==="[object RegExp]",D=e=>typeof e=="function",ee=e=>typeof e=="string",kn=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",nr=e=>Z(e)&&D(e.then)&&D(e.catch),sr=Object.prototype.toString,Lt=e=>sr.call(e),Ci=e=>Lt(e).slice(8,-1),rr=e=>Lt(e)==="[object Object]",Vn=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vt=$n(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ei=/-(\w)/g,Pe=tn(e=>e.replace(Ei,(t,n)=>n?n.toUpperCase():"")),wi=/\B([A-Z])/g,tt=tn(e=>e.replace(wi,"-$1").toLowerCase()),nn=tn(e=>e.charAt(0).toUpperCase()+e.slice(1)),gn=tn(e=>e?`on${nn(e)}`:""),At=(e,t)=>!Object.is(e,t),ct=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Tn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ti=e=>{const t=ee(e)?Number(e):NaN;return isNaN(t)?e:t};let _s;const vi=()=>_s||(_s=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Ce;class ir{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ce,!t&&Ce&&(this.index=(Ce.scopes||(Ce.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ce;try{return Ce=this,t()}finally{Ce=n}}}on(){Ce=this}off(){Ce=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},or=e=>(e.w&ke)>0,lr=e=>(e.n&ke)>0,Ii=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=f)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":S(e)?Vn(n)&&l.push(o.get("length")):(l.push(o.get(Ge)),lt(e)&&l.push(o.get(An)));break;case"delete":S(e)||(l.push(o.get(Ge)),lt(e)&&l.push(o.get(An)));break;case"set":lt(e)&&l.push(o.get(Ge));break}if(l.length===1)l[0]&&On(l[0]);else{const f=[];for(const a of l)a&&f.push(...a);On(Wn(f))}}function On(e,t){const n=S(e)?e:[...e];for(const s of n)s.computed&&ys(s);for(const s of n)s.computed||ys(s)}function ys(e,t){(e!==Ee||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Fi(e,t){var n;return(n=Yt.get(e))===null||n===void 0?void 0:n.get(t)}const Mi=$n("__proto__,__v_isRef,__isVue"),ur=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(kn)),Ni=qn(),Si=qn(!1,!0),Li=qn(!0),xs=Ri();function Ri(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=U(this);for(let i=0,o=this.length;i{e[t]=function(...n){gt();const s=U(this)[t].apply(this,n);return mt(),s}}),e}function Di(e){const t=U(this);return de(t,"has",e),t.hasOwnProperty(e)}function qn(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?Zi:gr:t?pr:hr).get(s))return s;const o=S(s);if(!e){if(o&&K(xs,r))return Reflect.get(xs,r,i);if(r==="hasOwnProperty")return Di}const l=Reflect.get(s,r,i);return(kn(r)?ur.has(r):Mi(r))||(e||de(s,"get",r),t)?l:le(l)?o&&Vn(r)?l:l.value:Z(l)?e?mr(l):Yn(l):l}}const Hi=ar(),$i=ar(!0);function ar(e=!1){return function(n,s,r,i){let o=n[s];if(dt(o)&&le(o)&&!le(r))return!1;if(!e&&(!Xt(r)&&!dt(r)&&(o=U(o),r=U(r)),!S(n)&&le(o)&&!le(r)))return o.value=r,!0;const l=S(n)&&Vn(s)?Number(s)e,sn=e=>Reflect.getPrototypeOf(e);function Ht(e,t,n=!1,s=!1){e=e.__v_raw;const r=U(e),i=U(t);n||(t!==i&&de(r,"get",t),de(r,"get",i));const{has:o}=sn(r),l=s?Jn:n?Zn:Ot;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function $t(e,t=!1){const n=this.__v_raw,s=U(n),r=U(e);return t||(e!==r&&de(s,"has",e),de(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Bt(e,t=!1){return e=e.__v_raw,!t&&de(U(e),"iterate",Ge),Reflect.get(e,"size",e)}function Cs(e){e=U(e);const t=U(this);return sn(t).has.call(t,e)||(t.add(e),Se(t,"add",e,e)),this}function Es(e,t){t=U(t);const n=U(this),{has:s,get:r}=sn(n);let i=s.call(n,e);i||(e=U(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?At(t,o)&&Se(n,"set",e,t):Se(n,"add",e,t),this}function ws(e){const t=U(this),{has:n,get:s}=sn(t);let r=n.call(t,e);r||(e=U(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&Se(t,"delete",e,void 0),i}function Ts(){const e=U(this),t=e.size!==0,n=e.clear();return t&&Se(e,"clear",void 0,void 0),n}function jt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=U(o),f=t?Jn:e?Zn:Ot;return!e&&de(l,"iterate",Ge),o.forEach((a,d)=>s.call(r,f(a),f(d),i))}}function Ut(e,t,n){return function(...s){const r=this.__v_raw,i=U(r),o=lt(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,a=r[e](...s),d=n?Jn:t?Zn:Ot;return!t&&de(i,"iterate",f?An:Ge),{next(){const{value:p,done:g}=a.next();return g?{value:p,done:g}:{value:l?[d(p[0]),d(p[1])]:d(p),done:g}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:this}}function Vi(){const e={get(i){return Ht(this,i)},get size(){return Bt(this)},has:$t,add:Cs,set:Es,delete:ws,clear:Ts,forEach:jt(!1,!1)},t={get(i){return Ht(this,i,!1,!0)},get size(){return Bt(this)},has:$t,add:Cs,set:Es,delete:ws,clear:Ts,forEach:jt(!1,!0)},n={get(i){return Ht(this,i,!0)},get size(){return Bt(this,!0)},has(i){return $t.call(this,i,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:jt(!0,!1)},s={get(i){return Ht(this,i,!0,!0)},get size(){return Bt(this,!0)},has(i){return $t.call(this,i,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:jt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Ut(i,!1,!1),n[i]=Ut(i,!0,!1),t[i]=Ut(i,!1,!0),s[i]=Ut(i,!0,!0)}),[e,n,t,s]}const[Wi,zi,qi,Ji]=Vi();function Qn(e,t){const n=t?e?Ji:qi:e?zi:Wi;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(K(n,r)&&r in s?n:s,r,i)}const Qi={get:Qn(!1,!1)},Yi={get:Qn(!1,!0)},Xi={get:Qn(!0,!1)},hr=new WeakMap,pr=new WeakMap,gr=new WeakMap,Zi=new WeakMap;function Gi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function eo(e){return e.__v_skip||!Object.isExtensible(e)?0:Gi(Ci(e))}function Yn(e){return dt(e)?e:Xn(e,!1,dr,Qi,hr)}function to(e){return Xn(e,!1,ki,Yi,pr)}function mr(e){return Xn(e,!0,Ki,Xi,gr)}function Xn(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=eo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ft(e){return dt(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function dt(e){return!!(e&&e.__v_isReadonly)}function Xt(e){return!!(e&&e.__v_isShallow)}function _r(e){return ft(e)||dt(e)}function U(e){const t=e&&e.__v_raw;return t?U(t):e}function br(e){return Qt(e,"__v_skip",!0),e}const Ot=e=>Z(e)?Yn(e):e,Zn=e=>Z(e)?mr(e):e;function yr(e){Ue&&Ee&&(e=U(e),fr(e.dep||(e.dep=Wn())))}function xr(e,t){e=U(e);const n=e.dep;n&&On(n)}function le(e){return!!(e&&e.__v_isRef===!0)}function ic(e){return Cr(e,!1)}function oc(e){return Cr(e,!0)}function Cr(e,t){return le(e)?e:new no(e,t)}class no{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:U(t),this._value=n?t:Ot(t)}get value(){return yr(this),this._value}set value(t){const n=this.__v_isShallow||Xt(t)||dt(t);t=n?t:U(t),At(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ot(t),xr(this))}}function so(e){return le(e)?e.value:e}const ro={get:(e,t,n)=>so(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return le(r)&&!le(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Er(e){return ft(e)?e:new Proxy(e,ro)}function lc(e){const t=S(e)?new Array(e.length):{};for(const n in e)t[n]=oo(e,n);return t}class io{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Fi(U(this._object),this._key)}}function oo(e,t,n){const s=e[t];return le(s)?s:new io(e,t,n)}var wr;class lo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[wr]=!1,this._dirty=!0,this.effect=new zn(t,()=>{this._dirty||(this._dirty=!0,xr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=U(this);return yr(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}wr="__v_isReadonly";function co(e,t,n=!1){let s,r;const i=D(e);return i?(s=e,r=Te):(s=e.get,r=e.set),new lo(s,r,i||!r,n)}function Ke(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){rn(i,t,n)}return r}function be(e,t,n,s){if(D(e)){const i=Ke(e,t,n,s);return i&&nr(i)&&i.catch(o=>{rn(o,t,n)}),i}const r=[];for(let i=0;i>>1;Pt(fe[s])Ie&&fe.splice(t,1)}function po(e){S(e)?ut.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Ye+1:Ye))&&ut.push(e),vr()}function vs(e,t=It?Ie+1:0){for(;tPt(n)-Pt(s)),Ye=0;Yee.id==null?1/0:e.id,go=(e,t)=>{const n=Pt(e)-Pt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Or(e){In=!1,It=!0,fe.sort(go);const t=Te;try{for(Ie=0;Ieee(v)?v.trim():v)),p&&(r=n.map(Tn))}let l,f=s[l=gn(t)]||s[l=gn(Pe(t))];!f&&i&&(f=s[l=gn(tt(t))]),f&&be(f,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,be(a,e,6,r)}}function Ir(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!D(e)){const f=a=>{const d=Ir(a,t,!0);d&&(l=!0,ie(o,d))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(Z(e)&&s.set(e,null),null):(S(i)?i.forEach(f=>o[f]=null):ie(o,i),Z(e)&&s.set(e,o),o)}function on(e,t){return!e||!en(t)?!1:(t=t.slice(2).replace(/Once$/,""),K(e,t[0].toLowerCase()+t.slice(1))||K(e,tt(t))||K(e,t))}let ce=null,ln=null;function Zt(e){const t=ce;return ce=e,ln=e&&e.type.__scopeId||null,t}function cc(e){ln=e}function fc(){ln=null}function _o(e,t=ce,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ds(-1);const i=Zt(t);let o;try{o=e(...r)}finally{Zt(i),s._d&&Ds(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function mn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:f,emit:a,render:d,renderCache:p,data:g,setupState:v,ctx:L,inheritAttrs:I}=e;let W,B;const O=Zt(e);try{if(n.shapeFlag&4){const T=r||s;W=Oe(d.call(T,T,p,i,v,g,L)),B=f}else{const T=t;W=Oe(T.length>1?T(i,{attrs:f,slots:l,emit:a}):T(i,null)),B=t.props?f:bo(f)}}catch(T){vt.length=0,rn(T,e,1),W=ue(ye)}let E=W;if(B&&I!==!1){const T=Object.keys(B),{shapeFlag:H}=E;T.length&&H&7&&(o&&T.some(Un)&&(B=yo(B,o)),E=Le(E,B))}return n.dirs&&(E=Le(E),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&(E.transition=n.transition),W=E,Zt(O),W}const bo=e=>{let t;for(const n in e)(n==="class"||n==="style"||en(n))&&((t||(t={}))[n]=e[n]);return t},yo=(e,t)=>{const n={};for(const s in e)(!Un(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function xo(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?As(s,o,a):!!o;if(f&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Eo(e,t){t&&t.pendingBranch?S(e)?t.effects.push(...e):t.effects.push(e):po(e)}function wo(e,t){if(ne){let n=ne.provides;const s=ne.parent&&ne.parent.provides;s===n&&(n=ne.provides=Object.create(s)),n[e]=t}}function Wt(e,t,n=!1){const s=ne||ce;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&D(t)?t.call(s.proxy):t}}function uc(e,t){return ts(e,null,t)}const Kt={};function zt(e,t,n){return ts(e,t,n)}function ts(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=X){const l=Oi()===(ne==null?void 0:ne.scope)?ne:null;let f,a=!1,d=!1;if(le(e)?(f=()=>e.value,a=Xt(e)):ft(e)?(f=()=>e,s=!0):S(e)?(d=!0,a=e.some(E=>ft(E)||Xt(E)),f=()=>e.map(E=>{if(le(E))return E.value;if(ft(E))return Ze(E);if(D(E))return Ke(E,l,2)})):D(e)?t?f=()=>Ke(e,l,2):f=()=>{if(!(l&&l.isUnmounted))return p&&p(),be(e,l,3,[g])}:f=Te,t&&s){const E=f;f=()=>Ze(E())}let p,g=E=>{p=B.onStop=()=>{Ke(E,l,4)}},v;if(St)if(g=Te,t?n&&be(t,l,3,[f(),d?[]:void 0,g]):f(),r==="sync"){const E=_l();v=E.__watcherHandles||(E.__watcherHandles=[])}else return Te;let L=d?new Array(e.length).fill(Kt):Kt;const I=()=>{if(B.active)if(t){const E=B.run();(s||a||(d?E.some((T,H)=>At(T,L[H])):At(E,L)))&&(p&&p(),be(t,l,3,[E,L===Kt?void 0:d&&L[0]===Kt?[]:L,g]),L=E)}else B.run()};I.allowRecurse=!!t;let W;r==="sync"?W=I:r==="post"?W=()=>oe(I,l&&l.suspense):(I.pre=!0,l&&(I.id=l.uid),W=()=>es(I));const B=new zn(f,W);t?n?I():L=B.run():r==="post"?oe(B.run.bind(B),l&&l.suspense):B.run();const O=()=>{B.stop(),l&&l.scope&&Kn(l.scope.effects,B)};return v&&v.push(O),O}function To(e,t,n){const s=this.proxy,r=ee(e)?e.includes(".")?Fr(s,e):()=>s[e]:e.bind(s,s);let i;D(t)?i=t:(i=t.handler,n=t);const o=ne;pt(this);const l=ts(r,i.bind(s),n);return o?pt(o):et(),l}function Fr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{Ze(n,t)});else if(rr(e))for(const n in e)Ze(e[n],t);return e}function Mr(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ss(()=>{e.isMounted=!0}),is(()=>{e.isUnmounting=!0}),e}const me=[Function,Array],vo={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:me,onEnter:me,onAfterEnter:me,onEnterCancelled:me,onBeforeLeave:me,onLeave:me,onAfterLeave:me,onLeaveCancelled:me,onBeforeAppear:me,onAppear:me,onAfterAppear:me,onAppearCancelled:me},setup(e,{slots:t}){const n=as(),s=Mr();let r;return()=>{const i=t.default&&ns(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const I of i)if(I.type!==ye){o=I;break}}const l=U(e),{mode:f}=l;if(s.isLeaving)return _n(o);const a=Os(o);if(!a)return _n(o);const d=Ft(a,l,s,n);ht(a,d);const p=n.subTree,g=p&&Os(p);let v=!1;const{getTransitionKey:L}=a.type;if(L){const I=L();r===void 0?r=I:I!==r&&(r=I,v=!0)}if(g&&g.type!==ye&&(!je(a,g)||v)){const I=Ft(g,l,s,n);if(ht(g,I),f==="out-in")return s.isLeaving=!0,I.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},_n(o);f==="in-out"&&a.type!==ye&&(I.delayLeave=(W,B,O)=>{const E=Sr(s,g);E[String(g.key)]=g,W._leaveCb=()=>{B(),W._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=O})}return o}}},Nr=vo;function Sr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ft(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:g,onAfterLeave:v,onLeaveCancelled:L,onBeforeAppear:I,onAppear:W,onAfterAppear:B,onAppearCancelled:O}=t,E=String(e.key),T=Sr(n,e),H=(N,k)=>{N&&be(N,s,9,k)},Q=(N,k)=>{const j=k[1];H(N,k),S(N)?N.every(Y=>Y.length<=1)&&j():N.length<=1&&j()},V={mode:i,persisted:o,beforeEnter(N){let k=l;if(!n.isMounted)if(r)k=I||l;else return;N._leaveCb&&N._leaveCb(!0);const j=T[E];j&&je(e,j)&&j.el._leaveCb&&j.el._leaveCb(),H(k,[N])},enter(N){let k=f,j=a,Y=d;if(!n.isMounted)if(r)k=W||f,j=B||a,Y=O||d;else return;let P=!1;const G=N._enterCb=he=>{P||(P=!0,he?H(Y,[N]):H(j,[N]),V.delayedLeave&&V.delayedLeave(),N._enterCb=void 0)};k?Q(k,[N,G]):G()},leave(N,k){const j=String(e.key);if(N._enterCb&&N._enterCb(!0),n.isUnmounting)return k();H(p,[N]);let Y=!1;const P=N._leaveCb=G=>{Y||(Y=!0,k(),G?H(L,[N]):H(v,[N]),N._leaveCb=void 0,T[j]===e&&delete T[j])};T[j]=e,g?Q(g,[N,P]):P()},clone(N){return Ft(N,t,n,s)}};return V}function _n(e){if(cn(e))return e=Le(e),e.children=null,e}function Os(e){return cn(e)?e.children?e.children[0]:void 0:e}function ht(e,t){e.shapeFlag&6&&e.component?ht(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ns(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,cn=e=>e.type.__isKeepAlive,Ao={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=as(),s=n.ctx;if(!s.renderer)return()=>{const O=t.default&&t.default();return O&&O.length===1?O[0]:O};const r=new Map,i=new Set;let o=null;const l=n.suspense,{renderer:{p:f,m:a,um:d,o:{createElement:p}}}=s,g=p("div");s.activate=(O,E,T,H,Q)=>{const V=O.component;a(O,E,T,0,l),f(V.vnode,O,E,T,V,l,H,O.slotScopeIds,Q),oe(()=>{V.isDeactivated=!1,V.a&&ct(V.a);const N=O.props&&O.props.onVnodeMounted;N&&_e(N,V.parent,O)},l)},s.deactivate=O=>{const E=O.component;a(O,g,null,1,l),oe(()=>{E.da&&ct(E.da);const T=O.props&&O.props.onVnodeUnmounted;T&&_e(T,E.parent,O),E.isDeactivated=!0},l)};function v(O){bn(O),d(O,n,l,!0)}function L(O){r.forEach((E,T)=>{const H=Rn(E.type);H&&(!O||!O(H))&&I(T)})}function I(O){const E=r.get(O);!o||!je(E,o)?v(E):o&&bn(o),r.delete(O),i.delete(O)}zt(()=>[e.include,e.exclude],([O,E])=>{O&&L(T=>Et(O,T)),E&&L(T=>!Et(E,T))},{flush:"post",deep:!0});let W=null;const B=()=>{W!=null&&r.set(W,yn(n.subTree))};return ss(B),rs(B),is(()=>{r.forEach(O=>{const{subTree:E,suspense:T}=n,H=yn(E);if(O.type===H.type&&O.key===H.key){bn(H);const Q=H.component.da;Q&&oe(Q,T);return}v(O)})}),()=>{if(W=null,!t.default)return null;const O=t.default(),E=O[0];if(O.length>1)return o=null,O;if(!Nt(E)||!(E.shapeFlag&4)&&!(E.shapeFlag&128))return o=null,E;let T=yn(E);const H=T.type,Q=Rn(at(T)?T.type.__asyncResolved||{}:H),{include:V,exclude:N,max:k}=e;if(V&&(!Q||!Et(V,Q))||N&&Q&&Et(N,Q))return o=T,E;const j=T.key==null?H:T.key,Y=r.get(j);return T.el&&(T=Le(T),E.shapeFlag&128&&(E.ssContent=T)),W=j,Y?(T.el=Y.el,T.component=Y.component,T.transition&&ht(T,T.transition),T.shapeFlag|=512,i.delete(j),i.add(j)):(i.add(j),k&&i.size>parseInt(k,10)&&I(i.values().next().value)),T.shapeFlag|=256,o=T,Pr(E.type)?E:T}}},dc=Ao;function Et(e,t){return S(e)?e.some(n=>Et(n,t)):ee(e)?e.split(",").includes(t):xi(e)?e.test(t):!1}function Oo(e,t){Lr(e,"a",t)}function Io(e,t){Lr(e,"da",t)}function Lr(e,t,n=ne){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(fn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)cn(r.parent.vnode)&&Po(s,t,n,r),r=r.parent}}function Po(e,t,n,s){const r=fn(t,e,s,!0);Rr(()=>{Kn(s[t],r)},n)}function bn(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function yn(e){return e.shapeFlag&128?e.ssContent:e}function fn(e,t,n=ne,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;gt(),pt(n);const l=be(t,n,e,o);return et(),mt(),l});return s?r.unshift(i):r.push(i),i}}const Re=e=>(t,n=ne)=>(!St||e==="sp")&&fn(e,(...s)=>t(...s),n),Fo=Re("bm"),ss=Re("m"),Mo=Re("bu"),rs=Re("u"),is=Re("bum"),Rr=Re("um"),No=Re("sp"),So=Re("rtg"),Lo=Re("rtc");function Ro(e,t=ne){fn("ec",e,t)}function hc(e,t){const n=ce;if(n===null)return e;const s=dn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let i=0;it(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,f=o.length;l{const i=s.fn(...r);return i&&(i.key=s.key),i}:s.fn)}return e}function bc(e,t,n={},s,r){if(ce.isCE||ce.parent&&at(ce.parent)&&ce.parent.isCE)return t!=="default"&&(n.name=t),ue("slot",n,s&&s());let i=e[t];i&&i._c&&(i._d=!1),qr();const o=i&&$r(i(n)),l=Qr(ge,{key:n.key||o&&o.key||`_${t}`},o||(s?s():[]),o&&e._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function $r(e){return e.some(t=>Nt(t)?!(t.type===ye||t.type===ge&&!$r(t.children)):!0)?e:null}const Pn=e=>e?Zr(e)?dn(e)||e.proxy:Pn(e.parent):null,wt=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Pn(e.parent),$root:e=>Pn(e.root),$emit:e=>e.emit,$options:e=>ls(e),$forceUpdate:e=>e.f||(e.f=()=>es(e.update)),$nextTick:e=>e.n||(e.n=uo.bind(e.proxy)),$watch:e=>To.bind(e)}),xn=(e,t)=>e!==X&&!e.__isScriptSetup&&K(e,t),Do={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:f}=e;let a;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(xn(s,t))return o[t]=1,s[t];if(r!==X&&K(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&K(a,t))return o[t]=3,i[t];if(n!==X&&K(n,t))return o[t]=4,n[t];Fn&&(o[t]=0)}}const d=wt[t];let p,g;if(d)return t==="$attrs"&&de(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==X&&K(n,t))return o[t]=4,n[t];if(g=f.config.globalProperties,K(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return xn(r,t)?(r[t]=n,!0):s!==X&&K(s,t)?(s[t]=n,!0):K(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==X&&K(e,o)||xn(t,o)||(l=i[0])&&K(l,o)||K(s,o)||K(wt,o)||K(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:K(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Fn=!0;function Ho(e){const t=ls(e),n=e.proxy,s=e.ctx;Fn=!1,t.beforeCreate&&Ps(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:a,created:d,beforeMount:p,mounted:g,beforeUpdate:v,updated:L,activated:I,deactivated:W,beforeDestroy:B,beforeUnmount:O,destroyed:E,unmounted:T,render:H,renderTracked:Q,renderTriggered:V,errorCaptured:N,serverPrefetch:k,expose:j,inheritAttrs:Y,components:P,directives:G,filters:he}=t;if(a&&$o(a,s,null,e.appContext.config.unwrapInjectedRef),o)for(const te in o){const q=o[te];D(q)&&(s[te]=q.bind(n))}if(r){const te=r.call(n,n);Z(te)&&(e.data=Yn(te))}if(Fn=!0,i)for(const te in i){const q=i[te],Ve=D(q)?q.bind(n,n):D(q.get)?q.get.bind(n,n):Te,Rt=!D(q)&&D(q.set)?q.set.bind(n):Te,We=pl({get:Ve,set:Rt});Object.defineProperty(s,te,{enumerable:!0,configurable:!0,get:()=>We.value,set:ve=>We.value=ve})}if(l)for(const te in l)Br(l[te],s,n,te);if(f){const te=D(f)?f.call(n):f;Reflect.ownKeys(te).forEach(q=>{wo(q,te[q])})}d&&Ps(d,e,"c");function re(te,q){S(q)?q.forEach(Ve=>te(Ve.bind(n))):q&&te(q.bind(n))}if(re(Fo,p),re(ss,g),re(Mo,v),re(rs,L),re(Oo,I),re(Io,W),re(Ro,N),re(Lo,Q),re(So,V),re(is,O),re(Rr,T),re(No,k),S(j))if(j.length){const te=e.exposed||(e.exposed={});j.forEach(q=>{Object.defineProperty(te,q,{get:()=>n[q],set:Ve=>n[q]=Ve})})}else e.exposed||(e.exposed={});H&&e.render===Te&&(e.render=H),Y!=null&&(e.inheritAttrs=Y),P&&(e.components=P),G&&(e.directives=G)}function $o(e,t,n=Te,s=!1){S(e)&&(e=Mn(e));for(const r in e){const i=e[r];let o;Z(i)?"default"in i?o=Wt(i.from||r,i.default,!0):o=Wt(i.from||r):o=Wt(i),le(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function Ps(e,t,n){be(S(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Br(e,t,n,s){const r=s.includes(".")?Fr(n,s):()=>n[s];if(ee(e)){const i=t[e];D(i)&&zt(r,i)}else if(D(e))zt(r,e.bind(n));else if(Z(e))if(S(e))e.forEach(i=>Br(i,t,n,s));else{const i=D(e.handler)?e.handler.bind(n):t[e.handler];D(i)&&zt(r,i,e)}}function ls(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(a=>Gt(f,a,o,!0)),Gt(f,t,o)),Z(t)&&i.set(t,f),f}function Gt(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Gt(e,i,n,!0),r&&r.forEach(o=>Gt(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Bo[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Bo={data:Fs,props:Qe,emits:Qe,methods:Qe,computed:Qe,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Qe,directives:Qe,watch:Uo,provide:Fs,inject:jo};function Fs(e,t){return t?e?function(){return ie(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function jo(e,t){return Qe(Mn(e),Mn(t))}function Mn(e){if(S(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[g,v]=Ur(p,t,!0);ie(o,g),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!f)return Z(e)&&s.set(e,ot),ot;if(S(i))for(let d=0;d-1,v[1]=I<0||L-1||K(v,"default"))&&l.push(p)}}}const a=[o,l];return Z(e)&&s.set(e,a),a}function Ms(e){return e[0]!=="$"}function Ns(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ss(e,t){return Ns(e)===Ns(t)}function Ls(e,t){return S(t)?t.findIndex(n=>Ss(n,e)):D(t)&&Ss(t,e)?0:-1}const Kr=e=>e[0]==="_"||e==="$stable",cs=e=>S(e)?e.map(Oe):[Oe(e)],Vo=(e,t,n)=>{if(t._n)return t;const s=_o((...r)=>cs(t(...r)),n);return s._c=!1,s},kr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Kr(r))continue;const i=e[r];if(D(i))t[r]=Vo(r,i,s);else if(i!=null){const o=cs(i);t[r]=()=>o}}},Vr=(e,t)=>{const n=cs(t);e.slots.default=()=>n},Wo=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=U(t),Qt(t,"_",n)):kr(t,e.slots={})}else e.slots={},t&&Vr(e,t);Qt(e.slots,an,1)},zo=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(ie(r,t),!n&&l===1&&delete r._):(i=!t.$stable,kr(t,r)),o=t}else t&&(Vr(e,t),o={default:1});if(i)for(const l in r)!Kr(l)&&!(l in o)&&delete r[l]};function Wr(){return{app:null,config:{isNativeTag:_i,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let qo=0;function Jo(e,t){return function(s,r=null){D(s)||(s=Object.assign({},s)),r!=null&&!Z(r)&&(r=null);const i=Wr(),o=new Set;let l=!1;const f=i.app={_uid:qo++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:bl,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&D(a.install)?(o.add(a),a.install(f,...d)):D(a)&&(o.add(a),a(f,...d))),f},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),f},component(a,d){return d?(i.components[a]=d,f):i.components[a]},directive(a,d){return d?(i.directives[a]=d,f):i.directives[a]},mount(a,d,p){if(!l){const g=ue(s,r);return g.appContext=i,d&&t?t(g,a):e(g,a,p),l=!0,f._container=a,a.__vue_app__=f,dn(g.component)||g.component.proxy}},unmount(){l&&(e(null,f._container),delete f._container.__vue_app__)},provide(a,d){return i.provides[a]=d,f}};return f}}function Sn(e,t,n,s,r=!1){if(S(e)){e.forEach((g,v)=>Sn(g,t&&(S(t)?t[v]:t),n,s,r));return}if(at(s)&&!r)return;const i=s.shapeFlag&4?dn(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:f}=e,a=t&&t.r,d=l.refs===X?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==f&&(ee(a)?(d[a]=null,K(p,a)&&(p[a]=null)):le(a)&&(a.value=null)),D(f))Ke(f,l,12,[o,d]);else{const g=ee(f),v=le(f);if(g||v){const L=()=>{if(e.f){const I=g?K(p,f)?p[f]:d[f]:f.value;r?S(I)&&Kn(I,i):S(I)?I.includes(i)||I.push(i):g?(d[f]=[i],K(p,f)&&(p[f]=d[f])):(f.value=[i],e.k&&(d[e.k]=f.value))}else g?(d[f]=o,K(p,f)&&(p[f]=o)):v&&(f.value=o,e.k&&(d[e.k]=o))};o?(L.id=-1,oe(L,n)):L()}}}const oe=Eo;function Qo(e){return Yo(e)}function Yo(e,t){const n=vi();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:a,setElementText:d,parentNode:p,nextSibling:g,setScopeId:v=Te,insertStaticContent:L}=e,I=(c,u,h,_=null,m=null,x=null,w=!1,y=null,C=!!u.dynamicChildren)=>{if(c===u)return;c&&!je(c,u)&&(_=Dt(c),ve(c,m,x,!0),c=null),u.patchFlag===-2&&(C=!1,u.dynamicChildren=null);const{type:b,ref:F,shapeFlag:A}=u;switch(b){case un:W(c,u,h,_);break;case ye:B(c,u,h,_);break;case qt:c==null&&O(u,h,_,w);break;case ge:P(c,u,h,_,m,x,w,y,C);break;default:A&1?H(c,u,h,_,m,x,w,y,C):A&6?G(c,u,h,_,m,x,w,y,C):(A&64||A&128)&&b.process(c,u,h,_,m,x,w,y,C,nt)}F!=null&&m&&Sn(F,c&&c.ref,x,u||c,!u)},W=(c,u,h,_)=>{if(c==null)s(u.el=l(u.children),h,_);else{const m=u.el=c.el;u.children!==c.children&&a(m,u.children)}},B=(c,u,h,_)=>{c==null?s(u.el=f(u.children||""),h,_):u.el=c.el},O=(c,u,h,_)=>{[c.el,c.anchor]=L(c.children,u,h,_,c.el,c.anchor)},E=({el:c,anchor:u},h,_)=>{let m;for(;c&&c!==u;)m=g(c),s(c,h,_),c=m;s(u,h,_)},T=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=g(c),r(c),c=h;r(u)},H=(c,u,h,_,m,x,w,y,C)=>{w=w||u.type==="svg",c==null?Q(u,h,_,m,x,w,y,C):k(c,u,m,x,w,y,C)},Q=(c,u,h,_,m,x,w,y)=>{let C,b;const{type:F,props:A,shapeFlag:M,transition:R,dirs:$}=c;if(C=c.el=o(c.type,x,A&&A.is,A),M&8?d(C,c.children):M&16&&N(c.children,C,null,_,m,x&&F!=="foreignObject",w,y),$&&ze(c,null,_,"created"),V(C,c,c.scopeId,w,_),A){for(const z in A)z!=="value"&&!Vt(z)&&i(C,z,null,A[z],x,c.children,_,m,Fe);"value"in A&&i(C,"value",null,A.value),(b=A.onVnodeBeforeMount)&&_e(b,_,c)}$&&ze(c,null,_,"beforeMount");const J=(!m||m&&!m.pendingBranch)&&R&&!R.persisted;J&&R.beforeEnter(C),s(C,u,h),((b=A&&A.onVnodeMounted)||J||$)&&oe(()=>{b&&_e(b,_,c),J&&R.enter(C),$&&ze(c,null,_,"mounted")},m)},V=(c,u,h,_,m)=>{if(h&&v(c,h),_)for(let x=0;x<_.length;x++)v(c,_[x]);if(m){let x=m.subTree;if(u===x){const w=m.vnode;V(c,w,w.scopeId,w.slotScopeIds,m.parent)}}},N=(c,u,h,_,m,x,w,y,C=0)=>{for(let b=C;b{const y=u.el=c.el;let{patchFlag:C,dynamicChildren:b,dirs:F}=u;C|=c.patchFlag&16;const A=c.props||X,M=u.props||X;let R;h&&qe(h,!1),(R=M.onVnodeBeforeUpdate)&&_e(R,h,u,c),F&&ze(u,c,h,"beforeUpdate"),h&&qe(h,!0);const $=m&&u.type!=="foreignObject";if(b?j(c.dynamicChildren,b,y,h,_,$,x):w||q(c,u,y,null,h,_,$,x,!1),C>0){if(C&16)Y(y,u,A,M,h,_,m);else if(C&2&&A.class!==M.class&&i(y,"class",null,M.class,m),C&4&&i(y,"style",A.style,M.style,m),C&8){const J=u.dynamicProps;for(let z=0;z{R&&_e(R,h,u,c),F&&ze(u,c,h,"updated")},_)},j=(c,u,h,_,m,x,w)=>{for(let y=0;y{if(h!==_){if(h!==X)for(const y in h)!Vt(y)&&!(y in _)&&i(c,y,h[y],null,w,u.children,m,x,Fe);for(const y in _){if(Vt(y))continue;const C=_[y],b=h[y];C!==b&&y!=="value"&&i(c,y,b,C,w,u.children,m,x,Fe)}"value"in _&&i(c,"value",h.value,_.value)}},P=(c,u,h,_,m,x,w,y,C)=>{const b=u.el=c?c.el:l(""),F=u.anchor=c?c.anchor:l("");let{patchFlag:A,dynamicChildren:M,slotScopeIds:R}=u;R&&(y=y?y.concat(R):R),c==null?(s(b,h,_),s(F,h,_),N(u.children,h,F,m,x,w,y,C)):A>0&&A&64&&M&&c.dynamicChildren?(j(c.dynamicChildren,M,h,m,x,w,y),(u.key!=null||m&&u===m.subTree)&&fs(c,u,!0)):q(c,u,h,F,m,x,w,y,C)},G=(c,u,h,_,m,x,w,y,C)=>{u.slotScopeIds=y,c==null?u.shapeFlag&512?m.ctx.activate(u,h,_,w,C):he(u,h,_,m,x,w,C):_t(c,u,C)},he=(c,u,h,_,m,x,w)=>{const y=c.component=cl(c,_,m);if(cn(c)&&(y.ctx.renderer=nt),fl(y),y.asyncDep){if(m&&m.registerDep(y,re),!c.el){const C=y.subTree=ue(ye);B(null,C,u,h)}return}re(y,c,u,h,m,x,w)},_t=(c,u,h)=>{const _=u.component=c.component;if(xo(c,u,h))if(_.asyncDep&&!_.asyncResolved){te(_,u,h);return}else _.next=u,ho(_.update),_.update();else u.el=c.el,_.vnode=u},re=(c,u,h,_,m,x,w)=>{const y=()=>{if(c.isMounted){let{next:F,bu:A,u:M,parent:R,vnode:$}=c,J=F,z;qe(c,!1),F?(F.el=$.el,te(c,F,w)):F=$,A&&ct(A),(z=F.props&&F.props.onVnodeBeforeUpdate)&&_e(z,R,F,$),qe(c,!0);const se=mn(c),xe=c.subTree;c.subTree=se,I(xe,se,p(xe.el),Dt(xe),c,m,x),F.el=se.el,J===null&&Co(c,se.el),M&&oe(M,m),(z=F.props&&F.props.onVnodeUpdated)&&oe(()=>_e(z,R,F,$),m)}else{let F;const{el:A,props:M}=u,{bm:R,m:$,parent:J}=c,z=at(u);if(qe(c,!1),R&&ct(R),!z&&(F=M&&M.onVnodeBeforeMount)&&_e(F,J,u),qe(c,!0),A&&pn){const se=()=>{c.subTree=mn(c),pn(A,c.subTree,c,m,null)};z?u.type.__asyncLoader().then(()=>!c.isUnmounted&&se()):se()}else{const se=c.subTree=mn(c);I(null,se,h,_,c,m,x),u.el=se.el}if($&&oe($,m),!z&&(F=M&&M.onVnodeMounted)){const se=u;oe(()=>_e(F,J,se),m)}(u.shapeFlag&256||J&&at(J.vnode)&&J.vnode.shapeFlag&256)&&c.a&&oe(c.a,m),c.isMounted=!0,u=h=_=null}},C=c.effect=new zn(y,()=>es(b),c.scope),b=c.update=()=>C.run();b.id=c.uid,qe(c,!0),b()},te=(c,u,h)=>{u.component=c;const _=c.vnode.props;c.vnode=u,c.next=null,ko(c,u.props,_,h),zo(c,u.children,h),gt(),vs(),mt()},q=(c,u,h,_,m,x,w,y,C=!1)=>{const b=c&&c.children,F=c?c.shapeFlag:0,A=u.children,{patchFlag:M,shapeFlag:R}=u;if(M>0){if(M&128){Rt(b,A,h,_,m,x,w,y,C);return}else if(M&256){Ve(b,A,h,_,m,x,w,y,C);return}}R&8?(F&16&&Fe(b,m,x),A!==b&&d(h,A)):F&16?R&16?Rt(b,A,h,_,m,x,w,y,C):Fe(b,m,x,!0):(F&8&&d(h,""),R&16&&N(A,h,_,m,x,w,y,C))},Ve=(c,u,h,_,m,x,w,y,C)=>{c=c||ot,u=u||ot;const b=c.length,F=u.length,A=Math.min(b,F);let M;for(M=0;MF?Fe(c,m,x,!0,!1,A):N(u,h,_,m,x,w,y,C,A)},Rt=(c,u,h,_,m,x,w,y,C)=>{let b=0;const F=u.length;let A=c.length-1,M=F-1;for(;b<=A&&b<=M;){const R=c[b],$=u[b]=C?Be(u[b]):Oe(u[b]);if(je(R,$))I(R,$,h,null,m,x,w,y,C);else break;b++}for(;b<=A&&b<=M;){const R=c[A],$=u[M]=C?Be(u[M]):Oe(u[M]);if(je(R,$))I(R,$,h,null,m,x,w,y,C);else break;A--,M--}if(b>A){if(b<=M){const R=M+1,$=RM)for(;b<=A;)ve(c[b],m,x,!0),b++;else{const R=b,$=b,J=new Map;for(b=$;b<=M;b++){const pe=u[b]=C?Be(u[b]):Oe(u[b]);pe.key!=null&&J.set(pe.key,b)}let z,se=0;const xe=M-$+1;let st=!1,ps=0;const bt=new Array(xe);for(b=0;b=xe){ve(pe,m,x,!0);continue}let Ae;if(pe.key!=null)Ae=J.get(pe.key);else for(z=$;z<=M;z++)if(bt[z-$]===0&&je(pe,u[z])){Ae=z;break}Ae===void 0?ve(pe,m,x,!0):(bt[Ae-$]=b+1,Ae>=ps?ps=Ae:st=!0,I(pe,u[Ae],h,null,m,x,w,y,C),se++)}const gs=st?Xo(bt):ot;for(z=gs.length-1,b=xe-1;b>=0;b--){const pe=$+b,Ae=u[pe],ms=pe+1{const{el:x,type:w,transition:y,children:C,shapeFlag:b}=c;if(b&6){We(c.component.subTree,u,h,_);return}if(b&128){c.suspense.move(u,h,_);return}if(b&64){w.move(c,u,h,nt);return}if(w===ge){s(x,u,h);for(let A=0;Ay.enter(x),m);else{const{leave:A,delayLeave:M,afterLeave:R}=y,$=()=>s(x,u,h),J=()=>{A(x,()=>{$(),R&&R()})};M?M(x,$,J):J()}else s(x,u,h)},ve=(c,u,h,_=!1,m=!1)=>{const{type:x,props:w,ref:y,children:C,dynamicChildren:b,shapeFlag:F,patchFlag:A,dirs:M}=c;if(y!=null&&Sn(y,null,h,c,!0),F&256){u.ctx.deactivate(c);return}const R=F&1&&M,$=!at(c);let J;if($&&(J=w&&w.onVnodeBeforeUnmount)&&_e(J,u,c),F&6)ui(c.component,h,_);else{if(F&128){c.suspense.unmount(h,_);return}R&&ze(c,null,u,"beforeUnmount"),F&64?c.type.remove(c,u,h,m,nt,_):b&&(x!==ge||A>0&&A&64)?Fe(b,u,h,!1,!0):(x===ge&&A&384||!m&&F&16)&&Fe(C,u,h),_&&ds(c)}($&&(J=w&&w.onVnodeUnmounted)||R)&&oe(()=>{J&&_e(J,u,c),R&&ze(c,null,u,"unmounted")},h)},ds=c=>{const{type:u,el:h,anchor:_,transition:m}=c;if(u===ge){fi(h,_);return}if(u===qt){T(c);return}const x=()=>{r(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:w,delayLeave:y}=m,C=()=>w(h,x);y?y(c.el,x,C):C()}else x()},fi=(c,u)=>{let h;for(;c!==u;)h=g(c),r(c),c=h;r(u)},ui=(c,u,h)=>{const{bum:_,scope:m,update:x,subTree:w,um:y}=c;_&&ct(_),m.stop(),x&&(x.active=!1,ve(w,c,u,h)),y&&oe(y,u),oe(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Fe=(c,u,h,_=!1,m=!1,x=0)=>{for(let w=x;wc.shapeFlag&6?Dt(c.component.subTree):c.shapeFlag&128?c.suspense.next():g(c.anchor||c.el),hs=(c,u,h)=>{c==null?u._vnode&&ve(u._vnode,null,null,!0):I(u._vnode||null,c,u,null,null,null,h),vs(),Ar(),u._vnode=c},nt={p:I,um:ve,m:We,r:ds,mt:he,mc:N,pc:q,pbc:j,n:Dt,o:e};let hn,pn;return t&&([hn,pn]=t(nt)),{render:hs,hydrate:hn,createApp:Jo(hs,hn)}}function qe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function fs(e,t,n=!1){const s=e.children,r=t.children;if(S(s)&&S(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const Zo=e=>e.__isTeleport,Tt=e=>e&&(e.disabled||e.disabled===""),Rs=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ln=(e,t)=>{const n=e&&e.to;return ee(n)?t?t(n):null:n},Go={__isTeleport:!0,process(e,t,n,s,r,i,o,l,f,a){const{mc:d,pc:p,pbc:g,o:{insert:v,querySelector:L,createText:I,createComment:W}}=a,B=Tt(t.props);let{shapeFlag:O,children:E,dynamicChildren:T}=t;if(e==null){const H=t.el=I(""),Q=t.anchor=I("");v(H,n,s),v(Q,n,s);const V=t.target=Ln(t.props,L),N=t.targetAnchor=I("");V&&(v(N,V),o=o||Rs(V));const k=(j,Y)=>{O&16&&d(E,j,Y,r,i,o,l,f)};B?k(n,Q):V&&k(V,N)}else{t.el=e.el;const H=t.anchor=e.anchor,Q=t.target=e.target,V=t.targetAnchor=e.targetAnchor,N=Tt(e.props),k=N?n:Q,j=N?H:V;if(o=o||Rs(Q),T?(g(e.dynamicChildren,T,k,r,i,o,l),fs(e,t,!0)):f||p(e,t,k,j,r,i,o,l,!1),B)N||kt(t,n,H,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Y=t.target=Ln(t.props,L);Y&&kt(t,Y,null,a,0)}else N&&kt(t,Q,V,a,1)}zr(t)},remove(e,t,n,s,{um:r,o:{remove:i}},o){const{shapeFlag:l,children:f,anchor:a,targetAnchor:d,target:p,props:g}=e;if(p&&i(d),(o||!Tt(g))&&(i(a),l&16))for(let v=0;v0?we||ot:null,tl(),Mt>0&&we&&we.push(e),e}function xc(e,t,n,s,r,i){return Jr(Xr(e,t,n,s,r,i,!0))}function Qr(e,t,n,s,r){return Jr(ue(e,t,n,s,r,!0))}function Nt(e){return e?e.__v_isVNode===!0:!1}function je(e,t){return e.type===t.type&&e.key===t.key}const an="__vInternal",Yr=({key:e})=>e??null,Jt=({ref:e,ref_key:t,ref_for:n})=>e!=null?ee(e)||le(e)||D(e)?{i:ce,r:e,k:t,f:!!n}:e:null;function Xr(e,t=null,n=null,s=0,r=null,i=e===ge?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yr(t),ref:t&&Jt(t),scopeId:ln,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ce};return l?(us(f,n),i&128&&e.normalize(f)):n&&(f.shapeFlag|=ee(n)?8:16),Mt>0&&!o&&we&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&we.push(f),f}const ue=nl;function nl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Dr)&&(e=ye),Nt(e)){const l=Le(e,t,!0);return n&&us(l,n),Mt>0&&!i&&we&&(l.shapeFlag&6?we[we.indexOf(e)]=l:we.push(l)),l.patchFlag|=-2,l}if(hl(e)&&(e=e.__vccOpts),t){t=sl(t);let{class:l,style:f}=t;l&&!ee(l)&&(t.class=jn(l)),Z(f)&&(_r(f)&&!S(f)&&(f=ie({},f)),t.style=Bn(f))}const o=ee(e)?1:Pr(e)?128:Zo(e)?64:Z(e)?4:D(e)?2:0;return Xr(e,t,n,s,r,o,i,!0)}function sl(e){return e?_r(e)||an in e?ie({},e):e:null}function Le(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?il(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Yr(l),ref:t&&t.ref?n&&r?S(r)?r.concat(Jt(t)):[r,Jt(t)]:Jt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Le(e.ssContent),ssFallback:e.ssFallback&&Le(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function rl(e=" ",t=0){return ue(un,null,e,t)}function Cc(e,t){const n=ue(qt,null,e);return n.staticCount=t,n}function Ec(e="",t=!1){return t?(qr(),Qr(ye,null,e)):ue(ye,null,e)}function Oe(e){return e==null||typeof e=="boolean"?ue(ye):S(e)?ue(ge,null,e.slice()):typeof e=="object"?Be(e):ue(un,null,String(e))}function Be(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Le(e)}function us(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(S(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),us(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(an in t)?t._ctx=ce:r===3&&ce&&(ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else D(t)?(t={default:t,_ctx:ce},n=32):(t=String(t),s&64?(n=16,t=[rl(t)]):n=8);e.children=t,e.shapeFlag|=n}function il(...e){const t={};for(let n=0;nne||ce,pt=e=>{ne=e,e.scope.on()},et=()=>{ne&&ne.scope.off(),ne=null};function Zr(e){return e.vnode.shapeFlag&4}let St=!1;function fl(e,t=!1){St=t;const{props:n,children:s}=e.vnode,r=Zr(e);Ko(e,n,r,t),Wo(e,s);const i=r?ul(e,t):void 0;return St=!1,i}function ul(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=br(new Proxy(e.ctx,Do));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?dl(e):null;pt(e),gt();const i=Ke(s,e,0,[e.props,r]);if(mt(),et(),nr(i)){if(i.then(et,et),t)return i.then(o=>{Hs(e,o,t)}).catch(o=>{rn(o,e,0)});e.asyncDep=i}else Hs(e,i,t)}else Gr(e,t)}function Hs(e,t,n){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=Er(t)),Gr(e,n)}let $s;function Gr(e,t,n){const s=e.type;if(!e.render){if(!t&&$s&&!s.render){const r=s.template||ls(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,a=ie(ie({isCustomElement:i,delimiters:l},o),f);s.render=$s(r,a)}}e.render=s.render||Te}pt(e),gt(),Ho(e),mt(),et()}function al(e){return new Proxy(e.attrs,{get(t,n){return de(e,"get","$attrs"),t[n]}})}function dl(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=al(e))},slots:e.slots,emit:e.emit,expose:t}}function dn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Er(br(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in wt)return wt[n](e)},has(t,n){return n in t||n in wt}}))}function Rn(e,t=!0){return D(e)?e.displayName||e.name:e.name||t&&e.__name}function hl(e){return D(e)&&"__vccOpts"in e}const pl=(e,t)=>co(e,t,St);function gl(e,t,n){const s=arguments.length;return s===2?Z(t)&&!S(t)?Nt(t)?ue(e,null,[t]):ue(e,t):ue(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nt(n)&&(n=[n]),ue(e,t,n))}const ml=Symbol(""),_l=()=>Wt(ml),bl="3.2.47",yl="http://www.w3.org/2000/svg",Xe=typeof document<"u"?document:null,Bs=Xe&&Xe.createElement("template"),xl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?Xe.createElementNS(yl,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Bs.innerHTML=s?`${e}`:e;const l=Bs.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Cl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function El(e,t,n){const s=e.style,r=ee(n);if(n&&!r){if(t&&!ee(t))for(const i in t)n[i]==null&&Dn(s,i,"");for(const i in n)Dn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const js=/\s*!important$/;function Dn(e,t,n){if(S(n))n.forEach(s=>Dn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=wl(e,t);js.test(n)?e.setProperty(tt(s),n.replace(js,""),"important"):e[s]=n}}const Us=["Webkit","Moz","ms"],Cn={};function wl(e,t){const n=Cn[t];if(n)return n;let s=Pe(t);if(s!=="filter"&&s in e)return Cn[t]=s;s=nn(s);for(let r=0;rEn||(Pl.then(()=>En=0),En=Date.now());function Ml(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;be(Nl(s,n.value),t,5,[s])};return n.value=e,n.attached=Fl(),n}function Nl(e,t){if(S(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Vs=/^on[a-z]/,Sl=(e,t,n,s,r=!1,i,o,l,f)=>{t==="class"?Cl(e,s,r):t==="style"?El(e,n,s):en(t)?Un(t)||Ol(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ll(e,t,s,r))?vl(e,t,s,i,o,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Tl(e,t,s,r))};function Ll(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Vs.test(t)&&D(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Vs.test(t)&&ee(n)?!1:t in e}const He="transition",yt="animation",ei=(e,{slots:t})=>gl(Nr,ni(e),t);ei.displayName="Transition";const ti={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Rl=ei.props=ie({},Nr.props,ti),Je=(e,t=[])=>{S(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ws=e=>e?S(e)?e.some(t=>t.length>1):e.length>1:!1;function ni(e){const t={};for(const P in e)P in ti||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:f=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,L=Dl(r),I=L&&L[0],W=L&&L[1],{onBeforeEnter:B,onEnter:O,onEnterCancelled:E,onLeave:T,onLeaveCancelled:H,onBeforeAppear:Q=B,onAppear:V=O,onAppearCancelled:N=E}=t,k=(P,G,he)=>{$e(P,G?d:l),$e(P,G?a:o),he&&he()},j=(P,G)=>{P._isLeaving=!1,$e(P,p),$e(P,v),$e(P,g),G&&G()},Y=P=>(G,he)=>{const _t=P?V:O,re=()=>k(G,P,he);Je(_t,[G,re]),zs(()=>{$e(G,P?f:i),Me(G,P?d:l),Ws(_t)||qs(G,s,I,re)})};return ie(t,{onBeforeEnter(P){Je(B,[P]),Me(P,i),Me(P,o)},onBeforeAppear(P){Je(Q,[P]),Me(P,f),Me(P,a)},onEnter:Y(!1),onAppear:Y(!0),onLeave(P,G){P._isLeaving=!0;const he=()=>j(P,G);Me(P,p),ri(),Me(P,g),zs(()=>{P._isLeaving&&($e(P,p),Me(P,v),Ws(T)||qs(P,s,W,he))}),Je(T,[P,he])},onEnterCancelled(P){k(P,!1),Je(E,[P])},onAppearCancelled(P){k(P,!0),Je(N,[P])},onLeaveCancelled(P){j(P),Je(H,[P])}})}function Dl(e){if(e==null)return null;if(Z(e))return[wn(e.enter),wn(e.leave)];{const t=wn(e);return[t,t]}}function wn(e){return Ti(e)}function Me(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function $e(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function zs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Hl=0;function qs(e,t,n,s){const r=e._endId=++Hl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:f}=si(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,g),i()},g=v=>{v.target===e&&++d>=f&&p()};setTimeout(()=>{d(n[L]||"").split(", "),r=s(`${He}Delay`),i=s(`${He}Duration`),o=Js(r,i),l=s(`${yt}Delay`),f=s(`${yt}Duration`),a=Js(l,f);let d=null,p=0,g=0;t===He?o>0&&(d=He,p=o,g=i.length):t===yt?a>0&&(d=yt,p=a,g=f.length):(p=Math.max(o,a),d=p>0?o>a?He:yt:null,g=d?d===He?i.length:f.length:0);const v=d===He&&/\b(transform|all)(,|$)/.test(s(`${He}Property`).toString());return{type:d,timeout:p,propCount:g,hasTransform:v}}function Js(e,t){for(;e.lengthQs(n)+Qs(e[s])))}function Qs(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function ri(){return document.body.offsetHeight}const ii=new WeakMap,oi=new WeakMap,li={name:"TransitionGroup",props:ie({},Rl,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=as(),s=Mr();let r,i;return rs(()=>{if(!r.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!Kl(r[0].el,n.vnode.el,o))return;r.forEach(Bl),r.forEach(jl);const l=r.filter(Ul);ri(),l.forEach(f=>{const a=f.el,d=a.style;Me(a,o),d.transform=d.webkitTransform=d.transitionDuration="";const p=a._moveCb=g=>{g&&g.target!==a||(!g||/transform$/.test(g.propertyName))&&(a.removeEventListener("transitionend",p),a._moveCb=null,$e(a,o))};a.addEventListener("transitionend",p)})}),()=>{const o=U(e),l=ni(o);let f=o.tag||ge;r=i,i=t.default?ns(t.default()):[];for(let a=0;adelete e.mode;li.props;const wc=li;function Bl(e){const t=e.el;t._moveCb&&t._moveCb(),t._enterCb&&t._enterCb()}function jl(e){oi.set(e,e.el.getBoundingClientRect())}function Ul(e){const t=ii.get(e),n=oi.get(e),s=t.left-n.left,r=t.top-n.top;if(s||r){const i=e.el.style;return i.transform=i.webkitTransform=`translate(${s}px,${r}px)`,i.transitionDuration="0s",e}}function Kl(e,t,n){const s=e.cloneNode();e._vtc&&e._vtc.forEach(o=>{o.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(o=>o&&s.classList.add(o)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:i}=si(s);return r.removeChild(s),i}const Ys=e=>{const t=e.props["onUpdate:modelValue"]||!1;return S(t)?n=>ct(t,n):t};function kl(e){e.target.composing=!0}function Xs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Tc={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=Ys(r);const i=s||r.props&&r.props.type==="number";it(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),i&&(l=Tn(l)),e._assign(l)}),n&&it(e,"change",()=>{e.value=e.value.trim()}),t||(it(e,"compositionstart",kl),it(e,"compositionend",Xs),it(e,"change",Xs))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},i){if(e._assign=Ys(i),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&Tn(e.value)===t))return;const o=t??"";e.value!==o&&(e.value=o)}},Vl=["ctrl","shift","alt","meta"],Wl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Vl.some(n=>e[`${n}Key`]&&!t.includes(n))},vc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=tt(n.key);if(t.some(r=>r===s||zl[r]===s))return e(n)},Oc={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):xt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),xt(e,!0),s.enter(e)):s.leave(e,()=>{xt(e,!1)}):xt(e,t))},beforeUnmount(e,{value:t}){xt(e,t)}};function xt(e,t){e.style.display=t?e._vod:"none"}const ql=ie({patchProp:Sl},xl);let Zs;function Jl(){return Zs||(Zs=Qo(ql))}const Ic=(...e)=>{const t=Jl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Ql(s);if(!r)return;const i=t._component;!D(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const o=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function Ql(e){return ee(e)?document.querySelector(e):e}function Yl(){return ci().__VUE_DEVTOOLS_GLOBAL_HOOK__}function ci(){return typeof navigator<"u"&&typeof window<"u"?window:typeof global<"u"?global:{}}const Xl=typeof Proxy=="function",Zl="devtools-plugin:setup",Gl="plugin:settings:set";let rt,Hn;function ec(){var e;return rt!==void 0||(typeof window<"u"&&window.performance?(rt=!0,Hn=window.performance):typeof global<"u"&&(!((e=global.perf_hooks)===null||e===void 0)&&e.performance)?(rt=!0,Hn=global.perf_hooks.performance):rt=!1),rt}function tc(){return ec()?Hn.now():Date.now()}class nc{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const s={};if(t.settings)for(const o in t.settings){const l=t.settings[o];s[o]=l.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let i=Object.assign({},s);try{const o=localStorage.getItem(r),l=JSON.parse(o);Object.assign(i,l)}catch{}this.fallbacks={getSettings(){return i},setSettings(o){try{localStorage.setItem(r,JSON.stringify(o))}catch{}i=o},now(){return tc()}},n&&n.on(Gl,(o,l)=>{o===this.plugin.id&&this.fallbacks.setSettings(l)}),this.proxiedOn=new Proxy({},{get:(o,l)=>this.target?this.target.on[l]:(...f)=>{this.onQueue.push({method:l,args:f})}}),this.proxiedTarget=new Proxy({},{get:(o,l)=>this.target?this.target[l]:l==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(l)?(...f)=>(this.targetQueue.push({method:l,args:f,resolve:()=>{}}),this.fallbacks[l](...f)):(...f)=>new Promise(a=>{this.targetQueue.push({method:l,args:f,resolve:a})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function Pc(e,t){const n=e,s=ci(),r=Yl(),i=Xl&&n.enableEarlyProxy;if(r&&(s.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!i))r.emit(Zl,e,t);else{const o=i?new nc(n,r):null;(s.__VUE_DEVTOOLS_PLUGINS__=s.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:o}),o&&t(o.proxiedTarget)}}export{_o as $,Le as A,br as B,ye as C,Yn as D,_r as E,ge as F,U as G,Rr as H,Bn as I,yc as J,Qr as K,ue as L,sc as M,Tc as N,Ec as O,Ac as P,gc as Q,lc as R,bc as S,ei as T,cc as U,fc as V,mr as W,oc as X,so as Y,rc as Z,Pc as _,Xr as a,vc as a0,pc as a1,mc as a2,dc as a3,jn as a4,Ic as a5,_c as a6,Cc as b,xc as c,ac as d,rl as e,Nt as f,as as g,is as h,Wt as i,ss as j,Fo as k,Oo as l,Io as m,pl as n,qr as o,wo as p,uc as q,ic as r,gl as s,wc as t,oo as u,Oc as v,zt as w,il as x,uo as y,hc as z}; diff --git a/web/dist/assets/@vue-d002002f.js b/web/dist/assets/@vue-d002002f.js new file mode 100644 index 00000000..af82715e --- /dev/null +++ b/web/dist/assets/@vue-d002002f.js @@ -0,0 +1 @@ +function Un(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const Z={},it=[],Te=()=>{},yo=()=>!1,vo=/^on[^a-z]/,nn=e=>vo.test(e),Kn=e=>e.startsWith("onUpdate:"),ne=Object.assign,kn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},xo=Object.prototype.hasOwnProperty,U=(e,t)=>xo.call(e,t),N=Array.isArray,lt=e=>Lt(e)==="[object Map]",ir=e=>Lt(e)==="[object Set]",Co=e=>Lt(e)==="[object RegExp]",L=e=>typeof e=="function",ee=e=>typeof e=="string",Vn=e=>typeof e=="symbol",Y=e=>e!==null&&typeof e=="object",lr=e=>Y(e)&&L(e.then)&&L(e.catch),cr=Object.prototype.toString,Lt=e=>cr.call(e),Eo=e=>Lt(e).slice(8,-1),fr=e=>Lt(e)==="[object Object]",Wn=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Wt=Un(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),sn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},To=/-(\w)/g,Pe=sn(e=>e.replace(To,(t,n)=>n?n.toUpperCase():"")),wo=/\B([A-Z])/g,et=sn(e=>e.replace(wo,"-$1").toLowerCase()),rn=sn(e=>e.charAt(0).toUpperCase()+e.slice(1)),_n=sn(e=>e?`on${rn(e)}`:""),Ot=(e,t)=>!Object.is(e,t),ct=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},An=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ao=e=>{const t=ee(e)?Number(e):NaN;return isNaN(t)?e:t};let xs;const On=()=>xs||(xs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function zn(e){if(N(e)){const t={};for(let n=0;n{if(n){const s=n.split(Io);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function qn(e){let t="";if(ee(e))t=e;else if(N(e))for(let n=0;nee(e)?e:e==null?"":N(e)||Y(e)&&(e.toString===cr||!L(e.toString))?JSON.stringify(e,ar,2):String(e),ar=(e,t)=>t&&t.__v_isRef?ar(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:ir(t)?{[`Set(${t.size})`]:[...t.values()]}:Y(t)&&!N(t)&&!fr(t)?String(t):t;let xe;class dr{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=xe,!t&&xe&&(this.index=(xe.scopes||(xe.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=xe;try{return xe=this,t()}finally{xe=n}}}on(){xe=this}off(){xe=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},hr=e=>(e.w&ke)>0,pr=e=>(e.n&ke)>0,Lo=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=f)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":N(e)?Wn(n)&&l.push(i.get("length")):(l.push(i.get(Ze)),lt(e)&&l.push(i.get(Pn)));break;case"delete":N(e)||(l.push(i.get(Ze)),lt(e)&&l.push(i.get(Pn)));break;case"set":lt(e)&&l.push(i.get(Ze));break}if(l.length===1)l[0]&&Fn(l[0]);else{const f=[];for(const u of l)u&&f.push(...u);Fn(Jn(f))}}function Fn(e,t){const n=N(e)?e:[...e];for(const s of n)s.computed&&Es(s);for(const s of n)s.computed||Es(s)}function Es(e,t){(e!==Ce||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Ho(e,t){var n;return(n=Xt.get(e))==null?void 0:n.get(t)}const Bo=Un("__proto__,__v_isRef,__isVue"),_r=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Vn)),$o=Yn(),jo=Yn(!1,!0),Uo=Yn(!0),Ts=Ko();function Ko(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=j(this);for(let o=0,i=this.length;o{e[t]=function(...n){gt();const s=j(this)[t].apply(this,n);return mt(),s}}),e}function ko(e){const t=j(this);return de(t,"has",e),t.hasOwnProperty(e)}function Yn(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?oi:Cr:t?xr:vr).get(s))return s;const i=N(s);if(!e){if(i&&U(Ts,r))return Reflect.get(Ts,r,o);if(r==="hasOwnProperty")return ko}const l=Reflect.get(s,r,o);return(Vn(r)?_r.has(r):Bo(r))||(e||de(s,"get",r),t)?l:ie(l)?i&&Wn(r)?l:l.value:Y(l)?e?Er(l):Gn(l):l}}const Vo=br(),Wo=br(!0);function br(e=!1){return function(n,s,r,o){let i=n[s];if(dt(i)&&ie(i)&&!ie(r))return!1;if(!e&&(!Zt(r)&&!dt(r)&&(i=j(i),r=j(r)),!N(n)&&ie(i)&&!ie(r)))return i.value=r,!0;const l=N(n)&&Wn(s)?Number(s)e,on=e=>Reflect.getPrototypeOf(e);function Bt(e,t,n=!1,s=!1){e=e.__v_raw;const r=j(e),o=j(t);n||(t!==o&&de(r,"get",t),de(r,"get",o));const{has:i}=on(r),l=s?Xn:n?ts:It;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function $t(e,t=!1){const n=this.__v_raw,s=j(n),r=j(e);return t||(e!==r&&de(s,"has",e),de(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function jt(e,t=!1){return e=e.__v_raw,!t&&de(j(e),"iterate",Ze),Reflect.get(e,"size",e)}function ws(e){e=j(e);const t=j(this);return on(t).has.call(t,e)||(t.add(e),Ne(t,"add",e,e)),this}function As(e,t){t=j(t);const n=j(this),{has:s,get:r}=on(n);let o=s.call(n,e);o||(e=j(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Ot(t,i)&&Ne(n,"set",e,t):Ne(n,"add",e,t),this}function Os(e){const t=j(this),{has:n,get:s}=on(t);let r=n.call(t,e);r||(e=j(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Ne(t,"delete",e,void 0),o}function Is(){const e=j(this),t=e.size!==0,n=e.clear();return t&&Ne(e,"clear",void 0,void 0),n}function Ut(e,t){return function(s,r){const o=this,i=o.__v_raw,l=j(i),f=t?Xn:e?ts:It;return!e&&de(l,"iterate",Ze),i.forEach((u,d)=>s.call(r,f(u),f(d),o))}}function Kt(e,t,n){return function(...s){const r=this.__v_raw,o=j(r),i=lt(o),l=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,u=r[e](...s),d=n?Xn:t?ts:It;return!t&&de(o,"iterate",f?Pn:Ze),{next(){const{value:p,done:g}=u.next();return g?{value:p,done:g}:{value:l?[d(p[0]),d(p[1])]:d(p),done:g}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:this}}function Xo(){const e={get(o){return Bt(this,o)},get size(){return jt(this)},has:$t,add:ws,set:As,delete:Os,clear:Is,forEach:Ut(!1,!1)},t={get(o){return Bt(this,o,!1,!0)},get size(){return jt(this)},has:$t,add:ws,set:As,delete:Os,clear:Is,forEach:Ut(!1,!0)},n={get(o){return Bt(this,o,!0)},get size(){return jt(this,!0)},has(o){return $t.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Ut(!0,!1)},s={get(o){return Bt(this,o,!0,!0)},get size(){return jt(this,!0)},has(o){return $t.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Ut(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Kt(o,!1,!1),n[o]=Kt(o,!0,!1),t[o]=Kt(o,!1,!0),s[o]=Kt(o,!0,!0)}),[e,n,t,s]}const[Zo,Go,ei,ti]=Xo();function Zn(e,t){const n=t?e?ti:ei:e?Go:Zo;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(U(n,r)&&r in s?n:s,r,o)}const ni={get:Zn(!1,!1)},si={get:Zn(!1,!0)},ri={get:Zn(!0,!1)},vr=new WeakMap,xr=new WeakMap,Cr=new WeakMap,oi=new WeakMap;function ii(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function li(e){return e.__v_skip||!Object.isExtensible(e)?0:ii(Eo(e))}function Gn(e){return dt(e)?e:es(e,!1,yr,ni,vr)}function ci(e){return es(e,!1,Yo,si,xr)}function Er(e){return es(e,!0,Qo,ri,Cr)}function es(e,t,n,s,r){if(!Y(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=li(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function ft(e){return dt(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function dt(e){return!!(e&&e.__v_isReadonly)}function Zt(e){return!!(e&&e.__v_isShallow)}function Tr(e){return ft(e)||dt(e)}function j(e){const t=e&&e.__v_raw;return t?j(t):e}function wr(e){return Yt(e,"__v_skip",!0),e}const It=e=>Y(e)?Gn(e):e,ts=e=>Y(e)?Er(e):e;function Ar(e){Ue&&Ce&&(e=j(e),mr(e.dep||(e.dep=Jn())))}function Or(e,t){e=j(e);const n=e.dep;n&&Fn(n)}function ie(e){return!!(e&&e.__v_isRef===!0)}function fi(e){return Ir(e,!1)}function hc(e){return Ir(e,!0)}function Ir(e,t){return ie(e)?e:new ui(e,t)}class ui{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:j(t),this._value=n?t:It(t)}get value(){return Ar(this),this._value}set value(t){const n=this.__v_isShallow||Zt(t)||dt(t);t=n?t:j(t),Ot(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:It(t),Or(this))}}function ai(e){return ie(e)?e.value:e}const di={get:(e,t,n)=>ai(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ie(r)&&!ie(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Pr(e){return ft(e)?e:new Proxy(e,di)}function pc(e){const t=N(e)?new Array(e.length):{};for(const n in e)t[n]=Fr(e,n);return t}class hi{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ho(j(this._object),this._key)}}class pi{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function gc(e,t,n){return ie(e)?e:L(e)?new pi(e):Y(e)&&arguments.length>1?Fr(e,t,n):fi(e)}function Fr(e,t,n){const s=e[t];return ie(s)?s:new hi(e,t,n)}class gi{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new Qn(t,()=>{this._dirty||(this._dirty=!0,Or(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=j(this);return Ar(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function mi(e,t,n=!1){let s,r;const o=L(e);return o?(s=e,r=Te):(s=e.get,r=e.set),new gi(s,r,o||!r,n)}function Ke(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){ln(o,t,n)}return r}function be(e,t,n,s){if(L(e)){const o=Ke(e,t,n,s);return o&&lr(o)&&o.catch(i=>{ln(i,t,n)}),o}const r=[];for(let o=0;o>>1;Ft(fe[s])Ie&&fe.splice(t,1)}function xi(e){N(e)?ut.push(...e):(!Se||!Se.includes(e,e.allowRecurse?Qe+1:Qe))&&ut.push(e),Sr()}function Ps(e,t=Pt?Ie+1:0){for(;tFt(n)-Ft(s)),Qe=0;Qee.id==null?1/0:e.id,Ci=(e,t)=>{const n=Ft(e)-Ft(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Rr(e){Mn=!1,Pt=!0,fe.sort(Ci);const t=Te;try{for(Ie=0;Ieee(w)?w.trim():w)),p&&(r=n.map(An))}let l,f=s[l=_n(t)]||s[l=_n(Pe(t))];!f&&o&&(f=s[l=_n(et(t))]),f&&be(f,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,be(u,e,6,r)}}function Lr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!L(e)){const f=u=>{const d=Lr(u,t,!0);d&&(l=!0,ne(i,d))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!l?(Y(e)&&s.set(e,null),null):(N(o)?o.forEach(f=>i[f]=null):ne(i,o),Y(e)&&s.set(e,i),i)}function cn(e,t){return!e||!nn(t)?!1:(t=t.slice(2).replace(/Once$/,""),U(e,t[0].toLowerCase()+t.slice(1))||U(e,et(t))||U(e,t))}let ce=null,fn=null;function Gt(e){const t=ce;return ce=e,fn=e&&e.type.__scopeId||null,t}function mc(e){fn=e}function _c(){fn=null}function Ti(e,t=ce,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ks(-1);const o=Gt(t);let i;try{i=e(...r)}finally{Gt(o),s._d&&Ks(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function bn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:f,emit:u,render:d,renderCache:p,data:g,setupState:w,ctx:D,inheritAttrs:O}=e;let K,V;const T=Gt(e);try{if(n.shapeFlag&4){const v=r||s;K=Oe(d.call(v,v,p,o,w,g,D)),V=f}else{const v=t;K=Oe(v.length>1?v(o,{attrs:f,slots:l,emit:u}):v(o,null)),V=t.props?f:wi(f)}}catch(v){At.length=0,ln(v,e,1),K=ue(ye)}let I=K;if(V&&O!==!1){const v=Object.keys(V),{shapeFlag:H}=I;v.length&&H&7&&(i&&v.some(Kn)&&(V=Ai(V,i)),I=Re(I,V))}return n.dirs&&(I=Re(I),I.dirs=I.dirs?I.dirs.concat(n.dirs):n.dirs),n.transition&&(I.transition=n.transition),K=I,Gt(T),K}const wi=e=>{let t;for(const n in e)(n==="class"||n==="style"||nn(n))&&((t||(t={}))[n]=e[n]);return t},Ai=(e,t)=>{const n={};for(const s in e)(!Kn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Oi(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:f}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?Fs(s,i,u):!!i;if(f&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Pi(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):xi(e)}function bc(e,t){return rs(e,null,t)}const kt={};function zt(e,t,n){return rs(e,t,n)}function rs(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=Z){var l;const f=Ro()===((l=oe)==null?void 0:l.scope)?oe:null;let u,d=!1,p=!1;if(ie(e)?(u=()=>e.value,d=Zt(e)):ft(e)?(u=()=>e,s=!0):N(e)?(p=!0,d=e.some(v=>ft(v)||Zt(v)),u=()=>e.map(v=>{if(ie(v))return v.value;if(ft(v))return Xe(v);if(L(v))return Ke(v,f,2)})):L(e)?t?u=()=>Ke(e,f,2):u=()=>{if(!(f&&f.isUnmounted))return g&&g(),be(e,f,3,[w])}:u=Te,t&&s){const v=u;u=()=>Xe(v())}let g,w=v=>{g=T.onStop=()=>{Ke(v,f,4)}},D;if(Rt)if(w=Te,t?n&&be(t,f,3,[u(),p?[]:void 0,w]):u(),r==="sync"){const v=wl();D=v.__watcherHandles||(v.__watcherHandles=[])}else return Te;let O=p?new Array(e.length).fill(kt):kt;const K=()=>{if(T.active)if(t){const v=T.run();(s||d||(p?v.some((H,q)=>Ot(H,O[q])):Ot(v,O)))&&(g&&g(),be(t,f,3,[v,O===kt?void 0:p&&O[0]===kt?[]:O,w]),O=v)}else T.run()};K.allowRecurse=!!t;let V;r==="sync"?V=K:r==="post"?V=()=>le(K,f&&f.suspense):(K.pre=!0,f&&(K.id=f.uid),V=()=>ss(K));const T=new Qn(u,V);t?n?K():O=T.run():r==="post"?le(T.run.bind(T),f&&f.suspense):T.run();const I=()=>{T.stop(),f&&f.scope&&kn(f.scope.effects,T)};return D&&D.push(I),I}function Fi(e,t,n){const s=this.proxy,r=ee(e)?e.includes(".")?Hr(s,e):()=>s[e]:e.bind(s,s);let o;L(t)?o=t:(o=t.handler,n=t);const i=oe;pt(this);const l=rs(r,o.bind(s),n);return i?pt(i):Ge(),l}function Hr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{Xe(n,t)});else if(fr(e))for(const n in e)Xe(e[n],t);return e}function yc(e,t){const n=ce;if(n===null)return e;const s=pn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),cs(()=>{e.isUnmounting=!0}),e}const me=[Function,Array],$r={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:me,onEnter:me,onAfterEnter:me,onEnterCancelled:me,onBeforeLeave:me,onLeave:me,onAfterLeave:me,onLeaveCancelled:me,onBeforeAppear:me,onAppear:me,onAfterAppear:me,onAppearCancelled:me},Mi={name:"BaseTransition",props:$r,setup(e,{slots:t}){const n=ps(),s=Br();let r;return()=>{const o=t.default&&os(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const O of o)if(O.type!==ye){i=O;break}}const l=j(e),{mode:f}=l;if(s.isLeaving)return yn(i);const u=Ms(i);if(!u)return yn(i);const d=Mt(u,l,s,n);ht(u,d);const p=n.subTree,g=p&&Ms(p);let w=!1;const{getTransitionKey:D}=u.type;if(D){const O=D();r===void 0?r=O:O!==r&&(r=O,w=!0)}if(g&&g.type!==ye&&(!je(u,g)||w)){const O=Mt(g,l,s,n);if(ht(g,O),f==="out-in")return s.isLeaving=!0,O.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},yn(i);f==="in-out"&&u.type!==ye&&(O.delayLeave=(K,V,T)=>{const I=jr(s,g);I[String(g.key)]=g,K._leaveCb=()=>{V(),K._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=T})}return i}}},Si=Mi;function jr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Mt(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:p,onLeave:g,onAfterLeave:w,onLeaveCancelled:D,onBeforeAppear:O,onAppear:K,onAfterAppear:V,onAppearCancelled:T}=t,I=String(e.key),v=jr(n,e),H=(S,k)=>{S&&be(S,s,9,k)},q=(S,k)=>{const $=k[1];H(S,k),N(S)?S.every(X=>X.length<=1)&&$():S.length<=1&&$()},W={mode:o,persisted:i,beforeEnter(S){let k=l;if(!n.isMounted)if(r)k=O||l;else return;S._leaveCb&&S._leaveCb(!0);const $=v[I];$&&je(e,$)&&$.el._leaveCb&&$.el._leaveCb(),H(k,[S])},enter(S){let k=f,$=u,X=d;if(!n.isMounted)if(r)k=K||f,$=V||u,X=T||d;else return;let P=!1;const G=S._enterCb=he=>{P||(P=!0,he?H(X,[S]):H($,[S]),W.delayedLeave&&W.delayedLeave(),S._enterCb=void 0)};k?q(k,[S,G]):G()},leave(S,k){const $=String(e.key);if(S._enterCb&&S._enterCb(!0),n.isUnmounting)return k();H(p,[S]);let X=!1;const P=S._leaveCb=G=>{X||(X=!0,k(),G?H(D,[S]):H(w,[S]),S._leaveCb=void 0,v[$]===e&&delete v[$])};v[$]=e,g?q(g,[S,P]):P()},clone(S){return Mt(S,t,n,s)}};return W}function yn(e){if(un(e))return e=Re(e),e.children=null,e}function Ms(e){return un(e)?e.children?e.children[0]:void 0:e}function ht(e,t){e.shapeFlag&6&&e.component?ht(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function os(e,t=!1,n){let s=[],r=0;for(let o=0;o1)for(let o=0;one({name:e.name},t,{setup:e}))():e}const at=e=>!!e.type.__asyncLoader,un=e=>e.type.__isKeepAlive,Ni={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=ps(),s=n.ctx;if(!s.renderer)return()=>{const T=t.default&&t.default();return T&&T.length===1?T[0]:T};const r=new Map,o=new Set;let i=null;const l=n.suspense,{renderer:{p:f,m:u,um:d,o:{createElement:p}}}=s,g=p("div");s.activate=(T,I,v,H,q)=>{const W=T.component;u(T,I,v,0,l),f(W.vnode,T,I,v,W,l,H,T.slotScopeIds,q),le(()=>{W.isDeactivated=!1,W.a&&ct(W.a);const S=T.props&&T.props.onVnodeMounted;S&&_e(S,W.parent,T)},l)},s.deactivate=T=>{const I=T.component;u(T,g,null,1,l),le(()=>{I.da&&ct(I.da);const v=T.props&&T.props.onVnodeUnmounted;v&&_e(v,I.parent,T),I.isDeactivated=!0},l)};function w(T){vn(T),d(T,n,l,!0)}function D(T){r.forEach((I,v)=>{const H=Bn(I.type);H&&(!T||!T(H))&&O(v)})}function O(T){const I=r.get(T);!i||!je(I,i)?w(I):i&&vn(i),r.delete(T),o.delete(T)}zt(()=>[e.include,e.exclude],([T,I])=>{T&&D(v=>Ct(T,v)),I&&D(v=>!Ct(I,v))},{flush:"post",deep:!0});let K=null;const V=()=>{K!=null&&r.set(K,xn(n.subTree))};return is(V),ls(V),cs(()=>{r.forEach(T=>{const{subTree:I,suspense:v}=n,H=xn(I);if(T.type===H.type&&T.key===H.key){vn(H);const q=H.component.da;q&&le(q,v);return}w(T)})}),()=>{if(K=null,!t.default)return null;const T=t.default(),I=T[0];if(T.length>1)return i=null,T;if(!Nt(I)||!(I.shapeFlag&4)&&!(I.shapeFlag&128))return i=null,I;let v=xn(I);const H=v.type,q=Bn(at(v)?v.type.__asyncResolved||{}:H),{include:W,exclude:S,max:k}=e;if(W&&(!q||!Ct(W,q))||S&&q&&Ct(S,q))return i=v,I;const $=v.key==null?H:v.key,X=r.get($);return v.el&&(v=Re(v),I.shapeFlag&128&&(I.ssContent=v)),K=$,X?(v.el=X.el,v.component=X.component,v.transition&&ht(v,v.transition),v.shapeFlag|=512,o.delete($),o.add($)):(o.add($),k&&o.size>parseInt(k,10)&&O(o.values().next().value)),v.shapeFlag|=256,i=v,Dr(I.type)?I:v}}},xc=Ni;function Ct(e,t){return N(e)?e.some(n=>Ct(n,t)):ee(e)?e.split(",").includes(t):Co(e)?e.test(t):!1}function Ri(e,t){Ur(e,"a",t)}function Li(e,t){Ur(e,"da",t)}function Ur(e,t,n=oe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(an(t,s,n),n){let r=n.parent;for(;r&&r.parent;)un(r.parent.vnode)&&Di(s,t,n,r),r=r.parent}}function Di(e,t,n,s){const r=an(t,e,s,!0);Kr(()=>{kn(s[t],r)},n)}function vn(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function xn(e){return e.shapeFlag&128?e.ssContent:e}function an(e,t,n=oe,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;gt(),pt(n);const l=be(t,n,e,i);return Ge(),mt(),l});return s?r.unshift(o):r.push(o),o}}const Le=e=>(t,n=oe)=>(!Rt||e==="sp")&&an(e,(...s)=>t(...s),n),Hi=Le("bm"),is=Le("m"),Bi=Le("bu"),ls=Le("u"),cs=Le("bum"),Kr=Le("um"),$i=Le("sp"),ji=Le("rtg"),Ui=Le("rtc");function Ki(e,t=oe){an("ec",e,t)}const fs="components";function Cc(e,t){return Vr(fs,e,!0,t)||e}const kr=Symbol.for("v-ndc");function Ec(e){return ee(e)?Vr(fs,e,!1)||e:e||kr}function Vr(e,t,n=!0,s=!1){const r=ce||oe;if(r){const o=r.type;if(e===fs){const l=Bn(o,!1);if(l&&(l===t||l===Pe(t)||l===rn(Pe(t))))return o}const i=Ss(r[e]||o[e],t)||Ss(r.appContext[e],t);return!i&&s?o:i}}function Ss(e,t){return e&&(e[t]||e[Pe(t)]||e[rn(Pe(t))])}function Tc(e,t,n,s){let r;const o=n&&n[s];if(N(e)||ee(e)){r=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,f=i.length;l{const o=s.fn(...r);return o&&(o.key=s.key),o}:s.fn)}return e}function Ac(e,t,n={},s,r){if(ce.isCE||ce.parent&&at(ce.parent)&&ce.parent.isCE)return t!=="default"&&(n.name=t),ue("slot",n,s&&s());let o=e[t];o&&o._c&&(o._d=!1),eo();const i=o&&Wr(o(n)),l=no(ge,{key:n.key||i&&i.key||`_${t}`},i||(s?s():[]),i&&e._===1?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function Wr(e){return e.some(t=>Nt(t)?!(t.type===ye||t.type===ge&&!Wr(t.children)):!0)?e:null}const Sn=e=>e?oo(e)?pn(e)||e.proxy:Sn(e.parent):null,Tt=ne(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Sn(e.parent),$root:e=>Sn(e.root),$emit:e=>e.emit,$options:e=>us(e),$forceUpdate:e=>e.f||(e.f=()=>ss(e.update)),$nextTick:e=>e.n||(e.n=bi.bind(e.proxy)),$watch:e=>Fi.bind(e)}),Cn=(e,t)=>e!==Z&&!e.__isScriptSetup&&U(e,t),ki={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:f}=e;let u;if(t[0]!=="$"){const w=i[t];if(w!==void 0)switch(w){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Cn(s,t))return i[t]=1,s[t];if(r!==Z&&U(r,t))return i[t]=2,r[t];if((u=e.propsOptions[0])&&U(u,t))return i[t]=3,o[t];if(n!==Z&&U(n,t))return i[t]=4,n[t];Nn&&(i[t]=0)}}const d=Tt[t];let p,g;if(d)return t==="$attrs"&&de(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==Z&&U(n,t))return i[t]=4,n[t];if(g=f.config.globalProperties,U(g,t))return g[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Cn(r,t)?(r[t]=n,!0):s!==Z&&U(s,t)?(s[t]=n,!0):U(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==Z&&U(e,i)||Cn(t,i)||(l=o[0])&&U(l,i)||U(s,i)||U(Tt,i)||U(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:U(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ns(e){return N(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Nn=!0;function Vi(e){const t=us(e),n=e.proxy,s=e.ctx;Nn=!1,t.beforeCreate&&Rs(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:f,inject:u,created:d,beforeMount:p,mounted:g,beforeUpdate:w,updated:D,activated:O,deactivated:K,beforeDestroy:V,beforeUnmount:T,destroyed:I,unmounted:v,render:H,renderTracked:q,renderTriggered:W,errorCaptured:S,serverPrefetch:k,expose:$,inheritAttrs:X,components:P,directives:G,filters:he}=t;if(u&&Wi(u,s,null),i)for(const te in i){const J=i[te];L(J)&&(s[te]=J.bind(n))}if(r){const te=r.call(n,n);Y(te)&&(e.data=Gn(te))}if(Nn=!0,o)for(const te in o){const J=o[te],Ve=L(J)?J.bind(n,n):L(J.get)?J.get.bind(n,n):Te,Dt=!L(J)&&L(J.set)?J.set.bind(n):Te,We=Cl({get:Ve,set:Dt});Object.defineProperty(s,te,{enumerable:!0,configurable:!0,get:()=>We.value,set:we=>We.value=we})}if(l)for(const te in l)zr(l[te],s,n,te);if(f){const te=L(f)?f.call(n):f;Reflect.ownKeys(te).forEach(J=>{Xi(J,te[J])})}d&&Rs(d,e,"c");function re(te,J){N(J)?J.forEach(Ve=>te(Ve.bind(n))):J&&te(J.bind(n))}if(re(Hi,p),re(is,g),re(Bi,w),re(ls,D),re(Ri,O),re(Li,K),re(Ki,S),re(Ui,q),re(ji,W),re(cs,T),re(Kr,v),re($i,k),N($))if($.length){const te=e.exposed||(e.exposed={});$.forEach(J=>{Object.defineProperty(te,J,{get:()=>n[J],set:Ve=>n[J]=Ve})})}else e.exposed||(e.exposed={});H&&e.render===Te&&(e.render=H),X!=null&&(e.inheritAttrs=X),P&&(e.components=P),G&&(e.directives=G)}function Wi(e,t,n=Te){N(e)&&(e=Rn(e));for(const s in e){const r=e[s];let o;Y(r)?"default"in r?o=qt(r.from||s,r.default,!0):o=qt(r.from||s):o=qt(r),ie(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function Rs(e,t,n){be(N(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function zr(e,t,n,s){const r=s.includes(".")?Hr(n,s):()=>n[s];if(ee(e)){const o=t[e];L(o)&&zt(r,o)}else if(L(e))zt(r,e.bind(n));else if(Y(e))if(N(e))e.forEach(o=>zr(o,t,n,s));else{const o=L(e.handler)?e.handler.bind(n):t[e.handler];L(o)&&zt(r,o,e)}}function us(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(u=>en(f,u,i,!0)),en(f,t,i)),Y(t)&&o.set(t,f),f}function en(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&en(e,o,n,!0),r&&r.forEach(i=>en(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=zi[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const zi={data:Ls,props:Ds,emits:Ds,methods:Et,computed:Et,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Et,directives:Et,watch:Ji,provide:Ls,inject:qi};function Ls(e,t){return t?e?function(){return ne(L(e)?e.call(this,this):e,L(t)?t.call(this,this):t)}:t:e}function qi(e,t){return Et(Rn(e),Rn(t))}function Rn(e){if(N(e)){const t={};for(let n=0;n1)return n&&L(t)?t.call(s&&s.proxy):t}}function Zi(e,t,n,s=!1){const r={},o={};Yt(o,hn,1),e.propsDefaults=Object.create(null),Jr(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:ci(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function Gi(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=j(r),[f]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const d=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[g,w]=Qr(p,t,!0);ne(i,g),w&&l.push(...w)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!f)return Y(e)&&s.set(e,it),it;if(N(o))for(let d=0;d-1,w[1]=O<0||D-1||U(w,"default"))&&l.push(p)}}}const u=[i,l];return Y(e)&&s.set(e,u),u}function Hs(e){return e[0]!=="$"}function Bs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function $s(e,t){return Bs(e)===Bs(t)}function js(e,t){return N(t)?t.findIndex(n=>$s(n,e)):L(t)&&$s(t,e)?0:-1}const Yr=e=>e[0]==="_"||e==="$stable",as=e=>N(e)?e.map(Oe):[Oe(e)],el=(e,t,n)=>{if(t._n)return t;const s=Ti((...r)=>as(t(...r)),n);return s._c=!1,s},Xr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Yr(r))continue;const o=e[r];if(L(o))t[r]=el(r,o,s);else if(o!=null){const i=as(o);t[r]=()=>i}}},Zr=(e,t)=>{const n=as(t);e.slots.default=()=>n},tl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=j(t),Yt(t,"_",n)):Xr(t,e.slots={})}else e.slots={},t&&Zr(e,t);Yt(e.slots,hn,1)},nl=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=Z;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ne(r,t),!n&&l===1&&delete r._):(o=!t.$stable,Xr(t,r)),i=t}else t&&(Zr(e,t),i={default:1});if(o)for(const l in r)!Yr(l)&&!(l in i)&&delete r[l]};function Dn(e,t,n,s,r=!1){if(N(e)){e.forEach((g,w)=>Dn(g,t&&(N(t)?t[w]:t),n,s,r));return}if(at(s)&&!r)return;const o=s.shapeFlag&4?pn(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:f}=e,u=t&&t.r,d=l.refs===Z?l.refs={}:l.refs,p=l.setupState;if(u!=null&&u!==f&&(ee(u)?(d[u]=null,U(p,u)&&(p[u]=null)):ie(u)&&(u.value=null)),L(f))Ke(f,l,12,[i,d]);else{const g=ee(f),w=ie(f);if(g||w){const D=()=>{if(e.f){const O=g?U(p,f)?p[f]:d[f]:f.value;r?N(O)&&kn(O,o):N(O)?O.includes(o)||O.push(o):g?(d[f]=[o],U(p,f)&&(p[f]=d[f])):(f.value=[o],e.k&&(d[e.k]=f.value))}else g?(d[f]=i,U(p,f)&&(p[f]=i)):w&&(f.value=i,e.k&&(d[e.k]=i))};i?(D.id=-1,le(D,n)):D()}}}const le=Pi;function sl(e){return rl(e)}function rl(e,t){const n=On();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:f,setText:u,setElementText:d,parentNode:p,nextSibling:g,setScopeId:w=Te,insertStaticContent:D}=e,O=(c,a,h,_=null,m=null,x=null,E=!1,y=null,C=!!a.dynamicChildren)=>{if(c===a)return;c&&!je(c,a)&&(_=Ht(c),we(c,m,x,!0),c=null),a.patchFlag===-2&&(C=!1,a.dynamicChildren=null);const{type:b,ref:F,shapeFlag:A}=a;switch(b){case dn:K(c,a,h,_);break;case ye:V(c,a,h,_);break;case Jt:c==null&&T(a,h,_,E);break;case ge:P(c,a,h,_,m,x,E,y,C);break;default:A&1?H(c,a,h,_,m,x,E,y,C):A&6?G(c,a,h,_,m,x,E,y,C):(A&64||A&128)&&b.process(c,a,h,_,m,x,E,y,C,tt)}F!=null&&m&&Dn(F,c&&c.ref,x,a||c,!a)},K=(c,a,h,_)=>{if(c==null)s(a.el=l(a.children),h,_);else{const m=a.el=c.el;a.children!==c.children&&u(m,a.children)}},V=(c,a,h,_)=>{c==null?s(a.el=f(a.children||""),h,_):a.el=c.el},T=(c,a,h,_)=>{[c.el,c.anchor]=D(c.children,a,h,_,c.el,c.anchor)},I=({el:c,anchor:a},h,_)=>{let m;for(;c&&c!==a;)m=g(c),s(c,h,_),c=m;s(a,h,_)},v=({el:c,anchor:a})=>{let h;for(;c&&c!==a;)h=g(c),r(c),c=h;r(a)},H=(c,a,h,_,m,x,E,y,C)=>{E=E||a.type==="svg",c==null?q(a,h,_,m,x,E,y,C):k(c,a,m,x,E,y,C)},q=(c,a,h,_,m,x,E,y)=>{let C,b;const{type:F,props:A,shapeFlag:M,transition:R,dirs:B}=c;if(C=c.el=i(c.type,x,A&&A.is,A),M&8?d(C,c.children):M&16&&S(c.children,C,null,_,m,x&&F!=="foreignObject",E,y),B&&ze(c,null,_,"created"),W(C,c,c.scopeId,E,_),A){for(const z in A)z!=="value"&&!Wt(z)&&o(C,z,null,A[z],x,c.children,_,m,Fe);"value"in A&&o(C,"value",null,A.value),(b=A.onVnodeBeforeMount)&&_e(b,_,c)}B&&ze(c,null,_,"beforeMount");const Q=(!m||m&&!m.pendingBranch)&&R&&!R.persisted;Q&&R.beforeEnter(C),s(C,a,h),((b=A&&A.onVnodeMounted)||Q||B)&&le(()=>{b&&_e(b,_,c),Q&&R.enter(C),B&&ze(c,null,_,"mounted")},m)},W=(c,a,h,_,m)=>{if(h&&w(c,h),_)for(let x=0;x<_.length;x++)w(c,_[x]);if(m){let x=m.subTree;if(a===x){const E=m.vnode;W(c,E,E.scopeId,E.slotScopeIds,m.parent)}}},S=(c,a,h,_,m,x,E,y,C=0)=>{for(let b=C;b{const y=a.el=c.el;let{patchFlag:C,dynamicChildren:b,dirs:F}=a;C|=c.patchFlag&16;const A=c.props||Z,M=a.props||Z;let R;h&&qe(h,!1),(R=M.onVnodeBeforeUpdate)&&_e(R,h,a,c),F&&ze(a,c,h,"beforeUpdate"),h&&qe(h,!0);const B=m&&a.type!=="foreignObject";if(b?$(c.dynamicChildren,b,y,h,_,B,x):E||J(c,a,y,null,h,_,B,x,!1),C>0){if(C&16)X(y,a,A,M,h,_,m);else if(C&2&&A.class!==M.class&&o(y,"class",null,M.class,m),C&4&&o(y,"style",A.style,M.style,m),C&8){const Q=a.dynamicProps;for(let z=0;z{R&&_e(R,h,a,c),F&&ze(a,c,h,"updated")},_)},$=(c,a,h,_,m,x,E)=>{for(let y=0;y{if(h!==_){if(h!==Z)for(const y in h)!Wt(y)&&!(y in _)&&o(c,y,h[y],null,E,a.children,m,x,Fe);for(const y in _){if(Wt(y))continue;const C=_[y],b=h[y];C!==b&&y!=="value"&&o(c,y,b,C,E,a.children,m,x,Fe)}"value"in _&&o(c,"value",h.value,_.value)}},P=(c,a,h,_,m,x,E,y,C)=>{const b=a.el=c?c.el:l(""),F=a.anchor=c?c.anchor:l("");let{patchFlag:A,dynamicChildren:M,slotScopeIds:R}=a;R&&(y=y?y.concat(R):R),c==null?(s(b,h,_),s(F,h,_),S(a.children,h,F,m,x,E,y,C)):A>0&&A&64&&M&&c.dynamicChildren?($(c.dynamicChildren,M,h,m,x,E,y),(a.key!=null||m&&a===m.subTree)&&ds(c,a,!0)):J(c,a,h,F,m,x,E,y,C)},G=(c,a,h,_,m,x,E,y,C)=>{a.slotScopeIds=y,c==null?a.shapeFlag&512?m.ctx.activate(a,h,_,E,C):he(a,h,_,m,x,E,C):_t(c,a,C)},he=(c,a,h,_,m,x,E)=>{const y=c.component=ml(c,_,m);if(un(c)&&(y.ctx.renderer=tt),_l(y),y.asyncDep){if(m&&m.registerDep(y,re),!c.el){const C=y.subTree=ue(ye);V(null,C,a,h)}return}re(y,c,a,h,m,x,E)},_t=(c,a,h)=>{const _=a.component=c.component;if(Oi(c,a,h))if(_.asyncDep&&!_.asyncResolved){te(_,a,h);return}else _.next=a,vi(_.update),_.update();else a.el=c.el,_.vnode=a},re=(c,a,h,_,m,x,E)=>{const y=()=>{if(c.isMounted){let{next:F,bu:A,u:M,parent:R,vnode:B}=c,Q=F,z;qe(c,!1),F?(F.el=B.el,te(c,F,E)):F=B,A&&ct(A),(z=F.props&&F.props.onVnodeBeforeUpdate)&&_e(z,R,F,B),qe(c,!0);const se=bn(c),ve=c.subTree;c.subTree=se,O(ve,se,p(ve.el),Ht(ve),c,m,x),F.el=se.el,Q===null&&Ii(c,se.el),M&&le(M,m),(z=F.props&&F.props.onVnodeUpdated)&&le(()=>_e(z,R,F,B),m)}else{let F;const{el:A,props:M}=a,{bm:R,m:B,parent:Q}=c,z=at(a);if(qe(c,!1),R&&ct(R),!z&&(F=M&&M.onVnodeBeforeMount)&&_e(F,Q,a),qe(c,!0),A&&mn){const se=()=>{c.subTree=bn(c),mn(A,c.subTree,c,m,null)};z?a.type.__asyncLoader().then(()=>!c.isUnmounted&&se()):se()}else{const se=c.subTree=bn(c);O(null,se,h,_,c,m,x),a.el=se.el}if(B&&le(B,m),!z&&(F=M&&M.onVnodeMounted)){const se=a;le(()=>_e(F,Q,se),m)}(a.shapeFlag&256||Q&&at(Q.vnode)&&Q.vnode.shapeFlag&256)&&c.a&&le(c.a,m),c.isMounted=!0,a=h=_=null}},C=c.effect=new Qn(y,()=>ss(b),c.scope),b=c.update=()=>C.run();b.id=c.uid,qe(c,!0),b()},te=(c,a,h)=>{a.component=c;const _=c.vnode.props;c.vnode=a,c.next=null,Gi(c,a.props,_,h),nl(c,a.children,h),gt(),Ps(),mt()},J=(c,a,h,_,m,x,E,y,C=!1)=>{const b=c&&c.children,F=c?c.shapeFlag:0,A=a.children,{patchFlag:M,shapeFlag:R}=a;if(M>0){if(M&128){Dt(b,A,h,_,m,x,E,y,C);return}else if(M&256){Ve(b,A,h,_,m,x,E,y,C);return}}R&8?(F&16&&Fe(b,m,x),A!==b&&d(h,A)):F&16?R&16?Dt(b,A,h,_,m,x,E,y,C):Fe(b,m,x,!0):(F&8&&d(h,""),R&16&&S(A,h,_,m,x,E,y,C))},Ve=(c,a,h,_,m,x,E,y,C)=>{c=c||it,a=a||it;const b=c.length,F=a.length,A=Math.min(b,F);let M;for(M=0;MF?Fe(c,m,x,!0,!1,A):S(a,h,_,m,x,E,y,C,A)},Dt=(c,a,h,_,m,x,E,y,C)=>{let b=0;const F=a.length;let A=c.length-1,M=F-1;for(;b<=A&&b<=M;){const R=c[b],B=a[b]=C?$e(a[b]):Oe(a[b]);if(je(R,B))O(R,B,h,null,m,x,E,y,C);else break;b++}for(;b<=A&&b<=M;){const R=c[A],B=a[M]=C?$e(a[M]):Oe(a[M]);if(je(R,B))O(R,B,h,null,m,x,E,y,C);else break;A--,M--}if(b>A){if(b<=M){const R=M+1,B=RM)for(;b<=A;)we(c[b],m,x,!0),b++;else{const R=b,B=b,Q=new Map;for(b=B;b<=M;b++){const pe=a[b]=C?$e(a[b]):Oe(a[b]);pe.key!=null&&Q.set(pe.key,b)}let z,se=0;const ve=M-B+1;let nt=!1,bs=0;const bt=new Array(ve);for(b=0;b=ve){we(pe,m,x,!0);continue}let Ae;if(pe.key!=null)Ae=Q.get(pe.key);else for(z=B;z<=M;z++)if(bt[z-B]===0&&je(pe,a[z])){Ae=z;break}Ae===void 0?we(pe,m,x,!0):(bt[Ae-B]=b+1,Ae>=bs?bs=Ae:nt=!0,O(pe,a[Ae],h,null,m,x,E,y,C),se++)}const ys=nt?ol(bt):it;for(z=ys.length-1,b=ve-1;b>=0;b--){const pe=B+b,Ae=a[pe],vs=pe+1{const{el:x,type:E,transition:y,children:C,shapeFlag:b}=c;if(b&6){We(c.component.subTree,a,h,_);return}if(b&128){c.suspense.move(a,h,_);return}if(b&64){E.move(c,a,h,tt);return}if(E===ge){s(x,a,h);for(let A=0;Ay.enter(x),m);else{const{leave:A,delayLeave:M,afterLeave:R}=y,B=()=>s(x,a,h),Q=()=>{A(x,()=>{B(),R&&R()})};M?M(x,B,Q):Q()}else s(x,a,h)},we=(c,a,h,_=!1,m=!1)=>{const{type:x,props:E,ref:y,children:C,dynamicChildren:b,shapeFlag:F,patchFlag:A,dirs:M}=c;if(y!=null&&Dn(y,null,h,c,!0),F&256){a.ctx.deactivate(c);return}const R=F&1&&M,B=!at(c);let Q;if(B&&(Q=E&&E.onVnodeBeforeUnmount)&&_e(Q,a,c),F&6)bo(c.component,h,_);else{if(F&128){c.suspense.unmount(h,_);return}R&&ze(c,null,a,"beforeUnmount"),F&64?c.type.remove(c,a,h,m,tt,_):b&&(x!==ge||A>0&&A&64)?Fe(b,a,h,!1,!0):(x===ge&&A&384||!m&&F&16)&&Fe(C,a,h),_&&ms(c)}(B&&(Q=E&&E.onVnodeUnmounted)||R)&&le(()=>{Q&&_e(Q,a,c),R&&ze(c,null,a,"unmounted")},h)},ms=c=>{const{type:a,el:h,anchor:_,transition:m}=c;if(a===ge){_o(h,_);return}if(a===Jt){v(c);return}const x=()=>{r(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:E,delayLeave:y}=m,C=()=>E(h,x);y?y(c.el,x,C):C()}else x()},_o=(c,a)=>{let h;for(;c!==a;)h=g(c),r(c),c=h;r(a)},bo=(c,a,h)=>{const{bum:_,scope:m,update:x,subTree:E,um:y}=c;_&&ct(_),m.stop(),x&&(x.active=!1,we(E,c,a,h)),y&&le(y,a),le(()=>{c.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},Fe=(c,a,h,_=!1,m=!1,x=0)=>{for(let E=x;Ec.shapeFlag&6?Ht(c.component.subTree):c.shapeFlag&128?c.suspense.next():g(c.anchor||c.el),_s=(c,a,h)=>{c==null?a._vnode&&we(a._vnode,null,null,!0):O(a._vnode||null,c,a,null,null,null,h),Ps(),Nr(),a._vnode=c},tt={p:O,um:we,m:We,r:ms,mt:he,mc:S,pc:J,pbc:$,n:Ht,o:e};let gn,mn;return t&&([gn,mn]=t(tt)),{render:_s,hydrate:gn,createApp:Yi(_s,gn)}}function qe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ds(e,t,n=!1){const s=e.children,r=t.children;if(N(s)&&N(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const il=e=>e.__isTeleport,wt=e=>e&&(e.disabled||e.disabled===""),Us=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Hn=(e,t)=>{const n=e&&e.to;return ee(n)?t?t(n):null:n},ll={__isTeleport:!0,process(e,t,n,s,r,o,i,l,f,u){const{mc:d,pc:p,pbc:g,o:{insert:w,querySelector:D,createText:O,createComment:K}}=u,V=wt(t.props);let{shapeFlag:T,children:I,dynamicChildren:v}=t;if(e==null){const H=t.el=O(""),q=t.anchor=O("");w(H,n,s),w(q,n,s);const W=t.target=Hn(t.props,D),S=t.targetAnchor=O("");W&&(w(S,W),i=i||Us(W));const k=($,X)=>{T&16&&d(I,$,X,r,o,i,l,f)};V?k(n,q):W&&k(W,S)}else{t.el=e.el;const H=t.anchor=e.anchor,q=t.target=e.target,W=t.targetAnchor=e.targetAnchor,S=wt(e.props),k=S?n:q,$=S?H:W;if(i=i||Us(q),v?(g(e.dynamicChildren,v,k,r,o,i,l),ds(e,t,!0)):f||p(e,t,k,$,r,o,i,l,!1),V)S||Vt(t,n,H,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const X=t.target=Hn(t.props,D);X&&Vt(t,X,null,u,0)}else S&&Vt(t,q,W,u,1)}Gr(t)},remove(e,t,n,s,{um:r,o:{remove:o}},i){const{shapeFlag:l,children:f,anchor:u,targetAnchor:d,target:p,props:g}=e;if(p&&o(d),(i||!wt(g))&&(o(u),l&16))for(let w=0;w0?Ee||it:null,fl(),St>0&&Ee&&Ee.push(e),e}function Ic(e,t,n,s,r,o){return to(ro(e,t,n,s,r,o,!0))}function no(e,t,n,s,r){return to(ue(e,t,n,s,r,!0))}function Nt(e){return e?e.__v_isVNode===!0:!1}function je(e,t){return e.type===t.type&&e.key===t.key}const hn="__vInternal",so=({key:e})=>e??null,Qt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ee(e)||ie(e)||L(e)?{i:ce,r:e,k:t,f:!!n}:e:null);function ro(e,t=null,n=null,s=0,r=null,o=e===ge?0:1,i=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&so(t),ref:t&&Qt(t),scopeId:fn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ce};return l?(hs(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=ee(n)?8:16),St>0&&!i&&Ee&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&Ee.push(f),f}const ue=ul;function ul(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===kr)&&(e=ye),Nt(e)){const l=Re(e,t,!0);return n&&hs(l,n),St>0&&!o&&Ee&&(l.shapeFlag&6?Ee[Ee.indexOf(e)]=l:Ee.push(l)),l.patchFlag|=-2,l}if(xl(e)&&(e=e.__vccOpts),t){t=al(t);let{class:l,style:f}=t;l&&!ee(l)&&(t.class=qn(l)),Y(f)&&(Tr(f)&&!N(f)&&(f=ne({},f)),t.style=zn(f))}const i=ee(e)?1:Dr(e)?128:il(e)?64:Y(e)?4:L(e)?2:0;return ro(e,t,n,s,r,i,o,!0)}function al(e){return e?Tr(e)||hn in e?ne({},e):e:null}function Re(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?hl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&so(l),ref:t&&t.ref?n&&r?N(r)?r.concat(Qt(t)):[r,Qt(t)]:Qt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Re(e.ssContent),ssFallback:e.ssFallback&&Re(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function dl(e=" ",t=0){return ue(dn,null,e,t)}function Pc(e,t){const n=ue(Jt,null,e);return n.staticCount=t,n}function Fc(e="",t=!1){return t?(eo(),no(ye,null,e)):ue(ye,null,e)}function Oe(e){return e==null||typeof e=="boolean"?ue(ye):N(e)?ue(ge,null,e.slice()):typeof e=="object"?$e(e):ue(dn,null,String(e))}function $e(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Re(e)}function hs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(N(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),hs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(hn in t)?t._ctx=ce:r===3&&ce&&(ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else L(t)?(t={default:t,_ctx:ce},n=32):(t=String(t),s&64?(n=16,t=[dl(t)]):n=8);e.children=t,e.shapeFlag|=n}function hl(...e){const t={};for(let n=0;noe||ce;let gs,st,ks="__VUE_INSTANCE_SETTERS__";(st=On()[ks])||(st=On()[ks]=[]),st.push(e=>oe=e),gs=e=>{st.length>1?st.forEach(t=>t(e)):st[0](e)};const pt=e=>{gs(e),e.scope.on()},Ge=()=>{oe&&oe.scope.off(),gs(null)};function oo(e){return e.vnode.shapeFlag&4}let Rt=!1;function _l(e,t=!1){Rt=t;const{props:n,children:s}=e.vnode,r=oo(e);Zi(e,n,r,t),tl(e,s);const o=r?bl(e,t):void 0;return Rt=!1,o}function bl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=wr(new Proxy(e.ctx,ki));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?vl(e):null;pt(e),gt();const o=Ke(s,e,0,[e.props,r]);if(mt(),Ge(),lr(o)){if(o.then(Ge,Ge),t)return o.then(i=>{Vs(e,i,t)}).catch(i=>{ln(i,e,0)});e.asyncDep=o}else Vs(e,o,t)}else io(e,t)}function Vs(e,t,n){L(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Y(t)&&(e.setupState=Pr(t)),io(e,n)}let Ws;function io(e,t,n){const s=e.type;if(!e.render){if(!t&&Ws&&!s.render){const r=s.template||us(e).template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,u=ne(ne({isCustomElement:o,delimiters:l},i),f);s.render=Ws(r,u)}}e.render=s.render||Te}pt(e),gt(),Vi(e),mt(),Ge()}function yl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return de(e,"get","$attrs"),t[n]}}))}function vl(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return yl(e)},slots:e.slots,emit:e.emit,expose:t}}function pn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Pr(wr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Tt)return Tt[n](e)},has(t,n){return n in t||n in Tt}}))}function Bn(e,t=!0){return L(e)?e.displayName||e.name:e.name||t&&e.__name}function xl(e){return L(e)&&"__vccOpts"in e}const Cl=(e,t)=>mi(e,t,Rt);function El(e,t,n){const s=arguments.length;return s===2?Y(t)&&!N(t)?Nt(t)?ue(e,null,[t]):ue(e,t):ue(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Nt(n)&&(n=[n]),ue(e,t,n))}const Tl=Symbol.for("v-scx"),wl=()=>qt(Tl),Al="3.3.4",Ol="http://www.w3.org/2000/svg",Ye=typeof document<"u"?document:null,zs=Ye&&Ye.createElement("template"),Il={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?Ye.createElementNS(Ol,e):Ye.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Ye.createTextNode(e),createComment:e=>Ye.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ye.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{zs.innerHTML=s?`${e}`:e;const l=zs.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Pl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Fl(e,t,n){const s=e.style,r=ee(n);if(n&&!r){if(t&&!ee(t))for(const o in t)n[o]==null&&$n(s,o,"");for(const o in n)$n(s,o,n[o])}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const qs=/\s*!important$/;function $n(e,t,n){if(N(n))n.forEach(s=>$n(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ml(e,t);qs.test(n)?e.setProperty(et(s),n.replace(qs,""),"important"):e[s]=n}}const Js=["Webkit","Moz","ms"],En={};function Ml(e,t){const n=En[t];if(n)return n;let s=Pe(t);if(s!=="filter"&&s in e)return En[t]=s;s=rn(s);for(let r=0;rTn||(Hl.then(()=>Tn=0),Tn=Date.now());function $l(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;be(jl(s,n.value),t,5,[s])};return n.value=e,n.attached=Bl(),n}function jl(e,t){if(N(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Xs=/^on[a-z]/,Ul=(e,t,n,s,r=!1,o,i,l,f)=>{t==="class"?Pl(e,s,r):t==="style"?Fl(e,n,s):nn(t)?Kn(t)||Ll(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kl(e,t,s,r))?Nl(e,t,s,o,i,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Sl(e,t,s,r))};function Kl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Xs.test(t)&&L(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Xs.test(t)&&ee(n)?!1:t in e}const He="transition",yt="animation",lo=(e,{slots:t})=>El(Si,fo(e),t);lo.displayName="Transition";const co={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},kl=lo.props=ne({},$r,co),Je=(e,t=[])=>{N(e)?e.forEach(n=>n(...t)):e&&e(...t)},Zs=e=>e?N(e)?e.some(t=>t.length>1):e.length>1:!1;function fo(e){const t={};for(const P in e)P in co||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:f=o,appearActiveClass:u=i,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:w=`${n}-leave-to`}=e,D=Vl(r),O=D&&D[0],K=D&&D[1],{onBeforeEnter:V,onEnter:T,onEnterCancelled:I,onLeave:v,onLeaveCancelled:H,onBeforeAppear:q=V,onAppear:W=T,onAppearCancelled:S=I}=t,k=(P,G,he)=>{Be(P,G?d:l),Be(P,G?u:i),he&&he()},$=(P,G)=>{P._isLeaving=!1,Be(P,p),Be(P,w),Be(P,g),G&&G()},X=P=>(G,he)=>{const _t=P?W:T,re=()=>k(G,P,he);Je(_t,[G,re]),Gs(()=>{Be(G,P?f:o),Me(G,P?d:l),Zs(_t)||er(G,s,O,re)})};return ne(t,{onBeforeEnter(P){Je(V,[P]),Me(P,o),Me(P,i)},onBeforeAppear(P){Je(q,[P]),Me(P,f),Me(P,u)},onEnter:X(!1),onAppear:X(!0),onLeave(P,G){P._isLeaving=!0;const he=()=>$(P,G);Me(P,p),ao(),Me(P,g),Gs(()=>{P._isLeaving&&(Be(P,p),Me(P,w),Zs(v)||er(P,s,K,he))}),Je(v,[P,he])},onEnterCancelled(P){k(P,!1),Je(I,[P])},onAppearCancelled(P){k(P,!0),Je(S,[P])},onLeaveCancelled(P){$(P),Je(H,[P])}})}function Vl(e){if(e==null)return null;if(Y(e))return[wn(e.enter),wn(e.leave)];{const t=wn(e);return[t,t]}}function wn(e){return Ao(e)}function Me(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Be(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Gs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Wl=0;function er(e,t,n,s){const r=e._endId=++Wl,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:f}=uo(e,t);if(!i)return s();const u=i+"end";let d=0;const p=()=>{e.removeEventListener(u,g),o()},g=w=>{w.target===e&&++d>=f&&p()};setTimeout(()=>{d(n[D]||"").split(", "),r=s(`${He}Delay`),o=s(`${He}Duration`),i=tr(r,o),l=s(`${yt}Delay`),f=s(`${yt}Duration`),u=tr(l,f);let d=null,p=0,g=0;t===He?i>0&&(d=He,p=i,g=o.length):t===yt?u>0&&(d=yt,p=u,g=f.length):(p=Math.max(i,u),d=p>0?i>u?He:yt:null,g=d?d===He?o.length:f.length:0);const w=d===He&&/\b(transform|all)(,|$)/.test(s(`${He}Property`).toString());return{type:d,timeout:p,propCount:g,hasTransform:w}}function tr(e,t){for(;e.lengthnr(n)+nr(e[s])))}function nr(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function ao(){return document.body.offsetHeight}const ho=new WeakMap,po=new WeakMap,go={name:"TransitionGroup",props:ne({},kl,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ps(),s=Br();let r,o;return ls(()=>{if(!r.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!Yl(r[0].el,n.vnode.el,i))return;r.forEach(ql),r.forEach(Jl);const l=r.filter(Ql);ao(),l.forEach(f=>{const u=f.el,d=u.style;Me(u,i),d.transform=d.webkitTransform=d.transitionDuration="";const p=u._moveCb=g=>{g&&g.target!==u||(!g||/transform$/.test(g.propertyName))&&(u.removeEventListener("transitionend",p),u._moveCb=null,Be(u,i))};u.addEventListener("transitionend",p)})}),()=>{const i=j(e),l=fo(i);let f=i.tag||ge;r=o,o=t.default?os(t.default()):[];for(let u=0;udelete e.mode;go.props;const Mc=go;function ql(e){const t=e.el;t._moveCb&&t._moveCb(),t._enterCb&&t._enterCb()}function Jl(e){po.set(e,e.el.getBoundingClientRect())}function Ql(e){const t=ho.get(e),n=po.get(e),s=t.left-n.left,r=t.top-n.top;if(s||r){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${s}px,${r}px)`,o.transitionDuration="0s",e}}function Yl(e,t,n){const s=e.cloneNode();e._vtc&&e._vtc.forEach(i=>{i.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(i=>i&&s.classList.add(i)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:o}=uo(s);return r.removeChild(s),o}const sr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return N(t)?n=>ct(t,n):t};function Xl(e){e.target.composing=!0}function rr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Sc={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e._assign=sr(r);const o=s||r.props&&r.props.type==="number";ot(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=An(l)),e._assign(l)}),n&&ot(e,"change",()=>{e.value=e.value.trim()}),t||(ot(e,"compositionstart",Xl),ot(e,"compositionend",rr),ot(e,"change",rr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:s,number:r}},o){if(e._assign=sr(o),e.composing||document.activeElement===e&&e.type!=="range"&&(n||s&&e.value.trim()===t||(r||e.type==="number")&&An(e.value)===t))return;const i=t??"";e.value!==i&&(e.value=i)}},Zl=["ctrl","shift","alt","meta"],Gl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Zl.some(n=>e[`${n}Key`]&&!t.includes(n))},Nc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=et(n.key);if(t.some(r=>r===s||ec[r]===s))return e(n)},Lc={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):vt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),vt(e,!0),s.enter(e)):s.leave(e,()=>{vt(e,!1)}):vt(e,t))},beforeUnmount(e,{value:t}){vt(e,t)}};function vt(e,t){e.style.display=t?e._vod:"none"}const tc=ne({patchProp:Ul},Il);let or;function nc(){return or||(or=sl(tc))}const Dc=(...e)=>{const t=nc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=sc(s);if(!r)return;const o=t._component;!L(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function sc(e){return ee(e)?document.querySelector(e):e}function rc(){return mo().__VUE_DEVTOOLS_GLOBAL_HOOK__}function mo(){return typeof navigator<"u"&&typeof window<"u"?window:typeof global<"u"?global:{}}const oc=typeof Proxy=="function",ic="devtools-plugin:setup",lc="plugin:settings:set";let rt,jn;function cc(){var e;return rt!==void 0||(typeof window<"u"&&window.performance?(rt=!0,jn=window.performance):typeof global<"u"&&(!((e=global.perf_hooks)===null||e===void 0)&&e.performance)?(rt=!0,jn=global.perf_hooks.performance):rt=!1),rt}function fc(){return cc()?jn.now():Date.now()}class uc{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const s={};if(t.settings)for(const i in t.settings){const l=t.settings[i];s[i]=l.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let o=Object.assign({},s);try{const i=localStorage.getItem(r),l=JSON.parse(i);Object.assign(o,l)}catch{}this.fallbacks={getSettings(){return o},setSettings(i){try{localStorage.setItem(r,JSON.stringify(i))}catch{}o=i},now(){return fc()}},n&&n.on(lc,(i,l)=>{i===this.plugin.id&&this.fallbacks.setSettings(l)}),this.proxiedOn=new Proxy({},{get:(i,l)=>this.target?this.target.on[l]:(...f)=>{this.onQueue.push({method:l,args:f})}}),this.proxiedTarget=new Proxy({},{get:(i,l)=>this.target?this.target[l]:l==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(l)?(...f)=>(this.targetQueue.push({method:l,args:f,resolve:()=>{}}),this.fallbacks[l](...f)):(...f)=>new Promise(u=>{this.targetQueue.push({method:l,args:f,resolve:u})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function Hc(e,t){const n=e,s=mo(),r=rc(),o=oc&&n.enableEarlyProxy;if(r&&(s.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!o))r.emit(ic,e,t);else{const i=o?new uc(n,r):null;(s.__VUE_DEVTOOLS_PLUGINS__=s.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:i}),i&&t(i.proxiedTarget)}}export{Hc as $,Re as A,wr as B,ye as C,Gn as D,Tr as E,ge as F,j as G,Kr as H,zn as I,Oc as J,qn as K,ac as L,Sc as M,Fc as N,Rc as O,no as P,Ec as Q,pc as R,Ac as S,lo as T,ue as U,mc as V,_c as W,Er as X,hc as Y,ai as Z,dc as _,ro as a,Ti as a0,Nc as a1,Cc as a2,Tc as a3,xc as a4,Dc as a5,wc as a6,Pc as b,Ic as c,vc as d,dl as e,Nt as f,ps as g,cs as h,qt as i,is as j,Hi as k,Ri as l,Li as m,Cl as n,eo as o,Xi as p,bc as q,fi as r,El as s,Mc as t,gc as u,Lc as v,zt as w,hl as x,bi as y,yc as z}; diff --git a/web/dist/assets/Anouncement-03e2840f.js b/web/dist/assets/Anouncement-03e2840f.js new file mode 100644 index 00000000..989e713b --- /dev/null +++ b/web/dist/assets/Anouncement-03e2840f.js @@ -0,0 +1 @@ +import{_ as C}from"./post-skeleton-8710588f.js";import{_ as F}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{u as z}from"./vuex-4d2f7b35.js";import{b as A}from"./vue-router-29e6667f.js";import{a as P}from"./formatTime-000dbebb.js";import{d as R,r as n,j as S,c as o,U as a,a0 as p,o as e,Z as u,N as l,F as V,a3 as I,P as L,a as s,L as _,K as U}from"./@vue-d002002f.js";import{F as j,G as q,I as D,H as E}from"./naive-ui-88b48034.js";import{_ as G}from"./index-0f3021a1.js";import"./vooks-77bdadbd.js";import"./evtd-b614532e.js";import"./@vicons-4022100b.js";import"./moment-b7869f98.js";import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./@css-render-6b6cdab1.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const H={key:0,class:"pagination-wrap"},K={key:0,class:"skeleton-wrap"},M={key:1},O={key:0,class:"empty-wrap"},T={class:"bill-line"},Z=R({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return S(()=>{}),(m,J)=>{const y=F,k=q,x=C,w=D,N=E,B=j;return e(),o("div",null,[a(y,{title:"公告"}),a(B,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",H,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",K,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",M,[r.value.length===0?(e(),o("div",O,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(V,null,I(r.value,t=>(e(),L(N,{key:t.id},{default:p(()=>[s("div",T,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:U({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(P)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=G(Z,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; diff --git a/web/dist/assets/Anouncement-89915a48.js b/web/dist/assets/Anouncement-89915a48.js deleted file mode 100644 index 4a4ae2fe..00000000 --- a/web/dist/assets/Anouncement-89915a48.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as F}from"./post-skeleton-fdd699ea.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{u as z}from"./vuex-d28e9067.js";import{b as A}from"./vue-router-88cc84d1.js";import{a as R}from"./formatTime-000dbebb.js";import{d as S,r as n,j as V,c as o,L as a,$ as p,o as e,Y as u,O as l,F as I,a2 as L,K as M,a as s,M as _,a4 as O}from"./@vue-ca177dbe.js";import{F as P,G as $,I as j,H as q}from"./naive-ui-2035804c.js";import{_ as D}from"./index-71354138.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./@vicons-6d35273b.js";import"./moment-b7869f98.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const E={key:0,class:"pagination-wrap"},G={key:0,class:"skeleton-wrap"},H={key:1},K={key:0,class:"empty-wrap"},T={class:"bill-line"},U=S({__name:"Anouncement",setup(Y){const d=z(),g=A(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return V(()=>{}),(m,J)=>{const y=N,k=$,x=F,w=j,B=q,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",E,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",G,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",H,[r.value.length===0?(e(),o("div",K,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",T,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=D(U,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; diff --git a/web/dist/assets/Collection-2dd501b0.js b/web/dist/assets/Collection-2dd501b0.js deleted file mode 100644 index fcb04f11..00000000 --- a/web/dist/assets/Collection-2dd501b0.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as z}from"./post-item.vue_vue_type_style_index_0_lang-09a3d19d.js";import{_ as B}from"./post-skeleton-fdd699ea.js";import{_ as F}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{u as P}from"./vuex-d28e9067.js";import{b as R,u as $}from"./vue-router-88cc84d1.js";import{K as b,_ as I}from"./index-71354138.js";import{d as K,r as a,j as L,c as e,L as n,$ as m,Y as M,O as u,o as t,F as N,a2 as S,K as V}from"./@vue-ca177dbe.js";import{F as j,G as q,I as E,H as G}from"./naive-ui-2035804c.js";import"./content-3f1d28f2.js";import"./@vicons-6d35273b.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const H={key:0,class:"skeleton-wrap"},O={key:1},T={key:0,class:"empty-wrap"},U={key:0,class:"pagination-wrap"},Y=K({__name:"Collection",setup(A){const d=P(),g=R();$();const s=a(!1),p=a([]),_=a(+g.query.p||1),i=a(20),r=a(0),l=()=>{s.value=!0,b({page:_.value,page_size:i.value}).then(o=>{s.value=!1,p.value=o.list,r.value=Math.ceil(o.pager.total_rows/i.value),window.scrollTo(0,0)}).catch(o=>{s.value=!1})},v=o=>{_.value=o,l()};return L(()=>{l()}),(o,D)=>{const f=F,h=B,k=E,y=z,w=G,C=j,x=q;return t(),e("div",null,[n(f,{title:"收藏"}),n(C,{class:"main-content-wrap",bordered:""},{default:m(()=>[s.value?(t(),e("div",H,[n(h,{num:i.value},null,8,["num"])])):(t(),e("div",O,[p.value.length===0?(t(),e("div",T,[n(k,{size:"large",description:"暂无数据"})])):u("",!0),(t(!0),e(N,null,S(p.value,c=>(t(),V(w,{key:c.id},{default:m(()=>[n(y,{post:c},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),r.value>0?(t(),e("div",U,[n(x,{page:_.value,"onUpdate:page":v,"page-slot":M(d).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):u("",!0)])}}});const Bt=I(Y,[["__scopeId","data-v-1e709369"]]);export{Bt as default}; diff --git a/web/dist/assets/Collection-d2c48dce.js b/web/dist/assets/Collection-d2c48dce.js new file mode 100644 index 00000000..f96f3d97 --- /dev/null +++ b/web/dist/assets/Collection-d2c48dce.js @@ -0,0 +1 @@ +import{_ as P}from"./post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js";import{_ as z}from"./post-skeleton-8710588f.js";import{_ as B}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{u as F}from"./vuex-4d2f7b35.js";import{b as N,u as R}from"./vue-router-29e6667f.js";import{K as b,_ as I}from"./index-0f3021a1.js";import{d as M,r as a,j as S,c as e,U as n,a0 as m,Z as U,N as u,o as t,F as V,a3 as $,P as j}from"./@vue-d002002f.js";import{F as q,G as E,I as G,H}from"./naive-ui-88b48034.js";import"./content-b5ab8047.js";import"./@vicons-4022100b.js";import"./paopao-video-player-d47e9bf6.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-77bdadbd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./@css-render-6b6cdab1.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const K={key:0,class:"skeleton-wrap"},L={key:1},T={key:0,class:"empty-wrap"},Z={key:0,class:"pagination-wrap"},A=M({__name:"Collection",setup(D){const d=F(),g=N();R();const s=a(!1),p=a([]),_=a(+g.query.p||1),i=a(20),r=a(0),l=()=>{s.value=!0,b({page:_.value,page_size:i.value}).then(o=>{s.value=!1,p.value=o.list,r.value=Math.ceil(o.pager.total_rows/i.value),window.scrollTo(0,0)}).catch(o=>{s.value=!1})},v=o=>{_.value=o,l()};return S(()=>{l()}),(o,J)=>{const f=B,h=z,k=G,y=P,w=H,C=q,x=E;return t(),e("div",null,[n(f,{title:"收藏"}),n(C,{class:"main-content-wrap",bordered:""},{default:m(()=>[s.value?(t(),e("div",K,[n(h,{num:i.value},null,8,["num"])])):(t(),e("div",L,[p.value.length===0?(t(),e("div",T,[n(k,{size:"large",description:"暂无数据"})])):u("",!0),(t(!0),e(V,null,$(p.value,c=>(t(),j(w,{key:c.id},{default:m(()=>[n(y,{post:c},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),r.value>0?(t(),e("div",Z,[n(x,{page:_.value,"onUpdate:page":v,"page-slot":U(d).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):u("",!0)])}}});const zt=I(A,[["__scopeId","data-v-1e709369"]]);export{zt as default}; diff --git a/web/dist/assets/Contacts-11d4e104.js b/web/dist/assets/Contacts-11d4e104.js new file mode 100644 index 00000000..7321d822 --- /dev/null +++ b/web/dist/assets/Contacts-11d4e104.js @@ -0,0 +1 @@ +import{u as F,b as R}from"./vue-router-29e6667f.js";import{d as k,o as e,c as n,a as s,U as a,L as d,r as c,j as S,a0 as f,Z as V,N as h,F as y,a3 as q,P as x}from"./@vue-d002002f.js";import{o as D,F as L,G as M,I as T,H as j}from"./naive-ui-88b48034.js";import{_ as b,N as E}from"./index-0f3021a1.js";import{_ as G}from"./post-skeleton-8710588f.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{u as Z}from"./vuex-4d2f7b35.js";import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./evtd-b614532e.js";import"./@css-render-6b6cdab1.js";import"./vooks-77bdadbd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./@vicons-4022100b.js";/* empty css */const A={class:"avatar"},J={class:"base-info"},K={class:"username"},O={class:"uid"},Q=k({__name:"contact-item",props:{contact:{}},setup(C){const l=F(),u=t=>{l.push({name:"user",query:{username:t}})};return(t,o)=>{const _=D;return e(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=r=>u(t.contact.username))},[s("div",A,[a(_,{size:"large",src:t.contact.avatar},null,8,["src"])]),s("div",J,[s("div",K,[s("strong",null,d(t.contact.nickname),1),s("span",null," @"+d(t.contact.username),1)]),s("div",O,"UID. "+d(t.contact.user_id),1)])])}}});const W=b(Q,[["__scopeId","data-v-08ee9b2e"]]),X={key:0,class:"skeleton-wrap"},Y={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=k({__name:"Contacts",setup(C){const l=Z(),u=R(),t=c(!1),o=c([]),_=c(+u.query.p||1),r=c(20),m=c(0),w=i=>{_.value=i,v()};S(()=>{v()});const v=(i=!1)=>{o.value.length===0&&(t.value=!0),E({page:_.value,page_size:r.value}).then(p=>{t.value=!1,o.value=p.list,m.value=Math.ceil(p.pager.total_rows/r.value),i&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(p=>{t.value=!1})};return(i,p)=>{const $=H,I=G,N=T,z=W,B=j,P=L,U=M;return e(),n(y,null,[s("div",null,[a($,{title:"好友"}),a(P,{class:"main-content-wrap",bordered:""},{default:f(()=>[t.value?(e(),n("div",X,[a(I,{num:r.value},null,8,["num"])])):(e(),n("div",Y,[o.value.length===0?(e(),n("div",tt,[a(N,{size:"large",description:"暂无数据"})])):h("",!0),(e(!0),n(y,null,q(o.value,g=>(e(),x(B,{key:g.user_id},{default:f(()=>[a(z,{contact:g},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),m.value>0?(e(),n("div",et,[a(U,{page:_.value,"onUpdate:page":w,"page-slot":V(l).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):h("",!0)],64)}}});const Nt=b(ot,[["__scopeId","data-v-3b2bf978"]]);export{Nt as default}; diff --git a/web/dist/assets/Contacts-212adf88.js b/web/dist/assets/Contacts-212adf88.js deleted file mode 100644 index e76d60a2..00000000 --- a/web/dist/assets/Contacts-212adf88.js +++ /dev/null @@ -1 +0,0 @@ -import{u as M,b as P}from"./vue-router-88cc84d1.js";import{d as b,o as t,c as n,a,L as s,M as v,r as i,j as R,$ as h,Y as S,O as y,F as k,a2 as U,K as V}from"./@vue-ca177dbe.js";import{o as q,F as D,G as L,I as T,H as j}from"./naive-ui-2035804c.js";import{_ as C,N as E}from"./index-71354138.js";import{_ as G}from"./post-skeleton-fdd699ea.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{u as K}from"./vuex-d28e9067.js";import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./@vicons-6d35273b.js";/* empty css */const O={class:"avatar"},Y={class:"base-info"},A={class:"username"},J={class:"uid"},Q=b({__name:"contact-item",props:{contact:null},setup(c){const p=M(),m=e=>{p.push({name:"user",query:{username:e}})};return(e,o)=>{const _=q;return t(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=l=>m(c.contact.username))},[a("div",O,[s(_,{size:"large",src:c.contact.avatar},null,8,["src"])]),a("div",Y,[a("div",A,[a("strong",null,v(c.contact.nickname),1),a("span",null," @"+v(c.contact.username),1)]),a("div",J,"UID. "+v(c.contact.user_id),1)])])}}});const W=C(Q,[["__scopeId","data-v-08ee9b2e"]]),X={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=b({__name:"Contacts",setup(c){const p=K(),m=P(),e=i(!1),o=i([]),_=i(+m.query.p||1),l=i(20),d=i(0),$=r=>{_.value=r,g()};R(()=>{g()});const g=(r=!1)=>{o.value.length===0&&(e.value=!0),E({page:_.value,page_size:l.value}).then(u=>{e.value=!1,o.value=u.list,d.value=Math.ceil(u.pager.total_rows/l.value),r&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(u=>{e.value=!1})};return(r,u)=>{const w=H,x=G,I=T,z=W,B=j,N=D,F=L;return t(),n(k,null,[a("div",null,[s(w,{title:"好友"}),s(N,{class:"main-content-wrap",bordered:""},{default:h(()=>[e.value?(t(),n("div",X,[s(x,{num:l.value},null,8,["num"])])):(t(),n("div",Z,[o.value.length===0?(t(),n("div",tt,[s(I,{size:"large",description:"暂无数据"})])):y("",!0),(t(!0),n(k,null,U(o.value,f=>(t(),V(B,{key:f.user_id},{default:h(()=>[s(z,{contact:f},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),d.value>0?(t(),n("div",et,[s(F,{page:_.value,"onUpdate:page":$,"page-slot":S(p).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):y("",!0)],64)}}});const It=C(ot,[["__scopeId","data-v-3b2bf978"]]);export{It as default}; diff --git a/web/dist/assets/Home-37cbe774.js b/web/dist/assets/Home-37cbe774.js deleted file mode 100644 index fa19a0a9..00000000 --- a/web/dist/assets/Home-37cbe774.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as $e}from"./post-item.vue_vue_type_style_index_0_lang-09a3d19d.js";import{_ as qe}from"./post-skeleton-fdd699ea.js";import{d as Q,r as l,j as X,o as _,c as y,Y as T,a as q,L as t,$ as s,K as N,O as $,a0 as G,e as E,M as J,F as Y,a2 as W,n as xe,w as Ie}from"./@vue-ca177dbe.js";import{u as ee}from"./vuex-d28e9067.js";import{l as Z}from"./lodash-94eb5868.js";import{g as ze,a as Ue,c as Re,b as Ae,_ as Ee}from"./index-71354138.js";import{p as Le}from"./content-3f1d28f2.js";import{V as z,P as S}from"./IEnum-a180d93e.js";import{I as Pe,V as Se,A as Ne,d as Ve,E as Fe}from"./@vicons-6d35273b.js";import{o as Be,v as Oe,j as Me,e as De,w as je,x as He,y as Ke,z as Ge,A as Je,B as Ze,C as Qe,a as Xe,D as Ye,E as We,F as et,G as tt,H as at,I as ot}from"./naive-ui-2035804c.js";import{_ as nt}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{b as st,u as lt}from"./vue-router-88cc84d1.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-db921567.js";const it=V=>{const x=new FileReader,i=p=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(p),I=()=>{const p=new Uint8Array(x.result).subarray(0,4);let m="";for(let c=0;c{x.onloadend=()=>{const c=V.type;p(c===""||c==="application/octet-stream"?I():i(c))},x.readAsArrayBuffer(V.slice(0,4))})},rt={key:0,class:"compose-wrap"},ut={class:"compose-line"},ct={class:"compose-user"},pt={class:"compose-line compose-options"},_t={class:"attachment"},dt={class:"submit-wrap"},mt={class:"attachment-list-wrap"},vt={key:0,class:"attachment-price-wrap"},gt=q("span",null," 附件价格¥",-1),ft={key:0,class:"eye-wrap"},yt={key:1,class:"link-wrap"},ht={key:1,class:"compose-wrap"},wt=q("div",{class:"login-wrap"},[q("span",{class:"login-banner"}," 登录后,精彩更多")],-1),bt={key:0,class:"login-only-wrap"},kt={key:1,class:"login-wrap"},Ct=Q({__name:"compose",emits:["post-success"],setup(V,{emit:x}){const i=ee(),I=l([]),p=l(!1),m=l(!1),c=l(!1),w=l(!1),b=l(""),U=l([]),A=l(),L=l(0),g=l("public/image"),r=l([]),h=l([]),k=l([]),f=l([]),C=l(z.FRIEND),R=l(z.FRIEND),O=[{value:z.PUBLIC,label:"公开"},{value:z.PRIVATE,label:"私密"},{value:z.FRIEND,label:"好友可见"}],P=+"300",F=l("true".toLowerCase()==="true"),M=l("true".toLowerCase()==="true"),B=l("true".toLowerCase()==="true"),te=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),oe="/v1/attachment",K=l(),ne=()=>{c.value=!c.value,c.value&&w.value&&(w.value=!1)},se=()=>{w.value=!w.value,w.value&&c.value&&(c.value=!1)},le=Z.debounce(a=>{ze({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,p.value=!1}).catch(e=>{p.value=!1})},200),ie=Z.debounce(a=>{Ue({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,p.value=!1}).catch(e=>{p.value=!1})},200),re=(a,e)=>{p.value||(p.value=!0,e==="@"?le(a):ie(a))},ue=a=>{a.length>P||(b.value=a)},D=a=>{g.value=a},ce=a=>{r.value=a},pe=async a=>{var e,n,o,u,v;return g.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=a.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):g.value==="image"&&((n=a.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):g.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=a.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):g.value==="public/video"&&((u=a.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):g.value==="attachment"&&!await it(a.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):g.value==="attachment"&&((v=a.file.file)==null?void 0:v.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(g.value==="public/image"&&h.value.push({id:a.id,content:o.data.content}),g.value==="public/video"&&k.value.push({id:a.id,content:o.data.content}),g.value==="attachment"&&f.value.push({id:a.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let u=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(v=>{u+=":"+v}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},me=({file:a})=>{let e=h.value.findIndex(n=>n.id===a.id);e>-1&&h.value.splice(e,1),e=k.value.findIndex(n=>n.id===a.id),e>-1&&k.value.splice(e,1),e=f.value.findIndex(n=>n.id===a.id),e>-1&&f.value.splice(e,1)},ve=()=>{if(b.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:a,users:e}=Le(b.value);const n=[];let o=100;n.push({content:b.value,type:S.TEXT,sort:o}),h.value.map(u=>{o++,n.push({content:u.content,type:S.IMAGEURL,sort:o})}),k.value.map(u=>{o++,n.push({content:u.content,type:S.VIDEOURL,sort:o})}),f.value.map(u=>{o++,n.push({content:u.content,type:S.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(u=>{o++,n.push({content:u,type:S.LINKURL,sort:o})}),m.value=!0,Re({contents:n,tags:Array.from(new Set(a)),users:Array.from(new Set(e)),attachment_price:+L.value*100,visibility:C.value}).then(u=>{var v;window.$message.success("发布成功"),m.value=!1,x("post-success",u),c.value=!1,w.value=!1,(v=A.value)==null||v.clear(),r.value=[],b.value="",U.value=[],h.value=[],k.value=[],f.value=[],C.value=R.value}).catch(u=>{m.value=!1})},j=a=>{i.commit("triggerAuth",!0),i.commit("triggerAuthKey",a)};return X(()=>{"friend".toLowerCase()==="friend"?R.value=z.FRIEND:"friend".toLowerCase()==="public"?R.value=z.PUBLIC:R.value=z.PRIVATE,C.value=R.value,K.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(a,e)=>{const n=Be,o=Oe,u=Me,v=De,H=je,ge=He,fe=Ke,ye=Ge,he=Je,we=Ze,be=Qe,ke=Xe,Ce=Ye,Te=We;return _(),y("div",null,[T(i).state.userInfo.id>0?(_(),y("div",rt,[q("div",ut,[q("div",ct,[t(n,{round:"",size:30,src:T(i).state.userInfo.avatar},null,8,["src"])]),t(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:p.value,value:b.value,prefix:["@","#"],options:I.value,onSearch:re,"onUpdate:value":ue,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),t(we,{ref_key:"uploadRef",ref:A,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:K.value},data:{type:g.value},onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[q("div",pt,[q("div",_t,[t(H,{abstract:""},{default:s(({handleClick:d})=>[t(v,{disabled:r.value.length>0&&g.value==="public/video"||r.value.length===9,onClick:()=>{D("public/image"),d()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(T(Pe))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),M.value?(_(),N(H,{key:0,abstract:""},{default:s(({handleClick:d})=>[t(v,{disabled:r.value.length>0&&g.value!=="public/video"||r.value.length===9,onClick:()=>{D("public/video"),d()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(T(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):$("",!0),B.value?(_(),N(H,{key:1,abstract:""},{default:s(({handleClick:d})=>[t(v,{disabled:r.value.length>0&&g.value==="public/video"||r.value.length===9,onClick:()=>{D("attachment"),d()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(T(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):$("",!0),t(v,{quaternary:"",circle:"",type:"primary",onClick:G(ne,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(T(Ve))]),_:1})]),_:1},8,["onClick"]),ae.value?(_(),N(v,{key:2,quaternary:"",circle:"",type:"primary",onClick:G(se,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(T(Fe))]),_:1})]),_:1},8,["onClick"])):$("",!0)]),q("div",dt,[t(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[t(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:b.value.length/T(P)*100},null,8,["percentage"])]),default:s(()=>[E(" "+J(b.value.length)+" / "+J(T(P)),1)]),_:1}),t(v,{loading:m.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[E(" 发布 ")]),_:1},8,["loading"])])]),q("div",mt,[t(ye),f.value.length>0?(_(),y("div",vt,[te.value?(_(),N(he,{key:0,value:L.value,"onUpdate:value":e[0]||(e[0]=d=>L.value=d),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[gt]),_:1},8,["value"])):$("",!0)])):$("",!0)])]),_:1},8,["headers","data"]),w.value?(_(),y("div",ft,[t(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=d=>C.value=d),name:"radiogroup"},{default:s(()=>[t(ke,null,{default:s(()=>[(_(),y(Y,null,W(O,d=>t(be,{key:d.value,value:d.value,label:d.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):$("",!0),c.value?(_(),y("div",yt,[t(Te,{value:U.value,"onUpdate:value":e[2]||(e[2]=d=>U.value=d),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[E(" 创建链接 ")]),_:1},8,["value"])])):$("",!0)])):(_(),y("div",ht,[wt,F.value?$("",!0):(_(),y("div",bt,[t(v,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=d=>j("signin"))},{default:s(()=>[E(" 登录 ")]),_:1})])),F.value?(_(),y("div",kt,[t(v,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=d=>j("signin"))},{default:s(()=>[E(" 登录 ")]),_:1}),t(v,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=d=>j("signup"))},{default:s(()=>[E(" 注册 ")]),_:1})])):$("",!0)]))])}}});const Tt={key:0,class:"skeleton-wrap"},$t={key:1},qt={key:0,class:"empty-wrap"},xt={key:0,class:"pagination-wrap"},It=Q({__name:"Home",setup(V){const x=ee(),i=st(),I=lt(),p=l(!1),m=l([]),c=l(+i.query.p||1),w=l(20),b=l(0),U=xe(()=>{let r="泡泡广场";return i.query&&i.query.q&&(i.query.t&&i.query.t==="tag"?r="#"+decodeURIComponent(i.query.q):r="搜索: "+decodeURIComponent(i.query.q)),r}),A=()=>{p.value=!0,Ae({query:i.query.q?decodeURIComponent(i.query.q):null,type:i.query.t,page:c.value,page_size:w.value}).then(r=>{p.value=!1,m.value=r.list,b.value=Math.ceil(r.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(r=>{p.value=!1})},L=r=>{if(c.value!=1){I.push({name:"post",query:{id:r.id}});return}let h=[],k=m.value.length;k==w.value&&k--;for(var f=0;f{I.push({name:"home",query:{...i.query,p:r}})};return X(()=>{A()}),Ie(()=>({path:i.path,query:i.query,refresh:x.state.refresh}),(r,h)=>{if(r.refresh!==h.refresh){c.value=+i.query.p||1,setTimeout(()=>{A()},0);return}h.path!=="/post"&&r.path==="/"&&(c.value=+i.query.p||1,setTimeout(()=>{A()},0))}),(r,h)=>{const k=nt,f=Ct,C=at,R=qe,O=ot,P=$e,F=et,M=tt;return _(),y("div",null,[t(k,{title:T(U)},null,8,["title"]),t(F,{class:"main-content-wrap",bordered:""},{default:s(()=>[t(C,null,{default:s(()=>[t(f,{onPostSuccess:L})]),_:1}),p.value?(_(),y("div",Tt,[t(R,{num:w.value},null,8,["num"])])):(_(),y("div",$t,[m.value.length===0?(_(),y("div",qt,[t(O,{size:"large",description:"暂无数据"})])):$("",!0),(_(!0),y(Y,null,W(m.value,B=>(_(),N(C,{key:B.id},{default:s(()=>[t(P,{post:B},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),b.value>0?(_(),y("div",xt,[t(M,{page:c.value,"onUpdate:page":g,"page-slot":T(x).state.collapsedRight?5:8,"page-count":b.value},null,8,["page","page-slot","page-count"])])):$("",!0)])}}});const ia=Ee(It,[["__scopeId","data-v-936146f2"]]);export{ia as default}; diff --git a/web/dist/assets/Home-95daf6e0.js b/web/dist/assets/Home-95daf6e0.js new file mode 100644 index 00000000..f2f8dfb8 --- /dev/null +++ b/web/dist/assets/Home-95daf6e0.js @@ -0,0 +1 @@ +import{_ as qe}from"./post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js";import{_ as $e}from"./post-skeleton-8710588f.js";import{d as Q,r as l,j as X,o as _,c as y,Z as q,a as $,U as t,a0 as s,P as N,N as T,a1 as K,e as E,L as Z,F as W,a3 as Y,n as xe,w as Ie}from"./@vue-d002002f.js";import{u as ee}from"./vuex-4d2f7b35.js";import{l as J}from"./lodash-94eb5868.js";import{g as Ue,a as ze,c as Re,b as Ae,_ as Ee}from"./index-0f3021a1.js";import{p as Pe}from"./content-b5ab8047.js";import{V as U,P as S}from"./IEnum-a180d93e.js";import{I as Le,V as Se,A as Ne,d as Ve,E as Fe}from"./@vicons-4022100b.js";import{o as Be,v as Oe,j as Me,e as De,w as je,x as He,y as Ge,z as Ke,A as Ze,B as Je,C as Qe,a as Xe,D as We,E as Ye,F as et,G as tt,H as at,I as ot}from"./naive-ui-88b48034.js";import{_ as nt}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{b as st,u as lt}from"./vue-router-29e6667f.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./evtd-b614532e.js";import"./@css-render-6b6cdab1.js";import"./vooks-77bdadbd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-d47e9bf6.js";const it=V=>{const x=new FileReader,i=p=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(p),I=()=>{const p=new Uint8Array(x.result).subarray(0,4);let m="";for(let c=0;c{x.onloadend=()=>{const c=V.type;p(c===""||c==="application/octet-stream"?I():i(c))},x.readAsArrayBuffer(V.slice(0,4))})},rt={key:0,class:"compose-wrap"},ut={class:"compose-line"},ct={class:"compose-user"},pt={class:"compose-line compose-options"},_t={class:"attachment"},dt={class:"submit-wrap"},mt={class:"attachment-list-wrap"},vt={key:0,class:"attachment-price-wrap"},gt=$("span",null," 附件价格¥",-1),ft={key:0,class:"eye-wrap"},yt={key:1,class:"link-wrap"},ht={key:1,class:"compose-wrap"},wt=$("div",{class:"login-wrap"},[$("span",{class:"login-banner"}," 登录后,精彩更多")],-1),bt={key:0,class:"login-only-wrap"},kt={key:1,class:"login-wrap"},Ct=Q({__name:"compose",emits:["post-success"],setup(V,{emit:x}){const i=ee(),I=l([]),p=l(!1),m=l(!1),c=l(!1),w=l(!1),b=l(""),z=l([]),A=l(),P=l(0),g=l("public/image"),r=l([]),h=l([]),k=l([]),f=l([]),C=l(U.FRIEND),R=l(U.FRIEND),O=[{value:U.PUBLIC,label:"公开"},{value:U.PRIVATE,label:"私密"},{value:U.FRIEND,label:"好友可见"}],L=+"300",F=l("true".toLowerCase()==="true"),M=l("true".toLowerCase()==="true"),B=l("true".toLowerCase()==="true"),te=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),oe="/v1/attachment",G=l(),ne=()=>{c.value=!c.value,c.value&&w.value&&(w.value=!1)},se=()=>{w.value=!w.value,w.value&&c.value&&(c.value=!1)},le=J.debounce(a=>{Ue({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,p.value=!1}).catch(e=>{p.value=!1})},200),ie=J.debounce(a=>{ze({k:a}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,p.value=!1}).catch(e=>{p.value=!1})},200),re=(a,e)=>{p.value||(p.value=!0,e==="@"?le(a):ie(a))},ue=a=>{a.length>L||(b.value=a)},D=a=>{g.value=a},ce=a=>{r.value=a},pe=async a=>{var e,n,o,u,v;return g.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=a.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):g.value==="image"&&((n=a.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):g.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=a.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):g.value==="public/video"&&((u=a.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):g.value==="attachment"&&!await it(a.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):g.value==="attachment"&&((v=a.file.file)==null?void 0:v.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(g.value==="public/image"&&h.value.push({id:a.id,content:o.data.content}),g.value==="public/video"&&k.value.push({id:a.id,content:o.data.content}),g.value==="attachment"&&f.value.push({id:a.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:a,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let u=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(v=>{u+=":"+v}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},me=({file:a})=>{let e=h.value.findIndex(n=>n.id===a.id);e>-1&&h.value.splice(e,1),e=k.value.findIndex(n=>n.id===a.id),e>-1&&k.value.splice(e,1),e=f.value.findIndex(n=>n.id===a.id),e>-1&&f.value.splice(e,1)},ve=()=>{if(b.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:a,users:e}=Pe(b.value);const n=[];let o=100;n.push({content:b.value,type:S.TEXT,sort:o}),h.value.map(u=>{o++,n.push({content:u.content,type:S.IMAGEURL,sort:o})}),k.value.map(u=>{o++,n.push({content:u.content,type:S.VIDEOURL,sort:o})}),f.value.map(u=>{o++,n.push({content:u.content,type:S.ATTACHMENT,sort:o})}),z.value.length>0&&z.value.map(u=>{o++,n.push({content:u,type:S.LINKURL,sort:o})}),m.value=!0,Re({contents:n,tags:Array.from(new Set(a)),users:Array.from(new Set(e)),attachment_price:+P.value*100,visibility:C.value}).then(u=>{var v;window.$message.success("发布成功"),m.value=!1,x("post-success",u),c.value=!1,w.value=!1,(v=A.value)==null||v.clear(),r.value=[],b.value="",z.value=[],h.value=[],k.value=[],f.value=[],C.value=R.value}).catch(u=>{m.value=!1})},j=a=>{i.commit("triggerAuth",!0),i.commit("triggerAuthKey",a)};return X(()=>{"friend".toLowerCase()==="friend"?R.value=U.FRIEND:"friend".toLowerCase()==="public"?R.value=U.PUBLIC:R.value=U.PRIVATE,C.value=R.value,G.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(a,e)=>{const n=Be,o=Oe,u=Me,v=De,H=je,ge=He,fe=Ge,ye=Ke,he=Ze,we=Je,be=Qe,ke=Xe,Ce=We,Te=Ye;return _(),y("div",null,[q(i).state.userInfo.id>0?(_(),y("div",rt,[$("div",ut,[$("div",ct,[t(n,{round:"",size:30,src:q(i).state.userInfo.avatar},null,8,["src"])]),t(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:p.value,value:b.value,prefix:["@","#"],options:I.value,onSearch:re,"onUpdate:value":ue,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),t(we,{ref_key:"uploadRef",ref:A,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:G.value},data:{type:g.value},onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[$("div",pt,[$("div",_t,[t(H,{abstract:""},{default:s(({handleClick:d})=>[t(v,{disabled:r.value.length>0&&g.value==="public/video"||r.value.length===9,onClick:()=>{D("public/image"),d()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(q(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),M.value?(_(),N(H,{key:0,abstract:""},{default:s(({handleClick:d})=>[t(v,{disabled:r.value.length>0&&g.value!=="public/video"||r.value.length===9,onClick:()=>{D("public/video"),d()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(q(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),B.value?(_(),N(H,{key:1,abstract:""},{default:s(({handleClick:d})=>[t(v,{disabled:r.value.length>0&&g.value==="public/video"||r.value.length===9,onClick:()=>{D("attachment"),d()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(q(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),t(v,{quaternary:"",circle:"",type:"primary",onClick:K(ne,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(q(Ve))]),_:1})]),_:1},8,["onClick"]),ae.value?(_(),N(v,{key:2,quaternary:"",circle:"",type:"primary",onClick:K(se,["stop"])},{icon:s(()=>[t(u,{size:"20",color:"var(--primary-color)"},{default:s(()=>[t(q(Fe))]),_:1})]),_:1},8,["onClick"])):T("",!0)]),$("div",dt,[t(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[t(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:b.value.length/q(L)*100},null,8,["percentage"])]),default:s(()=>[E(" "+Z(b.value.length)+" / "+Z(q(L)),1)]),_:1}),t(v,{loading:m.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[E(" 发布 ")]),_:1},8,["loading"])])]),$("div",mt,[t(ye),f.value.length>0?(_(),y("div",vt,[te.value?(_(),N(he,{key:0,value:P.value,"onUpdate:value":e[0]||(e[0]=d=>P.value=d),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[gt]),_:1},8,["value"])):T("",!0)])):T("",!0)])]),_:1},8,["headers","data"]),w.value?(_(),y("div",ft,[t(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=d=>C.value=d),name:"radiogroup"},{default:s(()=>[t(ke,null,{default:s(()=>[(_(),y(W,null,Y(O,d=>t(be,{key:d.value,value:d.value,label:d.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):T("",!0),c.value?(_(),y("div",yt,[t(Te,{value:z.value,"onUpdate:value":e[2]||(e[2]=d=>z.value=d),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[E(" 创建链接 ")]),_:1},8,["value"])])):T("",!0)])):(_(),y("div",ht,[wt,F.value?T("",!0):(_(),y("div",bt,[t(v,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=d=>j("signin"))},{default:s(()=>[E(" 登录 ")]),_:1})])),F.value?(_(),y("div",kt,[t(v,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=d=>j("signin"))},{default:s(()=>[E(" 登录 ")]),_:1}),t(v,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=d=>j("signup"))},{default:s(()=>[E(" 注册 ")]),_:1})])):T("",!0)]))])}}});const Tt={key:0,class:"skeleton-wrap"},qt={key:1},$t={key:0,class:"empty-wrap"},xt={key:0,class:"pagination-wrap"},It=Q({__name:"Home",setup(V){const x=ee(),i=st(),I=lt(),p=l(!1),m=l([]),c=l(+i.query.p||1),w=l(20),b=l(0),z=xe(()=>{let r="泡泡广场";return i.query&&i.query.q&&(i.query.t&&i.query.t==="tag"?r="#"+decodeURIComponent(i.query.q):r="搜索: "+decodeURIComponent(i.query.q)),r}),A=()=>{p.value=!0,Ae({query:i.query.q?decodeURIComponent(i.query.q):null,type:i.query.t,page:c.value,page_size:w.value}).then(r=>{p.value=!1,m.value=r.list,b.value=Math.ceil(r.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(r=>{p.value=!1})},P=r=>{if(c.value!=1){I.push({name:"post",query:{id:r.id}});return}let h=[],k=m.value.length;k==w.value&&k--;for(var f=0;f{I.push({name:"home",query:{...i.query,p:r}})};return X(()=>{A()}),Ie(()=>({path:i.path,query:i.query,refresh:x.state.refresh}),(r,h)=>{if(r.refresh!==h.refresh){c.value=+i.query.p||1,setTimeout(()=>{A()},0);return}h.path!=="/post"&&r.path==="/"&&(c.value=+i.query.p||1,setTimeout(()=>{A()},0))}),(r,h)=>{const k=nt,f=Ct,C=at,R=$e,O=ot,L=qe,F=et,M=tt;return _(),y("div",null,[t(k,{title:z.value},null,8,["title"]),t(F,{class:"main-content-wrap",bordered:""},{default:s(()=>[t(C,null,{default:s(()=>[t(f,{onPostSuccess:P})]),_:1}),p.value?(_(),y("div",Tt,[t(R,{num:w.value},null,8,["num"])])):(_(),y("div",qt,[m.value.length===0?(_(),y("div",$t,[t(O,{size:"large",description:"暂无数据"})])):T("",!0),(_(!0),y(W,null,Y(m.value,B=>(_(),N(C,{key:B.id},{default:s(()=>[t(L,{post:B},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),b.value>0?(_(),y("div",xt,[t(M,{page:c.value,"onUpdate:page":g,"page-slot":q(x).state.collapsedRight?5:8,"page-count":b.value},null,8,["page","page-slot","page-count"])])):T("",!0)])}}});const ia=Ee(It,[["__scopeId","data-v-936146f2"]]);export{ia as default}; diff --git a/web/dist/assets/Messages-268fd9db.js b/web/dist/assets/Messages-268fd9db.js deleted file mode 100644 index 36698fb6..00000000 --- a/web/dist/assets/Messages-268fd9db.js +++ /dev/null @@ -1 +0,0 @@ -import{d as b,a1 as V,o as a,c as o,L as n,$ as i,a as k,a0 as $,e as u,M as g,K as z,O as l,Y as p,a4 as A,a2 as N,F as O,r as y,j as D}from"./@vue-ca177dbe.js";import{u as L,b as G}from"./vue-router-88cc84d1.js";import{G as H,H as P,I as T,_ as F,J as U}from"./index-71354138.js";import{a as E}from"./formatTime-000dbebb.js";import{q as J,r as K,s as q,t as Y}from"./@vicons-6d35273b.js";import{o as Q,l as W,j as X,S as Z,L as ee,U as se,F as te,G as ne,I as ae,H as oe}from"./naive-ui-2035804c.js";import{_ as ie}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{u as le}from"./vuex-d28e9067.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const re={class:"sender-wrap"},ce={key:0,class:"nickname"},_e={class:"username"},ue={key:1,class:"nickname"},de={class:"timestamp"},me={class:"timestamp-txt"},pe={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke=b({__name:"message-item",props:{message:null},setup(e){const h="https://assets.paopao.info/public/avatar/default/admin.png",w=L(),r=s=>{c(s),(s.type===1||s.type===2||s.type===3)&&(s.post&&s.post.id>0?w.push({name:"post",query:{id:s.post_id}}):window.$message.error("该动态已被删除"))},d=s=>{c(s),H({user_id:s.sender_user_id}).then(t=>{s.reply_id=2,window.$message.success("已同意添加好友")}).catch(t=>{console.log(t)})},v=s=>{c(s),P({user_id:s.sender_user_id}).then(t=>{s.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(t=>{console.log(t)})},c=s=>{s.is_read===0&&T({id:s.id}).then(t=>{s.is_read=1}).catch(t=>{console.log(t)})};return(s,t)=>{const x=Q,_=V("router-link"),I=W,m=X,C=Z,M=ee;return a(),o("div",{class:A(["message-item",{unread:e.message.is_read===0}]),onClick:t[4]||(t[4]=f=>c(e.message))},[n(M,{"content-indented":""},{avatar:i(()=>[n(x,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:h},null,8,["src"])]),header:i(()=>[k("div",re,[e.message.sender_user.id>0?(a(),o("span",ce,[n(_,{onClick:t[0]||(t[0]=$(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:i(()=>[u(g(e.message.sender_user.nickname),1)]),_:1},8,["to"]),k("span",_e," @"+g(e.message.sender_user.username),1)])):(a(),o("span",ue," 系统 "))])]),"header-extra":i(()=>[k("span",de,[e.message.is_read===0?(a(),z(I,{key:0,dot:"",processing:""})):l("",!0),k("span",me,g(p(E)(e.message.created_on)),1)])]),description:i(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:i(()=>[e.message.type!=4?(a(),o("div",pe,[u(g(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(a(),o("span",{key:0,onClick:t[1]||(t[1]=$(f=>r(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(J))]),_:1}),u(" 查看详情 ")])):l("",!0)])):l("",!0),e.message.type===4?(a(),o("div",ge,g(e.message.content),1)):l("",!0),e.message.type===5?(a(),o("div",ve,[u(g(e.message.content)+" ",1),e.message.reply_id===1?(a(),o("span",{key:0,onClick:t[2]||(t[2]=$(f=>d(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(K))]),_:1}),u(" 同意 ")])):l("",!0),e.message.reply_id===1?(a(),o("span",{key:1,onClick:t[3]||(t[3]=$(f=>v(e.message),["stop"])),class:"hash-link view-link"},[n(m,null,{default:i(()=>[n(p(q))]),_:1}),u(" 拒绝 ")])):l("",!0),e.message.reply_id===2?(a(),o("span",fe,[n(m,null,{default:i(()=>[n(p(Y))]),_:1}),u(" 已同意 ")])):l("",!0),e.message.reply_id===3?(a(),o("span",ye,[n(m,null,{default:i(()=>[n(p(q))]),_:1}),u(" 已拒绝 ")])):l("",!0)])):l("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const he=F(ke,[["__scopeId","data-v-4a0e27fa"]]),we={class:"content"},$e=b({__name:"message-skeleton",props:{num:{default:1}},setup(e){return(h,w)=>{const r=se;return a(!0),o(O,null,N(new Array(e.num),d=>(a(),o("div",{class:"skeleton-item",key:d},[k("div",we,[n(r,{text:"",repeat:2}),n(r,{text:"",style:{width:"60%"}})])]))),128)}}});const xe=F($e,[["__scopeId","data-v-01d2e871"]]),Ce={key:0,class:"skeleton-wrap"},Me={key:1},be={key:0,class:"empty-wrap"},Fe={key:0,class:"pagination-wrap"},Ie=b({__name:"Messages",setup(e){const h=G(),w=le(),r=y(!1),d=y(+h.query.p||1),v=y(10),c=y(0),s=y([]),t=()=>{r.value=!0,U({page:d.value,page_size:v.value}).then(_=>{r.value=!1,s.value=_.list,c.value=Math.ceil(_.pager.total_rows/v.value)}).catch(_=>{r.value=!1})},x=_=>{d.value=_,t()};return D(()=>{t()}),(_,I)=>{const m=ie,C=xe,M=ae,f=he,R=oe,j=te,B=ne;return a(),o("div",null,[n(m,{title:"消息"}),n(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:i(()=>[r.value?(a(),o("div",Ce,[n(C,{num:v.value},null,8,["num"])])):(a(),o("div",Me,[s.value.length===0?(a(),o("div",be,[n(M,{size:"large",description:"暂无数据"})])):l("",!0),(a(!0),o(O,null,N(s.value,S=>(a(),z(R,{key:S.id},{default:i(()=>[n(f,{message:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),c.value>0?(a(),o("div",Fe,[n(B,{page:d.value,"onUpdate:page":x,"page-slot":p(w).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)])}}});const Ze=F(Ie,[["__scopeId","data-v-4e7b1342"]]);export{Ze as default}; diff --git a/web/dist/assets/Messages-bfeaef81.js b/web/dist/assets/Messages-bfeaef81.js new file mode 100644 index 00000000..55ba395e --- /dev/null +++ b/web/dist/assets/Messages-bfeaef81.js @@ -0,0 +1 @@ +import{d as b,a2 as A,o as t,c as a,U as n,a0 as o,a as y,a1 as w,e as p,L as m,P as q,N as r,Z as c,K as D,a3 as z,F as R,r as f,j as L}from"./@vue-d002002f.js";import{u as P,b as U}from"./vue-router-29e6667f.js";import{G,H,I as T,_ as F,J as E}from"./index-0f3021a1.js";import{a as J}from"./formatTime-000dbebb.js";import{q as K,r as Z,s as S,t as Q}from"./@vicons-4022100b.js";import{o as W,l as X,j as Y,S as x,L as ee,U as se,F as ne,G as te,I as ae,H as oe}from"./naive-ui-88b48034.js";import{_ as re}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{u as ie}from"./vuex-4d2f7b35.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./evtd-b614532e.js";import"./@css-render-6b6cdab1.js";import"./vooks-77bdadbd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const _e={class:"sender-wrap"},le={key:0,class:"nickname"},pe={class:"username"},ue={key:1,class:"nickname"},ce={class:"timestamp"},de={class:"timestamp-txt"},me={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke="https://assets.paopao.info/public/avatar/default/admin.png",he=b({__name:"message-item",props:{message:{}},setup(I){const g=P(),k=e=>{_(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?g.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},i=e=>{_(e),G({user_id:e.sender_user_id}).then(s=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(s=>{console.log(s)})},u=e=>{_(e),H({user_id:e.sender_user_id}).then(s=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(s=>{console.log(s)})},_=e=>{e.is_read===0&&T({id:e.id}).then(s=>{e.is_read=1}).catch(s=>{console.log(s)})};return(e,s)=>{const h=W,$=A("router-link"),l=X,d=Y,C=x,M=ee;return t(),a("div",{class:D(["message-item",{unread:e.message.is_read===0}]),onClick:s[4]||(s[4]=v=>_(e.message))},[n(M,{"content-indented":""},{avatar:o(()=>[n(h,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:ke},null,8,["src"])]),header:o(()=>[y("div",_e,[e.message.sender_user.id>0?(t(),a("span",le,[n($,{onClick:s[0]||(s[0]=w(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:o(()=>[p(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),y("span",pe," @"+m(e.message.sender_user.username),1)])):(t(),a("span",ue," 系统 "))])]),"header-extra":o(()=>[y("span",ce,[e.message.is_read===0?(t(),q(l,{key:0,dot:"",processing:""})):r("",!0),y("span",de,m(c(J)(e.message.created_on)),1)])]),description:o(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:o(()=>[e.message.type!=4?(t(),a("div",me,[p(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),a("span",{key:0,onClick:s[1]||(s[1]=w(v=>k(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(K))]),_:1}),p(" 查看详情 ")])):r("",!0)])):r("",!0),e.message.type===4?(t(),a("div",ge,m(e.message.content),1)):r("",!0),e.message.type===5?(t(),a("div",ve,[p(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),a("span",{key:0,onClick:s[2]||(s[2]=w(v=>i(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(Z))]),_:1}),p(" 同意 ")])):r("",!0),e.message.reply_id===1?(t(),a("span",{key:1,onClick:s[3]||(s[3]=w(v=>u(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(S))]),_:1}),p(" 拒绝 ")])):r("",!0),e.message.reply_id===2?(t(),a("span",fe,[n(d,null,{default:o(()=>[n(c(Q))]),_:1}),p(" 已同意 ")])):r("",!0),e.message.reply_id===3?(t(),a("span",ye,[n(d,null,{default:o(()=>[n(c(S))]),_:1}),p(" 已拒绝 ")])):r("",!0)])):r("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const we=F(he,[["__scopeId","data-v-4a0e27fa"]]),$e={class:"content"},Ce=b({__name:"message-skeleton",props:{num:{default:1}},setup(I){return(g,k)=>{const i=se;return t(!0),a(R,null,z(new Array(g.num),u=>(t(),a("div",{class:"skeleton-item",key:u},[y("div",$e,[n(i,{text:"",repeat:2}),n(i,{text:"",style:{width:"60%"}})])]))),128)}}});const Me=F(Ce,[["__scopeId","data-v-01d2e871"]]),be={key:0,class:"skeleton-wrap"},Fe={key:1},Ie={key:0,class:"empty-wrap"},Ne={key:0,class:"pagination-wrap"},Se=b({__name:"Messages",setup(I){const g=U(),k=ie(),i=f(!1),u=f(+g.query.p||1),_=f(10),e=f(0),s=f([]),h=()=>{i.value=!0,E({page:u.value,page_size:_.value}).then(l=>{i.value=!1,s.value=l.list,e.value=Math.ceil(l.pager.total_rows/_.value)}).catch(l=>{i.value=!1})},$=l=>{u.value=l,h()};return L(()=>{h()}),(l,d)=>{const C=re,M=Me,v=ae,j=we,B=oe,O=ne,V=te;return t(),a("div",null,[n(C,{title:"消息"}),n(O,{class:"main-content-wrap messages-wrap",bordered:""},{default:o(()=>[i.value?(t(),a("div",be,[n(M,{num:_.value},null,8,["num"])])):(t(),a("div",Fe,[s.value.length===0?(t(),a("div",Ie,[n(v,{size:"large",description:"暂无数据"})])):r("",!0),(t(!0),a(R,null,z(s.value,N=>(t(),q(B,{key:N.id},{default:o(()=>[n(j,{message:N},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),e.value>0?(t(),a("div",Ne,[n(V,{page:u.value,"onUpdate:page":$,"page-slot":c(k).state.collapsedRight?5:8,"page-count":e.value},null,8,["page","page-slot","page-count"])])):r("",!0)])}}});const es=F(Se,[["__scopeId","data-v-4e7b1342"]]);export{es as default}; diff --git a/web/dist/assets/Post-9d62007f.js b/web/dist/assets/Post-9d62007f.js new file mode 100644 index 00000000..51b00966 --- /dev/null +++ b/web/dist/assets/Post-9d62007f.js @@ -0,0 +1 @@ +import{d as Q,r as c,a2 as me,o,c as u,a as d,U as e,a0 as n,e as z,L as U,P,N as i,Z as a,a1 as B,n as ae,a6 as Pe,F as le,a3 as ie,j as ve,V as ye,W as ke,w as Re}from"./@vue-d002002f.js";import{u as ee}from"./vuex-4d2f7b35.js";import{f as ue}from"./formatTime-000dbebb.js";import{t as Se,d as Le,e as Ae,_ as te,f as De,h as qe,i as Me,j as Oe,g as Ne,k as Be,l as Ee,m as je,n as Ve,o as He,s as Fe,v as Ye,p as Ke,q as Je,r as Ge,u as ge}from"./index-0f3021a1.js";import{Y as ce,V as Z}from"./IEnum-a180d93e.js";import{T as we,e as re,f as be,g as _e,h as $e,I as Qe,i as We,j as Ze,k as Xe,l as et,m as tt,n as st,o as ot}from"./@vicons-4022100b.js";import{j as se,e as oe,J as Ce,b as nt,K as at,o as fe,L as xe,v as lt,w as it,x as ut,y as ct,z as rt,B as _t,M as pt,O as dt,i as mt,P as vt,a as Ie,F as ft,I as ht,k as gt,H as yt,f as kt,g as wt}from"./naive-ui-88b48034.js";import{p as he,_ as Te,a as bt,b as $t,c as Ct}from"./content-b5ab8047.js";import{u as ze,b as xt}from"./vue-router-29e6667f.js";import{_ as It}from"./post-skeleton-8710588f.js";import{l as Tt}from"./lodash-94eb5868.js";import{a as zt}from"./copy-to-clipboard-1dd3075d.js";import{_ as Ut}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{K as Pt}from"./v3-infinite-loading-58f64a4e.js";import"./moment-b7869f98.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./evtd-b614532e.js";import"./@css-render-6b6cdab1.js";import"./vooks-77bdadbd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-d47e9bf6.js";import"./toggle-selection-93f4ad84.js";const Rt={class:"reply-item"},St={class:"header-wrap"},Lt={class:"username"},At={class:"reply-name"},Dt={class:"timestamp"},qt={class:"base-wrap"},Mt={class:"content"},Ot={class:"reply-switch"},Nt={class:"time-item"},Bt={class:"actions"},Et={class:"upvote-count"},jt=["onClick"],Vt={class:"upvote-count"},Ht={key:2,class:"action-item"},Ft=["onClick"],Yt=Q({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(A,{emit:M}){const l=A,r=ee(),g=c(l.reply.is_thumbs_up==ce.YES),y=c(l.reply.is_thumbs_down==ce.YES),w=c(l.reply.thumbs_up_count),L=()=>{Se({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(m=>{g.value=!g.value,g.value?(w.value++,y.value=!1):w.value--}).catch(m=>{console.log(m)})},_=()=>{Le({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(m=>{y.value=!y.value,y.value&&g.value&&(w.value--,g.value=!1)}).catch(m=>{console.log(m)})},b=()=>{M("focusReply",l.reply)},C=()=>{Ae({id:l.reply.id}).then(m=>{window.$message.success("删除成功"),setTimeout(()=>{M("reload")},50)}).catch(m=>{console.log(m)})};return(m,T)=>{const t=me("router-link"),v=se,$=oe,k=Ce;return o(),u("div",Rt,[d("div",St,[d("div",Lt,[e(t,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:n(()=>[z(U(l.reply.user.username),1)]),_:1},8,["to"]),d("span",At,U(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(o(),P(t,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:n(()=>[z(U(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),d("div",Dt,[z(U(l.reply.ip_loc)+" ",1),a(r).state.userInfo.is_admin||a(r).state.userInfo.id===l.reply.user.id?(o(),P(k,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:C},{trigger:n(()=>[e($,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[e(v,null,{default:n(()=>[e(a(we))]),_:1})]),_:1})]),default:n(()=>[z(" 是否确认删除? ")]),_:1})):i("",!0)])]),d("div",qt,[d("div",Mt,U(l.reply.content),1),d("div",Ot,[d("span",Nt,U(a(ue)(l.reply.created_on)),1),d("div",Bt,[a(r).state.userLogined?i("",!0):(o(),u("div",{key:0,class:"action-item",onClick:T[0]||(T[0]=B(()=>{},["stop"]))},[e(v,{size:"medium"},{default:n(()=>[e(a(re))]),_:1}),d("span",Et,U(w.value),1)])),a(r).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:B(L,["stop"])},[e(v,{size:"medium"},{default:n(()=>[g.value?i("",!0):(o(),P(a(re),{key:0})),g.value?(o(),P(a(be),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",Vt,U(w.value),1)],8,jt)):i("",!0),a(r).state.userLogined?i("",!0):(o(),u("div",Ht,[e(v,{size:"medium"},{default:n(()=>[e(a(_e))]),_:1})])),a(r).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:B(_,["stop"])},[e(v,{size:"medium"},{default:n(()=>[y.value?i("",!0):(o(),P(a(_e),{key:0})),y.value?(o(),P(a($e),{key:1,class:"show"})):i("",!0)]),_:1})],8,Ft)):i("",!0),a(r).state.userLogined?(o(),u("span",{key:4,class:"show opacity-item reply-btn",onClick:b}," 回复 ")):i("",!0)])])])])}}});const Kt=te(Yt,[["__scopeId","data-v-783f5693"]]),Jt={class:"reply-compose-wrap"},Gt={class:"reply-switch"},Qt={class:"time-item"},Wt={class:"actions"},Zt={key:0,class:"action-item"},Xt={class:"upvote-count"},es=["onClick"],ts={class:"upvote-count"},ss={key:2,class:"action-item"},os=["onClick"],ns={key:0,class:"reply-input-wrap"},as=Q({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(A,{expose:M,emit:l}){const r=A,g=ee(),y=c(),w=c(!1),L=c(""),_=c(!1),b=c(r.comment.is_thumbs_up==ce.YES),C=c(r.comment.is_thumbs_down==ce.YES),m=c(r.comment.thumbs_up_count),T=()=>{De({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then(k=>{b.value=!b.value,b.value?(m.value++,C.value=!1):m.value--}).catch(k=>{console.log(k)})},t=()=>{qe({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then(k=>{C.value=!C.value,C.value&&b.value&&(m.value--,b.value=!1)}).catch(k=>{console.log(k)})},v=k=>{w.value=k,k?setTimeout(()=>{var x;(x=y.value)==null||x.focus()},10):(_.value=!1,L.value="",l("reset"))},$=()=>{_.value=!0,Me({comment_id:r.comment.id,at_user_id:r.atUserid,content:L.value}).then(k=>{v(!1),window.$message.success("评论成功"),l("reload")}).catch(k=>{_.value=!1})};return M({switchReply:v}),(k,x)=>{const q=se,F=nt,N=oe,V=at;return o(),u("div",Jt,[d("div",Gt,[d("span",Qt,U(a(ue)(k.comment.created_on)),1),d("div",Wt,[a(g).state.userLogined?i("",!0):(o(),u("div",Zt,[e(q,{size:"medium"},{default:n(()=>[e(a(re))]),_:1}),d("span",Xt,U(m.value),1)])),a(g).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:B(T,["stop"])},[e(q,{size:"medium"},{default:n(()=>[b.value?i("",!0):(o(),P(a(re),{key:0})),b.value?(o(),P(a(be),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",ts,U(m.value),1)],8,es)):i("",!0),a(g).state.userLogined?i("",!0):(o(),u("div",ss,[e(q,{size:"medium"},{default:n(()=>[e(a(_e))]),_:1})])),a(g).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:B(t,["stop"])},[e(q,{size:"medium"},{default:n(()=>[C.value?i("",!0):(o(),P(a(_e),{key:0})),C.value?(o(),P(a($e),{key:1,class:"show"})):i("",!0)]),_:1})],8,os)):i("",!0),a(g).state.userLogined&&!w.value?(o(),u("span",{key:4,class:"show reply-btn",onClick:x[0]||(x[0]=I=>v(!0))}," 回复 ")):i("",!0),a(g).state.userLogined&&w.value?(o(),u("span",{key:5,class:"hide reply-btn",onClick:x[1]||(x[1]=I=>v(!1))}," 取消 ")):i("",!0)])]),w.value?(o(),u("div",ns,[e(V,null,{default:n(()=>[e(F,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:r.atUsername?"@"+r.atUsername:"请输入回复内容..",maxlength:"100",value:L.value,"onUpdate:value":x[2]||(x[2]=I=>L.value=I),"show-count":"",clearable:""},null,8,["placeholder","value"]),e(N,{type:"primary",size:"small",ghost:"",loading:_.value,onClick:$},{default:n(()=>[z(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const ls=te(as,[["__scopeId","data-v-0f1721e2"]]),is={class:"comment-item"},us={class:"nickname-wrap"},cs={class:"username-wrap"},rs={class:"opt-wrap"},_s={class:"timestamp"},ps=["innerHTML"],ds={class:"reply-wrap"},ms=Q({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(A,{emit:M}){const l=A,r=ee(),g=ze(),y=c(0),w=c(""),L=c(),_=ae(()=>{let v=Object.assign({texts:[],imgs:[]},l.comment);return v.contents.map($=>{(+$.type==1||+$.type==2)&&v.texts.push($),+$.type==3&&v.imgs.push($)}),v}),b=(v,$)=>{let k=v.target;if(k.dataset.detail){const x=k.dataset.detail.split(":");x.length===2&&(r.commit("refresh"),x[0]==="tag"?window.$message.warning("评论内的无效话题"):g.push({name:"user",query:{username:x[1]}}))}},C=v=>{var $,k;y.value=v.user_id,w.value=(($=v.user)==null?void 0:$.username)||"",(k=L.value)==null||k.switchReply(!0)},m=()=>{M("reload")},T=()=>{y.value=0,w.value=""},t=()=>{Oe({id:_.value.id}).then(v=>{window.$message.success("删除成功"),setTimeout(()=>{m()},50)}).catch(v=>{})};return(v,$)=>{const k=fe,x=me("router-link"),q=se,F=oe,N=Ce,V=Te,I=ls,D=Kt,K=xe;return o(),u("div",is,[e(K,{"content-indented":""},Pe({avatar:n(()=>[e(k,{round:"",size:30,src:_.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",us,[e(x,{onClick:$[0]||($[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:_.value.user.username}}},{default:n(()=>[z(U(_.value.user.nickname),1)]),_:1},8,["to"])]),d("span",cs," @"+U(_.value.user.username),1)]),"header-extra":n(()=>[d("div",rs,[d("span",_s,U(_.value.ip_loc),1),a(r).state.userInfo.is_admin||a(r).state.userInfo.id===_.value.user.id?(o(),P(N,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:t},{trigger:n(()=>[e(F,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[e(q,null,{default:n(()=>[e(a(we))]),_:1})]),_:1})]),default:n(()=>[z(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:n(()=>[_.value.imgs.length>0?(o(),P(V,{key:0,imgs:_.value.imgs},null,8,["imgs"])):i("",!0),e(I,{ref_key:"replyComposeRef",ref:L,comment:_.value,"at-userid":y.value,"at-username":w.value,onReload:m,onReset:T},null,8,["comment","at-userid","at-username"]),d("div",ds,[(o(!0),u(le,null,ie(_.value.replies,s=>(o(),P(D,{key:s.id,reply:s,"tweet-id":_.value.post_id,onFocusReply:C,onReload:m},null,8,["reply","tweet-id"]))),128))])]),_:2},[_.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),u(le,null,ie(_.value.texts,s=>(o(),u("span",{key:s.id,class:"comment-text",onClick:$[1]||($[1]=B(p=>b(p,_.value.id),["stop"])),innerHTML:a(he)(s.content).content},null,8,ps))),128))]),key:"0"}:void 0]),1024)])}}});const vs=te(ms,[["__scopeId","data-v-f206d4d8"]]),fs=A=>(ye("data-v-ca3e6071"),A=A(),ke(),A),hs={key:0,class:"compose-wrap"},gs={class:"compose-line"},ys={class:"compose-user"},ks={class:"compose-line compose-options"},ws={class:"attachment"},bs={class:"submit-wrap"},$s={class:"attachment-list-wrap"},Cs={key:1,class:"compose-wrap"},xs=fs(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Is={key:0,class:"login-only-wrap"},Ts={key:1,class:"login-wrap"},zs=Q({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(A,{emit:M}){const l=A,r=ee(),g=c([]),y=c(!1),w=c(!1),L=c(!1),_=c(""),b=c(),C=c("public/image"),m=c([]),T=c([]),t=c("true".toLowerCase()==="true"),v="/v1/attachment",$=c(),k=Tt.debounce(f=>{Ne({k:f}).then(h=>{let R=[];h.suggest.map(S=>{R.push({label:S,value:S})}),g.value=R,w.value=!1}).catch(h=>{w.value=!1})},200),x=(f,h)=>{w.value||(w.value=!0,h==="@"&&k(f))},q=f=>{f.length>200||(_.value=f)},F=f=>{C.value=f},N=f=>{m.value=f},V=async f=>{var h,R;return C.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((h=f.file.file)==null?void 0:h.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):C.value==="image"&&((R=f.file.file)==null?void 0:R.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},I=({file:f,event:h})=>{var R;try{let S=JSON.parse((R=h.target)==null?void 0:R.response);S.code===0&&C.value==="public/image"&&T.value.push({id:f.id,content:S.data.content})}catch{window.$message.error("上传失败")}},D=({file:f,event:h})=>{var R;try{let S=JSON.parse((R=h.target)==null?void 0:R.response);if(S.code!==0){let E=S.msg||"上传失败";S.details&&S.details.length>0&&S.details.map(O=>{E+=":"+O}),window.$message.error(E)}}catch{window.$message.error("上传失败")}},K=({file:f})=>{let h=T.value.findIndex(R=>R.id===f.id);h>-1&&T.value.splice(h,1)},s=()=>{y.value=!0},p=()=>{var f;y.value=!1,(f=b.value)==null||f.clear(),m.value=[],_.value="",T.value=[]},H=()=>{if(_.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=he(_.value);const h=[];let R=100;h.push({content:_.value,type:2,sort:R}),T.value.map(S=>{R++,h.push({content:S.content,type:3,sort:R})}),L.value=!0,Be({contents:h,post_id:l.postId,users:Array.from(new Set(f))}).then(S=>{window.$message.success("发布成功"),L.value=!1,M("post-success"),p()}).catch(S=>{L.value=!1})},Y=f=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",f)};return ve(()=>{$.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(f,h)=>{const R=fe,S=lt,E=se,O=oe,W=it,J=ut,pe=ct,ne=rt,de=_t;return o(),u("div",null,[a(r).state.userInfo.id>0?(o(),u("div",hs,[d("div",gs,[d("div",ys,[e(R,{round:"",size:30,src:a(r).state.userInfo.avatar},null,8,["src"])]),e(S,{type:"textarea",size:"large",autosize:"",bordered:!1,options:g.value,prefix:["@"],loading:w.value,value:_.value,disabled:l.lock===1,"onUpdate:value":q,onSearch:x,onFocus:s,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(o(),P(de,{key:0,ref_key:"uploadRef",ref:b,abstract:"","list-type":"image",multiple:!0,max:9,action:v,headers:{Authorization:$.value},data:{type:C.value},onBeforeUpload:V,onFinish:I,onError:D,onRemove:K,"onUpdate:fileList":N},{default:n(()=>[d("div",ks,[d("div",ws,[e(W,{abstract:""},{default:n(({handleClick:G})=>[e(O,{disabled:m.value.length>0&&C.value==="public/video"||m.value.length===9,onClick:()=>{F("public/image"),G()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[e(E,{size:"20",color:"var(--primary-color)"},{default:n(()=>[e(a(Qe))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),e(pe,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[e(J,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:_.value.length/200*100},null,8,["percentage"])]),default:n(()=>[z(" "+U(_.value.length)+" / 200 ",1)]),_:1})]),d("div",bs,[e(O,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:p},{default:n(()=>[z(" 取消 ")]),_:1}),e(O,{loading:L.value,onClick:H,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[z(" 发布 ")]),_:1},8,["loading"])])]),d("div",$s,[e(ne)])]),_:1},8,["headers","data"])):i("",!0)])):(o(),u("div",Cs,[xs,t.value?i("",!0):(o(),u("div",Is,[e(O,{strong:"",secondary:"",round:"",type:"primary",onClick:h[0]||(h[0]=G=>Y("signin"))},{default:n(()=>[z(" 登录 ")]),_:1})])),t.value?(o(),u("div",Ts,[e(O,{strong:"",secondary:"",round:"",type:"primary",onClick:h[1]||(h[1]=G=>Y("signin"))},{default:n(()=>[z(" 登录 ")]),_:1}),e(O,{strong:"",secondary:"",round:"",type:"info",onClick:h[2]||(h[2]=G=>Y("signup"))},{default:n(()=>[z(" 注册 ")]),_:1})])):i("",!0)]))])}}});const Us=te(zs,[["__scopeId","data-v-ca3e6071"]]),Ps={class:"username-wrap"},Rs={key:0,class:"options"},Ss={key:0},Ls=["innerHTML"],As={class:"timestamp"},Ds={key:0},qs={key:1},Ms={class:"opts-wrap"},Os=["onClick"],Ns={class:"opt-item"},Bs=["onClick"],Es=["onClick"],js=Q({__name:"post-detail",props:{post:{}},emits:["reload"],setup(A,{emit:M}){const l=A,r=ee(),g=ze(),y=c(!1),w=c(!1),L=c(!1),_=c(!1),b=c(!1),C=c(!1),m=c(!1),T=c(Z.PUBLIC),t=ae({get:()=>{let s=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return s.contents.map(p=>{(+p.type==1||+p.type==2)&&s.texts.push(p),+p.type==3&&s.imgs.push(p),+p.type==4&&s.videos.push(p),+p.type==6&&s.links.push(p),+p.type==7&&s.attachments.push(p),+p.type==8&&s.charge_attachments.push(p)}),s},set:s=>{l.post.upvote_count=s.upvote_count,l.post.comment_count=s.comment_count,l.post.collection_count=s.collection_count}}),v=ae(()=>{let s=[{label:"删除",key:"delete"}];return t.value.is_lock===0?s.push({label:"锁定",key:"lock"}):s.push({label:"解锁",key:"unlock"}),r.state.userInfo.is_admin&&(t.value.is_top===0?s.push({label:"置顶",key:"stick"}):s.push({label:"取消置顶",key:"unstick"})),t.value.visibility===Z.PUBLIC?s.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):t.value.visibility===Z.PRIVATE?s.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):s.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),s}),$=s=>{g.push({name:"post",query:{id:s}})},k=(s,p)=>{if(s.target.dataset.detail){const H=s.target.dataset.detail.split(":");if(H.length===2){r.commit("refresh"),H[0]==="tag"?g.push({name:"home",query:{q:H[1],t:"tag"}}):g.push({name:"user",query:{username:H[1]}});return}}$(p)},x=s=>{switch(s){case"delete":L.value=!0;break;case"lock":case"unlock":_.value=!0;break;case"stick":case"unstick":b.value=!0;break;case"vpublic":T.value=0,C.value=!0;break;case"vprivate":T.value=1,C.value=!0;break;case"vfriend":T.value=2,C.value=!0;break}},q=()=>{Ve({id:t.value.id}).then(s=>{window.$message.success("删除成功"),g.replace("/"),setTimeout(()=>{r.commit("refresh")},50)}).catch(s=>{m.value=!1})},F=()=>{He({id:t.value.id}).then(s=>{M("reload"),s.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(s=>{m.value=!1})},N=()=>{Fe({id:t.value.id}).then(s=>{M("reload"),s.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(s=>{m.value=!1})},V=()=>{Ye({id:t.value.id,visibility:T.value}).then(s=>{M("reload"),window.$message.success("修改可见性成功")}).catch(s=>{m.value=!1})},I=()=>{Ke({id:t.value.id}).then(s=>{y.value=s.status,s.status?t.value={...t.value,upvote_count:t.value.upvote_count+1}:t.value={...t.value,upvote_count:t.value.upvote_count-1}}).catch(s=>{console.log(s)})},D=()=>{Je({id:t.value.id}).then(s=>{w.value=s.status,s.status?t.value={...t.value,collection_count:t.value.collection_count+1}:t.value={...t.value,collection_count:t.value.collection_count-1}}).catch(s=>{console.log(s)})},K=()=>{zt(`${window.location.origin}/#/post?id=${t.value.id}`),window.$message.success("链接已复制到剪贴板")};return ve(()=>{r.state.userInfo.id>0&&(Ee({id:t.value.id}).then(s=>{y.value=s.status}).catch(s=>{console.log(s)}),je({id:t.value.id}).then(s=>{w.value=s.status}).catch(s=>{console.log(s)}))}),(s,p)=>{const H=fe,Y=me("router-link"),f=pt,h=se,R=oe,S=dt,E=mt,O=bt,W=Te,J=$t,pe=Ct,ne=vt,de=Ie,G=xe;return o(),u("div",{class:"detail-item",onClick:p[6]||(p[6]=j=>$(t.value.id))},[e(G,null,{avatar:n(()=>[e(H,{round:"",size:30,src:t.value.user.avatar},null,8,["src"])]),header:n(()=>[e(Y,{onClick:p[0]||(p[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t.value.user.username}}},{default:n(()=>[z(U(t.value.user.nickname),1)]),_:1},8,["to"]),d("span",Ps," @"+U(t.value.user.username),1),t.value.is_top?(o(),P(f,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[z(" 置顶 ")]),_:1})):i("",!0),t.value.visibility==a(Z).PRIVATE?(o(),P(f,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[z(" 私密 ")]),_:1})):i("",!0),t.value.visibility==a(Z).FRIEND?(o(),P(f,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[z(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":n(()=>[a(r).state.userInfo.is_admin||a(r).state.userInfo.id===t.value.user.id?(o(),u("div",Rs,[e(S,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:x},{default:n(()=>[e(R,{quaternary:"",circle:""},{icon:n(()=>[e(h,null,{default:n(()=>[e(a(We))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),e(E,{show:L.value,"onUpdate:show":p[1]||(p[1]=j=>L.value=j),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:q},null,8,["show"]),e(E,{show:_.value,"onUpdate:show":p[2]||(p[2]=j=>_.value=j),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(t.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:F},null,8,["show","content"]),e(E,{show:b.value,"onUpdate:show":p[3]||(p[3]=j=>b.value=j),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(t.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:N},null,8,["show","content"]),e(E,{show:C.value,"onUpdate:show":p[4]||(p[4]=j=>C.value=j),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(T.value==0?"公开":T.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"])]),footer:n(()=>[e(O,{attachments:t.value.attachments},null,8,["attachments"]),e(O,{attachments:t.value.charge_attachments,price:t.value.attachment_price},null,8,["attachments","price"]),e(W,{imgs:t.value.imgs},null,8,["imgs"]),e(J,{videos:t.value.videos,full:!0},null,8,["videos"]),e(pe,{links:t.value.links},null,8,["links"]),d("div",As,[z(" 发布于 "+U(a(ue)(t.value.created_on))+" ",1),t.value.ip_loc?(o(),u("span",Ds,[e(ne,{vertical:""}),z(" "+U(t.value.ip_loc),1)])):i("",!0),!a(r).state.collapsedLeft&&t.value.created_on!=t.value.latest_replied_on?(o(),u("span",qs,[e(ne,{vertical:""}),z(" 最后回复 "+U(a(ue)(t.value.latest_replied_on)),1)])):i("",!0)])]),action:n(()=>[d("div",Ms,[e(de,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(I,["stop"])},[e(h,{size:"20",class:"opt-item-icon"},{default:n(()=>[y.value?i("",!0):(o(),P(a(Ze),{key:0})),y.value?(o(),P(a(Xe),{key:1,color:"red"})):i("",!0)]),_:1}),z(" "+U(t.value.upvote_count),1)],8,Os),d("div",Ns,[e(h,{size:"20",class:"opt-item-icon"},{default:n(()=>[e(a(et))]),_:1}),z(" "+U(t.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(D,["stop"])},[e(h,{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?i("",!0):(o(),P(a(tt),{key:0})),w.value?(o(),P(a(st),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),z(" "+U(t.value.collection_count),1)],8,Bs),d("div",{class:"opt-item hover",onClick:B(K,["stop"])},[e(h,{size:"20",class:"opt-item-icon"},{default:n(()=>[e(a(ot))]),_:1}),z(" "+U(t.value.share_count),1)],8,Es)]),_:1})])]),default:n(()=>[t.value.texts.length>0?(o(),u("div",Ss,[(o(!0),u(le,null,ie(t.value.texts,j=>(o(),u("span",{key:j.id,class:"post-text",onClick:p[5]||(p[5]=B(Ue=>k(Ue,t.value.id),["stop"])),innerHTML:a(he)(j.content).content},null,8,Ls))),128))])):i("",!0)]),_:1})])}}});const Vs=A=>(ye("data-v-0d01659f"),A=A(),ke(),A),Hs={key:0,class:"detail-wrap"},Fs={key:1,class:"empty-wrap"},Ys={key:0,class:"comment-opts-wrap"},Ks=Vs(()=>d("span",{class:"comment-title-item"},"评论",-1)),Js={key:2},Gs={key:0,class:"skeleton-wrap"},Qs={key:1},Ws={key:0,class:"empty-wrap"},Zs={key:0,class:"load-more-spinner"},Xs={key:1,class:"load-more-spinner"},eo={key:2,class:"load-more-spinner"},to={key:3,class:"load-more-spinner"},X=20,so=Q({__name:"Post",setup(A){const M=xt(),l=c({}),r=c(!1),g=c(!1),y=c([]),w=ae(()=>+M.query.id),L=c("default"),_=c(!0);let b={loading(){},loaded(){},complete(){},error(){}};const C=I=>{L.value=I,I==="default"&&(_.value=!0),N(b)},m=()=>{l.value={id:0},r.value=!0,Ge({id:w.value}).then(I=>{r.value=!1,l.value=I,N(b)}).catch(I=>{r.value=!1})};let T=1;const t=c(!1),v=c([]),$=I=>{t.value||ge({id:l.value.id,sort_strategy:"default",page:T,page_size:X}).then(D=>{I!==null&&(b=I),D.list.length0&&(T===1?v.value=D.list:v.value.push(...D.list),y.value=v.value),b.loaded(),g.value=!1}).catch(D=>{g.value=!1,b.error()})};let k=1,x=c(!1);const q=c([]),F=I=>{x.value||ge({id:l.value.id,sort_strategy:"newest",page:k,page_size:X}).then(D=>{I!==null&&(b=I),D.list.length0&&(k===1?q.value=D.list:q.value.push(...D.list),y.value=q.value),b.loaded(),g.value=!1}).catch(D=>{g.value=!1,b.error()})},N=I=>{w.value<1||(y.value.length===0&&(g.value=!0),L.value==="default"?(y.value=v.value,$(I)):(y.value=q.value,F(I)),g.value=!1)},V=()=>{T=1,t.value=!1,v.value=[],k=1,x.value=!1,q.value=[],N(b)};return ve(()=>{m()}),Re(w,()=>{w.value>0&&M.name==="post"&&m()}),(I,D)=>{const K=Ut,s=js,p=ht,H=gt,Y=yt,f=kt,h=wt,R=Us,S=It,E=vs,O=Ie,W=ft;return o(),u("div",null,[e(K,{title:"泡泡详情",back:!0}),e(W,{class:"main-content-wrap",bordered:""},{default:n(()=>[e(Y,null,{default:n(()=>[e(H,{show:r.value},{default:n(()=>[l.value.id>1?(o(),u("div",Hs,[e(s,{post:l.value,onReload:m},null,8,["post"])])):(o(),u("div",Fs,[e(p,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(o(),u("div",Ys,[e(h,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":C},{prefix:n(()=>[Ks]),default:n(()=>[e(f,{name:"default",tab:"默认"}),e(f,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(o(),P(Y,{key:1},{default:n(()=>[e(R,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:V},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(o(),u("div",Js,[g.value?(o(),u("div",Gs,[e(S,{num:5})])):(o(),u("div",Qs,[y.value.length===0?(o(),u("div",Ws,[e(p,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(o(!0),u(le,null,ie(y.value,J=>(o(),P(Y,{key:J.id},{default:n(()=>[e(E,{comment:J,onReload:V},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=X?(o(),P(O,{key:3,justify:"center"},{default:n(()=>[e(a(Pt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:N},{spinner:n(()=>[_.value&&t.value?(o(),u("span",Zs)):i("",!0),!_.value&&a(x)?(o(),u("span",Xs)):i("",!0),_.value&&!t.value?(o(),u("span",eo,"加载评论")):i("",!0),!_.value&&!a(x)?(o(),u("span",to,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const qo=te(so,[["__scopeId","data-v-0d01659f"]]);export{qo as default}; diff --git a/web/dist/assets/Post-e74fef3c.js b/web/dist/assets/Post-e74fef3c.js deleted file mode 100644 index 26b223ce..00000000 --- a/web/dist/assets/Post-e74fef3c.js +++ /dev/null @@ -1 +0,0 @@ -import{d as Q,r as u,a1 as de,o as n,c,a as d,L as t,$ as a,e as I,M as T,K as z,O as i,Y as e,a0 as j,n as ae,a6 as Ue,F as le,a2 as ie,j as me,U as ge,V as ye,w as Pe}from"./@vue-ca177dbe.js";import{u as ee}from"./vuex-d28e9067.js";import{f as ce}from"./formatTime-000dbebb.js";import{t as Re,d as Se,e as Le,_ as te,f as Ae,h as De,i as Me,j as Oe,g as qe,k as Be,l as Ee,m as Ne,n as je,o as Ve,s as He,v as Fe,p as Ye,q as Ke,r as Je,u as he}from"./index-71354138.js";import{Y as ue,V as Z}from"./IEnum-a180d93e.js";import{T as ke,e as re,f as we,g as _e,h as be,I as Ge,i as Qe,j as We,k as Xe,l as Ze,m as et,n as tt,o as st}from"./@vicons-6d35273b.js";import{j as se,e as oe,J as $e,b as ot,K as nt,o as ve,L as Ce,v as at,w as lt,x as it,y as ct,z as ut,B as rt,M as _t,O as pt,i as dt,P as mt,a as xe,F as vt,I as ft,k as ht,H as gt,f as yt,g as kt}from"./naive-ui-2035804c.js";import{p as fe,_ as Ie,a as wt,b as bt,c as $t}from"./content-3f1d28f2.js";import{u as Te,b as Ct}from"./vue-router-88cc84d1.js";import{_ as xt}from"./post-skeleton-fdd699ea.js";import{l as It}from"./lodash-94eb5868.js";import{a as Tt}from"./copy-to-clipboard-1dd3075d.js";import{_ as zt}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{K as Ut}from"./v3-infinite-loading-fcb59c38.js";import"./moment-b7869f98.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./nonesir-video-db921567.js";import"./toggle-selection-93f4ad84.js";const Pt={class:"reply-item"},Rt={class:"header-wrap"},St={class:"username"},Lt={class:"reply-name"},At={class:"timestamp"},Dt={class:"base-wrap"},Mt={class:"content"},Ot={class:"reply-switch"},qt={class:"time-item"},Bt={class:"actions"},Et={class:"upvote-count"},Nt=["onClick"],jt={class:"upvote-count"},Vt={key:2,class:"action-item"},Ht=["onClick"],Ft=Q({__name:"reply-item",props:{tweetId:null,reply:null},emits:["focusReply","reload"],setup(A,{emit:O}){const l=A,r=ee(),g=u(l.reply.is_thumbs_up==ue.YES),y=u(l.reply.is_thumbs_down==ue.YES),w=u(l.reply.thumbs_up_count),S=()=>{Re({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(k=>{g.value=!g.value,g.value?(w.value++,y.value=!1):w.value--}).catch(k=>{console.log(k)})},_=()=>{Se({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(k=>{y.value=!y.value,y.value&&g.value&&(w.value--,g.value=!1)}).catch(k=>{console.log(k)})},C=()=>{O("focusReply",l.reply)},f=()=>{Le({id:l.reply.id}).then(k=>{window.$message.success("删除成功"),setTimeout(()=>{O("reload")},50)}).catch(k=>{console.log(k)})};return(k,U)=>{const s=de("router-link"),h=se,b=oe,$=$e;return n(),c("div",Pt,[d("div",Rt,[d("div",St,[t(s,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:a(()=>[I(T(l.reply.user.username),1)]),_:1},8,["to"]),d("span",Lt,T(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(n(),z(s,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:a(()=>[I(T(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),d("div",At,[I(T(l.reply.ip_loc)+" ",1),e(r).state.userInfo.is_admin||e(r).state.userInfo.id===l.reply.user.id?(n(),z($,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:f},{trigger:a(()=>[t(b,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:a(()=>[t(h,null,{default:a(()=>[t(e(ke))]),_:1})]),_:1})]),default:a(()=>[I(" 是否确认删除? ")]),_:1})):i("",!0)])]),d("div",Dt,[d("div",Mt,T(l.reply.content),1),d("div",Ot,[d("span",qt,T(e(ce)(l.reply.created_on)),1),d("div",Bt,[e(r).state.userLogined?i("",!0):(n(),c("div",{key:0,class:"action-item",onClick:U[0]||(U[0]=j(()=>{},["stop"]))},[t(h,{size:"medium"},{default:a(()=>[t(e(re))]),_:1}),d("span",Et,T(w.value),1)])),e(r).state.userLogined?(n(),c("div",{key:1,class:"action-item hover",onClick:j(S,["stop"])},[t(h,{size:"medium"},{default:a(()=>[g.value?i("",!0):(n(),z(e(re),{key:0})),g.value?(n(),z(e(we),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",jt,T(w.value),1)],8,Nt)):i("",!0),e(r).state.userLogined?i("",!0):(n(),c("div",Vt,[t(h,{size:"medium"},{default:a(()=>[t(e(_e))]),_:1})])),e(r).state.userLogined?(n(),c("div",{key:3,class:"action-item hover",onClick:j(_,["stop"])},[t(h,{size:"medium"},{default:a(()=>[y.value?i("",!0):(n(),z(e(_e),{key:0})),y.value?(n(),z(e(be),{key:1,class:"show"})):i("",!0)]),_:1})],8,Ht)):i("",!0),e(r).state.userLogined?(n(),c("span",{key:4,class:"show opacity-item reply-btn",onClick:C}," 回复 ")):i("",!0)])])])])}}});const Yt=te(Ft,[["__scopeId","data-v-783f5693"]]),Kt={class:"reply-compose-wrap"},Jt={class:"reply-switch"},Gt={class:"time-item"},Qt={class:"actions"},Wt={key:0,class:"action-item"},Xt={class:"upvote-count"},Zt=["onClick"],es={class:"upvote-count"},ts={key:2,class:"action-item"},ss=["onClick"],os={key:0,class:"reply-input-wrap"},ns=Q({__name:"compose-reply",props:{comment:null,atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(A,{expose:O,emit:l}){const r=A,g=ee(),y=u(),w=u(!1),S=u(""),_=u(!1),C=u(r.comment.is_thumbs_up==ue.YES),f=u(r.comment.is_thumbs_down==ue.YES),k=u(r.comment.thumbs_up_count),U=()=>{Ae({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then($=>{C.value=!C.value,C.value?(k.value++,f.value=!1):k.value--}).catch($=>{console.log($)})},s=()=>{De({tweet_id:r.comment.post_id,comment_id:r.comment.id}).then($=>{f.value=!f.value,f.value&&C.value&&(k.value--,C.value=!1)}).catch($=>{console.log($)})},h=$=>{w.value=$,$?setTimeout(()=>{var x;(x=y.value)==null||x.focus()},10):(_.value=!1,S.value="",l("reset"))},b=()=>{_.value=!0,Me({comment_id:r.comment.id,at_user_id:r.atUserid,content:S.value}).then($=>{h(!1),window.$message.success("评论成功"),l("reload")}).catch($=>{_.value=!1})};return O({switchReply:h}),($,x)=>{const M=se,q=ot,Y=oe,E=nt;return n(),c("div",Kt,[d("div",Jt,[d("span",Gt,T(e(ce)(A.comment.created_on)),1),d("div",Qt,[e(g).state.userLogined?i("",!0):(n(),c("div",Wt,[t(M,{size:"medium"},{default:a(()=>[t(e(re))]),_:1}),d("span",Xt,T(k.value),1)])),e(g).state.userLogined?(n(),c("div",{key:1,class:"action-item hover",onClick:j(U,["stop"])},[t(M,{size:"medium"},{default:a(()=>[C.value?i("",!0):(n(),z(e(re),{key:0})),C.value?(n(),z(e(we),{key:1,class:"show"})):i("",!0)]),_:1}),d("span",es,T(k.value),1)],8,Zt)):i("",!0),e(g).state.userLogined?i("",!0):(n(),c("div",ts,[t(M,{size:"medium"},{default:a(()=>[t(e(_e))]),_:1})])),e(g).state.userLogined?(n(),c("div",{key:3,class:"action-item hover",onClick:j(s,["stop"])},[t(M,{size:"medium"},{default:a(()=>[f.value?i("",!0):(n(),z(e(_e),{key:0})),f.value?(n(),z(e(be),{key:1,class:"show"})):i("",!0)]),_:1})],8,ss)):i("",!0),e(g).state.userLogined&&!w.value?(n(),c("span",{key:4,class:"show reply-btn",onClick:x[0]||(x[0]=N=>h(!0))}," 回复 ")):i("",!0),e(g).state.userLogined&&w.value?(n(),c("span",{key:5,class:"hide reply-btn",onClick:x[1]||(x[1]=N=>h(!1))}," 取消 ")):i("",!0)])]),w.value?(n(),c("div",os,[t(E,null,{default:a(()=>[t(q,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:r.atUsername?"@"+r.atUsername:"请输入回复内容..",maxlength:"100",value:S.value,"onUpdate:value":x[2]||(x[2]=N=>S.value=N),"show-count":"",clearable:""},null,8,["placeholder","value"]),t(Y,{type:"primary",size:"small",ghost:"",loading:_.value,onClick:b},{default:a(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const as=te(ns,[["__scopeId","data-v-0f1721e2"]]),ls={class:"comment-item"},is={class:"nickname-wrap"},cs={class:"username-wrap"},us={class:"opt-wrap"},rs={class:"timestamp"},_s=["innerHTML"],ps={class:"reply-wrap"},ds=Q({__name:"comment-item",props:{comment:null},emits:["reload"],setup(A,{emit:O}){const l=A,r=ee(),g=Te(),y=u(0),w=u(""),S=u(),_=ae(()=>{let h=Object.assign({texts:[],imgs:[]},l.comment);return h.contents.map(b=>{(+b.type==1||+b.type==2)&&h.texts.push(b),+b.type==3&&h.imgs.push(b)}),h}),C=(h,b)=>{let $=h.target;if($.dataset.detail){const x=$.dataset.detail.split(":");x.length===2&&(r.commit("refresh"),x[0]==="tag"?window.$message.warning("评论内的无效话题"):g.push({name:"user",query:{username:x[1]}}))}},f=h=>{var b,$;y.value=h.user_id,w.value=((b=h.user)==null?void 0:b.username)||"",($=S.value)==null||$.switchReply(!0)},k=()=>{O("reload")},U=()=>{y.value=0,w.value=""},s=()=>{Oe({id:_.value.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{k()},50)}).catch(h=>{})};return(h,b)=>{const $=ve,x=de("router-link"),M=se,q=oe,Y=$e,E=Ie,N=as,L=Yt,D=Ce;return n(),c("div",ls,[t(D,{"content-indented":""},Ue({avatar:a(()=>[t($,{round:"",size:30,src:e(_).user.avatar},null,8,["src"])]),header:a(()=>[d("span",is,[t(x,{onClick:b[0]||(b[0]=j(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(_).user.username}}},{default:a(()=>[I(T(e(_).user.nickname),1)]),_:1},8,["to"])]),d("span",cs," @"+T(e(_).user.username),1)]),"header-extra":a(()=>[d("div",us,[d("span",rs,T(e(_).ip_loc),1),e(r).state.userInfo.is_admin||e(r).state.userInfo.id===e(_).user.id?(n(),z(Y,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:s},{trigger:a(()=>[t(q,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:a(()=>[t(M,null,{default:a(()=>[t(e(ke))]),_:1})]),_:1})]),default:a(()=>[I(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:a(()=>[e(_).imgs.length>0?(n(),z(E,{key:0,imgs:e(_).imgs},null,8,["imgs"])):i("",!0),t(N,{ref_key:"replyComposeRef",ref:S,comment:e(_),"at-userid":y.value,"at-username":w.value,onReload:k,onReset:U},null,8,["comment","at-userid","at-username"]),d("div",ps,[(n(!0),c(le,null,ie(e(_).replies,o=>(n(),z(L,{key:o.id,reply:o,"tweet-id":e(_).post_id,onFocusReply:f,onReload:k},null,8,["reply","tweet-id"]))),128))])]),_:2},[e(_).texts.length>0?{name:"description",fn:a(()=>[(n(!0),c(le,null,ie(e(_).texts,o=>(n(),c("span",{key:o.id,class:"comment-text",onClick:b[1]||(b[1]=j(p=>C(p,e(_).id),["stop"])),innerHTML:e(fe)(o.content).content},null,8,_s))),128))]),key:"0"}:void 0]),1024)])}}});const ms=te(ds,[["__scopeId","data-v-f206d4d8"]]),vs=A=>(ge("data-v-ca3e6071"),A=A(),ye(),A),fs={key:0,class:"compose-wrap"},hs={class:"compose-line"},gs={class:"compose-user"},ys={class:"compose-line compose-options"},ks={class:"attachment"},ws={class:"submit-wrap"},bs={class:"attachment-list-wrap"},$s={key:1,class:"compose-wrap"},Cs=vs(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),xs={key:0,class:"login-only-wrap"},Is={key:1,class:"login-wrap"},Ts=Q({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(A,{emit:O}){const l=A,r=ee(),g=u([]),y=u(!1),w=u(!1),S=u(!1),_=u(""),C=u(),f=u("public/image"),k=u([]),U=u([]),s=u("true".toLowerCase()==="true"),h="/v1/attachment",b=u(),$=It.debounce(m=>{qe({k:m}).then(v=>{let P=[];v.suggest.map(R=>{P.push({label:R,value:R})}),g.value=P,w.value=!1}).catch(v=>{w.value=!1})},200),x=(m,v)=>{w.value||(w.value=!0,v==="@"&&$(m))},M=m=>{m.length>200||(_.value=m)},q=m=>{f.value=m},Y=m=>{k.value=m},E=async m=>{var v,P;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((v=m.file.file)==null?void 0:v.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((P=m.file.file)==null?void 0:P.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},N=({file:m,event:v})=>{var P;try{let R=JSON.parse((P=v.target)==null?void 0:P.response);R.code===0&&f.value==="public/image"&&U.value.push({id:m.id,content:R.data.content})}catch{window.$message.error("上传失败")}},L=({file:m,event:v})=>{var P;try{let R=JSON.parse((P=v.target)==null?void 0:P.response);if(R.code!==0){let H=R.msg||"上传失败";R.details&&R.details.length>0&&R.details.map(B=>{H+=":"+B}),window.$message.error(H)}}catch{window.$message.error("上传失败")}},D=({file:m})=>{let v=U.value.findIndex(P=>P.id===m.id);v>-1&&U.value.splice(v,1)},o=()=>{y.value=!0},p=()=>{var m;y.value=!1,(m=C.value)==null||m.clear(),k.value=[],_.value="",U.value=[]},V=()=>{if(_.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:m}=fe(_.value);const v=[];let P=100;v.push({content:_.value,type:2,sort:P}),U.value.map(R=>{P++,v.push({content:R.content,type:3,sort:P})}),S.value=!0,Be({contents:v,post_id:l.postId,users:Array.from(new Set(m))}).then(R=>{window.$message.success("发布成功"),S.value=!1,O("post-success"),p()}).catch(R=>{S.value=!1})},K=m=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",m)};return me(()=>{b.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(m,v)=>{const P=ve,R=at,H=se,B=oe,W=lt,X=it,J=ct,ne=ut,pe=rt;return n(),c("div",null,[e(r).state.userInfo.id>0?(n(),c("div",fs,[d("div",hs,[d("div",gs,[t(P,{round:"",size:30,src:e(r).state.userInfo.avatar},null,8,["src"])]),t(R,{type:"textarea",size:"large",autosize:"",bordered:!1,options:g.value,prefix:["@"],loading:w.value,value:_.value,disabled:l.lock===1,"onUpdate:value":M,onSearch:x,onFocus:o,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(n(),z(pe,{key:0,ref_key:"uploadRef",ref:C,abstract:"","list-type":"image",multiple:!0,max:9,action:h,headers:{Authorization:b.value},data:{type:f.value},onBeforeUpload:E,onFinish:N,onError:L,onRemove:D,"onUpdate:fileList":Y},{default:a(()=>[d("div",ys,[d("div",ks,[t(W,{abstract:""},{default:a(({handleClick:G})=>[t(B,{disabled:k.value.length>0&&f.value==="public/video"||k.value.length===9,onClick:()=>{q("public/image"),G()},quaternary:"",circle:"",type:"primary"},{icon:a(()=>[t(H,{size:"20",color:"var(--primary-color)"},{default:a(()=>[t(e(Ge))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(J,{trigger:"hover",placement:"bottom"},{trigger:a(()=>[t(X,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:_.value.length/200*100},null,8,["percentage"])]),default:a(()=>[I(" "+T(_.value.length)+" / 200 ",1)]),_:1})]),d("div",ws,[t(B,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:p},{default:a(()=>[I(" 取消 ")]),_:1}),t(B,{loading:S.value,onClick:V,type:"primary",secondary:"",size:"small",round:""},{default:a(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",bs,[t(ne)])]),_:1},8,["headers","data"])):i("",!0)])):(n(),c("div",$s,[Cs,s.value?i("",!0):(n(),c("div",xs,[t(B,{strong:"",secondary:"",round:"",type:"primary",onClick:v[0]||(v[0]=G=>K("signin"))},{default:a(()=>[I(" 登录 ")]),_:1})])),s.value?(n(),c("div",Is,[t(B,{strong:"",secondary:"",round:"",type:"primary",onClick:v[1]||(v[1]=G=>K("signin"))},{default:a(()=>[I(" 登录 ")]),_:1}),t(B,{strong:"",secondary:"",round:"",type:"info",onClick:v[2]||(v[2]=G=>K("signup"))},{default:a(()=>[I(" 注册 ")]),_:1})])):i("",!0)]))])}}});const zs=te(Ts,[["__scopeId","data-v-ca3e6071"]]),Us={class:"username-wrap"},Ps={key:0,class:"options"},Rs={key:0},Ss=["innerHTML"],Ls={class:"timestamp"},As={key:0},Ds={key:1},Ms={class:"opts-wrap"},Os=["onClick"],qs={class:"opt-item"},Bs=["onClick"],Es=["onClick"],Ns=Q({__name:"post-detail",props:{post:null},emits:["reload"],setup(A,{emit:O}){const l=A,r=ee(),g=Te(),y=u(!1),w=u(!1),S=u(!1),_=u(!1),C=u(!1),f=u(!1),k=u(!1),U=u(Z.PUBLIC),s=ae({get:()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return o.contents.map(p=>{(+p.type==1||+p.type==2)&&o.texts.push(p),+p.type==3&&o.imgs.push(p),+p.type==4&&o.videos.push(p),+p.type==6&&o.links.push(p),+p.type==7&&o.attachments.push(p),+p.type==8&&o.charge_attachments.push(p)}),o},set:o=>{l.post.upvote_count=o.upvote_count,l.post.comment_count=o.comment_count,l.post.collection_count=o.collection_count}}),h=ae(()=>{let o=[{label:"删除",key:"delete"}];return s.value.is_lock===0?o.push({label:"锁定",key:"lock"}):o.push({label:"解锁",key:"unlock"}),r.state.userInfo.is_admin&&(s.value.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"})),s.value.visibility===Z.PUBLIC?o.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):s.value.visibility===Z.PRIVATE?o.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):o.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),o}),b=o=>{g.push({name:"post",query:{id:o}})},$=(o,p)=>{if(o.target.dataset.detail){const V=o.target.dataset.detail.split(":");if(V.length===2){r.commit("refresh"),V[0]==="tag"?g.push({name:"home",query:{q:V[1],t:"tag"}}):g.push({name:"user",query:{username:V[1]}});return}}b(p)},x=o=>{switch(o){case"delete":S.value=!0;break;case"lock":case"unlock":_.value=!0;break;case"stick":case"unstick":C.value=!0;break;case"vpublic":U.value=0,f.value=!0;break;case"vprivate":U.value=1,f.value=!0;break;case"vfriend":U.value=2,f.value=!0;break}},M=()=>{je({id:s.value.id}).then(o=>{window.$message.success("删除成功"),g.replace("/"),setTimeout(()=>{r.commit("refresh")},50)}).catch(o=>{k.value=!1})},q=()=>{Ve({id:s.value.id}).then(o=>{O("reload"),o.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(o=>{k.value=!1})},Y=()=>{He({id:s.value.id}).then(o=>{O("reload"),o.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(o=>{k.value=!1})},E=()=>{Fe({id:s.value.id,visibility:U.value}).then(o=>{O("reload"),window.$message.success("修改可见性成功")}).catch(o=>{k.value=!1})},N=()=>{Ye({id:s.value.id}).then(o=>{y.value=o.status,o.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(o=>{console.log(o)})},L=()=>{Ke({id:s.value.id}).then(o=>{w.value=o.status,o.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(o=>{console.log(o)})},D=()=>{Tt(`${window.location.origin}/#/post?id=${s.value.id}`),window.$message.success("链接已复制到剪贴板")};return me(()=>{r.state.userInfo.id>0&&(Ee({id:s.value.id}).then(o=>{y.value=o.status}).catch(o=>{console.log(o)}),Ne({id:s.value.id}).then(o=>{w.value=o.status}).catch(o=>{console.log(o)}))}),(o,p)=>{const V=ve,K=de("router-link"),m=_t,v=se,P=oe,R=pt,H=dt,B=wt,W=Ie,X=bt,J=$t,ne=mt,pe=xe,G=Ce;return n(),c("div",{class:"detail-item",onClick:p[6]||(p[6]=F=>b(e(s).id))},[t(G,null,{avatar:a(()=>[t(V,{round:"",size:30,src:e(s).user.avatar},null,8,["src"])]),header:a(()=>[t(K,{onClick:p[0]||(p[0]=j(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(s).user.username}}},{default:a(()=>[I(T(e(s).user.nickname),1)]),_:1},8,["to"]),d("span",Us," @"+T(e(s).user.username),1),e(s).is_top?(n(),z(m,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:a(()=>[I(" 置顶 ")]),_:1})):i("",!0),e(s).visibility==e(Z).PRIVATE?(n(),z(m,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:a(()=>[I(" 私密 ")]),_:1})):i("",!0),e(s).visibility==e(Z).FRIEND?(n(),z(m,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:a(()=>[I(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":a(()=>[e(r).state.userInfo.is_admin||e(r).state.userInfo.id===e(s).user.id?(n(),c("div",Ps,[t(R,{placement:"bottom-end",trigger:"click",size:"small",options:e(h),onSelect:x},{default:a(()=>[t(P,{quaternary:"",circle:""},{icon:a(()=>[t(v,null,{default:a(()=>[t(e(Qe))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),t(H,{show:S.value,"onUpdate:show":p[1]||(p[1]=F=>S.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:M},null,8,["show"]),t(H,{show:_.value,"onUpdate:show":p[2]||(p[2]=F=>_.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(s).is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:q},null,8,["show","content"]),t(H,{show:C.value,"onUpdate:show":p[3]||(p[3]=F=>C.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(s).is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(H,{show:f.value,"onUpdate:show":p[4]||(p[4]=F=>f.value=F),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(U.value==0?"公开":U.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:E},null,8,["show","content"])]),footer:a(()=>[t(B,{attachments:e(s).attachments},null,8,["attachments"]),t(B,{attachments:e(s).charge_attachments,price:e(s).attachment_price},null,8,["attachments","price"]),t(W,{imgs:e(s).imgs},null,8,["imgs"]),t(X,{videos:e(s).videos,full:!0},null,8,["videos"]),t(J,{links:e(s).links},null,8,["links"]),d("div",Ls,[I(" 发布于 "+T(e(ce)(e(s).created_on))+" ",1),e(s).ip_loc?(n(),c("span",As,[t(ne,{vertical:""}),I(" "+T(e(s).ip_loc),1)])):i("",!0),!e(r).state.collapsedLeft&&e(s).created_on!=e(s).latest_replied_on?(n(),c("span",Ds,[t(ne,{vertical:""}),I(" 最后回复 "+T(e(ce)(e(s).latest_replied_on)),1)])):i("",!0)])]),action:a(()=>[d("div",Ms,[t(pe,{justify:"space-between"},{default:a(()=>[d("div",{class:"opt-item hover",onClick:j(N,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[y.value?i("",!0):(n(),z(e(We),{key:0})),y.value?(n(),z(e(Xe),{key:1,color:"red"})):i("",!0)]),_:1}),I(" "+T(e(s).upvote_count),1)],8,Os),d("div",qs,[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[t(e(Ze))]),_:1}),I(" "+T(e(s).comment_count),1)]),d("div",{class:"opt-item hover",onClick:j(L,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[w.value?i("",!0):(n(),z(e(et),{key:0})),w.value?(n(),z(e(tt),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),I(" "+T(e(s).collection_count),1)],8,Bs),d("div",{class:"opt-item hover",onClick:j(D,["stop"])},[t(v,{size:"20",class:"opt-item-icon"},{default:a(()=>[t(e(st))]),_:1}),I(" "+T(e(s).share_count),1)],8,Es)]),_:1})])]),default:a(()=>[e(s).texts.length>0?(n(),c("div",Rs,[(n(!0),c(le,null,ie(e(s).texts,F=>(n(),c("span",{key:F.id,class:"post-text",onClick:p[5]||(p[5]=j(ze=>$(ze,e(s).id),["stop"])),innerHTML:e(fe)(F.content).content},null,8,Ss))),128))])):i("",!0)]),_:1})])}}});const js=A=>(ge("data-v-0d01659f"),A=A(),ye(),A),Vs={key:0,class:"detail-wrap"},Hs={key:1,class:"empty-wrap"},Fs={key:0,class:"comment-opts-wrap"},Ys=js(()=>d("span",{class:"comment-title-item"},"评论",-1)),Ks={key:2},Js={key:0,class:"skeleton-wrap"},Gs={key:1},Qs={key:0,class:"empty-wrap"},Ws={key:0,class:"load-more-spinner"},Xs={key:1,class:"load-more-spinner"},Zs={key:2,class:"load-more-spinner"},eo={key:3,class:"load-more-spinner"},to=Q({__name:"Post",setup(A){const O=Ct(),l=u({}),r=u(!1),g=u(!1),y=u([]),w=ae(()=>+O.query.id),S=u("default"),_=u(!0),C=20;let f={loading(){},loaded(){},complete(){},error(){}};const k=L=>{S.value=L,L==="default"&&(_.value=!0),E(f)},U=()=>{l.value={id:0},r.value=!0,Je({id:w.value}).then(L=>{r.value=!1,l.value=L,E(f)}).catch(L=>{r.value=!1})};let s=1;const h=u(!1),b=u([]),$=L=>{h.value||he({id:l.value.id,sort_strategy:"default",page:s,page_size:C}).then(D=>{L!==null&&(f=L),D.list.length0&&(s===1?b.value=D.list:b.value.push(...D.list),y.value=b.value),f.loaded(),g.value=!1}).catch(D=>{g.value=!1,f.error()})};let x=1,M=u(!1);const q=u([]),Y=L=>{M.value||he({id:l.value.id,sort_strategy:"newest",page:x,page_size:C}).then(D=>{L!==null&&(f=L),D.list.length0&&(x===1?q.value=D.list:q.value.push(...D.list),y.value=q.value),f.loaded(),g.value=!1}).catch(D=>{g.value=!1,f.error()})},E=L=>{w.value<1||(y.value.length===0&&(g.value=!0),S.value==="default"?(y.value=b.value,$(L)):(y.value=q.value,Y(L)),g.value=!1)},N=()=>{s=1,h.value=!1,b.value=[],x=1,M.value=!1,q.value=[],E(f)};return me(()=>{U()}),Pe(w,()=>{w.value>0&&O.name==="post"&&U()}),(L,D)=>{const o=zt,p=Ns,V=ft,K=ht,m=gt,v=yt,P=kt,R=zs,H=xt,B=ms,W=xe,X=vt;return n(),c("div",null,[t(o,{title:"泡泡详情",back:!0}),t(X,{class:"main-content-wrap",bordered:""},{default:a(()=>[t(m,null,{default:a(()=>[t(K,{show:r.value},{default:a(()=>[l.value.id>1?(n(),c("div",Vs,[t(p,{post:l.value,onReload:U},null,8,["post"])])):(n(),c("div",Hs,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(n(),c("div",Fs,[t(P,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":k},{prefix:a(()=>[Ys]),default:a(()=>[t(v,{name:"default",tab:"默认"}),t(v,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(n(),z(m,{key:1},{default:a(()=>[t(R,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:N},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(n(),c("div",Ks,[g.value?(n(),c("div",Js,[t(H,{num:5})])):(n(),c("div",Gs,[y.value.length===0?(n(),c("div",Qs,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(n(!0),c(le,null,ie(y.value,J=>(n(),z(m,{key:J.id},{default:a(()=>[t(B,{comment:J,onReload:N},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=C?(n(),z(W,{key:3,justify:"center"},{default:a(()=>[t(e(Ut),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:E},{spinner:a(()=>[_.value&&h.value?(n(),c("span",Ws)):i("",!0),!_.value&&e(M)?(n(),c("span",Xs)):i("",!0),_.value&&!h.value?(n(),c("span",Zs,"加载评论")):i("",!0),!_.value&&!e(M)?(n(),c("span",eo,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const Do=te(to,[["__scopeId","data-v-0d01659f"]]);export{Do as default}; diff --git a/web/dist/assets/Profile-5a5650f5.js b/web/dist/assets/Profile-5a5650f5.js new file mode 100644 index 00000000..aae9e5b6 --- /dev/null +++ b/web/dist/assets/Profile-5a5650f5.js @@ -0,0 +1 @@ +import{_ as F}from"./post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js";import{_ as S}from"./post-skeleton-8710588f.js";import{_ as V}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{u as $}from"./vuex-4d2f7b35.js";import{b as D}from"./vue-router-29e6667f.js";import{A as L,_ as M}from"./index-0f3021a1.js";import{d as R,r,j,c as a,U as t,Z as _,P as h,a0 as u,N as d,o as e,a as s,L as f,F as q,a3 as A}from"./@vue-d002002f.js";import{F as E,G,o as H,f as T,g as Z,I as J,H as K}from"./naive-ui-88b48034.js";import"./content-b5ab8047.js";import"./@vicons-4022100b.js";import"./paopao-video-player-d47e9bf6.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-77bdadbd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./@css-render-6b6cdab1.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const O={class:"profile-baseinfo"},Q={class:"avatar"},W={class:"base-info"},X={class:"username"},Y={class:"uid"},tt={key:0,class:"skeleton-wrap"},et={key:1},ot={key:0,class:"empty-wrap"},st={key:1,class:"pagination-wrap"},nt=R({__name:"Profile",setup(at){const o=$(),k=D(),i=r(!1),p=r([]),l=r(+k.query.p||1),c=r(20),m=r(0),g=()=>{i.value=!0,L({username:o.state.userInfo.username,page:l.value,page_size:c.value}).then(n=>{i.value=!1,p.value=n.list,m.value=Math.ceil(n.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(n=>{i.value=!1})},y=n=>{l.value=n,g()};return j(()=>{g()}),(n,_t)=>{const w=V,I=H,b=T,P=Z,x=S,z=J,B=F,N=K,U=E,C=G;return e(),a("div",null,[t(w,{title:"主页"}),_(o).state.userInfo.id>0?(e(),h(U,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:u(()=>[s("div",O,[s("div",Q,[t(I,{size:"large",src:_(o).state.userInfo.avatar},null,8,["src"])]),s("div",W,[s("div",X,[s("strong",null,f(_(o).state.userInfo.nickname),1),s("span",null," @"+f(_(o).state.userInfo.username),1)]),s("div",Y,"UID. "+f(_(o).state.userInfo.id),1)])]),t(P,{class:"profile-tabs-wrap",animated:""},{default:u(()=>[t(b,{name:"post",tab:"泡泡"})]),_:1}),i.value?(e(),a("div",tt,[t(x,{num:c.value},null,8,["num"])])):(e(),a("div",et,[p.value.length===0?(e(),a("div",ot,[t(z,{size:"large",description:"暂无数据"})])):d("",!0),(e(!0),a(q,null,A(p.value,v=>(e(),h(N,{key:v.id},{default:u(()=>[t(B,{post:v},null,8,["post"])]),_:2},1024))),128))]))]),_:1})):d("",!0),m.value>0?(e(),a("div",st,[t(C,{page:l.value,"onUpdate:page":y,"page-slot":_(o).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):d("",!0)])}}});const Mt=M(nt,[["__scopeId","data-v-1d87d974"]]);export{Mt as default}; diff --git a/web/dist/assets/Profile-ada56cf6.js b/web/dist/assets/Profile-ada56cf6.js deleted file mode 100644 index 6f9cc990..00000000 --- a/web/dist/assets/Profile-ada56cf6.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as M}from"./post-item.vue_vue_type_style_index_0_lang-09a3d19d.js";import{_ as N}from"./post-skeleton-fdd699ea.js";import{_ as S}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{u as U}from"./vuex-d28e9067.js";import{b as V}from"./vue-router-88cc84d1.js";import{A as D,_ as L}from"./index-71354138.js";import{d as R,r,j,c as a,L as t,Y as _,K as h,$ as u,O as d,o as e,a as s,M as f,F as q,a2 as A}from"./@vue-ca177dbe.js";import{F as E,G,o as H,f as K,g as O,I as T,H as Y}from"./naive-ui-2035804c.js";import"./content-3f1d28f2.js";import"./@vicons-6d35273b.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={class:"profile-baseinfo"},Q={class:"avatar"},W={class:"base-info"},X={class:"username"},Z={class:"uid"},tt={key:0,class:"skeleton-wrap"},et={key:1},ot={key:0,class:"empty-wrap"},st={key:1,class:"pagination-wrap"},nt=R({__name:"Profile",setup(at){const o=U(),k=V(),i=r(!1),p=r([]),l=r(+k.query.p||1),c=r(20),m=r(0),g=()=>{i.value=!0,D({username:o.state.userInfo.username,page:l.value,page_size:c.value}).then(n=>{i.value=!1,p.value=n.list,m.value=Math.ceil(n.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(n=>{i.value=!1})},y=n=>{l.value=n,g()};return j(()=>{g()}),(n,_t)=>{const w=S,I=H,b=K,P=O,x=N,z=T,B=M,$=Y,C=E,F=G;return e(),a("div",null,[t(w,{title:"主页"}),_(o).state.userInfo.id>0?(e(),h(C,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:u(()=>[s("div",J,[s("div",Q,[t(I,{size:"large",src:_(o).state.userInfo.avatar},null,8,["src"])]),s("div",W,[s("div",X,[s("strong",null,f(_(o).state.userInfo.nickname),1),s("span",null," @"+f(_(o).state.userInfo.username),1)]),s("div",Z,"UID. "+f(_(o).state.userInfo.id),1)])]),t(P,{class:"profile-tabs-wrap",animated:""},{default:u(()=>[t(b,{name:"post",tab:"泡泡"})]),_:1}),i.value?(e(),a("div",tt,[t(x,{num:c.value},null,8,["num"])])):(e(),a("div",et,[p.value.length===0?(e(),a("div",ot,[t(z,{size:"large",description:"暂无数据"})])):d("",!0),(e(!0),a(q,null,A(p.value,v=>(e(),h($,{key:v.id},{default:u(()=>[t(B,{post:v},null,8,["post"])]),_:2},1024))),128))]))]),_:1})):d("",!0),m.value>0?(e(),a("div",st,[t(F,{page:l.value,"onUpdate:page":y,"page-slot":_(o).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):d("",!0)])}}});const Lt=L(nt,[["__scopeId","data-v-1d87d974"]]);export{Lt as default}; diff --git a/web/dist/assets/Setting-51598333.js b/web/dist/assets/Setting-51598333.js new file mode 100644 index 00000000..d95e178c --- /dev/null +++ b/web/dist/assets/Setting-51598333.js @@ -0,0 +1 @@ +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{d as ye,r as d,D as H,j as ke,c as g,U as t,a0 as s,P as b,N as _,o as r,a as m,Z as u,e as c,L as R,z as be,v as Ce,O as q,a1 as B,V as Ie,W as $e}from"./@vue-d002002f.js";import{u as Pe}from"./vuex-4d2f7b35.js";import{S as Q,T as Ue,U as Se,V as Re,W as qe,X as Be,Y as Ae,_ as Ne}from"./index-0f3021a1.js";import{x as ze}from"./@vicons-4022100b.js";import{h as Ke,o as xe,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Oe,K as Ee,a0 as Le,a1 as We,d as Me}from"./naive-ui-88b48034.js";import"./vue-router-29e6667f.js";import"./vooks-77bdadbd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./@css-render-6b6cdab1.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Ge={class:"base-line avatar"},Je={class:"base-line"},Xe=V(()=>m("span",{class:"base-label"},"昵称",-1)),Ye={key:0},Ze={class:"base-line"},He=V(()=>m("span",{class:"base-label"},"用户名",-1)),Qe={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),W=d(),M=d(),C=d(!1),x=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),G=d(),J=d(),X=d(),Y=d(),a=H({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=H({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=W.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=Y.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=X.value)==null||e.validate(v=>{v||(x.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&j()}))})},T=()=>{Q().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{Q().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=M.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=Ve,ge=Te,F=Ke,Z=je,w=Oe,he=Ee,O=Le,E=We,L=Me;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ge,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:W,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Je,[Xe,C.value?_("",!0):(r(),g("div",Ye,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:M,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[He,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Qe,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:G,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:J,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:X,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:Y,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Setting-e97b467a.js b/web/dist/assets/Setting-e97b467a.js deleted file mode 100644 index 396cfc43..00000000 --- a/web/dist/assets/Setting-e97b467a.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{d as ye,r as d,D as Q,j as ke,c as g,L as t,$ as s,K as b,O as _,o as r,a as m,Y as u,e as c,M as R,z as be,v as Ce,P as q,a0 as B,U as Ie,V as $e}from"./@vue-ca177dbe.js";import{u as Pe}from"./vuex-d28e9067.js";import{S as Z,T as Ue,U as Se,V as Re,W as qe,X as Be,Y as Ae,_ as ze}from"./index-71354138.js";import{x as Ke}from"./@vicons-6d35273b.js";import{h as Ne,o as xe,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Oe,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-2035804c.js";import"./vue-router-88cc84d1.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Ye={class:"base-line avatar"},Ge={class:"base-line"},Je=V(()=>m("span",{class:"base-label"},"昵称",-1)),Xe={key:0},He={class:"base-line"},Qe=V(()=>m("span",{class:"base-label"},"用户名",-1)),Ze={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),K=d(!1),N=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),J=d(),X=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=X.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{v||(x.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(K.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{K.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{K.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(N.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{N.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{N.value=!1,f.code===20012&&j()}))})},T=()=>{Z().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{Z().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=Ve,ge=Te,F=Ne,H=je,w=Oe,he=Ee,O=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Je,C.value?_("",!0):(r(),g("div",Xe,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ke))]),_:1})]),_:1})):_("",!0)]),m("div",He,[Qe,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Ze,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(H,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(H,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:J,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:X,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(O,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-31413ff4.js b/web/dist/assets/Topic-31413ff4.js new file mode 100644 index 00000000..ecfb021b --- /dev/null +++ b/web/dist/assets/Topic-31413ff4.js @@ -0,0 +1 @@ +import{w as F,x as M,y as O,z as U,_ as j}from"./index-0f3021a1.js";import{p as E}from"./@vicons-4022100b.js";import{d as $,r as i,n as q,j as A,a2 as x,o as c,c as _,U as n,a0 as s,P as b,e as L,L as f,N as u,Z as h,w as D,a6 as P,F as Z,a3 as G}from"./@vue-d002002f.js";import{o as H,M as B,j as J,e as K,O as Q,L as R,F as W,f as X,g as Y,a as ee,k as oe}from"./naive-ui-88b48034.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{u as ne}from"./vuex-4d2f7b35.js";import"./vue-router-29e6667f.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./evtd-b614532e.js";import"./@css-render-6b6cdab1.js";import"./vooks-77bdadbd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=$({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=q(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return A(()=>{r.value=!1}),(e,o)=>{const w=x("router-link"),g=H,k=B,a=J,d=K,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[L(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(E))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=$({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);D(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=q({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,U({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return A(()=>{g()}),(a,d)=>{const v=te,p=X,C=B,N=Y,V=ie,S=ee,z=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(N,{type:"line",animated:"","onUpdate:value":k},P({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(C,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[L(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(z,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Z,null,G(r.value,y=>(c(),b(V,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Ve=j(_e,[["__scopeId","data-v-15794a53"]]);export{Ve as default}; diff --git a/web/dist/assets/Topic-ea29dcd9.js b/web/dist/assets/Topic-ea29dcd9.js deleted file mode 100644 index 14929fa5..00000000 --- a/web/dist/assets/Topic-ea29dcd9.js +++ /dev/null @@ -1 +0,0 @@ -import{w as x,x as S,y as z,z as I,_ as j}from"./index-71354138.js";import{p as E}from"./@vicons-6d35273b.js";import{d as F,r as _,n as $,j as q,a1 as U,o as l,c as u,L as n,$ as a,K as T,e as A,M as w,O as m,Y as r,w as D,a6 as K,F as Y,a2 as G}from"./@vue-ca177dbe.js";import{o as H,M as L,j as J,e as P,O as Q,L as R,F as W,f as X,g as Z,a as tt,k as et}from"./naive-ui-2035804c.js";import{_ as ot}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{u as nt}from"./vuex-d28e9067.js";import"./vue-router-88cc84d1.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const st={key:0,class:"tag-item"},at={key:0,class:"tag-quote"},ct={key:1,class:"tag-quote tag-follow"},lt={key:0,class:"options"},it=F({__name:"tag-item",props:{tag:null,showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(s){const e=s,g=_(!1),d=$(()=>{let o=[];return e.tag.is_following===0?o.push({label:"关注",key:"follow"}):(e.tag.is_top===0?o.push({label:"置顶",key:"stick"}):o.push({label:"取消置顶",key:"unstick"}),o.push({label:"取消关注",key:"unfollow"})),o}),i=o=>{switch(o){case"follow":z({topic_id:e.tag.id}).then(t=>{e.tag.is_following=1,window.$message.success("关注成功")}).catch(t=>{console.log(t)});break;case"unfollow":S({topic_id:e.tag.id}).then(t=>{e.tag.is_following=0,window.$message.success("取消关注")}).catch(t=>{console.log(t)});break;case"stick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("置顶成功")}).catch(t=>{console.log(t)});break;case"unstick":x({topic_id:e.tag.id}).then(t=>{e.tag.is_top=t.top_status,window.$message.success("取消置顶")}).catch(t=>{console.log(t)});break}};return q(()=>{g.value=!1}),(o,t)=>{const k=U("router-link"),f=H,v=L,c=J,h=P,y=Q,p=R;return!s.checkFollowing||s.checkFollowing&&s.tag.is_following===1?(l(),u("div",st,[n(p,null,{header:a(()=>[(l(),T(v,{type:"success",size:"large",round:"",key:s.tag.id},{avatar:a(()=>[n(f,{src:s.tag.user.avatar},null,8,["src"])]),default:a(()=>[n(k,{class:"hash-link",to:{name:"home",query:{q:s.tag.tag,t:"tag"}}},{default:a(()=>[A(" #"+w(s.tag.tag),1)]),_:1},8,["to"]),s.showAction?m("",!0):(l(),u("span",at,"("+w(s.tag.quote_num)+")",1)),s.showAction?(l(),u("span",ct,"("+w(s.tag.quote_num)+")",1)):m("",!0)]),_:1}))]),"header-extra":a(()=>[s.showAction?(l(),u("div",lt,[n(y,{placement:"bottom-end",trigger:"click",size:"small",options:r(d),onSelect:i},{default:a(()=>[n(h,{type:"success",quaternary:"",circle:"",block:""},{icon:a(()=>[n(c,null,{default:a(()=>[n(r(E))]),_:1})]),_:1})]),_:1},8,["options"])])):m("",!0)]),_:1})])):m("",!0)}}});const _t=F({__name:"Topic",setup(s){const e=nt(),g=_([]),d=_("hot"),i=_(!1),o=_(!1),t=_(!1);D(o,()=>{o.value||(window.$message.success("保存成功"),e.commit("refreshTopicFollow"))});const k=$({get:()=>{let c="编辑";return o.value&&(c="保存"),c},set:c=>{}}),f=()=>{i.value=!0,I({type:d.value,num:50}).then(c=>{g.value=c.topics,i.value=!1}).catch(c=>{console.log(c),i.value=!1})},v=c=>{d.value=c,c=="follow"?t.value=!0:t.value=!1,f()};return q(()=>{f()}),(c,h)=>{const y=ot,p=X,B=L,C=Z,V=it,M=tt,N=et,O=W;return l(),u("div",null,[n(y,{title:"话题"}),n(O,{class:"main-content-wrap tags-wrap",bordered:""},{default:a(()=>[n(C,{type:"line",animated:"","onUpdate:value":v},K({default:a(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),r(e).state.userLogined?(l(),T(p,{key:0,name:"follow",tab:"关注"})):m("",!0)]),_:2},[r(e).state.userLogined?{name:"suffix",fn:a(()=>[n(B,{checked:o.value,"onUpdate:checked":h[0]||(h[0]=b=>o.value=b),checkable:""},{default:a(()=>[A(w(r(k)),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(N,{show:i.value},{default:a(()=>[n(M,null,{default:a(()=>[(l(!0),u(Y,null,G(g.value,b=>(l(),T(V,{tag:b,showAction:r(e).state.userLogined&&o.value,checkFollowing:t.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Vt=j(_t,[["__scopeId","data-v-15794a53"]]);export{Vt as default}; diff --git a/web/dist/assets/User-44311937.js b/web/dist/assets/User-44311937.js new file mode 100644 index 00000000..67a6b90d --- /dev/null +++ b/web/dist/assets/User-44311937.js @@ -0,0 +1 @@ +import{_ as ce}from"./post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js";import{_ as re}from"./post-skeleton-8710588f.js";import{B as ue,_ as I,C as pe,D as de,A as me,E as he,F as ve}from"./index-0f3021a1.js";import{Q as B,R as M,S as R,b as T,e as S,i as A,u as fe,T as ge,F as we,G as ye,o as ke,M as be,j as xe,O as $e,k as Ue,f as Fe,g as ze,I as Ie,H as Se}from"./naive-ui-88b48034.js";import{d as q,r as c,o as _,P as F,a0 as t,a as r,U as n,e as m,L as b,D as qe,n as We,w as Ce,j as Pe,c as d,Z as $,N as U,F as Be,a3 as Me}from"./@vue-d002002f.js";import{_ as Re}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{u as Te}from"./vuex-4d2f7b35.js";import{b as Ae}from"./vue-router-29e6667f.js";import{i as De}from"./@vicons-4022100b.js";import"./content-b5ab8047.js";import"./paopao-video-player-d47e9bf6.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./evtd-b614532e.js";import"./@css-render-6b6cdab1.js";import"./vooks-77bdadbd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ne={class:"whisper-wrap"},Ve={class:"whisper-line"},Le={class:"whisper-line send-wrap"},je=q({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(z,{emit:x}){const u=z,o=c(""),l=c(!1),e=()=>{x("success")},i=()=>{l.value=!0,ue({user_id:u.user.id,content:o.value}).then(a=>{window.$message.success("发送成功"),l.value=!1,o.value="",e()}).catch(a=>{l.value=!1})};return(a,p)=>{const h=B,v=M,f=R,g=T,w=S,y=A;return _(),F(y,{show:a.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[r("div",Ne,[n(f,{"show-icon":!1},{default:t(()=>[m(" 即将发送私信给: "),n(v,{style:{"max-width":"100%"}},{default:t(()=>[n(h,{type:"success"},{default:t(()=>[m(b(a.user.nickname)+"@"+b(a.user.username),1)]),_:1})]),_:1})]),_:1}),r("div",Ve,[n(g,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":p[0]||(p[0]=k=>o.value=k),maxlength:"200","show-count":""},null,8,["value"])]),r("div",Le,[n(w,{strong:"",secondary:"",type:"primary",loading:l.value,onClick:i},{default:t(()=>[m(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ee=I(je,[["__scopeId","data-v-0cbfe47c"]]),He={class:"whisper-wrap"},Oe={class:"whisper-line"},Ge={class:"whisper-line send-wrap"},Qe=q({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(z,{emit:x}){const u=z,o=c(""),l=c(!1),e=()=>{x("success")},i=()=>{l.value=!0,pe({user_id:u.user.id,greetings:o.value}).then(a=>{window.$message.success("发送成功"),l.value=!1,o.value="",e()}).catch(a=>{l.value=!1})};return(a,p)=>{const h=B,v=M,f=R,g=T,w=S,y=A;return _(),F(y,{show:a.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[r("div",He,[n(f,{"show-icon":!1},{default:t(()=>[m(" 发送添加朋友申请给: "),n(v,{style:{"max-width":"100%"}},{default:t(()=>[n(h,{type:"success"},{default:t(()=>[m(b(a.user.nickname)+"@"+b(a.user.username),1)]),_:1})]),_:1})]),_:1}),r("div",Oe,[n(g,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":p[0]||(p[0]=k=>o.value=k),maxlength:"120","show-count":""},null,8,["value"])]),r("div",Ge,[n(w,{strong:"",secondary:"",type:"primary",loading:l.value,onClick:i},{default:t(()=>[m(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ze=I(Qe,[["__scopeId","data-v-60be56a2"]]),Je={key:0,class:"profile-baseinfo"},Ke={class:"avatar"},Xe={class:"base-info"},Ye={class:"username"},es={class:"uid"},ss={key:0,class:"user-opts"},ns={key:0,class:"skeleton-wrap"},ts={key:1},os={key:0,class:"empty-wrap"},as={key:0,class:"pagination-wrap"},ls=q({__name:"User",setup(z){fe();const x=ge(),u=Te(),o=Ae(),l=c(!1),e=qe({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),i=c(!1),a=c(!1),p=c(!1),h=c([]),v=c(o.query.username||""),f=c(+o.query.p||1),g=c(20),w=c(0),y=()=>{l.value=!0,me({username:v.value,page:f.value,page_size:g.value}).then(s=>{l.value=!1,h.value=s.list,w.value=Math.ceil(s.pager.total_rows/g.value),window.scrollTo(0,0)}).catch(s=>{l.value=!1})},k=()=>{i.value=!0,de({username:v.value}).then(s=>{i.value=!1,e.id=s.id,e.avatar=s.avatar,e.username=s.username,e.nickname=s.nickname,e.is_admin=s.is_admin,e.is_friend=s.is_friend,e.status=s.status,y()}).catch(s=>{i.value=!1,console.log(s)})},D=s=>{f.value=s,y()},N=()=>{a.value=!0},V=()=>{p.value=!0},L=()=>{a.value=!1},j=()=>{p.value=!1},E=We(()=>{let s=[{label:"私信",key:"whisper"}];return u.state.userInfo.is_admin&&(e.status===1?s.push({label:"禁言",key:"banned"}):s.push({label:"解封",key:"deblocking"})),e.is_friend?s.push({label:"删除好友",key:"delete"}):s.push({label:"添加朋友",key:"requesting"}),s}),H=s=>{switch(s){case"whisper":N();break;case"delete":O();break;case"requesting":V();break;case"banned":case"deblocking":G();break}},O=()=>{x.warning({title:"删除好友",content:"将好友 “"+e.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{i.value=!0,he({user_id:e.id}).then(s=>{i.value=!1,e.is_friend=!1,y()}).catch(s=>{i.value=!1,console.log(s)})}})},G=()=>{x.warning({title:"警告",content:"确定对该用户进行"+(e.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{i.value=!0,ve({id:e.id,status:e.status===1?2:1}).then(s=>{i.value=!1,k()}).catch(s=>{i.value=!1,console.log(s)})}})};return Ce(()=>({path:o.path,query:o.query}),(s,W)=>{W.path==="/user"&&s.path==="/user"&&(v.value=o.query.username||"",k())}),Pe(()=>{k()}),(s,W)=>{const Q=Re,Z=ke,C=be,J=xe,K=S,X=$e,Y=Ee,ee=Ue,se=Fe,ne=ze,te=re,oe=Ie,ae=ce,le=Se,ie=we,_e=ye;return _(),d("div",null,[n(Q,{title:"用户详情"}),n(ie,{class:"main-content-wrap profile-wrap",bordered:""},{default:t(()=>[n(ee,{show:i.value},{default:t(()=>[e.id>0?(_(),d("div",Je,[r("div",Ke,[n(Z,{size:"large",src:e.avatar},null,8,["src"])]),r("div",Xe,[r("div",Ye,[r("strong",null,b(e.nickname),1),r("span",null," @"+b(e.username),1),$(u).state.userInfo.id>0&&$(u).state.userInfo.username!=e.username&&e.is_friend?(_(),F(C,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:t(()=>[m(" 好友 ")]),_:1})):U("",!0),e.is_admin?(_(),F(C,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:t(()=>[m(" 管理员 ")]),_:1})):U("",!0)]),r("div",es,"UID. "+b(e.id),1)]),$(u).state.userInfo.id>0&&$(u).state.userInfo.username!=e.username?(_(),d("div",ss,[n(X,{placement:"bottom-end",trigger:"click",size:"small",options:E.value,onSelect:H},{default:t(()=>[n(K,{quaternary:"",circle:""},{icon:t(()=>[n(J,null,{default:t(()=>[n($(De))]),_:1})]),_:1})]),_:1},8,["options"])])):U("",!0)])):U("",!0),n(Y,{show:a.value,user:e,onSuccess:L},null,8,["show","user"]),n(Ze,{show:p.value,user:e,onSuccess:j},null,8,["show","user"])]),_:1},8,["show"]),n(ne,{class:"profile-tabs-wrap",animated:""},{default:t(()=>[n(se,{name:"post",tab:"泡泡"})]),_:1}),l.value?(_(),d("div",ns,[n(te,{num:g.value},null,8,["num"])])):(_(),d("div",ts,[h.value.length===0?(_(),d("div",os,[n(oe,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),d(Be,null,Me(h.value,P=>(_(),F(le,{key:P.id},{default:t(()=>[n(ae,{post:P},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),w.value>0?(_(),d("div",as,[n(_e,{page:f.value,"onUpdate:page":D,"page-slot":$(u).state.collapsedRight?5:8,"page-count":w.value},null,8,["page","page-slot","page-count"])])):U("",!0)])}}});const Ts=I(ls,[["__scopeId","data-v-46a0183a"]]);export{Ts as default}; diff --git a/web/dist/assets/User-645b4d7e.js b/web/dist/assets/User-645b4d7e.js deleted file mode 100644 index fab128cb..00000000 --- a/web/dist/assets/User-645b4d7e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as _e}from"./post-item.vue_vue_type_style_index_0_lang-09a3d19d.js";import{_ as re}from"./post-skeleton-fdd699ea.js";import{B as ue,_ as I,C as pe,D as de,A as me,E as he,F as ve}from"./index-71354138.js";import{Q as B,R as P,S as R,b as T,e as S,i as A,u as fe,T as ge,F as we,G as ye,o as ke,M as be,j as xe,O as $e,k as Ue,f as Fe,g as ze,I as Ie,H as Se}from"./naive-ui-2035804c.js";import{d as q,r as c,o as i,K as z,$ as t,a as _,L as n,e as h,M as $,D as qe,n as We,w as Ce,j as Me,c as m,Y as x,O as F,F as Be,a2 as Pe}from"./@vue-ca177dbe.js";import{_ as Re}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{u as Te}from"./vuex-d28e9067.js";import{b as Ae}from"./vue-router-88cc84d1.js";import{i as De}from"./@vicons-6d35273b.js";import"./content-3f1d28f2.js";import"./nonesir-video-db921567.js";import"./formatTime-000dbebb.js";import"./moment-b7869f98.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ne={class:"whisper-wrap"},Ve={class:"whisper-line"},Le={class:"whisper-line send-wrap"},Oe=q({__name:"whisper",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,ue({user_id:u.user.id,content:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=B,f=P,g=R,w=T,y=S,k=A;return i(),z(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ne,[n(g,{"show-icon":!1},{default:t(()=>[h(" 即将发送私信给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",Ve,[n(w,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"200","show-count":""},null,8,["value"])]),_("div",Le,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const je=I(Oe,[["__scopeId","data-v-0cbfe47c"]]),Ee={class:"whisper-wrap"},He={class:"whisper-line"},Ge={class:"whisper-line send-wrap"},Ke=q({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:null},emits:["success"],setup(r,{emit:U}){const u=r,a=c(""),o=c(!1),e=()=>{U("success")},l=()=>{o.value=!0,pe({user_id:u.user.id,greetings:a.value}).then(p=>{window.$message.success("发送成功"),o.value=!1,a.value="",e()}).catch(p=>{o.value=!1})};return(p,d)=>{const v=B,f=P,g=R,w=T,y=S,k=A;return i(),z(k,{show:r.show,"onUpdate:show":e,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:t(()=>[_("div",Ee,[n(g,{"show-icon":!1},{default:t(()=>[h(" 发送添加朋友申请给: "),n(f,{style:{"max-width":"100%"}},{default:t(()=>[n(v,{type:"success"},{default:t(()=>[h($(r.user.nickname)+"@"+$(r.user.username),1)]),_:1})]),_:1})]),_:1}),_("div",He,[n(w,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:a.value,"onUpdate:value":d[0]||(d[0]=b=>a.value=b),maxlength:"120","show-count":""},null,8,["value"])]),_("div",Ge,[n(y,{strong:"",secondary:"",type:"primary",loading:o.value,onClick:l},{default:t(()=>[h(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Qe=I(Ke,[["__scopeId","data-v-60be56a2"]]),Ye={key:0,class:"profile-baseinfo"},Je={class:"avatar"},Xe={class:"base-info"},Ze={class:"username"},es={class:"uid"},ss={key:0,class:"user-opts"},ns={key:0,class:"skeleton-wrap"},ts={key:1},as={key:0,class:"empty-wrap"},os={key:0,class:"pagination-wrap"},ls=q({__name:"User",setup(r){fe();const U=ge(),u=Te(),a=Ae(),o=c(!1),e=qe({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),l=c(!1),p=c(!1),d=c(!1),v=c([]),f=c(a.query.username||""),g=c(+a.query.p||1),w=c(20),y=c(0),k=()=>{o.value=!0,me({username:f.value,page:g.value,page_size:w.value}).then(s=>{o.value=!1,v.value=s.list,y.value=Math.ceil(s.pager.total_rows/w.value),window.scrollTo(0,0)}).catch(s=>{o.value=!1})},b=()=>{l.value=!0,de({username:f.value}).then(s=>{l.value=!1,e.id=s.id,e.avatar=s.avatar,e.username=s.username,e.nickname=s.nickname,e.is_admin=s.is_admin,e.is_friend=s.is_friend,e.status=s.status,k()}).catch(s=>{l.value=!1,console.log(s)})},D=s=>{g.value=s,k()},N=()=>{p.value=!0},V=()=>{d.value=!0},L=()=>{p.value=!1},O=()=>{d.value=!1},j=We(()=>{let s=[{label:"私信",key:"whisper"}];return u.state.userInfo.is_admin&&(e.status===1?s.push({label:"禁言",key:"banned"}):s.push({label:"解封",key:"deblocking"})),e.is_friend?s.push({label:"删除好友",key:"delete"}):s.push({label:"添加朋友",key:"requesting"}),s}),E=s=>{switch(s){case"whisper":N();break;case"delete":H();break;case"requesting":V();break;case"banned":case"deblocking":G();break}},H=()=>{U.warning({title:"删除好友",content:"将好友 “"+e.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,he({user_id:e.id}).then(s=>{l.value=!1,e.is_friend=!1,k()}).catch(s=>{l.value=!1,console.log(s)})}})},G=()=>{U.warning({title:"警告",content:"确定对该用户进行"+(e.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{l.value=!0,ve({id:e.id,status:e.status===1?2:1}).then(s=>{l.value=!1,b()}).catch(s=>{l.value=!1,console.log(s)})}})};return Ce(()=>({path:a.path,query:a.query}),(s,W)=>{W.path==="/user"&&s.path==="/user"&&(f.value=a.query.username||"",b())}),Me(()=>{b()}),(s,W)=>{const K=Re,Q=ke,C=be,Y=xe,J=S,X=$e,Z=je,ee=Ue,se=Fe,ne=ze,te=re,ae=Ie,oe=_e,le=Se,ie=we,ce=ye;return i(),m("div",null,[n(K,{title:"用户详情"}),n(ie,{class:"main-content-wrap profile-wrap",bordered:""},{default:t(()=>[n(ee,{show:l.value},{default:t(()=>[e.id>0?(i(),m("div",Ye,[_("div",Je,[n(Q,{size:"large",src:e.avatar},null,8,["src"])]),_("div",Xe,[_("div",Ze,[_("strong",null,$(e.nickname),1),_("span",null," @"+$(e.username),1),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username&&e.is_friend?(i(),z(C,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:t(()=>[h(" 好友 ")]),_:1})):F("",!0),e.is_admin?(i(),z(C,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:t(()=>[h(" 管理员 ")]),_:1})):F("",!0)]),_("div",es,"UID. "+$(e.id),1)]),x(u).state.userInfo.id>0&&x(u).state.userInfo.username!=e.username?(i(),m("div",ss,[n(X,{placement:"bottom-end",trigger:"click",size:"small",options:x(j),onSelect:E},{default:t(()=>[n(J,{quaternary:"",circle:""},{icon:t(()=>[n(Y,null,{default:t(()=>[n(x(De))]),_:1})]),_:1})]),_:1},8,["options"])])):F("",!0)])):F("",!0),n(Z,{show:p.value,user:e,onSuccess:L},null,8,["show","user"]),n(Qe,{show:d.value,user:e,onSuccess:O},null,8,["show","user"])]),_:1},8,["show"]),n(ne,{class:"profile-tabs-wrap",animated:""},{default:t(()=>[n(se,{name:"post",tab:"泡泡"})]),_:1}),o.value?(i(),m("div",ns,[n(te,{num:w.value},null,8,["num"])])):(i(),m("div",ts,[v.value.length===0?(i(),m("div",as,[n(ae,{size:"large",description:"暂无数据"})])):F("",!0),(i(!0),m(Be,null,Pe(v.value,M=>(i(),z(le,{key:M.id},{default:t(()=>[n(oe,{post:M},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),y.value>0?(i(),m("div",os,[n(ce,{page:g.value,"onUpdate:page":D,"page-slot":x(u).state.collapsedRight?5:8,"page-count":y.value},null,8,["page","page-slot","page-count"])])):F("",!0)])}}});const Ts=I(ls,[["__scopeId","data-v-46a0183a"]]);export{Ts as default}; diff --git a/web/dist/assets/Wallet-595cd027.js b/web/dist/assets/Wallet-595cd027.js deleted file mode 100644 index eea6d586..00000000 --- a/web/dist/assets/Wallet-595cd027.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as H}from"./post-skeleton-fdd699ea.js";import{_ as Z}from"./main-nav.vue_vue_type_style_index_0_lang-5097b22a.js";import{d as J,r as c,j as X,c as _,L as e,$ as o,o as n,Y as y,O as w,a,e as k,F as $,a2 as N,z as ee,v as te,M as r,K as q,a4 as oe,a0 as ae,U as ne,V as se}from"./@vue-ca177dbe.js";import{u as le}from"./vuex-d28e9067.js";import{b as ce}from"./vue-router-88cc84d1.js";import{b as ie}from"./qrcode-bd5089a5.js";import{O as _e,P as re,Q as ue,R as pe,_ as me}from"./index-71354138.js";import{a as de}from"./formatTime-000dbebb.js";import{w as ge}from"./@vicons-6d35273b.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Ce,l as Ie,h as Se,H as Re}from"./naive-ui-2035804c.js";import"./vooks-2c48c2b5.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./@css-render-480a363d.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const O=d=>(ne("data-v-870bd246"),d=d(),se(),d),Ae={class:"balance-wrap"},ze={class:"balance-line"},$e={class:"balance-opts"},Ne={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Oe={key:1},Pe={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Le={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},Ue=O(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},We={class:"pay-sub-tips"},Ee=O(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Me=J({__name:"Wallet",setup(d){const i=le(),P=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+P.query.p||1),C=c(20),I=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},L=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(m=>{m.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(m=>{console.log(m)})},2e3)}).catch(l=>{v.value=!1})},U=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return X(()=>{A()}),(s,l)=>{const S=Z,m=fe,V=ye,f=we,z=ke,W=be,E=H,M=xe,D=Re,j=ve,K=Ce,Q=Ie,Y=Se,G=he;return n(),_("div",null,[e(S,{title:"钱包"}),e(j,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(n(),_("div",Ne,[e(W,{page:x.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(m,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["from","to"])]),_:1}),a("div",$e,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:L},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:U},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(E,{num:C.value},null,8,["num"])])):(n(),_("div",Oe,[b.value.length===0?(n(),_("div",Pe,[e(M,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_($,null,N(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",Be,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(G,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(Y,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Fe,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_($,null,N(B.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Le,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(K,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Te,[Ue,a("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",We,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ee])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=me(Me,[["__scopeId","data-v-870bd246"]]);export{yt as default}; diff --git a/web/dist/assets/Wallet-ec5cbdee.js b/web/dist/assets/Wallet-ec5cbdee.js new file mode 100644 index 00000000..6c644468 --- /dev/null +++ b/web/dist/assets/Wallet-ec5cbdee.js @@ -0,0 +1 @@ +import{_ as H}from"./post-skeleton-8710588f.js";import{_ as Y}from"./main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js";import{d as J,r as c,j as X,c as _,U as e,a0 as o,o as n,Z as y,N as w,a,e as k,F as N,a3 as P,z as ee,v as te,L as r,P as $,K as oe,a1 as ae,V as ne,W as se}from"./@vue-d002002f.js";import{u as le}from"./vuex-4d2f7b35.js";import{b as ce}from"./vue-router-29e6667f.js";import{b as ie}from"./qrcode-bd5089a5.js";import{O as _e,P as re,Q as ue,R as pe,_ as de}from"./index-0f3021a1.js";import{a as me}from"./formatTime-000dbebb.js";import{w as ge}from"./@vicons-4022100b.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Ce,l as Ie,h as Se,H as Re}from"./naive-ui-88b48034.js";import"./vooks-77bdadbd.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./@css-render-6b6cdab1.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-b7869f98.js";const q=m=>(ne("data-v-870bd246"),m=m(),se(),m),Ae={class:"balance-wrap"},ze={class:"balance-line"},Ne={class:"balance-opts"},Pe={key:0,class:"pagination-wrap"},$e={key:0,class:"skeleton-wrap"},qe={key:1},We={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Le={key:1,style:{"margin-top":"10px"}},Oe={class:"qrcode-wrap"},Te=q(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ue={class:"pay-tips"},Ve={class:"pay-sub-tips"},Ee=q(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),De=J({__name:"Wallet",setup(m){const i=le(),W=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+W.query.p||1),C=c(20),I=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},L=()=>{g.value=!0},O=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},T=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return X(()=>{A()}),(s,l)=>{const S=Y,d=fe,U=ye,f=we,z=ke,V=be,E=H,D=xe,M=Re,j=ve,K=Ce,Q=Ie,Z=Se,G=he;return n(),_("div",null,[e(S,{title:"钱包"}),e(j,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(n(),_("div",Pe,[e(V,{page:x.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(U,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),a("div",Ne,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:L},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:T},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",$e,[e(E,{num:C.value},null,8,["num"])])):(n(),_("div",qe,[b.value.length===0?(n(),_("div",We,[e(D,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_(N,null,P(b.value,t=>(n(),$(M,{key:t.id},{default:o(()=>[a("div",Be,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(me)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(G,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(Z,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Fe,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_(N,null,P(B.value,t=>(n(),$(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Le,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:O},{icon:o(()=>[e(K,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Oe,[Te,a("div",Ue," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",Ve,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ee])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=de(De,[["__scopeId","data-v-870bd246"]]);export{yt as default}; diff --git a/web/dist/assets/content-3f1d28f2.js b/web/dist/assets/content-3f1d28f2.js deleted file mode 100644 index 79fd4105..00000000 --- a/web/dist/assets/content-3f1d28f2.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h,o as e,c as r,F as a,a2 as m,L as s,$ as o,Y as c,a as j,M as $,a0 as k,K as _,O as g,r as C,e as B,s as b}from"./@vue-ca177dbe.js";import{u as D,v as L}from"./@vicons-6d35273b.js";import{j as I,V as N,W as V,m as M,X as z,e as F,i as O}from"./naive-ui-2035804c.js";import{_ as A,L as T,M as U}from"./index-71354138.js";import{N as P}from"./nonesir-video-db921567.js";const R={class:"link-wrap"},K=["href"],S={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=I;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(D))]),_:1}),j("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[j("span",S,$(n.content),1)],8,K)]))),128))])}}});const nt=A(W,[["__scopeId","data-v-6c4d1eb6"]]),X={key:0},ot=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=N,n=V;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:y.full?1:5},{default:o(()=>[s(x,{span:y.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),_(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},st=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=M,d=N,f=V,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),_(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),_(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),_(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),_(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),_(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),_(d,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),_(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),_(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),_(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),_(d,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},q=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=C(!1),u=C(""),x=C(0),n=d=>{p.value=!0,x.value=d.id,u.value="这是一个免费附件,您可以直接下载?",d.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),T({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{U({id:x.value}).then(d=>{window.open(d.signed_url.replace("http://","https://"),"_blank")}).catch(d=>{console.log(d)})};return(d,f)=>{const w=I,t=F,i=O;return e(),r("div",Z,[(e(!0),r(a,null,m(y.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(G=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(L))]),_:1})]),default:o(()=>[B(" "+$(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const rt=A(q,[["__scopeId","data-v-22563084"]]),lt=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{st as _,rt as a,ot as b,nt as c,lt as p}; diff --git a/web/dist/assets/content-b5ab8047.js b/web/dist/assets/content-b5ab8047.js new file mode 100644 index 00000000..f7fbe16b --- /dev/null +++ b/web/dist/assets/content-b5ab8047.js @@ -0,0 +1 @@ +import{d as h,o as e,c as r,F as a,a3 as m,U as s,a0 as o,Z as c,a as j,L as I,a1 as k,P as d,N as g,r as C,e as D,s as b}from"./@vue-d002002f.js";import{u as L,v as V}from"./@vicons-4022100b.js";import{j as $,V as N,W as A,m as U,X as z,e as F,i as M}from"./naive-ui-88b48034.js";import{_ as B,L as P,M as T}from"./index-0f3021a1.js";import{e as O}from"./paopao-video-player-d47e9bf6.js";const R={class:"link-wrap"},Z=["href"],S={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(L))]),_:1}),j("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[j("span",S,I(n.content),1)],8,Z)]))),128))])}}});const nt=B(W,[["__scopeId","data-v-6c4d1eb6"]]),X={key:0},ot=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=N,n=A;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),q={class:"images-wrap"},st=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=N,f=A,w=z;return e(),r("div",q,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const G={class:"attachment-wrap"},H=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=C(!1),u=C(""),x=C(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),P({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{T({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=M;return e(),r("div",G,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(V))]),_:1})]),default:o(()=>[D(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const rt=B(H,[["__scopeId","data-v-22563084"]]),lt=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{st as _,rt as a,ot as b,nt as c,lt as p}; diff --git a/web/dist/assets/index-0f3021a1.js b/web/dist/assets/index-0f3021a1.js new file mode 100644 index 00000000..9a6d9551 --- /dev/null +++ b/web/dist/assets/index-0f3021a1.js @@ -0,0 +1 @@ +import{d as z,r as R,D as Z,j,o as v,P as D,a0 as a,a as k,U as o,c as T,e as S,O as q,a1 as N,N as U,Z as h,n as Q,w as H,a2 as ae,F as J,a3 as X,L as $,s as P,a4 as he,Q as Y,K as ge,a5 as fe}from"./@vue-d002002f.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-29e6667f.js";import{c as ke,u as B}from"./vuex-4d2f7b35.js";import{a as be}from"./axios-4a70c6fc.js";import{_ as Pe,N as Le,a as ue,b as ce,c as Oe,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ce,j as F,k as Ee,u as Ie,l as $e,m as Se,n as Ue,o as Me,p as Ke,q as qe,r as Ne,s as De,t as xe}from"./naive-ui-88b48034.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-4022100b.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-0232e3b9.js";import"./evtd-b614532e.js";import"./@css-render-6b6cdab1.js";import"./vooks-77bdadbd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&i(m)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Ze=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Ze(n),n in se)return;se[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const _=c[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=m?"stylesheet":Ge,m||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),m)return new Promise((b,_)=>{g.addEventListener("load",b),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())},Je=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-95daf6e0.js"),["assets/Home-95daf6e0.js","assets/post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js","assets/content-b5ab8047.js","assets/@vue-d002002f.js","assets/@vicons-4022100b.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-d47e9bf6.js","assets/content-cc55174b.css","assets/vuex-4d2f7b35.js","assets/vue-router-29e6667f.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-8710588f.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Home-47eb20e2.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-9d62007f.js"),["assets/Post-9d62007f.js","assets/@vue-d002002f.js","assets/vuex-4d2f7b35.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/IEnum-a180d93e.js","assets/@vicons-4022100b.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-b5ab8047.js","assets/paopao-video-player-d47e9bf6.js","assets/content-cc55174b.css","assets/vue-router-29e6667f.js","assets/post-skeleton-8710588f.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/main-nav-3ef9bae6.css","assets/v3-infinite-loading-58f64a4e.js","assets/v3-infinite-loading-7d241236.css","assets/axios-4a70c6fc.js","assets/Post-d4d1dd23.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-31413ff4.js"),["assets/Topic-31413ff4.js","assets/@vicons-4022100b.js","assets/@vue-d002002f.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/vuex-4d2f7b35.js","assets/vue-router-29e6667f.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-03e2840f.js"),["assets/Anouncement-03e2840f.js","assets/post-skeleton-8710588f.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/@vue-d002002f.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/vuex-4d2f7b35.js","assets/vue-router-29e6667f.js","assets/@vicons-4022100b.js","assets/main-nav-3ef9bae6.css","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-4a70c6fc.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-5a5650f5.js"),["assets/Profile-5a5650f5.js","assets/post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js","assets/content-b5ab8047.js","assets/@vue-d002002f.js","assets/@vicons-4022100b.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-d47e9bf6.js","assets/content-cc55174b.css","assets/vuex-4d2f7b35.js","assets/vue-router-29e6667f.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-8710588f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Profile-5d71a5c2.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-44311937.js"),["assets/User-44311937.js","assets/post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js","assets/content-b5ab8047.js","assets/@vue-d002002f.js","assets/@vicons-4022100b.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-d47e9bf6.js","assets/content-cc55174b.css","assets/vuex-4d2f7b35.js","assets/vue-router-29e6667f.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-8710588f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/User-4f525d0f.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-bfeaef81.js"),["assets/Messages-bfeaef81.js","assets/@vue-d002002f.js","assets/vue-router-29e6667f.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/@vicons-4022100b.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/vuex-4d2f7b35.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-d2c48dce.js"),["assets/Collection-d2c48dce.js","assets/post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js","assets/content-b5ab8047.js","assets/@vue-d002002f.js","assets/@vicons-4022100b.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-d47e9bf6.js","assets/content-cc55174b.css","assets/vuex-4d2f7b35.js","assets/vue-router-29e6667f.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-8710588f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Collection-e1365ea0.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-11d4e104.js"),["assets/Contacts-11d4e104.js","assets/vue-router-29e6667f.js","assets/@vue-d002002f.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-8710588f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/vuex-4d2f7b35.js","assets/@vicons-4022100b.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-ec5cbdee.js"),["assets/Wallet-ec5cbdee.js","assets/post-skeleton-8710588f.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/@vue-d002002f.js","assets/vueuc-0232e3b9.js","assets/evtd-b614532e.js","assets/@css-render-6b6cdab1.js","assets/vooks-77bdadbd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/vuex-4d2f7b35.js","assets/vue-router-29e6667f.js","assets/@vicons-4022100b.js","assets/main-nav-3ef9bae6.css","assets/qrcode-bd5089a5.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-4a70c6fc.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-51598333.js"),["assets/Setting-51598333.js","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/vuex-4d2f7b35.js","assets/@vue-d002002f.js","assets/vue-router-29e6667f.js","assets/vooks-77bdadbd.js","assets/evtd-b614532e.js","assets/@vicons-4022100b.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/@css-render-6b6cdab1.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-a716f9be.js"),["assets/404-a716f9be.js","assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js","assets/vuex-4d2f7b35.js","assets/@vue-d002002f.js","assets/vue-router-29e6667f.js","assets/vooks-77bdadbd.js","assets/evtd-b614532e.js","assets/@vicons-4022100b.js","assets/naive-ui-88b48034.js","assets/seemly-76b7b838.js","assets/vueuc-0232e3b9.js","assets/@css-render-6b6cdab1.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Je});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Xe=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function s(e){return G(e)}const ne=e=>s({method:"post",url:"/v1/auth/login",data:e}),Ye=e=>s({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>s({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=Z({username:"",password:""}),m=R(),d=Z({username:"",password:"",repassword:""}),M={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=c.value)==null||u.validate(L=>{L||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(L=>{L||(i.value=!0,Ye({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?W(_).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(_,u)=>{const L=Pe,p=Le,O=ue,r=ce,w=Oe,y=Ae,E=ie,x=Te,I=Re,K=de,V=Ce;return v(),D(V,{show:h(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>h(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[o(K,{bordered:!1},{default:a(()=>[t.value?U("",!0):(v(),T("div",tt,[o(O,{justify:"center"},{default:a(()=>[o(p,null,{default:a(()=>[o(L,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),o(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(w,{label:"账户",path:"username"},{default:a(()=>[o(r,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),D(I,{key:1,"default-value":h(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[o(x,{name:"signin",tab:"登录"},{default:a(()=>[o(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(w,{label:"账户",path:"username"},{default:a(()=>[o(r,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),o(x,{name:"signup",tab:"注册"},{default:a(()=>[o(y,{ref_key:"registerRef",ref:m,model:d,rules:M},{default:a(()=>[o(w,{label:"用户名",path:"username"},{default:a(()=>[o(r,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"重复密码",path:"repassword"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):U("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Jt=e=>s({method:"get",url:"/v1/posts",params:e}),nt=e=>s({method:"get",url:"/v1/tags",params:e}),Xt=e=>s({method:"get",url:"/v1/post",params:e}),Yt=e=>s({method:"get",url:"/v1/post/star",params:e}),eo=e=>s({method:"post",url:"/v1/post/star",data:e}),to=e=>s({method:"get",url:"/v1/post/collection",params:e}),oo=e=>s({method:"post",url:"/v1/post/collection",data:e}),so=e=>s({method:"get",url:"/v1/post/comments",params:e}),no=e=>s({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>s({method:"post",url:"/v1/post",data:e}),ao=e=>s({method:"delete",url:"/v1/post",data:e}),lo=e=>s({method:"post",url:"/v1/post/lock",data:e}),uo=e=>s({method:"post",url:"/v1/post/stick",data:e}),co=e=>s({method:"post",url:"/v1/post/visibility",data:e}),io=e=>s({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),po=e=>s({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),mo=e=>s({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),_o=e=>s({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),ho=e=>s({method:"post",url:"/v1/post/comment",data:e}),go=e=>s({method:"delete",url:"/v1/post/comment",data:e}),fo=e=>s({method:"post",url:"/v1/post/comment/reply",data:e}),vo=e=>s({method:"delete",url:"/v1/post/comment/reply",data:e}),wo=e=>s({method:"post",url:"/v1/topic/stick",data:e}),yo=e=>s({method:"post",url:"/v1/topic/follow",data:e}),ko=e=>s({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),m=le(),d="2023 paopao.info",M="Roc's Me",g="",b="泡泡(PaoPao)开源社区",_="https://www.paopao.info",u=+"6",L=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:L,extral_num:u}).then(y=>{t.value=y.topics,l.value=y.extral_topics??[],w.value=!0,i.value=!1}).catch(y=>{i.value=!1})},O=y=>y>=1e3?(y/1e3).toFixed(1)+"k":y,r=()=>{m.push({name:"home",query:{q:c.value}})},w=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:y=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(y,E)=>{(y.refreshTopicFollow!==E.refreshTopicFollow||y.userLogined)&&p()}),j(()=>{p()}),(y,E)=>{const x=F,I=ce,K=ae("router-link"),V=Ee,f=de,_e=ue;return h(n).state.collapsedRight?U("",!0):(v(),T("div",rt,[k("div",at,[o(I,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":E[0]||(E[0]=C=>c.value=C),onKeyup:q(N(r,["prevent"]),["enter"])},{prefix:a(()=>[o(x,{component:h(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),w.value?(v(),D(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(l.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(K,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+$(C.tag),1)]),_:2},1032,["to"]),k("div",lt,$(O(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):U("",!0),o(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(t.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(K,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+$(C.tag),1)]),_:2},1032,["to"]),k("div",ut,$(O(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),o(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+$(h(d)),1),k("div",null,[o(_e,null,{default:a(()=>[k("a",{href:h(g),target:"_blank",class:"hash-link"},$(h(M)),9,it),k("a",{href:h(_),target:"_blank",class:"hash-link"},$(h(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),bo=(e={})=>s({method:"get",url:"/v1/captcha",params:e}),Po=e=>s({method:"post",url:"/v1/captcha",data:e}),Lo=e=>s({method:"post",url:"/v1/user/whisper",data:e}),Oo=e=>s({method:"post",url:"/v1/friend/requesting",data:e}),Ao=e=>s({method:"post",url:"/v1/friend/add",data:e}),To=e=>s({method:"post",url:"/v1/friend/reject",data:e}),Ro=e=>s({method:"post",url:"/v1/friend/delete",data:e}),Co=e=>s({method:"post",url:"/v1/user/phone",data:e}),Eo=e=>s({method:"post",url:"/v1/user/activate",data:e}),Io=e=>s({method:"post",url:"/v1/user/password",data:e}),$o=e=>s({method:"post",url:"/v1/user/nickname",data:e}),So=e=>s({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>s({method:"get",url:"/v1/user/msgcount/unread",params:e}),Uo=e=>s({method:"get",url:"/v1/user/messages",params:e}),Mo=e=>s({method:"post",url:"/v1/user/message/read",data:e}),Ko=e=>s({method:"get",url:"/v1/user/collections",params:e}),qo=e=>s({method:"get",url:"/v1/user/profile",params:e}),No=e=>s({method:"get",url:"/v1/user/posts",params:e}),Do=e=>s({method:"get",url:"/v1/user/wallet/bills",params:e}),xo=e=>s({method:"post",url:"/v1/user/recharge",data:e}),Fo=e=>s({method:"get",url:"/v1/user/recharge",params:e}),Vo=e=>s({method:"get",url:"/v1/suggest/users",params:e}),zo=e=>s({method:"get",url:"/v1/suggest/tags",params:e}),Bo=e=>s({method:"get",url:"/v1/attachment/precheck",params:e}),Wo=e=>s({method:"get",url:"/v1/attachment",params:e}),Ho=e=>s({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Lt={key:0,class:"login-only-wrap"},Ot={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),m=R(),d=R("true".toLowerCase()==="true"),M=+"5000";H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?m.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),m.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},M)):m.value&&clearInterval(m.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const g=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),b=r=>"href"in r?P("div",{},r.label):r.label,_=r=>r.key==="messages"?P($e,{dot:!0,show:c.value,processing:!0},{default:()=>P(F,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(F,null,{default:r.icon}),u=(r,w={})=>{n.value=r,i.push({name:r})},L=()=>{l.path==="/"&&t.commit("refresh"),u("home")},p=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},O=()=>{t.commit("userLogout"),t.commit("refresh"),L()};return window.$store=t,window.$message=Ie(),(r,w)=>{const y=Se,E=Ue,x=Me,I=ie;return v(),T("div",ht,[k("div",gt,[o(y,{class:"logo-img",width:"36",src:h(_t),"preview-disabled":!0,onClick:L},null,8,["src"])]),o(E,{accordion:!0,"icon-size":24,options:g.value,"render-label":b,"render-icon":_,value:n.value,"onUpdate:value":u},null,8,["options","value"]),h(t).state.userInfo.id>0?(v(),T("div",ft,[o(x,{class:"user-avatar",round:"",size:34,src:h(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,$(h(t).state.userInfo.nickname),1),o(I,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:O},{icon:a(()=>[o(h(F),null,{default:a(()=>[o(h(oe))]),_:1})]),_:1})]),k("div",kt,"@"+$(h(t).state.userInfo.username),1)]),k("div",bt,[o(I,{class:"logout",quaternary:"",circle:"",onClick:O},{icon:a(()=>[o(h(F),{size:24},{default:a(()=>[o(h(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?U("",!0):(v(),T("div",Lt,[o(I,{strong:"",secondary:"",round:"",type:"primary",onClick:w[0]||(w[0]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Ot,[o(I,{strong:"",secondary:"",round:"",type:"primary",onClick:w[1]||(w[1]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),o(I,{strong:"",secondary:"",round:"",type:"info",onClick:w[2]||(w[2]=K=>p("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):U("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Ct={class:"content-wrap"},Et=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,m=ae("router-view"),d=mt,M=st,g=Ne,b=De,_=xe,u=Ke;return v(),D(u,{theme:l.value},{default:a(()=>[o(b,null,{default:a(()=>[o(g,null,{default:a(()=>{var L;return[k("div",{class:ge(["app-container",{dark:((L=l.value)==null?void 0:L.name)==="dark",mobile:!h(t).state.desktopModelShow}])},[k("div",Tt,[h(t).state.desktopModelShow?(v(),T("div",Rt,[o(n)])):U("",!0),k("div",Ct,[o(m,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),D(he,null,[i.$route.meta.keepAlive?(v(),D(Y(p),{key:0})):U("",!0)],1024)),i.$route.meta.keepAlive?U("",!0):(v(),D(Y(p),{key:0}))]),_:1})]),o(d)]),o(M)],2)]}),_:1})]),_:1}),o(_)]),_:1},8,["theme"])}}});fe(Et).use(pe).use(Xe).mount("#app");export{No as A,Lo as B,Oo as C,qo as D,Ro as E,Ho as F,Ao as G,To as H,Mo as I,Uo as J,Ko as K,Bo as L,Wo as M,no as N,W as O,Do as P,xo as Q,Fo as R,bo as S,So as T,Io as U,Co as V,Eo as W,$o as X,Po as Y,At as Z,me as _,zo as a,Jt as b,ro as c,_o as d,vo as e,io as f,Vo as g,po as h,fo as i,go as j,ho as k,Yt as l,to as m,ao as n,lo as o,eo as p,oo as q,Xt as r,uo as s,mo as t,so as u,co as v,wo as w,ko as x,yo as y,nt as z}; diff --git a/web/dist/assets/index-71354138.js b/web/dist/assets/index-71354138.js deleted file mode 100644 index b30c6817..00000000 --- a/web/dist/assets/index-71354138.js +++ /dev/null @@ -1 +0,0 @@ -import{d as z,r as R,D as Y,j,o as v,K as N,$ as a,a as k,L as o,c as T,e as S,P as q,a0 as D,O as M,Y as m,n as Q,w as H,a1 as ae,F as J,a2 as X,M as I,s as P,a3 as he,Q as Z,a4 as ge,a5 as fe}from"./@vue-ca177dbe.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-88cc84d1.js";import{c as ke,u as B}from"./vuex-d28e9067.js";import{a as be}from"./axios-4a70c6fc.js";import{_ as Pe,N as Le,a as ue,b as ce,c as Oe,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ce,j as F,k as Ee,u as $e,l as Ie,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as De,s as Ne,t as xe}from"./naive-ui-2035804c.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-6d35273b.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-973e5707.js";import"./evtd-b614532e.js";import"./@css-render-480a363d.js";import"./vooks-2c48c2b5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const _ of n.addedNodes)_.tagName==="LINK"&&_.rel==="modulepreload"&&i(_)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Ye=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Ye(n),n in se)return;se[n]=!0;const _=n.endsWith(".css"),d=_?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const h=c[b];if(h.href===n&&(!_||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=_?"stylesheet":Ge,_||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),_)return new Promise((b,h)=>{g.addEventListener("load",b),g.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t())},Je=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-37cbe774.js"),["assets/Home-37cbe774.js","assets/post-item.vue_vue_type_style_index_0_lang-09a3d19d.js","assets/content-3f1d28f2.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-fdd699ea.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Home-47eb20e2.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-e74fef3c.js"),["assets/Post-e74fef3c.js","assets/@vue-ca177dbe.js","assets/vuex-d28e9067.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/IEnum-a180d93e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-3f1d28f2.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vue-router-88cc84d1.js","assets/post-skeleton-fdd699ea.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/main-nav-3ef9bae6.css","assets/v3-infinite-loading-fcb59c38.js","assets/v3-infinite-loading-7d241236.css","assets/axios-4a70c6fc.js","assets/Post-d4d1dd23.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-ea29dcd9.js"),["assets/Topic-ea29dcd9.js","assets/@vicons-6d35273b.js","assets/@vue-ca177dbe.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-89915a48.js"),["assets/Anouncement-89915a48.js","assets/post-skeleton-fdd699ea.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/@vue-ca177dbe.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-4a70c6fc.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-ada56cf6.js"),["assets/Profile-ada56cf6.js","assets/post-item.vue_vue_type_style_index_0_lang-09a3d19d.js","assets/content-3f1d28f2.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-fdd699ea.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Profile-5d71a5c2.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-645b4d7e.js"),["assets/User-645b4d7e.js","assets/post-item.vue_vue_type_style_index_0_lang-09a3d19d.js","assets/content-3f1d28f2.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-fdd699ea.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/User-4f525d0f.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-268fd9db.js"),["assets/Messages-268fd9db.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/vuex-d28e9067.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-2dd501b0.js"),["assets/Collection-2dd501b0.js","assets/post-item.vue_vue_type_style_index_0_lang-09a3d19d.js","assets/content-3f1d28f2.js","assets/@vue-ca177dbe.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/nonesir-video-db921567.js","assets/content-cc55174b.css","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-37a52e00.css","assets/post-skeleton-fdd699ea.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Collection-e1365ea0.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-212adf88.js"),["assets/Contacts-212adf88.js","assets/vue-router-88cc84d1.js","assets/@vue-ca177dbe.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-fdd699ea.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/vuex-d28e9067.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-595cd027.js"),["assets/Wallet-595cd027.js","assets/post-skeleton-fdd699ea.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/@vue-ca177dbe.js","assets/vueuc-973e5707.js","assets/evtd-b614532e.js","assets/@css-render-480a363d.js","assets/vooks-2c48c2b5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/vuex-d28e9067.js","assets/vue-router-88cc84d1.js","assets/@vicons-6d35273b.js","assets/main-nav-3ef9bae6.css","assets/qrcode-bd5089a5.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/formatTime-000dbebb.js","assets/moment-b7869f98.js","assets/axios-4a70c6fc.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-e97b467a.js"),["assets/Setting-e97b467a.js","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/vuex-d28e9067.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/vooks-2c48c2b5.js","assets/evtd-b614532e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/@css-render-480a363d.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-00d7402f.js"),["assets/404-00d7402f.js","assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js","assets/vuex-d28e9067.js","assets/@vue-ca177dbe.js","assets/vue-router-88cc84d1.js","assets/vooks-2c48c2b5.js","assets/evtd-b614532e.js","assets/@vicons-6d35273b.js","assets/naive-ui-2035804c.js","assets/seemly-76b7b838.js","assets/vueuc-973e5707.js","assets/@css-render-480a363d.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-3ef9bae6.css","assets/axios-4a70c6fc.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Je});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Xe=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function s(e){return G(e)}const ne=e=>s({method:"post",url:"/v1/auth/login",data:e}),Ze=e=>s({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>s({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=Y({username:"",password:""}),_=R(),d=Y({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(h,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=h=>{var u;h.preventDefault(),h.stopPropagation(),(u=c.value)==null||u.validate(L=>{L||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=h=>{var u;h.preventDefault(),h.stopPropagation(),(u=_.value)==null||u.validate(L=>{L||(i.value=!0,Ze({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const h=localStorage.getItem("PAOPAO_TOKEN")||"";h?W(h).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(h,u)=>{const L=Pe,p=Le,O=ue,r=ce,w=Oe,y=Ae,E=ie,x=Te,$=Re,K=de,V=Ce;return v(),N(V,{show:m(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>m(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[o(K,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[o(O,{justify:"center"},{default:a(()=>[o(p,null,{default:a(()=>[o(L,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),o(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(w,{label:"账户",path:"username"},{default:a(()=>[o(r,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(D(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(D(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),N($,{key:1,"default-value":m(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[o(x,{name:"signin",tab:"登录"},{default:a(()=>[o(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(w,{label:"账户",path:"username"},{default:a(()=>[o(r,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(D(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(D(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),o(x,{name:"signup",tab:"注册"},{default:a(()=>[o(y,{ref_key:"registerRef",ref:_,model:d,rules:U},{default:a(()=>[o(w,{label:"用户名",path:"username"},{default:a(()=>[o(r,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:q(D(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"重复密码",path:"repassword"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:q(D(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(E,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Jt=e=>s({method:"get",url:"/v1/posts",params:e}),nt=e=>s({method:"get",url:"/v1/tags",params:e}),Xt=e=>s({method:"get",url:"/v1/post",params:e}),Zt=e=>s({method:"get",url:"/v1/post/star",params:e}),eo=e=>s({method:"post",url:"/v1/post/star",data:e}),to=e=>s({method:"get",url:"/v1/post/collection",params:e}),oo=e=>s({method:"post",url:"/v1/post/collection",data:e}),so=e=>s({method:"get",url:"/v1/post/comments",params:e}),no=e=>s({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>s({method:"post",url:"/v1/post",data:e}),ao=e=>s({method:"delete",url:"/v1/post",data:e}),lo=e=>s({method:"post",url:"/v1/post/lock",data:e}),uo=e=>s({method:"post",url:"/v1/post/stick",data:e}),co=e=>s({method:"post",url:"/v1/post/visibility",data:e}),io=e=>s({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),po=e=>s({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),mo=e=>s({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),_o=e=>s({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),ho=e=>s({method:"post",url:"/v1/post/comment",data:e}),go=e=>s({method:"delete",url:"/v1/post/comment",data:e}),fo=e=>s({method:"post",url:"/v1/post/comment/reply",data:e}),vo=e=>s({method:"delete",url:"/v1/post/comment/reply",data:e}),wo=e=>s({method:"post",url:"/v1/topic/stick",data:e}),yo=e=>s({method:"post",url:"/v1/topic/follow",data:e}),ko=e=>s({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),_=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",h="https://www.paopao.info",u=+"6",L=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:L,extral_num:u}).then(y=>{t.value=y.topics,l.value=y.extral_topics??[],w.value=!0,i.value=!1}).catch(y=>{i.value=!1})},O=y=>y>=1e3?(y/1e3).toFixed(1)+"k":y,r=()=>{_.push({name:"home",query:{q:c.value}})},w=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:y=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(y,E)=>{(y.refreshTopicFollow!==E.refreshTopicFollow||y.userLogined)&&p()}),j(()=>{p()}),(y,E)=>{const x=F,$=ce,K=ae("router-link"),V=Ee,f=de,_e=ue;return m(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[o($,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":E[0]||(E[0]=C=>c.value=C),onKeyup:q(D(r,["prevent"]),["enter"])},{prefix:a(()=>[o(x,{component:m(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),m(w)?(v(),N(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(l.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(K,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(C.tag),1)]),_:2},1032,["to"]),k("div",lt,I(O(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),o(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(J,null,X(t.value,C=>(v(),T("div",{class:"hot-tag-item",key:C.id},[o(K,{class:"hash-link",to:{name:"home",query:{q:C.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(C.tag),1)]),_:2},1032,["to"]),k("div",ut,I(O(C.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),o(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+I(m(d)),1),k("div",null,[o(_e,null,{default:a(()=>[k("a",{href:m(g),target:"_blank",class:"hash-link"},I(m(U)),9,it),k("a",{href:m(h),target:"_blank",class:"hash-link"},I(m(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),bo=(e={})=>s({method:"get",url:"/v1/captcha",params:e}),Po=e=>s({method:"post",url:"/v1/captcha",data:e}),Lo=e=>s({method:"post",url:"/v1/user/whisper",data:e}),Oo=e=>s({method:"post",url:"/v1/friend/requesting",data:e}),Ao=e=>s({method:"post",url:"/v1/friend/add",data:e}),To=e=>s({method:"post",url:"/v1/friend/reject",data:e}),Ro=e=>s({method:"post",url:"/v1/friend/delete",data:e}),Co=e=>s({method:"post",url:"/v1/user/phone",data:e}),Eo=e=>s({method:"post",url:"/v1/user/activate",data:e}),$o=e=>s({method:"post",url:"/v1/user/password",data:e}),Io=e=>s({method:"post",url:"/v1/user/nickname",data:e}),So=e=>s({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>s({method:"get",url:"/v1/user/msgcount/unread",params:e}),Mo=e=>s({method:"get",url:"/v1/user/messages",params:e}),Uo=e=>s({method:"post",url:"/v1/user/message/read",data:e}),Ko=e=>s({method:"get",url:"/v1/user/collections",params:e}),qo=e=>s({method:"get",url:"/v1/user/profile",params:e}),Do=e=>s({method:"get",url:"/v1/user/posts",params:e}),No=e=>s({method:"get",url:"/v1/user/wallet/bills",params:e}),xo=e=>s({method:"post",url:"/v1/user/recharge",data:e}),Fo=e=>s({method:"get",url:"/v1/user/recharge",params:e}),Vo=e=>s({method:"get",url:"/v1/suggest/users",params:e}),zo=e=>s({method:"get",url:"/v1/suggest/tags",params:e}),Bo=e=>s({method:"get",url:"/v1/attachment/precheck",params:e}),Wo=e=>s({method:"get",url:"/v1/attachment",params:e}),Ho=e=>s({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Lt={key:0,class:"login-only-wrap"},Ot={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),_=R(),d=R("true".toLowerCase()==="true"),U=+"5000";H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?_.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),_.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},U)):_.value&&clearInterval(_.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const g=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),b=r=>"href"in r?P("div",{},r.label):r.label,h=r=>r.key==="messages"?P(Ie,{dot:!0,show:c.value,processing:!0},{default:()=>P(F,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(F,null,{default:r.icon}),u=(r,w={})=>{n.value=r,i.push({name:r})},L=()=>{l.path==="/"&&t.commit("refresh"),u("home")},p=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},O=()=>{t.commit("userLogout"),t.commit("refresh"),L()};return window.$store=t,window.$message=$e(),(r,w)=>{const y=Se,E=Me,x=Ue,$=ie;return v(),T("div",ht,[k("div",gt,[o(y,{class:"logo-img",width:"36",src:m(_t),"preview-disabled":!0,onClick:L},null,8,["src"])]),o(E,{accordion:!0,"icon-size":24,options:m(g),"render-label":b,"render-icon":h,value:n.value,"onUpdate:value":u},null,8,["options","value"]),m(t).state.userInfo.id>0?(v(),T("div",ft,[o(x,{class:"user-avatar",round:"",size:34,src:m(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,I(m(t).state.userInfo.nickname),1),o($,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:O},{icon:a(()=>[o(m(F),null,{default:a(()=>[o(m(oe))]),_:1})]),_:1})]),k("div",kt,"@"+I(m(t).state.userInfo.username),1)]),k("div",bt,[o($,{class:"logout",quaternary:"",circle:"",onClick:O},{icon:a(()=>[o(m(F),{size:24},{default:a(()=>[o(m(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Lt,[o($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[0]||(w[0]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Ot,[o($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[1]||(w[1]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),o($,{strong:"",secondary:"",round:"",type:"info",onClick:w[2]||(w[2]=K=>p("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Ct={class:"content-wrap"},Et=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,_=ae("router-view"),d=mt,U=st,g=De,b=Ne,h=xe,u=Ke;return v(),N(u,{theme:m(l)},{default:a(()=>[o(b,null,{default:a(()=>[o(g,null,{default:a(()=>{var L;return[k("div",{class:ge(["app-container",{dark:((L=m(l))==null?void 0:L.name)==="dark",mobile:!m(t).state.desktopModelShow}])},[k("div",Tt,[m(t).state.desktopModelShow?(v(),T("div",Rt,[o(n)])):M("",!0),k("div",Ct,[o(_,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),N(he,null,[i.$route.meta.keepAlive?(v(),N(Z(p),{key:0})):M("",!0)],1024)),i.$route.meta.keepAlive?M("",!0):(v(),N(Z(p),{key:0}))]),_:1})]),o(d)]),o(U)],2)]}),_:1})]),_:1}),o(h)]),_:1},8,["theme"])}}});fe(Et).use(pe).use(Xe).mount("#app");export{Do as A,Lo as B,Oo as C,qo as D,Ro as E,Ho as F,Ao as G,To as H,Uo as I,Mo as J,Ko as K,Bo as L,Wo as M,no as N,W as O,No as P,xo as Q,Fo as R,bo as S,So as T,$o as U,Co as V,Eo as W,Io as X,Po as Y,At as Z,me as _,zo as a,Jt as b,ro as c,_o as d,vo as e,io as f,Vo as g,po as h,fo as i,go as j,ho as k,Zt as l,to as m,ao as n,lo as o,eo as p,oo as q,Xt as r,uo as s,mo as t,so as u,co as v,wo as w,ko as x,yo as y,nt as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js deleted file mode 100644 index 9e2a9847..00000000 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-5097b22a.js +++ /dev/null @@ -1 +0,0 @@ -import{Z as B}from"./index-71354138.js";import{u as E}from"./vuex-d28e9067.js";import{u as S}from"./vue-router-88cc84d1.js";import{j as A}from"./vooks-2c48c2b5.js";import{D as C,y as D,z as N,F as P}from"./@vicons-6d35273b.js";import{a3 as x,a4 as R,j as I,e as V,a5 as j,h as F}from"./naive-ui-2035804c.js";import{d as H,r as f,j as L,o as a,c as g,Y as o,L as e,$ as t,O as c,a as $,K as _,e as q,M as U,F as K}from"./@vue-ca177dbe.js";const Y={key:0},Z={class:"navbar"},oe=H({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(r){const i=r,n=E(),m=S(),l=f(!1),k=f("left"),u=d=>{d?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return L(()=>{localStorage.getItem("PAOPAO_THEME")||u(A()==="dark")}),(d,p)=>{const y=B,b=x,O=R,s=I,h=V,M=j,T=F;return a(),g(K,null,[o(n).state.drawerModelShow?(a(),g("div",Y,[e(O,{show:l.value,"onUpdate:show":p[0]||(p[0]=z=>l.value=z),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[$("div",Z,[o(n).state.drawerModelShow&&!r.back?(a(),_(h,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),r.back?(a(),_(h,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(s,null,{default:t(()=>[e(o(D))]),_:1})]),_:1})):c("",!0),q(" "+U(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(s,{component:o(N)},null,8,["component"])]),"unchecked-icon":t(()=>[e(s,{component:o(P)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js new file mode 100644 index 00000000..55d1cc20 --- /dev/null +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-6d03f8cc.js @@ -0,0 +1 @@ +import{Z as B}from"./index-0f3021a1.js";import{u as E}from"./vuex-4d2f7b35.js";import{u as N}from"./vue-router-29e6667f.js";import{j as P}from"./vooks-77bdadbd.js";import{D as S,y as A,z as C,F as D}from"./@vicons-4022100b.js";import{a3 as R,a4 as I,j as V,e as j,a5 as x,h as F}from"./naive-ui-88b48034.js";import{d as H,r as h,j as L,o as a,c as f,Z as o,U as e,a0 as t,N as c,a as U,P as _,e as q,L as Z,F as $}from"./@vue-d002002f.js";const G={key:0},J={class:"navbar"},oe=H({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(g){const i=g,n=E(),m=N(),l=h(!1),k=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return L(()=>{localStorage.getItem("PAOPAO_THEME")||u(P()==="dark")}),(s,d)=>{const y=B,b=R,O=I,r=V,p=j,M=x,T=F;return a(),f($,null,[o(n).state.drawerModelShow?(a(),f("div",G,[e(O,{show:l.value,"onUpdate:show":d[0]||(d[0]=z=>l.value=z),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[U("div",J,[o(n).state.drawerModelShow&&!s.back?(a(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(S))]),_:1})]),_:1})):c("",!0),s.back?(a(),_(p,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(A))]),_:1})]),_:1})):c("",!0),q(" "+Z(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:o(C)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:o(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; diff --git a/web/dist/assets/naive-ui-2035804c.js b/web/dist/assets/naive-ui-88b48034.js similarity index 99% rename from web/dist/assets/naive-ui-2035804c.js rename to web/dist/assets/naive-ui-88b48034.js index 753fc17f..9a15a9a9 100644 --- a/web/dist/assets/naive-ui-2035804c.js +++ b/web/dist/assets/naive-ui-88b48034.js @@ -1,4 +1,4 @@ -import{r as lr,s as Je,c as $e,g as Jt,d as Mo,a as Bt,h as ft,b as Q,e as nt,f as Qs,p as _o,i as Yt,j as Hi}from"./seemly-76b7b838.js";import{e as zr,F as ao,C as Ai,f as Js,v as Ko,d as q,i as Se,g as kr,w as Ke,h as wo,r as D,j as mo,k as ar,l as ed,m as Ei,p as Oe,n as R,q as oo,s as i,T as no,t as un,u as ie,x as ko,y as io,z as Lo,A as er,B as jn,D as ji,E as Vr,G as Ur,H as od,I as td,J as Wi}from"./@vue-ca177dbe.js";import{r as Wn,V as ht,a as rd,b as Ir,F as fn,c as Br,d as Tr,e as Nn,L as hn,f as nd}from"./vueuc-973e5707.js";import{u as We,i as bt,a as id,b as so,c as pt,d as ld,e as Ni,f as Vi,g as ad,o as sd}from"./vooks-2c48c2b5.js";import{m as It,u as dd,a as cd,r as ud,g as Ui,k as fd,t as Kr}from"./lodash-es-8412e618.js";import{m as $r}from"./@emotion-8a8e73f6.js";import{c as Ft,m as hd,z as Fr}from"./vdirs-b0483831.js";import{c as pd,a as sr}from"./treemate-25c27bff.js";import{S as vd}from"./async-validator-dee29e8b.js";import{o as Do,a as Ro}from"./evtd-b614532e.js";import{p as gd,u as Or}from"./@css-render-480a363d.js";import{d as md}from"./date-fns-975a2d8f.js";import{C as bd,e as xd}from"./css-render-6a5c5852.js";function pn(e,o="default",t=[]){const n=e.$slots[o];return n===void 0?t:n()}function go(e,o=[],t){const r={};return o.forEach(n=>{r[n]=e[n]}),Object.assign(r,t)}function _t(e,o=[],t){const r={};return Object.getOwnPropertyNames(e).forEach(l=>{o.includes(l)||(r[l]=e[l])}),Object.assign(r,t)}function ot(e,o=!0,t=[]){return e.forEach(r=>{if(r!==null){if(typeof r!="object"){(typeof r=="string"||typeof r=="number")&&t.push(zr(String(r)));return}if(Array.isArray(r)){ot(r,o,t);return}if(r.type===ao){if(r.children===null)return;Array.isArray(r.children)&&ot(r.children,o,t)}else r.type!==Ai&&t.push(r)}}),t}function ae(e,...o){if(Array.isArray(e))e.forEach(t=>ae(t,...o));else return e(...o)}function yo(e){return Object.keys(e)}const qe=(e,...o)=>typeof e=="function"?e(...o):typeof e=="string"?zr(e):typeof e=="number"?zr(String(e)):null;function Go(e,o){console.error(`[naive/${e}]: ${o}`)}function Eo(e,o){throw new Error(`[naive/${e}]: ${o}`)}function Vn(e){switch(e){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw Error(`${e} has no smaller size.`)}function Ki(e){switch(typeof e){case"string":return e||void 0;case"number":return String(e);default:return}}function ln(e,o="default",t=void 0){const r=e[o];if(!r)return Go("getFirstSlotVNode",`slot[${o}] is empty`),null;const n=ot(r(t));return n.length===1?n[0]:(Go("getFirstSlotVNode",`slot[${o}] should have exactly one child`),null)}function Gi(e){return o=>{o?e.value=o.$el:e.value=null}}function dr(e){return e.some(o=>Js(o)?!(o.type===Ai||o.type===ao&&!dr(o.children)):!0)?e:null}function lo(e,o){return e&&dr(e())||o()}function qi(e,o,t){return e&&dr(e(o))||t(o)}function Ee(e,o){const t=e&&dr(e());return o(t||null)}function ut(e){return!(e&&dr(e()))}function Qt(e){const o=e.filter(t=>t!==void 0);if(o.length!==0)return o.length===1?o[0]:t=>{e.forEach(r=>{r&&r(t)})}}function Cd(e){var o;const t=(o=e.dirs)===null||o===void 0?void 0:o.find(({dir:r})=>r===Ko);return!!(t&&t.value===!1)}const an=q({render(){var e,o;return(o=(e=this.$slots).default)===null||o===void 0?void 0:o.call(e)}}),yd=/^(\d|\.)+$/,Un=/(\d|\.)+/;function eo(e,{c:o=1,offset:t=0,attachPx:r=!0}={}){if(typeof e=="number"){const n=(e+t)*o;return n===0?"0":`${n}px`}else if(typeof e=="string")if(yd.test(e)){const n=(Number(e)+t)*o;return r?n===0?"0":`${n}px`:`${n}`}else{const n=Un.exec(e);return n?e.replace(Un,String((Number(n[0])+t)*o)):e}return e}function Ot(e){return e.replace(/#|\(|\)|,|\s/g,"_")}function W(e,o){return e+(o==="default"?"":o.replace(/^[a-z]/,t=>t.toUpperCase()))}W("abc","def");const wd="n",or=`.${wd}-`,Sd="__",zd="--",Yi=bd(),Xi=gd({blockPrefix:or,elementPrefix:Sd,modifierPrefix:zd});Yi.use(Xi);const{c:y,find:u1}=Yi,{cB:g,cE:w,cM:k,cNotM:je}=Xi;function Mr(e){return y(({props:{bPrefix:o}})=>`${o||or}modal, ${o||or}drawer`,[e])}function vn(e){return y(({props:{bPrefix:o}})=>`${o||or}popover`,[e])}function Zi(e){return y(({props:{bPrefix:o}})=>`&${o||or}modal`,e)}const $d=(...e)=>y(">",[g(...e)]);let Gr;function Rd(){return Gr===void 0&&(Gr=navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Gr}const jo=typeof document<"u"&&typeof window<"u",Qi=new WeakSet;function Pd(e){Qi.add(e)}function Ji(e){return!Qi.has(e)}function kd(e,o,t){var r;const n=Se(e,null);if(n===null)return;const l=(r=kr())===null||r===void 0?void 0:r.proxy;Ke(t,a),a(t.value),wo(()=>{a(void 0,t.value)});function a(c,u){const f=n[o];u!==void 0&&s(f,u),c!==void 0&&d(f,c)}function s(c,u){c[u]||(c[u]=[]),c[u].splice(c[u].findIndex(f=>f===l),1)}function d(c,u){c[u]||(c[u]=[]),~c[u].findIndex(f=>f===l)||c[u].push(l)}}function Id(e,o,t){if(!o)return e;const r=D(e.value);let n=null;return Ke(e,l=>{n!==null&&window.clearTimeout(n),l===!0?t&&!t.value?r.value=!0:n=window.setTimeout(()=>{r.value=!0},o):r.value=!1}),r}const gn="n-internal-select-menu",el="n-internal-select-menu-body",cr="n-modal-body",ol="n-modal",ur="n-drawer-body",mn="n-drawer",Dt="n-popover-body",tl="__disabled__";function Io(e){const o=Se(cr,null),t=Se(ur,null),r=Se(Dt,null),n=Se(el,null),l=D();if(typeof document<"u"){l.value=document.fullscreenElement;const a=()=>{l.value=document.fullscreenElement};mo(()=>{Do("fullscreenchange",document,a)}),wo(()=>{Ro("fullscreenchange",document,a)})}return We(()=>{var a;const{to:s}=e;return s!==void 0?s===!1?tl:s===!0?l.value||"body":s:o!=null&&o.value?(a=o.value.$el)!==null&&a!==void 0?a:o.value:t!=null&&t.value?t.value:r!=null&&r.value?r.value:n!=null&&n.value?n.value:s??(l.value||"body")})}Io.tdkey=tl;Io.propTo={type:[String,Object,Boolean],default:void 0};let Kn=!1;function rl(){if(jo&&window.CSS&&!Kn&&(Kn=!0,"registerProperty"in(window==null?void 0:window.CSS)))try{CSS.registerProperty({name:"--n-color-start",syntax:"",inherits:!1,initialValue:"#0000"}),CSS.registerProperty({name:"--n-color-end",syntax:"",inherits:!1,initialValue:"#0000"})}catch{}}function nl(e,o){o&&(mo(()=>{const{value:t}=e;t&&Wn.registerHandler(t,o)}),wo(()=>{const{value:t}=e;t&&Wn.unregisterHandler(t)}))}let $t=0,Gn="",qn="",Yn="",Xn="";const Zn=D("0px");function il(e){if(typeof document>"u")return;const o=document.documentElement;let t,r=!1;const n=()=>{o.style.marginRight=Gn,o.style.overflow=qn,o.style.overflowX=Yn,o.style.overflowY=Xn,Zn.value="0px"};mo(()=>{t=Ke(e,l=>{if(l){if(!$t){const a=window.innerWidth-o.offsetWidth;a>0&&(Gn=o.style.marginRight,o.style.marginRight=`${a}px`,Zn.value=`${a}px`),qn=o.style.overflow,Yn=o.style.overflowX,Xn=o.style.overflowY,o.style.overflow="hidden",o.style.overflowX="hidden",o.style.overflowY="hidden"}r=!0,$t++}else $t--,$t||n(),r=!1},{immediate:!0})}),wo(()=>{t==null||t(),r&&($t--,$t||n(),r=!1)})}const bn=D(!1),Qn=()=>{bn.value=!0},Jn=()=>{bn.value=!1};let Xt=0;const ll=()=>(jo&&(ar(()=>{Xt||(window.addEventListener("compositionstart",Qn),window.addEventListener("compositionend",Jn)),Xt++}),wo(()=>{Xt<=1?(window.removeEventListener("compositionstart",Qn),window.removeEventListener("compositionend",Jn),Xt=0):Xt--})),bn);function Bd(e){const o={isDeactivated:!1};let t=!1;return ed(()=>{if(o.isDeactivated=!1,!t){t=!0;return}e()}),Ei(()=>{o.isDeactivated=!0,t||(t=!0)}),o}const Rr="n-form-item";function tt(e,{defaultSize:o="medium",mergedSize:t,mergedDisabled:r}={}){const n=Se(Rr,null);Oe(Rr,null);const l=R(t?()=>t(n):()=>{const{size:d}=e;if(d)return d;if(n){const{mergedSize:c}=n;if(c.value!==void 0)return c.value}return o}),a=R(r?()=>r(n):()=>{const{disabled:d}=e;return d!==void 0?d:n?n.disabled.value:!1}),s=R(()=>{const{status:d}=e;return d||(n==null?void 0:n.mergedValidationStatus.value)});return wo(()=>{n&&n.restoreValidation()}),{mergedSizeRef:l,mergedDisabledRef:a,mergedStatusRef:s,nTriggerFormBlur(){n&&n.handleContentBlur()},nTriggerFormChange(){n&&n.handleContentChange()},nTriggerFormFocus(){n&&n.handleContentFocus()},nTriggerFormInput(){n&&n.handleContentInput()}}}const So={fontFamily:'v-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',fontFamilyMono:"v-mono, SFMono-Regular, Menlo, Consolas, Courier, monospace",fontWeight:"400",fontWeightStrong:"500",cubicBezierEaseInOut:"cubic-bezier(.4, 0, .2, 1)",cubicBezierEaseOut:"cubic-bezier(0, 0, .2, 1)",cubicBezierEaseIn:"cubic-bezier(.4, 0, 1, 1)",borderRadius:"3px",borderRadiusSmall:"2px",fontSize:"14px",fontSizeMini:"12px",fontSizeTiny:"12px",fontSizeSmall:"14px",fontSizeMedium:"14px",fontSizeLarge:"15px",fontSizeHuge:"16px",lineHeight:"1.6",heightMini:"16px",heightTiny:"22px",heightSmall:"28px",heightMedium:"34px",heightLarge:"40px",heightHuge:"46px"},{fontSize:Td,fontFamily:Fd,lineHeight:Od}=So,al=y("body",` +import{r as lr,s as Je,c as $e,g as Jt,d as Mo,a as Bt,h as ft,b as Q,e as nt,f as Qs,p as _o,i as Yt,j as Hi}from"./seemly-76b7b838.js";import{e as zr,F as ao,C as Ai,f as Js,v as Ko,d as q,i as Se,g as kr,w as Ke,h as wo,r as D,j as mo,k as ar,l as ed,m as Ei,p as Oe,n as R,q as oo,s as i,T as no,t as un,u as ie,x as ko,y as io,z as Lo,A as er,B as jn,D as ji,E as Vr,G as Ur,H as od,I as td,J as Wi}from"./@vue-d002002f.js";import{r as Wn,V as ht,a as rd,b as Ir,F as fn,c as Br,d as Tr,e as Nn,L as hn,f as nd}from"./vueuc-0232e3b9.js";import{u as We,i as bt,a as id,b as so,c as pt,d as ld,e as Ni,f as Vi,g as ad,o as sd}from"./vooks-77bdadbd.js";import{m as It,u as dd,a as cd,r as ud,g as Ui,k as fd,t as Kr}from"./lodash-es-8412e618.js";import{m as $r}from"./@emotion-8a8e73f6.js";import{c as Ft,m as hd,z as Fr}from"./vdirs-b0483831.js";import{c as pd,a as sr}from"./treemate-25c27bff.js";import{S as vd}from"./async-validator-dee29e8b.js";import{o as Do,a as Ro}from"./evtd-b614532e.js";import{p as gd,u as Or}from"./@css-render-6b6cdab1.js";import{d as md}from"./date-fns-975a2d8f.js";import{C as bd,e as xd}from"./css-render-6a5c5852.js";function pn(e,o="default",t=[]){const n=e.$slots[o];return n===void 0?t:n()}function go(e,o=[],t){const r={};return o.forEach(n=>{r[n]=e[n]}),Object.assign(r,t)}function _t(e,o=[],t){const r={};return Object.getOwnPropertyNames(e).forEach(l=>{o.includes(l)||(r[l]=e[l])}),Object.assign(r,t)}function ot(e,o=!0,t=[]){return e.forEach(r=>{if(r!==null){if(typeof r!="object"){(typeof r=="string"||typeof r=="number")&&t.push(zr(String(r)));return}if(Array.isArray(r)){ot(r,o,t);return}if(r.type===ao){if(r.children===null)return;Array.isArray(r.children)&&ot(r.children,o,t)}else r.type!==Ai&&t.push(r)}}),t}function ae(e,...o){if(Array.isArray(e))e.forEach(t=>ae(t,...o));else return e(...o)}function yo(e){return Object.keys(e)}const qe=(e,...o)=>typeof e=="function"?e(...o):typeof e=="string"?zr(e):typeof e=="number"?zr(String(e)):null;function Go(e,o){console.error(`[naive/${e}]: ${o}`)}function Eo(e,o){throw new Error(`[naive/${e}]: ${o}`)}function Vn(e){switch(e){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw Error(`${e} has no smaller size.`)}function Ki(e){switch(typeof e){case"string":return e||void 0;case"number":return String(e);default:return}}function ln(e,o="default",t=void 0){const r=e[o];if(!r)return Go("getFirstSlotVNode",`slot[${o}] is empty`),null;const n=ot(r(t));return n.length===1?n[0]:(Go("getFirstSlotVNode",`slot[${o}] should have exactly one child`),null)}function Gi(e){return o=>{o?e.value=o.$el:e.value=null}}function dr(e){return e.some(o=>Js(o)?!(o.type===Ai||o.type===ao&&!dr(o.children)):!0)?e:null}function lo(e,o){return e&&dr(e())||o()}function qi(e,o,t){return e&&dr(e(o))||t(o)}function Ee(e,o){const t=e&&dr(e());return o(t||null)}function ut(e){return!(e&&dr(e()))}function Qt(e){const o=e.filter(t=>t!==void 0);if(o.length!==0)return o.length===1?o[0]:t=>{e.forEach(r=>{r&&r(t)})}}function Cd(e){var o;const t=(o=e.dirs)===null||o===void 0?void 0:o.find(({dir:r})=>r===Ko);return!!(t&&t.value===!1)}const an=q({render(){var e,o;return(o=(e=this.$slots).default)===null||o===void 0?void 0:o.call(e)}}),yd=/^(\d|\.)+$/,Un=/(\d|\.)+/;function eo(e,{c:o=1,offset:t=0,attachPx:r=!0}={}){if(typeof e=="number"){const n=(e+t)*o;return n===0?"0":`${n}px`}else if(typeof e=="string")if(yd.test(e)){const n=(Number(e)+t)*o;return r?n===0?"0":`${n}px`:`${n}`}else{const n=Un.exec(e);return n?e.replace(Un,String((Number(n[0])+t)*o)):e}return e}function Ot(e){return e.replace(/#|\(|\)|,|\s/g,"_")}function W(e,o){return e+(o==="default"?"":o.replace(/^[a-z]/,t=>t.toUpperCase()))}W("abc","def");const wd="n",or=`.${wd}-`,Sd="__",zd="--",Yi=bd(),Xi=gd({blockPrefix:or,elementPrefix:Sd,modifierPrefix:zd});Yi.use(Xi);const{c:y,find:u1}=Yi,{cB:g,cE:w,cM:k,cNotM:je}=Xi;function Mr(e){return y(({props:{bPrefix:o}})=>`${o||or}modal, ${o||or}drawer`,[e])}function vn(e){return y(({props:{bPrefix:o}})=>`${o||or}popover`,[e])}function Zi(e){return y(({props:{bPrefix:o}})=>`&${o||or}modal`,e)}const $d=(...e)=>y(">",[g(...e)]);let Gr;function Rd(){return Gr===void 0&&(Gr=navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Gr}const jo=typeof document<"u"&&typeof window<"u",Qi=new WeakSet;function Pd(e){Qi.add(e)}function Ji(e){return!Qi.has(e)}function kd(e,o,t){var r;const n=Se(e,null);if(n===null)return;const l=(r=kr())===null||r===void 0?void 0:r.proxy;Ke(t,a),a(t.value),wo(()=>{a(void 0,t.value)});function a(c,u){const f=n[o];u!==void 0&&s(f,u),c!==void 0&&d(f,c)}function s(c,u){c[u]||(c[u]=[]),c[u].splice(c[u].findIndex(f=>f===l),1)}function d(c,u){c[u]||(c[u]=[]),~c[u].findIndex(f=>f===l)||c[u].push(l)}}function Id(e,o,t){if(!o)return e;const r=D(e.value);let n=null;return Ke(e,l=>{n!==null&&window.clearTimeout(n),l===!0?t&&!t.value?r.value=!0:n=window.setTimeout(()=>{r.value=!0},o):r.value=!1}),r}const gn="n-internal-select-menu",el="n-internal-select-menu-body",cr="n-modal-body",ol="n-modal",ur="n-drawer-body",mn="n-drawer",Dt="n-popover-body",tl="__disabled__";function Io(e){const o=Se(cr,null),t=Se(ur,null),r=Se(Dt,null),n=Se(el,null),l=D();if(typeof document<"u"){l.value=document.fullscreenElement;const a=()=>{l.value=document.fullscreenElement};mo(()=>{Do("fullscreenchange",document,a)}),wo(()=>{Ro("fullscreenchange",document,a)})}return We(()=>{var a;const{to:s}=e;return s!==void 0?s===!1?tl:s===!0?l.value||"body":s:o!=null&&o.value?(a=o.value.$el)!==null&&a!==void 0?a:o.value:t!=null&&t.value?t.value:r!=null&&r.value?r.value:n!=null&&n.value?n.value:s??(l.value||"body")})}Io.tdkey=tl;Io.propTo={type:[String,Object,Boolean],default:void 0};let Kn=!1;function rl(){if(jo&&window.CSS&&!Kn&&(Kn=!0,"registerProperty"in(window==null?void 0:window.CSS)))try{CSS.registerProperty({name:"--n-color-start",syntax:"",inherits:!1,initialValue:"#0000"}),CSS.registerProperty({name:"--n-color-end",syntax:"",inherits:!1,initialValue:"#0000"})}catch{}}function nl(e,o){o&&(mo(()=>{const{value:t}=e;t&&Wn.registerHandler(t,o)}),wo(()=>{const{value:t}=e;t&&Wn.unregisterHandler(t)}))}let $t=0,Gn="",qn="",Yn="",Xn="";const Zn=D("0px");function il(e){if(typeof document>"u")return;const o=document.documentElement;let t,r=!1;const n=()=>{o.style.marginRight=Gn,o.style.overflow=qn,o.style.overflowX=Yn,o.style.overflowY=Xn,Zn.value="0px"};mo(()=>{t=Ke(e,l=>{if(l){if(!$t){const a=window.innerWidth-o.offsetWidth;a>0&&(Gn=o.style.marginRight,o.style.marginRight=`${a}px`,Zn.value=`${a}px`),qn=o.style.overflow,Yn=o.style.overflowX,Xn=o.style.overflowY,o.style.overflow="hidden",o.style.overflowX="hidden",o.style.overflowY="hidden"}r=!0,$t++}else $t--,$t||n(),r=!1},{immediate:!0})}),wo(()=>{t==null||t(),r&&($t--,$t||n(),r=!1)})}const bn=D(!1),Qn=()=>{bn.value=!0},Jn=()=>{bn.value=!1};let Xt=0;const ll=()=>(jo&&(ar(()=>{Xt||(window.addEventListener("compositionstart",Qn),window.addEventListener("compositionend",Jn)),Xt++}),wo(()=>{Xt<=1?(window.removeEventListener("compositionstart",Qn),window.removeEventListener("compositionend",Jn),Xt=0):Xt--})),bn);function Bd(e){const o={isDeactivated:!1};let t=!1;return ed(()=>{if(o.isDeactivated=!1,!t){t=!0;return}e()}),Ei(()=>{o.isDeactivated=!0,t||(t=!0)}),o}const Rr="n-form-item";function tt(e,{defaultSize:o="medium",mergedSize:t,mergedDisabled:r}={}){const n=Se(Rr,null);Oe(Rr,null);const l=R(t?()=>t(n):()=>{const{size:d}=e;if(d)return d;if(n){const{mergedSize:c}=n;if(c.value!==void 0)return c.value}return o}),a=R(r?()=>r(n):()=>{const{disabled:d}=e;return d!==void 0?d:n?n.disabled.value:!1}),s=R(()=>{const{status:d}=e;return d||(n==null?void 0:n.mergedValidationStatus.value)});return wo(()=>{n&&n.restoreValidation()}),{mergedSizeRef:l,mergedDisabledRef:a,mergedStatusRef:s,nTriggerFormBlur(){n&&n.handleContentBlur()},nTriggerFormChange(){n&&n.handleContentChange()},nTriggerFormFocus(){n&&n.handleContentFocus()},nTriggerFormInput(){n&&n.handleContentInput()}}}const So={fontFamily:'v-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',fontFamilyMono:"v-mono, SFMono-Regular, Menlo, Consolas, Courier, monospace",fontWeight:"400",fontWeightStrong:"500",cubicBezierEaseInOut:"cubic-bezier(.4, 0, .2, 1)",cubicBezierEaseOut:"cubic-bezier(0, 0, .2, 1)",cubicBezierEaseIn:"cubic-bezier(.4, 0, 1, 1)",borderRadius:"3px",borderRadiusSmall:"2px",fontSize:"14px",fontSizeMini:"12px",fontSizeTiny:"12px",fontSizeSmall:"14px",fontSizeMedium:"14px",fontSizeLarge:"15px",fontSizeHuge:"16px",lineHeight:"1.6",heightMini:"16px",heightTiny:"22px",heightSmall:"28px",heightMedium:"34px",heightLarge:"40px",heightHuge:"46px"},{fontSize:Td,fontFamily:Fd,lineHeight:Od}=So,al=y("body",` margin: 0; font-size: ${Td}; font-family: ${Fd}; diff --git a/web/dist/assets/nonesir-video-db921567.js b/web/dist/assets/nonesir-video-db921567.js deleted file mode 100644 index b69db4b0..00000000 --- a/web/dist/assets/nonesir-video-db921567.js +++ /dev/null @@ -1,810 +0,0 @@ -import{d as m,o as s,K as l,L as r,M as p,z as d,v as u,N as f,O as v,P as h,Q as w}from"./@vue-ca177dbe.js";var b=m({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{colorFrom(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#fbbf24"},colorTo(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!==null&&e!==void 0&&e[1]?this.colors[1]:"#ec4899"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const k={class:"relative"},$={class:"flex items-center justify-start w-full"},S={class:"font-sans text-white text-xs w-24"},z={class:"mr-3 ml-2"},C={class:"relative"},B={class:"px-3 py-2 rounded-lg flex items-center transform translate-x-2",style:{"background-color":"rgba(0, 0, 0, .8)"}},x=r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function P(e,n,i,o,a,y){return s(),l("div",{class:"shadow-xl rounded-xl overflow-hidden relative",onMouseenter:n[15]||(n[15]=t=>e.hovered=!0),onMouseleave:n[16]||(n[16]=t=>e.hovered=!1),onKeydown:n[17]||(n[17]=h(t=>e.$emit("play"),["left"]))},[r("div",k,[r("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[r("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(s(),l("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"transition duration-300 transform absolute w-full bottom-0 left-0 flex items-center justify-between overlay px-5 pt-3 pb-5"]},[r("div",$,[r("p",S,p(e.time.display)+"/"+p(e.duration),1),r("div",z,[d(r("img",{src:"https://en-zo.dev/vue-videoplayer/pause.svg",alt:"Icon pause video",class:"w-5 cursor-pointer",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[u,e.playing]]),d(r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"w-5 cursor-pointer",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[u,!e.playing]])]),r("div",{class:"w-full h-1 bg-white bg-opacity-60 rounded-sm cursor-pointer",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[r("div",{class:"relative h-full pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},[r("div",{class:"w-full rounded-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4),r("div",{class:"w-full rounded-sm filter blur-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`},null,4)],4)])]),r("div",{class:"ml-5 flex items-center justify-end",onMouseleave:n[13]||(n[13]=t=>e.volume=!1)},[r("div",C,[r("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[r("div",B,[d(r("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1 w-128 vertical-range",onInput:n[9]||(n[9]=(...t)=>e.setVolume&&e.setVolume(...t))},null,544),[[f,e.amount]])])],2),r("img",{src:`https://en-zo.dev/vue-videoplayer/volume-${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer relative",style:{"z-index":"2"},onClick:n[10]||(n[10]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[11]||(n[11]=t=>e.volume=!0)},null,40,["src"])]),r("img",{src:"https://en-zo.dev/vue-videoplayer/maximize.svg",alt:"Fullscreen",class:"w-3 ml-4 cursor-pointer",onClick:n[12]||(n[12]=t=>e.$emit("fullScreen"))})],32)],2)):v("",!0),!e.autoplay&&e.mask&&e.time.current===0?(s(),l("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[r("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[14]||(n[14]=t=>e.$emit("play"))},[x])],2)):v("",!0)])],32)}b.render=P;var c=m({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1}},computed:{color(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#8B5CF6":(e=this.colors)!==null&&e!==void 0&&e[0]?this.colors[0]:"#8B5CF6"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const T={class:"relative"},j={class:"mr-5"},I={class:"relative mr-6"},F={class:"px-3 py-3 rounded-xl flex items-center transform translate-x-9 bg-black bg-opacity-30"},q=r("img",{src:"https://en-zo.dev/vue-videoplayer/play.svg",alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,-1);function M(e,n,i,o,a,y){return s(),l("div",{class:"shadow-xl rounded-3xl overflow-hidden relative",onMouseenter:n[14]||(n[14]=t=>e.hovered=!0),onMouseleave:n[15]||(n[15]=t=>e.hovered=!1),onKeydown:n[16]||(n[16]=h(t=>e.$emit("play"),["left"]))},[r("div",T,[r("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[1]||(n[1]=t=>e.$emit("timeupdate",t.target)),onPause:n[2]||(n[2]=t=>e.$emit("isPlaying",!1)),onPlay:n[3]||(n[3]=t=>e.$emit("isPlaying",!0)),onClick:n[4]||(n[4]=t=>e.$emit("play"))},[r("source",{src:e.src,type:"video/mp4"},null,8,["src"])],40,["loop","autoplay","muted"]),e.controls?(s(),l("div",{key:0,class:[{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"absolute px-5 pb-5 bottom-0 left-0 w-full transition duration-300 transform"]},[r("div",{class:"w-full bg-black bg-opacity-30 px-5 py-4 rounded-xl flex items-center justify-between",onMouseleave:n[12]||(n[12]=t=>e.volume=!1)},[r("div",{class:"font-sans py-1 px-2 text-white rounded-md text-xs mr-5 whitespace-nowrap font-medium w-32 text-center",style:`font-size: 11px; background-color: ${e.color}`},p(e.time.display)+" / "+p(e.duration),5),r("div",j,[d(r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/pause.svg",alt:"Icon pause video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[5]||(n[5]=t=>e.$emit("play"))},null,512),[[u,e.playing]]),d(r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/play.svg",alt:"Icon play video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[6]||(n[6]=t=>e.$emit("play"))},null,512),[[u,!e.playing]])]),r("div",{class:"w-full h-1 bg-white bg-opacity-40 rounded-sm cursor-pointer mr-6",onClick:n[7]||(n[7]=t=>e.$emit("position",t))},[r("div",{class:"w-full rounded-sm h-full bg-white pointer-events-none",style:`width: ${e.time.progress}%; transition: width .2s ease-in-out;`},null,4)]),r("div",I,[r("div",{class:`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`},[r("div",F,[d(r("input",{"onUpdate:modelValue":n[8]||(n[8]=t=>e.amount=t),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1.5 w-128 vertical-range"},null,512),[[f,e.amount]])])],2),r("img",{src:`https://en-zo.dev/vue-videoplayer/basic/volume_${Math.ceil(e.amount*2)}.svg`,alt:"High volume video",class:"w-5 cursor-pointer filter-white transition duration-300 relative",style:{"z-index":"2"},onClick:n[9]||(n[9]=(...t)=>e.stopVolume&&e.stopVolume(...t)),onMouseenter:n[10]||(n[10]=t=>e.volume=!0)},null,40,["src"])]),r("img",{src:"https://en-zo.dev/vue-videoplayer/basic/fullscreen.svg",alt:"Fullscreen",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[11]||(n[11]=t=>e.$emit("fullScreen"))})],32)],2)):v("",!0),!e.autoplay&&e.mask&&e.time.current===0?(s(),l("div",{key:1,class:`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`},[r("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[13]||(n[13]=t=>e.$emit("play"))},[q])],2)):v("",!0)])],32)}c.render=M;var g=m({name:"Vue3PlayerVideo",components:{basic:c,gradient:b},props:{src:{type:String,required:!0},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},colors:{type:[String,Array],default(){return["#8B5CF6","#ec4899"]}},hoverable:{type:Boolean,default:!1},theme:{type:String,default:"basic"}},data(){return{uuid:Math.random().toString(36).substr(2,18),player:null,duration:0,playing:!1,time:{progress:0,display:0,current:0}}},watch:{"time.current"(e){this.time.display=this.format(Number(e)),this.time.progress=e*100/this.player.duration}},methods:{isPlaying(e){this.playing=e},play(){return this.playing?this.player.pause():this.player.play()},setPlayer(e){this.player=e,this.player.addEventListener("loadeddata",()=>{this.player.readyState>=3&&(this.duration=this.format(Number(this.player.duration)),this.time.display=this.format(0))})},stop(){this.player.pause(),this.player.currentTime=0},fullScreen(){this.player.webkitEnterFullscreen()},position(e){this.player.pause();const n=e.target.getBoundingClientRect(),o=(e.clientX-n.left)*100/e.target.offsetWidth;this.player.currentTime=o*this.player.duration/100,this.player.play()},format(e){const n=Math.floor(e/3600),i=Math.floor(e%3600/60),o=Math.round(e%60);return[n,i>9?i:n?"0"+i:i||"00",o>9?o:"0"+o].filter(Boolean).join(":")}}});const V={class:"vue3-player-video"};function N(e,n,i,o,a,y){return s(),l("div",V,[(s(),l(w(e.theme),{uuid:e.uuid,src:e.src,autoplay:e.autoplay,loop:e.loop,controls:e.controls,mask:e.mask,colors:e.colors,time:e.time,playing:e.playing,duration:e.duration,hoverable:e.hoverable,onPlay:e.play,onStop:e.stop,onTimeupdate:n[1]||(n[1]=({currentTime:t})=>e.time.current=t),onPosition:e.position,onFullScreen:e.fullScreen,onSetPlayer:e.setPlayer,onIsPlaying:e.isPlaying},null,8,["uuid","src","autoplay","loop","controls","mask","colors","time","playing","duration","hoverable","onPlay","onStop","onPosition","onFullScreen","onSetPlayer","onIsPlaying"]))])}function R(e,n){n===void 0&&(n={});var i=n.insertAt;if(!(!e||typeof document>"u")){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",i==="top"&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}var A=`/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */ - -/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ - -/* -Document -======== -*/ - -/** -Use a better box model (opinionated). -*/ - -*, -::before, -::after { - box-sizing: border-box; -} - -/** -Use a more readable tab size (opinionated). -*/ - -/** -1. Correct the line height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -*/ - -/* -Sections -======== -*/ - -/** -Remove the margin in all browsers. -*/ - -/** -Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) -*/ - -/* -Grouping content -================ -*/ - -/** -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -*/ - -/* -Text-level semantics -==================== -*/ - -/** -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -/** -Add the correct font weight in Edge and Safari. -*/ - -/** -1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) -2. Correct the odd 'em' font sizing in all browsers. -*/ - -/** -Add the correct font size in all browsers. -*/ - -/** -Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. -*/ - -/* -Tabular data -============ -*/ - -/** -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -*/ - -/* -Forms -===== -*/ - -/** -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -*/ - - -input { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ -} - -/** -Remove the inheritance of text transform in Edge and Firefox. -1. Remove the inheritance of text transform in Firefox. -*/ - -/** -Correct the inability to style clickable types in iOS and Safari. -*/ - - -[type='button'], -[type='reset'], -[type='submit'] { - -webkit-appearance: button; -} - -/** -Remove the inner border and padding in Firefox. -*/ - -::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** -Restore the focus styles unset by the previous rule. -*/ - -:-moz-focusring { - outline: 1px dotted ButtonText; -} - -/** -Remove the additional ':invalid' styles in Firefox. -See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/** -Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. -*/ - -/** -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/** -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/** -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to 'inherit' in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* -Interactive -=========== -*/ - -/* -Add the correct display in Chrome and Safari. -*/ - -/** - * Manually forked from SUIT CSS Base: https://github.com/suitcss/base - * A thin layer on top of normalize.css that provides a starting point more - * suitable for web applications. - */ - -/** - * Removes the default spacing and border for appropriate elements. - */ - - -p { - margin: 0; -} - -/** - * Work around a Firefox/IE bug where the transparent \`button\` background - * results in a loss of the default \`button\` focus styles. - */ - -/** - * Tailwind custom reset styles - */ - -/** - * 1. Use the user's configured \`sans\` font-family (with Tailwind's default - * sans-serif font stack as a fallback) as a sane default. - * 2. Use Tailwind's default "normal" line-height so the user isn't forced - * to override it to ensure consistency even when using the default theme. - */ - -/** - * Inherit font-family and line-height from \`html\` so users can set them as - * a class directly on the \`html\` element. - */ - -/** - * 1. Prevent padding and border from affecting element width. - * - * We used to set this in the html element and inherit from - * the parent element for everything else. This caused issues - * in shadow-dom-enhanced elements like
where the content - * is wrapped by a div with box-sizing set to \`content-box\`. - * - * https://github.com/mozdevs/cssremedy/issues/4 - * - * - * 2. Allow adding a border to an element by just adding a border-width. - * - * By default, the way the browser specifies that an element should have no - * border is by setting it's border-style to \`none\` in the user-agent - * stylesheet. - * - * In order to easily add borders to elements by just setting the \`border-width\` - * property, we change the default border-style for all elements to \`solid\`, and - * use border-width to hide them instead. This way our \`border\` utilities only - * need to set the \`border-width\` property instead of the entire \`border\` - * shorthand, making our border utilities much more straightforward to compose. - * - * https://github.com/tailwindcss/tailwindcss/pull/116 - */ - -*, -::before, -::after { - box-sizing: border-box; /* 1 */ - border-width: 0; /* 2 */ - border-style: solid; /* 2 */ - border-color: #e5e7eb; /* 2 */ -} - -/* - * Ensure horizontal rules are visible by default - */ - -/** - * Undo the \`border-style: none\` reset that Normalize applies to images so that - * our \`border-{width}\` utilities have the expected effect. - * - * The Normalize reset is unnecessary for us since we default the border-width - * to 0 on all elements. - * - * https://github.com/tailwindcss/tailwindcss/issues/362 - */ - -img { - border-style: solid; -} - -input:-ms-input-placeholder { - opacity: 1; - color: #9ca3af; -} - -input::placeholder { - opacity: 1; - color: #9ca3af; -} - - -[role="button"] { - cursor: pointer; -} - -/** - * Reset links to optimize for opt-in styling instead of - * opt-out. - */ - -/** - * Reset form element properties that are easy to forget to - * style explicitly so you don't inadvertently introduce - * styles that deviate from your design system. These styles - * supplement a partial reset that is already applied by - * normalize.css. - */ - - -input { - padding: 0; - line-height: inherit; - color: inherit; -} - -/** - * Use the configured 'mono' font family for elements that - * are expected to be rendered with a monospace font, falling - * back to the system monospace stack if there is no configured - * 'mono' font family. - */ - -/** - * Make replaced elements \`display: block\` by default as that's - * the behavior you want almost all of the time. Inspired by - * CSS Remedy, with \`svg\` added as well. - * - * https://github.com/mozdevs/cssremedy/issues/14 - */ - -img, -svg, -video { - display: block; - vertical-align: middle; -} - -/** - * Constrain images and videos to the parent width and preserve - * their intrinsic aspect ratio. - * - * https://github.com/mozdevs/cssremedy/issues/14 - */ - -img, -video { - max-width: 100%; - height: auto; -} - -.vue3-player-video .appearance-none{ - -webkit-appearance: none; - appearance: none; -} - -.vue3-player-video .bg-black{ - --tw-bg-opacity: 1; - background-color: rgba(0, 0, 0, var(--tw-bg-opacity)); -} - -.vue3-player-video .bg-white{ - --tw-bg-opacity: 1; - background-color: rgba(255, 255, 255, var(--tw-bg-opacity)); -} - -.vue3-player-video .bg-gradient-to-r{ - background-image: linear-gradient(to right, var(--tw-gradient-stops)); -} - -.vue3-player-video .bg-opacity-20{ - --tw-bg-opacity: 0.2; -} - -.vue3-player-video .bg-opacity-30{ - --tw-bg-opacity: 0.3; -} - -.vue3-player-video .bg-opacity-40{ - --tw-bg-opacity: 0.4; -} - -.vue3-player-video .bg-opacity-50{ - --tw-bg-opacity: 0.5; -} - -.vue3-player-video .bg-opacity-60{ - --tw-bg-opacity: 0.6; -} - -.vue3-player-video .hover\\:bg-opacity-40:hover{ - --tw-bg-opacity: 0.4; -} - -.vue3-player-video .rounded-sm{ - border-radius: 0.125rem; -} - -.vue3-player-video .rounded-md{ - border-radius: 0.375rem; -} - -.vue3-player-video .rounded-lg{ - border-radius: 0.5rem; -} - -.vue3-player-video .rounded-xl{ - border-radius: 0.75rem; -} - -.vue3-player-video .rounded-3xl{ - border-radius: 1.5rem; -} - -.vue3-player-video .rounded-full{ - border-radius: 9999px; -} - -.vue3-player-video .cursor-pointer{ - cursor: pointer; -} - -.vue3-player-video .flex{ - display: flex; -} - -.vue3-player-video .items-center{ - align-items: center; -} - -.vue3-player-video .justify-start{ - justify-content: flex-start; -} - -.vue3-player-video .justify-end{ - justify-content: flex-end; -} - -.vue3-player-video .justify-center{ - justify-content: center; -} - -.vue3-player-video .justify-between{ - justify-content: space-between; -} - -.vue3-player-video .font-sans{ - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; -} - -.vue3-player-video .font-medium{ - font-weight: 500; -} - -.vue3-player-video .h-1{ - height: 0.25rem; -} - -.vue3-player-video .h-20{ - height: 5rem; -} - -.vue3-player-video .h-full{ - height: 100%; -} - -.vue3-player-video .text-xs{ - font-size: 0.75rem; - line-height: 1rem; -} - -.vue3-player-video .ml-2{ - margin-left: 0.5rem; -} - -.vue3-player-video .mr-3{ - margin-right: 0.75rem; -} - -.vue3-player-video .ml-4{ - margin-left: 1rem; -} - -.vue3-player-video .mr-5{ - margin-right: 1.25rem; -} - -.vue3-player-video .ml-5{ - margin-left: 1.25rem; -} - -.vue3-player-video .mr-6{ - margin-right: 1.5rem; -} - -.vue3-player-video .opacity-0{ - opacity: 0; -} - -.vue3-player-video .overflow-hidden{ - overflow: hidden; -} - -.vue3-player-video .py-1{ - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.vue3-player-video .py-2{ - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.vue3-player-video .px-2{ - padding-left: 0.5rem; - padding-right: 0.5rem; -} - -.vue3-player-video .py-3{ - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} - -.vue3-player-video .px-3{ - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.vue3-player-video .py-4{ - padding-top: 1rem; - padding-bottom: 1rem; -} - -.vue3-player-video .px-5{ - padding-left: 1.25rem; - padding-right: 1.25rem; -} - -.vue3-player-video .pt-3{ - padding-top: 0.75rem; -} - -.vue3-player-video .pb-5{ - padding-bottom: 1.25rem; -} - -.vue3-player-video .pointer-events-none{ - pointer-events: none; -} - -.vue3-player-video .absolute{ - position: absolute; -} - -.vue3-player-video .relative{ - position: relative; -} - -.vue3-player-video .top-0{ - top: 0px; -} - -.vue3-player-video .bottom-0{ - bottom: 0px; -} - -.vue3-player-video .left-0{ - left: 0px; -} - -*{ - --tw-shadow: 0 0 #0000; -} - -.vue3-player-video .shadow-xl{ - --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -*{ - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgba(59, 130, 246, 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; -} - -.vue3-player-video .text-center{ - text-align: center; -} - -.vue3-player-video .text-white{ - --tw-text-opacity: 1; - color: rgba(255, 255, 255, var(--tw-text-opacity)); -} - -.vue3-player-video .whitespace-nowrap{ - white-space: nowrap; -} - -.vue3-player-video .w-3{ - width: 0.75rem; -} - -.vue3-player-video .w-4{ - width: 1rem; -} - -.vue3-player-video .w-5{ - width: 1.25rem; -} - -.vue3-player-video .w-12{ - width: 3rem; -} - -.vue3-player-video .w-20{ - width: 5rem; -} - -.vue3-player-video .w-24{ - width: 6rem; -} - -.vue3-player-video .w-32{ - width: 8rem; -} - -.vue3-player-video .w-full{ - width: 100%; -} - -.vue3-player-video .z-10{ - z-index: 10; -} - -.vue3-player-video .transform{ - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.vue3-player-video .origin-left{ - transform-origin: left; -} - -.vue3-player-video .-rotate-90{ - --tw-rotate: -90deg; -} - -.vue3-player-video .translate-x-0{ - --tw-translate-x: 0px; -} - -.vue3-player-video .translate-x-2{ - --tw-translate-x: 0.5rem; -} - -.vue3-player-video .translate-x-9{ - --tw-translate-x: 2.25rem; -} - -.vue3-player-video .-translate-y-1{ - --tw-translate-y: -0.25rem; -} - -.vue3-player-video .-translate-y-4{ - --tw-translate-y: -1rem; -} - -.vue3-player-video .translate-y-full{ - --tw-translate-y: 100%; -} - -.vue3-player-video .transition{ - transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.vue3-player-video .ease-in-out{ - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -.vue3-player-video .duration-200{ - transition-duration: 200ms; -} - -.vue3-player-video .duration-300{ - transition-duration: 300ms; -} - -@keyframes spin{ - to{ - transform: rotate(360deg); - } -} - -@keyframes ping{ - 75%, 100%{ - transform: scale(2); - opacity: 0; - } -} - -@keyframes pulse{ - 50%{ - opacity: .5; - } -} - -@keyframes bounce{ - 0%, 100%{ - transform: translateY(-25%); - animation-timing-function: cubic-bezier(0.8,0,1,1); - } - - 50%{ - transform: none; - animation-timing-function: cubic-bezier(0,0,0.2,1); - } -} - -.vue3-player-video .filter{ - --tw-blur: var(--tw-empty,/*!*/ /*!*/); - --tw-brightness: var(--tw-empty,/*!*/ /*!*/); - --tw-contrast: var(--tw-empty,/*!*/ /*!*/); - --tw-grayscale: var(--tw-empty,/*!*/ /*!*/); - --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/); - --tw-invert: var(--tw-empty,/*!*/ /*!*/); - --tw-saturate: var(--tw-empty,/*!*/ /*!*/); - --tw-sepia: var(--tw-empty,/*!*/ /*!*/); - --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.vue3-player-video .blur-sm{ - --tw-blur: blur(4px); -} - -.vue3-player-video .blur{ - --tw-blur: blur(8px); -} - -.vue3-player-video .backdrop-filter{ - --tw-backdrop-blur: var(--tw-empty,/*!*/ /*!*/); - --tw-backdrop-brightness: var(--tw-empty,/*!*/ /*!*/); - --tw-backdrop-contrast: var(--tw-empty,/*!*/ /*!*/); - --tw-backdrop-grayscale: var(--tw-empty,/*!*/ /*!*/); - --tw-backdrop-hue-rotate: var(--tw-empty,/*!*/ /*!*/); - --tw-backdrop-invert: var(--tw-empty,/*!*/ /*!*/); - --tw-backdrop-opacity: var(--tw-empty,/*!*/ /*!*/); - --tw-backdrop-saturate: var(--tw-empty,/*!*/ /*!*/); - --tw-backdrop-sepia: var(--tw-empty,/*!*/ /*!*/); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.overlay { - background: linear-gradient(0deg, rgba(0,0,0,0.41961), transparent) -} - -.vertical-range::-webkit-slider-thumb { - width: 6px; - -webkit-appearance: none; - appearance: none; - height: 6px; - background-color: white; - cursor: ns-resize; - box-shadow: -405px 0 0 400px rgba(255, 255, 255, .6); - border-radius: 50%; -} - -.backdrop-filter { - -webkit-backdrop-filter: blur(15px) !important; - backdrop-filter: blur(15px) !important; -} - -.filter-white:hover { - filter: brightness(2); -} - -.gradient-variable { - --tw-gradient-from: #fbbf24; - --tw-gradient-to: #ec4899; - --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(251, 191, 36, 0)) -} - -`;R(A);g.render=N;var E=(()=>{const e=g;return e.install=n=>{n.component("Vue3PlayerVideo",e)},e})();const O=E;export{O as N}; diff --git a/web/dist/assets/paopao-video-player-d47e9bf6.js b/web/dist/assets/paopao-video-player-d47e9bf6.js new file mode 100644 index 00000000..63f5f449 --- /dev/null +++ b/web/dist/assets/paopao-video-player-d47e9bf6.js @@ -0,0 +1,836 @@ +import{d as h,o as s,c as l,a as t,K as p,L as m,z as d,v as y,I as u,M as f,N as c,O as g,P,Q as B}from"./@vue-d002002f.js";var T="data:image/svg+xml,%3c%3fxml version='1.0' standalone='no'%3f%3e%3c!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg t='1687171769163' class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' p-id='3910' xmlns:xlink='http://www.w3.org/1999/xlink' width='500' height='500'%3e%3cpath d='M327.68 184.32a81.92 81.92 0 0 1 81.92 81.92v491.52a81.92 81.92 0 1 1-163.84 0V266.24a81.92 81.92 0 0 1 81.92-81.92z m368.64 0a81.92 81.92 0 0 1 81.92 81.92v491.52a81.92 81.92 0 1 1-163.84 0V266.24a81.92 81.92 0 0 1 81.92-81.92z' p-id='3911' fill='white'%3e%3c/path%3e%3c/svg%3e",w=T,V="data:image/svg+xml,%3c%3fxml version='1.0' standalone='no'%3f%3e%3c!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg t='1687171715945' class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' p-id='2813' width='500' height='500' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cpath d='M817.088 484.96l-512-323.744C295.232 154.976 282.752 154.592 272.576 160.224 262.336 165.856 256 176.608 256 188.256l0 647.328c0 11.648 6.336 22.4 16.576 28.032 4.8 2.656 10.112 3.968 15.424 3.968 5.952 0 11.904-1.664 17.088-4.928l512-323.616C826.368 533.184 832 522.976 832 512 832 501.024 826.368 490.816 817.088 484.96z' fill='white' p-id='2814'%3e%3c/path%3e%3c/svg%3e",b=V,M="data:image/svg+xml,%3c%3fxml version='1.0' standalone='no'%3f%3e%3c!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg t='1687172017162' class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' p-id='7048' xmlns:xlink='http://www.w3.org/1999/xlink' width='500' height='500'%3e%3cpath d='M462.06 142.1L284.12 320H80c-26.52 0-48 21.48-48 48v288c0 26.5 21.48 48 48 48h204.12l177.94 177.9c30.06 30.06 81.94 8.94 81.94-33.94V176.04c0-42.92-51.92-63.96-81.94-33.94zM992 512c0-127.06-64.12-243.88-171.54-312.48-22.38-14.28-52.06-7.64-66.24 14.92s-7.56 52.42 14.82 66.72C848.54 331.94 896 418.22 896 512s-47.46 180.06-126.96 230.84c-22.38 14.28-29 44.14-14.82 66.72 13.02 20.72 42.24 30.28 66.24 14.92C927.88 755.88 992 639.06 992 512z m-283.54-153.74c-23.16-12.66-52.38-4.32-65.22 18.9-12.78 23.22-4.32 52.4 18.9 65.22C687.96 456.56 704 483.26 704 512c0 28.76-16.04 55.44-41.84 69.62-23.22 12.82-31.68 42-18.9 65.22 12.86 23.32 42.1 31.6 65.22 18.9 56.46-31.1 91.54-90 91.54-153.76s-35.08-122.64-91.56-153.72z' p-id='7049' fill='white'%3e%3c/path%3e%3c/svg%3e",k=M,j="data:image/svg+xml,%3c%3fxml version='1.0' standalone='no'%3f%3e%3c!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg t='1687171887277' class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' p-id='5997' xmlns:xlink='http://www.w3.org/1999/xlink' width='500' height='500'%3e%3cpath d='M810.666667 938.666667h-128c-25.6 0-42.666667-17.066667-42.666667-42.666667s17.066667-42.666667 42.666667-42.666667h128c25.6 0 42.666667-17.066667 42.666666-42.666666v-128c0-25.6 17.066667-42.666667 42.666667-42.666667s42.666667 17.066667 42.666667 42.666667v128c0 72.533333-55.466667 128-128 128zM341.333333 938.666667H213.333333c-72.533333 0-128-55.466667-128-128v-128c0-25.6 17.066667-42.666667 42.666667-42.666667s42.666667 17.066667 42.666667 42.666667v128c0 25.6 17.066667 42.666667 42.666666 42.666666h128c25.6 0 42.666667 17.066667 42.666667 42.666667s-17.066667 42.666667-42.666667 42.666667zM896 384c-25.6 0-42.666667-17.066667-42.666667-42.666667V213.333333c0-25.6-17.066667-42.666667-42.666666-42.666666h-128c-25.6 0-42.666667-17.066667-42.666667-42.666667s17.066667-42.666667 42.666667-42.666667h128c72.533333 0 128 55.466667 128 128v128c0 25.6-17.066667 42.666667-42.666667 42.666667zM128 384c-25.6 0-42.666667-17.066667-42.666667-42.666667V213.333333c0-72.533333 55.466667-128 128-128h128c25.6 0 42.666667 17.066667 42.666667 42.666667s-17.066667 42.666667-42.666667 42.666667H213.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666v128c0 25.6-17.066667 42.666667-42.666667 42.666667z' p-id='5998' fill='white'%3e%3c/path%3e%3c/svg%3e",$=j,C=h({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1,Pause:w,Play:b,Volume:k,Maximize:$}},computed:{colorFrom(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!=null&&e[0]?this.colors[0]:"#fbbf24"},colorTo(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#fbbf24":(e=this.colors)!=null&&e[1]?this.colors[1]:"#ec4899"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const I={class:"relative"},D=["loop","autoplay","muted"],F=["src"],q={class:"flex items-center justify-start w-full"},E={class:"font-sans text-white text-xs w-24"},N={class:"mr-3 ml-2"},A=["src"],R=["src"],U={class:"relative"},G={class:"px-3 py-2 rounded-lg flex items-center transform translate-x-2",style:{"background-color":"rgba(0, 0, 0, .8)"}},O=["src"],L=["src"],Y=["src"];function H(e,n,a,r,i,v){return s(),l("div",{class:"shadow-xl rounded-xl overflow-hidden relative",onMouseenter:n[14]||(n[14]=o=>e.hovered=!0),onMouseleave:n[15]||(n[15]=o=>e.hovered=!1),onKeydown:n[16]||(n[16]=g(o=>e.$emit("play"),["left"]))},[t("div",I,[t("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[0]||(n[0]=o=>e.$emit("timeupdate",o.target)),onPause:n[1]||(n[1]=o=>e.$emit("isPlaying",!1)),onPlay:n[2]||(n[2]=o=>e.$emit("isPlaying",!0)),onClick:n[3]||(n[3]=o=>e.$emit("play"))},[t("source",{src:e.src,type:"video/mp4"},null,8,F)],40,D),e.controls?(s(),l("div",{key:0,class:p([{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"transition duration-300 transform absolute w-full bottom-0 left-0 flex items-center justify-between overlay px-5 pt-3 pb-5"])},[t("div",q,[t("p",E,m(e.time.display)+"/"+m(e.duration),1),t("div",N,[d(t("img",{src:e.Pause,alt:"Icon pause video",class:"w-5 cursor-pointer",onClick:n[4]||(n[4]=o=>e.$emit("play"))},null,8,A),[[y,e.playing]]),d(t("img",{src:e.Play,alt:"Icon play video",class:"w-5 cursor-pointer",onClick:n[5]||(n[5]=o=>e.$emit("play"))},null,8,R),[[y,!e.playing]])]),t("div",{class:"w-full h-1 bg-white bg-opacity-60 rounded-sm cursor-pointer",onClick:n[6]||(n[6]=o=>e.$emit("position",o))},[t("div",{class:"relative h-full pointer-events-none",style:u(`width: ${e.time.progress}%; transition: width .2s ease-in-out;`)},[t("div",{class:"w-full rounded-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:u(`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`)},null,4),t("div",{class:"w-full rounded-sm filter blur-sm h-full gradient-variable bg-gradient-to-r pointer-events-none absolute top-0 left-0",style:u(`--tw-gradient-from: ${e.colorFrom};--tw-gradient-to: ${e.colorTo};transition: width .2s ease-in-out`)},null,4)],4)])]),t("div",{class:"ml-5 flex items-center justify-end",onMouseleave:n[12]||(n[12]=o=>e.volume=!1)},[t("div",U,[t("div",{class:p(`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`)},[t("div",G,[d(t("input",{"onUpdate:modelValue":n[7]||(n[7]=o=>e.amount=o),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1 w-128 vertical-range",onInput:n[8]||(n[8]=function(){return e.setVolume&&e.setVolume(...arguments)})},null,544),[[f,e.amount]])])],2),t("img",{src:e.Volume,alt:"High volume video",class:"w-5 cursor-pointer relative",style:{"z-index":"2"},onClick:n[9]||(n[9]=function(){return e.stopVolume&&e.stopVolume(...arguments)}),onMouseenter:n[10]||(n[10]=o=>e.volume=!0)},null,40,O)]),t("img",{src:e.Maximize,alt:"Fullscreen",class:"w-3 ml-4 cursor-pointer",onClick:n[11]||(n[11]=o=>e.$emit("fullScreen"))},null,8,L)],32)],2)):c("",!0),!e.autoplay&&e.mask&&e.time.current===0?(s(),l("div",{key:1,class:p(`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`)},[t("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[13]||(n[13]=o=>e.$emit("play"))},[t("img",{src:e.Play,alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,8,Y)])],2)):c("",!0)])],32)}C.render=H;var S=h({name:"BasicTheme",props:{uuid:{type:String,required:!0},src:{type:String,required:!0},autoplay:{type:Boolean,required:!0},loop:{type:Boolean,required:!0},controls:{type:Boolean,required:!0},hoverable:{type:Boolean,required:!0},mask:{type:Boolean,required:!0},colors:{type:[String,Array],required:!0},time:{type:Object,required:!0},playing:{type:Boolean,default:!1},duration:{type:[String,Number],required:!0}},data(){return{hovered:!1,volume:!1,amount:1,Pause:w,Play:b,Volume:k,Maximize:$}},computed:{color(){var e;return typeof this.colors=="string"?this.colors?this.colors:"#8B5CF6":(e=this.colors)!=null&&e[0]?this.colors[0]:"#8B5CF6"}},mounted(){this.$emit("setPlayer",this.$refs[this.uuid])},methods:{setVolume(){this.$refs[this.uuid].volume=this.amount},stopVolume(){return this.amount>0?this.amount=0:this.amount=1}}});const W={class:"relative"},K=["loop","autoplay","muted"],X=["src"],Q={class:"mr-5"},J=["src"],Z=["src"],_={class:"relative mr-6"},ee={class:"px-3 py-3 rounded-xl flex items-center transform translate-x-9 bg-black bg-opacity-30"},ne=["src"],te=["src"],oe=["src"];function re(e,n,a,r,i,v){return s(),l("div",{class:"shadow-xl rounded-3xl overflow-hidden relative",onMouseenter:n[13]||(n[13]=o=>e.hovered=!0),onMouseleave:n[14]||(n[14]=o=>e.hovered=!1),onKeydown:n[15]||(n[15]=g(o=>e.$emit("play"),["left"]))},[t("div",W,[t("video",{ref:e.uuid,class:"w-full",loop:e.loop,autoplay:e.autoplay,muted:e.autoplay,onTimeupdate:n[0]||(n[0]=o=>e.$emit("timeupdate",o.target)),onPause:n[1]||(n[1]=o=>e.$emit("isPlaying",!1)),onPlay:n[2]||(n[2]=o=>e.$emit("isPlaying",!0)),onClick:n[3]||(n[3]=o=>e.$emit("play"))},[t("source",{src:e.src,type:"video/mp4"},null,8,X)],40,K),e.controls?(s(),l("div",{key:0,class:p([{"opacity-0 translate-y-full":!e.hoverable&&e.hovered,"opacity-0 translate-y-full":e.hoverable&&!e.hovered},"absolute px-5 pb-5 bottom-0 left-0 w-full transition duration-300 transform"])},[t("div",{class:"w-full bg-black bg-opacity-30 px-5 py-4 rounded-xl flex items-center justify-between",onMouseleave:n[11]||(n[11]=o=>e.volume=!1)},[t("div",{class:"font-sans py-1 px-2 text-white rounded-md text-xs mr-5 whitespace-nowrap font-medium w-32 text-center",style:u(`font-size: 11px; background-color: ${e.color}`)},m(e.time.display)+" / "+m(e.duration),5),t("div",Q,[d(t("img",{src:e.Pause,alt:"Icon pause video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[4]||(n[4]=o=>e.$emit("play"))},null,8,J),[[y,e.playing]]),d(t("img",{src:e.Play,alt:"Icon play video",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[5]||(n[5]=o=>e.$emit("play"))},null,8,Z),[[y,!e.playing]])]),t("div",{class:"w-full h-1 bg-white bg-opacity-40 rounded-sm cursor-pointer mr-6",onClick:n[6]||(n[6]=o=>e.$emit("position",o))},[t("div",{class:"w-full rounded-sm h-full bg-white pointer-events-none",style:u(`width: ${e.time.progress}%; transition: width .2s ease-in-out;`)},null,4)]),t("div",_,[t("div",{class:p(`w-128 origin-left translate-x-2 -rotate-90 w-128 transition duration-200 absolute transform top-0 py-2 ${e.volume?"-translate-y-4":"opacity-0 -translate-y-1 pointer-events-none"}`)},[t("div",ee,[d(t("input",{"onUpdate:modelValue":n[7]||(n[7]=o=>e.amount=o),type:"range",step:"0.05",min:"0",max:"1",class:"rounded-lg overflow-hidden appearance-none bg-white bg-opacity-30 h-1.5 w-128 vertical-range"},null,512),[[f,e.amount]])])],2),t("img",{src:e.Volume,alt:"High volume video",class:"w-5 cursor-pointer filter-white transition duration-300 relative",style:{"z-index":"2"},onClick:n[8]||(n[8]=function(){return e.stopVolume&&e.stopVolume(...arguments)}),onMouseenter:n[9]||(n[9]=o=>e.volume=!0)},null,40,ne)]),t("img",{src:e.Maximize,alt:"Fullscreen",class:"w-4 cursor-pointer filter-white transition duration-300",onClick:n[10]||(n[10]=o=>e.$emit("fullScreen"))},null,8,te)],32)],2)):c("",!0),!e.autoplay&&e.mask&&e.time.current===0?(s(),l("div",{key:1,class:p(`transition transform duration-300 absolute top-0 left-0 w-full h-full bg-black bg-opacity-50 backdrop-filter z-10 flex items-center justify-center ${e.playing?"opacity-0 pointer-events-none":""}`)},[t("div",{class:"w-20 h-20 rounded-full bg-white bg-opacity-20 transition duration-200 hover:bg-opacity-40 flex items-center justify-center cursor-pointer",onClick:n[12]||(n[12]=o=>e.$emit("play"))},[t("img",{src:e.Play,alt:"Icon play video",class:"transform translate-x-0.5 w-12"},null,8,oe)])],2)):c("",!0)])],32)}S.render=re;var z=h({name:"PaoPaoVideoPlayer",components:{basic:S,gradient:C},props:{src:{type:String,required:!0},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!1},controls:{type:Boolean,default:!0},mask:{type:Boolean,default:!0},colors:{type:[String,Array],default(){return["#8B5CF6","#ec4899"]}},hoverable:{type:Boolean,default:!1},theme:{type:String,default:"basic"}},data(){return{uuid:Math.random().toString(36).substr(2,18),player:null,duration:0,playing:!1,time:{progress:0,display:0,current:0}}},watch:{"time.current"(e){this.time.display=this.format(Number(e)),this.time.progress=e*100/this.player.duration}},methods:{isPlaying(e){this.playing=e},play(){return this.playing?this.player.pause():this.player.play()},setPlayer(e){this.player=e,this.player.addEventListener("loadeddata",()=>{this.player.readyState>=3&&(this.duration=this.format(Number(this.player.duration)),this.time.display=this.format(0))})},stop(){this.player.pause(),this.player.currentTime=0},fullScreen(){this.player.webkitEnterFullscreen()},position(e){this.player.pause();const n=e.target.getBoundingClientRect(),r=(e.clientX-n.left)*100/e.target.offsetWidth;this.player.currentTime=r*this.player.duration/100,this.player.play()},format(e){const n=Math.floor(e/3600),a=Math.floor(e%3600/60),r=Math.round(e%60);return[n,a>9?a:n?"0"+a:a||"00",r>9?r:"0"+r].filter(Boolean).join(":")}}});const ae={class:"paopao-video-player"};function ie(e,n,a,r,i,v){return s(),l("div",ae,[(s(),P(B(e.theme),{uuid:e.uuid,src:e.src,autoplay:e.autoplay,loop:e.loop,controls:e.controls,mask:e.mask,colors:e.colors,time:e.time,playing:e.playing,duration:e.duration,hoverable:e.hoverable,onPlay:e.play,onStop:e.stop,onTimeupdate:n[0]||(n[0]=o=>{let{currentTime:x}=o;return e.time.current=x}),onPosition:e.position,onFullScreen:e.fullScreen,onSetPlayer:e.setPlayer,onIsPlaying:e.isPlaying},null,40,["uuid","src","autoplay","loop","controls","mask","colors","time","playing","duration","hoverable","onPlay","onStop","onPosition","onFullScreen","onSetPlayer","onIsPlaying"]))])}function se(e,n){n===void 0&&(n={});var a=n.insertAt;if(!(!e||typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",a==="top"&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var le=`/*! tailwindcss v2.2.17 | MIT License | https://tailwindcss.com */ + +/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ + +/* +Document +======== +*/ + +/** +Use a better box model (opinionated). +*/ + +*, +::before, +::after { + box-sizing: border-box; +} + +/** +Use a more readable tab size (opinionated). +*/ + +/** +1. Correct the line height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +*/ + +/* +Sections +======== +*/ + +/** +Remove the margin in all browsers. +*/ + +/** +Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +*/ + +/* +Grouping content +================ +*/ + +/** +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ + +/* +Text-level semantics +==================== +*/ + +/** +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +/** +Add the correct font weight in Edge and Safari. +*/ + +/** +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ + +/** +Add the correct font size in all browsers. +*/ + +/** +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ + +/* +Tabular data +============ +*/ + +/** +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ + +/* +Forms +===== +*/ + +/** +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ + + +input { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** +Remove the inheritance of text transform in Edge and Firefox. +1. Remove the inheritance of text transform in Firefox. +*/ + +/** +Correct the inability to style clickable types in iOS and Safari. +*/ + + +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; +} + +/** +Remove the inner border and padding in Firefox. +*/ + +::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** +Restore the focus styles unset by the previous rule. +*/ + +:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** +Remove the additional ':invalid' styles in Firefox. +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/** +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ + +/** +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/** +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/** +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* +Interactive +=========== +*/ + +/* +Add the correct display in Chrome and Safari. +*/ + +/** + * Manually forked from SUIT CSS Base: https://github.com/suitcss/base + * A thin layer on top of normalize.css that provides a starting point more + * suitable for web applications. + */ + +/** + * Removes the default spacing and border for appropriate elements. + */ + + +p { + margin: 0; +} + +/** + * Tailwind custom reset styles + */ + +/** + * 1. Use the user's configured \`sans\` font-family (with Tailwind's default + * sans-serif font stack as a fallback) as a sane default. + * 2. Use Tailwind's default "normal" line-height so the user isn't forced + * to override it to ensure consistency even when using the default theme. + */ + +/** + * Inherit font-family and line-height from \`html\` so users can set them as + * a class directly on the \`html\` element. + */ + +/** + * 1. Prevent padding and border from affecting element width. + * + * We used to set this in the html element and inherit from + * the parent element for everything else. This caused issues + * in shadow-dom-enhanced elements like
where the content + * is wrapped by a div with box-sizing set to \`content-box\`. + * + * https://github.com/mozdevs/cssremedy/issues/4 + * + * + * 2. Allow adding a border to an element by just adding a border-width. + * + * By default, the way the browser specifies that an element should have no + * border is by setting it's border-style to \`none\` in the user-agent + * stylesheet. + * + * In order to easily add borders to elements by just setting the \`border-width\` + * property, we change the default border-style for all elements to \`solid\`, and + * use border-width to hide them instead. This way our \`border\` utilities only + * need to set the \`border-width\` property instead of the entire \`border\` + * shorthand, making our border utilities much more straightforward to compose. + * + * https://github.com/tailwindcss/tailwindcss/pull/116 + */ + +*, +::before, +::after { + box-sizing: border-box; /* 1 */ + border-width: 0; /* 2 */ + border-style: solid; /* 2 */ + border-color: currentColor; /* 2 */ +} + +/* + * Ensure horizontal rules are visible by default + */ + +/** + * Undo the \`border-style: none\` reset that Normalize applies to images so that + * our \`border-{width}\` utilities have the expected effect. + * + * The Normalize reset is unnecessary for us since we default the border-width + * to 0 on all elements. + * + * https://github.com/tailwindcss/tailwindcss/issues/362 + */ + +img { + border-style: solid; +} + +input:-ms-input-placeholder { + opacity: 1; + color: #9ca3af; +} + +input::placeholder { + opacity: 1; + color: #9ca3af; +} + + +[role="button"] { + cursor: pointer; +} + +/** + * Override legacy focus reset from Normalize with modern Firefox focus styles. + * + * This is actually an improvement over the new defaults in Firefox in our testing, + * as it triggers the better focus styles even for links, which still use a dotted + * outline in Firefox by default. + */ + +:-moz-focusring { + outline: auto; +} + +/** + * Reset links to optimize for opt-in styling instead of + * opt-out. + */ + +/** + * Reset form element properties that are easy to forget to + * style explicitly so you don't inadvertently introduce + * styles that deviate from your design system. These styles + * supplement a partial reset that is already applied by + * normalize.css. + */ + + +input { + padding: 0; + line-height: inherit; + color: inherit; +} + +/** + * Use the configured 'mono' font family for elements that + * are expected to be rendered with a monospace font, falling + * back to the system monospace stack if there is no configured + * 'mono' font family. + */ + +/** + * 1. Make replaced elements \`display: block\` by default as that's + * the behavior you want almost all of the time. Inspired by + * CSS Remedy, with \`svg\` added as well. + * + * https://github.com/mozdevs/cssremedy/issues/14 + * + * 2. Add \`vertical-align: middle\` to align replaced elements more + * sensibly by default when overriding \`display\` by adding a + * utility like \`inline\`. + * + * This can trigger a poorly considered linting error in some + * tools but is included by design. + * + * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210 + */ + +img, +svg, +video { + display: block; /* 1 */ + vertical-align: middle; /* 2 */ +} + +/** + * Constrain images and videos to the parent width and preserve + * their intrinsic aspect ratio. + * + * https://github.com/mozdevs/cssremedy/issues/14 + */ + +img, +video { + max-width: 100%; + height: auto; +} + +/** + * Ensure the default browser behavior of the \`hidden\` attribute. + */ + +[hidden] { + display: none; +} + +*, ::before, ::after{ + --tw-border-opacity: 1; + border-color: rgba(229, 231, 235, var(--tw-border-opacity)); +} + +.paopao-video-player .pointer-events-none{ + pointer-events: none; +} + +.paopao-video-player .absolute{ + position: absolute; +} + +.paopao-video-player .relative{ + position: relative; +} + +.paopao-video-player .top-0{ + top: 0px; +} + +.paopao-video-player .bottom-0{ + bottom: 0px; +} + +.paopao-video-player .left-0{ + left: 0px; +} + +.paopao-video-player .z-10{ + z-index: 10; +} + +.paopao-video-player .mr-3{ + margin-right: 0.75rem; +} + +.paopao-video-player .mr-5{ + margin-right: 1.25rem; +} + +.paopao-video-player .mr-6{ + margin-right: 1.5rem; +} + +.paopao-video-player .ml-2{ + margin-left: 0.5rem; +} + +.paopao-video-player .ml-4{ + margin-left: 1rem; +} + +.paopao-video-player .ml-5{ + margin-left: 1.25rem; +} + +.paopao-video-player .flex{ + display: flex; +} + +.paopao-video-player .h-1{ + height: 0.25rem; +} + +.paopao-video-player .h-20{ + height: 5rem; +} + +.paopao-video-player .h-full{ + height: 100%; +} + +.paopao-video-player .w-3{ + width: 0.75rem; +} + +.paopao-video-player .w-4{ + width: 1rem; +} + +.paopao-video-player .w-5{ + width: 1.25rem; +} + +.paopao-video-player .w-12{ + width: 3rem; +} + +.paopao-video-player .w-20{ + width: 5rem; +} + +.paopao-video-player .w-24{ + width: 6rem; +} + +.paopao-video-player .w-32{ + width: 8rem; +} + +.paopao-video-player .w-full{ + width: 100%; +} + +.paopao-video-player .origin-left{ + transform-origin: left; +} + +.paopao-video-player .transform{ + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.paopao-video-player .translate-x-0{ + --tw-translate-x: 0px; +} + +.paopao-video-player .translate-x-2{ + --tw-translate-x: 0.5rem; +} + +.paopao-video-player .translate-x-9{ + --tw-translate-x: 2.25rem; +} + +.paopao-video-player .-translate-y-1{ + --tw-translate-y: -0.25rem; +} + +.paopao-video-player .-translate-y-4{ + --tw-translate-y: -1rem; +} + +.paopao-video-player .translate-y-full{ + --tw-translate-y: 100%; +} + +.paopao-video-player .-rotate-90{ + --tw-rotate: -90deg; +} + +@keyframes spin{ + to{ + transform: rotate(360deg); + } +} + +@keyframes ping{ + 75%, 100%{ + transform: scale(2); + opacity: 0; + } +} + +@keyframes pulse{ + 50%{ + opacity: .5; + } +} + +@keyframes bounce{ + 0%, 100%{ + transform: translateY(-25%); + animation-timing-function: cubic-bezier(0.8,0,1,1); + } + + 50%{ + transform: none; + animation-timing-function: cubic-bezier(0,0,0.2,1); + } +} + +.paopao-video-player .cursor-pointer{ + cursor: pointer; +} + +.paopao-video-player .appearance-none{ + appearance: none; +} + +.paopao-video-player .items-center{ + align-items: center; +} + +.paopao-video-player .justify-start{ + justify-content: flex-start; +} + +.paopao-video-player .justify-end{ + justify-content: flex-end; +} + +.paopao-video-player .justify-center{ + justify-content: center; +} + +.paopao-video-player .justify-between{ + justify-content: space-between; +} + +.paopao-video-player .overflow-hidden{ + overflow: hidden; +} + +.paopao-video-player .whitespace-nowrap{ + white-space: nowrap; +} + +.paopao-video-player .rounded-sm{ + border-radius: 0.125rem; +} + +.paopao-video-player .rounded-md{ + border-radius: 0.375rem; +} + +.paopao-video-player .rounded-lg{ + border-radius: 0.5rem; +} + +.paopao-video-player .rounded-xl{ + border-radius: 0.75rem; +} + +.paopao-video-player .rounded-3xl{ + border-radius: 1.5rem; +} + +.paopao-video-player .rounded-full{ + border-radius: 9999px; +} + +.paopao-video-player .bg-black{ + --tw-bg-opacity: 1; + background-color: rgba(0, 0, 0, var(--tw-bg-opacity)); +} + +.paopao-video-player .bg-white{ + --tw-bg-opacity: 1; + background-color: rgba(255, 255, 255, var(--tw-bg-opacity)); +} + +.paopao-video-player .bg-opacity-20{ + --tw-bg-opacity: 0.2; +} + +.paopao-video-player .bg-opacity-30{ + --tw-bg-opacity: 0.3; +} + +.paopao-video-player .bg-opacity-40{ + --tw-bg-opacity: 0.4; +} + +.paopao-video-player .bg-opacity-50{ + --tw-bg-opacity: 0.5; +} + +.paopao-video-player .bg-opacity-60{ + --tw-bg-opacity: 0.6; +} + +.paopao-video-player .hover\\:bg-opacity-40:hover{ + --tw-bg-opacity: 0.4; +} + +.paopao-video-player .bg-gradient-to-r{ + background-image: linear-gradient(to right, var(--tw-gradient-stops)); +} + +.paopao-video-player .px-2{ + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.paopao-video-player .px-3{ + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.paopao-video-player .px-5{ + padding-left: 1.25rem; + padding-right: 1.25rem; +} + +.paopao-video-player .py-1{ + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.paopao-video-player .py-2{ + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.paopao-video-player .py-3{ + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.paopao-video-player .py-4{ + padding-top: 1rem; + padding-bottom: 1rem; +} + +.paopao-video-player .pt-3{ + padding-top: 0.75rem; +} + +.paopao-video-player .pb-5{ + padding-bottom: 1.25rem; +} + +.paopao-video-player .text-center{ + text-align: center; +} + +.paopao-video-player .font-sans{ + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + +.paopao-video-player .text-xs{ + font-size: 0.75rem; + line-height: 1rem; +} + +.paopao-video-player .font-medium{ + font-weight: 500; +} + +.paopao-video-player .text-white{ + --tw-text-opacity: 1; + color: rgba(255, 255, 255, var(--tw-text-opacity)); +} + +.paopao-video-player .opacity-0{ + opacity: 0; +} + +*, ::before, ::after{ + --tw-shadow: 0 0 #0000; +} + +.paopao-video-player .shadow-xl{ + --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +*, ::before, ::after{ + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgba(59, 130, 246, 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; +} + +.paopao-video-player .filter{ + --tw-blur: var(--tw-empty,/*!*/ /*!*/); + --tw-brightness: var(--tw-empty,/*!*/ /*!*/); + --tw-contrast: var(--tw-empty,/*!*/ /*!*/); + --tw-grayscale: var(--tw-empty,/*!*/ /*!*/); + --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/); + --tw-invert: var(--tw-empty,/*!*/ /*!*/); + --tw-saturate: var(--tw-empty,/*!*/ /*!*/); + --tw-sepia: var(--tw-empty,/*!*/ /*!*/); + --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.paopao-video-player .blur-sm{ + --tw-blur: blur(4px); +} + +.paopao-video-player .blur{ + --tw-blur: blur(8px); +} + +.paopao-video-player .backdrop-filter{ + --tw-backdrop-blur: var(--tw-empty,/*!*/ /*!*/); + --tw-backdrop-brightness: var(--tw-empty,/*!*/ /*!*/); + --tw-backdrop-contrast: var(--tw-empty,/*!*/ /*!*/); + --tw-backdrop-grayscale: var(--tw-empty,/*!*/ /*!*/); + --tw-backdrop-hue-rotate: var(--tw-empty,/*!*/ /*!*/); + --tw-backdrop-invert: var(--tw-empty,/*!*/ /*!*/); + --tw-backdrop-opacity: var(--tw-empty,/*!*/ /*!*/); + --tw-backdrop-saturate: var(--tw-empty,/*!*/ /*!*/); + --tw-backdrop-sepia: var(--tw-empty,/*!*/ /*!*/); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.paopao-video-player .transition{ + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.paopao-video-player .duration-200{ + transition-duration: 200ms; +} + +.paopao-video-player .duration-300{ + transition-duration: 300ms; +} + +.paopao-video-player .ease-in-out{ + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} + +.overlay { + background: linear-gradient(0deg, rgba(0,0,0,0.41961), transparent) +} + +.vertical-range::-webkit-slider-thumb { + width: 6px; + appearance: none; + height: 6px; + background-color: white; + cursor: ns-resize; + box-shadow: -405px 0 0 400px rgba(255, 255, 255, .6); + border-radius: 50%; +} + +.backdrop-filter { + -webkit-backdrop-filter: blur(15px) !important; + backdrop-filter: blur(15px) !important; +} + +.filter-white:hover { + filter: brightness(2); +} + +.gradient-variable { + --tw-gradient-from: #fbbf24; + --tw-gradient-to: #ec4899; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(251, 191, 36, 0)) +} +`;se(le);z.render=ie;var de=(()=>{const e=z;return e.install=n=>{n.component("PaoPaoVideoPlayer",e)},e})();export{de as e}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-09a3d19d.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-09a3d19d.js deleted file mode 100644 index c3e1fee8..00000000 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-09a3d19d.js +++ /dev/null @@ -1 +0,0 @@ -import{p as D,a as F,_ as P,b as I,c as R}from"./content-3f1d28f2.js";import{d as A,n as x,a1 as E,o as a,c as u,L as i,a6 as K,Y as t,$ as n,a as l,F as Y,a2 as G,a0 as v,e as _,M as c,K as p,O as r}from"./@vue-ca177dbe.js";import{u as J}from"./vuex-d28e9067.js";import{b as Q,u as U}from"./vue-router-88cc84d1.js";import{b}from"./formatTime-000dbebb.js";import{a as W}from"./copy-to-clipboard-1dd3075d.js";import{i as X,j as Z,l as tt,m as et}from"./@vicons-6d35273b.js";import{o as st,M as ot,j as nt,e as at,O as it,a as rt,L as ct}from"./naive-ui-2035804c.js";const pt={class:"post-item"},lt={class:"nickname-wrap"},_t={class:"username-wrap"},mt={key:3},ut={class:"timestamp-mobile"},dt={class:"item-header-extra"},ht={key:0,class:"timestamp"},gt=["innerHTML"],kt={class:"opt-item"},ft={class:"opt-item"},Mt=A({__name:"post-item",props:{post:null},setup(C){const $=C;Q();const k=U(),d=J(),z=x(()=>[{label:"复制链接",key:"copyTweetLink"}]),M=o=>{switch(o){case"copyTweetLink":W(`${window.location.origin}/#/post?id=${e.value.id}`),window.$message.success("链接已复制到剪贴板");break}},e=x(()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},$.post);return o.contents.map(s=>{(+s.type==1||+s.type==2)&&o.texts.push(s),+s.type==3&&o.imgs.push(s),+s.type==4&&o.videos.push(s),+s.type==6&&o.links.push(s),+s.type==7&&o.attachments.push(s),+s.type==8&&o.charge_attachments.push(s)}),o}),f=o=>{k.push({name:"post",query:{id:o}})},T=(o,s)=>{if(o.target.dataset.detail){const m=o.target.dataset.detail.split(":");if(m.length===2){d.commit("refresh"),m[0]==="tag"?k.push({name:"home",query:{q:m[1],t:"tag"}}):k.push({name:"user",query:{username:m[1]}});return}}f(s)};return(o,s)=>{const m=st,L=E("router-link"),y=ot,h=nt,O=at,S=it,w=F,q=P,B=I,N=R,j=rt,H=ct;return a(),u("div",pt,[i(H,{"content-indented":""},K({avatar:n(()=>[i(m,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:n(()=>[l("span",lt,[i(L,{onClick:s[0]||(s[0]=v(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:n(()=>[_(c(t(e).user.nickname),1)]),_:1},8,["to"])]),l("span",_t," @"+c(t(e).user.username),1),t(e).is_top?(a(),p(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[_(" 置顶 ")]),_:1})):r("",!0),t(e).visibility==1?(a(),p(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[_(" 私密 ")]),_:1})):r("",!0),t(e).visibility==2?(a(),p(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[_(" 好友可见 ")]),_:1})):r("",!0),t(d).state.desktopModelShow?r("",!0):(a(),u("div",mt,[l("span",ut,c(t(b)(t(e).created_on))+" "+c(t(e).ip_loc),1)]))]),"header-extra":n(()=>[l("div",dt,[t(d).state.desktopModelShow?(a(),u("span",ht,c(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+c(t(b)(t(e).created_on)),1)):r("",!0),t(d).state.desktopModelShow?r("",!0):(a(),p(S,{key:1,placement:"bottom-end",trigger:"click",size:"small",options:t(z),onSelect:M},{default:n(()=>[i(O,{quaternary:"",circle:""},{icon:n(()=>[i(h,null,{default:n(()=>[i(t(X))]),_:1})]),_:1})]),_:1},8,["options"]))])]),footer:n(()=>[t(e).attachments.length>0?(a(),p(w,{key:0,attachments:t(e).attachments},null,8,["attachments"])):r("",!0),t(e).charge_attachments.length>0?(a(),p(w,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):r("",!0),t(e).imgs.length>0?(a(),p(q,{key:2,imgs:t(e).imgs},null,8,["imgs"])):r("",!0),t(e).videos.length>0?(a(),p(B,{key:3,videos:t(e).videos},null,8,["videos"])):r("",!0),t(e).links.length>0?(a(),p(N,{key:4,links:t(e).links},null,8,["links"])):r("",!0)]),action:n(()=>[i(j,{justify:"space-between"},{default:n(()=>[l("div",kt,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(Z))]),_:1}),_(" "+c(t(e).upvote_count),1)]),l("div",{class:"opt-item",onClick:s[3]||(s[3]=v(g=>f(t(e).id),["stop"]))},[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(tt))]),_:1}),_(" "+c(t(e).comment_count),1)]),l("div",ft,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(et))]),_:1}),_(" "+c(t(e).collection_count),1)])]),_:1})]),_:2},[t(e).texts.length>0?{name:"description",fn:n(()=>[l("div",{onClick:s[2]||(s[2]=g=>f(t(e).id))},[(a(!0),u(Y,null,G(t(e).texts,g=>(a(),u("span",{key:g.id,class:"post-text",onClick:s[1]||(s[1]=v(V=>T(V,t(e).id),["stop"])),innerHTML:t(D)(g.content).content},null,8,gt))),128))])]),key:"0"}:void 0]),1024)])}}});export{Mt as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js new file mode 100644 index 00000000..464c7d0e --- /dev/null +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0b64a8ce.js @@ -0,0 +1 @@ +import{p as V,a as D,_ as F,b as I,c as R}from"./content-b5ab8047.js";import{d as A,n as x,a2 as E,o as a,c as m,U as n,a6 as U,a0 as o,a as c,F as Z,a3 as G,a1 as y,Z as l,e as p,L as u,P as r,N as i}from"./@vue-d002002f.js";import{u as J}from"./vuex-4d2f7b35.js";import{b as K,u as Q}from"./vue-router-29e6667f.js";import{b}from"./formatTime-000dbebb.js";import{a as W}from"./copy-to-clipboard-1dd3075d.js";import{i as X,j as Y,l as ee,m as te}from"./@vicons-4022100b.js";import{o as se,M as oe,j as ae,e as ne,O as ie,a as le,L as ue}from"./naive-ui-88b48034.js";const re={class:"post-item"},ce={class:"nickname-wrap"},pe={class:"username-wrap"},_e={key:3},me={class:"timestamp-mobile"},de={class:"item-header-extra"},ve={key:0,class:"timestamp"},he=["innerHTML"],ge={class:"opt-item"},ke={class:"opt-item"},Me=A({__name:"post-item",props:{post:{}},setup(C){const z=C;K();const g=Q(),d=J(),$=x(()=>[{label:"复制链接",key:"copyTweetLink"}]),M=s=>{switch(s){case"copyTweetLink":W(`${window.location.origin}/#/post?id=${e.value.id}`),window.$message.success("链接已复制到剪贴板");break}},e=x(()=>{let s=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},z.post);return s.contents.map(t=>{(+t.type==1||+t.type==2)&&s.texts.push(t),+t.type==3&&s.imgs.push(t),+t.type==4&&s.videos.push(t),+t.type==6&&s.links.push(t),+t.type==7&&s.attachments.push(t),+t.type==8&&s.charge_attachments.push(t)}),s}),k=s=>{g.push({name:"post",query:{id:s}})},T=(s,t)=>{if(s.target.dataset.detail){const _=s.target.dataset.detail.split(":");if(_.length===2){d.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{username:_[1]}});return}}k(t)};return(s,t)=>{const _=se,L=E("router-link"),f=oe,v=ae,S=ne,q=ie,w=D,N=F,O=I,B=R,j=le,H=ue;return a(),m("div",re,[n(H,{"content-indented":""},U({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[c("span",ce,[n(L,{onClick:t[0]||(t[0]=y(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.value.user.username}}},{default:o(()=>[p(u(e.value.user.nickname),1)]),_:1},8,["to"])]),c("span",pe," @"+u(e.value.user.username),1),e.value.is_top?(a(),r(f,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[p(" 置顶 ")]),_:1})):i("",!0),e.value.visibility==1?(a(),r(f,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[p(" 私密 ")]),_:1})):i("",!0),e.value.visibility==2?(a(),r(f,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[p(" 好友可见 ")]),_:1})):i("",!0),l(d).state.desktopModelShow?i("",!0):(a(),m("div",_e,[c("span",me,u(l(b)(e.value.created_on))+" "+u(e.value.ip_loc),1)]))]),"header-extra":o(()=>[c("div",de,[l(d).state.desktopModelShow?(a(),m("span",ve,u(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+u(l(b)(e.value.created_on)),1)):i("",!0),l(d).state.desktopModelShow?i("",!0):(a(),r(q,{key:1,placement:"bottom-end",trigger:"click",size:"small",options:$.value,onSelect:M},{default:o(()=>[n(S,{quaternary:"",circle:""},{icon:o(()=>[n(v,null,{default:o(()=>[n(l(X))]),_:1})]),_:1})]),_:1},8,["options"]))])]),footer:o(()=>[e.value.attachments.length>0?(a(),r(w,{key:0,attachments:e.value.attachments},null,8,["attachments"])):i("",!0),e.value.charge_attachments.length>0?(a(),r(w,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):i("",!0),e.value.imgs.length>0?(a(),r(N,{key:2,imgs:e.value.imgs},null,8,["imgs"])):i("",!0),e.value.videos.length>0?(a(),r(O,{key:3,videos:e.value.videos},null,8,["videos"])):i("",!0),e.value.links.length>0?(a(),r(B,{key:4,links:e.value.links},null,8,["links"])):i("",!0)]),action:o(()=>[n(j,{justify:"space-between"},{default:o(()=>[c("div",ge,[n(v,{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(Y))]),_:1}),p(" "+u(e.value.upvote_count),1)]),c("div",{class:"opt-item",onClick:t[3]||(t[3]=y(h=>k(e.value.id),["stop"]))},[n(v,{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ee))]),_:1}),p(" "+u(e.value.comment_count),1)]),c("div",ke,[n(v,{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(te))]),_:1}),p(" "+u(e.value.collection_count),1)])]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[c("div",{onClick:t[2]||(t[2]=h=>k(e.value.id))},[(a(!0),m(Z,null,G(e.value.texts,h=>(a(),m("span",{key:h.id,class:"post-text",onClick:t[1]||(t[1]=y(P=>T(P,e.value.id),["stop"])),innerHTML:l(V)(h.content).content},null,8,he))),128))])]),key:"0"}:void 0]),1024)])}}});export{Me as _}; diff --git a/web/dist/assets/post-skeleton-8710588f.js b/web/dist/assets/post-skeleton-8710588f.js new file mode 100644 index 00000000..d74a5b91 --- /dev/null +++ b/web/dist/assets/post-skeleton-8710588f.js @@ -0,0 +1 @@ +import{U as r}from"./naive-ui-88b48034.js";import{d as c,o as s,c as n,a3 as p,a as o,U as t,F as l}from"./@vue-d002002f.js";import{_ as i}from"./index-0f3021a1.js";const m={class:"user"},d={class:"content"},u=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/post-skeleton-fdd699ea.js b/web/dist/assets/post-skeleton-fdd699ea.js deleted file mode 100644 index 51058cae..00000000 --- a/web/dist/assets/post-skeleton-fdd699ea.js +++ /dev/null @@ -1 +0,0 @@ -import{U as c}from"./naive-ui-2035804c.js";import{d as r,o as s,c as n,a2 as l,a as o,L as t,F as p}from"./@vue-ca177dbe.js";import{_ as i}from"./index-71354138.js";const m={class:"user"},d={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(f,k)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/v3-infinite-loading-fcb59c38.js b/web/dist/assets/v3-infinite-loading-58f64a4e.js similarity index 63% rename from web/dist/assets/v3-infinite-loading-fcb59c38.js rename to web/dist/assets/v3-infinite-loading-58f64a4e.js index d4376462..7cd44118 100644 --- a/web/dist/assets/v3-infinite-loading-fcb59c38.js +++ b/web/dist/assets/v3-infinite-loading-58f64a4e.js @@ -1 +1 @@ -import{r as v,R as B,j as H,H as L,o as b,c as h,S as p,L as j,O as u,a as d,M as g,w as y,y as C,U as N,V as O}from"./@vue-ca177dbe.js";const x=(e,o)=>{const t=e.__vccOpts||e;for(const[n,a]of o)t[n]=a;return t},V={},$=e=>(N("data-v-259be2b2"),e=e(),O(),e),M={class:"container"},R=$(()=>d("div",{class:"spinner"},null,-1)),T=[R];function U(e,o){return b(),h("div",M,T)}const D=x(V,[["render",U],["__scopeId","data-v-259be2b2"],["__file","/home/oumoussa/side-projects/infinite/src/components/Spinner.vue"]]),z=e=>({loading(){e.value="loading"},loaded(){e.value="loaded"},complete(){e.value="complete"},error(){e.value="error"}}),A=(e,o,t)=>()=>{const n=t.parentEl||document.documentElement;t.prevHeight=n.scrollHeight,o.loading(),e("infinite",o)},F=(e,o)=>{const t=e.getBoundingClientRect();if(!o)return t.top>=0&&t.bottom<=window.innerHeight;const n=o.getBoundingClientRect();return t.top>=n.top&&t.bottom<=n.bottom},_=e=>{e.parentEl=document.querySelector(e.target)||null;let o=`0px 0px ${e.distance}px 0px`;e.top&&(o=`${e.distance}px 0px 0px 0px`);const t=new IntersectionObserver(n=>{n[0].isIntersecting&&(e.firstload&&e.emit(),e.firstload=!0)},{root:e.parentEl,rootMargin:o});return t.observe(e.infiniteLoading.value),t},G={class:"state-error"},K={__name:"InfiniteLoading",props:{top:{type:Boolean,required:!1},target:{type:[String,Boolean],required:!1},distance:{type:Number,required:!1,default:0},identifier:{required:!1},firstload:{type:Boolean,required:!1,default:!0},slots:{type:Object,required:!1}},emits:["infinite"],setup(e,{emit:o}){const t=e;let n=null;const a=v(null),s=v("ready"),{top:m,firstload:E,target:k,distance:I}=t,{identifier:f}=B(t),r={infiniteLoading:a,target:k,top:m,firstload:E,distance:I,prevHeight:0,parentEl:null};r.emit=A(o,z(s),r);const S=()=>y(s,async i=>{const l=r.parentEl||document.documentElement;await C(),i=="loaded"&&m&&(l.scrollTop=l.scrollHeight-r.prevHeight),i=="loaded"&&F(a.value,r.parentEl)&&r.emit(),i=="complete"&&n.disconnect()}),q=()=>y(f,()=>{s.value="ready",n.disconnect(),n=_(r)});return H(()=>{n=_(r),S(),f&&q()}),L(()=>{n.disconnect()}),(i,l)=>(b(),h("div",{ref_key:"infiniteLoading",ref:a},[s.value=="loading"?p(i.$slots,"spinner",{key:0},()=>[j(D)],!0):u("v-if",!0),s.value=="complete"?p(i.$slots,"complete",{key:1},()=>{var c;return[d("span",null,g(((c=e.slots)==null?void 0:c.complete)||"No more results!"),1)]},!0):u("v-if",!0),s.value=="error"?p(i.$slots,"error",{key:2,retry:r.emit},()=>{var c;return[d("span",G,[d("span",null,g(((c=e.slots)==null?void 0:c.error)||"Oops something went wrong!"),1),d("button",{class:"retry",onClick:l[0]||(l[0]=(...w)=>r.emit&&r.emit(...w))}," retry ")])]},!0):u("v-if",!0)],512))}},J=x(K,[["__scopeId","data-v-9d82030b"],["__file","/home/oumoussa/side-projects/infinite/src/components/InfiniteLoading.vue"]]);export{J as K}; +import{r as v,R as B,j as H,H as L,o as b,c as h,S as p,U as N,N as u,a as d,L as g,w as y,y as j,V as C,W as V}from"./@vue-d002002f.js";const x=(e,o)=>{const t=e.__vccOpts||e;for(const[n,a]of o)t[n]=a;return t},$={},O=e=>(C("data-v-259be2b2"),e=e(),V(),e),R={class:"container"},M=O(()=>d("div",{class:"spinner"},null,-1)),T=[M];function U(e,o){return b(),h("div",R,T)}const D=x($,[["render",U],["__scopeId","data-v-259be2b2"],["__file","/home/oumoussa/side-projects/infinite/src/components/Spinner.vue"]]),W=e=>({loading(){e.value="loading"},loaded(){e.value="loaded"},complete(){e.value="complete"},error(){e.value="error"}}),z=(e,o,t)=>()=>{const n=t.parentEl||document.documentElement;t.prevHeight=n.scrollHeight,o.loading(),e("infinite",o)},A=(e,o)=>{const t=e.getBoundingClientRect();if(!o)return t.top>=0&&t.bottom<=window.innerHeight;const n=o.getBoundingClientRect();return t.top>=n.top&&t.bottom<=n.bottom},_=e=>{e.parentEl=document.querySelector(e.target)||null;let o=`0px 0px ${e.distance}px 0px`;e.top&&(o=`${e.distance}px 0px 0px 0px`);const t=new IntersectionObserver(n=>{n[0].isIntersecting&&(e.firstload&&e.emit(),e.firstload=!0)},{root:e.parentEl,rootMargin:o});return t.observe(e.infiniteLoading.value),t},F={class:"state-error"},G={__name:"InfiniteLoading",props:{top:{type:Boolean,required:!1},target:{type:[String,Boolean],required:!1},distance:{type:Number,required:!1,default:0},identifier:{required:!1},firstload:{type:Boolean,required:!1,default:!0},slots:{type:Object,required:!1}},emits:["infinite"],setup(e,{emit:o}){const t=e;let n=null;const a=v(null),s=v("ready"),{top:m,firstload:E,target:k,distance:I}=t,{identifier:f}=B(t),r={infiniteLoading:a,target:k,top:m,firstload:E,distance:I,prevHeight:0,parentEl:null};r.emit=z(o,W(s),r);const S=()=>y(s,async i=>{const l=r.parentEl||document.documentElement;await j(),i=="loaded"&&m&&(l.scrollTop=l.scrollHeight-r.prevHeight),i=="loaded"&&A(a.value,r.parentEl)&&r.emit(),i=="complete"&&n.disconnect()}),q=()=>y(f,()=>{s.value="ready",n.disconnect(),n=_(r)});return H(()=>{n=_(r),S(),f&&q()}),L(()=>{n.disconnect()}),(i,l)=>(b(),h("div",{ref_key:"infiniteLoading",ref:a},[s.value=="loading"?p(i.$slots,"spinner",{key:0},()=>[N(D)],!0):u("v-if",!0),s.value=="complete"?p(i.$slots,"complete",{key:1},()=>{var c;return[d("span",null,g(((c=e.slots)==null?void 0:c.complete)||"No more results!"),1)]},!0):u("v-if",!0),s.value=="error"?p(i.$slots,"error",{key:2,retry:r.emit},()=>{var c;return[d("span",F,[d("span",null,g(((c=e.slots)==null?void 0:c.error)||"Oops something went wrong!"),1),d("button",{class:"retry",onClick:l[0]||(l[0]=(...w)=>r.emit&&r.emit(...w))}," retry ")])]},!0):u("v-if",!0)],512))}},J=x(G,[["__scopeId","data-v-9d82030b"],["__file","/home/oumoussa/side-projects/infinite/src/components/InfiniteLoading.vue"]]);export{J as K}; diff --git a/web/dist/assets/vooks-2c48c2b5.js b/web/dist/assets/vooks-77bdadbd.js similarity index 83% rename from web/dist/assets/vooks-2c48c2b5.js rename to web/dist/assets/vooks-77bdadbd.js index 068b6888..22c34cd8 100644 --- a/web/dist/assets/vooks-2c48c2b5.js +++ b/web/dist/assets/vooks-77bdadbd.js @@ -1 +1 @@ -import{r as f,W as c,w as q,n as k,g as V,j as U,h as g,k as B,D as X}from"./@vue-ca177dbe.js";import{o as h,a as v}from"./evtd-b614532e.js";function N(e){const n=f(!!e.value);if(n.value)return c(n);const t=q(e,o=>{o&&(n.value=!0,t())});return c(n)}function ee(e){const n=k(e),t=f(n.value);return q(n,o=>{t.value=o}),typeof e=="function"?t:{__v_isRef:!0,get value(){return t.value},set value(o){e.set(o)}}}function I(){return V()!==null}const $=typeof window<"u";let y,L;const Y=()=>{var e,n;y=$?(n=(e=document)===null||e===void 0?void 0:e.fonts)===null||n===void 0?void 0:n.ready:void 0,L=!1,y!==void 0?y.then(()=>{L=!0}):L=!0};Y();function ne(e){if(L)return;let n=!1;U(()=>{L||y==null||y.then(()=>{n||e()})}),g(()=>{n=!0})}const M=f(null);function _(e){if(e.clientX>0||e.clientY>0)M.value={x:e.clientX,y:e.clientY};else{const{target:n}=e;if(n instanceof Element){const{left:t,top:o,width:u,height:i}=n.getBoundingClientRect();t>0||o>0?M.value={x:t+u/2,y:o+i/2}:M.value={x:0,y:0}}else M.value=null}}let E=0,H=!0;function te(){if(!$)return c(f(null));E===0&&h("click",document,_,!0);const e=()=>{E+=1};return H&&(H=I())?(B(e),g(()=>{E-=1,E===0&&v("click",document,_,!0)})):e(),c(M)}const K=f(void 0);let C=0;function S(){K.value=Date.now()}let F=!0;function ie(e){if(!$)return c(f(!1));const n=f(!1);let t=null;function o(){t!==null&&window.clearTimeout(t)}function u(){o(),n.value=!0,t=window.setTimeout(()=>{n.value=!1},e)}C===0&&h("click",window,S,!0);const i=()=>{C+=1,h("click",window,u,!0)};return F&&(F=I())?(B(i),g(()=>{C-=1,C===0&&v("click",window,S,!0),v("click",window,u,!0),o()})):i(),c(n)}let T=0;const O=typeof window<"u"&&window.matchMedia!==void 0,p=f(null);let r,w;function x(e){e.matches&&(p.value="dark")}function P(e){e.matches&&(p.value="light")}function Q(){r=window.matchMedia("(prefers-color-scheme: dark)"),w=window.matchMedia("(prefers-color-scheme: light)"),r.matches?p.value="dark":w.matches?p.value="light":p.value=null,r.addEventListener?(r.addEventListener("change",x),w.addEventListener("change",P)):r.addListener&&(r.addListener(x),w.addListener(P))}function W(){"removeEventListener"in r?(r.removeEventListener("change",x),w.removeEventListener("change",P)):"removeListener"in r&&(r.removeListener(x),w.removeListener(P)),r=void 0,w=void 0}let R=!0;function ae(){return O?(T===0&&Q(),R&&(R=I())&&(B(()=>{T+=1}),g(()=>{T-=1,T===0&&W()})),c(p)):c(p)}function oe(e,n){return q(e,t=>{t!==void 0&&(n.value=t)}),k(()=>e.value===void 0?n.value:e.value)}function ue(){const e=f(!1);return U(()=>{e.value=!0}),c(e)}function se(e,n){return k(()=>{for(const t of n)if(e[t]!==void 0)return e[t];return e[n[n.length-1]]})}const z=(typeof window>"u"?!1:/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1)&&!window.MSStream;function re(){return z}const A={xs:0,s:640,m:1024,l:1280,xl:1536,"2xl":1920};function G(e){return`(min-width: ${e}px)`}const b={};function le(e=A){if(!$)return k(()=>[]);if(typeof window.matchMedia!="function")return k(()=>[]);const n=f({}),t=Object.keys(e),o=(u,i)=>{u.matches?n.value[i]=!0:n.value[i]=!1};return t.forEach(u=>{const i=e[u];let s,l;b[i]===void 0?(s=window.matchMedia(G(i)),s.addEventListener?s.addEventListener("change",a=>{l.forEach(d=>{d(a,u)})}):s.addListener&&s.addListener(a=>{l.forEach(d=>{d(a,u)})}),l=new Set,b[i]={mql:s,cbs:l}):(s=b[i].mql,l=b[i].cbs),l.add(o),s.matches&&l.forEach(a=>{a(s,u)})}),g(()=>{t.forEach(u=>{const{cbs:i}=b[e[u]];i.has(o)&&i.delete(o)})}),k(()=>{const{value:u}=n;return t.filter(i=>u[i])})}function fe(e={},n){const t=X({ctrl:!1,command:!1,win:!1,shift:!1,tab:!1}),{keydown:o,keyup:u}=e,i=a=>{switch(a.key){case"Control":t.ctrl=!0;break;case"Meta":t.command=!0,t.win=!0;break;case"Shift":t.shift=!0;break;case"Tab":t.tab=!0;break}o!==void 0&&Object.keys(o).forEach(d=>{if(d!==a.key)return;const m=o[d];if(typeof m=="function")m(a);else{const{stop:j=!1,prevent:D=!1}=m;j&&a.stopPropagation(),D&&a.preventDefault(),m.handler(a)}})},s=a=>{switch(a.key){case"Control":t.ctrl=!1;break;case"Meta":t.command=!1,t.win=!1;break;case"Shift":t.shift=!1;break;case"Tab":t.tab=!1;break}u!==void 0&&Object.keys(u).forEach(d=>{if(d!==a.key)return;const m=u[d];if(typeof m=="function")m(a);else{const{stop:j=!1,prevent:D=!1}=m;j&&a.stopPropagation(),D&&a.preventDefault(),m.handler(a)}})},l=()=>{(n===void 0||n.value)&&(h("keydown",document,i),h("keyup",document,s)),n!==void 0&&q(n,a=>{a?(h("keydown",document,i),h("keyup",document,s)):(v("keydown",document,i),v("keyup",document,s))})};return I()?(B(l),g(()=>{(n===void 0||n.value)&&(v("keydown",document,i),v("keyup",document,s))})):l(),c(t)}export{re as a,oe as b,se as c,fe as d,ie as e,te as f,le as g,N as h,ue as i,ae as j,ne as o,ee as u}; +import{r as f,X as c,w as q,n as k,g as U,j as X,h as g,k as B,D as V}from"./@vue-d002002f.js";import{o as h,a as v}from"./evtd-b614532e.js";function N(e){const n=f(!!e.value);if(n.value)return c(n);const t=q(e,o=>{o&&(n.value=!0,t())});return c(n)}function ee(e){const n=k(e),t=f(n.value);return q(n,o=>{t.value=o}),typeof e=="function"?t:{__v_isRef:!0,get value(){return t.value},set value(o){e.set(o)}}}function I(){return U()!==null}const $=typeof window<"u";let y,L;const Y=()=>{var e,n;y=$?(n=(e=document)===null||e===void 0?void 0:e.fonts)===null||n===void 0?void 0:n.ready:void 0,L=!1,y!==void 0?y.then(()=>{L=!0}):L=!0};Y();function ne(e){if(L)return;let n=!1;X(()=>{L||y==null||y.then(()=>{n||e()})}),g(()=>{n=!0})}const M=f(null);function _(e){if(e.clientX>0||e.clientY>0)M.value={x:e.clientX,y:e.clientY};else{const{target:n}=e;if(n instanceof Element){const{left:t,top:o,width:u,height:i}=n.getBoundingClientRect();t>0||o>0?M.value={x:t+u/2,y:o+i/2}:M.value={x:0,y:0}}else M.value=null}}let E=0,H=!0;function te(){if(!$)return c(f(null));E===0&&h("click",document,_,!0);const e=()=>{E+=1};return H&&(H=I())?(B(e),g(()=>{E-=1,E===0&&v("click",document,_,!0)})):e(),c(M)}const K=f(void 0);let C=0;function S(){K.value=Date.now()}let F=!0;function ie(e){if(!$)return c(f(!1));const n=f(!1);let t=null;function o(){t!==null&&window.clearTimeout(t)}function u(){o(),n.value=!0,t=window.setTimeout(()=>{n.value=!1},e)}C===0&&h("click",window,S,!0);const i=()=>{C+=1,h("click",window,u,!0)};return F&&(F=I())?(B(i),g(()=>{C-=1,C===0&&v("click",window,S,!0),v("click",window,u,!0),o()})):i(),c(n)}let T=0;const O=typeof window<"u"&&window.matchMedia!==void 0,p=f(null);let r,w;function x(e){e.matches&&(p.value="dark")}function P(e){e.matches&&(p.value="light")}function Q(){r=window.matchMedia("(prefers-color-scheme: dark)"),w=window.matchMedia("(prefers-color-scheme: light)"),r.matches?p.value="dark":w.matches?p.value="light":p.value=null,r.addEventListener?(r.addEventListener("change",x),w.addEventListener("change",P)):r.addListener&&(r.addListener(x),w.addListener(P))}function z(){"removeEventListener"in r?(r.removeEventListener("change",x),w.removeEventListener("change",P)):"removeListener"in r&&(r.removeListener(x),w.removeListener(P)),r=void 0,w=void 0}let R=!0;function ae(){return O?(T===0&&Q(),R&&(R=I())&&(B(()=>{T+=1}),g(()=>{T-=1,T===0&&z()})),c(p)):c(p)}function oe(e,n){return q(e,t=>{t!==void 0&&(n.value=t)}),k(()=>e.value===void 0?n.value:e.value)}function ue(){const e=f(!1);return X(()=>{e.value=!0}),c(e)}function se(e,n){return k(()=>{for(const t of n)if(e[t]!==void 0)return e[t];return e[n[n.length-1]]})}const A=(typeof window>"u"?!1:/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1)&&!window.MSStream;function re(){return A}const G={xs:0,s:640,m:1024,l:1280,xl:1536,"2xl":1920};function J(e){return`(min-width: ${e}px)`}const b={};function le(e=G){if(!$)return k(()=>[]);if(typeof window.matchMedia!="function")return k(()=>[]);const n=f({}),t=Object.keys(e),o=(u,i)=>{u.matches?n.value[i]=!0:n.value[i]=!1};return t.forEach(u=>{const i=e[u];let s,l;b[i]===void 0?(s=window.matchMedia(J(i)),s.addEventListener?s.addEventListener("change",a=>{l.forEach(d=>{d(a,u)})}):s.addListener&&s.addListener(a=>{l.forEach(d=>{d(a,u)})}),l=new Set,b[i]={mql:s,cbs:l}):(s=b[i].mql,l=b[i].cbs),l.add(o),s.matches&&l.forEach(a=>{a(s,u)})}),g(()=>{t.forEach(u=>{const{cbs:i}=b[e[u]];i.has(o)&&i.delete(o)})}),k(()=>{const{value:u}=n;return t.filter(i=>u[i])})}function fe(e={},n){const t=V({ctrl:!1,command:!1,win:!1,shift:!1,tab:!1}),{keydown:o,keyup:u}=e,i=a=>{switch(a.key){case"Control":t.ctrl=!0;break;case"Meta":t.command=!0,t.win=!0;break;case"Shift":t.shift=!0;break;case"Tab":t.tab=!0;break}o!==void 0&&Object.keys(o).forEach(d=>{if(d!==a.key)return;const m=o[d];if(typeof m=="function")m(a);else{const{stop:j=!1,prevent:D=!1}=m;j&&a.stopPropagation(),D&&a.preventDefault(),m.handler(a)}})},s=a=>{switch(a.key){case"Control":t.ctrl=!1;break;case"Meta":t.command=!1,t.win=!1;break;case"Shift":t.shift=!1;break;case"Tab":t.tab=!1;break}u!==void 0&&Object.keys(u).forEach(d=>{if(d!==a.key)return;const m=u[d];if(typeof m=="function")m(a);else{const{stop:j=!1,prevent:D=!1}=m;j&&a.stopPropagation(),D&&a.preventDefault(),m.handler(a)}})},l=()=>{(n===void 0||n.value)&&(h("keydown",document,i),h("keyup",document,s)),n!==void 0&&q(n,a=>{a?(h("keydown",document,i),h("keyup",document,s)):(v("keydown",document,i),v("keyup",document,s))})};return I()?(B(l),g(()=>{(n===void 0||n.value)&&(v("keydown",document,i),v("keyup",document,s))})):l(),c(t)}export{re as a,oe as b,se as c,fe as d,ie as e,te as f,le as g,N as h,ue as i,ae as j,ne as o,ee as u}; diff --git a/web/dist/assets/vue-router-88cc84d1.js b/web/dist/assets/vue-router-29e6667f.js similarity index 99% rename from web/dist/assets/vue-router-88cc84d1.js rename to web/dist/assets/vue-router-29e6667f.js index b6c73471..9d39a781 100644 --- a/web/dist/assets/vue-router-88cc84d1.js +++ b/web/dist/assets/vue-router-29e6667f.js @@ -1,4 +1,4 @@ -import{X as tt,Y as F,n as N,D as Be,y as nt,d as qe,i as B,s as ze,p as ae,r as rt,w as st}from"./@vue-ca177dbe.js";/*! +import{Y as tt,Z as F,n as N,D as Be,y as nt,i as B,d as qe,s as ze,p as ae,r as rt,w as st}from"./@vue-d002002f.js";/*! * vue-router v4.1.6 * (c) 2022 Eduardo San Martin Morote * @license MIT diff --git a/web/dist/assets/vueuc-973e5707.js b/web/dist/assets/vueuc-0232e3b9.js similarity index 99% rename from web/dist/assets/vueuc-973e5707.js rename to web/dist/assets/vueuc-0232e3b9.js index 4aa99fb4..57657ec1 100644 --- a/web/dist/assets/vueuc-973e5707.js +++ b/web/dist/assets/vueuc-0232e3b9.js @@ -1 +1 @@ -import{a as q,o as se}from"./evtd-b614532e.js";import{j as Me,d as ce,p as G,e as Ce,g as Le}from"./seemly-76b7b838.js";import{e as He,F as Se,C as Ve,d as k,p as Ye,g as Te,i as fe,r as F,h as R,z as ze,u as Z,n as D,s as E,J as Xe,j as K,w as U,y as Ee,S as Ae,l as De,m as Ne,x as _e}from"./@vue-ca177dbe.js";import{u as ee}from"./@css-render-480a363d.js";import{h as je,u as ue,o as Pe,i as Ue}from"./vooks-2c48c2b5.js";import{z as qe}from"./vdirs-b0483831.js";import{R as Ke}from"./@juggle-41516555.js";import{C as Ge}from"./css-render-6a5c5852.js";function ae(n,e,t="default"){const r=e[t];if(r===void 0)throw new Error(`[vueuc/${n}]: slot[${t}] is empty.`);return r()}function de(n,e=!0,t=[]){return n.forEach(r=>{if(r!==null){if(typeof r!="object"){(typeof r=="string"||typeof r=="number")&&t.push(He(String(r)));return}if(Array.isArray(r)){de(r,e,t);return}if(r.type===Se){if(r.children===null)return;Array.isArray(r.children)&&de(r.children,e,t)}else r.type!==Ve&&t.push(r)}}),t}function he(n,e,t="default"){const r=e[t];if(r===void 0)throw new Error(`[vueuc/${n}]: slot[${t}] is empty.`);const o=de(r());if(o.length===1)return o[0];throw new Error(`[vueuc/${n}]: slot[${t}] should have exactly one child.`)}let H=null;function Fe(){if(H===null&&(H=document.getElementById("v-binder-view-measurer"),H===null)){H=document.createElement("div"),H.id="v-binder-view-measurer";const{style:n}=H;n.position="fixed",n.left="0",n.right="0",n.top="0",n.bottom="0",n.pointerEvents="none",n.visibility="hidden",document.body.appendChild(H)}return H.getBoundingClientRect()}function Je(n,e){const t=Fe();return{top:e,left:n,height:0,width:0,right:t.width-n,bottom:t.height-e}}function oe(n){const e=n.getBoundingClientRect(),t=Fe();return{left:e.left-t.left,top:e.top-t.top,bottom:t.height+t.top-e.bottom,right:t.width+t.left-e.right,width:e.width,height:e.height}}function Qe(n){return n.nodeType===9?null:n.parentNode}function Be(n){if(n===null)return null;const e=Qe(n);if(e===null)return null;if(e.nodeType===9)return document;if(e.nodeType===1){const{overflow:t,overflowX:r,overflowY:o}=getComputedStyle(e);if(/(auto|scroll|overlay)/.test(t+o+r))return e}return Be(e)}const Ze=k({name:"Binder",props:{syncTargetWithParent:Boolean,syncTarget:{type:Boolean,default:!0}},setup(n){var e;Ye("VBinder",(e=Te())===null||e===void 0?void 0:e.proxy);const t=fe("VBinder",null),r=F(null),o=i=>{r.value=i,t&&n.syncTargetWithParent&&t.setTargetRef(i)};let l=[];const p=()=>{let i=r.value;for(;i=Be(i),i!==null;)l.push(i);for(const b of l)se("scroll",b,x,!0)},g=()=>{for(const i of l)q("scroll",i,x,!0);l=[]},a=new Set,m=i=>{a.size===0&&p(),a.has(i)||a.add(i)},y=i=>{a.has(i)&&a.delete(i),a.size===0&&g()},x=()=>{Me(d)},d=()=>{a.forEach(i=>i())},c=new Set,v=i=>{c.size===0&&se("resize",window,u),c.has(i)||c.add(i)},h=i=>{c.has(i)&&c.delete(i),c.size===0&&q("resize",window,u)},u=()=>{c.forEach(i=>i())};return R(()=>{q("resize",window,u),g()}),{targetRef:r,setTargetRef:o,addScrollListener:m,removeScrollListener:y,addResizeListener:v,removeResizeListener:h}},render(){return ae("binder",this.$slots)}}),$t=Ze,Mt=k({name:"Target",setup(){const{setTargetRef:n,syncTarget:e}=fe("VBinder");return{syncTarget:e,setTargetDirective:{mounted:n,updated:n}}},render(){const{syncTarget:n,setTargetDirective:e}=this;return n?ze(he("follower",this.$slots),[[e]]):he("follower",this.$slots)}});function pe(n,e){console.error(`[vueuc/${n}]: ${e}`)}const{c:W}=Ge(),te="vueuc-style";function me(n){return n&-n}class Re{constructor(e,t){this.l=e,this.min=t;const r=new Array(e+1);for(let o=0;oo)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let l=e*r;for(;e>0;)l+=t[e],e-=me(e);return l}getBound(e){let t=0,r=this.l;for(;r>t;){const o=Math.floor((t+r)/2),l=this.sum(o);if(l>e){r=o;continue}else if(l{const{to:e}=n;return e??"body"})}},render(){return this.showTeleport?this.disabled?ae("lazy-teleport",this.$slots):E(Xe,{disabled:this.disabled,to:this.mergedTo},ae("lazy-teleport",this.$slots)):null}}),J={top:"bottom",bottom:"top",left:"right",right:"left"},be={start:"end",center:"center",end:"start"},ie={top:"height",bottom:"height",left:"width",right:"width"},tt={"bottom-start":"top left",bottom:"top center","bottom-end":"top right","top-start":"bottom left",top:"bottom center","top-end":"bottom right","right-start":"top left",right:"center left","right-end":"bottom left","left-start":"top right",left:"center right","left-end":"bottom right"},nt={"bottom-start":"bottom left",bottom:"bottom center","bottom-end":"bottom right","top-start":"top left",top:"top center","top-end":"top right","right-start":"top right",right:"center right","right-end":"bottom right","left-start":"top left",left:"center left","left-end":"bottom left"},rt={"bottom-start":"right","bottom-end":"left","top-start":"right","top-end":"left","right-start":"bottom","right-end":"top","left-start":"bottom","left-end":"top"},ge={top:!0,bottom:!1,left:!0,right:!1},we={top:"end",bottom:"start",left:"end",right:"start"};function ot(n,e,t,r,o,l){if(!o||l)return{placement:n,top:0,left:0};const[p,g]=n.split("-");let a=g??"center",m={top:0,left:0};const y=(c,v,h)=>{let u=0,i=0;const b=t[c]-e[v]-e[c];return b>0&&r&&(h?i=ge[v]?b:-b:u=ge[v]?b:-b),{left:u,top:i}},x=p==="left"||p==="right";if(a!=="center"){const c=rt[n],v=J[c],h=ie[c];if(t[h]>e[h]){if(e[c]+e[h]e[v]&&(a=be[g])}else{const c=p==="bottom"||p==="top"?"left":"top",v=J[c],h=ie[c],u=(t[h]-e[h])/2;(e[c]e[v]?(a=we[c],m=y(h,c,x)):(a=we[v],m=y(h,v,x)))}let d=p;return e[p] *",{pointerEvents:"all"})])]),St=k({name:"Follower",inheritAttrs:!1,props:{show:Boolean,enabled:{type:Boolean,default:void 0},placement:{type:String,default:"bottom"},syncTrigger:{type:Array,default:["resize","scroll"]},to:[String,Object],flip:{type:Boolean,default:!0},internalShift:Boolean,x:Number,y:Number,width:String,minWidth:String,containerClass:String,teleportDisabled:Boolean,zindexable:{type:Boolean,default:!0},zIndex:Number,overlap:Boolean},setup(n){const e=fe("VBinder"),t=ue(()=>n.enabled!==void 0?n.enabled:n.show),r=F(null),o=F(null),l=()=>{const{syncTrigger:d}=n;d.includes("scroll")&&e.addScrollListener(a),d.includes("resize")&&e.addResizeListener(a)},p=()=>{e.removeScrollListener(a),e.removeResizeListener(a)};K(()=>{t.value&&(a(),l())});const g=ee();st.mount({id:"vueuc/binder",head:!0,anchorMetaName:te,ssr:g}),R(()=>{p()}),Pe(()=>{t.value&&a()});const a=()=>{if(!t.value)return;const d=r.value;if(d===null)return;const c=e.targetRef,{x:v,y:h,overlap:u}=n,i=v!==void 0&&h!==void 0?Je(v,h):oe(c);d.style.setProperty("--v-target-width",`${Math.round(i.width)}px`),d.style.setProperty("--v-target-height",`${Math.round(i.height)}px`);const{width:b,minWidth:z,placement:I,internalShift:C,flip:O}=n;d.setAttribute("v-placement",I),u?d.setAttribute("v-overlap",""):d.removeAttribute("v-overlap");const{style:B}=d;b==="target"?B.width=`${i.width}px`:b!==void 0?B.width=b:B.width="",z==="target"?B.minWidth=`${i.width}px`:z!==void 0?B.minWidth=z:B.minWidth="";const X=oe(d),N=oe(o.value),{left:_,top:s,placement:f}=ot(I,i,X,C,O,u),w=it(f,u),{left:$,top:M,transform:T}=lt(f,N,i,s,_,u);d.setAttribute("v-placement",f),d.style.setProperty("--v-offset-left",`${Math.round(_)}px`),d.style.setProperty("--v-offset-top",`${Math.round(s)}px`),d.style.transform=`translateX(${$}) translateY(${M}) ${T}`,d.style.setProperty("--v-transform-origin",w),d.style.transformOrigin=w};U(t,d=>{d?(l(),m()):p()});const m=()=>{Ee().then(a).catch(d=>console.error(d))};["placement","x","y","internalShift","flip","width","overlap","minWidth"].forEach(d=>{U(Z(n,d),a)}),["teleportDisabled"].forEach(d=>{U(Z(n,d),m)}),U(Z(n,"syncTrigger"),d=>{d.includes("resize")?e.addResizeListener(a):e.removeResizeListener(a),d.includes("scroll")?e.addScrollListener(a):e.removeScrollListener(a)});const y=Ue(),x=ue(()=>{const{to:d}=n;if(d!==void 0)return d;y.value});return{VBinder:e,mergedEnabled:t,offsetContainerRef:o,followerRef:r,mergedTo:x,syncPosition:a}},render(){return E(et,{show:this.show,to:this.mergedTo,disabled:this.teleportDisabled},{default:()=>{var n,e;const t=E("div",{class:["v-binder-follower-container",this.containerClass],ref:"offsetContainerRef"},[E("div",{class:"v-binder-follower-content",ref:"followerRef"},(e=(n=this.$slots).default)===null||e===void 0?void 0:e.call(n))]);return this.zindexable?ze(t,[[qe,{enabled:this.mergedEnabled,zIndex:this.zIndex}]]):t}})}});class ut{constructor(){this.handleResize=this.handleResize.bind(this),this.observer=new(typeof window<"u"&&window.ResizeObserver||Ke)(this.handleResize),this.elHandlersMap=new Map}handleResize(e){for(const t of e){const r=this.elHandlersMap.get(t.target);r!==void 0&&r(t)}}registerHandler(e,t){this.elHandlersMap.set(e,t),this.observer.observe(e)}unregisterHandler(e){this.elHandlersMap.has(e)&&(this.elHandlersMap.delete(e),this.observer.unobserve(e))}}const ye=new ut,xe=k({name:"ResizeObserver",props:{onResize:Function},setup(n){let e=!1;const t=Te().proxy;function r(o){const{onResize:l}=n;l!==void 0&&l(o)}K(()=>{const o=t.$el;if(o===void 0){pe("resize-observer","$el does not exist.");return}if(o.nextElementSibling!==o.nextSibling&&o.nodeType===3&&o.nodeValue!==""){pe("resize-observer","$el can not be observed (it may be a text node).");return}o.nextElementSibling!==null&&(ye.registerHandler(o.nextElementSibling,r),e=!0)}),R(()=>{e&&ye.unregisterHandler(t.$el.nextElementSibling)})},render(){return Ae(this.$slots,"default")}});let Q;function at(){return Q===void 0&&("matchMedia"in window?Q=window.matchMedia("(pointer:coarse)").matches:Q=!1),Q}let le;function $e(){return le===void 0&&(le="chrome"in window?window.devicePixelRatio:1),le}const dt=W(".v-vl",{maxHeight:"inherit",height:"100%",overflow:"auto",minWidth:"1px"},[W("&:not(.v-vl--show-scrollbar)",{scrollbarWidth:"none"},[W("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb",{width:0,height:0,display:"none"})])]),Tt=k({name:"VirtualList",inheritAttrs:!1,props:{showScrollbar:{type:Boolean,default:!0},items:{type:Array,default:()=>[]},itemSize:{type:Number,required:!0},itemResizable:Boolean,itemsStyle:[String,Object],visibleItemsTag:{type:[String,Object],default:"div"},visibleItemsProps:Object,ignoreItemResize:Boolean,onScroll:Function,onWheel:Function,onResize:Function,defaultScrollKey:[Number,String],defaultScrollIndex:Number,keyField:{type:String,default:"key"},paddingTop:{type:[Number,String],default:0},paddingBottom:{type:[Number,String],default:0}},setup(n){const e=ee();dt.mount({id:"vueuc/virtual-list",head:!0,anchorMetaName:te,ssr:e}),K(()=>{const{defaultScrollIndex:s,defaultScrollKey:f}=n;s!=null?v({index:s}):f!=null&&v({key:f})});let t=!1,r=!1;De(()=>{if(t=!1,!r){r=!0;return}v({top:x.value,left:y})}),Ne(()=>{t=!0,r||(r=!0)});const o=D(()=>{const s=new Map,{keyField:f}=n;return n.items.forEach((w,$)=>{s.set(w[f],$)}),s}),l=F(null),p=F(void 0),g=new Map,a=D(()=>{const{items:s,itemSize:f,keyField:w}=n,$=new Re(s.length,f);return s.forEach((M,T)=>{const S=M[w],A=g.get(S);A!==void 0&&$.add(T,A)}),$}),m=F(0);let y=0;const x=F(0),d=ue(()=>Math.max(a.value.getBound(x.value-ce(n.paddingTop))-1,0)),c=D(()=>{const{value:s}=p;if(s===void 0)return[];const{items:f,itemSize:w}=n,$=d.value,M=Math.min($+Math.ceil(s/w+1),f.length-1),T=[];for(let S=$;S<=M;++S)T.push(f[S]);return T}),v=(s,f)=>{if(typeof s=="number"){b(s,f,"auto");return}const{left:w,top:$,index:M,key:T,position:S,behavior:A,debounce:L=!0}=s;if(w!==void 0||$!==void 0)b(w,$,A);else if(M!==void 0)i(M,A,L);else if(T!==void 0){const ne=o.value.get(T);ne!==void 0&&i(ne,A,L)}else S==="bottom"?b(0,Number.MAX_SAFE_INTEGER,A):S==="top"&&b(0,0,A)};let h,u=null;function i(s,f,w){const{value:$}=a,M=$.sum(s)+ce(n.paddingTop);if(!w)l.value.scrollTo({left:0,top:M,behavior:f});else{h=s,u!==null&&window.clearTimeout(u),u=window.setTimeout(()=>{h=void 0,u=null},16);const{scrollTop:T,offsetHeight:S}=l.value;if(M>T){const A=$.get(s);M+A<=T+S||l.value.scrollTo({left:0,top:M+A-S,behavior:f})}else l.value.scrollTo({left:0,top:M,behavior:f})}}function b(s,f,w){l.value.scrollTo({left:s,top:f,behavior:w})}function z(s,f){var w,$,M;if(t||n.ignoreItemResize||_(f.target))return;const{value:T}=a,S=o.value.get(s),A=T.get(S),L=(M=($=(w=f.borderBoxSize)===null||w===void 0?void 0:w[0])===null||$===void 0?void 0:$.blockSize)!==null&&M!==void 0?M:f.contentRect.height;if(L===A)return;L-n.itemSize===0?g.delete(s):g.set(s,L-n.itemSize);const j=L-A;if(j===0)return;T.add(S,j);const V=l.value;if(V!=null){if(h===void 0){const re=T.sum(S);V.scrollTop>re&&V.scrollBy(0,j)}else if(SV.scrollTop+V.offsetHeight&&V.scrollBy(0,j)}N()}m.value++}const I=!at();let C=!1;function O(s){var f;(f=n.onScroll)===null||f===void 0||f.call(n,s),(!I||!C)&&N()}function B(s){var f;if((f=n.onWheel)===null||f===void 0||f.call(n,s),I){const w=l.value;if(w!=null){if(s.deltaX===0&&(w.scrollTop===0&&s.deltaY<=0||w.scrollTop+w.offsetHeight>=w.scrollHeight&&s.deltaY>=0))return;s.preventDefault(),w.scrollTop+=s.deltaY/$e(),w.scrollLeft+=s.deltaX/$e(),N(),C=!0,Me(()=>{C=!1})}}}function X(s){if(t||_(s.target)||s.contentRect.height===p.value)return;p.value=s.contentRect.height;const{onResize:f}=n;f!==void 0&&f(s)}function N(){const{value:s}=l;s!=null&&(x.value=s.scrollTop,y=s.scrollLeft)}function _(s){let f=s;for(;f!==null;){if(f.style.display==="none")return!0;f=f.parentElement}return!1}return{listHeight:p,listStyle:{overflow:"auto"},keyToIndex:o,itemsStyle:D(()=>{const{itemResizable:s}=n,f=G(a.value.sum());return m.value,[n.itemsStyle,{boxSizing:"content-box",height:s?"":f,minHeight:s?f:"",paddingTop:G(n.paddingTop),paddingBottom:G(n.paddingBottom)}]}),visibleItemsStyle:D(()=>(m.value,{transform:`translateY(${G(a.value.sum(d.value))})`})),viewportItems:c,listElRef:l,itemsElRef:F(null),scrollTo:v,handleListResize:X,handleListScroll:O,handleListWheel:B,handleItemResize:z}},render(){const{itemResizable:n,keyField:e,keyToIndex:t,visibleItemsTag:r}=this;return E(xe,{onResize:this.handleListResize},{default:()=>{var o,l;return E("div",_e(this.$attrs,{class:["v-vl",this.showScrollbar&&"v-vl--show-scrollbar"],onScroll:this.handleListScroll,onWheel:this.handleListWheel,ref:"listElRef"}),[this.items.length!==0?E("div",{ref:"itemsElRef",class:"v-vl-items",style:this.itemsStyle},[E(r,Object.assign({class:"v-vl-visible-items",style:this.visibleItemsStyle},this.visibleItemsProps),{default:()=>this.viewportItems.map(p=>{const g=p[e],a=t.get(g),m=this.$slots.default({item:p,index:a})[0];return n?E(xe,{key:g,onResize:y=>this.handleItemResize(g,y)},{default:()=>m}):(m.key=g,m)})})]):(l=(o=this.$slots).empty)===null||l===void 0?void 0:l.call(o)])}})}}),ft=W(".v-x-scroll",{overflow:"auto",scrollbarWidth:"none"},[W("&::-webkit-scrollbar",{width:0,height:0})]),zt=k({name:"XScroll",props:{disabled:Boolean,onScroll:Function},setup(){const n=F(null);function e(o){!(o.currentTarget.offsetWidthx){const{updateCounter:C}=n;for(let O=b;O>=0;--O){const B=u-1-O;C!==void 0?C(B):m.textContent=`${B}`;const X=m.offsetWidth;if(v-=d[O],v+X<=x||O===0){h=!0,b=O-1,c&&(b===-1?(c.style.maxWidth=`${x-X}px`,c.style.boxSizing="border-box"):c.style.maxWidth="");break}}}}const{onUpdateOverflow:i}=n;h?i!==void 0&&i(!0):(i!==void 0&&i(!1),m.setAttribute(Y,""))}const l=ee();return ct.mount({id:"vueuc/overflow",head:!0,anchorMetaName:te,ssr:l}),K(o),{selfRef:t,counterRef:r,sync:o}},render(){const{$slots:n}=this;return Ee(this.sync),E("div",{class:"v-overflow",ref:"selfRef"},[Ae(n,"default"),n.counter?n.counter():E("span",{style:{display:"inline-block"},ref:"counterRef"}),n.tail?n.tail():null])}});function Ie(n){return n instanceof HTMLElement}function Oe(n){for(let e=0;e=0;e--){const t=n.childNodes[e];if(Ie(t)&&(ke(t)||We(t)))return!0}return!1}function ke(n){if(!ht(n))return!1;try{n.focus({preventScroll:!0})}catch{}return document.activeElement===n}function ht(n){if(n.tabIndex>0||n.tabIndex===0&&n.getAttribute("tabIndex")!==null)return!0;if(n.getAttribute("disabled"))return!1;switch(n.nodeName){case"A":return!!n.href&&n.rel!=="ignore";case"INPUT":return n.type!=="hidden"&&n.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}let P=[];const At=k({name:"FocusTrap",props:{disabled:Boolean,active:Boolean,autoFocus:{type:Boolean,default:!0},onEsc:Function,initialFocusTo:String,finalFocusTo:String,returnFocusOnDeactivated:{type:Boolean,default:!0}},setup(n){const e=Ce(),t=F(null),r=F(null);let o=!1,l=!1;const p=typeof document>"u"?null:document.activeElement;function g(){return P[P.length-1]===e}function a(u){var i;u.code==="Escape"&&g()&&((i=n.onEsc)===null||i===void 0||i.call(n,u))}K(()=>{U(()=>n.active,u=>{u?(x(),se("keydown",document,a)):(q("keydown",document,a),o&&d())},{immediate:!0})}),R(()=>{q("keydown",document,a),o&&d()});function m(u){if(!l&&g()){const i=y();if(i===null||i.contains(Le(u)))return;c("first")}}function y(){const u=t.value;if(u===null)return null;let i=u;for(;i=i.nextSibling,!(i===null||i instanceof Element&&i.tagName==="DIV"););return i}function x(){var u;if(!n.disabled){if(P.push(e),n.autoFocus){const{initialFocusTo:i}=n;i===void 0?c("first"):(u=ve(i))===null||u===void 0||u.focus({preventScroll:!0})}o=!0,document.addEventListener("focus",m,!0)}}function d(){var u;if(n.disabled||(document.removeEventListener("focus",m,!0),P=P.filter(b=>b!==e),g()))return;const{finalFocusTo:i}=n;i!==void 0?(u=ve(i))===null||u===void 0||u.focus({preventScroll:!0}):n.returnFocusOnDeactivated&&p instanceof HTMLElement&&(l=!0,p.focus({preventScroll:!0}),l=!1)}function c(u){if(g()&&n.active){const i=t.value,b=r.value;if(i!==null&&b!==null){const z=y();if(z==null||z===b){l=!0,i.focus({preventScroll:!0}),l=!1;return}l=!0;const I=u==="first"?Oe(z):We(z);l=!1,I||(l=!0,i.focus({preventScroll:!0}),l=!1)}}}function v(u){if(l)return;const i=y();i!==null&&(u.relatedTarget!==null&&i.contains(u.relatedTarget)?c("last"):c("first"))}function h(u){l||(u.relatedTarget!==null&&u.relatedTarget===t.value?c("last"):c("first"))}return{focusableStartRef:t,focusableEndRef:r,focusableStyle:"position: absolute; height: 0; width: 0;",handleStartFocus:v,handleEndFocus:h}},render(){const{default:n}=this.$slots;if(n===void 0)return null;if(this.disabled)return n();const{active:e,focusableStyle:t}=this;return E(Se,null,[E("div",{"aria-hidden":"true",tabindex:e?"0":"-1",ref:"focusableStartRef",style:t,onFocus:this.handleStartFocus}),n(),E("div",{"aria-hidden":"true",style:t,ref:"focusableEndRef",tabindex:e?"0":"-1",onFocus:this.handleEndFocus})])}});export{At as F,et as L,xe as V,Tt as a,St as b,$t as c,Mt as d,Et as e,zt as f,ye as r}; +import{a as q,o as se}from"./evtd-b614532e.js";import{j as Me,d as ce,p as G,e as Ce,g as Le}from"./seemly-76b7b838.js";import{e as He,F as Se,C as Ve,d as k,p as Ye,g as Te,i as fe,r as F,h as R,z as ze,u as Z,n as D,s as E,J as Xe,j as K,w as U,y as Ee,S as Ae,l as De,m as Ne,x as _e}from"./@vue-d002002f.js";import{u as ee}from"./@css-render-6b6cdab1.js";import{h as je,u as ue,o as Pe,i as Ue}from"./vooks-77bdadbd.js";import{z as qe}from"./vdirs-b0483831.js";import{R as Ke}from"./@juggle-41516555.js";import{C as Ge}from"./css-render-6a5c5852.js";function ae(n,e,t="default"){const r=e[t];if(r===void 0)throw new Error(`[vueuc/${n}]: slot[${t}] is empty.`);return r()}function de(n,e=!0,t=[]){return n.forEach(r=>{if(r!==null){if(typeof r!="object"){(typeof r=="string"||typeof r=="number")&&t.push(He(String(r)));return}if(Array.isArray(r)){de(r,e,t);return}if(r.type===Se){if(r.children===null)return;Array.isArray(r.children)&&de(r.children,e,t)}else r.type!==Ve&&t.push(r)}}),t}function he(n,e,t="default"){const r=e[t];if(r===void 0)throw new Error(`[vueuc/${n}]: slot[${t}] is empty.`);const o=de(r());if(o.length===1)return o[0];throw new Error(`[vueuc/${n}]: slot[${t}] should have exactly one child.`)}let H=null;function Fe(){if(H===null&&(H=document.getElementById("v-binder-view-measurer"),H===null)){H=document.createElement("div"),H.id="v-binder-view-measurer";const{style:n}=H;n.position="fixed",n.left="0",n.right="0",n.top="0",n.bottom="0",n.pointerEvents="none",n.visibility="hidden",document.body.appendChild(H)}return H.getBoundingClientRect()}function Je(n,e){const t=Fe();return{top:e,left:n,height:0,width:0,right:t.width-n,bottom:t.height-e}}function oe(n){const e=n.getBoundingClientRect(),t=Fe();return{left:e.left-t.left,top:e.top-t.top,bottom:t.height+t.top-e.bottom,right:t.width+t.left-e.right,width:e.width,height:e.height}}function Qe(n){return n.nodeType===9?null:n.parentNode}function Be(n){if(n===null)return null;const e=Qe(n);if(e===null)return null;if(e.nodeType===9)return document;if(e.nodeType===1){const{overflow:t,overflowX:r,overflowY:o}=getComputedStyle(e);if(/(auto|scroll|overlay)/.test(t+o+r))return e}return Be(e)}const Ze=k({name:"Binder",props:{syncTargetWithParent:Boolean,syncTarget:{type:Boolean,default:!0}},setup(n){var e;Ye("VBinder",(e=Te())===null||e===void 0?void 0:e.proxy);const t=fe("VBinder",null),r=F(null),o=i=>{r.value=i,t&&n.syncTargetWithParent&&t.setTargetRef(i)};let l=[];const p=()=>{let i=r.value;for(;i=Be(i),i!==null;)l.push(i);for(const b of l)se("scroll",b,x,!0)},g=()=>{for(const i of l)q("scroll",i,x,!0);l=[]},a=new Set,m=i=>{a.size===0&&p(),a.has(i)||a.add(i)},y=i=>{a.has(i)&&a.delete(i),a.size===0&&g()},x=()=>{Me(d)},d=()=>{a.forEach(i=>i())},c=new Set,v=i=>{c.size===0&&se("resize",window,u),c.has(i)||c.add(i)},h=i=>{c.has(i)&&c.delete(i),c.size===0&&q("resize",window,u)},u=()=>{c.forEach(i=>i())};return R(()=>{q("resize",window,u),g()}),{targetRef:r,setTargetRef:o,addScrollListener:m,removeScrollListener:y,addResizeListener:v,removeResizeListener:h}},render(){return ae("binder",this.$slots)}}),$t=Ze,Mt=k({name:"Target",setup(){const{setTargetRef:n,syncTarget:e}=fe("VBinder");return{syncTarget:e,setTargetDirective:{mounted:n,updated:n}}},render(){const{syncTarget:n,setTargetDirective:e}=this;return n?ze(he("follower",this.$slots),[[e]]):he("follower",this.$slots)}});function pe(n,e){console.error(`[vueuc/${n}]: ${e}`)}const{c:W}=Ge(),te="vueuc-style";function me(n){return n&-n}class Re{constructor(e,t){this.l=e,this.min=t;const r=new Array(e+1);for(let o=0;oo)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let l=e*r;for(;e>0;)l+=t[e],e-=me(e);return l}getBound(e){let t=0,r=this.l;for(;r>t;){const o=Math.floor((t+r)/2),l=this.sum(o);if(l>e){r=o;continue}else if(l{const{to:e}=n;return e??"body"})}},render(){return this.showTeleport?this.disabled?ae("lazy-teleport",this.$slots):E(Xe,{disabled:this.disabled,to:this.mergedTo},ae("lazy-teleport",this.$slots)):null}}),J={top:"bottom",bottom:"top",left:"right",right:"left"},be={start:"end",center:"center",end:"start"},ie={top:"height",bottom:"height",left:"width",right:"width"},tt={"bottom-start":"top left",bottom:"top center","bottom-end":"top right","top-start":"bottom left",top:"bottom center","top-end":"bottom right","right-start":"top left",right:"center left","right-end":"bottom left","left-start":"top right",left:"center right","left-end":"bottom right"},nt={"bottom-start":"bottom left",bottom:"bottom center","bottom-end":"bottom right","top-start":"top left",top:"top center","top-end":"top right","right-start":"top right",right:"center right","right-end":"bottom right","left-start":"top left",left:"center left","left-end":"bottom left"},rt={"bottom-start":"right","bottom-end":"left","top-start":"right","top-end":"left","right-start":"bottom","right-end":"top","left-start":"bottom","left-end":"top"},ge={top:!0,bottom:!1,left:!0,right:!1},we={top:"end",bottom:"start",left:"end",right:"start"};function ot(n,e,t,r,o,l){if(!o||l)return{placement:n,top:0,left:0};const[p,g]=n.split("-");let a=g??"center",m={top:0,left:0};const y=(c,v,h)=>{let u=0,i=0;const b=t[c]-e[v]-e[c];return b>0&&r&&(h?i=ge[v]?b:-b:u=ge[v]?b:-b),{left:u,top:i}},x=p==="left"||p==="right";if(a!=="center"){const c=rt[n],v=J[c],h=ie[c];if(t[h]>e[h]){if(e[c]+e[h]e[v]&&(a=be[g])}else{const c=p==="bottom"||p==="top"?"left":"top",v=J[c],h=ie[c],u=(t[h]-e[h])/2;(e[c]e[v]?(a=we[c],m=y(h,c,x)):(a=we[v],m=y(h,v,x)))}let d=p;return e[p] *",{pointerEvents:"all"})])]),St=k({name:"Follower",inheritAttrs:!1,props:{show:Boolean,enabled:{type:Boolean,default:void 0},placement:{type:String,default:"bottom"},syncTrigger:{type:Array,default:["resize","scroll"]},to:[String,Object],flip:{type:Boolean,default:!0},internalShift:Boolean,x:Number,y:Number,width:String,minWidth:String,containerClass:String,teleportDisabled:Boolean,zindexable:{type:Boolean,default:!0},zIndex:Number,overlap:Boolean},setup(n){const e=fe("VBinder"),t=ue(()=>n.enabled!==void 0?n.enabled:n.show),r=F(null),o=F(null),l=()=>{const{syncTrigger:d}=n;d.includes("scroll")&&e.addScrollListener(a),d.includes("resize")&&e.addResizeListener(a)},p=()=>{e.removeScrollListener(a),e.removeResizeListener(a)};K(()=>{t.value&&(a(),l())});const g=ee();st.mount({id:"vueuc/binder",head:!0,anchorMetaName:te,ssr:g}),R(()=>{p()}),Pe(()=>{t.value&&a()});const a=()=>{if(!t.value)return;const d=r.value;if(d===null)return;const c=e.targetRef,{x:v,y:h,overlap:u}=n,i=v!==void 0&&h!==void 0?Je(v,h):oe(c);d.style.setProperty("--v-target-width",`${Math.round(i.width)}px`),d.style.setProperty("--v-target-height",`${Math.round(i.height)}px`);const{width:b,minWidth:z,placement:I,internalShift:C,flip:O}=n;d.setAttribute("v-placement",I),u?d.setAttribute("v-overlap",""):d.removeAttribute("v-overlap");const{style:B}=d;b==="target"?B.width=`${i.width}px`:b!==void 0?B.width=b:B.width="",z==="target"?B.minWidth=`${i.width}px`:z!==void 0?B.minWidth=z:B.minWidth="";const X=oe(d),N=oe(o.value),{left:_,top:s,placement:f}=ot(I,i,X,C,O,u),w=it(f,u),{left:$,top:M,transform:T}=lt(f,N,i,s,_,u);d.setAttribute("v-placement",f),d.style.setProperty("--v-offset-left",`${Math.round(_)}px`),d.style.setProperty("--v-offset-top",`${Math.round(s)}px`),d.style.transform=`translateX(${$}) translateY(${M}) ${T}`,d.style.setProperty("--v-transform-origin",w),d.style.transformOrigin=w};U(t,d=>{d?(l(),m()):p()});const m=()=>{Ee().then(a).catch(d=>console.error(d))};["placement","x","y","internalShift","flip","width","overlap","minWidth"].forEach(d=>{U(Z(n,d),a)}),["teleportDisabled"].forEach(d=>{U(Z(n,d),m)}),U(Z(n,"syncTrigger"),d=>{d.includes("resize")?e.addResizeListener(a):e.removeResizeListener(a),d.includes("scroll")?e.addScrollListener(a):e.removeScrollListener(a)});const y=Ue(),x=ue(()=>{const{to:d}=n;if(d!==void 0)return d;y.value});return{VBinder:e,mergedEnabled:t,offsetContainerRef:o,followerRef:r,mergedTo:x,syncPosition:a}},render(){return E(et,{show:this.show,to:this.mergedTo,disabled:this.teleportDisabled},{default:()=>{var n,e;const t=E("div",{class:["v-binder-follower-container",this.containerClass],ref:"offsetContainerRef"},[E("div",{class:"v-binder-follower-content",ref:"followerRef"},(e=(n=this.$slots).default)===null||e===void 0?void 0:e.call(n))]);return this.zindexable?ze(t,[[qe,{enabled:this.mergedEnabled,zIndex:this.zIndex}]]):t}})}});class ut{constructor(){this.handleResize=this.handleResize.bind(this),this.observer=new(typeof window<"u"&&window.ResizeObserver||Ke)(this.handleResize),this.elHandlersMap=new Map}handleResize(e){for(const t of e){const r=this.elHandlersMap.get(t.target);r!==void 0&&r(t)}}registerHandler(e,t){this.elHandlersMap.set(e,t),this.observer.observe(e)}unregisterHandler(e){this.elHandlersMap.has(e)&&(this.elHandlersMap.delete(e),this.observer.unobserve(e))}}const ye=new ut,xe=k({name:"ResizeObserver",props:{onResize:Function},setup(n){let e=!1;const t=Te().proxy;function r(o){const{onResize:l}=n;l!==void 0&&l(o)}K(()=>{const o=t.$el;if(o===void 0){pe("resize-observer","$el does not exist.");return}if(o.nextElementSibling!==o.nextSibling&&o.nodeType===3&&o.nodeValue!==""){pe("resize-observer","$el can not be observed (it may be a text node).");return}o.nextElementSibling!==null&&(ye.registerHandler(o.nextElementSibling,r),e=!0)}),R(()=>{e&&ye.unregisterHandler(t.$el.nextElementSibling)})},render(){return Ae(this.$slots,"default")}});let Q;function at(){return Q===void 0&&("matchMedia"in window?Q=window.matchMedia("(pointer:coarse)").matches:Q=!1),Q}let le;function $e(){return le===void 0&&(le="chrome"in window?window.devicePixelRatio:1),le}const dt=W(".v-vl",{maxHeight:"inherit",height:"100%",overflow:"auto",minWidth:"1px"},[W("&:not(.v-vl--show-scrollbar)",{scrollbarWidth:"none"},[W("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb",{width:0,height:0,display:"none"})])]),Tt=k({name:"VirtualList",inheritAttrs:!1,props:{showScrollbar:{type:Boolean,default:!0},items:{type:Array,default:()=>[]},itemSize:{type:Number,required:!0},itemResizable:Boolean,itemsStyle:[String,Object],visibleItemsTag:{type:[String,Object],default:"div"},visibleItemsProps:Object,ignoreItemResize:Boolean,onScroll:Function,onWheel:Function,onResize:Function,defaultScrollKey:[Number,String],defaultScrollIndex:Number,keyField:{type:String,default:"key"},paddingTop:{type:[Number,String],default:0},paddingBottom:{type:[Number,String],default:0}},setup(n){const e=ee();dt.mount({id:"vueuc/virtual-list",head:!0,anchorMetaName:te,ssr:e}),K(()=>{const{defaultScrollIndex:s,defaultScrollKey:f}=n;s!=null?v({index:s}):f!=null&&v({key:f})});let t=!1,r=!1;De(()=>{if(t=!1,!r){r=!0;return}v({top:x.value,left:y})}),Ne(()=>{t=!0,r||(r=!0)});const o=D(()=>{const s=new Map,{keyField:f}=n;return n.items.forEach((w,$)=>{s.set(w[f],$)}),s}),l=F(null),p=F(void 0),g=new Map,a=D(()=>{const{items:s,itemSize:f,keyField:w}=n,$=new Re(s.length,f);return s.forEach((M,T)=>{const S=M[w],A=g.get(S);A!==void 0&&$.add(T,A)}),$}),m=F(0);let y=0;const x=F(0),d=ue(()=>Math.max(a.value.getBound(x.value-ce(n.paddingTop))-1,0)),c=D(()=>{const{value:s}=p;if(s===void 0)return[];const{items:f,itemSize:w}=n,$=d.value,M=Math.min($+Math.ceil(s/w+1),f.length-1),T=[];for(let S=$;S<=M;++S)T.push(f[S]);return T}),v=(s,f)=>{if(typeof s=="number"){b(s,f,"auto");return}const{left:w,top:$,index:M,key:T,position:S,behavior:A,debounce:L=!0}=s;if(w!==void 0||$!==void 0)b(w,$,A);else if(M!==void 0)i(M,A,L);else if(T!==void 0){const ne=o.value.get(T);ne!==void 0&&i(ne,A,L)}else S==="bottom"?b(0,Number.MAX_SAFE_INTEGER,A):S==="top"&&b(0,0,A)};let h,u=null;function i(s,f,w){const{value:$}=a,M=$.sum(s)+ce(n.paddingTop);if(!w)l.value.scrollTo({left:0,top:M,behavior:f});else{h=s,u!==null&&window.clearTimeout(u),u=window.setTimeout(()=>{h=void 0,u=null},16);const{scrollTop:T,offsetHeight:S}=l.value;if(M>T){const A=$.get(s);M+A<=T+S||l.value.scrollTo({left:0,top:M+A-S,behavior:f})}else l.value.scrollTo({left:0,top:M,behavior:f})}}function b(s,f,w){l.value.scrollTo({left:s,top:f,behavior:w})}function z(s,f){var w,$,M;if(t||n.ignoreItemResize||_(f.target))return;const{value:T}=a,S=o.value.get(s),A=T.get(S),L=(M=($=(w=f.borderBoxSize)===null||w===void 0?void 0:w[0])===null||$===void 0?void 0:$.blockSize)!==null&&M!==void 0?M:f.contentRect.height;if(L===A)return;L-n.itemSize===0?g.delete(s):g.set(s,L-n.itemSize);const j=L-A;if(j===0)return;T.add(S,j);const V=l.value;if(V!=null){if(h===void 0){const re=T.sum(S);V.scrollTop>re&&V.scrollBy(0,j)}else if(SV.scrollTop+V.offsetHeight&&V.scrollBy(0,j)}N()}m.value++}const I=!at();let C=!1;function O(s){var f;(f=n.onScroll)===null||f===void 0||f.call(n,s),(!I||!C)&&N()}function B(s){var f;if((f=n.onWheel)===null||f===void 0||f.call(n,s),I){const w=l.value;if(w!=null){if(s.deltaX===0&&(w.scrollTop===0&&s.deltaY<=0||w.scrollTop+w.offsetHeight>=w.scrollHeight&&s.deltaY>=0))return;s.preventDefault(),w.scrollTop+=s.deltaY/$e(),w.scrollLeft+=s.deltaX/$e(),N(),C=!0,Me(()=>{C=!1})}}}function X(s){if(t||_(s.target)||s.contentRect.height===p.value)return;p.value=s.contentRect.height;const{onResize:f}=n;f!==void 0&&f(s)}function N(){const{value:s}=l;s!=null&&(x.value=s.scrollTop,y=s.scrollLeft)}function _(s){let f=s;for(;f!==null;){if(f.style.display==="none")return!0;f=f.parentElement}return!1}return{listHeight:p,listStyle:{overflow:"auto"},keyToIndex:o,itemsStyle:D(()=>{const{itemResizable:s}=n,f=G(a.value.sum());return m.value,[n.itemsStyle,{boxSizing:"content-box",height:s?"":f,minHeight:s?f:"",paddingTop:G(n.paddingTop),paddingBottom:G(n.paddingBottom)}]}),visibleItemsStyle:D(()=>(m.value,{transform:`translateY(${G(a.value.sum(d.value))})`})),viewportItems:c,listElRef:l,itemsElRef:F(null),scrollTo:v,handleListResize:X,handleListScroll:O,handleListWheel:B,handleItemResize:z}},render(){const{itemResizable:n,keyField:e,keyToIndex:t,visibleItemsTag:r}=this;return E(xe,{onResize:this.handleListResize},{default:()=>{var o,l;return E("div",_e(this.$attrs,{class:["v-vl",this.showScrollbar&&"v-vl--show-scrollbar"],onScroll:this.handleListScroll,onWheel:this.handleListWheel,ref:"listElRef"}),[this.items.length!==0?E("div",{ref:"itemsElRef",class:"v-vl-items",style:this.itemsStyle},[E(r,Object.assign({class:"v-vl-visible-items",style:this.visibleItemsStyle},this.visibleItemsProps),{default:()=>this.viewportItems.map(p=>{const g=p[e],a=t.get(g),m=this.$slots.default({item:p,index:a})[0];return n?E(xe,{key:g,onResize:y=>this.handleItemResize(g,y)},{default:()=>m}):(m.key=g,m)})})]):(l=(o=this.$slots).empty)===null||l===void 0?void 0:l.call(o)])}})}}),ft=W(".v-x-scroll",{overflow:"auto",scrollbarWidth:"none"},[W("&::-webkit-scrollbar",{width:0,height:0})]),zt=k({name:"XScroll",props:{disabled:Boolean,onScroll:Function},setup(){const n=F(null);function e(o){!(o.currentTarget.offsetWidthx){const{updateCounter:C}=n;for(let O=b;O>=0;--O){const B=u-1-O;C!==void 0?C(B):m.textContent=`${B}`;const X=m.offsetWidth;if(v-=d[O],v+X<=x||O===0){h=!0,b=O-1,c&&(b===-1?(c.style.maxWidth=`${x-X}px`,c.style.boxSizing="border-box"):c.style.maxWidth="");break}}}}const{onUpdateOverflow:i}=n;h?i!==void 0&&i(!0):(i!==void 0&&i(!1),m.setAttribute(Y,""))}const l=ee();return ct.mount({id:"vueuc/overflow",head:!0,anchorMetaName:te,ssr:l}),K(o),{selfRef:t,counterRef:r,sync:o}},render(){const{$slots:n}=this;return Ee(this.sync),E("div",{class:"v-overflow",ref:"selfRef"},[Ae(n,"default"),n.counter?n.counter():E("span",{style:{display:"inline-block"},ref:"counterRef"}),n.tail?n.tail():null])}});function Ie(n){return n instanceof HTMLElement}function Oe(n){for(let e=0;e=0;e--){const t=n.childNodes[e];if(Ie(t)&&(ke(t)||We(t)))return!0}return!1}function ke(n){if(!ht(n))return!1;try{n.focus({preventScroll:!0})}catch{}return document.activeElement===n}function ht(n){if(n.tabIndex>0||n.tabIndex===0&&n.getAttribute("tabIndex")!==null)return!0;if(n.getAttribute("disabled"))return!1;switch(n.nodeName){case"A":return!!n.href&&n.rel!=="ignore";case"INPUT":return n.type!=="hidden"&&n.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}let P=[];const At=k({name:"FocusTrap",props:{disabled:Boolean,active:Boolean,autoFocus:{type:Boolean,default:!0},onEsc:Function,initialFocusTo:String,finalFocusTo:String,returnFocusOnDeactivated:{type:Boolean,default:!0}},setup(n){const e=Ce(),t=F(null),r=F(null);let o=!1,l=!1;const p=typeof document>"u"?null:document.activeElement;function g(){return P[P.length-1]===e}function a(u){var i;u.code==="Escape"&&g()&&((i=n.onEsc)===null||i===void 0||i.call(n,u))}K(()=>{U(()=>n.active,u=>{u?(x(),se("keydown",document,a)):(q("keydown",document,a),o&&d())},{immediate:!0})}),R(()=>{q("keydown",document,a),o&&d()});function m(u){if(!l&&g()){const i=y();if(i===null||i.contains(Le(u)))return;c("first")}}function y(){const u=t.value;if(u===null)return null;let i=u;for(;i=i.nextSibling,!(i===null||i instanceof Element&&i.tagName==="DIV"););return i}function x(){var u;if(!n.disabled){if(P.push(e),n.autoFocus){const{initialFocusTo:i}=n;i===void 0?c("first"):(u=ve(i))===null||u===void 0||u.focus({preventScroll:!0})}o=!0,document.addEventListener("focus",m,!0)}}function d(){var u;if(n.disabled||(document.removeEventListener("focus",m,!0),P=P.filter(b=>b!==e),g()))return;const{finalFocusTo:i}=n;i!==void 0?(u=ve(i))===null||u===void 0||u.focus({preventScroll:!0}):n.returnFocusOnDeactivated&&p instanceof HTMLElement&&(l=!0,p.focus({preventScroll:!0}),l=!1)}function c(u){if(g()&&n.active){const i=t.value,b=r.value;if(i!==null&&b!==null){const z=y();if(z==null||z===b){l=!0,i.focus({preventScroll:!0}),l=!1;return}l=!0;const I=u==="first"?Oe(z):We(z);l=!1,I||(l=!0,i.focus({preventScroll:!0}),l=!1)}}}function v(u){if(l)return;const i=y();i!==null&&(u.relatedTarget!==null&&i.contains(u.relatedTarget)?c("last"):c("first"))}function h(u){l||(u.relatedTarget!==null&&u.relatedTarget===t.value?c("last"):c("first"))}return{focusableStartRef:t,focusableEndRef:r,focusableStyle:"position: absolute; height: 0; width: 0;",handleStartFocus:v,handleEndFocus:h}},render(){const{default:n}=this.$slots;if(n===void 0)return null;if(this.disabled)return n();const{active:e,focusableStyle:t}=this;return E(Se,null,[E("div",{"aria-hidden":"true",tabindex:e?"0":"-1",ref:"focusableStartRef",style:t,onFocus:this.handleStartFocus}),n(),E("div",{"aria-hidden":"true",style:t,ref:"focusableEndRef",tabindex:e?"0":"-1",onFocus:this.handleEndFocus})])}});export{At as F,et as L,xe as V,Tt as a,St as b,$t as c,Mt as d,Et as e,zt as f,ye as r}; diff --git a/web/dist/assets/vuex-d28e9067.js b/web/dist/assets/vuex-4d2f7b35.js similarity index 89% rename from web/dist/assets/vuex-d28e9067.js rename to web/dist/assets/vuex-4d2f7b35.js index 8592fc43..29682410 100644 --- a/web/dist/assets/vuex-d28e9067.js +++ b/web/dist/assets/vuex-4d2f7b35.js @@ -1,5 +1,5 @@ -import{w as M,Z as V,D as H,_ as U,n as k,i as B}from"./@vue-ca177dbe.js";/*! +import{w as M,_ as V,D as H,$ as U,i as k,n as B}from"./@vue-d002002f.js";/*! * vuex v4.1.0 * (c) 2022 Evan You * @license MIT - */var x="store";function st(e){return e===void 0&&(e=null),B(e!==null?e:x)}function g(e,t){Object.keys(e).forEach(function(i){return t(e[i],i)})}function K(e){return e!==null&&typeof e=="object"}function W(e){return e&&typeof e.then=="function"}function Y(e,t){return function(){return e(t)}}function T(e,t,i){return t.indexOf(e)<0&&(i&&i.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function A(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var i=e.state;y(e,i,[],e._modules.root,!0),S(e,i,t)}function S(e,t,i){var r=e._state,n=e._scope;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,a={},s={},u=V(!0);u.run(function(){g(o,function(l,c){a[c]=Y(l,e),s[c]=k(function(){return a[c]()}),Object.defineProperty(e.getters,c,{get:function(){return s[c].value},enumerable:!0})})}),e._state=H({data:t}),e._scope=u,e.strict&&J(e),r&&i&&e._withCommit(function(){r.data=null}),n&&n.stop()}function y(e,t,i,r,n){var o=!i.length,a=e._modules.getNamespace(i);if(r.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=r),!o&&!n){var s=E(t,i.slice(0,-1)),u=i[i.length-1];e._withCommit(function(){s[u]=r.state})}var l=r.context=X(e,a,i);r.forEachMutation(function(c,f){var h=a+f;Z(e,h,c,l)}),r.forEachAction(function(c,f){var h=c.root?f:a+f,d=c.handler||c;q(e,h,d,l)}),r.forEachGetter(function(c,f){var h=a+f;z(e,h,c,l)}),r.forEachChild(function(c,f){y(e,t,i.concat(f),c,n)})}function X(e,t,i){var r=t==="",n={dispatch:r?e.dispatch:function(o,a,s){var u=b(o,a,s),l=u.payload,c=u.options,f=u.type;return(!c||!c.root)&&(f=t+f),e.dispatch(f,l)},commit:r?e.commit:function(o,a,s){var u=b(o,a,s),l=u.payload,c=u.options,f=u.type;(!c||!c.root)&&(f=t+f),e.commit(f,l,c)}};return Object.defineProperties(n,{getters:{get:r?function(){return e.getters}:function(){return G(e,t)}},state:{get:function(){return E(e.state,i)}}}),n}function G(e,t){if(!e._makeLocalGettersCache[t]){var i={},r=t.length;Object.keys(e.getters).forEach(function(n){if(n.slice(0,r)===t){var o=n.slice(r);Object.defineProperty(i,o,{get:function(){return e.getters[n]},enumerable:!0})}}),e._makeLocalGettersCache[t]=i}return e._makeLocalGettersCache[t]}function Z(e,t,i,r){var n=e._mutations[t]||(e._mutations[t]=[]);n.push(function(a){i.call(e,r.state,a)})}function q(e,t,i,r){var n=e._actions[t]||(e._actions[t]=[]);n.push(function(a){var s=i.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},a);return W(s)||(s=Promise.resolve(s)),e._devtoolHook?s.catch(function(u){throw e._devtoolHook.emit("vuex:error",u),u}):s})}function z(e,t,i,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(o){return i(r.state,r.getters,o.state,o.getters)})}function J(e){M(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function E(e,t){return t.reduce(function(i,r){return i[r]},e)}function b(e,t,i){return K(e)&&e.type&&(i=t,t=e,e=e.type),{type:e,payload:t,options:i}}var Q="vuex bindings",j="vuex:mutations",C="vuex:actions",_="vuex",tt=0;function et(e,t){U({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[Q]},function(i){i.addTimelineLayer({id:j,label:"Vuex Mutations",color:I}),i.addTimelineLayer({id:C,label:"Vuex Actions",color:I}),i.addInspector({id:_,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),i.on.getInspectorTree(function(r){if(r.app===e&&r.inspectorId===_)if(r.filter){var n=[];D(n,t._modules.root,r.filter,""),r.rootNodes=n}else r.rootNodes=[N(t._modules.root,"")]}),i.on.getInspectorState(function(r){if(r.app===e&&r.inspectorId===_){var n=r.nodeId;G(t,n),r.state=nt(at(t._modules,n),n==="root"?t.getters:t._makeLocalGettersCache,n)}}),i.on.editInspectorState(function(r){if(r.app===e&&r.inspectorId===_){var n=r.nodeId,o=r.path;n!=="root"&&(o=n.split("/").filter(Boolean).concat(o)),t._withCommit(function(){r.set(t._state.data,o,r.state.value)})}}),t.subscribe(function(r,n){var o={};r.payload&&(o.payload=r.payload),o.state=n,i.notifyComponentUpdate(),i.sendInspectorTree(_),i.sendInspectorState(_),i.addTimelineEvent({layerId:j,event:{time:Date.now(),title:r.type,data:o}})}),t.subscribeAction({before:function(r,n){var o={};r.payload&&(o.payload=r.payload),r._id=tt++,r._time=Date.now(),o.state=n,i.addTimelineEvent({layerId:C,event:{time:r._time,title:r.type,groupId:r._id,subtitle:"start",data:o}})},after:function(r,n){var o={},a=Date.now()-r._time;o.duration={_custom:{type:"duration",display:a+"ms",tooltip:"Action duration",value:a}},r.payload&&(o.payload=r.payload),o.state=n,i.addTimelineEvent({layerId:C,event:{time:Date.now(),title:r.type,groupId:r._id,subtitle:"end",data:o}})}})})}var I=8702998,rt=6710886,it=16777215,L={label:"namespaced",textColor:it,backgroundColor:rt};function $(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function N(e,t){return{id:t||"root",label:$(t),tags:e.namespaced?[L]:[],children:Object.keys(e._children).map(function(i){return N(e._children[i],t+i+"/")})}}function D(e,t,i,r){r.includes(i)&&e.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:t.namespaced?[L]:[]}),Object.keys(t._children).forEach(function(n){D(e,t._children[n],i,r+n+"/")})}function nt(e,t,i){t=i==="root"?t:t[i];var r=Object.keys(t),n={state:Object.keys(e.state).map(function(a){return{key:a,editable:!0,value:e.state[a]}})};if(r.length){var o=ot(t);n.getters=Object.keys(o).map(function(a){return{key:a.endsWith("/")?$(a):a,editable:!1,value:O(function(){return o[a]})}})}return n}function ot(e){var t={};return Object.keys(e).forEach(function(i){var r=i.split("/");if(r.length>1){var n=t,o=r.pop();r.forEach(function(a){n[a]||(n[a]={_custom:{value:{},display:a,tooltip:"Module",abstract:!0}}),n=n[a]._custom.value}),n[o]=O(function(){return e[i]})}else t[i]=O(function(){return e[i]})}),t}function at(e,t){var i=t.split("/").filter(function(r){return r});return i.reduce(function(r,n,o){var a=r[n];if(!a)throw new Error('Missing module "'+n+'" for path "'+t+'".');return o===i.length-1?a:a._children},t==="root"?e:e.root._children)}function O(e){try{return e()}catch(t){return t}}var v=function(t,i){this.runtime=i,this._children=Object.create(null),this._rawModule=t;var r=t.state;this.state=(typeof r=="function"?r():r)||{}},R={namespaced:{configurable:!0}};R.namespaced.get=function(){return!!this._rawModule.namespaced};v.prototype.addChild=function(t,i){this._children[t]=i};v.prototype.removeChild=function(t){delete this._children[t]};v.prototype.getChild=function(t){return this._children[t]};v.prototype.hasChild=function(t){return t in this._children};v.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};v.prototype.forEachChild=function(t){g(this._children,t)};v.prototype.forEachGetter=function(t){this._rawModule.getters&&g(this._rawModule.getters,t)};v.prototype.forEachAction=function(t){this._rawModule.actions&&g(this._rawModule.actions,t)};v.prototype.forEachMutation=function(t){this._rawModule.mutations&&g(this._rawModule.mutations,t)};Object.defineProperties(v.prototype,R);var m=function(t){this.register([],t,!1)};m.prototype.get=function(t){return t.reduce(function(i,r){return i.getChild(r)},this.root)};m.prototype.getNamespace=function(t){var i=this.root;return t.reduce(function(r,n){return i=i.getChild(n),r+(i.namespaced?n+"/":"")},"")};m.prototype.update=function(t){P([],this.root,t)};m.prototype.register=function(t,i,r){var n=this;r===void 0&&(r=!0);var o=new v(i,r);if(t.length===0)this.root=o;else{var a=this.get(t.slice(0,-1));a.addChild(t[t.length-1],o)}i.modules&&g(i.modules,function(s,u){n.register(t.concat(u),s,r)})};m.prototype.unregister=function(t){var i=this.get(t.slice(0,-1)),r=t[t.length-1],n=i.getChild(r);n&&n.runtime&&i.removeChild(r)};m.prototype.isRegistered=function(t){var i=this.get(t.slice(0,-1)),r=t[t.length-1];return i?i.hasChild(r):!1};function P(e,t,i){if(t.update(i),i.modules)for(var r in i.modules){if(!t.getChild(r))return;P(e.concat(r),t.getChild(r),i.modules[r])}}function ut(e){return new p(e)}var p=function(t){var i=this;t===void 0&&(t={});var r=t.plugins;r===void 0&&(r=[]);var n=t.strict;n===void 0&&(n=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new m(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var a=this,s=this,u=s.dispatch,l=s.commit;this.dispatch=function(h,d){return u.call(a,h,d)},this.commit=function(h,d,F){return l.call(a,h,d,F)},this.strict=n;var c=this._modules.root.state;y(this,c,[],this._modules.root),S(this,c),r.forEach(function(f){return f(i)})},w={state:{configurable:!0}};p.prototype.install=function(t,i){t.provide(i||x,this),t.config.globalProperties.$store=this;var r=this._devtools!==void 0?this._devtools:!1;r&&et(t,this)};w.state.get=function(){return this._state.data};w.state.set=function(e){};p.prototype.commit=function(t,i,r){var n=this,o=b(t,i,r),a=o.type,s=o.payload,u={type:a,payload:s},l=this._mutations[a];l&&(this._withCommit(function(){l.forEach(function(f){f(s)})}),this._subscribers.slice().forEach(function(c){return c(u,n.state)}))};p.prototype.dispatch=function(t,i){var r=this,n=b(t,i),o=n.type,a=n.payload,s={type:o,payload:a},u=this._actions[o];if(u){try{this._actionSubscribers.slice().filter(function(c){return c.before}).forEach(function(c){return c.before(s,r.state)})}catch{}var l=u.length>1?Promise.all(u.map(function(c){return c(a)})):u[0](a);return new Promise(function(c,f){l.then(function(h){try{r._actionSubscribers.filter(function(d){return d.after}).forEach(function(d){return d.after(s,r.state)})}catch{}c(h)},function(h){try{r._actionSubscribers.filter(function(d){return d.error}).forEach(function(d){return d.error(s,r.state,h)})}catch{}f(h)})})}};p.prototype.subscribe=function(t,i){return T(t,this._subscribers,i)};p.prototype.subscribeAction=function(t,i){var r=typeof t=="function"?{before:t}:t;return T(r,this._actionSubscribers,i)};p.prototype.watch=function(t,i,r){var n=this;return M(function(){return t(n.state,n.getters)},i,Object.assign({},r))};p.prototype.replaceState=function(t){var i=this;this._withCommit(function(){i._state.data=t})};p.prototype.registerModule=function(t,i,r){r===void 0&&(r={}),typeof t=="string"&&(t=[t]),this._modules.register(t,i),y(this,this.state,t,this._modules.get(t),r.preserveState),S(this,this.state)};p.prototype.unregisterModule=function(t){var i=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var r=E(i.state,t.slice(0,-1));delete r[t[t.length-1]]}),A(this)};p.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};p.prototype.hotUpdate=function(t){this._modules.update(t),A(this,!0)};p.prototype._withCommit=function(t){var i=this._committing;this._committing=!0,t(),this._committing=i};Object.defineProperties(p.prototype,w);export{ut as c,st as u}; + */var x="store";function st(e){return e===void 0&&(e=null),k(e!==null?e:x)}function g(e,t){Object.keys(e).forEach(function(i){return t(e[i],i)})}function K(e){return e!==null&&typeof e=="object"}function W(e){return e&&typeof e.then=="function"}function Y(e,t){return function(){return e(t)}}function T(e,t,i){return t.indexOf(e)<0&&(i&&i.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function A(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var i=e.state;y(e,i,[],e._modules.root,!0),S(e,i,t)}function S(e,t,i){var r=e._state,n=e._scope;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,a={},s={},u=V(!0);u.run(function(){g(o,function(l,c){a[c]=Y(l,e),s[c]=B(function(){return a[c]()}),Object.defineProperty(e.getters,c,{get:function(){return s[c].value},enumerable:!0})})}),e._state=H({data:t}),e._scope=u,e.strict&&Q(e),r&&i&&e._withCommit(function(){r.data=null}),n&&n.stop()}function y(e,t,i,r,n){var o=!i.length,a=e._modules.getNamespace(i);if(r.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=r),!o&&!n){var s=E(t,i.slice(0,-1)),u=i[i.length-1];e._withCommit(function(){s[u]=r.state})}var l=r.context=X(e,a,i);r.forEachMutation(function(c,f){var h=a+f;q(e,h,c,l)}),r.forEachAction(function(c,f){var h=c.root?f:a+f,d=c.handler||c;z(e,h,d,l)}),r.forEachGetter(function(c,f){var h=a+f;J(e,h,c,l)}),r.forEachChild(function(c,f){y(e,t,i.concat(f),c,n)})}function X(e,t,i){var r=t==="",n={dispatch:r?e.dispatch:function(o,a,s){var u=b(o,a,s),l=u.payload,c=u.options,f=u.type;return(!c||!c.root)&&(f=t+f),e.dispatch(f,l)},commit:r?e.commit:function(o,a,s){var u=b(o,a,s),l=u.payload,c=u.options,f=u.type;(!c||!c.root)&&(f=t+f),e.commit(f,l,c)}};return Object.defineProperties(n,{getters:{get:r?function(){return e.getters}:function(){return G(e,t)}},state:{get:function(){return E(e.state,i)}}}),n}function G(e,t){if(!e._makeLocalGettersCache[t]){var i={},r=t.length;Object.keys(e.getters).forEach(function(n){if(n.slice(0,r)===t){var o=n.slice(r);Object.defineProperty(i,o,{get:function(){return e.getters[n]},enumerable:!0})}}),e._makeLocalGettersCache[t]=i}return e._makeLocalGettersCache[t]}function q(e,t,i,r){var n=e._mutations[t]||(e._mutations[t]=[]);n.push(function(a){i.call(e,r.state,a)})}function z(e,t,i,r){var n=e._actions[t]||(e._actions[t]=[]);n.push(function(a){var s=i.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},a);return W(s)||(s=Promise.resolve(s)),e._devtoolHook?s.catch(function(u){throw e._devtoolHook.emit("vuex:error",u),u}):s})}function J(e,t,i,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(o){return i(r.state,r.getters,o.state,o.getters)})}function Q(e){M(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function E(e,t){return t.reduce(function(i,r){return i[r]},e)}function b(e,t,i){return K(e)&&e.type&&(i=t,t=e,e=e.type),{type:e,payload:t,options:i}}var Z="vuex bindings",j="vuex:mutations",C="vuex:actions",_="vuex",tt=0;function et(e,t){U({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[Z]},function(i){i.addTimelineLayer({id:j,label:"Vuex Mutations",color:I}),i.addTimelineLayer({id:C,label:"Vuex Actions",color:I}),i.addInspector({id:_,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),i.on.getInspectorTree(function(r){if(r.app===e&&r.inspectorId===_)if(r.filter){var n=[];D(n,t._modules.root,r.filter,""),r.rootNodes=n}else r.rootNodes=[N(t._modules.root,"")]}),i.on.getInspectorState(function(r){if(r.app===e&&r.inspectorId===_){var n=r.nodeId;G(t,n),r.state=nt(at(t._modules,n),n==="root"?t.getters:t._makeLocalGettersCache,n)}}),i.on.editInspectorState(function(r){if(r.app===e&&r.inspectorId===_){var n=r.nodeId,o=r.path;n!=="root"&&(o=n.split("/").filter(Boolean).concat(o)),t._withCommit(function(){r.set(t._state.data,o,r.state.value)})}}),t.subscribe(function(r,n){var o={};r.payload&&(o.payload=r.payload),o.state=n,i.notifyComponentUpdate(),i.sendInspectorTree(_),i.sendInspectorState(_),i.addTimelineEvent({layerId:j,event:{time:Date.now(),title:r.type,data:o}})}),t.subscribeAction({before:function(r,n){var o={};r.payload&&(o.payload=r.payload),r._id=tt++,r._time=Date.now(),o.state=n,i.addTimelineEvent({layerId:C,event:{time:r._time,title:r.type,groupId:r._id,subtitle:"start",data:o}})},after:function(r,n){var o={},a=Date.now()-r._time;o.duration={_custom:{type:"duration",display:a+"ms",tooltip:"Action duration",value:a}},r.payload&&(o.payload=r.payload),o.state=n,i.addTimelineEvent({layerId:C,event:{time:Date.now(),title:r.type,groupId:r._id,subtitle:"end",data:o}})}})})}var I=8702998,rt=6710886,it=16777215,$={label:"namespaced",textColor:it,backgroundColor:rt};function L(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function N(e,t){return{id:t||"root",label:L(t),tags:e.namespaced?[$]:[],children:Object.keys(e._children).map(function(i){return N(e._children[i],t+i+"/")})}}function D(e,t,i,r){r.includes(i)&&e.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:t.namespaced?[$]:[]}),Object.keys(t._children).forEach(function(n){D(e,t._children[n],i,r+n+"/")})}function nt(e,t,i){t=i==="root"?t:t[i];var r=Object.keys(t),n={state:Object.keys(e.state).map(function(a){return{key:a,editable:!0,value:e.state[a]}})};if(r.length){var o=ot(t);n.getters=Object.keys(o).map(function(a){return{key:a.endsWith("/")?L(a):a,editable:!1,value:O(function(){return o[a]})}})}return n}function ot(e){var t={};return Object.keys(e).forEach(function(i){var r=i.split("/");if(r.length>1){var n=t,o=r.pop();r.forEach(function(a){n[a]||(n[a]={_custom:{value:{},display:a,tooltip:"Module",abstract:!0}}),n=n[a]._custom.value}),n[o]=O(function(){return e[i]})}else t[i]=O(function(){return e[i]})}),t}function at(e,t){var i=t.split("/").filter(function(r){return r});return i.reduce(function(r,n,o){var a=r[n];if(!a)throw new Error('Missing module "'+n+'" for path "'+t+'".');return o===i.length-1?a:a._children},t==="root"?e:e.root._children)}function O(e){try{return e()}catch(t){return t}}var v=function(t,i){this.runtime=i,this._children=Object.create(null),this._rawModule=t;var r=t.state;this.state=(typeof r=="function"?r():r)||{}},R={namespaced:{configurable:!0}};R.namespaced.get=function(){return!!this._rawModule.namespaced};v.prototype.addChild=function(t,i){this._children[t]=i};v.prototype.removeChild=function(t){delete this._children[t]};v.prototype.getChild=function(t){return this._children[t]};v.prototype.hasChild=function(t){return t in this._children};v.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};v.prototype.forEachChild=function(t){g(this._children,t)};v.prototype.forEachGetter=function(t){this._rawModule.getters&&g(this._rawModule.getters,t)};v.prototype.forEachAction=function(t){this._rawModule.actions&&g(this._rawModule.actions,t)};v.prototype.forEachMutation=function(t){this._rawModule.mutations&&g(this._rawModule.mutations,t)};Object.defineProperties(v.prototype,R);var m=function(t){this.register([],t,!1)};m.prototype.get=function(t){return t.reduce(function(i,r){return i.getChild(r)},this.root)};m.prototype.getNamespace=function(t){var i=this.root;return t.reduce(function(r,n){return i=i.getChild(n),r+(i.namespaced?n+"/":"")},"")};m.prototype.update=function(t){P([],this.root,t)};m.prototype.register=function(t,i,r){var n=this;r===void 0&&(r=!0);var o=new v(i,r);if(t.length===0)this.root=o;else{var a=this.get(t.slice(0,-1));a.addChild(t[t.length-1],o)}i.modules&&g(i.modules,function(s,u){n.register(t.concat(u),s,r)})};m.prototype.unregister=function(t){var i=this.get(t.slice(0,-1)),r=t[t.length-1],n=i.getChild(r);n&&n.runtime&&i.removeChild(r)};m.prototype.isRegistered=function(t){var i=this.get(t.slice(0,-1)),r=t[t.length-1];return i?i.hasChild(r):!1};function P(e,t,i){if(t.update(i),i.modules)for(var r in i.modules){if(!t.getChild(r))return;P(e.concat(r),t.getChild(r),i.modules[r])}}function ut(e){return new p(e)}var p=function(t){var i=this;t===void 0&&(t={});var r=t.plugins;r===void 0&&(r=[]);var n=t.strict;n===void 0&&(n=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new m(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var a=this,s=this,u=s.dispatch,l=s.commit;this.dispatch=function(h,d){return u.call(a,h,d)},this.commit=function(h,d,F){return l.call(a,h,d,F)},this.strict=n;var c=this._modules.root.state;y(this,c,[],this._modules.root),S(this,c),r.forEach(function(f){return f(i)})},w={state:{configurable:!0}};p.prototype.install=function(t,i){t.provide(i||x,this),t.config.globalProperties.$store=this;var r=this._devtools!==void 0?this._devtools:!1;r&&et(t,this)};w.state.get=function(){return this._state.data};w.state.set=function(e){};p.prototype.commit=function(t,i,r){var n=this,o=b(t,i,r),a=o.type,s=o.payload,u={type:a,payload:s},l=this._mutations[a];l&&(this._withCommit(function(){l.forEach(function(f){f(s)})}),this._subscribers.slice().forEach(function(c){return c(u,n.state)}))};p.prototype.dispatch=function(t,i){var r=this,n=b(t,i),o=n.type,a=n.payload,s={type:o,payload:a},u=this._actions[o];if(u){try{this._actionSubscribers.slice().filter(function(c){return c.before}).forEach(function(c){return c.before(s,r.state)})}catch{}var l=u.length>1?Promise.all(u.map(function(c){return c(a)})):u[0](a);return new Promise(function(c,f){l.then(function(h){try{r._actionSubscribers.filter(function(d){return d.after}).forEach(function(d){return d.after(s,r.state)})}catch{}c(h)},function(h){try{r._actionSubscribers.filter(function(d){return d.error}).forEach(function(d){return d.error(s,r.state,h)})}catch{}f(h)})})}};p.prototype.subscribe=function(t,i){return T(t,this._subscribers,i)};p.prototype.subscribeAction=function(t,i){var r=typeof t=="function"?{before:t}:t;return T(r,this._actionSubscribers,i)};p.prototype.watch=function(t,i,r){var n=this;return M(function(){return t(n.state,n.getters)},i,Object.assign({},r))};p.prototype.replaceState=function(t){var i=this;this._withCommit(function(){i._state.data=t})};p.prototype.registerModule=function(t,i,r){r===void 0&&(r={}),typeof t=="string"&&(t=[t]),this._modules.register(t,i),y(this,this.state,t,this._modules.get(t),r.preserveState),S(this,this.state)};p.prototype.unregisterModule=function(t){var i=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var r=E(i.state,t.slice(0,-1));delete r[t[t.length-1]]}),A(this)};p.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};p.prototype.hotUpdate=function(t){this._modules.update(t),A(this,!0)};p.prototype._withCommit=function(t){var i=this._committing;this._committing=!0,t(),this._committing=i};Object.defineProperties(p.prototype,w);export{ut as c,st as u}; diff --git a/web/dist/index.html b/web/dist/index.html index 2b595655..b7b9b5dc 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,26 +8,26 @@ 泡泡 - - - - + + + + - - + + - + - - + + From 931c4bcb15d1fa8d34329451ee8dc9ecf347d9c1 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Thu, 29 Jun 2023 17:41:10 +0800 Subject: [PATCH 57/65] just update docker-compose.yaml --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index a05250c9..2060e67d 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -102,7 +102,7 @@ services: - paopao-network backend: - image: bitbus/paopao-ce:0.3.0 + image: bitbus/paopao-ce:0.3 restart: always depends_on: - db From 940d0032e4e9374aae4770d84feb857b668f0b1e Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 22 Jul 2023 15:15:37 +0800 Subject: [PATCH 58/65] add miss change --- internal/dao/dao.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/dao/dao.go b/internal/dao/dao.go index 6ee6e81a..b1f7d9f2 100644 --- a/internal/dao/dao.go +++ b/internal/dao/dao.go @@ -76,7 +76,7 @@ func initDsX() { } else if cfg.If("Sqlx") { ds, dsVer = sakila.NewDataService() webDsa, dsaVer = sakila.NewWebDataServantA() - } else if cfg.If("Sqlc") && (cfg.If("Postgres") || cfg.If("PostgreSQL")) { + } else if cfg.If("Sqlc") && cfg.Any("Postgres", "PostgreSQL") { ds, dsVer = slonik.NewDataService() webDsa, dsaVer = slonik.NewWebDataServantA() } else { From 8eb294154a166cbb1231d92c290d191db6bb4986 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 6 Aug 2023 00:43:54 +0800 Subject: [PATCH 59/65] optimize core service define --- internal/core/authority.go | 114 +------------------- internal/core/cache.go | 3 +- internal/core/comments.go | 32 +++--- internal/core/cs/contact.go | 26 +++++ internal/core/cs/tweets.go | 4 +- internal/core/messages.go | 29 ++---- internal/core/ms/authority.go | 115 +++++++++++++++++++++ internal/core/ms/comments.go | 17 +++ internal/core/ms/messages.go | 26 +++++ internal/core/{types.go => ms/ms.go} | 6 +- internal/core/ms/security.go | 13 +++ internal/core/ms/timeline.go | 10 ++ internal/core/ms/tweets.go | 43 ++++++++ internal/core/ms/user.go | 20 ++++ internal/core/ms/wallet.go | 14 +++ internal/core/search.go | 7 +- internal/core/security.go | 10 +- internal/core/timeline.go | 10 +- internal/core/tweets.go | 76 +++++--------- internal/core/user.go | 31 ++---- internal/core/wallet.go | 17 ++- internal/dao/cache/base.go | 17 +-- internal/dao/cache/none.go | 5 +- internal/dao/cache/simple.go | 11 +- internal/dao/jinzhu/authority.go | 15 +-- internal/dao/jinzhu/comments.go | 25 ++--- internal/dao/jinzhu/contacts.go | 9 +- internal/dao/jinzhu/dbr/comment.go | 2 +- internal/dao/jinzhu/dbr/comment_reply.go | 12 +-- internal/dao/jinzhu/dbr/post.go | 8 +- internal/dao/jinzhu/dbr/post_collection.go | 4 +- internal/dao/jinzhu/dbr/post_content.go | 2 +- internal/dao/jinzhu/dbr/user.go | 2 +- internal/dao/jinzhu/messages.go | 11 +- internal/dao/jinzhu/security.go | 10 +- internal/dao/jinzhu/timeline.go | 15 +-- internal/dao/jinzhu/topics.go | 19 ++-- internal/dao/jinzhu/tweets.go | 55 +++++----- internal/dao/jinzhu/user.go | 15 +-- internal/dao/jinzhu/wallet.go | 11 +- internal/dao/search/bridge.go | 3 +- internal/dao/search/filter.go | 5 +- internal/dao/search/meili.go | 15 +-- internal/dao/search/zinc.go | 13 +-- internal/model/web/priv.go | 20 ++-- internal/model/web/pub.go | 4 +- internal/model/web/web.go | 6 +- internal/servants/base/base.go | 28 ++--- internal/servants/chain/admin.go | 6 +- internal/servants/chain/priv.go | 8 +- internal/servants/web/core.go | 13 +-- internal/servants/web/loose.go | 9 +- internal/servants/web/priv.go | 83 ++++++++------- internal/servants/web/pub.go | 8 +- internal/servants/web/utils.go | 13 +-- mirc/gen.go | 4 +- pkg/app/jwt.go | 4 +- pkg/naming/naming_test.go | 4 + 58 files changed, 628 insertions(+), 489 deletions(-) create mode 100644 internal/core/cs/contact.go create mode 100644 internal/core/ms/authority.go create mode 100644 internal/core/ms/comments.go create mode 100644 internal/core/ms/messages.go rename internal/core/{types.go => ms/ms.go} (79%) create mode 100644 internal/core/ms/security.go create mode 100644 internal/core/ms/timeline.go create mode 100644 internal/core/ms/tweets.go create mode 100644 internal/core/ms/user.go create mode 100644 internal/core/ms/wallet.go diff --git a/internal/core/authority.go b/internal/core/authority.go index 05e3742a..31a43be4 100644 --- a/internal/core/authority.go +++ b/internal/core/authority.go @@ -5,119 +5,13 @@ package core import ( - "github.com/rocboss/paopao-ce/pkg/types" + "github.com/rocboss/paopao-ce/internal/core/ms" ) -const ( - ActRegisterUser act = iota - ActCreatePublicTweet - ActCreatePublicAttachment - ActCreatePublicPicture - ActCreatePublicVideo - ActCreatePrivateTweet - ActCreatePrivateAttachment - ActCreatePrivatePicture - ActCreatePrivateVideo - ActCreateFriendTweet - ActCreateFriendAttachment - ActCreateFriendPicture - ActCreateFriendVideo - ActCreatePublicComment - ActCreatePublicPicureComment - ActCreateFriendComment - ActCreateFriendPicureComment - ActCreatePrivateComment - ActCreatePrivatePicureComment - ActStickTweet - ActTopTweet - ActLockTweet - ActVisibleTweet - ActDeleteTweet - ActCreateActivationCode -) - -type ( - act uint8 - - FriendFilter map[int64]types.Empty - FriendSet map[string]types.Empty - - Action struct { - Act act - UserId int64 - } -) - -func (f FriendFilter) IsFriend(userId int64) bool { - _, yeah := f[userId] - return yeah -} - -// IsAllow default true if user is admin -func (a act) IsAllow(user *User, userId int64, isFriend bool, isActivation bool) bool { - if user.IsAdmin { - return true - } - if user.ID == userId && isActivation { - switch a { - case ActCreatePublicTweet, - ActCreatePublicAttachment, - ActCreatePublicPicture, - ActCreatePublicVideo, - ActCreatePrivateTweet, - ActCreatePrivateAttachment, - ActCreatePrivatePicture, - ActCreatePrivateVideo, - ActCreateFriendTweet, - ActCreateFriendAttachment, - ActCreateFriendPicture, - ActCreateFriendVideo, - ActCreatePrivateComment, - ActCreatePrivatePicureComment, - ActStickTweet, - ActLockTweet, - ActVisibleTweet, - ActDeleteTweet: - return true - } - } - - if user.ID == userId && !isActivation { - switch a { - case ActCreatePrivateTweet, - ActCreatePrivateComment, - ActStickTweet, - ActLockTweet, - ActDeleteTweet: - return true - } - } - - if isFriend && isActivation { - switch a { - case ActCreatePublicComment, - ActCreatePublicPicureComment, - ActCreateFriendComment, - ActCreateFriendPicureComment: - return true - } - } - - if !isFriend && isActivation { - switch a { - case ActCreatePublicComment, - ActCreatePublicPicureComment: - return true - } - } - - return false -} - // AuthorizationManageService 授权管理服务 type AuthorizationManageService interface { - IsAllow(user *User, action *Action) bool - BeFriendFilter(userId int64) FriendFilter + IsAllow(user *ms.User, action *ms.Action) bool + BeFriendFilter(userId int64) ms.FriendFilter BeFriendIds(userId int64) ([]int64, error) - MyFriendSet(userId int64) FriendSet + MyFriendSet(userId int64) ms.FriendSet } diff --git a/internal/core/cache.go b/internal/core/cache.go index e6963c61..8d8c3b42 100644 --- a/internal/core/cache.go +++ b/internal/core/cache.go @@ -8,6 +8,7 @@ import ( "context" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" ) @@ -51,7 +52,7 @@ func (a IdxAct) String() string { } } -func NewIndexAction(act IdxAct, post *dbr.Post) *IndexAction { +func NewIndexAction(act IdxAct, post *ms.Post) *IndexAction { return &IndexAction{ Act: act, Post: post, diff --git a/internal/core/comments.go b/internal/core/comments.go index 88dcf432..cf917a82 100644 --- a/internal/core/comments.go +++ b/internal/core/comments.go @@ -6,35 +6,27 @@ package core import ( "github.com/rocboss/paopao-ce/internal/core/cs" - "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" -) - -type ( - Comment = dbr.Comment - CommentFormated = dbr.CommentFormated - CommentReply = dbr.CommentReply - CommentContent = dbr.CommentContent - CommentReplyFormated = dbr.CommentReplyFormated + "github.com/rocboss/paopao-ce/internal/core/ms" ) // CommentService 评论检索服务 type CommentService interface { - GetComments(conditions *ConditionsT, offset, limit int) ([]*Comment, error) - GetCommentByID(id int64) (*Comment, error) - GetCommentCount(conditions *ConditionsT) (int64, error) - GetCommentReplyByID(id int64) (*CommentReply, error) - GetCommentContentsByIDs(ids []int64) ([]*CommentContent, error) - GetCommentRepliesByID(ids []int64) ([]*CommentReplyFormated, error) + GetComments(conditions *ms.ConditionsT, offset, limit int) ([]*ms.Comment, error) + GetCommentByID(id int64) (*ms.Comment, error) + GetCommentCount(conditions *ms.ConditionsT) (int64, error) + GetCommentReplyByID(id int64) (*ms.CommentReply, error) + GetCommentContentsByIDs(ids []int64) ([]*ms.CommentContent, error) + GetCommentRepliesByID(ids []int64) ([]*ms.CommentReplyFormated, error) GetCommentThumbsMap(userId int64, tweetId int64) (cs.CommentThumbsMap, cs.CommentThumbsMap, error) } // CommentManageService 评论管理服务 type CommentManageService interface { - DeleteComment(comment *Comment) error - CreateComment(comment *Comment) (*Comment, error) - CreateCommentReply(reply *CommentReply) (*CommentReply, error) - DeleteCommentReply(reply *CommentReply) error - CreateCommentContent(content *CommentContent) (*CommentContent, error) + DeleteComment(comment *ms.Comment) error + CreateComment(comment *ms.Comment) (*ms.Comment, error) + CreateCommentReply(reply *ms.CommentReply) (*ms.CommentReply, error) + DeleteCommentReply(reply *ms.CommentReply) error + CreateCommentContent(content *ms.CommentContent) (*ms.CommentContent, error) ThumbsUpComment(userId int64, tweetId, commentId int64) error ThumbsDownComment(userId int64, tweetId, commentId int64) error ThumbsUpReply(userId int64, tweetId, commentId, replyId int64) error diff --git a/internal/core/cs/contact.go b/internal/core/cs/contact.go new file mode 100644 index 00000000..ed774631 --- /dev/null +++ b/internal/core/cs/contact.go @@ -0,0 +1,26 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cs + +const ( + ContactStatusRequesting int8 = iota + 1 + ContactStatusAgree + ContactStatusReject + ContactStatusDeleted +) + +type Contact struct { + ID int64 `db:"id" json:"id"` + UserId int64 `db:"user_id" json:"user_id"` + FriendId int64 `db:"friend_id" json:"friend_id"` + GroupId int64 `json:"group_id"` + Remark string `json:"remark"` + Status int8 `json:"status"` // 1请求好友, 2已同意好友, 3已拒绝好友, 4已删除好友 + IsTop int8 `json:"is_top"` + IsBlack int8 `json:"is_black"` + NoticeEnable int8 `json:"notice_enable"` + IsDel int8 `json:"-"` + DeletedOn int64 `db:"-" json:"-"` +} diff --git a/internal/core/cs/tweets.go b/internal/core/cs/tweets.go index 5c0e3603..34060030 100644 --- a/internal/core/cs/tweets.go +++ b/internal/core/cs/tweets.go @@ -88,8 +88,8 @@ type TweetInfo struct { type TweetItem struct { ID int64 `json:"id"` UserID int64 `json:"user_id"` - User *UserInfo `json:"user"` - Contents []*TweetBlock `json:"contents"` + User *UserInfo `db:"user" json:"user"` + Contents []*TweetBlock `db:"-" json:"contents"` CommentCount int64 `json:"comment_count"` CollectionCount int64 `json:"collection_count"` UpvoteCount int64 `json:"upvote_count"` diff --git a/internal/core/messages.go b/internal/core/messages.go index 57816480..519e4e49 100644 --- a/internal/core/messages.go +++ b/internal/core/messages.go @@ -5,32 +5,15 @@ package core import ( - "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" -) - -const ( - MsgTypePost = dbr.MsgTypePost - MsgtypeComment = dbr.MsgtypeComment - MsgTypeReply = dbr.MsgTypeReply - MsgTypeWhisper = dbr.MsgTypeWhisper - MsgTypeRequestingFriend = dbr.MsgTypeRequestingFriend - MsgTypeSystem = dbr.MsgTypeSystem - - MsgStatusUnread = dbr.MsgStatusUnread - MsgStatusReaded = dbr.MsgStatusReaded -) - -type ( - Message = dbr.Message - MessageFormated = dbr.MessageFormated + "github.com/rocboss/paopao-ce/internal/core/ms" ) // MessageService 消息服务 type MessageService interface { - CreateMessage(msg *Message) (*Message, error) + CreateMessage(msg *ms.Message) (*ms.Message, error) GetUnreadCount(userID int64) (int64, error) - GetMessageByID(id int64) (*Message, error) - ReadMessage(message *Message) error - GetMessages(conditions *ConditionsT, offset, limit int) ([]*MessageFormated, error) - GetMessageCount(conditions *ConditionsT) (int64, error) + GetMessageByID(id int64) (*ms.Message, error) + ReadMessage(message *ms.Message) error + GetMessages(conditions *ms.ConditionsT, offset, limit int) ([]*ms.MessageFormated, error) + GetMessageCount(conditions *ms.ConditionsT) (int64, error) } diff --git a/internal/core/ms/authority.go b/internal/core/ms/authority.go new file mode 100644 index 00000000..d6378696 --- /dev/null +++ b/internal/core/ms/authority.go @@ -0,0 +1,115 @@ +// 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 ms + +import ( + "github.com/rocboss/paopao-ce/pkg/types" +) + +const ( + ActRegisterUser act = iota + ActCreatePublicTweet + ActCreatePublicAttachment + ActCreatePublicPicture + ActCreatePublicVideo + ActCreatePrivateTweet + ActCreatePrivateAttachment + ActCreatePrivatePicture + ActCreatePrivateVideo + ActCreateFriendTweet + ActCreateFriendAttachment + ActCreateFriendPicture + ActCreateFriendVideo + ActCreatePublicComment + ActCreatePublicPicureComment + ActCreateFriendComment + ActCreateFriendPicureComment + ActCreatePrivateComment + ActCreatePrivatePicureComment + ActStickTweet + ActTopTweet + ActLockTweet + ActVisibleTweet + ActDeleteTweet + ActCreateActivationCode +) + +type ( + act uint8 + + FriendFilter map[int64]types.Empty + FriendSet map[string]types.Empty + + Action struct { + Act act + UserId int64 + } +) + +func (f FriendFilter) IsFriend(userId int64) bool { + _, yeah := f[userId] + return yeah +} + +// IsAllow default true if user is admin +func (a act) IsAllow(user *User, userId int64, isFriend bool, isActivation bool) bool { + if user.IsAdmin { + return true + } + if user.ID == userId && isActivation { + switch a { + case ActCreatePublicTweet, + ActCreatePublicAttachment, + ActCreatePublicPicture, + ActCreatePublicVideo, + ActCreatePrivateTweet, + ActCreatePrivateAttachment, + ActCreatePrivatePicture, + ActCreatePrivateVideo, + ActCreateFriendTweet, + ActCreateFriendAttachment, + ActCreateFriendPicture, + ActCreateFriendVideo, + ActCreatePrivateComment, + ActCreatePrivatePicureComment, + ActStickTweet, + ActLockTweet, + ActVisibleTweet, + ActDeleteTweet: + return true + } + } + + if user.ID == userId && !isActivation { + switch a { + case ActCreatePrivateTweet, + ActCreatePrivateComment, + ActStickTweet, + ActLockTweet, + ActDeleteTweet: + return true + } + } + + if isFriend && isActivation { + switch a { + case ActCreatePublicComment, + ActCreatePublicPicureComment, + ActCreateFriendComment, + ActCreateFriendPicureComment: + return true + } + } + + if !isFriend && isActivation { + switch a { + case ActCreatePublicComment, + ActCreatePublicPicureComment: + return true + } + } + + return false +} diff --git a/internal/core/ms/comments.go b/internal/core/ms/comments.go new file mode 100644 index 00000000..87ef2473 --- /dev/null +++ b/internal/core/ms/comments.go @@ -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 ms + +import ( + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" +) + +type ( + Comment = dbr.Comment + CommentFormated = dbr.CommentFormated + CommentReply = dbr.CommentReply + CommentContent = dbr.CommentContent + CommentReplyFormated = dbr.CommentReplyFormated +) diff --git a/internal/core/ms/messages.go b/internal/core/ms/messages.go new file mode 100644 index 00000000..adf793f8 --- /dev/null +++ b/internal/core/ms/messages.go @@ -0,0 +1,26 @@ +// 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 ms + +import ( + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" +) + +const ( + MsgTypePost = dbr.MsgTypePost + MsgtypeComment = dbr.MsgtypeComment + MsgTypeReply = dbr.MsgTypeReply + MsgTypeWhisper = dbr.MsgTypeWhisper + MsgTypeRequestingFriend = dbr.MsgTypeRequestingFriend + MsgTypeSystem = dbr.MsgTypeSystem + + MsgStatusUnread = dbr.MsgStatusUnread + MsgStatusReaded = dbr.MsgStatusReaded +) + +type ( + Message = dbr.Message + MessageFormated = dbr.MessageFormated +) diff --git a/internal/core/types.go b/internal/core/ms/ms.go similarity index 79% rename from internal/core/types.go rename to internal/core/ms/ms.go index 6ca95893..8993251f 100644 --- a/internal/core/types.go +++ b/internal/core/ms/ms.go @@ -1,8 +1,10 @@ -// Copyright 2022 ROC. All rights reserved. +// 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 core +// Package ms contain core data service interface type +// model define for gorm adapter +package ms import ( "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" diff --git a/internal/core/ms/security.go b/internal/core/ms/security.go new file mode 100644 index 00000000..a6610ca1 --- /dev/null +++ b/internal/core/ms/security.go @@ -0,0 +1,13 @@ +// 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 ms + +import ( + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" +) + +type ( + Captcha = dbr.Captcha +) diff --git a/internal/core/ms/timeline.go b/internal/core/ms/timeline.go new file mode 100644 index 00000000..eb1169f4 --- /dev/null +++ b/internal/core/ms/timeline.go @@ -0,0 +1,10 @@ +// 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 ms + +type IndexTweetList struct { + Tweets []*PostFormated + Total int64 +} diff --git a/internal/core/ms/tweets.go b/internal/core/ms/tweets.go new file mode 100644 index 00000000..eab6d85c --- /dev/null +++ b/internal/core/ms/tweets.go @@ -0,0 +1,43 @@ +// 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 ms + +import ( + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" +) + +const ( + AttachmentTypeImage = dbr.AttachmentTypeImage + AttachmentTypeVideo = dbr.AttachmentTypeVideo + AttachmentTypeOther = dbr.AttachmentTypeOther + + // 类型,1标题,2文字段落,3图片地址,4视频地址,5语音地址,6链接地址,7附件资源 + ContentTypeTitle = dbr.ContentTypeTitle + ContentTypeText = dbr.ContentTypeText + ContentTypeImage = dbr.ContentTypeImage + ContentTypeVideo = dbr.ContentTypeVideo + ContentTypeAudio = dbr.ContentTypeAudio + ContentTypeLink = dbr.ContentTypeLink + ContentTypeAttachment = dbr.ContentTypeAttachment + ContentTypeChargeAttachment = dbr.ContentTypeChargeAttachment +) + +const ( + PostVisitPublic PostVisibleT = iota + PostVisitPrivate + PostVisitFriend + PostVisitInvalid +) + +type ( + PostStar = dbr.PostStar + PostCollection = dbr.PostCollection + PostAttachmentBill = dbr.PostAttachmentBill + PostContent = dbr.PostContent + Attachment = dbr.Attachment + AttachmentType = dbr.AttachmentType + PostContentT = dbr.PostContentT + PostVisibleT = dbr.PostVisibleT +) diff --git a/internal/core/ms/user.go b/internal/core/ms/user.go new file mode 100644 index 00000000..88cc6e73 --- /dev/null +++ b/internal/core/ms/user.go @@ -0,0 +1,20 @@ +// 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 ms + +type ( + ContactItem struct { + UserId int64 `json:"user_id"` + UserName string `db:"username" json:"username"` + Nickname string `json:"nickname"` + Avatar string `json:"avatar"` + Phone string `json:"phone"` + } + + ContactList struct { + Contacts []ContactItem `json:"contacts"` + Total int64 `json:"total"` + } +) diff --git a/internal/core/ms/wallet.go b/internal/core/ms/wallet.go new file mode 100644 index 00000000..5786fcac --- /dev/null +++ b/internal/core/ms/wallet.go @@ -0,0 +1,14 @@ +// 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 ms + +import ( + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" +) + +type ( + WalletStatement = dbr.WalletStatement + WalletRecharge = dbr.WalletRecharge +) diff --git a/internal/core/search.go b/internal/core/search.go index 17b65fad..dc08e127 100644 --- a/internal/core/search.go +++ b/internal/core/search.go @@ -5,6 +5,7 @@ package core import ( + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" ) @@ -33,12 +34,12 @@ type ( } QueryResp struct { - Items []*PostFormated + Items []*ms.PostFormated Total int64 } TsDocItem struct { - Post *Post + Post *ms.Post Content string } ) @@ -48,5 +49,5 @@ type TweetSearchService interface { IndexName() string AddDocuments(data []TsDocItem, primaryKey ...string) (bool, error) DeleteDocuments(identifiers []string) error - Search(user *User, q *QueryReq, offset, limit int) (*QueryResp, error) + Search(user *ms.User, q *QueryReq, offset, limit int) (*QueryResp, error) } diff --git a/internal/core/security.go b/internal/core/security.go index ce313635..0643cc28 100644 --- a/internal/core/security.go +++ b/internal/core/security.go @@ -7,17 +7,13 @@ package core import ( "time" - "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" -) - -type ( - Captcha = dbr.Captcha + "github.com/rocboss/paopao-ce/internal/core/ms" ) // SecurityService 安全相关服务 type SecurityService interface { - GetLatestPhoneCaptcha(phone string) (*Captcha, error) - UsePhoneCaptcha(captcha *Captcha) error + GetLatestPhoneCaptcha(phone string) (*ms.Captcha, error) + UsePhoneCaptcha(captcha *ms.Captcha) error SendPhoneCaptcha(phone string) error } diff --git a/internal/core/timeline.go b/internal/core/timeline.go index 02de2b62..722e79f3 100644 --- a/internal/core/timeline.go +++ b/internal/core/timeline.go @@ -6,19 +6,15 @@ package core import ( "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" ) -type IndexTweetList struct { - Tweets []*PostFormated - Total int64 -} - // IndexPostsService 广场首页推文列表服务 type IndexPostsService interface { - IndexPosts(user *User, offset int, limit int) (*IndexTweetList, error) + IndexPosts(user *ms.User, offset int, limit int) (*ms.IndexTweetList, error) } // IndexPostsServantA 广场首页推文列表服务(版本A) type IndexPostsServantA interface { - IndexPosts(user *User, limit int, offset int) (*cs.TweetBox, error) + IndexPosts(user *ms.User, limit int, offset int) (*cs.TweetBox, error) } diff --git a/internal/core/tweets.go b/internal/core/tweets.go index 9c316257..97fda8e3 100644 --- a/internal/core/tweets.go +++ b/internal/core/tweets.go @@ -6,71 +6,45 @@ package core import ( "github.com/rocboss/paopao-ce/internal/core/cs" - "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" -) - -const ( - AttachmentTypeImage = dbr.AttachmentTypeImage - AttachmentTypeVideo = dbr.AttachmentTypeVideo - AttachmentTypeOther = dbr.AttachmentTypeOther - - // 类型,1标题,2文字段落,3图片地址,4视频地址,5语音地址,6链接地址,7附件资源 - ContentTypeTitle = dbr.ContentTypeTitle - ContentTypeText = dbr.ContentTypeText - ContentTypeImage = dbr.ContentTypeImage - ContentTypeVideo = dbr.ContentTypeVideo - ContentTypeAudio = dbr.ContentTypeAudio - ContentTypeLink = dbr.ContentTypeLink - ContentTypeAttachment = dbr.ContentTypeAttachment - ContentTypeChargeAttachment = dbr.ContentTypeChargeAttachment -) - -type ( - PostStar = dbr.PostStar - PostCollection = dbr.PostCollection - PostAttachmentBill = dbr.PostAttachmentBill - PostContent = dbr.PostContent - Attachment = dbr.Attachment - AttachmentType = dbr.AttachmentType - PostContentT = dbr.PostContentT + "github.com/rocboss/paopao-ce/internal/core/ms" ) // TweetService 推文检索服务 type TweetService interface { - GetPostByID(id int64) (*Post, error) - GetPosts(conditions *ConditionsT, offset, limit int) ([]*Post, error) - GetPostCount(conditions *ConditionsT) (int64, error) - GetUserPostStar(postID, userID int64) (*PostStar, error) - GetUserPostStars(userID int64, offset, limit int) ([]*PostStar, error) + GetPostByID(id int64) (*ms.Post, error) + GetPosts(conditions ms.ConditionsT, offset, limit int) ([]*ms.Post, error) + GetPostCount(conditions ms.ConditionsT) (int64, error) + GetUserPostStar(postID, userID int64) (*ms.PostStar, error) + GetUserPostStars(userID int64, offset, limit int) ([]*ms.PostStar, error) GetUserPostStarCount(userID int64) (int64, error) - GetUserPostCollection(postID, userID int64) (*PostCollection, error) - GetUserPostCollections(userID int64, offset, limit int) ([]*PostCollection, error) + GetUserPostCollection(postID, userID int64) (*ms.PostCollection, error) + GetUserPostCollections(userID int64, offset, limit int) ([]*ms.PostCollection, error) GetUserPostCollectionCount(userID int64) (int64, error) - GetPostAttatchmentBill(postID, userID int64) (*PostAttachmentBill, error) - GetPostContentsByIDs(ids []int64) ([]*PostContent, error) - GetPostContentByID(id int64) (*PostContent, error) + GetPostAttatchmentBill(postID, userID int64) (*ms.PostAttachmentBill, error) + GetPostContentsByIDs(ids []int64) ([]*ms.PostContent, error) + GetPostContentByID(id int64) (*ms.PostContent, error) } // TweetManageService 推文管理服务,包括创建/删除/更新推文 type TweetManageService interface { - CreatePost(post *Post) (*Post, error) - DeletePost(post *Post) ([]string, error) - LockPost(post *Post) error - StickPost(post *Post) error - VisiblePost(post *Post, visibility PostVisibleT) error - UpdatePost(post *Post) error - CreatePostStar(postID, userID int64) (*PostStar, error) - DeletePostStar(p *PostStar) error - CreatePostCollection(postID, userID int64) (*PostCollection, error) - DeletePostCollection(p *PostCollection) error - CreatePostContent(content *PostContent) (*PostContent, error) - CreateAttachment(obj *cs.Attachment) (int64, error) + CreatePost(post *ms.Post) (*ms.Post, error) + DeletePost(post *ms.Post) ([]string, error) + LockPost(post *ms.Post) error + StickPost(post *ms.Post) error + VisiblePost(post *ms.Post, visibility PostVisibleT) error + UpdatePost(post *ms.Post) error + CreatePostStar(postID, userID int64) (*ms.PostStar, error) + DeletePostStar(p *ms.PostStar) error + CreatePostCollection(postID, userID int64) (*ms.PostCollection, error) + DeletePostCollection(p *ms.PostCollection) error + CreatePostContent(content *ms.PostContent) (*ms.PostContent, error) + CreateAttachment(obj *ms.Attachment) (int64, error) } // TweetHelpService 推文辅助服务 type TweetHelpService interface { - RevampPosts(posts []*PostFormated) ([]*PostFormated, error) - MergePosts(posts []*Post) ([]*PostFormated, error) + RevampPosts(posts []*ms.PostFormated) ([]*ms.PostFormated, error) + MergePosts(posts []*ms.Post) ([]*ms.PostFormated, error) } // TweetServantA 推文检索服务(版本A) diff --git a/internal/core/user.go b/internal/core/user.go index ed132dd3..04d30e23 100644 --- a/internal/core/user.go +++ b/internal/core/user.go @@ -4,30 +4,17 @@ package core -type ( - ContactItem struct { - UserId int64 `json:"user_id"` - UserName string `json:"username"` - Nickname string `json:"nickname"` - Avatar string `json:"avatar"` - Phone string `json:"phone"` - } - - ContactList struct { - Contacts []ContactItem `json:"contacts"` - Total int64 `json:"total"` - } -) +import "github.com/rocboss/paopao-ce/internal/core/ms" // UserManageService 用户管理服务 type UserManageService interface { - GetUserByID(id int64) (*User, error) - GetUserByUsername(username string) (*User, error) - GetUserByPhone(phone string) (*User, error) - GetUsersByIDs(ids []int64) ([]*User, error) - GetUsersByKeyword(keyword string) ([]*User, error) - CreateUser(user *User) (*User, error) - UpdateUser(user *User) error + GetUserByID(id int64) (*ms.User, error) + GetUserByUsername(username string) (*ms.User, error) + GetUserByPhone(phone string) (*ms.User, error) + GetUsersByIDs(ids []int64) ([]*ms.User, error) + GetUsersByKeyword(keyword string) ([]*ms.User, error) + CreateUser(user *ms.User) (*ms.User, error) + UpdateUser(user *ms.User) error } // ContactManageService 联系人管理服务 @@ -36,6 +23,6 @@ type ContactManageService interface { AddFriend(userId int64, friendId int64) error RejectFriend(userId int64, friendId int64) error DeleteFriend(userId int64, friendId int64) error - GetContacts(userId int64, offset int, limit int) (*ContactList, error) + GetContacts(userId int64, offset int, limit int) (*ms.ContactList, error) IsFriend(userID int64, friendID int64) bool } diff --git a/internal/core/wallet.go b/internal/core/wallet.go index c4792d3b..e452a3ad 100644 --- a/internal/core/wallet.go +++ b/internal/core/wallet.go @@ -5,20 +5,15 @@ package core import ( - "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" -) - -type ( - WalletStatement = dbr.WalletStatement - WalletRecharge = dbr.WalletRecharge + "github.com/rocboss/paopao-ce/internal/core/ms" ) // WalletService wallet service interface type WalletService interface { - GetUserWalletBills(userID int64, offset, limit int) ([]*WalletStatement, error) + GetUserWalletBills(userID int64, offset, limit int) ([]*ms.WalletStatement, error) GetUserWalletBillCount(userID int64) (int64, error) - GetRechargeByID(id int64) (*WalletRecharge, error) - CreateRecharge(userId, amount int64) (*WalletRecharge, error) - HandleRechargeSuccess(recharge *WalletRecharge, tradeNo string) error - HandlePostAttachmentBought(post *Post, user *User) error + GetRechargeByID(id int64) (*ms.WalletRecharge, error) + CreateRecharge(userId, amount int64) (*ms.WalletRecharge, error) + HandleRechargeSuccess(recharge *ms.WalletRecharge, tradeNo string) error + HandlePostAttachmentBought(post *ms.Post, user *ms.User) error } diff --git a/internal/dao/cache/base.go b/internal/dao/cache/base.go index f8f1e270..fe314683 100644 --- a/internal/dao/cache/base.go +++ b/internal/dao/cache/base.go @@ -15,6 +15,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/types" "github.com/sirupsen/logrus" ) @@ -30,7 +31,7 @@ var ( type postsEntry struct { key string - tweets *core.IndexTweetList + tweets *ms.IndexTweetList } type tweetsCache interface { @@ -54,7 +55,7 @@ type cacheIndexSrv struct { preventDuration time.Duration } -func (s *cacheIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *cacheIndexSrv) IndexPosts(user *ms.User, offset int, limit int) (*ms.IndexTweetList, error) { key := s.keyFrom(user, offset, limit) posts, err := s.getPosts(key) if err == nil { @@ -70,7 +71,7 @@ func (s *cacheIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*cor return posts, nil } -func (s *cacheIndexSrv) getPosts(key string) (*core.IndexTweetList, error) { +func (s *cacheIndexSrv) getPosts(key string) (*ms.IndexTweetList, error) { data, err := s.cache.getTweetsBytes(key) if err != nil { logrus.Debugf("cacheIndexSrv.getPosts get posts by key: %s from cache err: %v", key, err) @@ -78,7 +79,7 @@ func (s *cacheIndexSrv) getPosts(key string) (*core.IndexTweetList, error) { } buf := bytes.NewBuffer(data) dec := gob.NewDecoder(buf) - var resp core.IndexTweetList + var resp ms.IndexTweetList if err := dec.Decode(&resp); err != nil { logrus.Debugf("cacheIndexSrv.getPosts get posts from cache in decode err: %v", err) return nil, err @@ -86,7 +87,7 @@ func (s *cacheIndexSrv) getPosts(key string) (*core.IndexTweetList, error) { return &resp, nil } -func (s *cacheIndexSrv) cachePosts(key string, tweets *core.IndexTweetList) { +func (s *cacheIndexSrv) cachePosts(key string, tweets *ms.IndexTweetList) { entry := &postsEntry{key: key, tweets: tweets} select { case s.cachePostsCh <- entry: @@ -112,7 +113,7 @@ func (s *cacheIndexSrv) setPosts(entry *postsEntry) { logrus.Debugf("cacheIndexSrv.setPosts setPosts set cache by key: %s", entry.key) } -func (s *cacheIndexSrv) keyFrom(user *core.User, offset int, limit int) string { +func (s *cacheIndexSrv) keyFrom(user *ms.User, offset int, limit int) string { var userId int64 = -1 if user != nil { userId = user.ID @@ -120,7 +121,7 @@ func (s *cacheIndexSrv) keyFrom(user *core.User, offset int, limit int) string { return fmt.Sprintf("%s:%d:%d:%d", _cacheIndexKey, userId, offset, limit) } -func (s *cacheIndexSrv) SendAction(act core.IdxAct, post *core.Post) { +func (s *cacheIndexSrv) SendAction(act core.IdxAct, post *ms.Post) { action := core.NewIndexAction(act, post) select { case s.indexActionCh <- action: @@ -168,7 +169,7 @@ func (s *cacheIndexSrv) handleIndexAction(action *core.IndexAction) { func (s *cacheIndexSrv) deleteCacheByUserId(id int64, oneself bool) { var keys []string userId := strconv.FormatInt(id, 10) - friendSet := core.FriendSet{} + friendSet := ms.FriendSet{} if !oneself { friendSet = s.ams.MyFriendSet(id) } diff --git a/internal/dao/cache/none.go b/internal/dao/cache/none.go index 350e776a..079c453b 100644 --- a/internal/dao/cache/none.go +++ b/internal/dao/cache/none.go @@ -8,6 +8,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/debug" ) @@ -20,7 +21,7 @@ type noneCacheIndexServant struct { ips core.IndexPostsService } -func (s *noneCacheIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *noneCacheIndexServant) IndexPosts(user *ms.User, offset int, limit int) (*ms.IndexTweetList, error) { return s.ips.IndexPosts(user, offset, limit) } @@ -29,7 +30,7 @@ func (s *noneCacheIndexServant) TweetTimeline(userId int64, offset int, limit in return nil, debug.ErrNotImplemented } -func (s *noneCacheIndexServant) SendAction(_act core.IdxAct, _post *core.Post) { +func (s *noneCacheIndexServant) SendAction(_act core.IdxAct, _post *ms.Post) { // empty } diff --git a/internal/dao/cache/simple.go b/internal/dao/cache/simple.go index fb704bfc..a1c230d3 100644 --- a/internal/dao/cache/simple.go +++ b/internal/dao/cache/simple.go @@ -11,6 +11,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/debug" "github.com/sirupsen/logrus" ) @@ -24,21 +25,21 @@ type simpleCacheIndexServant struct { ips core.IndexPostsService indexActionCh chan core.IdxAct - indexPosts *core.IndexTweetList + indexPosts *ms.IndexTweetList atomicIndex atomic.Value maxIndexSize int checkTick *time.Ticker expireIndexTick *time.Ticker } -func (s *simpleCacheIndexServant) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { - cacheResp := s.atomicIndex.Load().(*core.IndexTweetList) +func (s *simpleCacheIndexServant) IndexPosts(user *ms.User, offset int, limit int) (*ms.IndexTweetList, error) { + cacheResp := s.atomicIndex.Load().(*ms.IndexTweetList) end := offset + limit if cacheResp != nil { size := len(cacheResp.Tweets) logrus.Debugf("simpleCacheIndexServant.IndexPosts get index posts from cache posts: %d offset:%d limit:%d start:%d, end:%d", size, offset, limit, offset, end) if size >= end { - return &core.IndexTweetList{ + return &ms.IndexTweetList{ Tweets: cacheResp.Tweets[offset:end], Total: cacheResp.Total, }, nil @@ -54,7 +55,7 @@ func (s *simpleCacheIndexServant) TweetTimeline(userId int64, offset int, limit return nil, debug.ErrNotImplemented } -func (s *simpleCacheIndexServant) SendAction(act core.IdxAct, _post *core.Post) { +func (s *simpleCacheIndexServant) SendAction(act core.IdxAct, _post *ms.Post) { select { case s.indexActionCh <- act: logrus.Debugf("simpleCacheIndexServant.SendAction send indexAction by chan: %s", act) diff --git a/internal/dao/jinzhu/authority.go b/internal/dao/jinzhu/authority.go index 3480ceb0..9921f214 100644 --- a/internal/dao/jinzhu/authority.go +++ b/internal/dao/jinzhu/authority.go @@ -6,6 +6,7 @@ package jinzhu import ( "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/pkg/types" "gorm.io/gorm" @@ -25,7 +26,7 @@ func newAuthorizationManageService(db *gorm.DB) core.AuthorizationManageService } } -func (s *authorizationManageSrv) IsAllow(user *core.User, action *core.Action) bool { +func (s *authorizationManageSrv) IsAllow(user *ms.User, action *ms.Action) bool { // user is activation if had bind phone isActivation := (len(user.Phone) != 0) isFriend := s.isFriend(user.ID, action.UserId) @@ -33,26 +34,26 @@ func (s *authorizationManageSrv) IsAllow(user *core.User, action *core.Action) b return action.Act.IsAllow(user, action.UserId, isFriend, isActivation) } -func (s *authorizationManageSrv) MyFriendSet(userId int64) core.FriendSet { +func (s *authorizationManageSrv) MyFriendSet(userId int64) ms.FriendSet { ids, err := (&dbr.Contact{UserId: userId}).MyFriendIds(s.db) if err != nil { - return core.FriendSet{} + return ms.FriendSet{} } - resp := make(core.FriendSet, len(ids)) + resp := make(ms.FriendSet, len(ids)) for _, id := range ids { resp[id] = types.Empty{} } return resp } -func (s *authorizationManageSrv) BeFriendFilter(userId int64) core.FriendFilter { +func (s *authorizationManageSrv) BeFriendFilter(userId int64) ms.FriendFilter { ids, err := (&dbr.Contact{FriendId: userId}).BeFriendIds(s.db) if err != nil { - return core.FriendFilter{} + return ms.FriendFilter{} } - resp := make(core.FriendFilter, len(ids)) + resp := make(ms.FriendFilter, len(ids)) for _, id := range ids { resp[id] = types.Empty{} } diff --git a/internal/dao/jinzhu/comments.go b/internal/dao/jinzhu/comments.go index b796c0ec..4ac08e18 100644 --- a/internal/dao/jinzhu/comments.go +++ b/internal/dao/jinzhu/comments.go @@ -9,6 +9,7 @@ import ( "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/pkg/types" "gorm.io/gorm" @@ -59,11 +60,11 @@ func (s *commentSrv) GetCommentThumbsMap(userId int64, tweetId int64) (cs.Commen return commentThumbs, replyThumbs, nil } -func (s *commentSrv) GetComments(conditions *core.ConditionsT, offset, limit int) ([]*core.Comment, error) { +func (s *commentSrv) GetComments(conditions *ms.ConditionsT, offset, limit int) ([]*ms.Comment, error) { return (&dbr.Comment{}).List(s.db, conditions, offset, limit) } -func (s *commentSrv) GetCommentByID(id int64) (*core.Comment, error) { +func (s *commentSrv) GetCommentByID(id int64) (*ms.Comment, error) { comment := &dbr.Comment{ Model: &dbr.Model{ ID: id, @@ -72,7 +73,7 @@ func (s *commentSrv) GetCommentByID(id int64) (*core.Comment, error) { return comment.Get(s.db) } -func (s *commentSrv) GetCommentReplyByID(id int64) (*core.CommentReply, error) { +func (s *commentSrv) GetCommentReplyByID(id int64) (*ms.CommentReply, error) { reply := &dbr.CommentReply{ Model: &dbr.Model{ ID: id, @@ -81,18 +82,18 @@ func (s *commentSrv) GetCommentReplyByID(id int64) (*core.CommentReply, error) { return reply.Get(s.db) } -func (s *commentSrv) GetCommentCount(conditions *core.ConditionsT) (int64, error) { +func (s *commentSrv) GetCommentCount(conditions *ms.ConditionsT) (int64, error) { return (&dbr.Comment{}).Count(s.db, conditions) } -func (s *commentSrv) GetCommentContentsByIDs(ids []int64) ([]*core.CommentContent, error) { +func (s *commentSrv) GetCommentContentsByIDs(ids []int64) ([]*ms.CommentContent, error) { commentContent := &dbr.CommentContent{} return commentContent.List(s.db, &dbr.ConditionsT{ "comment_id IN ?": ids, }, 0, 0) } -func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*core.CommentReplyFormated, error) { +func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*ms.CommentReplyFormated, error) { CommentReply := &dbr.CommentReply{} replies, err := CommentReply.List(s.db, &dbr.ConditionsT{ "comment_id IN ?": ids, @@ -112,7 +113,7 @@ func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*core.CommentReplyFor if err != nil { return nil, err } - repliesFormated := []*core.CommentReplyFormated{} + repliesFormated := []*ms.CommentReplyFormated{} for _, reply := range replies { replyFormated := reply.Format() for _, user := range users { @@ -130,7 +131,7 @@ func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*core.CommentReplyFor return repliesFormated, nil } -func (s *commentManageSrv) DeleteComment(comment *core.Comment) error { +func (s *commentManageSrv) DeleteComment(comment *ms.Comment) error { db := s.db.Begin() defer db.Rollback() @@ -149,15 +150,15 @@ func (s *commentManageSrv) DeleteComment(comment *core.Comment) error { return nil } -func (s *commentManageSrv) CreateComment(comment *core.Comment) (*core.Comment, error) { +func (s *commentManageSrv) CreateComment(comment *ms.Comment) (*ms.Comment, error) { return comment.Create(s.db) } -func (s *commentManageSrv) CreateCommentReply(reply *core.CommentReply) (*core.CommentReply, error) { +func (s *commentManageSrv) CreateCommentReply(reply *ms.CommentReply) (*ms.CommentReply, error) { return reply.Create(s.db) } -func (s *commentManageSrv) DeleteCommentReply(reply *core.CommentReply) (err error) { +func (s *commentManageSrv) DeleteCommentReply(reply *ms.CommentReply) (err error) { db := s.db.Begin() defer db.Rollback() @@ -177,7 +178,7 @@ func (s *commentManageSrv) DeleteCommentReply(reply *core.CommentReply) (err err return } -func (s *commentManageSrv) CreateCommentContent(content *core.CommentContent) (*core.CommentContent, error) { +func (s *commentManageSrv) CreateCommentContent(content *ms.CommentContent) (*ms.CommentContent, error) { return content.Create(s.db) } diff --git a/internal/dao/jinzhu/contacts.go b/internal/dao/jinzhu/contacts.go index 824164bc..b44307fe 100644 --- a/internal/dao/jinzhu/contacts.go +++ b/internal/dao/jinzhu/contacts.go @@ -8,6 +8,7 @@ import ( "time" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/sirupsen/logrus" "gorm.io/gorm" @@ -226,7 +227,7 @@ func (s *contactManageSrv) DeleteFriend(userId int64, friendId int64) (err error return nil } -func (s *contactManageSrv) GetContacts(userId int64, offset int, limit int) (*core.ContactList, error) { +func (s *contactManageSrv) GetContacts(userId int64, offset int, limit int) (*ms.ContactList, error) { contact := &dbr.Contact{} condition := dbr.ConditionsT{ "user_id": userId, @@ -240,13 +241,13 @@ func (s *contactManageSrv) GetContacts(userId int64, offset int, limit int) (*co if err != nil { return nil, err } - resp := &core.ContactList{ - Contacts: make([]core.ContactItem, 0, len(contacts)), + resp := &ms.ContactList{ + Contacts: make([]ms.ContactItem, 0, len(contacts)), Total: total, } for _, c := range contacts { if c.User != nil { - resp.Contacts = append(resp.Contacts, core.ContactItem{ + resp.Contacts = append(resp.Contacts, ms.ContactItem{ UserId: c.FriendId, UserName: c.User.Username, Nickname: c.User.Nickname, diff --git a/internal/dao/jinzhu/dbr/comment.go b/internal/dao/jinzhu/dbr/comment.go index 6f2f33c3..4f673336 100644 --- a/internal/dao/jinzhu/dbr/comment.go +++ b/internal/dao/jinzhu/dbr/comment.go @@ -79,7 +79,7 @@ func (c *Comment) List(db *gorm.DB, conditions *ConditionsT, offset, limit int) db = db.Offset(offset).Limit(limit) } if c.PostID > 0 { - db = db.Where("id = ?", c.PostID) + db = db.Where("post_id = ?", c.PostID) } for k, v := range *conditions { diff --git a/internal/dao/jinzhu/dbr/comment_reply.go b/internal/dao/jinzhu/dbr/comment_reply.go index a1c562f6..dcdfde21 100644 --- a/internal/dao/jinzhu/dbr/comment_reply.go +++ b/internal/dao/jinzhu/dbr/comment_reply.go @@ -13,9 +13,9 @@ import ( type CommentReply struct { *Model - CommentID int64 `json:"comment_id"` - UserID int64 `json:"user_id"` - AtUserID int64 `json:"at_user_id"` + CommentID int64 `db:"comment_id" json:"comment_id"` + UserID int64 `db:"user_id" json:"user_id"` + AtUserID int64 `db:"at_user_id" json:"at_user_id"` Content string `json:"content"` IP string `json:"ip"` IPLoc string `json:"ip_loc"` @@ -25,10 +25,10 @@ type CommentReply struct { type CommentReplyFormated struct { ID int64 `json:"id"` - CommentID int64 `json:"comment_id"` - UserID int64 `json:"user_id"` + CommentID int64 `db:"comment_id" json:"comment_id"` + UserID int64 `db:"user_id" json:"user_id"` User *UserFormated `json:"user"` - AtUserID int64 `json:"at_user_id"` + AtUserID int64 `db:"at_user_id" json:"at_user_id"` AtUser *UserFormated `json:"at_user"` Content string `json:"content"` IPLoc string `json:"ip_loc"` diff --git a/internal/dao/jinzhu/dbr/post.go b/internal/dao/jinzhu/dbr/post.go index e206872b..be4582c6 100644 --- a/internal/dao/jinzhu/dbr/post.go +++ b/internal/dao/jinzhu/dbr/post.go @@ -120,7 +120,7 @@ func (p *Post) Get(db *gorm.DB) (*Post, error) { return &post, nil } -func (p *Post) List(db *gorm.DB, conditions *ConditionsT, offset, limit int) ([]*Post, error) { +func (p *Post) List(db *gorm.DB, conditions ConditionsT, offset, limit int) ([]*Post, error) { var posts []*Post var err error if offset >= 0 && limit > 0 { @@ -129,7 +129,7 @@ func (p *Post) List(db *gorm.DB, conditions *ConditionsT, offset, limit int) ([] if p.UserID > 0 { db = db.Where("user_id = ?", p.UserID) } - for k, v := range *conditions { + for k, v := range conditions { if k == "ORDER" { db = db.Order(v) } else { @@ -178,12 +178,12 @@ func (p *Post) CountBy(db *gorm.DB, predicates Predicates) (count int64, err err return } -func (p *Post) Count(db *gorm.DB, conditions *ConditionsT) (int64, error) { +func (p *Post) Count(db *gorm.DB, conditions ConditionsT) (int64, error) { var count int64 if p.UserID > 0 { db = db.Where("user_id = ?", p.UserID) } - for k, v := range *conditions { + for k, v := range conditions { if k != "ORDER" { db = db.Where(k, v) } diff --git a/internal/dao/jinzhu/dbr/post_collection.go b/internal/dao/jinzhu/dbr/post_collection.go index 8ac6c113..23604ff1 100644 --- a/internal/dao/jinzhu/dbr/post_collection.go +++ b/internal/dao/jinzhu/dbr/post_collection.go @@ -14,8 +14,8 @@ import ( type PostCollection struct { *Model Post *Post `json:"-"` - PostID int64 `json:"post_id"` - UserID int64 `json:"user_id"` + PostID int64 `db:"post_id" json:"post_id"` + UserID int64 `db:"user_id" json:"user_id"` } func (p *PostCollection) Get(db *gorm.DB) (*PostCollection, error) { diff --git a/internal/dao/jinzhu/dbr/post_content.go b/internal/dao/jinzhu/dbr/post_content.go index 672cc57e..5f257630 100644 --- a/internal/dao/jinzhu/dbr/post_content.go +++ b/internal/dao/jinzhu/dbr/post_content.go @@ -44,7 +44,7 @@ type PostContent struct { } type PostContentFormated struct { - ID int64 `json:"id"` + ID int64 `db:"id" json:"id"` PostID int64 `json:"post_id"` Content string `json:"content"` Type PostContentT `json:"type"` diff --git a/internal/dao/jinzhu/dbr/user.go b/internal/dao/jinzhu/dbr/user.go index a6ef63ef..7297e39f 100644 --- a/internal/dao/jinzhu/dbr/user.go +++ b/internal/dao/jinzhu/dbr/user.go @@ -28,7 +28,7 @@ type User struct { } type UserFormated struct { - ID int64 `json:"id"` + ID int64 `db:"id" json:"id"` Nickname string `json:"nickname"` Username string `json:"username"` Status int `json:"status"` diff --git a/internal/dao/jinzhu/messages.go b/internal/dao/jinzhu/messages.go index 2d10935f..00df949f 100644 --- a/internal/dao/jinzhu/messages.go +++ b/internal/dao/jinzhu/messages.go @@ -6,6 +6,7 @@ package jinzhu import ( "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "gorm.io/gorm" ) @@ -24,7 +25,7 @@ func newMessageService(db *gorm.DB) core.MessageService { } } -func (s *messageSrv) CreateMessage(msg *core.Message) (*core.Message, error) { +func (s *messageSrv) CreateMessage(msg *ms.Message) (*ms.Message, error) { return msg.Create(s.db) } @@ -35,7 +36,7 @@ func (s *messageSrv) GetUnreadCount(userID int64) (int64, error) { }) } -func (s *messageSrv) GetMessageByID(id int64) (*core.Message, error) { +func (s *messageSrv) GetMessageByID(id int64) (*ms.Message, error) { return (&dbr.Message{ Model: &dbr.Model{ ID: id, @@ -43,12 +44,12 @@ func (s *messageSrv) GetMessageByID(id int64) (*core.Message, error) { }).Get(s.db) } -func (s *messageSrv) ReadMessage(message *core.Message) error { +func (s *messageSrv) ReadMessage(message *ms.Message) error { message.IsRead = 1 return message.Update(s.db) } -func (s *messageSrv) GetMessages(conditions *core.ConditionsT, offset, limit int) ([]*core.MessageFormated, error) { +func (s *messageSrv) GetMessages(conditions *ms.ConditionsT, offset, limit int) ([]*ms.MessageFormated, error) { messages, err := (&dbr.Message{}).List(s.db, conditions, offset, limit) if err != nil { return nil, err @@ -63,6 +64,6 @@ func (s *messageSrv) GetMessages(conditions *core.ConditionsT, offset, limit int return mfs, nil } -func (s *messageSrv) GetMessageCount(conditions *core.ConditionsT) (int64, error) { +func (s *messageSrv) GetMessageCount(conditions *ms.ConditionsT) (int64, error) { return (&dbr.Message{}).Count(s.db, conditions) } diff --git a/internal/dao/jinzhu/security.go b/internal/dao/jinzhu/security.go index 128e8273..18a8ccae 100644 --- a/internal/dao/jinzhu/security.go +++ b/internal/dao/jinzhu/security.go @@ -10,6 +10,7 @@ import ( "time" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "gorm.io/gorm" ) @@ -20,25 +21,27 @@ var ( type securitySrv struct { db *gorm.DB + rand *rand.Rand phoneVerify core.PhoneVerifyService } func newSecurityService(db *gorm.DB, phoneVerify core.PhoneVerifyService) core.SecurityService { return &securitySrv{ db: db, + rand: rand.New(rand.NewSource(time.Now().UnixNano())), phoneVerify: phoneVerify, } } // GetLatestPhoneCaptcha 获取最新短信验证码 -func (s *securitySrv) GetLatestPhoneCaptcha(phone string) (*core.Captcha, error) { +func (s *securitySrv) GetLatestPhoneCaptcha(phone string) (*ms.Captcha, error) { return (&dbr.Captcha{ Phone: phone, }).Get(s.db) } // UsePhoneCaptcha 更新短信验证码 -func (s *securitySrv) UsePhoneCaptcha(captcha *core.Captcha) error { +func (s *securitySrv) UsePhoneCaptcha(captcha *ms.Captcha) error { captcha.UseTimes++ return captcha.Update(s.db) } @@ -48,8 +51,7 @@ func (s *securitySrv) SendPhoneCaptcha(phone string) error { expire := time.Duration(5) // 发送验证码 - rand.Seed(time.Now().UnixNano()) - captcha := strconv.Itoa(rand.Intn(900000) + 100000) + captcha := strconv.Itoa(s.rand.Intn(900000) + 100000) if err := s.phoneVerify.SendPhoneCaptcha(phone, captcha, expire); err != nil { return err } diff --git a/internal/dao/jinzhu/timeline.go b/internal/dao/jinzhu/timeline.go index fb6769a5..f81e3619 100644 --- a/internal/dao/jinzhu/timeline.go +++ b/internal/dao/jinzhu/timeline.go @@ -7,6 +7,7 @@ package jinzhu import ( "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/pkg/debug" "github.com/sirupsen/logrus" @@ -42,7 +43,7 @@ type simpleIndexPostsSrv struct { } // IndexPosts 根据userId查询广场推文列表,简单做到不同用户的主页都是不同的; -func (s *friendIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *friendIndexSrv) IndexPosts(user *ms.User, offset int, limit int) (*ms.IndexTweetList, error) { predicates := dbr.Predicates{ "ORDER": []any{"is_top DESC, latest_replied_on DESC"}, } @@ -70,7 +71,7 @@ func (s *friendIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*co return nil, err } - return &core.IndexTweetList{ + return &ms.IndexTweetList{ Tweets: formatPosts, Total: total, }, nil @@ -82,7 +83,7 @@ func (s *friendIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs } // IndexPosts 根据userId查询广场推文列表 -func (s *followIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *followIndexSrv) IndexPosts(user *ms.User, offset int, limit int) (*ms.IndexTweetList, error) { // TODO return nil, debug.ErrNotImplemented } @@ -93,7 +94,7 @@ func (s *followIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs } // IndexPosts 根据userId查询广场推文列表,获取公开可见Tweet或者所属用户的私有Tweet -func (s *lightIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *lightIndexSrv) IndexPosts(user *ms.User, offset int, limit int) (*ms.IndexTweetList, error) { predicates := dbr.Predicates{ "ORDER": []any{"is_top DESC, latest_replied_on DESC"}, } @@ -119,7 +120,7 @@ func (s *lightIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*cor return nil, err } - return &core.IndexTweetList{ + return &ms.IndexTweetList{ Tweets: formatPosts, Total: total, }, nil @@ -131,7 +132,7 @@ func (s *lightIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs. } // simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数 -func (s *simpleIndexPostsSrv) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) { +func (s *simpleIndexPostsSrv) IndexPosts(_user *ms.User, offset int, limit int) (*ms.IndexTweetList, error) { predicates := dbr.Predicates{ "visibility = ?": []any{dbr.PostVisitPublic}, "ORDER": []any{"is_top DESC, latest_replied_on DESC"}, @@ -153,7 +154,7 @@ func (s *simpleIndexPostsSrv) IndexPosts(_user *core.User, offset int, limit int return nil, err } - return &core.IndexTweetList{ + return &ms.IndexTweetList{ Tweets: formatPosts, Total: total, }, nil diff --git a/internal/dao/jinzhu/topics.go b/internal/dao/jinzhu/topics.go index ce70b052..de317164 100644 --- a/internal/dao/jinzhu/topics.go +++ b/internal/dao/jinzhu/topics.go @@ -10,6 +10,7 @@ import ( "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "gorm.io/gorm" ) @@ -73,16 +74,16 @@ func (s *topicSrv) DecrTagsById(ids []int64) (err error) { } func (s *topicSrv) ListTags(typ cs.TagType, offset, limit int) (res cs.TagList, err error) { - conditions := &core.ConditionsT{} + conditions := &ms.ConditionsT{} switch typ { case cs.TagTypeHot: // 热门标签 - conditions = &core.ConditionsT{ + conditions = &ms.ConditionsT{ "ORDER": "quote_num DESC", } case cs.TagTypeNew: // 最新标签 - conditions = &core.ConditionsT{ + conditions = &ms.ConditionsT{ "ORDER": "id DESC", } } @@ -90,7 +91,7 @@ func (s *topicSrv) ListTags(typ cs.TagType, offset, limit int) (res cs.TagList, } func (s *topicSrv) GetHotTags(userId int64, limit int, offset int) (cs.TagList, error) { - tags, err := s.listTags(&core.ConditionsT{ + tags, err := s.listTags(&ms.ConditionsT{ "ORDER": "quote_num DESC", }, limit, offset) if err != nil { @@ -100,7 +101,7 @@ func (s *topicSrv) GetHotTags(userId int64, limit int, offset int) (cs.TagList, } func (s *topicSrv) GetNewestTags(userId int64, limit int, offset int) (cs.TagList, error) { - tags, err := s.listTags(&core.ConditionsT{ + tags, err := s.listTags(&ms.ConditionsT{ "ORDER": "id DESC", }, limit, offset) if err != nil { @@ -149,7 +150,7 @@ func (s *topicSrv) GetFollowTags(userId int64, limit int, offset int) (cs.TagLis return res, nil } -func (s *topicSrv) listTags(conditions *core.ConditionsT, limit int, offset int) (res cs.TagList, err error) { +func (s *topicSrv) listTags(conditions *ms.ConditionsT, limit int, offset int) (res cs.TagList, err error) { // TODO: 优化查询方式,直接返回[]*core.Tag, 目前保持先转换一下 var ( tags []*dbr.Tag @@ -298,16 +299,16 @@ func (s *topicSrvA) DecrTagsById(ids []int64) (err error) { } func (s *topicSrvA) ListTags(typ cs.TagType, offset, limit int) (res cs.TagList, err error) { - conditions := &core.ConditionsT{} + conditions := &ms.ConditionsT{} switch typ { case cs.TagTypeHot: // 热门标签 - conditions = &core.ConditionsT{ + conditions = &ms.ConditionsT{ "ORDER": "quote_num DESC", } case cs.TagTypeNew: // 最新标签 - conditions = &core.ConditionsT{ + conditions = &ms.ConditionsT{ "ORDER": "id DESC", } } diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index f716ca9b..d661831d 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -10,6 +10,7 @@ import ( "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/pkg/debug" "gorm.io/gorm" @@ -88,7 +89,7 @@ func newTweetHelpServantA(db *gorm.DB) core.TweetHelpServantA { } // MergePosts post数据整合 -func (s *tweetHelpSrv) MergePosts(posts []*core.Post) ([]*core.PostFormated, error) { +func (s *tweetHelpSrv) MergePosts(posts []*ms.Post) ([]*ms.PostFormated, error) { postIds := make([]int64, 0, len(posts)) userIds := make([]int64, 0, len(posts)) for _, post := range posts { @@ -128,7 +129,7 @@ func (s *tweetHelpSrv) MergePosts(posts []*core.Post) ([]*core.PostFormated, err } // RevampPosts post数据整形修复 -func (s *tweetHelpSrv) RevampPosts(posts []*core.PostFormated) ([]*core.PostFormated, error) { +func (s *tweetHelpSrv) RevampPosts(posts []*ms.PostFormated) ([]*ms.PostFormated, error) { postIds := make([]int64, 0, len(posts)) userIds := make([]int64, 0, len(posts)) for _, post := range posts { @@ -179,7 +180,7 @@ func (s *tweetHelpSrv) getUsersByIDs(ids []int64) ([]*dbr.User, error) { }, 0, 0) } -func (s *tweetManageSrv) CreatePostCollection(postID, userID int64) (*core.PostCollection, error) { +func (s *tweetManageSrv) CreatePostCollection(postID, userID int64) (*ms.PostCollection, error) { collection := &dbr.PostCollection{ PostID: postID, UserID: userID, @@ -188,20 +189,20 @@ func (s *tweetManageSrv) CreatePostCollection(postID, userID int64) (*core.PostC return collection.Create(s.db) } -func (s *tweetManageSrv) DeletePostCollection(p *core.PostCollection) error { +func (s *tweetManageSrv) DeletePostCollection(p *ms.PostCollection) error { return p.Delete(s.db) } -func (s *tweetManageSrv) CreatePostContent(content *core.PostContent) (*core.PostContent, error) { +func (s *tweetManageSrv) CreatePostContent(content *ms.PostContent) (*ms.PostContent, error) { return content.Create(s.db) } -func (s *tweetManageSrv) CreateAttachment(obj *cs.Attachment) (int64, error) { - // TODO - return 0, debug.ErrNotImplemented +func (s *tweetManageSrv) CreateAttachment(obj *ms.Attachment) (int64, error) { + attachment, err := obj.Create(s.db) + return attachment.ID, err } -func (s *tweetManageSrv) CreatePost(post *core.Post) (*core.Post, error) { +func (s *tweetManageSrv) CreatePost(post *ms.Post) (*ms.Post, error) { post.LatestRepliedOn = time.Now().Unix() p, err := post.Create(s.db) if err != nil { @@ -211,7 +212,7 @@ func (s *tweetManageSrv) CreatePost(post *core.Post) (*core.Post, error) { return p, nil } -func (s *tweetManageSrv) DeletePost(post *core.Post) ([]string, error) { +func (s *tweetManageSrv) DeletePost(post *ms.Post) ([]string, error) { var mediaContents []string postId := post.ID @@ -292,12 +293,12 @@ func (s *tweetManageSrv) deleteCommentByPostId(db *gorm.DB, postId int64) ([]str return mediaContents, nil } -func (s *tweetManageSrv) LockPost(post *core.Post) error { +func (s *tweetManageSrv) LockPost(post *ms.Post) error { post.IsLock = 1 - post.IsLock return post.Update(s.db) } -func (s *tweetManageSrv) StickPost(post *core.Post) error { +func (s *tweetManageSrv) StickPost(post *ms.Post) error { post.IsTop = 1 - post.IsTop if err := post.Update(s.db); err != nil { return err @@ -306,7 +307,7 @@ func (s *tweetManageSrv) StickPost(post *core.Post) error { return nil } -func (s *tweetManageSrv) VisiblePost(post *core.Post, visibility core.PostVisibleT) error { +func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility core.PostVisibleT) error { oldVisibility := post.Visibility post.Visibility = visibility // TODO: 这个判断是否可以不要呢 @@ -340,7 +341,7 @@ func (s *tweetManageSrv) VisiblePost(post *core.Post, visibility core.PostVisibl return nil } -func (s *tweetManageSrv) UpdatePost(post *core.Post) error { +func (s *tweetManageSrv) UpdatePost(post *ms.Post) error { if err := post.Update(s.db); err != nil { return err } @@ -348,7 +349,7 @@ func (s *tweetManageSrv) UpdatePost(post *core.Post) error { return nil } -func (s *tweetManageSrv) CreatePostStar(postID, userID int64) (*core.PostStar, error) { +func (s *tweetManageSrv) CreatePostStar(postID, userID int64) (*ms.PostStar, error) { star := &dbr.PostStar{ PostID: postID, UserID: userID, @@ -356,11 +357,11 @@ func (s *tweetManageSrv) CreatePostStar(postID, userID int64) (*core.PostStar, e return star.Create(s.db) } -func (s *tweetManageSrv) DeletePostStar(p *core.PostStar) error { +func (s *tweetManageSrv) DeletePostStar(p *ms.PostStar) error { return p.Delete(s.db) } -func (s *tweetSrv) GetPostByID(id int64) (*core.Post, error) { +func (s *tweetSrv) GetPostByID(id int64) (*ms.Post, error) { post := &dbr.Post{ Model: &dbr.Model{ ID: id, @@ -369,15 +370,15 @@ func (s *tweetSrv) GetPostByID(id int64) (*core.Post, error) { return post.Get(s.db) } -func (s *tweetSrv) GetPosts(conditions *core.ConditionsT, offset, limit int) ([]*core.Post, error) { +func (s *tweetSrv) GetPosts(conditions ms.ConditionsT, offset, limit int) ([]*ms.Post, error) { return (&dbr.Post{}).List(s.db, conditions, offset, limit) } -func (s *tweetSrv) GetPostCount(conditions *core.ConditionsT) (int64, error) { +func (s *tweetSrv) GetPostCount(conditions ms.ConditionsT) (int64, error) { return (&dbr.Post{}).Count(s.db, conditions) } -func (s *tweetSrv) GetUserPostStar(postID, userID int64) (*core.PostStar, error) { +func (s *tweetSrv) GetUserPostStar(postID, userID int64) (*ms.PostStar, error) { star := &dbr.PostStar{ PostID: postID, UserID: userID, @@ -385,7 +386,7 @@ func (s *tweetSrv) GetUserPostStar(postID, userID int64) (*core.PostStar, error) return star.Get(s.db) } -func (s *tweetSrv) GetUserPostStars(userID int64, offset, limit int) ([]*core.PostStar, error) { +func (s *tweetSrv) GetUserPostStars(userID int64, offset, limit int) ([]*ms.PostStar, error) { star := &dbr.PostStar{ UserID: userID, } @@ -402,7 +403,7 @@ func (s *tweetSrv) GetUserPostStarCount(userID int64) (int64, error) { return star.Count(s.db, &dbr.ConditionsT{}) } -func (s *tweetSrv) GetUserPostCollection(postID, userID int64) (*core.PostCollection, error) { +func (s *tweetSrv) GetUserPostCollection(postID, userID int64) (*ms.PostCollection, error) { star := &dbr.PostCollection{ PostID: postID, UserID: userID, @@ -410,7 +411,7 @@ func (s *tweetSrv) GetUserPostCollection(postID, userID int64) (*core.PostCollec return star.Get(s.db) } -func (s *tweetSrv) GetUserPostCollections(userID int64, offset, limit int) ([]*core.PostCollection, error) { +func (s *tweetSrv) GetUserPostCollections(userID int64, offset, limit int) ([]*ms.PostCollection, error) { collection := &dbr.PostCollection{ UserID: userID, } @@ -427,7 +428,7 @@ func (s *tweetSrv) GetUserPostCollectionCount(userID int64) (int64, error) { return collection.Count(s.db, &dbr.ConditionsT{}) } -func (s *tweetSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { +func (s *tweetSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*ms.WalletStatement, error) { statement := &dbr.WalletStatement{ UserID: userID, } @@ -444,7 +445,7 @@ func (s *tweetSrv) GetUserWalletBillCount(userID int64) (int64, error) { return statement.Count(s.db, &dbr.ConditionsT{}) } -func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (*core.PostAttachmentBill, error) { +func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (*ms.PostAttachmentBill, error) { bill := &dbr.PostAttachmentBill{ PostID: postID, UserID: userID, @@ -453,14 +454,14 @@ func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (*core.PostAttac return bill.Get(s.db) } -func (s *tweetSrv) GetPostContentsByIDs(ids []int64) ([]*core.PostContent, error) { +func (s *tweetSrv) GetPostContentsByIDs(ids []int64) ([]*ms.PostContent, error) { return (&dbr.PostContent{}).List(s.db, &dbr.ConditionsT{ "post_id IN ?": ids, "ORDER": "sort ASC", }, 0, 0) } -func (s *tweetSrv) GetPostContentByID(id int64) (*core.PostContent, error) { +func (s *tweetSrv) GetPostContentByID(id int64) (*ms.PostContent, error) { return (&dbr.PostContent{ Model: &dbr.Model{ ID: id, diff --git a/internal/dao/jinzhu/user.go b/internal/dao/jinzhu/user.go index b69338b7..6bc18de3 100644 --- a/internal/dao/jinzhu/user.go +++ b/internal/dao/jinzhu/user.go @@ -8,6 +8,7 @@ import ( "strings" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "gorm.io/gorm" ) @@ -26,7 +27,7 @@ func newUserManageService(db *gorm.DB) core.UserManageService { } } -func (s *userManageSrv) GetUserByID(id int64) (*core.User, error) { +func (s *userManageSrv) GetUserByID(id int64) (*ms.User, error) { user := &dbr.User{ Model: &dbr.Model{ ID: id, @@ -35,28 +36,28 @@ func (s *userManageSrv) GetUserByID(id int64) (*core.User, error) { return user.Get(s.db) } -func (s *userManageSrv) GetUserByUsername(username string) (*core.User, error) { +func (s *userManageSrv) GetUserByUsername(username string) (*ms.User, error) { user := &dbr.User{ Username: username, } return user.Get(s.db) } -func (s *userManageSrv) GetUserByPhone(phone string) (*core.User, error) { +func (s *userManageSrv) GetUserByPhone(phone string) (*ms.User, error) { user := &dbr.User{ Phone: phone, } return user.Get(s.db) } -func (s *userManageSrv) GetUsersByIDs(ids []int64) ([]*core.User, error) { +func (s *userManageSrv) GetUsersByIDs(ids []int64) ([]*ms.User, error) { user := &dbr.User{} return user.List(s.db, &dbr.ConditionsT{ "id IN ?": ids, }, 0, 0) } -func (s *userManageSrv) GetUsersByKeyword(keyword string) ([]*core.User, error) { +func (s *userManageSrv) GetUsersByKeyword(keyword string) ([]*ms.User, error) { user := &dbr.User{} keyword = strings.Trim(keyword, " ") + "%" if keyword == "%" { @@ -70,10 +71,10 @@ func (s *userManageSrv) GetUsersByKeyword(keyword string) ([]*core.User, error) } } -func (s *userManageSrv) CreateUser(user *dbr.User) (*core.User, error) { +func (s *userManageSrv) CreateUser(user *dbr.User) (*ms.User, error) { return user.Create(s.db) } -func (s *userManageSrv) UpdateUser(user *core.User) error { +func (s *userManageSrv) UpdateUser(user *ms.User) error { return user.Update(s.db) } diff --git a/internal/dao/jinzhu/wallet.go b/internal/dao/jinzhu/wallet.go index 6e3196e5..e657deca 100644 --- a/internal/dao/jinzhu/wallet.go +++ b/internal/dao/jinzhu/wallet.go @@ -7,6 +7,7 @@ package jinzhu import ( "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "gorm.io/gorm" ) @@ -25,7 +26,7 @@ func newWalletService(db *gorm.DB) core.WalletService { } } -func (s *walletSrv) GetRechargeByID(id int64) (*core.WalletRecharge, error) { +func (s *walletSrv) GetRechargeByID(id int64) (*ms.WalletRecharge, error) { recharge := &dbr.WalletRecharge{ Model: &dbr.Model{ ID: id, @@ -34,7 +35,7 @@ func (s *walletSrv) GetRechargeByID(id int64) (*core.WalletRecharge, error) { return recharge.Get(s.db) } -func (s *walletSrv) CreateRecharge(userId, amount int64) (*core.WalletRecharge, error) { +func (s *walletSrv) CreateRecharge(userId, amount int64) (*ms.WalletRecharge, error) { recharge := &dbr.WalletRecharge{ UserID: userId, Amount: amount, @@ -43,7 +44,7 @@ func (s *walletSrv) CreateRecharge(userId, amount int64) (*core.WalletRecharge, return recharge.Create(s.db) } -func (s *walletSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*core.WalletStatement, error) { +func (s *walletSrv) GetUserWalletBills(userID int64, offset, limit int) ([]*ms.WalletStatement, error) { statement := &dbr.WalletStatement{ UserID: userID, } @@ -60,7 +61,7 @@ func (s *walletSrv) GetUserWalletBillCount(userID int64) (int64, error) { return statement.Count(s.db, &dbr.ConditionsT{}) } -func (s *walletSrv) HandleRechargeSuccess(recharge *core.WalletRecharge, tradeNo string) error { +func (s *walletSrv) HandleRechargeSuccess(recharge *ms.WalletRecharge, tradeNo string) error { user, _ := (&dbr.User{ Model: &dbr.Model{ ID: recharge.UserID, @@ -97,7 +98,7 @@ func (s *walletSrv) HandleRechargeSuccess(recharge *core.WalletRecharge, tradeNo }) } -func (s *walletSrv) HandlePostAttachmentBought(post *core.Post, user *core.User) error { +func (s *walletSrv) HandlePostAttachmentBought(post *ms.Post, user *ms.User) error { return s.db.Transaction(func(tx *gorm.DB) error { // 扣除金额 if err := tx.Model(user).Update("balance", gorm.Expr("balance - ?", post.AttachmentPrice)).Error; err != nil { diff --git a/internal/dao/search/bridge.go b/internal/dao/search/bridge.go index f23aaa25..bc4eb039 100644 --- a/internal/dao/search/bridge.go +++ b/internal/dao/search/bridge.go @@ -8,6 +8,7 @@ import ( "time" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/sirupsen/logrus" ) @@ -46,7 +47,7 @@ func (s *bridgeTweetSearchServant) DeleteDocuments(identifiers []string) error { return nil } -func (s *bridgeTweetSearchServant) Search(user *core.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { +func (s *bridgeTweetSearchServant) Search(user *ms.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { return s.ts.Search(user, q, offset, limit) } diff --git a/internal/dao/search/filter.go b/internal/dao/search/filter.go index 5840e189..a601c46f 100644 --- a/internal/dao/search/filter.go +++ b/internal/dao/search/filter.go @@ -6,6 +6,7 @@ package search import ( "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/types" ) @@ -13,13 +14,13 @@ type tweetSearchFilter struct { ams core.AuthorizationManageService } -func (s *tweetSearchFilter) filterResp(user *core.User, resp *core.QueryResp) { +func (s *tweetSearchFilter) filterResp(user *ms.User, resp *core.QueryResp) { // 管理员不过滤 if user != nil && user.IsAdmin { return } - var item *core.PostFormated + var item *ms.PostFormated items := resp.Items latestIndex := len(items) - 1 if user == nil { diff --git a/internal/dao/search/meili.go b/internal/dao/search/meili.go index fc19e358..74391ef3 100644 --- a/internal/dao/search/meili.go +++ b/internal/dao/search/meili.go @@ -11,6 +11,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/meilisearch/meilisearch-go" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/json" "github.com/sirupsen/logrus" ) @@ -81,7 +82,7 @@ func (s *meiliTweetSearchServant) DeleteDocuments(identifiers []string) error { return nil } -func (s *meiliTweetSearchServant) Search(user *core.User, q *core.QueryReq, offset, limit int) (resp *core.QueryResp, err error) { +func (s *meiliTweetSearchServant) Search(user *ms.User, q *core.QueryReq, offset, limit int) (resp *core.QueryResp, err error) { if q.Type == core.SearchTypeDefault && q.Query != "" { resp, err = s.queryByContent(user, q, offset, limit) } else if q.Type == core.SearchTypeTag && q.Query != "" { @@ -99,7 +100,7 @@ func (s *meiliTweetSearchServant) Search(user *core.User, q *core.QueryReq, offs return } -func (s *meiliTweetSearchServant) queryByContent(user *core.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { +func (s *meiliTweetSearchServant) queryByContent(user *ms.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { request := &meilisearch.SearchRequest{ Offset: int64(offset), Limit: int64(limit), @@ -120,7 +121,7 @@ func (s *meiliTweetSearchServant) queryByContent(user *core.User, q *core.QueryR return s.postsFrom(resp) } -func (s *meiliTweetSearchServant) queryByTag(user *core.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { +func (s *meiliTweetSearchServant) queryByTag(user *ms.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { request := &meilisearch.SearchRequest{ Offset: int64(offset), Limit: int64(limit), @@ -144,7 +145,7 @@ func (s *meiliTweetSearchServant) queryByTag(user *core.User, q *core.QueryReq, return s.postsFrom(resp) } -func (s *meiliTweetSearchServant) queryAny(user *core.User, offset, limit int) (*core.QueryResp, error) { +func (s *meiliTweetSearchServant) queryAny(user *ms.User, offset, limit int) (*core.QueryResp, error) { request := &meilisearch.SearchRequest{ Offset: int64(offset), Limit: int64(limit), @@ -164,7 +165,7 @@ func (s *meiliTweetSearchServant) queryAny(user *core.User, offset, limit int) ( return s.postsFrom(resp) } -func (s *meiliTweetSearchServant) filterList(user *core.User) string { +func (s *meiliTweetSearchServant) filterList(user *ms.User) string { if user == nil { return s.publicFilter } @@ -177,7 +178,7 @@ func (s *meiliTweetSearchServant) filterList(user *core.User) string { } func (s *meiliTweetSearchServant) postsFrom(resp *meilisearch.SearchResponse) (*core.QueryResp, error) { - posts := make([]*core.PostFormated, 0, len(resp.Hits)) + posts := make([]*ms.PostFormated, 0, len(resp.Hits)) for _, hit := range resp.Hits { raw, err := json.Marshal(hit) if err != nil { @@ -187,7 +188,7 @@ func (s *meiliTweetSearchServant) postsFrom(resp *meilisearch.SearchResponse) (* if err = json.Unmarshal(raw, p); err != nil { return nil, err } - posts = append(posts, &core.PostFormated{ + posts = append(posts, &ms.PostFormated{ ID: p.ID, UserID: p.UserID, CommentCount: p.CommentCount, diff --git a/internal/dao/search/zinc.go b/internal/dao/search/zinc.go index ea9a7fa5..91f74b42 100644 --- a/internal/dao/search/zinc.go +++ b/internal/dao/search/zinc.go @@ -9,6 +9,7 @@ import ( "github.com/Masterminds/semver/v3" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/json" "github.com/rocboss/paopao-ce/pkg/zinc" "github.com/sirupsen/logrus" @@ -76,7 +77,7 @@ func (s *zincTweetSearchServant) DeleteDocuments(identifiers []string) error { return nil } -func (s *zincTweetSearchServant) Search(user *core.User, q *core.QueryReq, offset, limit int) (resp *core.QueryResp, err error) { +func (s *zincTweetSearchServant) Search(user *ms.User, q *core.QueryReq, offset, limit int) (resp *core.QueryResp, err error) { if q.Type == core.SearchTypeDefault && q.Query != "" { resp, err = s.queryByContent(user, q, offset, limit) } else if q.Type == core.SearchTypeTag && q.Query != "" { @@ -94,7 +95,7 @@ func (s *zincTweetSearchServant) Search(user *core.User, q *core.QueryReq, offse return } -func (s *zincTweetSearchServant) queryByContent(user *core.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { +func (s *zincTweetSearchServant) queryByContent(user *ms.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { resp, err := s.client.EsQuery(s.indexName, map[string]any{ "query": map[string]any{ "match_phrase": map[string]any{ @@ -111,7 +112,7 @@ func (s *zincTweetSearchServant) queryByContent(user *core.User, q *core.QueryRe return s.postsFrom(resp) } -func (s *zincTweetSearchServant) queryByTag(user *core.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { +func (s *zincTweetSearchServant) queryByTag(user *ms.User, q *core.QueryReq, offset, limit int) (*core.QueryResp, error) { resp, err := s.client.ApiQuery(s.indexName, map[string]any{ "search_type": "querystring", "query": map[string]any{ @@ -127,7 +128,7 @@ func (s *zincTweetSearchServant) queryByTag(user *core.User, q *core.QueryReq, o return s.postsFrom(resp) } -func (s *zincTweetSearchServant) queryAny(user *core.User, offset, limit int) (*core.QueryResp, error) { +func (s *zincTweetSearchServant) queryAny(user *ms.User, offset, limit int) (*core.QueryResp, error) { queryMap := map[string]any{ "query": map[string]any{ "match_all": map[string]string{}, @@ -144,9 +145,9 @@ func (s *zincTweetSearchServant) queryAny(user *core.User, offset, limit int) (* } func (s *zincTweetSearchServant) postsFrom(resp *zinc.QueryResultT) (*core.QueryResp, error) { - posts := make([]*core.PostFormated, 0, len(resp.Hits.Hits)) + posts := make([]*ms.PostFormated, 0, len(resp.Hits.Hits)) for _, hit := range resp.Hits.Hits { - item := &core.PostFormated{} + item := &ms.PostFormated{} raw, err := json.Marshal(hit.Source) if err != nil { return nil, err diff --git a/internal/model/web/priv.go b/internal/model/web/priv.go index ae84a267..c35c4617 100644 --- a/internal/model/web/priv.go +++ b/internal/model/web/priv.go @@ -12,7 +12,7 @@ import ( "github.com/alimy/mir/v4" "github.com/gin-gonic/gin" "github.com/rocboss/paopao-ce/internal/core" - "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/pkg/convert" "github.com/rocboss/paopao-ce/pkg/xerror" @@ -32,9 +32,9 @@ type TweetReplyThumbsReq struct { } type PostContentItem struct { - Content string `json:"content" binding:"required"` - Type core.PostContentT `json:"type" binding:"required"` - Sort int64 `json:"sort" binding:"required"` + Content string `json:"content" binding:"required"` + Type ms.PostContentT `json:"type" binding:"required"` + Sort int64 `json:"sort" binding:"required"` } type CreateTweetReq struct { @@ -47,7 +47,7 @@ type CreateTweetReq struct { ClientIP string `json:"-" binding:"-"` } -type CreateTweetResp core.PostFormated +type CreateTweetResp ms.PostFormated type DeleteTweetReq struct { BaseInfo `json:"-" binding:"-"` @@ -108,7 +108,7 @@ type CreateCommentReq struct { ClientIP string `json:"-" binding:"-"` } -type CreateCommentResp core.Comment +type CreateCommentResp ms.Comment type CreateCommentReplyReq struct { SimpleInfo `json:"-" binding:"-"` @@ -118,7 +118,7 @@ type CreateCommentReplyReq struct { ClientIP string `json:"-" binding:"-"` } -type CreateCommentReplyResp core.CommentReply +type CreateCommentReplyResp ms.CommentReply type DeleteCommentReq struct { BaseInfo `json:"-" binding:"-"` @@ -143,7 +143,7 @@ type UploadAttachmentResp struct { FileSize int64 `json:"file_size"` ImgWidth int `json:"img_width"` ImgHeight int `json:"img_height"` - Type cs.AttachmentType `json:"type"` + Type ms.AttachmentType `json:"type"` Content string `json:"content"` } @@ -187,13 +187,13 @@ type UnfollowTopicReq struct { // Check 检查PostContentItem属性 func (p *PostContentItem) Check(acs core.AttachmentCheckService) error { // 检查附件是否是本站资源 - if p.Type == core.ContentTypeImage || p.Type == core.ContentTypeVideo || p.Type == core.ContentTypeAttachment { + if p.Type == ms.ContentTypeImage || p.Type == ms.ContentTypeVideo || p.Type == ms.ContentTypeAttachment { if err := acs.CheckAttachment(p.Content); err != nil { return err } } // 检查链接是否合法 - if p.Type == core.ContentTypeLink { + if p.Type == ms.ContentTypeLink { if strings.Index(p.Content, "http://") != 0 && strings.Index(p.Content, "https://") != 0 { return fmt.Errorf("链接不合法") } diff --git a/internal/model/web/pub.go b/internal/model/web/pub.go index 422249cf..058288e8 100644 --- a/internal/model/web/pub.go +++ b/internal/model/web/pub.go @@ -5,7 +5,7 @@ package web import ( - "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/version" ) @@ -13,7 +13,7 @@ type TweetDetailReq struct { TweetId int64 `form:"id"` } -type TweetDetailResp core.PostFormated +type TweetDetailResp ms.PostFormated type GetCaptchaResp struct { Id string `json:"id"` diff --git a/internal/model/web/web.go b/internal/model/web/web.go index d9c416bb..d197bb19 100644 --- a/internal/model/web/web.go +++ b/internal/model/web/web.go @@ -7,7 +7,7 @@ package web import ( "github.com/alimy/mir/v4" "github.com/gin-gonic/gin" - "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/pkg/app" "github.com/rocboss/paopao-ce/pkg/xerror" @@ -18,7 +18,7 @@ var ( ) type BaseInfo struct { - User *core.User + User *ms.User } type SimpleInfo struct { @@ -31,7 +31,7 @@ type BasePageReq struct { PageSize int } -func (b *BaseInfo) SetUser(user *core.User) { +func (b *BaseInfo) SetUser(user *ms.User) { b.User = user } diff --git a/internal/servants/base/base.go b/internal/servants/base/base.go index c03333ca..1825fe98 100644 --- a/internal/servants/base/base.go +++ b/internal/servants/base/base.go @@ -17,6 +17,7 @@ import ( "github.com/gin-gonic/gin" "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao" "github.com/rocboss/paopao-ce/internal/dao/cache" "github.com/rocboss/paopao-ce/pkg/app" @@ -48,7 +49,7 @@ type SentryHubSetter interface { } type UserSetter interface { - SetUser(*core.User) + SetUser(*ms.User) } type UserIdSetter interface { @@ -59,9 +60,9 @@ type PageInfoSetter interface { SetPageInfo(page, pageSize int) } -func UserFrom(c *gin.Context) (*core.User, bool) { +func UserFrom(c *gin.Context) (*ms.User, bool) { if u, exists := c.Get("USER"); exists { - user, ok := u.(*core.User) + user, ok := u.(*ms.User) return user, ok } return nil, false @@ -175,7 +176,7 @@ func (s *BaseServant) Render(c *gin.Context, data any, err mir.Error) { } } -func (s *DaoServant) GetTweetBy(id int64) (*core.PostFormated, error) { +func (s *DaoServant) GetTweetBy(id int64) (*ms.PostFormated, error) { post, err := s.Ds.GetPostByID(id) if err != nil { return nil, err @@ -206,20 +207,21 @@ func (s *DaoServant) PushPostsToSearch(c context.Context) { defer s.Redis.DelPushToSearchJob(c) splitNum := 1000 - totalRows, _ := s.Ds.GetPostCount(&core.ConditionsT{ + conditions := ms.ConditionsT{ "visibility IN ?": []core.PostVisibleT{core.PostVisitPublic, core.PostVisitFriend}, - }) + } + totalRows, _ := s.Ds.GetPostCount(conditions) pages := math.Ceil(float64(totalRows) / float64(splitNum)) nums := int(pages) for i := 0; i < nums; i++ { - posts, postsFormated, err := s.GetTweetList(&core.ConditionsT{}, i*splitNum, splitNum) + posts, postsFormated, err := s.GetTweetList(conditions, i*splitNum, splitNum) if err != nil || len(posts) != len(postsFormated) { continue } for i, pf := range postsFormated { contentFormated := "" for _, content := range pf.Contents { - if content.Type == core.ContentTypeText || content.Type == core.ContentTypeTitle { + if content.Type == ms.ContentTypeText || content.Type == ms.ContentTypeTitle { contentFormated = contentFormated + content.Content + "\n" } } @@ -235,9 +237,9 @@ func (s *DaoServant) PushPostsToSearch(c context.Context) { } } -func (s *DaoServant) PushPostToSearch(post *core.Post) { +func (s *DaoServant) PushPostToSearch(post *ms.Post) { postFormated := post.Format() - postFormated.User = &core.UserFormated{ + postFormated.User = &ms.UserFormated{ ID: post.UserID, } contents, _ := s.Ds.GetPostContentsByIDs([]int64{post.ID}) @@ -247,7 +249,7 @@ func (s *DaoServant) PushPostToSearch(post *core.Post) { contentFormated := "" for _, content := range postFormated.Contents { - if content.Type == core.ContentTypeText || content.Type == core.ContentTypeTitle { + if content.Type == ms.ContentTypeText || content.Type == ms.ContentTypeTitle { contentFormated = contentFormated + content.Content + "\n" } } @@ -259,11 +261,11 @@ func (s *DaoServant) PushPostToSearch(post *core.Post) { s.Ts.AddDocuments(docs, fmt.Sprintf("%d", post.ID)) } -func (s *DaoServant) DeleteSearchPost(post *core.Post) error { +func (s *DaoServant) DeleteSearchPost(post *ms.Post) error { return s.Ts.DeleteDocuments([]string{fmt.Sprintf("%d", post.ID)}) } -func (s *DaoServant) GetTweetList(conditions *core.ConditionsT, offset, limit int) ([]*core.Post, []*core.PostFormated, error) { +func (s *DaoServant) GetTweetList(conditions ms.ConditionsT, offset, limit int) ([]*ms.Post, []*ms.PostFormated, error) { posts, err := s.Ds.GetPosts(conditions, offset, limit) if err != nil { return nil, nil, err diff --git a/internal/servants/chain/admin.go b/internal/servants/chain/admin.go index 4660baa8..37a6e4c7 100644 --- a/internal/servants/chain/admin.go +++ b/internal/servants/chain/admin.go @@ -6,15 +6,15 @@ package chain import ( "github.com/gin-gonic/gin" - "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/app" ) func Admin() gin.HandlerFunc { return func(c *gin.Context) { if user, exist := c.Get("USER"); exist { - if userModel, ok := user.(*core.User); ok { - if userModel.Status == core.UserStatusNormal && userModel.IsAdmin { + if userModel, ok := user.(*ms.User); ok { + if userModel.Status == ms.UserStatusNormal && userModel.IsAdmin { c.Next() return } diff --git a/internal/servants/chain/priv.go b/internal/servants/chain/priv.go index c2a017ca..420c3a9c 100644 --- a/internal/servants/chain/priv.go +++ b/internal/servants/chain/priv.go @@ -7,7 +7,7 @@ package chain import ( "github.com/alimy/cfg" "github.com/gin-gonic/gin" - "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/pkg/app" ) @@ -15,8 +15,8 @@ func Priv() gin.HandlerFunc { if cfg.If("PhoneBind") { return func(c *gin.Context) { if u, exist := c.Get("USER"); exist { - if user, ok := u.(*core.User); ok { - if user.Status == core.UserStatusNormal { + if user, ok := u.(*ms.User); ok { + if user.Status == ms.UserStatusNormal { if user.Phone == "" { response := app.NewResponse(c) response.ToErrorResponse(_errAccountNoPhoneBind) @@ -35,7 +35,7 @@ func Priv() gin.HandlerFunc { } else { return func(c *gin.Context) { if u, exist := c.Get("USER"); exist { - if user, ok := u.(*core.User); ok && user.Status == core.UserStatusNormal { + if user, ok := u.(*ms.User); ok && user.Status == ms.UserStatusNormal { c.Next() return } diff --git a/internal/servants/web/core.go b/internal/servants/web/core.go index 8532b391..923b0261 100644 --- a/internal/servants/web/core.go +++ b/internal/servants/web/core.go @@ -14,6 +14,7 @@ import ( "github.com/gin-gonic/gin" api "github.com/rocboss/paopao-ce/auto/api/v1" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/model/web" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/internal/servants/chain" @@ -85,7 +86,7 @@ func (s *coreSrv) GetUnreadMsgCount(req *web.GetUnreadMsgCountReq) (*web.GetUnre } func (s *coreSrv) GetMessages(req *web.GetMessagesReq) (*web.GetMessagesResp, mir.Error) { - conditions := &core.ConditionsT{ + conditions := &ms.ConditionsT{ "receiver_user_id": req.UserId, "ORDER": "id DESC", } @@ -98,7 +99,7 @@ func (s *coreSrv) GetMessages(req *web.GetMessagesReq) (*web.GetMessagesResp, mi } } // 好友申请消息不需要获取其他信息 - if mf.Type == core.MsgTypeRequestingFriend { + if mf.Type == ms.MsgTypeRequestingFriend { continue } if mf.PostID > 0 { @@ -157,10 +158,10 @@ func (s *coreSrv) SendUserWhisper(req *web.SendWhisperReq) mir.Error { } // 创建私信 - _, err := s.Ds.CreateMessage(&core.Message{ + _, err := s.Ds.CreateMessage(&ms.Message{ SenderUserID: req.Uid, ReceiverUserID: req.UserID, - Type: core.MsgTypeWhisper, + Type: ms.MsgTypeWhisper, Brief: "给你发送新私信了", Content: req.Content, }) @@ -187,7 +188,7 @@ func (s *coreSrv) GetCollections(req *web.GetCollectionsReq) (*web.GetCollection return nil, web.ErrGetCollectionsFailed } - var posts []*core.Post + var posts []*ms.Post for _, collection := range collections { posts = append(posts, collection.Post) } @@ -250,7 +251,7 @@ func (s *coreSrv) GetStars(req *web.GetStarsReq) (*web.GetStarsResp, mir.Error) return nil, web.ErrGetStarsFailed } - var posts []*core.Post + var posts []*ms.Post for _, star := range stars { posts = append(posts, star.Post) } diff --git a/internal/servants/web/loose.go b/internal/servants/web/loose.go index 282b34d1..81875441 100644 --- a/internal/servants/web/loose.go +++ b/internal/servants/web/loose.go @@ -10,6 +10,7 @@ import ( api "github.com/rocboss/paopao-ce/auto/api/v1" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" "github.com/rocboss/paopao-ce/internal/model/web" "github.com/rocboss/paopao-ce/internal/servants/base" @@ -121,7 +122,7 @@ func (s *looseSrv) getSelfStarTweets(req *web.GetUserTweetsReq) (*web.GetUserTwe logrus.Errorf("Ds.GetUserPostStars err: %s", err) return nil, web.ErrGetStarsFailed } - var posts []*core.Post + var posts []*ms.Post for _, star := range stars { posts = append(posts, star.Post) } @@ -151,7 +152,7 @@ func (s *looseSrv) getUserPostTweets(req *web.GetUserTweetsReq) (*web.GetUserTwe visibilities = append(visibilities, core.PostVisitFriend) } } - conditions := &core.ConditionsT{ + conditions := ms.ConditionsT{ "user_id": other.ID, "visibility IN ?": visibilities, "ORDER": "latest_replied_on DESC", @@ -236,7 +237,7 @@ func (s *looseSrv) TweetComments(req *web.TweetCommentsReq) (*web.TweetCommentsR if req.SortStrategy == "newest" { sort = "id DESC" } - conditions := &core.ConditionsT{ + conditions := &ms.ConditionsT{ "post_id": req.TweetId, "ORDER": sort, } @@ -290,7 +291,7 @@ func (s *looseSrv) TweetComments(req *web.TweetCommentsReq) (*web.TweetCommentsR } } - commentsFormated := []*core.CommentFormated{} + commentsFormated := []*ms.CommentFormated{} for _, comment := range comments { commentFormated := comment.Format() if thumbs, exist := commentThumbs[comment.ID]; exist { diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index d01ae288..e4e04a20 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -17,6 +17,7 @@ import ( "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/model/web" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/internal/servants/chain" @@ -28,7 +29,13 @@ import ( var ( _ api.Priv = (*privSrv)(nil) - _uploadAttachmentTypeMap = map[string]cs.AttachmentType{ + _uploadAttachmentTypeMap = map[string]ms.AttachmentType{ + "public/image": ms.AttachmentTypeImage, + "public/avatar": ms.AttachmentTypeImage, + "public/video": ms.AttachmentTypeVideo, + "attachment": ms.AttachmentTypeOther, + } + _uploadAttachmentTypes = map[string]cs.AttachmentType{ "public/image": cs.AttachmentTypeImage, "public/avatar": cs.AttachmentTypeImage, "public/video": cs.AttachmentTypeVideo, @@ -119,20 +126,20 @@ func (s *privSrv) UploadAttachment(req *web.UploadAttachmentReq) (*web.UploadAtt } // 构造附件Model - attachment := &cs.Attachment{ + attachment := &ms.Attachment{ UserID: req.Uid, FileSize: req.FileSize, Content: objectUrl, Type: _uploadAttachmentTypeMap[req.UploadType], } - if attachment.Type == cs.AttachmentTypeImage { + if attachment.Type == ms.AttachmentTypeImage { var src image.Image src, err = imaging.Decode(req.File) if err == nil { attachment.ImgWidth, attachment.ImgHeight = getImageSize(src.Bounds()) } } - attachment.ID, err = s.Dsa.CreateAttachment(attachment) + attachment.ID, err = s.Ds.CreateAttachment(attachment) if err != nil { logrus.Errorf("Ds.CreateAttachment err: %s", err) return nil, web.ErrFileUploadFailed @@ -155,7 +162,7 @@ func (s *privSrv) DownloadAttachmentPrecheck(req *web.DownloadAttachmentPrecheck return nil, web.ErrInvalidDownloadReq } resp := &web.DownloadAttachmentPrecheckResp{Paid: true} - if content.Type == core.ContentTypeChargeAttachment { + if content.Type == ms.ContentTypeChargeAttachment { tweet, err := s.GetTweetBy(content.PostID) if err != nil { logrus.Errorf("get tweet err: %v", err) @@ -178,7 +185,7 @@ func (s *privSrv) DownloadAttachment(req *web.DownloadAttachmentReq) (*web.Downl return nil, web.ErrInvalidDownloadReq } // 收费附件 - if content.Type == core.ContentTypeChargeAttachment { + if content.Type == ms.ContentTypeChargeAttachment { post, err := s.GetTweetBy(content.PostID) if err != nil { logrus.Errorf("s.GetTweetBy err: %v", err) @@ -191,8 +198,8 @@ func (s *privSrv) DownloadAttachment(req *web.DownloadAttachmentReq) (*web.Downl } // 未购买,则尝试购买 if !paidFlag { - err := s.buyPostAttachment(&core.Post{ - Model: &core.Model{ + err := s.buyPostAttachment(&ms.Post{ + Model: &ms.Model{ ID: post.ID, }, UserID: post.UserID, @@ -229,7 +236,7 @@ func (s *privSrv) CreateTweet(req *web.CreateTweetReq) (_ *web.CreateTweetResp, } mediaContents = contents tags := tagsFrom(req.Tags) - post := &core.Post{ + post := &ms.Post{ UserID: req.User.ID, Tags: strings.Join(tags, ","), IP: req.ClientIP, @@ -250,10 +257,10 @@ func (s *privSrv) CreateTweet(req *web.CreateTweetReq) (_ *web.CreateTweetResp, logrus.Infof("contents check err: %s", err) continue } - if item.Type == core.ContentTypeAttachment && req.AttachmentPrice > 0 { - item.Type = core.ContentTypeChargeAttachment + if item.Type == ms.ContentTypeAttachment && req.AttachmentPrice > 0 { + item.Type = ms.ContentTypeChargeAttachment } - postContent := &core.PostContent{ + postContent := &ms.PostContent{ PostID: post.ID, UserID: req.User.ID, Content: item.Content, @@ -280,10 +287,10 @@ func (s *privSrv) CreateTweet(req *web.CreateTweetReq) (_ *web.CreateTweetResp, // 创建消息提醒 // TODO: 优化消息提醒处理机制 - go s.Ds.CreateMessage(&core.Message{ + go s.Ds.CreateMessage(&ms.Message{ SenderUserID: req.User.ID, ReceiverUserID: user.ID, - Type: core.MsgTypePost, + Type: ms.MsgTypePost, Brief: "在新发布的泡泡动态中@了你", PostID: post.ID, }) @@ -291,7 +298,7 @@ func (s *privSrv) CreateTweet(req *web.CreateTweetReq) (_ *web.CreateTweetResp, } // 推送Search s.PushPostToSearch(post) - formatedPosts, err := s.Ds.RevampPosts([]*core.PostFormated{post.Format()}) + formatedPosts, err := s.Ds.RevampPosts([]*ms.PostFormated{post.Format()}) if err != nil { logrus.Infof("Ds.RevampPosts err: %s", err) return nil, web.ErrCreatePostFailed @@ -347,8 +354,8 @@ func (s *privSrv) DeleteCommentReply(req *web.DeleteCommentReplyReq) mir.Error { func (s *privSrv) CreateCommentReply(req *web.CreateCommentReplyReq) (*web.CreateCommentReplyResp, mir.Error) { var ( - post *core.Post - comment *core.Comment + post *ms.Post + comment *ms.Comment atUserID int64 err error ) @@ -358,7 +365,7 @@ func (s *privSrv) CreateCommentReply(req *web.CreateCommentReplyReq) (*web.Creat } // 创建评论 - reply := &core.CommentReply{ + reply := &ms.CommentReply{ CommentID: req.CommentID, UserID: req.Uid, Content: req.Content, @@ -383,10 +390,10 @@ func (s *privSrv) CreateCommentReply(req *web.CreateCommentReplyReq) (*web.Creat // 创建用户消息提醒 commentMaster, err := s.Ds.GetUserByID(comment.UserID) if err == nil && commentMaster.ID != req.Uid { - go s.Ds.CreateMessage(&core.Message{ + go s.Ds.CreateMessage(&ms.Message{ SenderUserID: req.Uid, ReceiverUserID: commentMaster.ID, - Type: core.MsgTypeReply, + Type: ms.MsgTypeReply, Brief: "在泡泡评论下回复了你", PostID: post.ID, CommentID: comment.ID, @@ -395,10 +402,10 @@ func (s *privSrv) CreateCommentReply(req *web.CreateCommentReplyReq) (*web.Creat } postMaster, err := s.Ds.GetUserByID(post.UserID) if err == nil && postMaster.ID != req.Uid && commentMaster.ID != postMaster.ID { - go s.Ds.CreateMessage(&core.Message{ + go s.Ds.CreateMessage(&ms.Message{ SenderUserID: req.Uid, ReceiverUserID: postMaster.ID, - Type: core.MsgTypeReply, + Type: ms.MsgTypeReply, Brief: "在泡泡评论下发布了新回复", PostID: post.ID, CommentID: comment.ID, @@ -409,10 +416,10 @@ func (s *privSrv) CreateCommentReply(req *web.CreateCommentReplyReq) (*web.Creat user, err := s.Ds.GetUserByID(atUserID) if err == nil && user.ID != req.Uid && commentMaster.ID != user.ID && postMaster.ID != user.ID { // 创建消息提醒 - go s.Ds.CreateMessage(&core.Message{ + go s.Ds.CreateMessage(&ms.Message{ SenderUserID: req.Uid, ReceiverUserID: user.ID, - Type: core.MsgTypeReply, + Type: ms.MsgTypeReply, Brief: "在泡泡评论的回复中@了你", PostID: post.ID, CommentID: comment.ID, @@ -475,7 +482,7 @@ func (s *privSrv) CreateComment(req *web.CreateCommentReq) (_ *web.CreateComment if post.CommentCount >= conf.AppSetting.MaxCommentCount { return nil, web.ErrMaxCommentCount } - comment := &core.Comment{ + comment := &ms.Comment{ PostID: post.ID, UserID: req.Uid, IP: req.ClientIP, @@ -489,12 +496,12 @@ func (s *privSrv) CreateComment(req *web.CreateCommentReq) (_ *web.CreateComment for _, item := range req.Contents { // 检查附件是否是本站资源 - if item.Type == core.ContentTypeImage || item.Type == core.ContentTypeVideo || item.Type == core.ContentTypeAttachment { + if item.Type == ms.ContentTypeImage || item.Type == ms.ContentTypeVideo || item.Type == ms.ContentTypeAttachment { if err := s.Ds.CheckAttachment(item.Content); err != nil { continue } } - postContent := &core.CommentContent{ + postContent := &ms.CommentContent{ CommentID: comment.ID, UserID: req.Uid, Content: item.Content, @@ -515,10 +522,10 @@ func (s *privSrv) CreateComment(req *web.CreateCommentReq) (_ *web.CreateComment // 创建用户消息提醒 postMaster, err := s.Ds.GetUserByID(post.UserID) if err == nil && postMaster.ID != req.Uid { - go s.Ds.CreateMessage(&core.Message{ + go s.Ds.CreateMessage(&ms.Message{ SenderUserID: req.Uid, ReceiverUserID: postMaster.ID, - Type: core.MsgtypeComment, + Type: ms.MsgtypeComment, Brief: "在泡泡中评论了你", PostID: post.ID, CommentID: comment.ID, @@ -531,10 +538,10 @@ func (s *privSrv) CreateComment(req *web.CreateCommentReq) (_ *web.CreateComment } // 创建消息提醒 - go s.Ds.CreateMessage(&core.Message{ + go s.Ds.CreateMessage(&ms.Message{ SenderUserID: req.Uid, ReceiverUserID: user.ID, - Type: core.MsgtypeComment, + Type: ms.MsgtypeComment, Brief: "在泡泡评论中@了你", PostID: post.ID, CommentID: comment.ID, @@ -644,7 +651,7 @@ func (s *privSrv) LockTweet(req *web.LockTweetReq) (*web.LockTweetResp, mir.Erro }, nil } -func (s *privSrv) deletePostCommentReply(reply *core.CommentReply) error { +func (s *privSrv) deletePostCommentReply(reply *ms.CommentReply) error { err := s.Ds.DeleteCommentReply(reply) if err != nil { return err @@ -668,7 +675,7 @@ func (s *privSrv) deletePostCommentReply(reply *core.CommentReply) error { return nil } -func (s *privSrv) createPostPreHandler(commentID int64, userID, atUserID int64) (*core.Post, *core.Comment, int64, +func (s *privSrv) createPostPreHandler(commentID int64, userID, atUserID int64) (*ms.Post, *ms.Comment, int64, error) { // 加载Comment comment, err := s.Ds.GetCommentByID(commentID) @@ -701,7 +708,7 @@ func (s *privSrv) createPostPreHandler(commentID int64, userID, atUserID int64) return post, comment, atUserID, nil } -func (s *privSrv) createPostStar(postID, userID int64) (*core.PostStar, mir.Error) { +func (s *privSrv) createPostStar(postID, userID int64) (*ms.PostStar, mir.Error) { post, err := s.Ds.GetPostByID(postID) if err != nil { return nil, xerror.ServerError @@ -727,7 +734,7 @@ func (s *privSrv) createPostStar(postID, userID int64) (*core.PostStar, mir.Erro return star, nil } -func (s *privSrv) deletePostStar(star *core.PostStar) mir.Error { +func (s *privSrv) deletePostStar(star *ms.PostStar) mir.Error { post, err := s.Ds.GetPostByID(star.PostID) if err != nil { return xerror.ServerError @@ -752,7 +759,7 @@ func (s *privSrv) deletePostStar(star *core.PostStar) mir.Error { return nil } -func (s *privSrv) createPostCollection(postID, userID int64) (*core.PostCollection, mir.Error) { +func (s *privSrv) createPostCollection(postID, userID int64) (*ms.PostCollection, mir.Error) { post, err := s.Ds.GetPostByID(postID) if err != nil { return nil, xerror.ServerError @@ -778,7 +785,7 @@ func (s *privSrv) createPostCollection(postID, userID int64) (*core.PostCollecti return collection, nil } -func (s *privSrv) deletePostCollection(collection *core.PostCollection) mir.Error { +func (s *privSrv) deletePostCollection(collection *ms.PostCollection) mir.Error { post, err := s.Ds.GetPostByID(collection.PostID) if err != nil { return xerror.ServerError @@ -807,7 +814,7 @@ func (s *privSrv) checkPostAttachmentIsPaid(postID, userID int64) bool { return err == nil && bill.Model != nil && bill.ID > 0 } -func (s *privSrv) buyPostAttachment(post *core.Post, user *core.User) mir.Error { +func (s *privSrv) buyPostAttachment(post *ms.Post, user *ms.User) mir.Error { if user.Balance < post.AttachmentPrice { return web.ErrInsuffientDownloadMoney } diff --git a/internal/servants/web/pub.go b/internal/servants/web/pub.go index d34f074f..f12f74ee 100644 --- a/internal/servants/web/pub.go +++ b/internal/servants/web/pub.go @@ -17,7 +17,7 @@ import ( "github.com/alimy/mir/v4" "github.com/gofrs/uuid/v5" api "github.com/rocboss/paopao-ce/auto/api/v1" - "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/model/web" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/internal/servants/web/assets" @@ -131,13 +131,13 @@ func (s *pubSrv) Register(req *web.RegisterReq) (*web.RegisterResp, mir.Error) { return nil, web.ErrUserRegisterFailed } password, salt := encryptPasswordAndSalt(req.Password) - user := &core.User{ + user := &ms.User{ Nickname: req.Username, Username: req.Username, Password: password, Avatar: getRandomAvatar(), Salt: salt, - Status: core.UserStatusNormal, + Status: ms.UserStatusNormal, } user, err := s.Ds.CreateUser(user) if err != nil { @@ -164,7 +164,7 @@ func (s *pubSrv) Login(req *web.LoginReq) (*web.LoginResp, mir.Error) { } // 对比密码是否正确 if validPassword(user.Password, req.Password, user.Salt) { - if user.Status == core.UserStatusClosed { + if user.Status == ms.UserStatusClosed { return nil, web.ErrUserHasBeenBanned } // 清空登录计数 diff --git a/internal/servants/web/utils.go b/internal/servants/web/utils.go index b54fbd50..0e2696e3 100644 --- a/internal/servants/web/utils.go +++ b/internal/servants/web/utils.go @@ -14,6 +14,7 @@ import ( "github.com/alimy/mir/v4" "github.com/gofrs/uuid/v5" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/model/web" "github.com/rocboss/paopao-ce/pkg/utils" "github.com/rocboss/paopao-ce/pkg/xerror" @@ -119,11 +120,11 @@ func persistMediaContents(oss core.ObjectStorageService, contents []*web.PostCon items = make([]string, 0, len(contents)) for _, item := range contents { switch item.Type { - case core.ContentTypeImage, - core.ContentTypeVideo, - core.ContentTypeAudio, - core.ContentTypeAttachment, - core.ContentTypeChargeAttachment: + case ms.ContentTypeImage, + ms.ContentTypeVideo, + ms.ContentTypeAudio, + ms.ContentTypeAttachment, + ms.ContentTypeChargeAttachment: items = append(items, item.Content) if err != nil { continue @@ -200,7 +201,7 @@ func tagsFrom(originTags []string) []string { } // checkPermision 检查是否拥有者或管理员 -func checkPermision(user *core.User, targetUserId int64) mir.Error { +func checkPermision(user *ms.User, targetUserId int64) mir.Error { if user == nil || (user.ID != targetUserId && !user.IsAdmin) { return web.ErrNoPermission } diff --git a/mirc/gen.go b/mirc/gen.go index b2ebe43d..dcd402ac 100644 --- a/mirc/gen.go +++ b/mirc/gen.go @@ -23,7 +23,7 @@ import ( //go:generate go run $GOFILE func main() { - log.Println("generate code start") + log.Println("[Mir] generate code start") opts := Options{ UseGin(), SinkPath("../auto"), @@ -34,5 +34,5 @@ func main() { if err := Generate(opts); err != nil { log.Fatal(err) } - log.Println("generate code finish") + log.Println("[Mir] generate code finish") } diff --git a/pkg/app/jwt.go b/pkg/app/jwt.go index b9759e07..a861faa2 100644 --- a/pkg/app/jwt.go +++ b/pkg/app/jwt.go @@ -9,7 +9,7 @@ import ( "github.com/golang-jwt/jwt/v4" "github.com/rocboss/paopao-ce/internal/conf" - "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" ) type Claims struct { @@ -22,7 +22,7 @@ func GetJWTSecret() []byte { return []byte(conf.JWTSetting.Secret) } -func GenerateToken(User *core.User) (string, error) { +func GenerateToken(User *ms.User) (string, error) { expireTime := time.Now().Add(conf.JWTSetting.Expire) claims := Claims{ UID: User.ID, diff --git a/pkg/naming/naming_test.go b/pkg/naming/naming_test.go index ee688822..fb89aa97 100644 --- a/pkg/naming/naming_test.go +++ b/pkg/naming/naming_test.go @@ -19,8 +19,12 @@ func TestSnakeNamingStrategy_Naming(t *testing.T) { {name: "RESTfulAPI", expected: "res_tful_api"}, {name: "HTTPS_API", expected: "https_api"}, {name: "PKG_Name", expected: "pkg_name"}, + {name: "UserID", expected: "user_id"}, + {name: "UserId", expected: "user_id"}, + {name: "IPLoc", expected: "ip_loc"}, {name: "API", expected: "api"}, {name: "HTTP", expected: "http"}, + {name: "IP", expected: "ip"}, } { result := ns.Naming(cs.name) if result != cs.expected { From c4397cbd0a91d78a95dcac2f3974230e6feee9e5 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 6 Aug 2023 12:45:23 +0800 Subject: [PATCH 60/65] add simple highlight support but not implement backend logic --- auto/api/v1/priv.go | 19 ++++ internal/model/web/loose.go | 9 +- internal/model/web/priv.go | 9 ++ internal/model/web/xerror.go | 2 + internal/servants/web/loose.go | 8 ++ internal/servants/web/priv.go | 5 ++ mirc/web/v1/priv.go | 3 + .../{404-a99d6dcf.js => 404-12796dfc.js} | 2 +- web/dist/assets/@vicons-b553c29f.js | 1 + web/dist/assets/@vicons-d502290a.js | 1 - ...nt-70463bac.js => Anouncement-6a8404c2.js} | 2 +- web/dist/assets/Collection-c6d4e201.js | 1 - web/dist/assets/Collection-e5a0e84c.js | 1 + ...tacts-89899ea7.js => Contacts-ce38b36c.js} | 2 +- .../{Home-369fedb9.js => Home-f521e247.js} | 2 +- ...sages-5c7f33a8.js => Messages-1aabde5b.js} | 2 +- web/dist/assets/Post-7248c732.js | 1 - web/dist/assets/Post-74178ae5.js | 1 + web/dist/assets/Profile-24e6724a.css | 1 - web/dist/assets/Profile-25c44ed2.js | 1 + web/dist/assets/Profile-67eeb9ca.js | 1 - web/dist/assets/Profile-f5400ee9.css | 1 + ...etting-062eeb8c.js => Setting-ae1dc5f2.js} | 2 +- .../{Topic-501554b1.js => Topic-b7ab22f5.js} | 2 +- web/dist/assets/User-01d95431.js | 1 - web/dist/assets/User-3e4ab8ff.css | 1 - web/dist/assets/User-a653ca5d.js | 1 + web/dist/assets/User-cd575dca.css | 1 + ...{Wallet-4af86e57.js => Wallet-d722f1f2.js} | 2 +- web/dist/assets/content-a356c23e.js | 1 + web/dist/assets/content-c0ce69b7.js | 1 - .../{index-8b4e1776.js => index-2e014601.js} | 2 +- ...e_vue_type_style_index_0_lang-77010e50.js} | 2 +- ...e_vue_type_style_index_0_lang-0c31f78f.js} | 2 +- ...-627d3fc3.js => post-skeleton-435c2090.js} | 2 +- web/dist/index.html | 4 +- web/src/api/post.ts | 11 +++ web/src/components/post-detail.vue | 87 +++++++++++++++++-- web/src/types/NetParams.d.ts | 4 + web/src/types/NetReq.d.ts | 5 ++ web/src/views/Profile.vue | 38 +++++++- web/src/views/User.vue | 38 +++++++- 42 files changed, 242 insertions(+), 40 deletions(-) rename web/dist/assets/{404-a99d6dcf.js => 404-12796dfc.js} (79%) create mode 100644 web/dist/assets/@vicons-b553c29f.js delete mode 100644 web/dist/assets/@vicons-d502290a.js rename web/dist/assets/{Anouncement-70463bac.js => Anouncement-6a8404c2.js} (88%) delete mode 100644 web/dist/assets/Collection-c6d4e201.js create mode 100644 web/dist/assets/Collection-e5a0e84c.js rename web/dist/assets/{Contacts-89899ea7.js => Contacts-ce38b36c.js} (67%) rename web/dist/assets/{Home-369fedb9.js => Home-f521e247.js} (97%) rename web/dist/assets/{Messages-5c7f33a8.js => Messages-1aabde5b.js} (71%) delete mode 100644 web/dist/assets/Post-7248c732.js create mode 100644 web/dist/assets/Post-74178ae5.js delete mode 100644 web/dist/assets/Profile-24e6724a.css create mode 100644 web/dist/assets/Profile-25c44ed2.js delete mode 100644 web/dist/assets/Profile-67eeb9ca.js create mode 100644 web/dist/assets/Profile-f5400ee9.css rename web/dist/assets/{Setting-062eeb8c.js => Setting-ae1dc5f2.js} (82%) rename web/dist/assets/{Topic-501554b1.js => Topic-b7ab22f5.js} (95%) delete mode 100644 web/dist/assets/User-01d95431.js delete mode 100644 web/dist/assets/User-3e4ab8ff.css create mode 100644 web/dist/assets/User-a653ca5d.js create mode 100644 web/dist/assets/User-cd575dca.css rename web/dist/assets/{Wallet-4af86e57.js => Wallet-d722f1f2.js} (61%) create mode 100644 web/dist/assets/content-a356c23e.js delete mode 100644 web/dist/assets/content-c0ce69b7.js rename web/dist/assets/{index-8b4e1776.js => index-2e014601.js} (52%) rename web/dist/assets/{main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js => main-nav.vue_vue_type_style_index_0_lang-77010e50.js} (65%) rename web/dist/assets/{post-item.vue_vue_type_style_index_0_lang-cf654b7f.js => post-item.vue_vue_type_style_index_0_lang-0c31f78f.js} (97%) rename web/dist/assets/{post-skeleton-627d3fc3.js => post-skeleton-435c2090.js} (88%) diff --git a/auto/api/v1/priv.go b/auto/api/v1/priv.go index d0254345..f4adccfc 100644 --- a/auto/api/v1/priv.go +++ b/auto/api/v1/priv.go @@ -30,6 +30,7 @@ type Priv interface { DeleteComment(*web.DeleteCommentReq) mir.Error CreateComment(*web.CreateCommentReq) (*web.CreateCommentResp, mir.Error) VisibleTweet(*web.VisibleTweetReq) (*web.VisibleTweetResp, mir.Error) + HighlightTweet(*web.HighlightTweetReq) (*web.HighlightTweetResp, mir.Error) StickTweet(*web.StickTweetReq) (*web.StickTweetResp, mir.Error) LockTweet(*web.LockTweetReq) (*web.LockTweetResp, mir.Error) CollectionTweet(*web.CollectionTweetReq) (*web.CollectionTweetResp, mir.Error) @@ -213,6 +214,20 @@ func RegisterPrivServant(e *gin.Engine, s Priv) { resp, err := s.VisibleTweet(req) s.Render(c, resp, err) }) + router.Handle("POST", "/post/highlight", func(c *gin.Context) { + select { + case <-c.Request.Context().Done(): + return + default: + } + req := new(web.HighlightTweetReq) + if err := s.Bind(c, req); err != nil { + s.Render(c, nil, err) + return + } + resp, err := s.HighlightTweet(req) + s.Render(c, resp, err) + }) router.Handle("POST", "/post/stick", func(c *gin.Context) { select { case <-c.Request.Context().Done(): @@ -399,6 +414,10 @@ func (UnimplementedPrivServant) VisibleTweet(req *web.VisibleTweetReq) (*web.Vis return nil, mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) } +func (UnimplementedPrivServant) HighlightTweet(req *web.HighlightTweetReq) (*web.HighlightTweetResp, mir.Error) { + return nil, mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) +} + func (UnimplementedPrivServant) StickTweet(req *web.StickTweetReq) (*web.StickTweetResp, mir.Error) { return nil, mir.Errorln(http.StatusNotImplemented, http.StatusText(http.StatusNotImplemented)) } diff --git a/internal/model/web/loose.go b/internal/model/web/loose.go index abdc0af2..0f6f863e 100644 --- a/internal/model/web/loose.go +++ b/internal/model/web/loose.go @@ -21,10 +21,11 @@ const ( ) const ( - UserPostsStylePost = "post" - UserPostsStyleComment = "comment" - UserPostsStyleMedia = "media" - UserPostsStyleStar = "star" + UserPostsStylePost = "post" + UserPostsStyleComment = "comment" + UserPostsStyleHighlight = "highlight" + UserPostsStyleMedia = "media" + UserPostsStyleStar = "star" ) type TagType = cs.TagType diff --git a/internal/model/web/priv.go b/internal/model/web/priv.go index c35c4617..7ce1aba0 100644 --- a/internal/model/web/priv.go +++ b/internal/model/web/priv.go @@ -86,10 +86,19 @@ type StickTweetReq struct { ID int64 `json:"id" binding:"required"` } +type HighlightTweetReq struct { + BaseInfo `json:"-" binding:"-"` + ID int64 `json:"id" binding:"required"` +} + type StickTweetResp struct { StickStatus int `json:"top_status"` } +type HighlightTweetResp struct { + HighlightStatus int `json:"highlight_status"` +} + type VisibleTweetReq struct { BaseInfo `json:"-" binding:"-"` ID int64 `json:"id"` diff --git a/internal/model/web/xerror.go b/internal/model/web/xerror.go index 6328a099..bdb45dbb 100644 --- a/internal/model/web/xerror.go +++ b/internal/model/web/xerror.go @@ -90,4 +90,6 @@ var ( ErrFileUploadFailed = xerror.NewError(10200, "文件上传失败") ErrFileInvalidExt = xerror.NewError(10201, "文件类型不合法") ErrFileInvalidSize = xerror.NewError(10202, "文件大小超限") + + ErrNotImplemented = xerror.NewError(10501, "功能未实现") ) diff --git a/internal/servants/web/loose.go b/internal/servants/web/loose.go index 81875441..983c5108 100644 --- a/internal/servants/web/loose.go +++ b/internal/servants/web/loose.go @@ -66,6 +66,8 @@ func (s *looseSrv) GetUserTweets(req *web.GetUserTweetsReq) (res *web.GetUserTwe switch req.Style { case web.UserPostsStyleComment: res, err = s.getUserCommentTweets(req, isSelf) + case web.UserPostsStyleHighlight: + res, err = s.getUserHighlightTweets(req, isSelf) case web.UserPostsStyleMedia: res, err = s.getUserMediaTweets(req, isSelf) case web.UserPostsStyleStar: @@ -84,6 +86,12 @@ func (s *looseSrv) getUserCommentTweets(req *web.GetUserTweetsReq, isSelf bool) return (*web.GetUserTweetsResp)(resp), nil } +func (s *looseSrv) getUserHighlightTweets(req *web.GetUserTweetsReq, isSelf bool) (*web.GetUserTweetsResp, mir.Error) { + // TODO: add implement logic + resp := base.PageRespFrom(nil, req.Page, req.PageSize, 0) + return (*web.GetUserTweetsResp)(resp), nil +} + func (s *looseSrv) getUserMediaTweets(req *web.GetUserTweetsReq, isSelf bool) (*web.GetUserTweetsResp, mir.Error) { // TODO: add implement logic resp := base.PageRespFrom(nil, req.Page, req.PageSize, 0) diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index e4e04a20..659ab8dd 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -634,6 +634,11 @@ func (s *privSrv) StickTweet(req *web.StickTweetReq) (*web.StickTweetResp, mir.E }, nil } +func (s *privSrv) HighlightTweet(req *web.HighlightTweetReq) (*web.HighlightTweetResp, mir.Error) { + // TODO + return nil, web.ErrNotImplemented +} + func (s *privSrv) LockTweet(req *web.LockTweetReq) (*web.LockTweetResp, mir.Error) { post, err := s.Ds.GetPostByID(req.ID) if err != nil { diff --git a/mirc/web/v1/priv.go b/mirc/web/v1/priv.go index 460c9d99..567de00d 100644 --- a/mirc/web/v1/priv.go +++ b/mirc/web/v1/priv.go @@ -42,6 +42,9 @@ type Priv struct { // StickTweet 置顶动态 StickTweet func(Post, web.StickTweetReq) web.StickTweetResp `mir:"/post/stick"` + // HighlightTweet 推文亮点设置 + HighlightTweet func(Post, web.HighlightTweetReq) web.HighlightTweetResp `mir:"/post/highlight"` + // VisibleTweet 修改动态可见度 VisibleTweet func(Post, web.VisibleTweetReq) web.VisibleTweetResp `mir:"/post/visibility"` diff --git a/web/dist/assets/404-a99d6dcf.js b/web/dist/assets/404-12796dfc.js similarity index 79% rename from web/dist/assets/404-a99d6dcf.js rename to web/dist/assets/404-12796dfc.js index bb484f15..67d3de35 100644 --- a/web/dist/assets/404-a99d6dcf.js +++ b/web/dist/assets/404-12796dfc.js @@ -1 +1 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{u as a}from"./vue-router-b8e3382f.js";import{F as i,e as c,a2 as u}from"./naive-ui-62663ad7.js";import{d as l,c as d,V as t,a1 as o,o as f,e as x}from"./@vue-e0e89260.js";import{_ as g}from"./index-8b4e1776.js";import"./vuex-473b3783.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./@vicons-d502290a.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{u as a}from"./vue-router-b8e3382f.js";import{F as i,e as c,a2 as u}from"./naive-ui-62663ad7.js";import{d as l,c as d,V as t,a1 as o,o as f,e as x}from"./@vue-e0e89260.js";import{_ as g}from"./index-2e014601.js";import"./vuex-473b3783.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./@vicons-b553c29f.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; diff --git a/web/dist/assets/@vicons-b553c29f.js b/web/dist/assets/@vicons-b553c29f.js new file mode 100644 index 00000000..19c47526 --- /dev/null +++ b/web/dist/assets/@vicons-b553c29f.js @@ -0,0 +1 @@ +import{d as n,o,c as e,a as t,b as i}from"./@vue-e0e89260.js";const c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},h=t("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),d=[h],cn=n({name:"AttachOutline",render:function(s,l){return o(),e("svg",c,d)}}),a={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=t("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),u=[w],hn=n({name:"Bookmark",render:function(s,l){return o(),e("svg",a,u)}}),_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k=t("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),x=[k],dn=n({name:"BookmarkOutline",render:function(s,l){return o(),e("svg",_,x)}}),p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},m=t("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),g=t("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),v=[m,g],an=n({name:"BookmarksOutline",render:function(s,l){return o(),e("svg",p,v)}}),$={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},f=t("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),C=[f],wn=n({name:"ChatboxOutline",render:function(s,l){return o(),e("svg",$,C)}}),M={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},z=t("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),O=t("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),j=[z,O],un=n({name:"ChatbubblesOutline",render:function(s,l){return o(),e("svg",M,j)}}),B={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},L=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),H=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),V=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),A=[L,H,V],_n=n({name:"CheckmarkDoneOutline",render:function(s,l){return o(),e("svg",B,A)}}),b={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),D=[y],kn=n({name:"CheckmarkOutline",render:function(s,l){return o(),e("svg",b,D)}}),S={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),E=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),F=[T,E],xn=n({name:"CloseOutline",render:function(s,l){return o(),e("svg",S,F)}}),q={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},I=t("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),P=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),R=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),U=[I,P,R],pn=n({name:"CloudDownloadOutline",render:function(s,l){return o(),e("svg",q,U)}}),G={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},W=t("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),N=t("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),J=[W,N],mn=n({name:"CompassOutline",render:function(s,l){return o(),e("svg",G,J)}}),K={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Q=t("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),X=t("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Y=[Q,X],gn=n({name:"EyeOutline",render:function(s,l){return o(),e("svg",K,Y)}}),Z={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t1=t("path",{d:"M112 320c0-93 124-165 96-272c66 0 192 96 192 272a144 144 0 0 1-288 0z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),n1=t("path",{d:"M320 368c0 57.71-32 80-64 80s-64-22.29-64-80s40-86 32-128c42 0 96 70.29 96 128z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),o1=[t1,n1],vn=n({name:"FlameOutline",render:function(s,l){return o(),e("svg",Z,o1)}}),e1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},r1=t("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),s1=[r1],$n=n({name:"Heart",render:function(s,l){return o(),e("svg",e1,s1)}}),l1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},i1=t("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),c1=[i1],fn=n({name:"HeartOutline",render:function(s,l){return o(),e("svg",l1,c1)}}),h1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},d1=t("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),a1=t("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),w1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),u1=[d1,a1,w1],Cn=n({name:"HomeOutline",render:function(s,l){return o(),e("svg",h1,u1)}}),_1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k1=t("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),x1=t("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),p1=t("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),m1=t("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),g1=[k1,x1,p1,m1],Mn=n({name:"ImageOutline",render:function(s,l){return o(),e("svg",_1,g1)}}),v1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},$1=t("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),f1=t("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),C1=[$1,f1],zn=n({name:"LeafOutline",render:function(s,l){return o(),e("svg",v1,C1)}}),M1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},z1=t("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),O1=t("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),j1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),B1=[z1,O1,j1],On=n({name:"LinkOutline",render:function(s,l){return o(),e("svg",M1,B1)}}),L1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},H1=t("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),V1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),A1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),b1=[H1,V1,A1],jn=n({name:"LogOutOutline",render:function(s,l){return o(),e("svg",L1,b1)}}),y1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},D1=t("path",{d:"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7c-39.82 48.57-91.18 78-144.5 78c-90.18 0-120.8-78.22-78.1-129.72c9.31-11.22 25.15-21.94 49.73-28c38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89c60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23c-34.74 30-13.94 84.93 56.37 84.93c40.87 0 81.71-25.9 113.79-67.37c-41.36-20-77-34.85-114.4-34.42z",fill:"currentColor"},null,-1),S1=[D1],Bn=n({name:"LogoAlipay",render:function(s,l){return o(),e("svg",y1,S1)}}),T1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},E1=i('',6),F1=[E1],Ln=n({name:"MegaphoneOutline",render:function(s,l){return o(),e("svg",T1,F1)}}),q1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},I1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"44",d:"M358.62 129.28L86.49 402.08L70 442l39.92-16.49l272.8-272.13l-24.1-24.1z"},null,-1),P1=t("path",{d:"M413.07 74.84l-11.79 11.78l24.1 24.1l11.79-11.79a16.51 16.51 0 0 0 0-23.34l-.75-.75a16.51 16.51 0 0 0-23.35 0z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"44"},null,-1),R1=[I1,P1],Hn=n({name:"Pencil",render:function(s,l){return o(),e("svg",q1,R1)}}),U1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},G1=t("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),W1=t("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),N1=t("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),J1=t("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),K1=[G1,W1,N1,J1],Vn=n({name:"PeopleOutline",render:function(s,l){return o(),e("svg",U1,K1)}}),Q1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},X1=t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),Y1=[X1],An=n({name:"Search",render:function(s,l){return o(),e("svg",Q1,Y1)}}),Z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tt=t("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),nt=[tt],bn=n({name:"SettingsOutline",render:function(s,l){return o(),e("svg",Z1,nt)}}),ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},et=t("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),rt=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),st=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),lt=[et,rt,st],yn=n({name:"ShareOutline",render:function(s,l){return o(),e("svg",ot,lt)}}),it={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ct=i('',5),ht=[ct],Dn=n({name:"ShareSocialOutline",render:function(s,l){return o(),e("svg",it,ht)}}),dt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},at=t("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),wt=t("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),ut=[at,wt],Sn=n({name:"VideocamOutline",render:function(s,l){return o(),e("svg",dt,ut)}}),_t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},kt=t("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),xt=t("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),pt=t("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),mt=[kt,xt,pt],Tn=n({name:"WalletOutline",render:function(s,l){return o(),e("svg",_t,mt)}}),gt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},vt=t("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),t("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),t("path",{d:"M16 5l3 3"})],-1),$t=[vt],En=n({name:"Edit",render:function(s,l){return o(),e("svg",gt,$t)}}),ft={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ct=i('',1),Mt=[Ct],Fn=n({name:"Hash",render:function(s,l){return o(),e("svg",ft,Mt)}}),zt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ot=i('',1),jt=[Ot],qn=n({name:"Trash",render:function(s,l){return o(),e("svg",zt,jt)}}),Bt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Lt=t("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",fill:"currentColor"},null,-1),Ht=[Lt],In=n({name:"ChevronLeftRound",render:function(s,l){return o(),e("svg",Bt,Ht)}}),Vt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},At=t("path",{d:"M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z",fill:"currentColor"},null,-1),bt=[At],Pn=n({name:"DarkModeOutlined",render:function(s,l){return o(),e("svg",Vt,bt)}}),yt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Dt=t("path",{d:"M2 17c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1z",fill:"currentColor"},null,-1),St=[Dt],Rn=n({name:"DehazeRound",render:function(s,l){return o(),e("svg",yt,St)}}),Tt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Et=t("path",{d:"M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3s-3-1.35-3-3s1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5s5-2.24 5-5s-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z",fill:"currentColor"},null,-1),Ft=[Et],Un=n({name:"LightModeOutlined",render:function(s,l){return o(),e("svg",Tt,Ft)}}),qt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},It=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),Pt=[It],Gn=n({name:"MoreHorizFilled",render:function(s,l){return o(),e("svg",qt,Pt)}}),Rt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ut=t("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),Gt=[Ut],Wn=n({name:"MoreVertOutlined",render:function(s,l){return o(),e("svg",Rt,Gt)}}),Wt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Nt=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Jt=[Nt],Nn=n({name:"ThumbDownOutlined",render:function(s,l){return o(),e("svg",Wt,Jt)}}),Kt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Qt=t("path",{opacity:".3",d:"M3 12v2h9l-1.34 5.34L15 15V5H6z",fill:"currentColor"},null,-1),Xt=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Yt=[Qt,Xt],Jn=n({name:"ThumbDownTwotone",render:function(s,l){return o(),e("svg",Kt,Yt)}}),Zt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},tn=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),nn=[tn],Kn=n({name:"ThumbUpOutlined",render:function(s,l){return o(),e("svg",Zt,nn)}}),on={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},en=t("path",{opacity:".3",d:"M21 12v-2h-9l1.34-5.34L9 9v10h9z",fill:"currentColor"},null,-1),rn=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),sn=[en,rn],Qn=n({name:"ThumbUpTwotone",render:function(s,l){return o(),e("svg",on,sn)}});export{cn as A,an as B,un as C,Rn as D,gn as E,vn as F,Un as G,Cn as H,Mn as I,Pn as J,zn as L,Ln as M,Vn as P,An as S,qn as T,Sn as V,Tn as W,bn as a,Fn as b,jn as c,mn as d,Kn as e,Qn as f,Nn as g,Jn as h,Gn as i,fn as j,$n as k,wn as l,dn as m,hn as n,Dn as o,Hn as p,Wn as q,yn as r,kn as s,xn as t,_n as u,On as v,pn as w,Bn as x,En as y,In as z}; diff --git a/web/dist/assets/@vicons-d502290a.js b/web/dist/assets/@vicons-d502290a.js deleted file mode 100644 index 48891a75..00000000 --- a/web/dist/assets/@vicons-d502290a.js +++ /dev/null @@ -1 +0,0 @@ -import{d as n,o,c as e,a as t,b as i}from"./@vue-e0e89260.js";const c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},h=t("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),d=[h],Zt=n({name:"AttachOutline",render:function(s,l){return o(),e("svg",c,d)}}),a={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=t("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),u=[w],tn=n({name:"Bookmark",render:function(s,l){return o(),e("svg",a,u)}}),_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k=t("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),x=[k],nn=n({name:"BookmarkOutline",render:function(s,l){return o(),e("svg",_,x)}}),p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},m=t("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),g=t("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),v=[m,g],on=n({name:"BookmarksOutline",render:function(s,l){return o(),e("svg",p,v)}}),$={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},f=t("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),C=[f],en=n({name:"ChatboxOutline",render:function(s,l){return o(),e("svg",$,C)}}),M={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},z=t("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),O=t("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),j=[z,O],rn=n({name:"ChatbubblesOutline",render:function(s,l){return o(),e("svg",M,j)}}),B={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},L=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),H=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),V=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),A=[L,H,V],sn=n({name:"CheckmarkDoneOutline",render:function(s,l){return o(),e("svg",B,A)}}),b={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),S=[y],ln=n({name:"CheckmarkOutline",render:function(s,l){return o(),e("svg",b,S)}}),D={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),E=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),q=[T,E],cn=n({name:"CloseOutline",render:function(s,l){return o(),e("svg",D,q)}}),R={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},U=t("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),F=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),I=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),P=[U,F,I],hn=n({name:"CloudDownloadOutline",render:function(s,l){return o(),e("svg",R,P)}}),W={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},N=t("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),G=t("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),J=[N,G],dn=n({name:"CompassOutline",render:function(s,l){return o(),e("svg",W,J)}}),K={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Q=t("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),X=t("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Y=[Q,X],an=n({name:"EyeOutline",render:function(s,l){return o(),e("svg",K,Y)}}),Z={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t1=t("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),n1=[t1],wn=n({name:"Heart",render:function(s,l){return o(),e("svg",Z,n1)}}),o1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},e1=t("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),r1=[e1],un=n({name:"HeartOutline",render:function(s,l){return o(),e("svg",o1,r1)}}),s1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},l1=t("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),i1=t("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),c1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),h1=[l1,i1,c1],_n=n({name:"HomeOutline",render:function(s,l){return o(),e("svg",s1,h1)}}),d1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},a1=t("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),w1=t("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),u1=t("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),_1=t("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),k1=[a1,w1,u1,_1],kn=n({name:"ImageOutline",render:function(s,l){return o(),e("svg",d1,k1)}}),x1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},p1=t("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),m1=t("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),g1=[p1,m1],xn=n({name:"LeafOutline",render:function(s,l){return o(),e("svg",x1,g1)}}),v1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},$1=t("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),f1=t("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),C1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),M1=[$1,f1,C1],pn=n({name:"LinkOutline",render:function(s,l){return o(),e("svg",v1,M1)}}),z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},O1=t("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),j1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),B1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),L1=[O1,j1,B1],mn=n({name:"LogOutOutline",render:function(s,l){return o(),e("svg",z1,L1)}}),H1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},V1=t("path",{d:"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7c-39.82 48.57-91.18 78-144.5 78c-90.18 0-120.8-78.22-78.1-129.72c9.31-11.22 25.15-21.94 49.73-28c38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89c60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23c-34.74 30-13.94 84.93 56.37 84.93c40.87 0 81.71-25.9 113.79-67.37c-41.36-20-77-34.85-114.4-34.42z",fill:"currentColor"},null,-1),A1=[V1],gn=n({name:"LogoAlipay",render:function(s,l){return o(),e("svg",H1,A1)}}),b1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y1=i('',6),S1=[y1],vn=n({name:"MegaphoneOutline",render:function(s,l){return o(),e("svg",b1,S1)}}),D1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T1=t("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),E1=t("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),q1=t("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),R1=t("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),U1=[T1,E1,q1,R1],$n=n({name:"PeopleOutline",render:function(s,l){return o(),e("svg",D1,U1)}}),F1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},I1=t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),P1=[I1],fn=n({name:"Search",render:function(s,l){return o(),e("svg",F1,P1)}}),W1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},N1=t("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),G1=[N1],Cn=n({name:"SettingsOutline",render:function(s,l){return o(),e("svg",W1,G1)}}),J1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},K1=t("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Q1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),X1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),Y1=[K1,Q1,X1],Mn=n({name:"ShareOutline",render:function(s,l){return o(),e("svg",J1,Y1)}}),Z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tt=i('',5),nt=[tt],zn=n({name:"ShareSocialOutline",render:function(s,l){return o(),e("svg",Z1,nt)}}),ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},et=t("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),rt=t("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),st=[et,rt],On=n({name:"VideocamOutline",render:function(s,l){return o(),e("svg",ot,st)}}),lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},it=t("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ct=t("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),ht=t("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),dt=[it,ct,ht],jn=n({name:"WalletOutline",render:function(s,l){return o(),e("svg",lt,dt)}}),at={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},wt=t("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),t("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),t("path",{d:"M16 5l3 3"})],-1),ut=[wt],Bn=n({name:"Edit",render:function(s,l){return o(),e("svg",at,ut)}}),_t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},kt=i('',1),xt=[kt],Ln=n({name:"Hash",render:function(s,l){return o(),e("svg",_t,xt)}}),pt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},mt=i('',1),gt=[mt],Hn=n({name:"Trash",render:function(s,l){return o(),e("svg",pt,gt)}}),vt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},$t=t("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",fill:"currentColor"},null,-1),ft=[$t],Vn=n({name:"ChevronLeftRound",render:function(s,l){return o(),e("svg",vt,ft)}}),Ct={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Mt=t("path",{d:"M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z",fill:"currentColor"},null,-1),zt=[Mt],An=n({name:"DarkModeOutlined",render:function(s,l){return o(),e("svg",Ct,zt)}}),Ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},jt=t("path",{d:"M2 17c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1z",fill:"currentColor"},null,-1),Bt=[jt],bn=n({name:"DehazeRound",render:function(s,l){return o(),e("svg",Ot,Bt)}}),Lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ht=t("path",{d:"M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3s-3-1.35-3-3s1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5s5-2.24 5-5s-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z",fill:"currentColor"},null,-1),Vt=[Ht],yn=n({name:"LightModeOutlined",render:function(s,l){return o(),e("svg",Lt,Vt)}}),At={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},bt=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),yt=[bt],Sn=n({name:"MoreHorizFilled",render:function(s,l){return o(),e("svg",At,yt)}}),St={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Dt=t("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),Tt=[Dt],Dn=n({name:"MoreVertOutlined",render:function(s,l){return o(),e("svg",St,Tt)}}),Et={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},qt=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Rt=[qt],Tn=n({name:"ThumbDownOutlined",render:function(s,l){return o(),e("svg",Et,Rt)}}),Ut={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ft=t("path",{opacity:".3",d:"M3 12v2h9l-1.34 5.34L15 15V5H6z",fill:"currentColor"},null,-1),It=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Pt=[Ft,It],En=n({name:"ThumbDownTwotone",render:function(s,l){return o(),e("svg",Ut,Pt)}}),Wt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Nt=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),Gt=[Nt],qn=n({name:"ThumbUpOutlined",render:function(s,l){return o(),e("svg",Wt,Gt)}}),Jt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Kt=t("path",{opacity:".3",d:"M21 12v-2h-9l1.34-5.34L9 9v10h9z",fill:"currentColor"},null,-1),Qt=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),Xt=[Kt,Qt],Rn=n({name:"ThumbUpTwotone",render:function(s,l){return o(),e("svg",Jt,Xt)}});export{Zt as A,on as B,rn as C,bn as D,an as E,An as F,_n as H,kn as I,xn as L,vn as M,$n as P,fn as S,Hn as T,On as V,jn as W,Cn as a,Ln as b,mn as c,dn as d,qn as e,Rn as f,Tn as g,En as h,Sn as i,un as j,wn as k,en as l,nn as m,tn as n,zn as o,Dn as p,Mn as q,ln as r,cn as s,sn as t,pn as u,hn as v,gn as w,Bn as x,Vn as y,yn as z}; diff --git a/web/dist/assets/Anouncement-70463bac.js b/web/dist/assets/Anouncement-6a8404c2.js similarity index 88% rename from web/dist/assets/Anouncement-70463bac.js rename to web/dist/assets/Anouncement-6a8404c2.js index 476a4cb0..95fcd519 100644 --- a/web/dist/assets/Anouncement-70463bac.js +++ b/web/dist/assets/Anouncement-6a8404c2.js @@ -1 +1 @@ -import{_ as F}from"./post-skeleton-627d3fc3.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{u as V}from"./vuex-473b3783.js";import{b as z}from"./vue-router-b8e3382f.js";import{a as A}from"./formatTime-cdf4e6f1.js";import{d as R,r as n,j as S,c as o,V as a,a1 as p,o as e,_ as u,O as l,F as I,a4 as L,Q as M,a as s,M as _,L as O}from"./@vue-e0e89260.js";import{F as P,G as j,I as q,H as D}from"./naive-ui-62663ad7.js";import{_ as E}from"./index-8b4e1776.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./@vicons-d502290a.js";import"./moment-2ab8298d.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const G={key:0,class:"pagination-wrap"},H={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},$=R({__name:"Anouncement",setup(J){const d=V(),g=z(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return S(()=>{}),(m,K)=>{const y=N,k=j,x=F,w=q,B=D,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",G,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",H,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",Q,[r.value.length===0?(e(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(A)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=E($,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; +import{_ as F}from"./post-skeleton-435c2090.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{u as V}from"./vuex-473b3783.js";import{b as z}from"./vue-router-b8e3382f.js";import{a as A}from"./formatTime-cdf4e6f1.js";import{d as R,r as n,j as S,c as o,V as a,a1 as p,o as e,_ as u,O as l,F as I,a4 as L,Q as M,a as s,M as _,L as O}from"./@vue-e0e89260.js";import{F as P,G as j,I as q,H as D}from"./naive-ui-62663ad7.js";import{_ as E}from"./index-2e014601.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./@vicons-b553c29f.js";import"./moment-2ab8298d.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const G={key:0,class:"pagination-wrap"},H={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},$=R({__name:"Anouncement",setup(J){const d=V(),g=z(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return S(()=>{}),(m,K)=>{const y=N,k=j,x=F,w=q,B=D,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",G,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",H,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",Q,[r.value.length===0?(e(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(A)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=E($,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; diff --git a/web/dist/assets/Collection-c6d4e201.js b/web/dist/assets/Collection-c6d4e201.js deleted file mode 100644 index 914852e4..00000000 --- a/web/dist/assets/Collection-c6d4e201.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as P,a as S}from"./post-item.vue_vue_type_style_index_0_lang-cf654b7f.js";import{_ as V}from"./post-skeleton-627d3fc3.js";import{_ as $}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{u as I}from"./vuex-473b3783.js";import{b as N}from"./vue-router-b8e3382f.js";import{K as R,_ as j}from"./index-8b4e1776.js";import{d as q,r as s,j as E,c as o,V as e,a1 as c,_ as g,O as v,o as t,F as f,a4 as h,Q as k}from"./@vue-e0e89260.js";import{F as G,G as H,I as K,H as L}from"./naive-ui-62663ad7.js";import"./content-c0ce69b7.js";import"./@vicons-d502290a.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={key:1},A={key:2},D={key:0,class:"pagination-wrap"},J=q({__name:"Collection",setup(W){const m=I(),y=N(),_=s(!1),i=s([]),p=s(+y.query.p||1),l=s(20),r=s(0),u=()=>{_.value=!0,R({page:p.value,page_size:l.value}).then(n=>{_.value=!1,i.value=n.list,r.value=Math.ceil(n.pager.total_rows/l.value),window.scrollTo(0,0)}).catch(n=>{_.value=!1})},w=n=>{p.value=n,u()};return E(()=>{u()}),(n,X)=>{const C=$,b=V,x=K,z=P,d=L,B=S,F=G,M=H;return t(),o("div",null,[e(C,{title:"收藏"}),e(F,{class:"main-content-wrap",bordered:""},{default:c(()=>[_.value?(t(),o("div",O,[e(b,{num:l.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[e(x,{size:"large",description:"暂无数据"})])):v("",!0),g(m).state.desktopModelShow?(t(),o("div",U,[(t(!0),o(f,null,h(i.value,a=>(t(),k(d,{key:a.id},{default:c(()=>[e(z,{post:a},null,8,["post"])]),_:2},1024))),128))])):(t(),o("div",A,[(t(!0),o(f,null,h(i.value,a=>(t(),k(d,{key:a.id},{default:c(()=>[e(B,{post:a},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),r.value>0?(t(),o("div",D,[e(M,{page:p.value,"onUpdate:page":w,"page-slot":g(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):v("",!0)])}}});const Mt=j(J,[["__scopeId","data-v-a5302c9b"]]);export{Mt as default}; diff --git a/web/dist/assets/Collection-e5a0e84c.js b/web/dist/assets/Collection-e5a0e84c.js new file mode 100644 index 00000000..d95ea641 --- /dev/null +++ b/web/dist/assets/Collection-e5a0e84c.js @@ -0,0 +1 @@ +import{_ as P,a as S}from"./post-item.vue_vue_type_style_index_0_lang-0c31f78f.js";import{_ as V}from"./post-skeleton-435c2090.js";import{_ as $}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{u as I}from"./vuex-473b3783.js";import{b as L}from"./vue-router-b8e3382f.js";import{L as N,_ as R}from"./index-2e014601.js";import{d as j,r as s,j as q,c as o,V as e,a1 as c,_ as g,O as v,o as t,F as f,a4 as h,Q as k}from"./@vue-e0e89260.js";import{F as E,G,I as H,H as O}from"./naive-ui-62663ad7.js";import"./content-a356c23e.js";import"./@vicons-b553c29f.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Q={key:0,class:"skeleton-wrap"},T={key:1},U={key:0,class:"empty-wrap"},A={key:1},D={key:2},J={key:0,class:"pagination-wrap"},K=j({__name:"Collection",setup(W){const m=I(),y=L(),_=s(!1),i=s([]),p=s(+y.query.p||1),l=s(20),r=s(0),u=()=>{_.value=!0,N({page:p.value,page_size:l.value}).then(n=>{_.value=!1,i.value=n.list,r.value=Math.ceil(n.pager.total_rows/l.value),window.scrollTo(0,0)}).catch(n=>{_.value=!1})},w=n=>{p.value=n,u()};return q(()=>{u()}),(n,X)=>{const C=$,b=V,x=H,z=P,d=O,B=S,F=E,M=G;return t(),o("div",null,[e(C,{title:"收藏"}),e(F,{class:"main-content-wrap",bordered:""},{default:c(()=>[_.value?(t(),o("div",Q,[e(b,{num:l.value},null,8,["num"])])):(t(),o("div",T,[i.value.length===0?(t(),o("div",U,[e(x,{size:"large",description:"暂无数据"})])):v("",!0),g(m).state.desktopModelShow?(t(),o("div",A,[(t(!0),o(f,null,h(i.value,a=>(t(),k(d,{key:a.id},{default:c(()=>[e(z,{post:a},null,8,["post"])]),_:2},1024))),128))])):(t(),o("div",D,[(t(!0),o(f,null,h(i.value,a=>(t(),k(d,{key:a.id},{default:c(()=>[e(B,{post:a},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),r.value>0?(t(),o("div",J,[e(M,{page:p.value,"onUpdate:page":w,"page-slot":g(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):v("",!0)])}}});const Mt=R(K,[["__scopeId","data-v-a5302c9b"]]);export{Mt as default}; diff --git a/web/dist/assets/Contacts-89899ea7.js b/web/dist/assets/Contacts-ce38b36c.js similarity index 67% rename from web/dist/assets/Contacts-89899ea7.js rename to web/dist/assets/Contacts-ce38b36c.js index dfa5b31d..970ff74f 100644 --- a/web/dist/assets/Contacts-89899ea7.js +++ b/web/dist/assets/Contacts-ce38b36c.js @@ -1 +1 @@ -import{u as M,b as P}from"./vue-router-b8e3382f.js";import{d as k,o as e,c as n,a as s,V as a,M as d,r as c,j as R,a1 as f,_ as S,O as h,F as y,a4 as U,Q as q}from"./@vue-e0e89260.js";import{o as x,F as D,G as T,I as j,H as E}from"./naive-ui-62663ad7.js";import{_ as b,N as G}from"./index-8b4e1776.js";import{_ as H}from"./post-skeleton-627d3fc3.js";import{_ as L}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{u as O}from"./vuex-473b3783.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./@vicons-d502290a.js";/* empty css */const Q={class:"avatar"},A={class:"base-info"},J={class:"username"},K={class:"uid"},W=k({__name:"contact-item",props:{contact:{}},setup(C){const l=M(),u=t=>{l.push({name:"user",query:{username:t}})};return(t,o)=>{const _=x;return e(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=r=>u(t.contact.username))},[s("div",Q,[a(_,{size:"large",src:t.contact.avatar},null,8,["src"])]),s("div",A,[s("div",J,[s("strong",null,d(t.contact.nickname),1),s("span",null," @"+d(t.contact.username),1)]),s("div",K,"UID. "+d(t.contact.user_id),1)])])}}});const X=b(W,[["__scopeId","data-v-08ee9b2e"]]),Y={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=k({__name:"Contacts",setup(C){const l=O(),u=P(),t=c(!1),o=c([]),_=c(+u.query.p||1),r=c(20),m=c(0),w=i=>{_.value=i,v()};R(()=>{v()});const v=(i=!1)=>{o.value.length===0&&(t.value=!0),G({page:_.value,page_size:r.value}).then(p=>{t.value=!1,o.value=p.list,m.value=Math.ceil(p.pager.total_rows/r.value),i&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(p=>{t.value=!1})};return(i,p)=>{const $=L,I=H,z=j,B=X,N=E,V=D,F=T;return e(),n(y,null,[s("div",null,[a($,{title:"好友"}),a(V,{class:"main-content-wrap",bordered:""},{default:f(()=>[t.value?(e(),n("div",Y,[a(I,{num:r.value},null,8,["num"])])):(e(),n("div",Z,[o.value.length===0?(e(),n("div",tt,[a(z,{size:"large",description:"暂无数据"})])):h("",!0),(e(!0),n(y,null,U(o.value,g=>(e(),q(N,{key:g.user_id},{default:f(()=>[a(B,{contact:g},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),m.value>0?(e(),n("div",et,[a(F,{page:_.value,"onUpdate:page":w,"page-slot":S(l).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):h("",!0)],64)}}});const zt=b(ot,[["__scopeId","data-v-3b2bf978"]]);export{zt as default}; +import{u as N,b as P}from"./vue-router-b8e3382f.js";import{d as k,o as e,c as n,a as s,V as a,M as d,r as c,j as R,a1 as f,_ as S,O as h,F as y,a4 as U,Q as q}from"./@vue-e0e89260.js";import{o as x,F as D,G as O,I as T,H as j}from"./naive-ui-62663ad7.js";import{_ as b,O as E}from"./index-2e014601.js";import{_ as G}from"./post-skeleton-435c2090.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{u as L}from"./vuex-473b3783.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./@vicons-b553c29f.js";/* empty css */const Q={class:"avatar"},A={class:"base-info"},J={class:"username"},K={class:"uid"},W=k({__name:"contact-item",props:{contact:{}},setup(C){const l=N(),u=t=>{l.push({name:"user",query:{username:t}})};return(t,o)=>{const _=x;return e(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=r=>u(t.contact.username))},[s("div",Q,[a(_,{size:"large",src:t.contact.avatar},null,8,["src"])]),s("div",A,[s("div",J,[s("strong",null,d(t.contact.nickname),1),s("span",null," @"+d(t.contact.username),1)]),s("div",K,"UID. "+d(t.contact.user_id),1)])])}}});const X=b(W,[["__scopeId","data-v-08ee9b2e"]]),Y={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=k({__name:"Contacts",setup(C){const l=L(),u=P(),t=c(!1),o=c([]),_=c(+u.query.p||1),r=c(20),m=c(0),w=i=>{_.value=i,v()};R(()=>{v()});const v=(i=!1)=>{o.value.length===0&&(t.value=!0),E({page:_.value,page_size:r.value}).then(p=>{t.value=!1,o.value=p.list,m.value=Math.ceil(p.pager.total_rows/r.value),i&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(p=>{t.value=!1})};return(i,p)=>{const $=H,I=G,z=T,B=X,V=j,F=D,M=O;return e(),n(y,null,[s("div",null,[a($,{title:"好友"}),a(F,{class:"main-content-wrap",bordered:""},{default:f(()=>[t.value?(e(),n("div",Y,[a(I,{num:r.value},null,8,["num"])])):(e(),n("div",Z,[o.value.length===0?(e(),n("div",tt,[a(z,{size:"large",description:"暂无数据"})])):h("",!0),(e(!0),n(y,null,U(o.value,g=>(e(),q(V,{key:g.user_id},{default:f(()=>[a(B,{contact:g},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),m.value>0?(e(),n("div",et,[a(M,{page:_.value,"onUpdate:page":w,"page-slot":S(l).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):h("",!0)],64)}}});const zt=b(ot,[["__scopeId","data-v-3b2bf978"]]);export{zt as default}; diff --git a/web/dist/assets/Home-369fedb9.js b/web/dist/assets/Home-f521e247.js similarity index 97% rename from web/dist/assets/Home-369fedb9.js rename to web/dist/assets/Home-f521e247.js index 8e9ac1fe..3f1c4c21 100644 --- a/web/dist/assets/Home-369fedb9.js +++ b/web/dist/assets/Home-f521e247.js @@ -1 +1 @@ -import{_ as Te,a as qe}from"./post-item.vue_vue_type_style_index_0_lang-cf654b7f.js";import{_ as xe}from"./post-skeleton-627d3fc3.js";import{d as Y,r as i,j as ee,o as c,c as v,_ as $,a as x,V as a,a1 as s,Q as L,O as T,a2 as Z,e as S,M as X,F as K,a4 as J,n as Ie,w as ze}from"./@vue-e0e89260.js";import{u as te}from"./vuex-473b3783.js";import{l as W}from"./lodash-94eb5868.js";import{g as Ue,a as Re,c as Ae,b as Ee,_ as Pe}from"./index-8b4e1776.js";import{p as Se}from"./content-c0ce69b7.js";import{V as z,P as N}from"./IEnum-a180d93e.js";import{I as Le,V as Ve,A as Ne,d as Fe,E as Be}from"./@vicons-d502290a.js";import{o as Me,v as Oe,j as je,e as De,w as He,x as Ge,y as Ke,z as Je,A as Qe,B as Ze,C as Xe,a as We,D as Ye,E as et,F as tt,G as at,H as ot,I as nt}from"./naive-ui-62663ad7.js";import{_ as st}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{b as lt,u as it}from"./vue-router-b8e3382f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-aa5e8b3f.js";const rt=F=>{const q=new FileReader,r=_=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(_),I=()=>{const _=new Uint8Array(q.result).subarray(0,4);let d="";for(let p=0;p<_.length;p++)d+=_[p].toString(16);switch(d){case"504b0304":case"504b0506":case"504b0708":return r("application/zip");case"504b030414":return r("application/x-zip-compressed");case"504b0508":return r("application/x-zip");case"504b5370":return r("application/octet-stream");default:return!1}};return new Promise((_,d)=>{q.onloadend=()=>{const p=F.type;_(p===""||p==="application/octet-stream"?I():r(p))},q.readAsArrayBuffer(F.slice(0,4))})},ut={key:0,class:"compose-wrap"},ct={class:"compose-line"},pt={class:"compose-user"},_t={class:"compose-line compose-options"},dt={class:"attachment"},mt={class:"submit-wrap"},vt={class:"attachment-list-wrap"},gt={key:0,class:"attachment-price-wrap"},ft=x("span",null," 附件价格¥",-1),yt={key:0,class:"eye-wrap"},ht={key:1,class:"link-wrap"},wt={key:1,class:"compose-wrap"},bt=x("div",{class:"login-wrap"},[x("span",{class:"login-banner"}," 登录后,精彩更多")],-1),kt={key:0,class:"login-only-wrap"},Ct={key:1,class:"login-wrap"},$t=Y({__name:"compose",emits:["post-success"],setup(F,{emit:q}){const r=te(),I=i([]),_=i(!1),d=i(!1),p=i(!1),b=i(!1),w=i(""),U=i([]),E=i(),V=i(0),f=i("public/image"),u=i([]),h=i([]),k=i([]),y=i([]),C=i(z.FRIEND),R=i(z.FRIEND),M=[{value:z.PUBLIC,label:"公开"},{value:z.PRIVATE,label:"私密"},{value:z.FRIEND,label:"好友可见"}],P=+"400",B=i("true".toLowerCase()==="true"),O=i("true".toLowerCase()==="true"),j=i("true".toLowerCase()==="true"),A=i("false".toLowerCase()==="true"),ae=i("true".toLowerCase()==="true"),oe="/v1/attachment",Q=i(),ne=()=>{p.value=!p.value,p.value&&b.value&&(b.value=!1)},se=()=>{b.value=!b.value,b.value&&p.value&&(p.value=!1)},le=W.debounce(t=>{Ue({k:t}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,_.value=!1}).catch(e=>{_.value=!1})},200),ie=W.debounce(t=>{Re({k:t}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,_.value=!1}).catch(e=>{_.value=!1})},200),re=(t,e)=>{_.value||(_.value=!0,e==="@"?le(t):ie(t))},ue=t=>{t.length>P?w.value=t.substring(0,P):w.value=t},D=t=>{f.value=t},ce=t=>{for(let l=0;l30&&(t[l].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}u.value=t},pe=async t=>{var e,n,o,l,g;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=t.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((n=t.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):f.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=t.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):f.value==="public/video"&&((l=t.file.file)==null?void 0:l.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):f.value==="attachment"&&!await rt(t.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):f.value==="attachment"&&((g=t.file.file)==null?void 0:g.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:t,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(f.value==="public/image"&&h.value.push({id:t.id,content:o.data.content}),f.value==="public/video"&&k.value.push({id:t.id,content:o.data.content}),f.value==="attachment"&&y.value.push({id:t.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:t,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let l=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(g=>{l+=":"+g}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},me=({file:t})=>{let e=h.value.findIndex(n=>n.id===t.id);e>-1&&h.value.splice(e,1),e=k.value.findIndex(n=>n.id===t.id),e>-1&&k.value.splice(e,1),e=y.value.findIndex(n=>n.id===t.id),e>-1&&y.value.splice(e,1)},ve=()=>{if(w.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:t,users:e}=Se(w.value);const n=[];let o=100;n.push({content:w.value,type:N.TEXT,sort:o}),h.value.map(l=>{o++,n.push({content:l.content,type:N.IMAGEURL,sort:o})}),k.value.map(l=>{o++,n.push({content:l.content,type:N.VIDEOURL,sort:o})}),y.value.map(l=>{o++,n.push({content:l.content,type:N.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(l=>{o++,n.push({content:l,type:N.LINKURL,sort:o})}),d.value=!0,Ae({contents:n,tags:Array.from(new Set(t)),users:Array.from(new Set(e)),attachment_price:+V.value*100,visibility:C.value}).then(l=>{var g;window.$message.success("发布成功"),d.value=!1,q("post-success",l),p.value=!1,b.value=!1,(g=E.value)==null||g.clear(),u.value=[],w.value="",U.value=[],h.value=[],k.value=[],y.value=[],C.value=R.value}).catch(l=>{d.value=!1})},H=t=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",t)};return ee(()=>{"friend".toLowerCase()==="friend"?R.value=z.FRIEND:"friend".toLowerCase()==="public"?R.value=z.PUBLIC:R.value=z.PRIVATE,C.value=R.value,Q.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(t,e)=>{const n=Me,o=Oe,l=je,g=De,G=He,ge=Ge,fe=Ke,ye=Je,he=Qe,we=Ze,be=Xe,ke=We,Ce=Ye,$e=et;return c(),v("div",null,[$(r).state.userInfo.id>0?(c(),v("div",ut,[x("div",ct,[x("div",pt,[a(n,{round:"",size:30,src:$(r).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:_.value,value:w.value,prefix:["@","#"],options:I.value,onSearch:re,"onUpdate:value":ue,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(we,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:Q.value},data:{type:f.value},"file-list":u.value,onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[x("div",_t,[x("div",dt,[a(G,{abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value==="public/video"||u.value.length===9,onClick:()=>{D("public/image"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),O.value?(c(),L(G,{key:0,abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value!=="public/video"||u.value.length===9,onClick:()=>{D("public/video"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Ve))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),j.value?(c(),L(G,{key:1,abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value==="public/video"||u.value.length===9,onClick:()=>{D("attachment"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),a(g,{quaternary:"",circle:"",type:"primary",onClick:Z(ne,["stop"])},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Fe))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),L(g,{key:2,quaternary:"",circle:"",type:"primary",onClick:Z(se,["stop"])},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Be))]),_:1})]),_:1},8,["onClick"])):T("",!0)]),x("div",mt,[a(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[a(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:w.value.length/$(P)*100},null,8,["percentage"])]),default:s(()=>[S(" "+X(w.value.length)+" / "+X($(P)),1)]),_:1}),a(g,{loading:d.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[S(" 发布 ")]),_:1},8,["loading"])])]),x("div",vt,[a(ye),y.value.length>0?(c(),v("div",gt,[A.value?(c(),L(he,{key:0,value:V.value,"onUpdate:value":e[0]||(e[0]=m=>V.value=m),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[ft]),_:1},8,["value"])):T("",!0)])):T("",!0)])]),_:1},8,["headers","data","file-list"]),b.value?(c(),v("div",yt,[a(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=m=>C.value=m),name:"radiogroup"},{default:s(()=>[a(ke,null,{default:s(()=>[(c(),v(K,null,J(M,m=>a(be,{key:m.value,value:m.value,label:m.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):T("",!0),p.value?(c(),v("div",ht,[a($e,{value:U.value,"onUpdate:value":e[2]||(e[2]=m=>U.value=m),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[S(" 创建链接 ")]),_:1},8,["value"])])):T("",!0)])):(c(),v("div",wt,[bt,B.value?T("",!0):(c(),v("div",kt,[a(g,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=m=>H("signin"))},{default:s(()=>[S(" 登录 ")]),_:1})])),B.value?(c(),v("div",Ct,[a(g,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=m=>H("signin"))},{default:s(()=>[S(" 登录 ")]),_:1}),a(g,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=m=>H("signup"))},{default:s(()=>[S(" 注册 ")]),_:1})])):T("",!0)]))])}}});const Tt={key:0,class:"skeleton-wrap"},qt={key:1},xt={key:0,class:"empty-wrap"},It={key:1},zt={key:2},Ut={key:0,class:"pagination-wrap"},Rt=Y({__name:"Home",setup(F){const q=te(),r=lt(),I=it(),_=i(!1),d=i([]),p=i(+r.query.p||1),b=i(20),w=i(0),U=Ie(()=>{let u="泡泡广场";return r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?u="#"+decodeURIComponent(r.query.q):u="搜索: "+decodeURIComponent(r.query.q)),u}),E=()=>{_.value=!0,Ee({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:p.value,page_size:b.value}).then(u=>{_.value=!1,d.value=u.list,w.value=Math.ceil(u.pager.total_rows/b.value),window.scrollTo(0,0)}).catch(u=>{_.value=!1})},V=u=>{if(p.value!=1){I.push({name:"post",query:{id:u.id}});return}let h=[],k=d.value.length;k==b.value&&k--;for(var y=0;y{I.push({name:"home",query:{...r.query,p:u}})};return ee(()=>{E()}),ze(()=>({path:r.path,query:r.query,refresh:q.state.refresh}),(u,h)=>{if(u.refresh!==h.refresh){p.value=+r.query.p||1,setTimeout(()=>{E()},0);return}h.path!=="/post"&&u.path==="/"&&(p.value=+r.query.p||1,setTimeout(()=>{E()},0))}),(u,h)=>{const k=st,y=$t,C=ot,R=xe,M=nt,P=Te,B=qe,O=tt,j=at;return c(),v("div",null,[a(k,{title:U.value},null,8,["title"]),a(O,{class:"main-content-wrap",bordered:""},{default:s(()=>[a(C,null,{default:s(()=>[a(y,{onPostSuccess:V})]),_:1}),_.value?(c(),v("div",Tt,[a(R,{num:b.value},null,8,["num"])])):(c(),v("div",qt,[d.value.length===0?(c(),v("div",xt,[a(M,{size:"large",description:"暂无数据"})])):T("",!0),$(q).state.desktopModelShow?(c(),v("div",It,[(c(!0),v(K,null,J(d.value,A=>(c(),L(C,{key:A.id},{default:s(()=>[a(P,{post:A},null,8,["post"])]),_:2},1024))),128))])):(c(),v("div",zt,[(c(!0),v(K,null,J(d.value,A=>(c(),L(C,{key:A.id},{default:s(()=>[a(B,{post:A},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),w.value>0?(c(),v("div",Ut,[a(j,{page:p.value,"onUpdate:page":f,"page-slot":$(q).state.collapsedRight?5:8,"page-count":w.value},null,8,["page","page-slot","page-count"])])):T("",!0)])}}});const ca=Pe(Rt,[["__scopeId","data-v-f42b0645"]]);export{ca as default}; +import{_ as Te,a as qe}from"./post-item.vue_vue_type_style_index_0_lang-0c31f78f.js";import{_ as xe}from"./post-skeleton-435c2090.js";import{d as Y,r as i,j as ee,o as c,c as v,_ as $,a as x,V as a,a1 as s,Q as L,O as T,a2 as Z,e as S,M as X,F as K,a4 as J,n as Ie,w as ze}from"./@vue-e0e89260.js";import{u as te}from"./vuex-473b3783.js";import{l as W}from"./lodash-94eb5868.js";import{g as Ue,a as Re,c as Ae,b as Ee,_ as Pe}from"./index-2e014601.js";import{p as Se}from"./content-a356c23e.js";import{V as z,P as N}from"./IEnum-a180d93e.js";import{I as Le,V as Ve,A as Ne,d as Fe,E as Be}from"./@vicons-b553c29f.js";import{o as Me,v as Oe,j as je,e as De,w as He,x as Ge,y as Ke,z as Je,A as Qe,B as Ze,C as Xe,a as We,D as Ye,E as et,F as tt,G as at,H as ot,I as nt}from"./naive-ui-62663ad7.js";import{_ as st}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{b as lt,u as it}from"./vue-router-b8e3382f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-aa5e8b3f.js";const rt=F=>{const q=new FileReader,r=_=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(_),I=()=>{const _=new Uint8Array(q.result).subarray(0,4);let d="";for(let p=0;p<_.length;p++)d+=_[p].toString(16);switch(d){case"504b0304":case"504b0506":case"504b0708":return r("application/zip");case"504b030414":return r("application/x-zip-compressed");case"504b0508":return r("application/x-zip");case"504b5370":return r("application/octet-stream");default:return!1}};return new Promise((_,d)=>{q.onloadend=()=>{const p=F.type;_(p===""||p==="application/octet-stream"?I():r(p))},q.readAsArrayBuffer(F.slice(0,4))})},ut={key:0,class:"compose-wrap"},ct={class:"compose-line"},pt={class:"compose-user"},_t={class:"compose-line compose-options"},dt={class:"attachment"},mt={class:"submit-wrap"},vt={class:"attachment-list-wrap"},gt={key:0,class:"attachment-price-wrap"},ft=x("span",null," 附件价格¥",-1),yt={key:0,class:"eye-wrap"},ht={key:1,class:"link-wrap"},wt={key:1,class:"compose-wrap"},bt=x("div",{class:"login-wrap"},[x("span",{class:"login-banner"}," 登录后,精彩更多")],-1),kt={key:0,class:"login-only-wrap"},Ct={key:1,class:"login-wrap"},$t=Y({__name:"compose",emits:["post-success"],setup(F,{emit:q}){const r=te(),I=i([]),_=i(!1),d=i(!1),p=i(!1),b=i(!1),w=i(""),U=i([]),E=i(),V=i(0),f=i("public/image"),u=i([]),h=i([]),k=i([]),y=i([]),C=i(z.FRIEND),R=i(z.FRIEND),M=[{value:z.PUBLIC,label:"公开"},{value:z.PRIVATE,label:"私密"},{value:z.FRIEND,label:"好友可见"}],P=+"400",B=i("true".toLowerCase()==="true"),O=i("true".toLowerCase()==="true"),j=i("true".toLowerCase()==="true"),A=i("false".toLowerCase()==="true"),ae=i("true".toLowerCase()==="true"),oe="/v1/attachment",Q=i(),ne=()=>{p.value=!p.value,p.value&&b.value&&(b.value=!1)},se=()=>{b.value=!b.value,b.value&&p.value&&(p.value=!1)},le=W.debounce(t=>{Ue({k:t}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,_.value=!1}).catch(e=>{_.value=!1})},200),ie=W.debounce(t=>{Re({k:t}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,_.value=!1}).catch(e=>{_.value=!1})},200),re=(t,e)=>{_.value||(_.value=!0,e==="@"?le(t):ie(t))},ue=t=>{t.length>P?w.value=t.substring(0,P):w.value=t},D=t=>{f.value=t},ce=t=>{for(let l=0;l30&&(t[l].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}u.value=t},pe=async t=>{var e,n,o,l,g;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=t.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((n=t.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):f.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=t.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):f.value==="public/video"&&((l=t.file.file)==null?void 0:l.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):f.value==="attachment"&&!await rt(t.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):f.value==="attachment"&&((g=t.file.file)==null?void 0:g.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:t,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(f.value==="public/image"&&h.value.push({id:t.id,content:o.data.content}),f.value==="public/video"&&k.value.push({id:t.id,content:o.data.content}),f.value==="attachment"&&y.value.push({id:t.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:t,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let l=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(g=>{l+=":"+g}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},me=({file:t})=>{let e=h.value.findIndex(n=>n.id===t.id);e>-1&&h.value.splice(e,1),e=k.value.findIndex(n=>n.id===t.id),e>-1&&k.value.splice(e,1),e=y.value.findIndex(n=>n.id===t.id),e>-1&&y.value.splice(e,1)},ve=()=>{if(w.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:t,users:e}=Se(w.value);const n=[];let o=100;n.push({content:w.value,type:N.TEXT,sort:o}),h.value.map(l=>{o++,n.push({content:l.content,type:N.IMAGEURL,sort:o})}),k.value.map(l=>{o++,n.push({content:l.content,type:N.VIDEOURL,sort:o})}),y.value.map(l=>{o++,n.push({content:l.content,type:N.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(l=>{o++,n.push({content:l,type:N.LINKURL,sort:o})}),d.value=!0,Ae({contents:n,tags:Array.from(new Set(t)),users:Array.from(new Set(e)),attachment_price:+V.value*100,visibility:C.value}).then(l=>{var g;window.$message.success("发布成功"),d.value=!1,q("post-success",l),p.value=!1,b.value=!1,(g=E.value)==null||g.clear(),u.value=[],w.value="",U.value=[],h.value=[],k.value=[],y.value=[],C.value=R.value}).catch(l=>{d.value=!1})},H=t=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",t)};return ee(()=>{"friend".toLowerCase()==="friend"?R.value=z.FRIEND:"friend".toLowerCase()==="public"?R.value=z.PUBLIC:R.value=z.PRIVATE,C.value=R.value,Q.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(t,e)=>{const n=Me,o=Oe,l=je,g=De,G=He,ge=Ge,fe=Ke,ye=Je,he=Qe,we=Ze,be=Xe,ke=We,Ce=Ye,$e=et;return c(),v("div",null,[$(r).state.userInfo.id>0?(c(),v("div",ut,[x("div",ct,[x("div",pt,[a(n,{round:"",size:30,src:$(r).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:_.value,value:w.value,prefix:["@","#"],options:I.value,onSearch:re,"onUpdate:value":ue,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(we,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:Q.value},data:{type:f.value},"file-list":u.value,onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[x("div",_t,[x("div",dt,[a(G,{abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value==="public/video"||u.value.length===9,onClick:()=>{D("public/image"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),O.value?(c(),L(G,{key:0,abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value!=="public/video"||u.value.length===9,onClick:()=>{D("public/video"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Ve))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),j.value?(c(),L(G,{key:1,abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value==="public/video"||u.value.length===9,onClick:()=>{D("attachment"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),a(g,{quaternary:"",circle:"",type:"primary",onClick:Z(ne,["stop"])},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Fe))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),L(g,{key:2,quaternary:"",circle:"",type:"primary",onClick:Z(se,["stop"])},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Be))]),_:1})]),_:1},8,["onClick"])):T("",!0)]),x("div",mt,[a(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[a(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:w.value.length/$(P)*100},null,8,["percentage"])]),default:s(()=>[S(" "+X(w.value.length)+" / "+X($(P)),1)]),_:1}),a(g,{loading:d.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[S(" 发布 ")]),_:1},8,["loading"])])]),x("div",vt,[a(ye),y.value.length>0?(c(),v("div",gt,[A.value?(c(),L(he,{key:0,value:V.value,"onUpdate:value":e[0]||(e[0]=m=>V.value=m),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[ft]),_:1},8,["value"])):T("",!0)])):T("",!0)])]),_:1},8,["headers","data","file-list"]),b.value?(c(),v("div",yt,[a(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=m=>C.value=m),name:"radiogroup"},{default:s(()=>[a(ke,null,{default:s(()=>[(c(),v(K,null,J(M,m=>a(be,{key:m.value,value:m.value,label:m.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):T("",!0),p.value?(c(),v("div",ht,[a($e,{value:U.value,"onUpdate:value":e[2]||(e[2]=m=>U.value=m),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[S(" 创建链接 ")]),_:1},8,["value"])])):T("",!0)])):(c(),v("div",wt,[bt,B.value?T("",!0):(c(),v("div",kt,[a(g,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=m=>H("signin"))},{default:s(()=>[S(" 登录 ")]),_:1})])),B.value?(c(),v("div",Ct,[a(g,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=m=>H("signin"))},{default:s(()=>[S(" 登录 ")]),_:1}),a(g,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=m=>H("signup"))},{default:s(()=>[S(" 注册 ")]),_:1})])):T("",!0)]))])}}});const Tt={key:0,class:"skeleton-wrap"},qt={key:1},xt={key:0,class:"empty-wrap"},It={key:1},zt={key:2},Ut={key:0,class:"pagination-wrap"},Rt=Y({__name:"Home",setup(F){const q=te(),r=lt(),I=it(),_=i(!1),d=i([]),p=i(+r.query.p||1),b=i(20),w=i(0),U=Ie(()=>{let u="泡泡广场";return r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?u="#"+decodeURIComponent(r.query.q):u="搜索: "+decodeURIComponent(r.query.q)),u}),E=()=>{_.value=!0,Ee({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:p.value,page_size:b.value}).then(u=>{_.value=!1,d.value=u.list,w.value=Math.ceil(u.pager.total_rows/b.value),window.scrollTo(0,0)}).catch(u=>{_.value=!1})},V=u=>{if(p.value!=1){I.push({name:"post",query:{id:u.id}});return}let h=[],k=d.value.length;k==b.value&&k--;for(var y=0;y{I.push({name:"home",query:{...r.query,p:u}})};return ee(()=>{E()}),ze(()=>({path:r.path,query:r.query,refresh:q.state.refresh}),(u,h)=>{if(u.refresh!==h.refresh){p.value=+r.query.p||1,setTimeout(()=>{E()},0);return}h.path!=="/post"&&u.path==="/"&&(p.value=+r.query.p||1,setTimeout(()=>{E()},0))}),(u,h)=>{const k=st,y=$t,C=ot,R=xe,M=nt,P=Te,B=qe,O=tt,j=at;return c(),v("div",null,[a(k,{title:U.value},null,8,["title"]),a(O,{class:"main-content-wrap",bordered:""},{default:s(()=>[a(C,null,{default:s(()=>[a(y,{onPostSuccess:V})]),_:1}),_.value?(c(),v("div",Tt,[a(R,{num:b.value},null,8,["num"])])):(c(),v("div",qt,[d.value.length===0?(c(),v("div",xt,[a(M,{size:"large",description:"暂无数据"})])):T("",!0),$(q).state.desktopModelShow?(c(),v("div",It,[(c(!0),v(K,null,J(d.value,A=>(c(),L(C,{key:A.id},{default:s(()=>[a(P,{post:A},null,8,["post"])]),_:2},1024))),128))])):(c(),v("div",zt,[(c(!0),v(K,null,J(d.value,A=>(c(),L(C,{key:A.id},{default:s(()=>[a(B,{post:A},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),w.value>0?(c(),v("div",Ut,[a(j,{page:p.value,"onUpdate:page":f,"page-slot":$(q).state.collapsedRight?5:8,"page-count":w.value},null,8,["page","page-slot","page-count"])])):T("",!0)])}}});const ca=Pe(Rt,[["__scopeId","data-v-f42b0645"]]);export{ca as default}; diff --git a/web/dist/assets/Messages-5c7f33a8.js b/web/dist/assets/Messages-1aabde5b.js similarity index 71% rename from web/dist/assets/Messages-5c7f33a8.js rename to web/dist/assets/Messages-1aabde5b.js index 9a2c807c..bc6c9416 100644 --- a/web/dist/assets/Messages-5c7f33a8.js +++ b/web/dist/assets/Messages-1aabde5b.js @@ -1 +1 @@ -import{d as b,a3 as A,o as t,c as a,V as n,a1 as o,a as y,a2 as w,e as p,M as m,Q as z,O as r,_ as c,L as D,a4 as N,F as O,r as f,j as G}from"./@vue-e0e89260.js";import{u as H,b as L}from"./vue-router-b8e3382f.js";import{G as P,H as T,I as U,_ as F,J as E}from"./index-8b4e1776.js";import{a as J}from"./formatTime-cdf4e6f1.js";import{q as Q,r as K,s as q,t as W}from"./@vicons-d502290a.js";import{o as X,l as Y,j as Z,S as x,M as ee,U as se,F as ne,G as te,I as ae,H as oe}from"./naive-ui-62663ad7.js";import{_ as re}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{u as ie}from"./vuex-473b3783.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const _e={class:"sender-wrap"},le={key:0,class:"nickname"},pe={class:"username"},ue={key:1,class:"nickname"},ce={class:"timestamp"},de={class:"timestamp-txt"},me={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke="https://assets.paopao.info/public/avatar/default/admin.png",he=b({__name:"message-item",props:{message:{}},setup(I){const g=H(),k=e=>{_(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?g.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},i=e=>{_(e),P({user_id:e.sender_user_id}).then(s=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(s=>{console.log(s)})},u=e=>{_(e),T({user_id:e.sender_user_id}).then(s=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(s=>{console.log(s)})},_=e=>{e.is_read===0&&U({id:e.id}).then(s=>{e.is_read=1}).catch(s=>{console.log(s)})};return(e,s)=>{const h=X,$=A("router-link"),l=Y,d=Z,C=x,M=ee;return t(),a("div",{class:D(["message-item",{unread:e.message.is_read===0}]),onClick:s[4]||(s[4]=v=>_(e.message))},[n(M,{"content-indented":""},{avatar:o(()=>[n(h,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:ke},null,8,["src"])]),header:o(()=>[y("div",_e,[e.message.sender_user.id>0?(t(),a("span",le,[n($,{onClick:s[0]||(s[0]=w(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:o(()=>[p(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),y("span",pe," @"+m(e.message.sender_user.username),1)])):(t(),a("span",ue," 系统 "))])]),"header-extra":o(()=>[y("span",ce,[e.message.is_read===0?(t(),z(l,{key:0,dot:"",processing:""})):r("",!0),y("span",de,m(c(J)(e.message.created_on)),1)])]),description:o(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:o(()=>[e.message.type!=4?(t(),a("div",me,[p(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),a("span",{key:0,onClick:s[1]||(s[1]=w(v=>k(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(Q))]),_:1}),p(" 查看详情 ")])):r("",!0)])):r("",!0),e.message.type===4?(t(),a("div",ge,m(e.message.content),1)):r("",!0),e.message.type===5?(t(),a("div",ve,[p(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),a("span",{key:0,onClick:s[2]||(s[2]=w(v=>i(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(K))]),_:1}),p(" 同意 ")])):r("",!0),e.message.reply_id===1?(t(),a("span",{key:1,onClick:s[3]||(s[3]=w(v=>u(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(q))]),_:1}),p(" 拒绝 ")])):r("",!0),e.message.reply_id===2?(t(),a("span",fe,[n(d,null,{default:o(()=>[n(c(W))]),_:1}),p(" 已同意 ")])):r("",!0),e.message.reply_id===3?(t(),a("span",ye,[n(d,null,{default:o(()=>[n(c(q))]),_:1}),p(" 已拒绝 ")])):r("",!0)])):r("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const we=F(he,[["__scopeId","data-v-4a0e27fa"]]),$e={class:"content"},Ce=b({__name:"message-skeleton",props:{num:{default:1}},setup(I){return(g,k)=>{const i=se;return t(!0),a(O,null,N(new Array(g.num),u=>(t(),a("div",{class:"skeleton-item",key:u},[y("div",$e,[n(i,{text:"",repeat:2}),n(i,{text:"",style:{width:"60%"}})])]))),128)}}});const Me=F(Ce,[["__scopeId","data-v-01d2e871"]]),be={key:0,class:"skeleton-wrap"},Fe={key:1},Ie={key:0,class:"empty-wrap"},Se={key:0,class:"pagination-wrap"},qe=b({__name:"Messages",setup(I){const g=L(),k=ie(),i=f(!1),u=f(+g.query.p||1),_=f(10),e=f(0),s=f([]),h=()=>{i.value=!0,E({page:u.value,page_size:_.value}).then(l=>{i.value=!1,s.value=l.list,e.value=Math.ceil(l.pager.total_rows/_.value)}).catch(l=>{i.value=!1})},$=l=>{u.value=l,h()};return G(()=>{h()}),(l,d)=>{const C=re,M=Me,v=ae,R=we,V=oe,j=ne,B=te;return t(),a("div",null,[n(C,{title:"消息"}),n(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:o(()=>[i.value?(t(),a("div",be,[n(M,{num:_.value},null,8,["num"])])):(t(),a("div",Fe,[s.value.length===0?(t(),a("div",Ie,[n(v,{size:"large",description:"暂无数据"})])):r("",!0),(t(!0),a(O,null,N(s.value,S=>(t(),z(V,{key:S.id},{default:o(()=>[n(R,{message:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),e.value>0?(t(),a("div",Se,[n(B,{page:u.value,"onUpdate:page":$,"page-slot":c(k).state.collapsedRight?5:8,"page-count":e.value},null,8,["page","page-slot","page-count"])])):r("",!0)])}}});const es=F(qe,[["__scopeId","data-v-4e7b1342"]]);export{es as default}; +import{d as b,a3 as A,o as t,c as a,V as n,a1 as o,a as y,a2 as w,e as p,M as m,Q as N,O as r,_ as c,L as D,a4 as O,F as R,r as f,j as H}from"./@vue-e0e89260.js";import{u as L,b as P}from"./vue-router-b8e3382f.js";import{H as T,I as U,J as E,_ as F,K as G}from"./index-2e014601.js";import{a as J}from"./formatTime-cdf4e6f1.js";import{r as K,s as Q,t as z,u as W}from"./@vicons-b553c29f.js";import{o as X,l as Y,j as Z,S as x,M as ee,U as se,F as ne,G as te,I as ae,H as oe}from"./naive-ui-62663ad7.js";import{_ as re}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{u as ie}from"./vuex-473b3783.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const _e={class:"sender-wrap"},le={key:0,class:"nickname"},pe={class:"username"},ue={key:1,class:"nickname"},ce={class:"timestamp"},de={class:"timestamp-txt"},me={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke="https://assets.paopao.info/public/avatar/default/admin.png",he=b({__name:"message-item",props:{message:{}},setup(I){const g=L(),k=e=>{_(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?g.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},i=e=>{_(e),T({user_id:e.sender_user_id}).then(s=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(s=>{console.log(s)})},u=e=>{_(e),U({user_id:e.sender_user_id}).then(s=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(s=>{console.log(s)})},_=e=>{e.is_read===0&&E({id:e.id}).then(s=>{e.is_read=1}).catch(s=>{console.log(s)})};return(e,s)=>{const h=X,$=A("router-link"),l=Y,d=Z,C=x,M=ee;return t(),a("div",{class:D(["message-item",{unread:e.message.is_read===0}]),onClick:s[4]||(s[4]=v=>_(e.message))},[n(M,{"content-indented":""},{avatar:o(()=>[n(h,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:ke},null,8,["src"])]),header:o(()=>[y("div",_e,[e.message.sender_user.id>0?(t(),a("span",le,[n($,{onClick:s[0]||(s[0]=w(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:o(()=>[p(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),y("span",pe," @"+m(e.message.sender_user.username),1)])):(t(),a("span",ue," 系统 "))])]),"header-extra":o(()=>[y("span",ce,[e.message.is_read===0?(t(),N(l,{key:0,dot:"",processing:""})):r("",!0),y("span",de,m(c(J)(e.message.created_on)),1)])]),description:o(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:o(()=>[e.message.type!=4?(t(),a("div",me,[p(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),a("span",{key:0,onClick:s[1]||(s[1]=w(v=>k(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(K))]),_:1}),p(" 查看详情 ")])):r("",!0)])):r("",!0),e.message.type===4?(t(),a("div",ge,m(e.message.content),1)):r("",!0),e.message.type===5?(t(),a("div",ve,[p(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),a("span",{key:0,onClick:s[2]||(s[2]=w(v=>i(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(Q))]),_:1}),p(" 同意 ")])):r("",!0),e.message.reply_id===1?(t(),a("span",{key:1,onClick:s[3]||(s[3]=w(v=>u(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(z))]),_:1}),p(" 拒绝 ")])):r("",!0),e.message.reply_id===2?(t(),a("span",fe,[n(d,null,{default:o(()=>[n(c(W))]),_:1}),p(" 已同意 ")])):r("",!0),e.message.reply_id===3?(t(),a("span",ye,[n(d,null,{default:o(()=>[n(c(z))]),_:1}),p(" 已拒绝 ")])):r("",!0)])):r("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const we=F(he,[["__scopeId","data-v-4a0e27fa"]]),$e={class:"content"},Ce=b({__name:"message-skeleton",props:{num:{default:1}},setup(I){return(g,k)=>{const i=se;return t(!0),a(R,null,O(new Array(g.num),u=>(t(),a("div",{class:"skeleton-item",key:u},[y("div",$e,[n(i,{text:"",repeat:2}),n(i,{text:"",style:{width:"60%"}})])]))),128)}}});const Me=F(Ce,[["__scopeId","data-v-01d2e871"]]),be={key:0,class:"skeleton-wrap"},Fe={key:1},Ie={key:0,class:"empty-wrap"},Se={key:0,class:"pagination-wrap"},ze=b({__name:"Messages",setup(I){const g=P(),k=ie(),i=f(!1),u=f(+g.query.p||1),_=f(10),e=f(0),s=f([]),h=()=>{i.value=!0,G({page:u.value,page_size:_.value}).then(l=>{i.value=!1,s.value=l.list,e.value=Math.ceil(l.pager.total_rows/_.value)}).catch(l=>{i.value=!1})},$=l=>{u.value=l,h()};return H(()=>{h()}),(l,d)=>{const C=re,M=Me,v=ae,V=we,j=oe,q=ne,B=te;return t(),a("div",null,[n(C,{title:"消息"}),n(q,{class:"main-content-wrap messages-wrap",bordered:""},{default:o(()=>[i.value?(t(),a("div",be,[n(M,{num:_.value},null,8,["num"])])):(t(),a("div",Fe,[s.value.length===0?(t(),a("div",Ie,[n(v,{size:"large",description:"暂无数据"})])):r("",!0),(t(!0),a(R,null,O(s.value,S=>(t(),N(j,{key:S.id},{default:o(()=>[n(V,{message:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),e.value>0?(t(),a("div",Se,[n(B,{page:u.value,"onUpdate:page":$,"page-slot":c(k).state.collapsedRight?5:8,"page-count":e.value},null,8,["page","page-slot","page-count"])])):r("",!0)])}}});const es=F(ze,[["__scopeId","data-v-4e7b1342"]]);export{es as default}; diff --git a/web/dist/assets/Post-7248c732.js b/web/dist/assets/Post-7248c732.js deleted file mode 100644 index b9e7d9c6..00000000 --- a/web/dist/assets/Post-7248c732.js +++ /dev/null @@ -1 +0,0 @@ -import{d as W,r,a3 as me,o,c as u,a as m,V as e,a1 as n,e as T,M as z,Q as U,O as i,_ as a,a2 as V,n as ne,a7 as Pe,F as ae,a4 as le,j as ve,W as ye,X as ke,w as Re}from"./@vue-e0e89260.js";import{u as Z}from"./vuex-473b3783.js";import{f as ie}from"./formatTime-cdf4e6f1.js";import{t as Se,d as Le,e as Me,_ as ee,f as Ae,h as De,i as Oe,j as qe,g as Ne,k as je,l as Be,m as Ee,n as Ve,o as He,s as Fe,v as Ye,p as Je,q as Ke,r as Qe,u as ge}from"./index-8b4e1776.js";import{Y as ue,V as G}from"./IEnum-a180d93e.js";import{T as we,e as ce,f as be,g as re,h as $e,I as We,i as Ge,j as Xe,k as Ze,l as et,m as tt,n as st,o as ot}from"./@vicons-d502290a.js";import{j as te,e as se,J as Ce,K as nt,b as at,L as lt,o as fe,M as xe,v as it,w as ut,x as ct,y as rt,z as _t,B as pt,O as dt,P as mt,i as vt,Q as ft,a as Ie,F as ht,I as gt,k as yt,H as kt,f as wt,g as bt}from"./naive-ui-62663ad7.js";import{p as he,_ as Te,a as $t,b as Ct,c as xt}from"./content-c0ce69b7.js";import{u as ze,b as It}from"./vue-router-b8e3382f.js";import{_ as Tt}from"./post-skeleton-627d3fc3.js";import{l as zt}from"./lodash-94eb5868.js";import{a as Ut}from"./copy-to-clipboard-1dd3075d.js";import{_ as Pt}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{W as Rt}from"./v3-infinite-loading-e5c2e8bf.js";import"./moment-2ab8298d.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-aa5e8b3f.js";import"./toggle-selection-93f4ad84.js";const St={class:"reply-item"},Lt={class:"header-wrap"},Mt={class:"username"},At={class:"reply-name"},Dt={class:"timestamp"},Ot={class:"base-wrap"},qt={class:"content"},Nt={class:"reply-switch"},jt={class:"time-item"},Bt={class:"actions"},Et={class:"upvote-count"},Vt=["onClick"],Ht={class:"upvote-count"},Ft={key:2,class:"action-item"},Yt=["onClick"],Jt=W({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(D,{emit:q}){const l=D,_=Z(),h=r(l.reply.is_thumbs_up==ue.YES),y=r(l.reply.is_thumbs_down==ue.YES),k=r(l.reply.thumbs_up_count),L=()=>{Se({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(v=>{h.value=!h.value,h.value?(k.value++,y.value=!1):k.value--}).catch(v=>{console.log(v)})},c=()=>{Le({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(v=>{y.value=!y.value,y.value&&h.value&&(k.value--,h.value=!1)}).catch(v=>{console.log(v)})},R=()=>{q("focusReply",l.reply)},I=()=>{Me({id:l.reply.id}).then(v=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(v=>{console.log(v)})};return(v,b)=>{const t=me("router-link"),f=te,$=se,M=Ce,w=nt;return o(),u("div",St,[m("div",Lt,[m("div",Mt,[e(t,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:n(()=>[T(z(l.reply.user.username),1)]),_:1},8,["to"]),m("span",At,z(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(o(),U(t,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:n(()=>[T(z(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),m("div",Dt,[T(z(l.reply.ip_loc)+" ",1),a(_).state.userInfo.is_admin||a(_).state.userInfo.id===l.reply.user.id?(o(),U(M,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:I},{trigger:n(()=>[e($,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[e(f,null,{default:n(()=>[e(a(we))]),_:1})]),_:1})]),default:n(()=>[T(" 是否确认删除? ")]),_:1})):i("",!0)])]),m("div",Ot,[m("div",qt,[e(w,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[T(z(l.reply.content),1)]),_:1})]),m("div",Nt,[m("span",jt,z(a(ie)(l.reply.created_on)),1),m("div",Bt,[a(_).state.userLogined?i("",!0):(o(),u("div",{key:0,class:"action-item",onClick:b[0]||(b[0]=V(()=>{},["stop"]))},[e(f,{size:"medium"},{default:n(()=>[e(a(ce))]),_:1}),m("span",Et,z(k.value),1)])),a(_).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:V(L,["stop"])},[e(f,{size:"medium"},{default:n(()=>[h.value?i("",!0):(o(),U(a(ce),{key:0})),h.value?(o(),U(a(be),{key:1,class:"show"})):i("",!0)]),_:1}),m("span",Ht,z(k.value>0?k.value:"赞"),1)],8,Vt)):i("",!0),a(_).state.userLogined?i("",!0):(o(),u("div",Ft,[e(f,{size:"medium"},{default:n(()=>[e(a(re))]),_:1})])),a(_).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:V(c,["stop"])},[e(f,{size:"medium"},{default:n(()=>[y.value?i("",!0):(o(),U(a(re),{key:0})),y.value?(o(),U(a($e),{key:1,class:"show"})):i("",!0)]),_:1})],8,Yt)):i("",!0),a(_).state.userLogined?(o(),u("span",{key:4,class:"show opacity-item reply-btn",onClick:R}," 回复 ")):i("",!0)])])])])}}});const Kt=ee(Jt,[["__scopeId","data-v-0fa8b923"]]),Qt={class:"reply-compose-wrap"},Wt={class:"reply-switch"},Gt={class:"time-item"},Xt={class:"actions"},Zt={key:0,class:"action-item"},es={class:"upvote-count"},ts=["onClick"],ss={class:"upvote-count"},os={key:2,class:"action-item"},ns=["onClick"],as={key:0,class:"reply-input-wrap"},ls=W({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(D,{expose:q,emit:l}){const _=D,h=Z(),y=r(),k=r(!1),L=r(""),c=r(!1),R=+"300",I=r(_.comment.is_thumbs_up==ue.YES),v=r(_.comment.is_thumbs_down==ue.YES),b=r(_.comment.thumbs_up_count),t=()=>{Ae({tweet_id:_.comment.post_id,comment_id:_.comment.id}).then(w=>{I.value=!I.value,I.value?(b.value++,v.value=!1):b.value--}).catch(w=>{console.log(w)})},f=()=>{De({tweet_id:_.comment.post_id,comment_id:_.comment.id}).then(w=>{v.value=!v.value,v.value&&I.value&&(b.value--,I.value=!1)}).catch(w=>{console.log(w)})},$=w=>{k.value=w,w?setTimeout(()=>{var A;(A=y.value)==null||A.focus()},10):(c.value=!1,L.value="",l("reset"))},M=()=>{c.value=!0,Oe({comment_id:_.comment.id,at_user_id:_.atUserid,content:L.value}).then(w=>{$(!1),window.$message.success("评论成功"),l("reload")}).catch(w=>{c.value=!1})};return q({switchReply:$}),(w,A)=>{const j=te,B=at,F=se,P=lt;return o(),u("div",Qt,[m("div",Wt,[m("span",Gt,z(a(ie)(w.comment.created_on)),1),m("div",Xt,[a(h).state.userLogined?i("",!0):(o(),u("div",Zt,[e(j,{size:"medium"},{default:n(()=>[e(a(ce))]),_:1}),m("span",es,z(b.value),1)])),a(h).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:V(t,["stop"])},[e(j,{size:"medium"},{default:n(()=>[I.value?i("",!0):(o(),U(a(ce),{key:0})),I.value?(o(),U(a(be),{key:1,class:"show"})):i("",!0)]),_:1}),m("span",ss,z(b.value>0?b.value:"赞"),1)],8,ts)):i("",!0),a(h).state.userLogined?i("",!0):(o(),u("div",os,[e(j,{size:"medium"},{default:n(()=>[e(a(re))]),_:1})])),a(h).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:V(f,["stop"])},[e(j,{size:"medium"},{default:n(()=>[v.value?i("",!0):(o(),U(a(re),{key:0})),v.value?(o(),U(a($e),{key:1,class:"show"})):i("",!0)]),_:1})],8,ns)):i("",!0),a(h).state.userLogined&&!k.value?(o(),u("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=S=>$(!0))}," 回复 ")):i("",!0),a(h).state.userLogined&&k.value?(o(),u("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=S=>$(!1))}," 取消 ")):i("",!0)])]),k.value?(o(),u("div",as,[e(P,null,{default:n(()=>[e(B,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:_.atUsername?"@"+_.atUsername:"请输入回复内容..",maxlength:a(R),value:L.value,"onUpdate:value":A[2]||(A[2]=S=>L.value=S),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),e(F,{type:"primary",size:"small",ghost:"",loading:c.value,onClick:M},{default:n(()=>[T(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const is=ee(ls,[["__scopeId","data-v-f9af7a93"]]),us={class:"comment-item"},cs={class:"nickname-wrap"},rs={class:"username-wrap"},_s={class:"opt-wrap"},ps={class:"timestamp"},ds=["innerHTML"],ms={class:"reply-wrap"},vs=W({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(D,{emit:q}){const l=D,_=Z(),h=ze(),y=r(0),k=r(""),L=r(),c=ne(()=>{let f=Object.assign({texts:[],imgs:[]},l.comment);return f.contents.map($=>{(+$.type==1||+$.type==2)&&f.texts.push($),+$.type==3&&f.imgs.push($)}),f}),R=(f,$)=>{let M=f.target;if(M.dataset.detail){const w=M.dataset.detail.split(":");w.length===2&&(_.commit("refresh"),w[0]==="tag"?window.$message.warning("评论内的无效话题"):h.push({name:"user",query:{username:w[1]}}))}},I=f=>{var $,M;y.value=f.user_id,k.value=(($=f.user)==null?void 0:$.username)||"",(M=L.value)==null||M.switchReply(!0)},v=()=>{q("reload")},b=()=>{y.value=0,k.value=""},t=()=>{qe({id:c.value.id}).then(f=>{window.$message.success("删除成功"),setTimeout(()=>{v()},50)}).catch(f=>{})};return(f,$)=>{const M=fe,w=me("router-link"),A=te,j=se,B=Ce,F=Te,P=is,S=Kt,J=xe;return o(),u("div",us,[e(J,{"content-indented":""},Pe({avatar:n(()=>[e(M,{round:"",size:30,src:c.value.user.avatar},null,8,["src"])]),header:n(()=>[m("span",cs,[e(w,{onClick:$[0]||($[0]=V(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:c.value.user.username}}},{default:n(()=>[T(z(c.value.user.nickname),1)]),_:1},8,["to"])]),m("span",rs," @"+z(c.value.user.username),1)]),"header-extra":n(()=>[m("div",_s,[m("span",ps,z(c.value.ip_loc),1),a(_).state.userInfo.is_admin||a(_).state.userInfo.id===c.value.user.id?(o(),U(B,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:t},{trigger:n(()=>[e(j,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[e(A,null,{default:n(()=>[e(a(we))]),_:1})]),_:1})]),default:n(()=>[T(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:n(()=>[c.value.imgs.length>0?(o(),U(F,{key:0,imgs:c.value.imgs},null,8,["imgs"])):i("",!0),e(P,{ref_key:"replyComposeRef",ref:L,comment:c.value,"at-userid":y.value,"at-username":k.value,onReload:v,onReset:b},null,8,["comment","at-userid","at-username"]),m("div",ms,[(o(!0),u(ae,null,le(c.value.replies,s=>(o(),U(S,{key:s.id,reply:s,"tweet-id":c.value.post_id,onFocusReply:I,onReload:v},null,8,["reply","tweet-id"]))),128))])]),_:2},[c.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),u(ae,null,le(c.value.texts,s=>(o(),u("span",{key:s.id,class:"comment-text",onClick:$[1]||($[1]=V(d=>R(d,c.value.id),["stop"])),innerHTML:a(he)(s.content).content},null,8,ds))),128))]),key:"0"}:void 0]),1024)])}}});const fs=ee(vs,[["__scopeId","data-v-e5cb084f"]]),hs=D=>(ye("data-v-634e6bfd"),D=D(),ke(),D),gs={key:0,class:"compose-wrap"},ys={class:"compose-line"},ks={class:"compose-user"},ws={class:"compose-line compose-options"},bs={class:"attachment"},$s={class:"submit-wrap"},Cs={class:"attachment-list-wrap"},xs={key:1,class:"compose-wrap"},Is=hs(()=>m("div",{class:"login-wrap"},[m("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ts={key:0,class:"login-only-wrap"},zs={key:1,class:"login-wrap"},Us=W({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(D,{emit:q}){const l=D,_=Z(),h=r([]),y=r(!1),k=r(!1),L=r(!1),c=r(""),R=r(),I=r("public/image"),v=r([]),b=r([]),t=r("true".toLowerCase()==="true"),f=+"300",$="/v1/attachment",M=r(),w=zt.debounce(p=>{Ne({k:p}).then(g=>{let C=[];g.suggest.map(x=>{C.push({label:x,value:x})}),h.value=C,k.value=!1}).catch(g=>{k.value=!1})},200),A=(p,g)=>{k.value||(k.value=!0,g==="@"&&w(p))},j=p=>{p.length>f?c.value=p.substring(0,f):c.value=p},B=p=>{I.value=p},F=p=>{for(let N=0;N30&&(p[N].name=C.substring(0,18)+"..."+C.substring(C.length-9)+"."+x)}v.value=p},P=async p=>{var g,C;return I.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((g=p.file.file)==null?void 0:g.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):I.value==="image"&&((C=p.file.file)==null?void 0:C.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},S=({file:p,event:g})=>{var C;try{let x=JSON.parse((C=g.target)==null?void 0:C.response);x.code===0&&I.value==="public/image"&&b.value.push({id:p.id,content:x.data.content})}catch{window.$message.error("上传失败")}},J=({file:p,event:g})=>{var C;try{let x=JSON.parse((C=g.target)==null?void 0:C.response);if(x.code!==0){let N=x.msg||"上传失败";x.details&&x.details.length>0&&x.details.map(E=>{N+=":"+E}),window.$message.error(N)}}catch{window.$message.error("上传失败")}},s=({file:p})=>{let g=b.value.findIndex(C=>C.id===p.id);g>-1&&b.value.splice(g,1)},d=()=>{y.value=!0},H=()=>{var p;y.value=!1,(p=R.value)==null||p.clear(),v.value=[],c.value="",b.value=[]},K=()=>{if(c.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:p}=he(c.value);const g=[];let C=100;g.push({content:c.value,type:2,sort:C}),b.value.map(x=>{C++,g.push({content:x.content,type:3,sort:C})}),L.value=!0,je({contents:g,post_id:l.postId,users:Array.from(new Set(p))}).then(x=>{window.$message.success("发布成功"),L.value=!1,q("post-success"),H()}).catch(x=>{L.value=!1})},Y=p=>{_.commit("triggerAuth",!0),_.commit("triggerAuthKey",p)};return ve(()=>{M.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(p,g)=>{const C=fe,x=it,N=te,E=se,Q=ut,_e=ct,oe=rt,pe=_t,de=pt;return o(),u("div",null,[a(_).state.userInfo.id>0?(o(),u("div",gs,[m("div",ys,[m("div",ks,[e(C,{round:"",size:30,src:a(_).state.userInfo.avatar},null,8,["src"])]),e(x,{type:"textarea",size:"large",autosize:"",bordered:!1,options:h.value,prefix:["@"],loading:k.value,value:c.value,disabled:l.lock===1,"onUpdate:value":j,onSearch:A,onFocus:d,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(o(),U(de,{key:0,ref_key:"uploadRef",ref:R,abstract:"","list-type":"image",multiple:!0,max:9,action:$,headers:{Authorization:M.value},data:{type:I.value},"file-list":v.value,onBeforeUpload:P,onFinish:S,onError:J,onRemove:s,"onUpdate:fileList":F},{default:n(()=>[m("div",ws,[m("div",bs,[e(Q,{abstract:""},{default:n(({handleClick:O})=>[e(E,{disabled:v.value.length>0&&I.value==="public/video"||v.value.length===9,onClick:()=>{B("public/image"),O()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[e(N,{size:"20",color:"var(--primary-color)"},{default:n(()=>[e(a(We))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),e(oe,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[e(_e,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:c.value.length/a(f)*100},null,8,["percentage"])]),default:n(()=>[T(" "+z(c.value.length)+" / "+z(a(f)),1)]),_:1})]),m("div",$s,[e(E,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:H},{default:n(()=>[T(" 取消 ")]),_:1}),e(E,{loading:L.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[T(" 发布 ")]),_:1},8,["loading"])])]),m("div",Cs,[e(pe)])]),_:1},8,["headers","data","file-list"])):i("",!0)])):(o(),u("div",xs,[Is,t.value?i("",!0):(o(),u("div",Ts,[e(E,{strong:"",secondary:"",round:"",type:"primary",onClick:g[0]||(g[0]=O=>Y("signin"))},{default:n(()=>[T(" 登录 ")]),_:1})])),t.value?(o(),u("div",zs,[e(E,{strong:"",secondary:"",round:"",type:"primary",onClick:g[1]||(g[1]=O=>Y("signin"))},{default:n(()=>[T(" 登录 ")]),_:1}),e(E,{strong:"",secondary:"",round:"",type:"info",onClick:g[2]||(g[2]=O=>Y("signup"))},{default:n(()=>[T(" 注册 ")]),_:1})])):i("",!0)]))])}}});const Ps=ee(Us,[["__scopeId","data-v-634e6bfd"]]),Rs={class:"username-wrap"},Ss={key:0,class:"options"},Ls={key:0},Ms=["innerHTML"],As={class:"timestamp"},Ds={key:0},Os={key:1},qs={class:"opts-wrap"},Ns=["onClick"],js={class:"opt-item"},Bs=["onClick"],Es=["onClick"],Vs=W({__name:"post-detail",props:{post:{}},emits:["reload"],setup(D,{emit:q}){const l=D,_=Z(),h=ze(),y=r(!1),k=r(!1),L=r(!1),c=r(!1),R=r(!1),I=r(!1),v=r(!1),b=r(G.PUBLIC),t=ne({get:()=>{let s=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return s.contents.map(d=>{(+d.type==1||+d.type==2)&&s.texts.push(d),+d.type==3&&s.imgs.push(d),+d.type==4&&s.videos.push(d),+d.type==6&&s.links.push(d),+d.type==7&&s.attachments.push(d),+d.type==8&&s.charge_attachments.push(d)}),s},set:s=>{l.post.upvote_count=s.upvote_count,l.post.comment_count=s.comment_count,l.post.collection_count=s.collection_count}}),f=ne(()=>{let s=[{label:"删除",key:"delete"}];return t.value.is_lock===0?s.push({label:"锁定",key:"lock"}):s.push({label:"解锁",key:"unlock"}),_.state.userInfo.is_admin&&(t.value.is_top===0?s.push({label:"置顶",key:"stick"}):s.push({label:"取消置顶",key:"unstick"})),t.value.visibility===G.PUBLIC?s.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):t.value.visibility===G.PRIVATE?s.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):s.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),s}),$=s=>{h.push({name:"post",query:{id:s}})},M=(s,d)=>{if(s.target.dataset.detail){const H=s.target.dataset.detail.split(":");if(H.length===2){_.commit("refresh"),H[0]==="tag"?h.push({name:"home",query:{q:H[1],t:"tag"}}):h.push({name:"user",query:{username:H[1]}});return}}$(d)},w=s=>{switch(s){case"delete":L.value=!0;break;case"lock":case"unlock":c.value=!0;break;case"stick":case"unstick":R.value=!0;break;case"vpublic":b.value=0,I.value=!0;break;case"vprivate":b.value=1,I.value=!0;break;case"vfriend":b.value=2,I.value=!0;break}},A=()=>{Ve({id:t.value.id}).then(s=>{window.$message.success("删除成功"),h.replace("/"),setTimeout(()=>{_.commit("refresh")},50)}).catch(s=>{v.value=!1})},j=()=>{He({id:t.value.id}).then(s=>{q("reload"),s.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(s=>{v.value=!1})},B=()=>{Fe({id:t.value.id}).then(s=>{q("reload"),s.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(s=>{v.value=!1})},F=()=>{Ye({id:t.value.id,visibility:b.value}).then(s=>{q("reload"),window.$message.success("修改可见性成功")}).catch(s=>{v.value=!1})},P=()=>{Je({id:t.value.id}).then(s=>{y.value=s.status,s.status?t.value={...t.value,upvote_count:t.value.upvote_count+1}:t.value={...t.value,upvote_count:t.value.upvote_count-1}}).catch(s=>{console.log(s)})},S=()=>{Ke({id:t.value.id}).then(s=>{k.value=s.status,s.status?t.value={...t.value,collection_count:t.value.collection_count+1}:t.value={...t.value,collection_count:t.value.collection_count-1}}).catch(s=>{console.log(s)})},J=()=>{Ut(`${window.location.origin}/#/post?id=${t.value.id}`),window.$message.success("链接已复制到剪贴板")};return ve(()=>{_.state.userInfo.id>0&&(Be({id:t.value.id}).then(s=>{y.value=s.status}).catch(s=>{console.log(s)}),Ee({id:t.value.id}).then(s=>{k.value=s.status}).catch(s=>{console.log(s)}))}),(s,d)=>{const H=fe,K=me("router-link"),Y=dt,p=te,g=se,C=mt,x=vt,N=$t,E=Te,Q=Ct,_e=xt,oe=ft,pe=Ie,de=xe;return o(),u("div",{class:"detail-item",onClick:d[6]||(d[6]=O=>$(t.value.id))},[e(de,null,{avatar:n(()=>[e(H,{round:"",size:30,src:t.value.user.avatar},null,8,["src"])]),header:n(()=>[e(K,{onClick:d[0]||(d[0]=V(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t.value.user.username}}},{default:n(()=>[T(z(t.value.user.nickname),1)]),_:1},8,["to"]),m("span",Rs," @"+z(t.value.user.username),1),t.value.is_top?(o(),U(Y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[T(" 置顶 ")]),_:1})):i("",!0),t.value.visibility==a(G).PRIVATE?(o(),U(Y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[T(" 私密 ")]),_:1})):i("",!0),t.value.visibility==a(G).FRIEND?(o(),U(Y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[T(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":n(()=>[a(_).state.userInfo.is_admin||a(_).state.userInfo.id===t.value.user.id?(o(),u("div",Ss,[e(C,{placement:"bottom-end",trigger:"click",size:"small",options:f.value,onSelect:w},{default:n(()=>[e(g,{quaternary:"",circle:""},{icon:n(()=>[e(p,null,{default:n(()=>[e(a(Ge))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),e(x,{show:L.value,"onUpdate:show":d[1]||(d[1]=O=>L.value=O),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:A},null,8,["show"]),e(x,{show:c.value,"onUpdate:show":d[2]||(d[2]=O=>c.value=O),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(t.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show","content"]),e(x,{show:R.value,"onUpdate:show":d[3]||(d[3]=O=>R.value=O),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(t.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:B},null,8,["show","content"]),e(x,{show:I.value,"onUpdate:show":d[4]||(d[4]=O=>I.value=O),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(b.value==0?"公开":b.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:F},null,8,["show","content"])]),footer:n(()=>[e(N,{attachments:t.value.attachments},null,8,["attachments"]),e(N,{attachments:t.value.charge_attachments,price:t.value.attachment_price},null,8,["attachments","price"]),e(E,{imgs:t.value.imgs},null,8,["imgs"]),e(Q,{videos:t.value.videos,full:!0},null,8,["videos"]),e(_e,{links:t.value.links},null,8,["links"]),m("div",As,[T(" 发布于 "+z(a(ie)(t.value.created_on))+" ",1),t.value.ip_loc?(o(),u("span",Ds,[e(oe,{vertical:""}),T(" "+z(t.value.ip_loc),1)])):i("",!0),!a(_).state.collapsedLeft&&t.value.created_on!=t.value.latest_replied_on?(o(),u("span",Os,[e(oe,{vertical:""}),T(" 最后回复 "+z(a(ie)(t.value.latest_replied_on)),1)])):i("",!0)])]),action:n(()=>[m("div",qs,[e(pe,{justify:"space-between"},{default:n(()=>[m("div",{class:"opt-item hover",onClick:V(P,["stop"])},[e(p,{size:"20",class:"opt-item-icon"},{default:n(()=>[y.value?i("",!0):(o(),U(a(Xe),{key:0})),y.value?(o(),U(a(Ze),{key:1,color:"red"})):i("",!0)]),_:1}),T(" "+z(t.value.upvote_count),1)],8,Ns),m("div",js,[e(p,{size:"20",class:"opt-item-icon"},{default:n(()=>[e(a(et))]),_:1}),T(" "+z(t.value.comment_count),1)]),m("div",{class:"opt-item hover",onClick:V(S,["stop"])},[e(p,{size:"20",class:"opt-item-icon"},{default:n(()=>[k.value?i("",!0):(o(),U(a(tt),{key:0})),k.value?(o(),U(a(st),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),T(" "+z(t.value.collection_count),1)],8,Bs),m("div",{class:"opt-item hover",onClick:V(J,["stop"])},[e(p,{size:"20",class:"opt-item-icon"},{default:n(()=>[e(a(ot))]),_:1}),T(" "+z(t.value.share_count),1)],8,Es)]),_:1})])]),default:n(()=>[t.value.texts.length>0?(o(),u("div",Ls,[(o(!0),u(ae,null,le(t.value.texts,O=>(o(),u("span",{key:O.id,class:"post-text",onClick:d[5]||(d[5]=V(Ue=>M(Ue,t.value.id),["stop"])),innerHTML:a(he)(O.content).content},null,8,Ms))),128))])):i("",!0)]),_:1})])}}});const Hs=D=>(ye("data-v-0d01659f"),D=D(),ke(),D),Fs={key:0,class:"detail-wrap"},Ys={key:1,class:"empty-wrap"},Js={key:0,class:"comment-opts-wrap"},Ks=Hs(()=>m("span",{class:"comment-title-item"},"评论",-1)),Qs={key:2},Ws={key:0,class:"skeleton-wrap"},Gs={key:1},Xs={key:0,class:"empty-wrap"},Zs={key:0,class:"load-more-spinner"},eo={key:1,class:"load-more-spinner"},to={key:2,class:"load-more-spinner"},so={key:3,class:"load-more-spinner"},X=20,oo=W({__name:"Post",setup(D){const q=It(),l=r({}),_=r(!1),h=r(!1),y=r([]),k=ne(()=>+q.query.id),L=r("default"),c=r(!0);let R={loading(){},loaded(){},complete(){},error(){}};const I=P=>{L.value=P,P==="default"&&(c.value=!0),B(R)},v=()=>{l.value={id:0},_.value=!0,Qe({id:k.value}).then(P=>{_.value=!1,l.value=P,B(R)}).catch(P=>{_.value=!1})};let b=1;const t=r(!1),f=r([]),$=P=>{t.value||ge({id:l.value.id,sort_strategy:"default",page:b,page_size:X}).then(S=>{P!==null&&(R=P),S.list.length0&&(b===1?f.value=S.list:f.value.push(...S.list),y.value=f.value),R.loaded(),h.value=!1}).catch(S=>{h.value=!1,R.error()})};let M=1,w=r(!1);const A=r([]),j=P=>{w.value||ge({id:l.value.id,sort_strategy:"newest",page:M,page_size:X}).then(S=>{P!==null&&(R=P),S.list.length0&&(M===1?A.value=S.list:A.value.push(...S.list),y.value=A.value),R.loaded(),h.value=!1}).catch(S=>{h.value=!1,R.error()})},B=P=>{k.value<1||(y.value.length===0&&(h.value=!0),L.value==="default"?(y.value=f.value,$(P)):(y.value=A.value,j(P)),h.value=!1)},F=()=>{b=1,t.value=!1,f.value=[],M=1,w.value=!1,A.value=[],B(R)};return ve(()=>{v()}),Re(k,()=>{k.value>0&&q.name==="post"&&v()}),(P,S)=>{const J=Pt,s=Vs,d=gt,H=yt,K=kt,Y=wt,p=bt,g=Ps,C=Tt,x=fs,N=Ie,E=ht;return o(),u("div",null,[e(J,{title:"泡泡详情",back:!0}),e(E,{class:"main-content-wrap",bordered:""},{default:n(()=>[e(K,null,{default:n(()=>[e(H,{show:_.value},{default:n(()=>[l.value.id>1?(o(),u("div",Fs,[e(s,{post:l.value,onReload:v},null,8,["post"])])):(o(),u("div",Ys,[e(d,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(o(),u("div",Js,[e(p,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":I},{prefix:n(()=>[Ks]),default:n(()=>[e(Y,{name:"default",tab:"默认"}),e(Y,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(o(),U(K,{key:1},{default:n(()=>[e(g,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(o(),u("div",Qs,[h.value?(o(),u("div",Ws,[e(C,{num:5})])):(o(),u("div",Gs,[y.value.length===0?(o(),u("div",Xs,[e(d,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(o(!0),u(ae,null,le(y.value,Q=>(o(),U(K,{key:Q.id},{default:n(()=>[e(x,{comment:Q,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=X?(o(),U(N,{key:3,justify:"center"},{default:n(()=>[e(a(Rt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:B},{spinner:n(()=>[c.value&&t.value?(o(),u("span",Zs)):i("",!0),!c.value&&a(w)?(o(),u("span",eo)):i("",!0),c.value&&!t.value?(o(),u("span",to,"加载评论")):i("",!0),!c.value&&!a(w)?(o(),u("span",so,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const Oo=ee(oo,[["__scopeId","data-v-0d01659f"]]);export{Oo as default}; diff --git a/web/dist/assets/Post-74178ae5.js b/web/dist/assets/Post-74178ae5.js new file mode 100644 index 00000000..671a45cf --- /dev/null +++ b/web/dist/assets/Post-74178ae5.js @@ -0,0 +1 @@ +import{d as Z,r as c,a3 as fe,o,c as u,a as v,V as t,a1 as n,e as x,M as I,Q as z,O as i,_ as a,a2 as H,n as le,a7 as Oe,F as ie,a4 as ue,j as ge,W as Ce,X as xe,s as we,w as De}from"./@vue-e0e89260.js";import{u as se}from"./vuex-473b3783.js";import{f as ce}from"./formatTime-cdf4e6f1.js";import{t as qe,d as Ee,e as Ne,_ as oe,f as je,h as Be,i as He,j as Fe,g as Ve,k as Ye,l as Je,m as Ke,n as Qe,o as We,s as Ge,p as Xe,v as Ze,q as et,r as tt,u as st,w as be}from"./index-2e014601.js";import{Y as re,V as ee}from"./IEnum-a180d93e.js";import{T as Ie,e as _e,f as Te,g as pe,h as ze,I as ot,i as nt,j as at,k as lt,l as it,m as ut,n as ct,o as rt,p as V,F as $e,E as he}from"./@vicons-b553c29f.js";import{j as J,e as ne,J as Pe,K as _t,b as pt,L as dt,o as ye,M as Ue,v as mt,w as vt,x as ht,y as ft,z as gt,B as yt,O as kt,P as wt,i as bt,Q as $t,a as Re,F as Ct,I as xt,k as It,H as Tt,f as zt,g as Pt}from"./naive-ui-62663ad7.js";import{p as ke,_ as Se,a as Ut,b as Rt,c as St}from"./content-a356c23e.js";import{u as Le,b as Lt}from"./vue-router-b8e3382f.js";import{_ as Mt}from"./post-skeleton-435c2090.js";import{l as At}from"./lodash-94eb5868.js";import{a as Ot}from"./copy-to-clipboard-1dd3075d.js";import{_ as Dt}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{W as qt}from"./v3-infinite-loading-e5c2e8bf.js";import"./moment-2ab8298d.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-aa5e8b3f.js";import"./toggle-selection-93f4ad84.js";const Et={class:"reply-item"},Nt={class:"header-wrap"},jt={class:"username"},Bt={class:"reply-name"},Ht={class:"timestamp"},Ft={class:"base-wrap"},Vt={class:"content"},Yt={class:"reply-switch"},Jt={class:"time-item"},Kt={class:"actions"},Qt={class:"upvote-count"},Wt=["onClick"],Gt={class:"upvote-count"},Xt={key:2,class:"action-item"},Zt=["onClick"],es=Z({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(O,{emit:D}){const l=O,p=se(),f=c(l.reply.is_thumbs_up==re.YES),y=c(l.reply.is_thumbs_down==re.YES),k=c(l.reply.thumbs_up_count),L=()=>{qe({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(h=>{f.value=!f.value,f.value?(k.value++,y.value=!1):k.value--}).catch(h=>{console.log(h)})},r=()=>{Ee({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(h=>{y.value=!y.value,y.value&&f.value&&(k.value--,f.value=!1)}).catch(h=>{console.log(h)})},U=()=>{D("focusReply",l.reply)},T=()=>{Ne({id:l.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{D("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const R=fe("router-link"),e=J,_=ne,M=Pe,w=_t;return o(),u("div",Et,[v("div",Nt,[v("div",jt,[t(R,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:n(()=>[x(I(l.reply.user.username),1)]),_:1},8,["to"]),v("span",Bt,I(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(o(),z(R,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:n(()=>[x(I(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),v("div",Ht,[x(I(l.reply.ip_loc)+" ",1),a(p).state.userInfo.is_admin||a(p).state.userInfo.id===l.reply.user.id?(o(),z(M,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(_,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(e,null,{default:n(()=>[t(a(Ie))]),_:1})]),_:1})]),default:n(()=>[x(" 是否确认删除? ")]),_:1})):i("",!0)])]),v("div",Ft,[v("div",Vt,[t(w,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[x(I(l.reply.content),1)]),_:1})]),v("div",Yt,[v("span",Jt,I(a(ce)(l.reply.created_on)),1),v("div",Kt,[a(p).state.userLogined?i("",!0):(o(),u("div",{key:0,class:"action-item",onClick:$[0]||($[0]=H(()=>{},["stop"]))},[t(e,{size:"medium"},{default:n(()=>[t(a(_e))]),_:1}),v("span",Qt,I(k.value),1)])),a(p).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:H(L,["stop"])},[t(e,{size:"medium"},{default:n(()=>[f.value?i("",!0):(o(),z(a(_e),{key:0})),f.value?(o(),z(a(Te),{key:1,class:"show"})):i("",!0)]),_:1}),v("span",Gt,I(k.value>0?k.value:"赞"),1)],8,Wt)):i("",!0),a(p).state.userLogined?i("",!0):(o(),u("div",Xt,[t(e,{size:"medium"},{default:n(()=>[t(a(pe))]),_:1})])),a(p).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:H(r,["stop"])},[t(e,{size:"medium"},{default:n(()=>[y.value?i("",!0):(o(),z(a(pe),{key:0})),y.value?(o(),z(a(ze),{key:1,class:"show"})):i("",!0)]),_:1})],8,Zt)):i("",!0),a(p).state.userLogined?(o(),u("span",{key:4,class:"show opacity-item reply-btn",onClick:U}," 回复 ")):i("",!0)])])])])}}});const ts=oe(es,[["__scopeId","data-v-0fa8b923"]]),ss={class:"reply-compose-wrap"},os={class:"reply-switch"},ns={class:"time-item"},as={class:"actions"},ls={key:0,class:"action-item"},is={class:"upvote-count"},us=["onClick"],cs={class:"upvote-count"},rs={key:2,class:"action-item"},_s=["onClick"],ps={key:0,class:"reply-input-wrap"},ds=Z({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(O,{expose:D,emit:l}){const p=O,f=se(),y=c(),k=c(!1),L=c(""),r=c(!1),U=+"300",T=c(p.comment.is_thumbs_up==re.YES),h=c(p.comment.is_thumbs_down==re.YES),$=c(p.comment.thumbs_up_count),R=()=>{je({tweet_id:p.comment.post_id,comment_id:p.comment.id}).then(w=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(w=>{console.log(w)})},e=()=>{Be({tweet_id:p.comment.post_id,comment_id:p.comment.id}).then(w=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(w=>{console.log(w)})},_=w=>{k.value=w,w?setTimeout(()=>{var A;(A=y.value)==null||A.focus()},10):(r.value=!1,L.value="",l("reset"))},M=()=>{r.value=!0,He({comment_id:p.comment.id,at_user_id:p.atUserid,content:L.value}).then(w=>{_(!1),window.$message.success("评论成功"),l("reload")}).catch(w=>{r.value=!1})};return D({switchReply:_}),(w,A)=>{const j=J,B=pt,Y=ne,P=dt;return o(),u("div",ss,[v("div",os,[v("span",ns,I(a(ce)(w.comment.created_on)),1),v("div",as,[a(f).state.userLogined?i("",!0):(o(),u("div",ls,[t(j,{size:"medium"},{default:n(()=>[t(a(_e))]),_:1}),v("span",is,I($.value),1)])),a(f).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:H(R,["stop"])},[t(j,{size:"medium"},{default:n(()=>[T.value?i("",!0):(o(),z(a(_e),{key:0})),T.value?(o(),z(a(Te),{key:1,class:"show"})):i("",!0)]),_:1}),v("span",cs,I($.value>0?$.value:"赞"),1)],8,us)):i("",!0),a(f).state.userLogined?i("",!0):(o(),u("div",rs,[t(j,{size:"medium"},{default:n(()=>[t(a(pe))]),_:1})])),a(f).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:H(e,["stop"])},[t(j,{size:"medium"},{default:n(()=>[h.value?i("",!0):(o(),z(a(pe),{key:0})),h.value?(o(),z(a(ze),{key:1,class:"show"})):i("",!0)]),_:1})],8,_s)):i("",!0),a(f).state.userLogined&&!k.value?(o(),u("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=S=>_(!0))}," 回复 ")):i("",!0),a(f).state.userLogined&&k.value?(o(),u("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=S=>_(!1))}," 取消 ")):i("",!0)])]),k.value?(o(),u("div",ps,[t(P,null,{default:n(()=>[t(B,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:p.atUsername?"@"+p.atUsername:"请输入回复内容..",maxlength:a(U),value:L.value,"onUpdate:value":A[2]||(A[2]=S=>L.value=S),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(Y,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:M},{default:n(()=>[x(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const ms=oe(ds,[["__scopeId","data-v-f9af7a93"]]),vs={class:"comment-item"},hs={class:"nickname-wrap"},fs={class:"username-wrap"},gs={class:"opt-wrap"},ys={class:"timestamp"},ks=["innerHTML"],ws={class:"reply-wrap"},bs=Z({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(O,{emit:D}){const l=O,p=se(),f=Le(),y=c(0),k=c(""),L=c(),r=le(()=>{let e=Object.assign({texts:[],imgs:[]},l.comment);return e.contents.map(_=>{(+_.type==1||+_.type==2)&&e.texts.push(_),+_.type==3&&e.imgs.push(_)}),e}),U=(e,_)=>{let M=e.target;if(M.dataset.detail){const w=M.dataset.detail.split(":");w.length===2&&(p.commit("refresh"),w[0]==="tag"?window.$message.warning("评论内的无效话题"):f.push({name:"user",query:{username:w[1]}}))}},T=e=>{var _,M;y.value=e.user_id,k.value=((_=e.user)==null?void 0:_.username)||"",(M=L.value)==null||M.switchReply(!0)},h=()=>{D("reload")},$=()=>{y.value=0,k.value=""},R=()=>{Fe({id:r.value.id}).then(e=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(e=>{})};return(e,_)=>{const M=ye,w=fe("router-link"),A=J,j=ne,B=Pe,Y=Se,P=ms,S=ts,Q=Ue;return o(),u("div",vs,[t(Q,{"content-indented":""},Oe({avatar:n(()=>[t(M,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[v("span",hs,[t(w,{onClick:_[0]||(_[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:r.value.user.username}}},{default:n(()=>[x(I(r.value.user.nickname),1)]),_:1},8,["to"])]),v("span",fs," @"+I(r.value.user.username),1)]),"header-extra":n(()=>[v("div",gs,[v("span",ys,I(r.value.ip_loc),1),a(p).state.userInfo.is_admin||a(p).state.userInfo.id===r.value.user.id?(o(),z(B,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:R},{trigger:n(()=>[t(j,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ie))]),_:1})]),_:1})]),default:n(()=>[x(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),z(Y,{key:0,imgs:r.value.imgs},null,8,["imgs"])):i("",!0),t(P,{ref_key:"replyComposeRef",ref:L,comment:r.value,"at-userid":y.value,"at-username":k.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),v("div",ws,[(o(!0),u(ie,null,ue(r.value.replies,F=>(o(),z(S,{key:F.id,reply:F,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),u(ie,null,ue(r.value.texts,F=>(o(),u("span",{key:F.id,class:"comment-text",onClick:_[1]||(_[1]=H(K=>U(K,r.value.id),["stop"])),innerHTML:a(ke)(F.content).content},null,8,ks))),128))]),key:"0"}:void 0]),1024)])}}});const $s=oe(bs,[["__scopeId","data-v-e5cb084f"]]),Cs=O=>(Ce("data-v-634e6bfd"),O=O(),xe(),O),xs={key:0,class:"compose-wrap"},Is={class:"compose-line"},Ts={class:"compose-user"},zs={class:"compose-line compose-options"},Ps={class:"attachment"},Us={class:"submit-wrap"},Rs={class:"attachment-list-wrap"},Ss={key:1,class:"compose-wrap"},Ls=Cs(()=>v("div",{class:"login-wrap"},[v("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ms={key:0,class:"login-only-wrap"},As={key:1,class:"login-wrap"},Os=Z({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(O,{emit:D}){const l=O,p=se(),f=c([]),y=c(!1),k=c(!1),L=c(!1),r=c(""),U=c(),T=c("public/image"),h=c([]),$=c([]),R=c("true".toLowerCase()==="true"),e=+"300",_="/v1/attachment",M=c(),w=At.debounce(m=>{Ve({k:m}).then(g=>{let b=[];g.suggest.map(C=>{b.push({label:C,value:C})}),f.value=b,k.value=!1}).catch(g=>{k.value=!1})},200),A=(m,g)=>{k.value||(k.value=!0,g==="@"&&w(m))},j=m=>{m.length>e?r.value=m.substring(0,e):r.value=m},B=m=>{T.value=m},Y=m=>{for(let E=0;E30&&(m[E].name=b.substring(0,18)+"..."+b.substring(b.length-9)+"."+C)}h.value=m},P=async m=>{var g,b;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((g=m.file.file)==null?void 0:g.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((b=m.file.file)==null?void 0:b.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},S=({file:m,event:g})=>{var b;try{let C=JSON.parse((b=g.target)==null?void 0:b.response);C.code===0&&T.value==="public/image"&&$.value.push({id:m.id,content:C.data.content})}catch{window.$message.error("上传失败")}},Q=({file:m,event:g})=>{var b;try{let C=JSON.parse((b=g.target)==null?void 0:b.response);if(C.code!==0){let E=C.msg||"上传失败";C.details&&C.details.length>0&&C.details.map(q=>{E+=":"+q}),window.$message.error(E)}}catch{window.$message.error("上传失败")}},F=({file:m})=>{let g=$.value.findIndex(b=>b.id===m.id);g>-1&&$.value.splice(g,1)},K=()=>{y.value=!0},G=()=>{var m;y.value=!1,(m=U.value)==null||m.clear(),h.value=[],r.value="",$.value=[]},s=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:m}=ke(r.value);const g=[];let b=100;g.push({content:r.value,type:2,sort:b}),$.value.map(C=>{b++,g.push({content:C.content,type:3,sort:b})}),L.value=!0,Ye({contents:g,post_id:l.postId,users:Array.from(new Set(m))}).then(C=>{window.$message.success("发布成功"),L.value=!1,D("post-success"),G()}).catch(C=>{L.value=!1})},d=m=>{p.commit("triggerAuth",!0),p.commit("triggerAuthKey",m)};return ge(()=>{M.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(m,g)=>{const b=ye,C=mt,E=J,q=ne,W=vt,de=ht,me=ft,ve=gt,ae=yt;return o(),u("div",null,[a(p).state.userInfo.id>0?(o(),u("div",xs,[v("div",Is,[v("div",Ts,[t(b,{round:"",size:30,src:a(p).state.userInfo.avatar},null,8,["src"])]),t(C,{type:"textarea",size:"large",autosize:"",bordered:!1,options:f.value,prefix:["@"],loading:k.value,value:r.value,disabled:l.lock===1,"onUpdate:value":j,onSearch:A,onFocus:K,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(o(),z(ae,{key:0,ref_key:"uploadRef",ref:U,abstract:"","list-type":"image",multiple:!0,max:9,action:_,headers:{Authorization:M.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:P,onFinish:S,onError:Q,onRemove:F,"onUpdate:fileList":Y},{default:n(()=>[v("div",zs,[v("div",Ps,[t(W,{abstract:""},{default:n(({handleClick:X})=>[t(q,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{B("public/image"),X()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(E,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(ot))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(me,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(de,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(e)*100},null,8,["percentage"])]),default:n(()=>[x(" "+I(r.value.length)+" / "+I(a(e)),1)]),_:1})]),v("div",Us,[t(q,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:G},{default:n(()=>[x(" 取消 ")]),_:1}),t(q,{loading:L.value,onClick:s,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[x(" 发布 ")]),_:1},8,["loading"])])]),v("div",Rs,[t(ve)])]),_:1},8,["headers","data","file-list"])):i("",!0)])):(o(),u("div",Ss,[Ls,R.value?i("",!0):(o(),u("div",Ms,[t(q,{strong:"",secondary:"",round:"",type:"primary",onClick:g[0]||(g[0]=X=>d("signin"))},{default:n(()=>[x(" 登录 ")]),_:1})])),R.value?(o(),u("div",As,[t(q,{strong:"",secondary:"",round:"",type:"primary",onClick:g[1]||(g[1]=X=>d("signin"))},{default:n(()=>[x(" 登录 ")]),_:1}),t(q,{strong:"",secondary:"",round:"",type:"info",onClick:g[2]||(g[2]=X=>d("signup"))},{default:n(()=>[x(" 注册 ")]),_:1})])):i("",!0)]))])}}});const Ds=oe(Os,[["__scopeId","data-v-634e6bfd"]]),qs={class:"username-wrap"},Es={key:0,class:"options"},Ns={key:0},js=["innerHTML"],Bs={class:"timestamp"},Hs={key:0},Fs={key:1},Vs={class:"opts-wrap"},Ys=["onClick"],Js={class:"opt-item"},Ks=["onClick"],Qs=["onClick"],Ws=Z({__name:"post-detail",props:{post:{}},emits:["reload"],setup(O,{emit:D}){const l=O,p=se(),f=Le(),y=c(!1),k=c(!1),L=c(!1),r=c(!1),U=c(!1),T=c(!1),h=c(!1),$=c(!1),R=c(ee.PUBLIC),e=le({get:()=>{let s=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return s.contents.map(d=>{(+d.type==1||+d.type==2)&&s.texts.push(d),+d.type==3&&s.imgs.push(d),+d.type==4&&s.videos.push(d),+d.type==6&&s.links.push(d),+d.type==7&&s.attachments.push(d),+d.type==8&&s.charge_attachments.push(d)}),s},set:s=>{l.post.upvote_count=s.upvote_count,l.post.comment_count=s.comment_count,l.post.collection_count=s.collection_count}}),_=s=>()=>we(J,null,{default:()=>we(s)}),M=le(()=>{let s=[{label:"删除",key:"delete",icon:_(V)}];return e.value.is_lock===0?s.push({label:"锁定",key:"lock",icon:_(V)}):s.push({label:"解锁",key:"unlock",icon:_(V)}),p.state.userInfo.is_admin&&(e.value.is_top===0?s.push({label:"置顶",key:"stick",icon:_(V)}):s.push({label:"取消置顶",key:"unstick",icon:_(V)})),e.value.is_essence===0?s.push({label:"设为亮点",key:"highlight",icon:_($e)}):s.push({label:"取消亮点",key:"unhighlight",icon:_($e)}),e.value.visibility===ee.PUBLIC?s.push({label:"公开",key:"vpublic",icon:_(he),children:[{label:"私密",key:"vprivate",icon:_(V)},{label:"好友可见",key:"vfriend",icon:_(V)}]}):e.value.visibility===ee.PRIVATE?s.push({label:"私密",key:"vprivate",icon:_(he),children:[{label:"公开",key:"vpublic",icon:_(V)},{label:"好友可见",key:"vfriend",icon:_(V)}]}):s.push({label:"好友可见",key:"vfriend",icon:_(he),children:[{label:"公开",key:"vpublic",icon:_(V)},{label:"私密",key:"vprivate",icon:_(V)}]}),s}),w=s=>{f.push({name:"post",query:{id:s}})},A=(s,d)=>{if(s.target.dataset.detail){const m=s.target.dataset.detail.split(":");if(m.length===2){p.commit("refresh"),m[0]==="tag"?f.push({name:"home",query:{q:m[1],t:"tag"}}):f.push({name:"user",query:{username:m[1]}});return}}w(d)},j=s=>{switch(s){case"delete":L.value=!0;break;case"lock":case"unlock":r.value=!0;break;case"stick":case"unstick":U.value=!0;break;case"highlight":case"unhighlight":T.value=!0;break;case"vpublic":R.value=0,h.value=!0;break;case"vprivate":R.value=1,h.value=!0;break;case"vfriend":R.value=2,h.value=!0;break}},B=()=>{Qe({id:e.value.id}).then(s=>{window.$message.success("删除成功"),f.replace("/"),setTimeout(()=>{p.commit("refresh")},50)}).catch(s=>{$.value=!1})},Y=()=>{We({id:e.value.id}).then(s=>{D("reload"),s.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(s=>{$.value=!1})},P=()=>{Ge({id:e.value.id}).then(s=>{D("reload"),s.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(s=>{$.value=!1})},S=()=>{Xe({id:e.value.id}).then(s=>{D("reload"),s.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(s=>{$.value=!1})},Q=()=>{Ze({id:e.value.id,visibility:R.value}).then(s=>{D("reload"),window.$message.success("修改可见性成功")}).catch(s=>{$.value=!1})},F=()=>{et({id:e.value.id}).then(s=>{y.value=s.status,s.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count-1}}).catch(s=>{console.log(s)})},K=()=>{tt({id:e.value.id}).then(s=>{k.value=s.status,s.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count-1}}).catch(s=>{console.log(s)})},G=()=>{Ot(`${window.location.origin}/#/post?id=${e.value.id}`),window.$message.success("链接已复制到剪贴板")};return ge(()=>{p.state.userInfo.id>0&&(Je({id:e.value.id}).then(s=>{y.value=s.status}).catch(s=>{console.log(s)}),Ke({id:e.value.id}).then(s=>{k.value=s.status}).catch(s=>{console.log(s)}))}),(s,d)=>{const m=ye,g=fe("router-link"),b=kt,C=ne,E=wt,q=bt,W=Ut,de=Se,me=Rt,ve=St,ae=$t,X=Re,Me=Ue;return o(),u("div",{class:"detail-item",onClick:d[7]||(d[7]=N=>w(e.value.id))},[t(Me,null,{avatar:n(()=>[t(m,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:n(()=>[t(g,{onClick:d[0]||(d[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.value.user.username}}},{default:n(()=>[x(I(e.value.user.nickname),1)]),_:1},8,["to"]),v("span",qs," @"+I(e.value.user.username),1),e.value.is_top?(o(),z(b,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[x(" 置顶 ")]),_:1})):i("",!0),e.value.visibility==a(ee).PRIVATE?(o(),z(b,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[x(" 私密 ")]),_:1})):i("",!0),e.value.visibility==a(ee).FRIEND?(o(),z(b,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[x(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":n(()=>[a(p).state.userInfo.is_admin||a(p).state.userInfo.id===e.value.user.id?(o(),u("div",Es,[t(E,{placement:"bottom-end",trigger:"click",size:"small",options:M.value,onSelect:j},{default:n(()=>[t(C,{quaternary:"",circle:""},{icon:n(()=>[t(a(J),null,{default:n(()=>[t(a(nt))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),t(q,{show:L.value,"onUpdate:show":d[1]||(d[1]=N=>L.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:B},null,8,["show"]),t(q,{show:r.value,"onUpdate:show":d[2]||(d[2]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(q,{show:U.value,"onUpdate:show":d[3]||(d[3]=N=>U.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:P},null,8,["show","content"]),t(q,{show:T.value,"onUpdate:show":d[4]||(d[4]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(e.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:S},null,8,["show","content"]),t(q,{show:h.value,"onUpdate:show":d[5]||(d[5]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(R.value==0?"公开":R.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"])]),footer:n(()=>[t(W,{attachments:e.value.attachments},null,8,["attachments"]),t(W,{attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"]),t(de,{imgs:e.value.imgs},null,8,["imgs"]),t(me,{videos:e.value.videos,full:!0},null,8,["videos"]),t(ve,{links:e.value.links},null,8,["links"]),v("div",Bs,[x(" 发布于 "+I(a(ce)(e.value.created_on))+" ",1),e.value.ip_loc?(o(),u("span",Hs,[t(ae,{vertical:""}),x(" "+I(e.value.ip_loc),1)])):i("",!0),!a(p).state.collapsedLeft&&e.value.created_on!=e.value.latest_replied_on?(o(),u("span",Fs,[t(ae,{vertical:""}),x(" 最后回复 "+I(a(ce)(e.value.latest_replied_on)),1)])):i("",!0)])]),action:n(()=>[v("div",Vs,[t(X,{justify:"space-between"},{default:n(()=>[v("div",{class:"opt-item hover",onClick:H(F,["stop"])},[t(a(J),{size:"20",class:"opt-item-icon"},{default:n(()=>[y.value?i("",!0):(o(),z(a(at),{key:0})),y.value?(o(),z(a(lt),{key:1,color:"red"})):i("",!0)]),_:1}),x(" "+I(e.value.upvote_count),1)],8,Ys),v("div",Js,[t(a(J),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(it))]),_:1}),x(" "+I(e.value.comment_count),1)]),v("div",{class:"opt-item hover",onClick:H(K,["stop"])},[t(a(J),{size:"20",class:"opt-item-icon"},{default:n(()=>[k.value?i("",!0):(o(),z(a(ut),{key:0})),k.value?(o(),z(a(ct),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),x(" "+I(e.value.collection_count),1)],8,Ks),v("div",{class:"opt-item hover",onClick:H(G,["stop"])},[t(a(J),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(rt))]),_:1}),x(" "+I(e.value.share_count),1)],8,Qs)]),_:1})])]),default:n(()=>[e.value.texts.length>0?(o(),u("div",Ns,[(o(!0),u(ie,null,ue(e.value.texts,N=>(o(),u("span",{key:N.id,class:"post-text",onClick:d[6]||(d[6]=H(Ae=>A(Ae,e.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,js))),128))])):i("",!0)]),_:1})])}}});const Gs=O=>(Ce("data-v-0d01659f"),O=O(),xe(),O),Xs={key:0,class:"detail-wrap"},Zs={key:1,class:"empty-wrap"},eo={key:0,class:"comment-opts-wrap"},to=Gs(()=>v("span",{class:"comment-title-item"},"评论",-1)),so={key:2},oo={key:0,class:"skeleton-wrap"},no={key:1},ao={key:0,class:"empty-wrap"},lo={key:0,class:"load-more-spinner"},io={key:1,class:"load-more-spinner"},uo={key:2,class:"load-more-spinner"},co={key:3,class:"load-more-spinner"},te=20,ro=Z({__name:"Post",setup(O){const D=Lt(),l=c({}),p=c(!1),f=c(!1),y=c([]),k=le(()=>+D.query.id),L=c("default"),r=c(!0);let U={loading(){},loaded(){},complete(){},error(){}};const T=P=>{L.value=P,P==="default"&&(r.value=!0),B(U)},h=()=>{l.value={id:0},p.value=!0,st({id:k.value}).then(P=>{p.value=!1,l.value=P,B(U)}).catch(P=>{p.value=!1})};let $=1;const R=c(!1),e=c([]),_=P=>{R.value||be({id:l.value.id,sort_strategy:"default",page:$,page_size:te}).then(S=>{P!==null&&(U=P),S.list.length0&&($===1?e.value=S.list:e.value.push(...S.list),y.value=e.value),U.loaded(),f.value=!1}).catch(S=>{f.value=!1,U.error()})};let M=1,w=c(!1);const A=c([]),j=P=>{w.value||be({id:l.value.id,sort_strategy:"newest",page:M,page_size:te}).then(S=>{P!==null&&(U=P),S.list.length0&&(M===1?A.value=S.list:A.value.push(...S.list),y.value=A.value),U.loaded(),f.value=!1}).catch(S=>{f.value=!1,U.error()})},B=P=>{k.value<1||(y.value.length===0&&(f.value=!0),L.value==="default"?(y.value=e.value,_(P)):(y.value=A.value,j(P)),f.value=!1)},Y=()=>{$=1,R.value=!1,e.value=[],M=1,w.value=!1,A.value=[],B(U)};return ge(()=>{h()}),De(k,()=>{k.value>0&&D.name==="post"&&h()}),(P,S)=>{const Q=Dt,F=Ws,K=xt,G=It,s=Tt,d=zt,m=Pt,g=Ds,b=Mt,C=$s,E=Re,q=Ct;return o(),u("div",null,[t(Q,{title:"泡泡详情",back:!0}),t(q,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(s,null,{default:n(()=>[t(G,{show:p.value},{default:n(()=>[l.value.id>1?(o(),u("div",Xs,[t(F,{post:l.value,onReload:h},null,8,["post"])])):(o(),u("div",Zs,[t(K,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(o(),u("div",eo,[t(m,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[to]),default:n(()=>[t(d,{name:"default",tab:"默认"}),t(d,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(o(),z(s,{key:1},{default:n(()=>[t(g,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:Y},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(o(),u("div",so,[f.value?(o(),u("div",oo,[t(b,{num:5})])):(o(),u("div",no,[y.value.length===0?(o(),u("div",ao,[t(K,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(o(!0),u(ie,null,ue(y.value,W=>(o(),z(s,{key:W.id},{default:n(()=>[t(C,{comment:W,onReload:Y},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=te?(o(),z(E,{key:3,justify:"center"},{default:n(()=>[t(a(qt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:B},{spinner:n(()=>[r.value&&R.value?(o(),u("span",lo)):i("",!0),!r.value&&a(w)?(o(),u("span",io)):i("",!0),r.value&&!R.value?(o(),u("span",uo,"加载评论")):i("",!0),!r.value&&!a(w)?(o(),u("span",co,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const Fo=oe(ro,[["__scopeId","data-v-0d01659f"]]);export{Fo as default}; diff --git a/web/dist/assets/Profile-24e6724a.css b/web/dist/assets/Profile-24e6724a.css deleted file mode 100644 index d16f3444..00000000 --- a/web/dist/assets/Profile-24e6724a.css +++ /dev/null @@ -1 +0,0 @@ -.profile-baseinfo[data-v-834be275]{display:flex;padding:16px}.profile-baseinfo .avatar[data-v-834be275]{width:55px}.profile-baseinfo .base-info[data-v-834be275]{position:relative;width:calc(100% - 55px)}.profile-baseinfo .base-info .username[data-v-834be275]{line-height:16px;font-size:16px}.profile-baseinfo .base-info .uid[data-v-834be275]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.profile-tabs-wrap[data-v-834be275]{padding:0 16px}.pagination-wrap[data-v-834be275]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .profile-baseinfo[data-v-834be275]{background-color:#18181c}.dark .profile-wrap[data-v-834be275],.dark .pagination-wrap[data-v-834be275]{background-color:#101014bf} diff --git a/web/dist/assets/Profile-25c44ed2.js b/web/dist/assets/Profile-25c44ed2.js new file mode 100644 index 00000000..fbcabeb3 --- /dev/null +++ b/web/dist/assets/Profile-25c44ed2.js @@ -0,0 +1 @@ +import{_ as J,a as K}from"./post-item.vue_vue_type_style_index_0_lang-0c31f78f.js";import{_ as W}from"./post-skeleton-435c2090.js";import{_ as X}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{u as Y}from"./vuex-473b3783.js";import{b as Z}from"./vue-router-b8e3382f.js";import{B as g,_ as ee}from"./index-2e014601.js";import{d as ae,r as u,j as te,w as se,c as i,V as n,_,Q as T,a1 as f,O as z,o as l,a as p,M as q,F as $,a4 as F}from"./@vue-e0e89260.js";import{F as oe,G as ne,o as le,f as re,g as ue,I as ie,H as ce}from"./naive-ui-62663ad7.js";import"./content-a356c23e.js";import"./@vicons-b553c29f.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const _e={class:"profile-baseinfo"},pe={class:"avatar"},me={class:"base-info"},ve={class:"username"},de={class:"uid"},ge={key:0,class:"skeleton-wrap"},he={key:1},fe={key:0,class:"empty-wrap"},be={key:1},ke={key:2},ye={key:1,class:"pagination-wrap"},we=ae({__name:"Profile",setup(Pe){const s=Y(),m=Z(),t=u(!1),o=u([]),h=u("post"),x=u(+m.query.p||1),B=u(1),S=u(1),C=u(1),U=u(1),a=u(+m.query.p||1),r=u(20),c=u(0),b=()=>{switch(h.value){case"post":k();break;case"comment":y();break;case"highlight":w();break;case"media":P();break;case"star":I();break}},k=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"post",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},y=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"comment",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},w=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"highlight",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},P=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"media",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},I=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"star",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},N=e=>{switch(h.value=e,h.value){case"post":a.value=x.value,k();break;case"comment":a.value=B.value,y();break;case"highlight":a.value=S.value,w();break;case"media":a.value=C.value,P();break;case"star":a.value=U.value,I();break}},j=e=>{switch(a.value=e,h.value){case"post":x.value=e,k();break;case"comment":B.value=a.value,y();break;case"highlight":S.value=a.value,w();break;case"media":C.value=a.value,P();break;case"star":U.value=a.value,I();break}};return te(()=>{b()}),se(()=>({path:m.path,query:m.query,refresh:s.state.refresh}),(e,M)=>{if(e.refresh!==M.refresh){a.value=+m.query.p||1,setTimeout(()=>{b()},0);return}M.path!=="/post"&&e.path==="/profile"&&(a.value=+m.query.p||1,setTimeout(()=>{b()},0))}),(e,M)=>{const D=X,H=le,v=re,R=ue,E=W,G=ie,L=J,V=ce,O=K,Q=oe,A=ne;return l(),i("div",null,[n(D,{title:"主页"}),_(s).state.userInfo.id>0?(l(),T(Q,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:f(()=>[p("div",_e,[p("div",pe,[n(H,{size:"large",src:_(s).state.userInfo.avatar},null,8,["src"])]),p("div",me,[p("div",ve,[p("strong",null,q(_(s).state.userInfo.nickname),1),p("span",null," @"+q(_(s).state.userInfo.username),1)]),p("div",de,"UID. "+q(_(s).state.userInfo.id),1)])]),n(R,{class:"profile-tabs-wrap",type:"line",animated:"","justify-content":"space-evenly","onUpdate:value":N},{default:f(()=>[n(v,{name:"post",tab:"泡泡"}),n(v,{name:"comment",tab:"评论"}),n(v,{name:"highlight",tab:"亮点"}),n(v,{name:"media",tab:"图文"}),n(v,{name:"star",tab:"喜欢"})]),_:1}),t.value?(l(),i("div",ge,[n(E,{num:r.value},null,8,["num"])])):(l(),i("div",he,[o.value.length===0?(l(),i("div",fe,[n(G,{size:"large",description:"暂无数据"})])):z("",!0),_(s).state.desktopModelShow?(l(),i("div",be,[(l(!0),i($,null,F(o.value,d=>(l(),T(V,{key:d.id},{default:f(()=>[n(L,{post:d},null,8,["post"])]),_:2},1024))),128))])):(l(),i("div",ke,[(l(!0),i($,null,F(o.value,d=>(l(),T(V,{key:d.id},{default:f(()=>[n(O,{post:d},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1})):z("",!0),c.value>0?(l(),i("div",ye,[n(A,{page:a.value,"onUpdate:page":j,"page-slot":_(s).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):z("",!0)])}}});const ea=ee(we,[["__scopeId","data-v-4dcbbb6d"]]);export{ea as default}; diff --git a/web/dist/assets/Profile-67eeb9ca.js b/web/dist/assets/Profile-67eeb9ca.js deleted file mode 100644 index 4b78d106..00000000 --- a/web/dist/assets/Profile-67eeb9ca.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as O,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-cf654b7f.js";import{_ as J}from"./post-skeleton-627d3fc3.js";import{_ as K}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{u as W}from"./vuex-473b3783.js";import{b as X}from"./vue-router-b8e3382f.js";import{A as g,_ as Y}from"./index-8b4e1776.js";import{d as Z,r,j as ee,w as ae,c,V as o,_ as i,Q as M,a1 as h,O as T,o as n,a as _,M as z,F as U,a4 as V}from"./@vue-e0e89260.js";import{F as te,G as se,o as oe,f as ne,g as le,I as re,H as ue}from"./naive-ui-62663ad7.js";import"./content-c0ce69b7.js";import"./@vicons-d502290a.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const ce={class:"profile-baseinfo"},ie={class:"avatar"},_e={class:"base-info"},pe={class:"username"},me={class:"uid"},ve={key:0,class:"skeleton-wrap"},de={key:1},fe={key:0,class:"empty-wrap"},ge={key:1},he={key:2},ke={key:1,class:"pagination-wrap"},be=Z({__name:"Profile",setup(ye){const s=W(),p=X(),t=r(!1),l=r([]),d=r("post"),q=r(+p.query.p||1),x=r(1),S=r(1),B=r(1),a=r(+p.query.p||1),u=r(20),m=r(0),k=()=>{switch(d.value){case"post":b();break;case"comment":y();break;case"media":w();break;case"star":P();break}},b=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"post",page:a.value,page_size:u.value}).then(e=>{t.value=!1,l.value=e.list||[],m.value=Math.ceil(e.pager.total_rows/u.value),window.scrollTo(0,0)}).catch(e=>{l.value=[],t.value=!1})},y=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"comment",page:a.value,page_size:u.value}).then(e=>{t.value=!1,l.value=e.list||[],m.value=Math.ceil(e.pager.total_rows/u.value),window.scrollTo(0,0)}).catch(e=>{l.value=[],t.value=!1})},w=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"media",page:a.value,page_size:u.value}).then(e=>{t.value=!1,l.value=e.list||[],m.value=Math.ceil(e.pager.total_rows/u.value),window.scrollTo(0,0)}).catch(e=>{l.value=[],t.value=!1})},P=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"star",page:a.value,page_size:u.value}).then(e=>{t.value=!1,l.value=e.list||[],m.value=Math.ceil(e.pager.total_rows/u.value),window.scrollTo(0,0)}).catch(e=>{l.value=[],t.value=!1})},$=e=>{switch(d.value=e,d.value){case"post":a.value=q.value,b();break;case"comment":a.value=x.value,y();break;case"media":a.value=S.value,w();break;case"star":a.value=B.value,P();break}},F=e=>{switch(a.value=e,d.value){case"post":q.value=e,b();break;case"comment":x.value=a.value,y();break;case"media":S.value=a.value,w();break;case"star":B.value=a.value,P();break}};return ee(()=>{k()}),ae(()=>({path:p.path,query:p.query,refresh:s.state.refresh}),(e,I)=>{if(e.refresh!==I.refresh){a.value=+p.query.p||1,setTimeout(()=>{k()},0);return}I.path!=="/post"&&e.path==="/profile"&&(a.value=+p.query.p||1,setTimeout(()=>{k()},0))}),(e,I)=>{const N=K,D=oe,f=ne,R=le,j=J,A=re,E=O,C=ue,G=Q,H=te,L=se;return n(),c("div",null,[o(N,{title:"主页"}),i(s).state.userInfo.id>0?(n(),M(H,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:h(()=>[_("div",ce,[_("div",ie,[o(D,{size:"large",src:i(s).state.userInfo.avatar},null,8,["src"])]),_("div",_e,[_("div",pe,[_("strong",null,z(i(s).state.userInfo.nickname),1),_("span",null," @"+z(i(s).state.userInfo.username),1)]),_("div",me,"UID. "+z(i(s).state.userInfo.id),1)])]),o(R,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":$},{default:h(()=>[o(f,{name:"post",tab:"泡泡"}),o(f,{name:"comment",tab:"评论"}),o(f,{name:"media",tab:"图文"}),o(f,{name:"star",tab:"喜欢"})]),_:1}),t.value?(n(),c("div",ve,[o(j,{num:u.value},null,8,["num"])])):(n(),c("div",de,[l.value.length===0?(n(),c("div",fe,[o(A,{size:"large",description:"暂无数据"})])):T("",!0),i(s).state.desktopModelShow?(n(),c("div",ge,[(n(!0),c(U,null,V(l.value,v=>(n(),M(C,{key:v.id},{default:h(()=>[o(E,{post:v},null,8,["post"])]),_:2},1024))),128))])):(n(),c("div",he,[(n(!0),c(U,null,V(l.value,v=>(n(),M(C,{key:v.id},{default:h(()=>[o(G,{post:v},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1})):T("",!0),m.value>0?(n(),c("div",ke,[o(L,{page:a.value,"onUpdate:page":F,"page-slot":i(s).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):T("",!0)])}}});const Ye=Y(be,[["__scopeId","data-v-834be275"]]);export{Ye as default}; diff --git a/web/dist/assets/Profile-f5400ee9.css b/web/dist/assets/Profile-f5400ee9.css new file mode 100644 index 00000000..9056231b --- /dev/null +++ b/web/dist/assets/Profile-f5400ee9.css @@ -0,0 +1 @@ +.profile-baseinfo[data-v-4dcbbb6d]{display:flex;padding:16px}.profile-baseinfo .avatar[data-v-4dcbbb6d]{width:55px}.profile-baseinfo .base-info[data-v-4dcbbb6d]{position:relative;width:calc(100% - 55px)}.profile-baseinfo .base-info .username[data-v-4dcbbb6d]{line-height:16px;font-size:16px}.profile-baseinfo .base-info .uid[data-v-4dcbbb6d]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.profile-tabs-wrap[data-v-4dcbbb6d]{padding:0 16px}.pagination-wrap[data-v-4dcbbb6d]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .profile-baseinfo[data-v-4dcbbb6d]{background-color:#18181c}.dark .profile-wrap[data-v-4dcbbb6d],.dark .pagination-wrap[data-v-4dcbbb6d]{background-color:#101014bf} diff --git a/web/dist/assets/Setting-062eeb8c.js b/web/dist/assets/Setting-ae1dc5f2.js similarity index 82% rename from web/dist/assets/Setting-062eeb8c.js rename to web/dist/assets/Setting-ae1dc5f2.js index b4790a46..cb7a06c4 100644 --- a/web/dist/assets/Setting-062eeb8c.js +++ b/web/dist/assets/Setting-ae1dc5f2.js @@ -1 +1 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{d as ye,r as d,E as H,j as ke,c as g,V as t,a1 as s,Q as b,O as _,o as r,a as m,_ as u,e as c,M as R,z as be,v as Ce,P as q,a2 as B,W as Ie,X as $e}from"./@vue-e0e89260.js";import{u as Pe}from"./vuex-473b3783.js";import{S as Z,T as Se,U as Ue,V as Re,W as qe,X as Be,Y as Ae,_ as ze}from"./index-8b4e1776.js";import{x as Ne}from"./@vicons-d502290a.js";import{h as xe,o as Ke,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Ee,L as Oe,a0 as Le,a1 as Me,d as We}from"./naive-ui-62663ad7.js";import"./vue-router-b8e3382f.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Xe={class:"base-line avatar"},Ge={class:"base-line"},Je=V(()=>m("span",{class:"base-label"},"昵称",-1)),Qe={key:0},Ye={class:"base-line"},He=V(()=>m("span",{class:"base-label"},"用户名",-1)),Ze={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),N=d(!1),x=d(!1),M=d(),W=d(),C=d(!1),K=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),X=d(),G=d(),J=d(),Q=d(),a=H({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=H({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Se({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=Q.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{v||(K.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{K.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{K.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=X.value)==null||e.validate(v=>{v||(N.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{N.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{N.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(x.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{x.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{x.value=!1,f.code===20012&&j()}))})},T=()=>{Z().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{Z().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=Ke,p=De,D=Fe,h=Ve,ge=Te,F=xe,Y=je,w=Ee,he=Oe,E=Le,O=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Xe,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Je,C.value?_("",!0):(r(),g("div",Qe,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ne))]),_:1})]),_:1})):_("",!0)]),m("div",Ye,[He,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Ze,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Y,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:X,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Y,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),S.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:J,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:Q,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{d as ye,r as d,E as Z,j as ke,c as g,V as t,a1 as s,Q as b,O as _,o as r,a as m,_ as u,e as c,M as R,z as be,v as Ce,P as q,a2 as B,W as Ie,X as $e}from"./@vue-e0e89260.js";import{u as Pe}from"./vuex-473b3783.js";import{T as H,U as Ue,V as Se,W as Re,X as qe,Y as Be,Z as Ae,_ as ze}from"./index-2e014601.js";import{y as Ne}from"./@vicons-b553c29f.js";import{h as Ke,o as xe,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Ee,L as Oe,a0 as Le,a1 as Me,d as We}from"./naive-ui-62663ad7.js";import"./vue-router-b8e3382f.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Xe={class:"base-line avatar"},Ge={class:"base-line"},Je=V(()=>m("span",{class:"base-label"},"昵称",-1)),Qe={key:0},Ye={class:"base-line"},Ze=V(()=>m("span",{class:"base-label"},"用户名",-1)),He={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),N=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),X=d(),G=d(),J=d(),Q=d(),a=Z({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Z({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=Q.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{v||(x.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=X.value)==null||e.validate(v=>{v||(N.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{N.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{N.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&j()}))})},T=()=>{H().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{H().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=Ve,ge=Te,F=Ke,Y=je,w=Ee,he=Oe,E=Le,O=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Xe,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Je,C.value?_("",!0):(r(),g("div",Qe,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ne))]),_:1})]),_:1})):_("",!0)]),m("div",Ye,[Ze,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",He,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Y,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:X,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Y,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:J,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:Q,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-501554b1.js b/web/dist/assets/Topic-b7ab22f5.js similarity index 95% rename from web/dist/assets/Topic-501554b1.js rename to web/dist/assets/Topic-b7ab22f5.js index f0da3484..51b76ed5 100644 --- a/web/dist/assets/Topic-501554b1.js +++ b/web/dist/assets/Topic-b7ab22f5.js @@ -1 +1 @@ -import{w as F,x as z,y as I,z as j,_ as E}from"./index-8b4e1776.js";import{p as U}from"./@vicons-d502290a.js";import{d as $,r as i,n as q,j as A,a3 as x,o as c,c as _,V as n,a1 as s,Q as b,e as V,M as f,O as u,_ as h,w as D,a7 as P,F as Q,a4 as G}from"./@vue-e0e89260.js";import{o as H,O as B,j as J,e as K,P as R,M as W,F as X,f as Y,g as Z,a as ee,k as oe}from"./naive-ui-62663ad7.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{u as ne}from"./vuex-473b3783.js";import"./vue-router-b8e3382f.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=$({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=q(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":I({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":z({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return A(()=>{r.value=!1}),(e,o)=>{const w=x("router-link"),g=H,k=B,a=J,d=K,v=R,p=W;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[V(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(U))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=$({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);D(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=q({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,j({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return A(()=>{g()}),(a,d)=>{const v=te,p=Y,C=B,L=Z,M=ie,N=ee,O=oe,S=X;return c(),_("div",null,[n(v,{title:"话题"}),n(S,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(L,{type:"line",animated:"","onUpdate:value":k},P({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(C,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[V(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(O,{show:l.value},{default:s(()=>[n(N,null,{default:s(()=>[(c(!0),_(Q,null,G(r.value,y=>(c(),b(M,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Me=E(_e,[["__scopeId","data-v-15794a53"]]);export{Me as default}; +import{x as F,y as z,z as I,A as j,_ as E}from"./index-2e014601.js";import{q as U}from"./@vicons-b553c29f.js";import{d as $,r as i,n as q,j as A,a3 as x,o as c,c as _,V as n,a1 as s,Q as b,e as V,M as f,O as u,_ as h,w as D,a7 as P,F as Q,a4 as G}from"./@vue-e0e89260.js";import{o as H,O as B,j as J,e as K,P as R,M as W,F as X,f as Y,g as Z,a as ee,k as oe}from"./naive-ui-62663ad7.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{u as ne}from"./vuex-473b3783.js";import"./vue-router-b8e3382f.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=$({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=q(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":I({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":z({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return A(()=>{r.value=!1}),(e,o)=>{const w=x("router-link"),g=H,k=B,a=J,d=K,v=R,p=W;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[V(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(U))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=$({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);D(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=q({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,j({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return A(()=>{g()}),(a,d)=>{const v=te,p=Y,C=B,L=Z,M=ie,N=ee,O=oe,S=X;return c(),_("div",null,[n(v,{title:"话题"}),n(S,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(L,{type:"line",animated:"","onUpdate:value":k},P({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(C,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[V(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(O,{show:l.value},{default:s(()=>[n(N,null,{default:s(()=>[(c(!0),_(Q,null,G(r.value,y=>(c(),b(M,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Me=E(_e,[["__scopeId","data-v-15794a53"]]);export{Me as default}; diff --git a/web/dist/assets/User-01d95431.js b/web/dist/assets/User-01d95431.js deleted file mode 100644 index 58e536f4..00000000 --- a/web/dist/assets/User-01d95431.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as xe,a as $e}from"./post-item.vue_vue_type_style_index_0_lang-cf654b7f.js";import{_ as Ue}from"./post-skeleton-627d3fc3.js";import{B as Pe,_ as A,C as ze,D as Fe,A as q,E as Se,F as Te}from"./index-8b4e1776.js";import{R as G,K,S as Q,b as J,e as D,i as X,T as Ie,F as Me,G as qe,o as Ce,O as We,j as Be,P as Re,k as Ae,f as De,g as Ne,I as Ve,H as Ee}from"./naive-ui-62663ad7.js";import{d as N,r as o,o as c,Q as F,a1 as n,a as p,V as a,e as w,M as k,E as Oe,n as je,w as He,j as Le,c as m,_ as y,O as z,F as H,a4 as L}from"./@vue-e0e89260.js";import{_ as Ge}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{u as Ke}from"./vuex-473b3783.js";import{b as Qe}from"./vue-router-b8e3382f.js";import{i as Je}from"./@vicons-d502290a.js";import"./content-c0ce69b7.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Xe={class:"whisper-wrap"},Ye={class:"whisper-line"},Ze={class:"whisper-line send-wrap"},es=N({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(T,{emit:b}){const d=T,i=o(""),t=o(!1),s=()=>{b("success")},_=()=>{t.value=!0,Pe({user_id:d.user.id,content:i.value}).then(u=>{window.$message.success("发送成功"),t.value=!1,i.value="",s()}).catch(u=>{t.value=!1})};return(u,h)=>{const r=G,v=K,l=Q,g=J,x=D,$=X;return c(),F($,{show:u.show,"onUpdate:show":s,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:n(()=>[p("div",Xe,[a(l,{"show-icon":!1},{default:n(()=>[w(" 即将发送私信给: "),a(v,{style:{"max-width":"100%"}},{default:n(()=>[a(r,{type:"success"},{default:n(()=>[w(k(u.user.nickname)+"@"+k(u.user.username),1)]),_:1})]),_:1})]),_:1}),p("div",Ye,[a(g,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:i.value,"onUpdate:value":h[0]||(h[0]=U=>i.value=U),maxlength:"200","show-count":""},null,8,["value"])]),p("div",Ze,[a(x,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:_},{default:n(()=>[w(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const ss=A(es,[["__scopeId","data-v-0cbfe47c"]]),as={class:"whisper-wrap"},ts={class:"whisper-line"},ns={class:"whisper-line send-wrap"},os=N({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(T,{emit:b}){const d=T,i=o(""),t=o(!1),s=()=>{b("success")},_=()=>{t.value=!0,ze({user_id:d.user.id,greetings:i.value}).then(u=>{window.$message.success("发送成功"),t.value=!1,i.value="",s()}).catch(u=>{t.value=!1})};return(u,h)=>{const r=G,v=K,l=Q,g=J,x=D,$=X;return c(),F($,{show:u.show,"onUpdate:show":s,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:n(()=>[p("div",as,[a(l,{"show-icon":!1},{default:n(()=>[w(" 发送添加朋友申请给: "),a(v,{style:{"max-width":"100%"}},{default:n(()=>[a(r,{type:"success"},{default:n(()=>[w(k(u.user.nickname)+"@"+k(u.user.username),1)]),_:1})]),_:1})]),_:1}),p("div",ts,[a(g,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:i.value,"onUpdate:value":h[0]||(h[0]=U=>i.value=U),maxlength:"120","show-count":""},null,8,["value"])]),p("div",ns,[a(x,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:_},{default:n(()=>[w(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const ls=A(os,[["__scopeId","data-v-60be56a2"]]),cs={key:0,class:"profile-baseinfo"},is={class:"avatar"},us={class:"base-info"},rs={class:"username"},_s={class:"uid"},ps={key:0,class:"user-opts"},ds={key:0,class:"skeleton-wrap"},ms={key:1},vs={key:0,class:"empty-wrap"},hs={key:1},fs={key:2},gs={key:0,class:"pagination-wrap"},ws=N({__name:"User",setup(T){const b=Ie(),d=Ke(),i=Qe(),t=o(!1),s=Oe({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),_=o(!1),u=o(!1),h=o(!1),r=o([]),v=o(i.query.username||""),l=o(+i.query.p||1),g=o("post"),x=o(+i.query.p||1),$=o(1),U=o(1),V=o(1),f=o(20),P=o(0),Y=()=>{switch(g.value){case"post":I();break;case"comment":C();break;case"media":W();break;case"star":B();break}},I=()=>{t.value=!0,q({username:v.value,style:"post",page:l.value,page_size:f.value}).then(e=>{t.value=!1,r.value=e.list||[],P.value=Math.ceil(e.pager.total_rows/f.value),window.scrollTo(0,0)}).catch(e=>{r.value=[],t.value=!1})},C=()=>{t.value=!0,q({username:v.value,style:"comment",page:l.value,page_size:f.value}).then(e=>{t.value=!1,r.value=e.list||[],P.value=Math.ceil(e.pager.total_rows/f.value),window.scrollTo(0,0)}).catch(e=>{r.value=[],t.value=!1})},W=()=>{t.value=!0,q({username:v.value,style:"media",page:l.value,page_size:f.value}).then(e=>{t.value=!1,r.value=e.list||[],P.value=Math.ceil(e.pager.total_rows/f.value),window.scrollTo(0,0)}).catch(e=>{r.value=[],t.value=!1})},B=()=>{t.value=!0,q({username:v.value,style:"star",page:l.value,page_size:f.value}).then(e=>{t.value=!1,r.value=e.list||[],P.value=Math.ceil(e.pager.total_rows/f.value),window.scrollTo(0,0)}).catch(e=>{r.value=[],t.value=!1})},Z=e=>{switch(g.value=e,g.value){case"post":l.value=x.value,I();break;case"comment":l.value=$.value,C();break;case"media":l.value=U.value,W();break;case"star":l.value=V.value,B();break}},R=()=>{_.value=!0,Fe({username:v.value}).then(e=>{_.value=!1,s.id=e.id,s.avatar=e.avatar,s.username=e.username,s.nickname=e.nickname,s.is_admin=e.is_admin,s.is_friend=e.is_friend,s.status=e.status,Y()}).catch(e=>{_.value=!1,console.log(e)})},ee=e=>{switch(l.value=e,g.value){case"post":x.value=e,I();break;case"comment":$.value=l.value,C();break;case"media":U.value=l.value,W();break;case"star":V.value=l.value,B();break}},se=()=>{u.value=!0},ae=()=>{h.value=!0},te=()=>{u.value=!1},ne=()=>{h.value=!1},oe=je(()=>{let e=[{label:"私信",key:"whisper"}];return d.state.userInfo.is_admin&&(s.status===1?e.push({label:"禁言",key:"banned"}):e.push({label:"解封",key:"deblocking"})),s.is_friend?e.push({label:"删除好友",key:"delete"}):e.push({label:"添加朋友",key:"requesting"}),e}),le=e=>{switch(e){case"whisper":se();break;case"delete":ce();break;case"requesting":ae();break;case"banned":case"deblocking":ie();break}},ce=()=>{b.warning({title:"删除好友",content:"将好友 “"+s.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{_.value=!0,Se({user_id:s.id}).then(e=>{_.value=!1,s.is_friend=!1,I()}).catch(e=>{_.value=!1,console.log(e)})}})},ie=()=>{b.warning({title:"警告",content:"确定对该用户进行"+(s.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{_.value=!0,Te({id:s.id,status:s.status===1?2:1}).then(e=>{_.value=!1,R()}).catch(e=>{_.value=!1,console.log(e)})}})};return He(()=>({path:i.path,query:i.query}),(e,E)=>{E.path==="/user"&&e.path==="/user"&&(v.value=i.query.username||"",R())}),Le(()=>{R()}),(e,E)=>{const ue=Ge,re=Ce,O=We,_e=Be,pe=D,de=Re,me=ss,ve=Ae,M=De,he=Ne,fe=Ue,ge=Ve,we=xe,j=Ee,ye=$e,ke=Me,be=qe;return c(),m("div",null,[a(ue,{title:"用户详情"}),a(ke,{class:"main-content-wrap profile-wrap",bordered:""},{default:n(()=>[a(ve,{show:_.value},{default:n(()=>[s.id>0?(c(),m("div",cs,[p("div",is,[a(re,{size:"large",src:s.avatar},null,8,["src"])]),p("div",us,[p("div",rs,[p("strong",null,k(s.nickname),1),p("span",null," @"+k(s.username),1),y(d).state.userInfo.id>0&&y(d).state.userInfo.username!=s.username&&s.is_friend?(c(),F(O,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[w(" 好友 ")]),_:1})):z("",!0),s.is_admin?(c(),F(O,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[w(" 管理员 ")]),_:1})):z("",!0)]),p("div",_s,"UID. "+k(s.id),1)]),y(d).state.userInfo.id>0&&y(d).state.userInfo.username!=s.username?(c(),m("div",ps,[a(de,{placement:"bottom-end",trigger:"click",size:"small",options:oe.value,onSelect:le},{default:n(()=>[a(pe,{quaternary:"",circle:""},{icon:n(()=>[a(_e,null,{default:n(()=>[a(y(Je))]),_:1})]),_:1})]),_:1},8,["options"])])):z("",!0)])):z("",!0),a(me,{show:u.value,user:s,onSuccess:te},null,8,["show","user"]),a(ls,{show:h.value,user:s,onSuccess:ne},null,8,["show","user"])]),_:1},8,["show"]),a(he,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":Z},{default:n(()=>[a(M,{name:"post",tab:"泡泡"}),a(M,{name:"comment",tab:"评论"}),a(M,{name:"media",tab:"图文"}),a(M,{name:"star",tab:"喜欢"})]),_:1}),t.value?(c(),m("div",ds,[a(fe,{num:f.value},null,8,["num"])])):(c(),m("div",ms,[r.value.length===0?(c(),m("div",vs,[a(ge,{size:"large",description:"暂无数据"})])):z("",!0),y(d).state.desktopModelShow?(c(),m("div",hs,[(c(!0),m(H,null,L(r.value,S=>(c(),F(j,{key:S.id},{default:n(()=>[a(we,{post:S},null,8,["post"])]),_:2},1024))),128))])):(c(),m("div",fs,[(c(!0),m(H,null,L(r.value,S=>(c(),F(j,{key:S.id},{default:n(()=>[a(ye,{post:S},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),P.value>0?(c(),m("div",gs,[a(be,{page:l.value,"onUpdate:page":ee,"page-slot":y(d).state.collapsedRight?5:8,"page-count":P.value},null,8,["page","page-slot","page-count"])])):z("",!0)])}}});const Js=A(ws,[["__scopeId","data-v-fd0defa8"]]);export{Js as default}; diff --git a/web/dist/assets/User-3e4ab8ff.css b/web/dist/assets/User-3e4ab8ff.css deleted file mode 100644 index 82d32ffa..00000000 --- a/web/dist/assets/User-3e4ab8ff.css +++ /dev/null @@ -1 +0,0 @@ -.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-fd0defa8]{padding:0 16px}.profile-baseinfo[data-v-fd0defa8]{display:flex;padding:16px}.profile-baseinfo .avatar[data-v-fd0defa8]{width:55px}.profile-baseinfo .base-info[data-v-fd0defa8]{position:relative;width:calc(100% - 55px)}.profile-baseinfo .base-info .username[data-v-fd0defa8]{line-height:16px;font-size:16px}.profile-baseinfo .base-info .uid[data-v-fd0defa8]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.profile-baseinfo .base-info .top-tag[data-v-fd0defa8]{transform:scale(.75)}.profile-baseinfo .user-opts[data-v-fd0defa8]{position:absolute;top:16px;right:16px;opacity:.75}.pagination-wrap[data-v-fd0defa8]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .profile-baseinfo[data-v-fd0defa8]{background-color:#18181c}.dark .profile-wrap[data-v-fd0defa8],.dark .pagination-wrap[data-v-fd0defa8]{background-color:#101014bf} diff --git a/web/dist/assets/User-a653ca5d.js b/web/dist/assets/User-a653ca5d.js new file mode 100644 index 00000000..06414bd1 --- /dev/null +++ b/web/dist/assets/User-a653ca5d.js @@ -0,0 +1 @@ +import{_ as Pe,a as Ue}from"./post-item.vue_vue_type_style_index_0_lang-0c31f78f.js";import{_ as ze}from"./post-skeleton-435c2090.js";import{C as Fe,_ as D,D as Te,E as Me,B as S,F as Se,G as Ie}from"./index-2e014601.js";import{R as Q,K as J,S as X,b as Y,e as N,i as Z,T as qe,F as Ce,G as We,o as Be,O as Re,j as Ae,P as De,k as Ne,f as Ve,g as je,I as Ee,H as He}from"./naive-ui-62663ad7.js";import{d as V,r as l,o as u,Q as F,a1 as o,a as p,V as a,e as w,M as b,E as Oe,n as Ge,w as Le,j as Ke,c as h,_ as k,O as z,F as L,a4 as K}from"./@vue-e0e89260.js";import{_ as Qe}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{u as Je}from"./vuex-473b3783.js";import{b as Xe}from"./vue-router-b8e3382f.js";import{i as Ye}from"./@vicons-b553c29f.js";import"./content-a356c23e.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ze={class:"whisper-wrap"},es={class:"whisper-line"},ss={class:"whisper-line send-wrap"},as=V({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(I,{emit:x}){const d=I,c=l(""),t=l(!1),s=()=>{x("success")},_=()=>{t.value=!0,Fe({user_id:d.user.id,content:c.value}).then(r=>{window.$message.success("发送成功"),t.value=!1,c.value="",s()}).catch(r=>{t.value=!1})};return(r,g)=>{const i=Q,m=J,n=X,f=Y,$=N,P=Z;return u(),F(P,{show:r.show,"onUpdate:show":s,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:o(()=>[p("div",Ze,[a(n,{"show-icon":!1},{default:o(()=>[w(" 即将发送私信给: "),a(m,{style:{"max-width":"100%"}},{default:o(()=>[a(i,{type:"success"},{default:o(()=>[w(b(r.user.nickname)+"@"+b(r.user.username),1)]),_:1})]),_:1})]),_:1}),p("div",es,[a(f,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:c.value,"onUpdate:value":g[0]||(g[0]=U=>c.value=U),maxlength:"200","show-count":""},null,8,["value"])]),p("div",ss,[a($,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:_},{default:o(()=>[w(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const ts=D(as,[["__scopeId","data-v-0cbfe47c"]]),ns={class:"whisper-wrap"},os={class:"whisper-line"},ls={class:"whisper-line send-wrap"},is=V({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(I,{emit:x}){const d=I,c=l(""),t=l(!1),s=()=>{x("success")},_=()=>{t.value=!0,Te({user_id:d.user.id,greetings:c.value}).then(r=>{window.$message.success("发送成功"),t.value=!1,c.value="",s()}).catch(r=>{t.value=!1})};return(r,g)=>{const i=Q,m=J,n=X,f=Y,$=N,P=Z;return u(),F(P,{show:r.show,"onUpdate:show":s,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:o(()=>[p("div",ns,[a(n,{"show-icon":!1},{default:o(()=>[w(" 发送添加朋友申请给: "),a(m,{style:{"max-width":"100%"}},{default:o(()=>[a(i,{type:"success"},{default:o(()=>[w(b(r.user.nickname)+"@"+b(r.user.username),1)]),_:1})]),_:1})]),_:1}),p("div",os,[a(f,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:c.value,"onUpdate:value":g[0]||(g[0]=U=>c.value=U),maxlength:"120","show-count":""},null,8,["value"])]),p("div",ls,[a($,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:_},{default:o(()=>[w(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const us=D(is,[["__scopeId","data-v-60be56a2"]]),cs={key:0,class:"profile-baseinfo"},rs={class:"avatar"},_s={class:"base-info"},ps={class:"username"},ds={class:"uid"},ms={key:0,class:"user-opts"},vs={key:0,class:"skeleton-wrap"},hs={key:1},gs={key:0,class:"empty-wrap"},fs={key:1},ws={key:2},ys={key:0,class:"pagination-wrap"},ks=V({__name:"User",setup(I){const x=qe(),d=Je(),c=Xe(),t=l(!1),s=Oe({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),_=l(!1),r=l(!1),g=l(!1),i=l([]),m=l(c.query.username||""),n=l(+c.query.p||1),f=l("post"),$=l(+c.query.p||1),P=l(1),U=l(1),j=l(1),E=l(1),v=l(20),y=l(0),ee=()=>{switch(f.value){case"post":q();break;case"comment":C();break;case"highlight":W();break;case"media":B();break;case"star":R();break}},q=()=>{t.value=!0,S({username:m.value,style:"post",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],y.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},C=()=>{t.value=!0,S({username:m.value,style:"comment",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],y.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},W=()=>{t.value=!0,S({username:m.value,style:"highlight",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],y.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},B=()=>{t.value=!0,S({username:m.value,style:"media",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],y.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},R=()=>{t.value=!0,S({username:m.value,style:"star",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],y.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},se=e=>{switch(f.value=e,f.value){case"post":n.value=$.value,q();break;case"comment":n.value=P.value,C();break;case"highlight":n.value=U.value,W();break;case"media":n.value=j.value,B();break;case"star":n.value=E.value,R();break}},A=()=>{_.value=!0,Me({username:m.value}).then(e=>{_.value=!1,s.id=e.id,s.avatar=e.avatar,s.username=e.username,s.nickname=e.nickname,s.is_admin=e.is_admin,s.is_friend=e.is_friend,s.status=e.status,ee()}).catch(e=>{_.value=!1,console.log(e)})},ae=e=>{switch(n.value=e,f.value){case"post":$.value=e,q();break;case"comment":P.value=n.value,C();break;case"highlight":U.value=n.value,W();break;case"media":j.value=n.value,B();break;case"star":E.value=n.value,R();break}},te=()=>{r.value=!0},ne=()=>{g.value=!0},oe=()=>{r.value=!1},le=()=>{g.value=!1},ie=Ge(()=>{let e=[{label:"私信",key:"whisper"}];return d.state.userInfo.is_admin&&(s.status===1?e.push({label:"禁言",key:"banned"}):e.push({label:"解封",key:"deblocking"})),s.is_friend?e.push({label:"删除好友",key:"delete"}):e.push({label:"添加朋友",key:"requesting"}),e}),ue=e=>{switch(e){case"whisper":te();break;case"delete":ce();break;case"requesting":ne();break;case"banned":case"deblocking":re();break}},ce=()=>{x.warning({title:"删除好友",content:"将好友 “"+s.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{_.value=!0,Se({user_id:s.id}).then(e=>{_.value=!1,s.is_friend=!1,q()}).catch(e=>{_.value=!1,console.log(e)})}})},re=()=>{x.warning({title:"警告",content:"确定对该用户进行"+(s.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{_.value=!0,Ie({id:s.id,status:s.status===1?2:1}).then(e=>{_.value=!1,A()}).catch(e=>{_.value=!1,console.log(e)})}})};return Le(()=>({path:c.path,query:c.query}),(e,H)=>{H.path==="/user"&&e.path==="/user"&&(m.value=c.query.username||"",A())}),Ke(()=>{A()}),(e,H)=>{const _e=Qe,pe=Be,O=Re,de=Ae,me=N,ve=De,he=ts,ge=Ne,T=Ve,fe=je,we=ze,ye=Ee,ke=Pe,G=He,be=Ue,xe=Ce,$e=We;return u(),h("div",null,[a(_e,{title:"用户详情"}),a(xe,{class:"main-content-wrap profile-wrap",bordered:""},{default:o(()=>[a(ge,{show:_.value},{default:o(()=>[s.id>0?(u(),h("div",cs,[p("div",rs,[a(pe,{size:"large",src:s.avatar},null,8,["src"])]),p("div",_s,[p("div",ps,[p("strong",null,b(s.nickname),1),p("span",null," @"+b(s.username),1),k(d).state.userInfo.id>0&&k(d).state.userInfo.username!=s.username&&s.is_friend?(u(),F(O,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[w(" 好友 ")]),_:1})):z("",!0),s.is_admin?(u(),F(O,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[w(" 管理员 ")]),_:1})):z("",!0)]),p("div",ds,"UID. "+b(s.id),1)]),k(d).state.userInfo.id>0&&k(d).state.userInfo.username!=s.username?(u(),h("div",ms,[a(ve,{placement:"bottom-end",trigger:"click",size:"small",options:ie.value,onSelect:ue},{default:o(()=>[a(me,{quaternary:"",circle:""},{icon:o(()=>[a(de,null,{default:o(()=>[a(k(Ye))]),_:1})]),_:1})]),_:1},8,["options"])])):z("",!0)])):z("",!0),a(he,{show:r.value,user:s,onSuccess:oe},null,8,["show","user"]),a(us,{show:g.value,user:s,onSuccess:le},null,8,["show","user"])]),_:1},8,["show"]),a(fe,{class:"profile-tabs-wrap",type:"line",animated:"","justify-content":"space-evenly","onUpdate:value":se},{default:o(()=>[a(T,{name:"post",tab:"泡泡"}),a(T,{name:"comment",tab:"评论"}),a(T,{name:"highlight",tab:"亮点"}),a(T,{name:"media",tab:"图文"}),a(T,{name:"star",tab:"喜欢"})]),_:1}),t.value?(u(),h("div",vs,[a(we,{num:v.value},null,8,["num"])])):(u(),h("div",hs,[i.value.length===0?(u(),h("div",gs,[a(ye,{size:"large",description:"暂无数据"})])):z("",!0),k(d).state.desktopModelShow?(u(),h("div",fs,[(u(!0),h(L,null,K(i.value,M=>(u(),F(G,{key:M.id},{default:o(()=>[a(ke,{post:M},null,8,["post"])]),_:2},1024))),128))])):(u(),h("div",ws,[(u(!0),h(L,null,K(i.value,M=>(u(),F(G,{key:M.id},{default:o(()=>[a(be,{post:M},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),y.value>0?(u(),h("div",ys,[a($e,{page:n.value,"onUpdate:page":ae,"page-slot":k(d).state.collapsedRight?5:8,"page-count":y.value},null,8,["page","page-slot","page-count"])])):z("",!0)])}}});const Ys=D(ks,[["__scopeId","data-v-69d24c4f"]]);export{Ys as default}; diff --git a/web/dist/assets/User-cd575dca.css b/web/dist/assets/User-cd575dca.css new file mode 100644 index 00000000..3f3bf0d9 --- /dev/null +++ b/web/dist/assets/User-cd575dca.css @@ -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-69d24c4f]{padding:0 16px}.profile-baseinfo[data-v-69d24c4f]{display:flex;padding:16px}.profile-baseinfo .avatar[data-v-69d24c4f]{width:55px}.profile-baseinfo .base-info[data-v-69d24c4f]{position:relative;width:calc(100% - 55px)}.profile-baseinfo .base-info .username[data-v-69d24c4f]{line-height:16px;font-size:16px}.profile-baseinfo .base-info .uid[data-v-69d24c4f]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.profile-baseinfo .base-info .top-tag[data-v-69d24c4f]{transform:scale(.75)}.profile-baseinfo .user-opts[data-v-69d24c4f]{position:absolute;top:16px;right:16px;opacity:.75}.pagination-wrap[data-v-69d24c4f]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .profile-baseinfo[data-v-69d24c4f]{background-color:#18181c}.dark .profile-wrap[data-v-69d24c4f],.dark .pagination-wrap[data-v-69d24c4f]{background-color:#101014bf} diff --git a/web/dist/assets/Wallet-4af86e57.js b/web/dist/assets/Wallet-d722f1f2.js similarity index 61% rename from web/dist/assets/Wallet-4af86e57.js rename to web/dist/assets/Wallet-d722f1f2.js index c2341c1d..5631f662 100644 --- a/web/dist/assets/Wallet-4af86e57.js +++ b/web/dist/assets/Wallet-d722f1f2.js @@ -1 +1 @@ -import{_ as X}from"./post-skeleton-627d3fc3.js";import{_ as Y}from"./main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js";import{d as Z,r as c,j as J,c as _,V as e,a1 as o,o as n,_ as y,O as w,a,e as k,F as N,a4 as $,z as ee,v as te,M as r,Q as q,L as oe,a2 as ae,W as ne,X as se}from"./@vue-e0e89260.js";import{u as le}from"./vuex-473b3783.js";import{b as ce}from"./vue-router-b8e3382f.js";import{b as ie}from"./qrcode-9719fc56.js";import{O as _e,P as re,Q as ue,R as pe,_ as de}from"./index-8b4e1776.js";import{a as me}from"./formatTime-cdf4e6f1.js";import{w as ge}from"./@vicons-d502290a.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Ce,l as Ie,h as Se,H as Re}from"./naive-ui-62663ad7.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const O=m=>(ne("data-v-870bd246"),m=m(),se(),m),Ae={class:"balance-wrap"},ze={class:"balance-line"},Ne={class:"balance-opts"},$e={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Oe={key:1},Pe={key:0,class:"empty-wrap"},We={class:"bill-line"},Be={key:0,class:"amount-options"},Fe={key:1,style:{"margin-top":"10px"}},Le={class:"qrcode-wrap"},Te=O(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},Ee={class:"pay-sub-tips"},Me=O(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ue=Z({__name:"Wallet",setup(m){const i=le(),P=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+P.query.p||1),C=c(20),I=c(0),W=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},B=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},F=()=>{g.value=!0},L=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},T=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{A()}),(s,l)=>{const S=Y,d=fe,V=ye,f=we,z=ke,E=be,M=X,U=xe,D=Re,Q=ve,j=Ce,G=Ie,H=Se,K=he;return n(),_("div",null,[e(S,{title:"钱包"}),e(Q,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(n(),_("div",$e,[e(E,{page:x.value,"onUpdate:page":B,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),a("div",Ne,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:F},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:T},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(M,{num:C.value},null,8,["num"])])):(n(),_("div",Oe,[b.value.length===0?(n(),_("div",Pe,[e(U,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_(N,null,$(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",We,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(me)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(K,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(H,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Be,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_(N,null,$(W.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Fe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:L},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Le,[Te,a("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",Ee,[e(G,{value:100,type:"info",dot:"",processing:""}),Me])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=de(Ue,[["__scopeId","data-v-870bd246"]]);export{yt as default}; +import{_ as X}from"./post-skeleton-435c2090.js";import{_ as Y}from"./main-nav.vue_vue_type_style_index_0_lang-77010e50.js";import{d as Z,r as c,j as J,c as _,V as e,a1 as o,o as n,_ as y,O as w,a,e as k,F as N,a4 as $,z as ee,v as te,M as r,Q as q,L as oe,a2 as ae,W as ne,X as se}from"./@vue-e0e89260.js";import{u as le}from"./vuex-473b3783.js";import{b as ce}from"./vue-router-b8e3382f.js";import{b as ie}from"./qrcode-9719fc56.js";import{P as _e,Q as re,R as ue,S as pe,_ as de}from"./index-2e014601.js";import{a as me}from"./formatTime-cdf4e6f1.js";import{x as ge}from"./@vicons-b553c29f.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Se,l as Ce,h as Ie,H as Re}from"./naive-ui-62663ad7.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const P=m=>(ne("data-v-870bd246"),m=m(),se(),m),Ae={class:"balance-wrap"},ze={class:"balance-line"},Ne={class:"balance-opts"},$e={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Pe={key:1},We={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Le={key:1,style:{"margin-top":"10px"}},Oe={class:"qrcode-wrap"},Te=P(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},Ee={class:"pay-sub-tips"},Me=P(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ue=Z({__name:"Wallet",setup(m){const i=le(),W=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+W.query.p||1),S=c(20),C=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:S.value}).then(s=>{h.value=!1,b.value=s.list,C.value=Math.ceil(s.pager.total_rows/S.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},L=()=>{g.value=!0},O=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const I=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(I),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},T=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{A()}),(s,l)=>{const I=Y,d=fe,V=ye,f=we,z=ke,E=be,M=X,U=xe,D=Re,Q=ve,j=Se,G=Ce,H=Ie,K=he;return n(),_("div",null,[e(I,{title:"钱包"}),e(Q,{class:"main-content-wrap",bordered:""},{footer:o(()=>[C.value>1?(n(),_("div",$e,[e(E,{page:x.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":C.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),a("div",Ne,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:L},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:T},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(M,{num:S.value},null,8,["num"])])):(n(),_("div",Pe,[b.value.length===0?(n(),_("div",We,[e(U,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_(N,null,$(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",Be,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(me)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(K,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(H,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Fe,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_(N,null,$(B.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Le,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:O},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Oe,[Te,a("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",Ee,[e(G,{value:100,type:"info",dot:"",processing:""}),Me])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=de(Ue,[["__scopeId","data-v-870bd246"]]);export{yt as default}; diff --git a/web/dist/assets/content-a356c23e.js b/web/dist/assets/content-a356c23e.js new file mode 100644 index 00000000..98f5f8bc --- /dev/null +++ b/web/dist/assets/content-a356c23e.js @@ -0,0 +1 @@ +import{d as h,o as e,c as r,F as a,a4 as m,V as s,a1 as o,_ as c,a as C,a2 as k,M as I,Q as d,O as g,r as j,e as B,s as b}from"./@vue-e0e89260.js";import{v as D,w as M}from"./@vicons-b553c29f.js";import{j as $,V as N,W as V,m as z,X as F,e as L,i as O}from"./naive-ui-62663ad7.js";import{_ as A,M as T,N as U}from"./index-2e014601.js";import{e as P}from"./paopao-video-player-aa5e8b3f.js";const R={class:"link-wrap"},Q={class:"link-txt-wrap"},S=["href"],W={class:"link-txt"},X=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(D))]),_:1}),C("div",Q,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",W,I(n.content),1)],8,S)])]))),128))])}}});const ot=A(X,[["__scopeId","data-v-36eef76b"]]),Z={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=N,n=V;return l.videos.length>0?(e(),r("div",Z,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),q={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=z,_=N,f=V,w=F;return e(),r("div",q,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const G={class:"attachment-wrap"},H=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),T({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{U({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=L,i=O;return e(),r("div",G,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(M))]),_:1})]),default:o(()=>[B(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=A(H,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/content-c0ce69b7.js b/web/dist/assets/content-c0ce69b7.js deleted file mode 100644 index 38242c56..00000000 --- a/web/dist/assets/content-c0ce69b7.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h,o as e,c as r,F as a,a4 as m,V as s,a1 as o,_ as c,a as C,a2 as k,M as I,Q as d,O as g,r as j,e as D,s as b}from"./@vue-e0e89260.js";import{u as N,v as L}from"./@vicons-d502290a.js";import{j as $,V,W as A,m as M,X as z,e as F,i as O}from"./naive-ui-62663ad7.js";import{_ as B,L as T,M as U}from"./index-8b4e1776.js";import{e as P}from"./paopao-video-player-aa5e8b3f.js";const R={class:"link-wrap"},Q={class:"link-txt-wrap"},S=["href"],W={class:"link-txt"},X=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(N))]),_:1}),C("div",Q,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",W,I(n.content),1)],8,S)])]))),128))])}}});const ot=B(X,[["__scopeId","data-v-36eef76b"]]),Z={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=V,n=A;return l.videos.length>0?(e(),r("div",Z,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),q={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=M,_=V,f=A,w=z;return e(),r("div",q,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const G={class:"attachment-wrap"},H=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),T({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{U({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=O;return e(),r("div",G,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(L))]),_:1})]),default:o(()=>[D(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=B(H,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/index-8b4e1776.js b/web/dist/assets/index-2e014601.js similarity index 52% rename from web/dist/assets/index-8b4e1776.js rename to web/dist/assets/index-2e014601.js index 99b53324..978f055c 100644 --- a/web/dist/assets/index-8b4e1776.js +++ b/web/dist/assets/index-2e014601.js @@ -1 +1 @@ -import{d as z,r as R,E as J,j,o as v,Q as D,a1 as a,a as k,V as o,c as T,e as S,P as q,a2 as N,O as M,_ as h,n as Q,w as H,a3 as ae,F as X,a4 as Y,M as $,s as P,a5 as he,R as Z,L as ge,a6 as fe}from"./@vue-e0e89260.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-b8e3382f.js";import{c as ke,u as B}from"./vuex-473b3783.js";import{a as be}from"./axios-4a70c6fc.js";import{_ as Pe,N as Le,a as ue,b as ce,c as Oe,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ee,j as F,k as Ce,u as Ie,l as $e,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as Ne,s as De,t as xe}from"./naive-ui-62663ad7.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-d502290a.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&i(m)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Je=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Je(n),n in se)return;se[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const _=c[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=m?"stylesheet":Ge,m||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),m)return new Promise((b,_)=>{g.addEventListener("load",b),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},Xe=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-369fedb9.js"),["assets/Home-369fedb9.js","assets/post-item.vue_vue_type_style_index_0_lang-cf654b7f.js","assets/content-c0ce69b7.js","assets/@vue-e0e89260.js","assets/@vicons-d502290a.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-627d3fc3.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Home-c075a37e.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-7248c732.js"),["assets/Post-7248c732.js","assets/@vue-e0e89260.js","assets/vuex-473b3783.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/IEnum-a180d93e.js","assets/@vicons-d502290a.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-c0ce69b7.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vue-router-b8e3382f.js","assets/post-skeleton-627d3fc3.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-e5c2e8bf.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/Post-00695942.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-501554b1.js"),["assets/Topic-501554b1.js","assets/@vicons-d502290a.js","assets/@vue-e0e89260.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-70463bac.js"),["assets/Anouncement-70463bac.js","assets/post-skeleton-627d3fc3.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/@vue-e0e89260.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/@vicons-d502290a.js","assets/main-nav-569a7b0c.css","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-67eeb9ca.js"),["assets/Profile-67eeb9ca.js","assets/post-item.vue_vue_type_style_index_0_lang-cf654b7f.js","assets/content-c0ce69b7.js","assets/@vue-e0e89260.js","assets/@vicons-d502290a.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-627d3fc3.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Profile-24e6724a.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-01d95431.js"),["assets/User-01d95431.js","assets/post-item.vue_vue_type_style_index_0_lang-cf654b7f.js","assets/content-c0ce69b7.js","assets/@vue-e0e89260.js","assets/@vicons-d502290a.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-627d3fc3.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/User-3e4ab8ff.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-5c7f33a8.js"),["assets/Messages-5c7f33a8.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/@vicons-d502290a.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/vuex-473b3783.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-c6d4e201.js"),["assets/Collection-c6d4e201.js","assets/post-item.vue_vue_type_style_index_0_lang-cf654b7f.js","assets/content-c0ce69b7.js","assets/@vue-e0e89260.js","assets/@vicons-d502290a.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-627d3fc3.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Collection-b97b3cf7.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-89899ea7.js"),["assets/Contacts-89899ea7.js","assets/vue-router-b8e3382f.js","assets/@vue-e0e89260.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-627d3fc3.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/vuex-473b3783.js","assets/@vicons-d502290a.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-4af86e57.js"),["assets/Wallet-4af86e57.js","assets/post-skeleton-627d3fc3.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/@vue-e0e89260.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/@vicons-d502290a.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-062eeb8c.js"),["assets/Setting-062eeb8c.js","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/vuex-473b3783.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/vooks-a50491fd.js","assets/evtd-b614532e.js","assets/@vicons-d502290a.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/@css-render-580d83ec.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-a99d6dcf.js"),["assets/404-a99d6dcf.js","assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js","assets/vuex-473b3783.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/vooks-a50491fd.js","assets/evtd-b614532e.js","assets/@vicons-d502290a.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/@css-render-580d83ec.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Xe});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Ye=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function s(e){return G(e)}const ne=e=>s({method:"post",url:"/v1/auth/login",data:e}),Ze=e=>s({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>s({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=J({username:"",password:""}),m=R(),d=J({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=c.value)==null||u.validate(L=>{L||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(L=>{L||(i.value=!0,Ze({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?W(_).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(_,u)=>{const L=Pe,p=Le,O=ue,r=ce,w=Oe,y=Ae,C=ie,x=Te,I=Re,K=de,V=Ee;return v(),D(V,{show:h(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>h(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[o(K,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[o(O,{justify:"center"},{default:a(()=>[o(p,null,{default:a(()=>[o(L,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),o(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(w,{label:"账户",path:"username"},{default:a(()=>[o(r,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),D(I,{key:1,"default-value":h(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[o(x,{name:"signin",tab:"登录"},{default:a(()=>[o(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[o(w,{label:"账户",path:"username"},{default:a(()=>[o(r,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),o(x,{name:"signup",tab:"注册"},{default:a(()=>[o(y,{ref_key:"registerRef",ref:m,model:d,rules:U},{default:a(()=>[o(w,{label:"用户名",path:"username"},{default:a(()=>[o(r,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),o(w,{label:"密码",path:"password"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),o(w,{label:"重复密码",path:"repassword"},{default:a(()=>[o(r,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),o(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Xt=e=>s({method:"get",url:"/v1/posts",params:e}),nt=e=>s({method:"get",url:"/v1/tags",params:e}),Yt=e=>s({method:"get",url:"/v1/post",params:e}),Zt=e=>s({method:"get",url:"/v1/post/star",params:e}),eo=e=>s({method:"post",url:"/v1/post/star",data:e}),to=e=>s({method:"get",url:"/v1/post/collection",params:e}),oo=e=>s({method:"post",url:"/v1/post/collection",data:e}),so=e=>s({method:"get",url:"/v1/post/comments",params:e}),no=e=>s({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>s({method:"post",url:"/v1/post",data:e}),ao=e=>s({method:"delete",url:"/v1/post",data:e}),lo=e=>s({method:"post",url:"/v1/post/lock",data:e}),uo=e=>s({method:"post",url:"/v1/post/stick",data:e}),co=e=>s({method:"post",url:"/v1/post/visibility",data:e}),io=e=>s({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),po=e=>s({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),mo=e=>s({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),_o=e=>s({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),ho=e=>s({method:"post",url:"/v1/post/comment",data:e}),go=e=>s({method:"delete",url:"/v1/post/comment",data:e}),fo=e=>s({method:"post",url:"/v1/post/comment/reply",data:e}),vo=e=>s({method:"delete",url:"/v1/post/comment/reply",data:e}),wo=e=>s({method:"post",url:"/v1/topic/stick",data:e}),yo=e=>s({method:"post",url:"/v1/topic/follow",data:e}),ko=e=>s({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),m=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",_="https://www.paopao.info",u=+"6",L=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:L,extral_num:u}).then(y=>{t.value=y.topics,l.value=y.extral_topics??[],w.value=!0,i.value=!1}).catch(y=>{i.value=!1})},O=y=>y>=1e3?(y/1e3).toFixed(1)+"k":y,r=()=>{m.push({name:"home",query:{q:c.value}})},w=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:y=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(y,C)=>{(y.refreshTopicFollow!==C.refreshTopicFollow||y.userLogined)&&p()}),j(()=>{p()}),(y,C)=>{const x=F,I=ce,K=ae("router-link"),V=Ce,f=de,_e=ue;return h(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[o(I,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":C[0]||(C[0]=E=>c.value=E),onKeyup:q(N(r,["prevent"]),["enter"])},{prefix:a(()=>[o(x,{component:h(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),w.value?(v(),D(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(X,null,Y(l.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[o(K,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+$(E.tag),1)]),_:2},1032,["to"]),k("div",lt,$(O(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),o(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[o(V,{show:i.value},{default:a(()=>[(v(!0),T(X,null,Y(t.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[o(K,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+$(E.tag),1)]),_:2},1032,["to"]),k("div",ut,$(O(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),o(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+$(h(d)),1),k("div",null,[o(_e,null,{default:a(()=>[k("a",{href:h(g),target:"_blank",class:"hash-link"},$(h(U)),9,it),k("a",{href:h(_),target:"_blank",class:"hash-link"},$(h(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),bo=(e={})=>s({method:"get",url:"/v1/captcha",params:e}),Po=e=>s({method:"post",url:"/v1/captcha",data:e}),Lo=e=>s({method:"post",url:"/v1/user/whisper",data:e}),Oo=e=>s({method:"post",url:"/v1/friend/requesting",data:e}),Ao=e=>s({method:"post",url:"/v1/friend/add",data:e}),To=e=>s({method:"post",url:"/v1/friend/reject",data:e}),Ro=e=>s({method:"post",url:"/v1/friend/delete",data:e}),Eo=e=>s({method:"post",url:"/v1/user/phone",data:e}),Co=e=>s({method:"post",url:"/v1/user/activate",data:e}),Io=e=>s({method:"post",url:"/v1/user/password",data:e}),$o=e=>s({method:"post",url:"/v1/user/nickname",data:e}),So=e=>s({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>s({method:"get",url:"/v1/user/msgcount/unread",params:e}),Mo=e=>s({method:"get",url:"/v1/user/messages",params:e}),Uo=e=>s({method:"post",url:"/v1/user/message/read",data:e}),Ko=e=>s({method:"get",url:"/v1/user/collections",params:e}),qo=e=>s({method:"get",url:"/v1/user/profile",params:e}),No=e=>s({method:"get",url:"/v1/user/posts",params:e}),Do=e=>s({method:"get",url:"/v1/user/wallet/bills",params:e}),xo=e=>s({method:"post",url:"/v1/user/recharge",data:e}),Fo=e=>s({method:"get",url:"/v1/user/recharge",params:e}),Vo=e=>s({method:"get",url:"/v1/suggest/users",params:e}),zo=e=>s({method:"get",url:"/v1/suggest/tags",params:e}),Bo=e=>s({method:"get",url:"/v1/attachment/precheck",params:e}),Wo=e=>s({method:"get",url:"/v1/attachment",params:e}),Ho=e=>s({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Lt={key:0,class:"login-only-wrap"},Ot={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),m=R(),d=R("true".toLowerCase()==="true"),U=+"5000";H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?m.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),m.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},U)):m.value&&clearInterval(m.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const g=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),b=r=>"href"in r?P("div",{},r.label):r.label,_=r=>r.key==="messages"?P($e,{dot:!0,show:c.value,processing:!0},{default:()=>P(F,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(F,null,{default:r.icon}),u=(r,w={})=>{n.value=r,i.push({name:r})},L=()=>{l.path==="/"&&t.commit("refresh"),u("home")},p=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},O=()=>{t.commit("userLogout"),t.commit("refresh"),L()};return window.$store=t,window.$message=Ie(),(r,w)=>{const y=Se,C=Me,x=Ue,I=ie;return v(),T("div",ht,[k("div",gt,[o(y,{class:"logo-img",width:"36",src:h(_t),"preview-disabled":!0,onClick:L},null,8,["src"])]),o(C,{accordion:!0,"icon-size":24,options:g.value,"render-label":b,"render-icon":_,value:n.value,"onUpdate:value":u},null,8,["options","value"]),h(t).state.userInfo.id>0?(v(),T("div",ft,[o(x,{class:"user-avatar",round:"",size:34,src:h(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,$(h(t).state.userInfo.nickname),1),o(I,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:O},{icon:a(()=>[o(h(F),null,{default:a(()=>[o(h(oe))]),_:1})]),_:1})]),k("div",kt,"@"+$(h(t).state.userInfo.username),1)]),k("div",bt,[o(I,{class:"logout",quaternary:"",circle:"",onClick:O},{icon:a(()=>[o(h(F),{size:24},{default:a(()=>[o(h(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Lt,[o(I,{strong:"",secondary:"",round:"",type:"primary",onClick:w[0]||(w[0]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Ot,[o(I,{strong:"",secondary:"",round:"",type:"primary",onClick:w[1]||(w[1]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),o(I,{strong:"",secondary:"",round:"",type:"info",onClick:w[2]||(w[2]=K=>p("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Et={class:"content-wrap"},Ct=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,m=ae("router-view"),d=mt,U=st,g=Ne,b=De,_=xe,u=Ke;return v(),D(u,{theme:l.value},{default:a(()=>[o(b,null,{default:a(()=>[o(g,null,{default:a(()=>{var L;return[k("div",{class:ge(["app-container",{dark:((L=l.value)==null?void 0:L.name)==="dark",mobile:!h(t).state.desktopModelShow}])},[k("div",Tt,[h(t).state.desktopModelShow?(v(),T("div",Rt,[o(n)])):M("",!0),k("div",Et,[o(m,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),D(he,null,[i.$route.meta.keepAlive?(v(),D(Z(p),{key:0})):M("",!0)],1024)),i.$route.meta.keepAlive?M("",!0):(v(),D(Z(p),{key:0}))]),_:1})]),o(d)]),o(U)],2)]}),_:1})]),_:1}),o(_)]),_:1},8,["theme"])}}});fe(Ct).use(pe).use(Ye).mount("#app");export{No as A,Lo as B,Oo as C,qo as D,Ro as E,Ho as F,Ao as G,To as H,Uo as I,Mo as J,Ko as K,Bo as L,Wo as M,no as N,W as O,Do as P,xo as Q,Fo as R,bo as S,So as T,Io as U,Eo as V,Co as W,$o as X,Po as Y,At as Z,me as _,zo as a,Xt as b,ro as c,_o as d,vo as e,io as f,Vo as g,po as h,fo as i,go as j,ho as k,Zt as l,to as m,ao as n,lo as o,eo as p,oo as q,Yt as r,uo as s,mo as t,so as u,co as v,wo as w,ko as x,yo as y,nt as z}; +import{d as z,r as R,E as J,j,o as v,Q as D,a1 as a,a as k,V as s,c as T,e as S,P as q,a2 as N,O as M,_ as h,n as Q,w as H,a3 as ae,F as X,a4 as Y,M as I,s as P,a5 as he,R as Z,L as ge,a6 as fe}from"./@vue-e0e89260.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-b8e3382f.js";import{c as ke,u as B}from"./vuex-473b3783.js";import{a as be}from"./axios-4a70c6fc.js";import{_ as Pe,N as Le,a as ue,b as ce,c as Oe,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ee,j as F,k as Ce,u as $e,l as Ie,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as Ne,s as De,t as xe}from"./naive-ui-62663ad7.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-b553c29f.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&i(m)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Je=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Je(n),n in se)return;se[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const _=c[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=m?"stylesheet":Ge,m||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),m)return new Promise((b,_)=>{g.addEventListener("load",b),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},Xe=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-f521e247.js"),["assets/Home-f521e247.js","assets/post-item.vue_vue_type_style_index_0_lang-0c31f78f.js","assets/content-a356c23e.js","assets/@vue-e0e89260.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-435c2090.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Home-c075a37e.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-74178ae5.js"),["assets/Post-74178ae5.js","assets/@vue-e0e89260.js","assets/vuex-473b3783.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/IEnum-a180d93e.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-a356c23e.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vue-router-b8e3382f.js","assets/post-skeleton-435c2090.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-e5c2e8bf.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/Post-00695942.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-b7ab22f5.js"),["assets/Topic-b7ab22f5.js","assets/@vicons-b553c29f.js","assets/@vue-e0e89260.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-6a8404c2.js"),["assets/Anouncement-6a8404c2.js","assets/post-skeleton-435c2090.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/@vue-e0e89260.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/@vicons-b553c29f.js","assets/main-nav-569a7b0c.css","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-25c44ed2.js"),["assets/Profile-25c44ed2.js","assets/post-item.vue_vue_type_style_index_0_lang-0c31f78f.js","assets/content-a356c23e.js","assets/@vue-e0e89260.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-435c2090.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Profile-f5400ee9.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-a653ca5d.js"),["assets/User-a653ca5d.js","assets/post-item.vue_vue_type_style_index_0_lang-0c31f78f.js","assets/content-a356c23e.js","assets/@vue-e0e89260.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-435c2090.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/User-cd575dca.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-1aabde5b.js"),["assets/Messages-1aabde5b.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/vuex-473b3783.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-e5a0e84c.js"),["assets/Collection-e5a0e84c.js","assets/post-item.vue_vue_type_style_index_0_lang-0c31f78f.js","assets/content-a356c23e.js","assets/@vue-e0e89260.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-435c2090.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Collection-b97b3cf7.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-ce38b36c.js"),["assets/Contacts-ce38b36c.js","assets/vue-router-b8e3382f.js","assets/@vue-e0e89260.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-435c2090.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/vuex-473b3783.js","assets/@vicons-b553c29f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-d722f1f2.js"),["assets/Wallet-d722f1f2.js","assets/post-skeleton-435c2090.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/@vue-e0e89260.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/@vicons-b553c29f.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-ae1dc5f2.js"),["assets/Setting-ae1dc5f2.js","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/vuex-473b3783.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/vooks-a50491fd.js","assets/evtd-b614532e.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/@css-render-580d83ec.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-12796dfc.js"),["assets/404-12796dfc.js","assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js","assets/vuex-473b3783.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/vooks-a50491fd.js","assets/evtd-b614532e.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/@css-render-580d83ec.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Xe});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Ye=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return G(e)}const ne=e=>o({method:"post",url:"/v1/auth/login",data:e}),Ze=e=>o({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=J({username:"",password:""}),m=R(),d=J({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=c.value)==null||u.validate(L=>{L||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(L=>{L||(i.value=!0,Ze({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?W(_).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(_,u)=>{const L=Pe,p=Le,O=ue,r=ce,w=Oe,y=Ae,C=ie,x=Te,$=Re,K=de,V=Ee;return v(),D(V,{show:h(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>h(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[s(K,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[s(O,{justify:"center"},{default:a(()=>[s(p,null,{default:a(()=>[s(L,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),s(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(w,{label:"账户",path:"username"},{default:a(()=>[s(r,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),D($,{key:1,"default-value":h(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(x,{name:"signin",tab:"登录"},{default:a(()=>[s(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(w,{label:"账户",path:"username"},{default:a(()=>[s(r,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(x,{name:"signup",tab:"注册"},{default:a(()=>[s(y,{ref_key:"registerRef",ref:m,model:d,rules:U},{default:a(()=>[s(w,{label:"用户名",path:"username"},{default:a(()=>[s(r,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"重复密码",path:"repassword"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Xt=e=>o({method:"get",url:"/v1/posts",params:e}),nt=e=>o({method:"get",url:"/v1/tags",params:e}),Yt=e=>o({method:"get",url:"/v1/post",params:e}),Zt=e=>o({method:"get",url:"/v1/post/star",params:e}),eo=e=>o({method:"post",url:"/v1/post/star",data:e}),to=e=>o({method:"get",url:"/v1/post/collection",params:e}),oo=e=>o({method:"post",url:"/v1/post/collection",data:e}),so=e=>o({method:"get",url:"/v1/post/comments",params:e}),no=e=>o({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>o({method:"post",url:"/v1/post",data:e}),ao=e=>o({method:"delete",url:"/v1/post",data:e}),lo=e=>o({method:"post",url:"/v1/post/lock",data:e}),uo=e=>o({method:"post",url:"/v1/post/stick",data:e}),co=e=>o({method:"post",url:"/v1/post/highlight",data:e}),io=e=>o({method:"post",url:"/v1/post/visibility",data:e}),po=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),mo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),_o=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),ho=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),go=e=>o({method:"post",url:"/v1/post/comment",data:e}),fo=e=>o({method:"delete",url:"/v1/post/comment",data:e}),vo=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),wo=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),yo=e=>o({method:"post",url:"/v1/topic/stick",data:e}),ko=e=>o({method:"post",url:"/v1/topic/follow",data:e}),bo=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),m=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",_="https://www.paopao.info",u=+"6",L=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:L,extral_num:u}).then(y=>{t.value=y.topics,l.value=y.extral_topics??[],w.value=!0,i.value=!1}).catch(y=>{i.value=!1})},O=y=>y>=1e3?(y/1e3).toFixed(1)+"k":y,r=()=>{m.push({name:"home",query:{q:c.value}})},w=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:y=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(y,C)=>{(y.refreshTopicFollow!==C.refreshTopicFollow||y.userLogined)&&p()}),j(()=>{p()}),(y,C)=>{const x=F,$=ce,K=ae("router-link"),V=Ce,f=de,_e=ue;return h(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[s($,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":C[0]||(C[0]=E=>c.value=E),onKeyup:q(N(r,["prevent"]),["enter"])},{prefix:a(()=>[s(x,{component:h(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),w.value?(v(),D(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(V,{show:i.value},{default:a(()=>[(v(!0),T(X,null,Y(l.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[s(K,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(E.tag),1)]),_:2},1032,["to"]),k("div",lt,I(O(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(V,{show:i.value},{default:a(()=>[(v(!0),T(X,null,Y(t.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[s(K,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(E.tag),1)]),_:2},1032,["to"]),k("div",ut,I(O(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+I(h(d)),1),k("div",null,[s(_e,null,{default:a(()=>[k("a",{href:h(g),target:"_blank",class:"hash-link"},I(h(U)),9,it),k("a",{href:h(_),target:"_blank",class:"hash-link"},I(h(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),Po=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Lo=e=>o({method:"post",url:"/v1/captcha",data:e}),Oo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),Ao=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),To=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ro=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Eo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Co=e=>o({method:"post",url:"/v1/user/phone",data:e}),$o=e=>o({method:"post",url:"/v1/user/activate",data:e}),Io=e=>o({method:"post",url:"/v1/user/password",data:e}),So=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Mo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Uo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Ko=e=>o({method:"post",url:"/v1/user/message/read",data:e}),qo=e=>o({method:"get",url:"/v1/user/collections",params:e}),No=e=>o({method:"get",url:"/v1/user/profile",params:e}),Do=e=>o({method:"get",url:"/v1/user/posts",params:e}),xo=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),Fo=e=>o({method:"post",url:"/v1/user/recharge",data:e}),Vo=e=>o({method:"get",url:"/v1/user/recharge",params:e}),zo=e=>o({method:"get",url:"/v1/suggest/users",params:e}),Bo=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),Wo=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),Ho=e=>o({method:"get",url:"/v1/attachment",params:e}),jo=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Lt={key:0,class:"login-only-wrap"},Ot={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),m=R(),d=R("true".toLowerCase()==="true"),U=+"5000";H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?m.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),m.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},U)):m.value&&clearInterval(m.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const g=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),b=r=>"href"in r?P("div",{},r.label):r.label,_=r=>r.key==="messages"?P(Ie,{dot:!0,show:c.value,processing:!0},{default:()=>P(F,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(F,null,{default:r.icon}),u=(r,w={})=>{n.value=r,i.push({name:r})},L=()=>{l.path==="/"&&t.commit("refresh"),u("home")},p=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},O=()=>{t.commit("userLogout"),t.commit("refresh"),L()};return window.$store=t,window.$message=$e(),(r,w)=>{const y=Se,C=Me,x=Ue,$=ie;return v(),T("div",ht,[k("div",gt,[s(y,{class:"logo-img",width:"36",src:h(_t),"preview-disabled":!0,onClick:L},null,8,["src"])]),s(C,{accordion:!0,"icon-size":24,options:g.value,"render-label":b,"render-icon":_,value:n.value,"onUpdate:value":u},null,8,["options","value"]),h(t).state.userInfo.id>0?(v(),T("div",ft,[s(x,{class:"user-avatar",round:"",size:34,src:h(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,I(h(t).state.userInfo.nickname),1),s($,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:O},{icon:a(()=>[s(h(F),null,{default:a(()=>[s(h(oe))]),_:1})]),_:1})]),k("div",kt,"@"+I(h(t).state.userInfo.username),1)]),k("div",bt,[s($,{class:"logout",quaternary:"",circle:"",onClick:O},{icon:a(()=>[s(h(F),{size:24},{default:a(()=>[s(h(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Lt,[s($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[0]||(w[0]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Ot,[s($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[1]||(w[1]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),s($,{strong:"",secondary:"",round:"",type:"info",onClick:w[2]||(w[2]=K=>p("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Et={class:"content-wrap"},Ct=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,m=ae("router-view"),d=mt,U=st,g=Ne,b=De,_=xe,u=Ke;return v(),D(u,{theme:l.value},{default:a(()=>[s(b,null,{default:a(()=>[s(g,null,{default:a(()=>{var L;return[k("div",{class:ge(["app-container",{dark:((L=l.value)==null?void 0:L.name)==="dark",mobile:!h(t).state.desktopModelShow}])},[k("div",Tt,[h(t).state.desktopModelShow?(v(),T("div",Rt,[s(n)])):M("",!0),k("div",Et,[s(m,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),D(he,null,[i.$route.meta.keepAlive?(v(),D(Z(p),{key:0})):M("",!0)],1024)),i.$route.meta.keepAlive?M("",!0):(v(),D(Z(p),{key:0}))]),_:1})]),s(d)]),s(U)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});fe(Ct).use(pe).use(Ye).mount("#app");export{At as $,nt as A,Do as B,Oo as C,Ao as D,No as E,Eo as F,jo as G,To as H,Ro as I,Ko as J,Uo as K,qo as L,Wo as M,Ho as N,no as O,W as P,xo as Q,Fo as R,Vo as S,Po as T,Mo as U,Io as V,Co as W,$o as X,So as Y,Lo as Z,me as _,Bo as a,Xt as b,ro as c,ho as d,wo as e,po as f,zo as g,mo as h,vo as i,fo as j,go as k,Zt as l,to as m,ao as n,lo as o,co as p,eo as q,oo as r,uo as s,_o as t,Yt as u,io as v,so as w,yo as x,bo as y,ko as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js similarity index 65% rename from web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js rename to web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js index dee5fa05..2f19d4e1 100644 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-c955aa6b.js +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-77010e50.js @@ -1 +1 @@ -import{Z as B}from"./index-8b4e1776.js";import{u as E}from"./vuex-473b3783.js";import{u as S}from"./vue-router-b8e3382f.js";import{j as A}from"./vooks-a50491fd.js";import{D as C,y as D,z as N,F as P}from"./@vicons-d502290a.js";import{a3 as R,a4 as V,j as I,e as j,a5 as x,h as F}from"./naive-ui-62663ad7.js";import{d as H,r as h,j as q,o as a,c as f,_ as o,V as e,a1 as t,O as c,a as L,Q as _,e as U,M as $,F as Q}from"./@vue-e0e89260.js";const Z={key:0},G={class:"navbar"},oe=H({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(g){const i=g,n=E(),m=S(),l=h(!1),k=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return q(()=>{localStorage.getItem("PAOPAO_THEME")||u(A()==="dark")}),(s,d)=>{const y=B,b=R,O=V,r=I,p=j,M=x,T=F;return a(),f(Q,null,[o(n).state.drawerModelShow?(a(),f("div",Z,[e(O,{show:l.value,"onUpdate:show":d[0]||(d[0]=z=>l.value=z),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",G,[o(n).state.drawerModelShow&&!s.back?(a(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),s.back?(a(),_(p,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(D))]),_:1})]),_:1})):c("",!0),U(" "+$(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:o(N)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:o(P)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; +import{$ as B}from"./index-2e014601.js";import{u as E}from"./vuex-473b3783.js";import{u as S}from"./vue-router-b8e3382f.js";import{j as A}from"./vooks-a50491fd.js";import{D as C,z as D,G as N,J as P}from"./@vicons-b553c29f.js";import{a3 as R,a4 as V,j as I,e as j,a5 as x,h as H}from"./naive-ui-62663ad7.js";import{d as $,r as h,j as q,o as a,c as f,_ as o,V as e,a1 as t,O as c,a as F,Q as _,e as L,M as U,F as G}from"./@vue-e0e89260.js";const J={key:0},Q={class:"navbar"},oe=$({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(g){const i=g,n=E(),m=S(),l=h(!1),k=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return q(()=>{localStorage.getItem("PAOPAO_THEME")||u(A()==="dark")}),(s,d)=>{const y=B,b=R,O=V,r=I,p=j,M=x,T=H;return a(),f(G,null,[o(n).state.drawerModelShow?(a(),f("div",J,[e(O,{show:l.value,"onUpdate:show":d[0]||(d[0]=z=>l.value=z),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[F("div",Q,[o(n).state.drawerModelShow&&!s.back?(a(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),s.back?(a(),_(p,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(D))]),_:1})]),_:1})):c("",!0),L(" "+U(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:o(N)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:o(P)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cf654b7f.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0c31f78f.js similarity index 97% rename from web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cf654b7f.js rename to web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0c31f78f.js index d16976ca..82f0f68c 100644 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cf654b7f.js +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-0c31f78f.js @@ -1 +1 @@ -import{p as P,a as B,_ as N,b as V,c as D}from"./content-c0ce69b7.js";import{d as S,n as H,a3 as F,o as l,c as k,V as i,a7 as I,a1 as s,a as r,F as A,a4 as E,a2 as f,_ as d,e as _,M as m,Q as c,O as p}from"./@vue-e0e89260.js";import{u as Q}from"./vuex-473b3783.js";import{u as R}from"./vue-router-b8e3382f.js";import{b as G}from"./formatTime-cdf4e6f1.js";import{a as ne}from"./copy-to-clipboard-1dd3075d.js";import{i as oe,j as J,l as K,m as U}from"./@vicons-d502290a.js";import{o as W,O as X,j as Y,e as ie,P as le,a as Z,M as ee}from"./naive-ui-62663ad7.js";const ue={class:"post-item"},re={class:"nickname-wrap"},ce={class:"username-wrap"},pe={class:"timestamp-mobile"},_e={class:"item-header-extra"},me=["innerHTML"],de={class:"opt-item"},ve={class:"opt-item"},Le=S({__name:"mobile-post-item",props:{post:{}},setup(q){const T=q,h=R(),M=Q(),e=H(()=>[{label:"复制链接",key:"copyTweetLink"}]),x=async o=>{switch(o){case"copyTweetLink":ne(`${window.location.origin}/#/post?id=${t.value.id}`),window.$message.success("链接已复制到剪贴板");break}},t=H(()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},T.post);return o.contents.map(n=>{(+n.type==1||+n.type==2)&&o.texts.push(n),+n.type==3&&o.imgs.push(n),+n.type==4&&o.videos.push(n),+n.type==6&&o.links.push(n),+n.type==7&&o.attachments.push(n),+n.type==8&&o.charge_attachments.push(n)}),o}),u=o=>{h.push({name:"post",query:{id:o}})},a=(o,n)=>{if(o.target.dataset.detail){const v=o.target.dataset.detail.split(":");if(v.length===2){M.commit("refresh"),v[0]==="tag"?h.push({name:"home",query:{q:v[1],t:"tag"}}):h.push({name:"user",query:{username:v[1]}});return}}u(n)};return(o,n)=>{const v=W,b=F("router-link"),w=X,g=Y,O=ie,$=le,z=B,L=N,y=V,j=D,te=Z,se=ee;return l(),k("div",ue,[i(se,{"content-indented":""},I({avatar:s(()=>[i(v,{round:"",size:30,src:t.value.user.avatar},null,8,["src"])]),header:s(()=>[r("span",re,[i(b,{onClick:n[0]||(n[0]=f(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t.value.user.username}}},{default:s(()=>[_(m(t.value.user.nickname),1)]),_:1},8,["to"])]),r("span",ce," @"+m(t.value.user.username),1),t.value.is_top?(l(),c(w,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:s(()=>[_(" 置顶 ")]),_:1})):p("",!0),t.value.visibility==1?(l(),c(w,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:s(()=>[_(" 私密 ")]),_:1})):p("",!0),t.value.visibility==2?(l(),c(w,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:s(()=>[_(" 好友可见 ")]),_:1})):p("",!0),r("div",null,[r("span",pe,m(d(G)(t.value.created_on))+" "+m(t.value.ip_loc),1)])]),"header-extra":s(()=>[r("div",_e,[i($,{placement:"bottom-end",trigger:"click",size:"small",options:e.value,onSelect:x},{default:s(()=>[i(O,{quaternary:"",circle:""},{icon:s(()=>[i(g,null,{default:s(()=>[i(d(oe))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:s(()=>[t.value.attachments.length>0?(l(),c(z,{key:0,attachments:t.value.attachments},null,8,["attachments"])):p("",!0),t.value.charge_attachments.length>0?(l(),c(z,{key:1,attachments:t.value.charge_attachments,price:t.value.attachment_price},null,8,["attachments","price"])):p("",!0),t.value.imgs.length>0?(l(),c(L,{key:2,imgs:t.value.imgs},null,8,["imgs"])):p("",!0),t.value.videos.length>0?(l(),c(y,{key:3,videos:t.value.videos},null,8,["videos"])):p("",!0),t.value.links.length>0?(l(),c(j,{key:4,links:t.value.links},null,8,["links"])):p("",!0)]),action:s(()=>[i(te,{justify:"space-between"},{default:s(()=>[r("div",de,[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(J))]),_:1}),_(" "+m(t.value.upvote_count),1)]),r("div",{class:"opt-item",onClick:n[3]||(n[3]=f(C=>u(t.value.id),["stop"]))},[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(K))]),_:1}),_(" "+m(t.value.comment_count),1)]),r("div",ve,[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(U))]),_:1}),_(" "+m(t.value.collection_count),1)])]),_:1})]),_:2},[t.value.texts.length>0?{name:"description",fn:s(()=>[r("div",{onClick:n[2]||(n[2]=C=>u(t.value.id))},[(l(!0),k(A,null,E(t.value.texts,C=>(l(),k("span",{key:C.id,class:"post-text",onClick:n[1]||(n[1]=f(ae=>a(ae,t.value.id),["stop"])),innerHTML:d(P)(C.content).content},null,8,me))),128))])]),key:"0"}:void 0]),1024)])}}});const he={class:"nickname-wrap"},ge={class:"username-wrap"},ye={class:"item-header-extra"},ke={class:"timestamp"},fe=["innerHTML"],xe={class:"opt-item"},we={class:"opt-item"},je=S({__name:"post-item",props:{post:{}},setup(q){const T=q,h=R(),M=Q(),e=H(()=>{let u=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},T.post);return u.contents.map(a=>{(+a.type==1||+a.type==2)&&u.texts.push(a),+a.type==3&&u.imgs.push(a),+a.type==4&&u.videos.push(a),+a.type==6&&u.links.push(a),+a.type==7&&u.attachments.push(a),+a.type==8&&u.charge_attachments.push(a)}),u}),x=u=>{h.push({name:"post",query:{id:u}})},t=(u,a)=>{if(u.target.dataset.detail){const o=u.target.dataset.detail.split(":");if(o.length===2){M.commit("refresh"),o[0]==="tag"?h.push({name:"home",query:{q:o[1],t:"tag"}}):h.push({name:"user",query:{username:o[1]}});return}}x(a)};return(u,a)=>{const o=W,n=F("router-link"),v=X,b=B,w=N,g=V,O=D,$=Y,z=Z,L=ee;return l(),k("div",{class:"post-item",onClick:a[3]||(a[3]=y=>x(e.value.id))},[i(L,{"content-indented":""},I({avatar:s(()=>[i(o,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:s(()=>[r("span",he,[i(n,{onClick:a[0]||(a[0]=f(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.value.user.username}}},{default:s(()=>[_(m(e.value.user.nickname),1)]),_:1},8,["to"])]),r("span",ge," @"+m(e.value.user.username),1),e.value.is_top?(l(),c(v,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:s(()=>[_(" 置顶 ")]),_:1})):p("",!0),e.value.visibility==1?(l(),c(v,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:s(()=>[_(" 私密 ")]),_:1})):p("",!0),e.value.visibility==2?(l(),c(v,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:s(()=>[_(" 好友可见 ")]),_:1})):p("",!0)]),"header-extra":s(()=>[r("div",ye,[r("span",ke,m(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+m(d(G)(e.value.created_on)),1)])]),footer:s(()=>[e.value.attachments.length>0?(l(),c(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):p("",!0),e.value.charge_attachments.length>0?(l(),c(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):p("",!0),e.value.imgs.length>0?(l(),c(w,{key:2,imgs:e.value.imgs},null,8,["imgs"])):p("",!0),e.value.videos.length>0?(l(),c(g,{key:3,videos:e.value.videos},null,8,["videos"])):p("",!0),e.value.links.length>0?(l(),c(O,{key:4,links:e.value.links},null,8,["links"])):p("",!0)]),action:s(()=>[i(z,{justify:"space-between"},{default:s(()=>[r("div",xe,[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(J))]),_:1}),_(" "+m(e.value.upvote_count),1)]),r("div",{class:"opt-item",onClick:a[2]||(a[2]=f(y=>x(e.value.id),["stop"]))},[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(K))]),_:1}),_(" "+m(e.value.comment_count),1)]),r("div",we,[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(U))]),_:1}),_(" "+m(e.value.collection_count),1)])]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:s(()=>[(l(!0),k(A,null,E(e.value.texts,y=>(l(),k("span",{key:y.id,class:"post-text",onClick:a[1]||(a[1]=f(j=>t(j,e.value.id),["stop"])),innerHTML:d(P)(y.content).content},null,8,fe))),128))]),key:"0"}:void 0]),1024)])}}});export{je as _,Le as a}; +import{p as P,a as B,_ as N,b as V,c as D}from"./content-a356c23e.js";import{d as S,n as H,a3 as F,o as l,c as k,V as i,a7 as I,a1 as s,a as r,F as A,a4 as E,a2 as f,_ as d,e as _,M as m,Q as c,O as p}from"./@vue-e0e89260.js";import{u as Q}from"./vuex-473b3783.js";import{u as R}from"./vue-router-b8e3382f.js";import{b as G}from"./formatTime-cdf4e6f1.js";import{a as ne}from"./copy-to-clipboard-1dd3075d.js";import{i as oe,j as J,l as K,m as U}from"./@vicons-b553c29f.js";import{o as W,O as X,j as Y,e as ie,P as le,a as Z,M as ee}from"./naive-ui-62663ad7.js";const ue={class:"post-item"},re={class:"nickname-wrap"},ce={class:"username-wrap"},pe={class:"timestamp-mobile"},_e={class:"item-header-extra"},me=["innerHTML"],de={class:"opt-item"},ve={class:"opt-item"},Le=S({__name:"mobile-post-item",props:{post:{}},setup(q){const T=q,h=R(),M=Q(),e=H(()=>[{label:"复制链接",key:"copyTweetLink"}]),x=async o=>{switch(o){case"copyTweetLink":ne(`${window.location.origin}/#/post?id=${t.value.id}`),window.$message.success("链接已复制到剪贴板");break}},t=H(()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},T.post);return o.contents.map(n=>{(+n.type==1||+n.type==2)&&o.texts.push(n),+n.type==3&&o.imgs.push(n),+n.type==4&&o.videos.push(n),+n.type==6&&o.links.push(n),+n.type==7&&o.attachments.push(n),+n.type==8&&o.charge_attachments.push(n)}),o}),u=o=>{h.push({name:"post",query:{id:o}})},a=(o,n)=>{if(o.target.dataset.detail){const v=o.target.dataset.detail.split(":");if(v.length===2){M.commit("refresh"),v[0]==="tag"?h.push({name:"home",query:{q:v[1],t:"tag"}}):h.push({name:"user",query:{username:v[1]}});return}}u(n)};return(o,n)=>{const v=W,b=F("router-link"),w=X,g=Y,O=ie,$=le,z=B,L=N,y=V,j=D,te=Z,se=ee;return l(),k("div",ue,[i(se,{"content-indented":""},I({avatar:s(()=>[i(v,{round:"",size:30,src:t.value.user.avatar},null,8,["src"])]),header:s(()=>[r("span",re,[i(b,{onClick:n[0]||(n[0]=f(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t.value.user.username}}},{default:s(()=>[_(m(t.value.user.nickname),1)]),_:1},8,["to"])]),r("span",ce," @"+m(t.value.user.username),1),t.value.is_top?(l(),c(w,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:s(()=>[_(" 置顶 ")]),_:1})):p("",!0),t.value.visibility==1?(l(),c(w,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:s(()=>[_(" 私密 ")]),_:1})):p("",!0),t.value.visibility==2?(l(),c(w,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:s(()=>[_(" 好友可见 ")]),_:1})):p("",!0),r("div",null,[r("span",pe,m(d(G)(t.value.created_on))+" "+m(t.value.ip_loc),1)])]),"header-extra":s(()=>[r("div",_e,[i($,{placement:"bottom-end",trigger:"click",size:"small",options:e.value,onSelect:x},{default:s(()=>[i(O,{quaternary:"",circle:""},{icon:s(()=>[i(g,null,{default:s(()=>[i(d(oe))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:s(()=>[t.value.attachments.length>0?(l(),c(z,{key:0,attachments:t.value.attachments},null,8,["attachments"])):p("",!0),t.value.charge_attachments.length>0?(l(),c(z,{key:1,attachments:t.value.charge_attachments,price:t.value.attachment_price},null,8,["attachments","price"])):p("",!0),t.value.imgs.length>0?(l(),c(L,{key:2,imgs:t.value.imgs},null,8,["imgs"])):p("",!0),t.value.videos.length>0?(l(),c(y,{key:3,videos:t.value.videos},null,8,["videos"])):p("",!0),t.value.links.length>0?(l(),c(j,{key:4,links:t.value.links},null,8,["links"])):p("",!0)]),action:s(()=>[i(te,{justify:"space-between"},{default:s(()=>[r("div",de,[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(J))]),_:1}),_(" "+m(t.value.upvote_count),1)]),r("div",{class:"opt-item",onClick:n[3]||(n[3]=f(C=>u(t.value.id),["stop"]))},[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(K))]),_:1}),_(" "+m(t.value.comment_count),1)]),r("div",ve,[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(U))]),_:1}),_(" "+m(t.value.collection_count),1)])]),_:1})]),_:2},[t.value.texts.length>0?{name:"description",fn:s(()=>[r("div",{onClick:n[2]||(n[2]=C=>u(t.value.id))},[(l(!0),k(A,null,E(t.value.texts,C=>(l(),k("span",{key:C.id,class:"post-text",onClick:n[1]||(n[1]=f(ae=>a(ae,t.value.id),["stop"])),innerHTML:d(P)(C.content).content},null,8,me))),128))])]),key:"0"}:void 0]),1024)])}}});const he={class:"nickname-wrap"},ge={class:"username-wrap"},ye={class:"item-header-extra"},ke={class:"timestamp"},fe=["innerHTML"],xe={class:"opt-item"},we={class:"opt-item"},je=S({__name:"post-item",props:{post:{}},setup(q){const T=q,h=R(),M=Q(),e=H(()=>{let u=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},T.post);return u.contents.map(a=>{(+a.type==1||+a.type==2)&&u.texts.push(a),+a.type==3&&u.imgs.push(a),+a.type==4&&u.videos.push(a),+a.type==6&&u.links.push(a),+a.type==7&&u.attachments.push(a),+a.type==8&&u.charge_attachments.push(a)}),u}),x=u=>{h.push({name:"post",query:{id:u}})},t=(u,a)=>{if(u.target.dataset.detail){const o=u.target.dataset.detail.split(":");if(o.length===2){M.commit("refresh"),o[0]==="tag"?h.push({name:"home",query:{q:o[1],t:"tag"}}):h.push({name:"user",query:{username:o[1]}});return}}x(a)};return(u,a)=>{const o=W,n=F("router-link"),v=X,b=B,w=N,g=V,O=D,$=Y,z=Z,L=ee;return l(),k("div",{class:"post-item",onClick:a[3]||(a[3]=y=>x(e.value.id))},[i(L,{"content-indented":""},I({avatar:s(()=>[i(o,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:s(()=>[r("span",he,[i(n,{onClick:a[0]||(a[0]=f(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.value.user.username}}},{default:s(()=>[_(m(e.value.user.nickname),1)]),_:1},8,["to"])]),r("span",ge," @"+m(e.value.user.username),1),e.value.is_top?(l(),c(v,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:s(()=>[_(" 置顶 ")]),_:1})):p("",!0),e.value.visibility==1?(l(),c(v,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:s(()=>[_(" 私密 ")]),_:1})):p("",!0),e.value.visibility==2?(l(),c(v,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:s(()=>[_(" 好友可见 ")]),_:1})):p("",!0)]),"header-extra":s(()=>[r("div",ye,[r("span",ke,m(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+m(d(G)(e.value.created_on)),1)])]),footer:s(()=>[e.value.attachments.length>0?(l(),c(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):p("",!0),e.value.charge_attachments.length>0?(l(),c(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):p("",!0),e.value.imgs.length>0?(l(),c(w,{key:2,imgs:e.value.imgs},null,8,["imgs"])):p("",!0),e.value.videos.length>0?(l(),c(g,{key:3,videos:e.value.videos},null,8,["videos"])):p("",!0),e.value.links.length>0?(l(),c(O,{key:4,links:e.value.links},null,8,["links"])):p("",!0)]),action:s(()=>[i(z,{justify:"space-between"},{default:s(()=>[r("div",xe,[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(J))]),_:1}),_(" "+m(e.value.upvote_count),1)]),r("div",{class:"opt-item",onClick:a[2]||(a[2]=f(y=>x(e.value.id),["stop"]))},[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(K))]),_:1}),_(" "+m(e.value.comment_count),1)]),r("div",we,[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(U))]),_:1}),_(" "+m(e.value.collection_count),1)])]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:s(()=>[(l(!0),k(A,null,E(e.value.texts,y=>(l(),k("span",{key:y.id,class:"post-text",onClick:a[1]||(a[1]=f(j=>t(j,e.value.id),["stop"])),innerHTML:d(P)(y.content).content},null,8,fe))),128))]),key:"0"}:void 0]),1024)])}}});export{je as _,Le as a}; diff --git a/web/dist/assets/post-skeleton-627d3fc3.js b/web/dist/assets/post-skeleton-435c2090.js similarity index 88% rename from web/dist/assets/post-skeleton-627d3fc3.js rename to web/dist/assets/post-skeleton-435c2090.js index 62070677..c6685051 100644 --- a/web/dist/assets/post-skeleton-627d3fc3.js +++ b/web/dist/assets/post-skeleton-435c2090.js @@ -1 +1 @@ -import{U as r}from"./naive-ui-62663ad7.js";import{d as c,o as s,c as n,a4 as p,a as o,V as t,F as l}from"./@vue-e0e89260.js";import{_ as i}from"./index-8b4e1776.js";const m={class:"user"},d={class:"content"},u=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; +import{U as r}from"./naive-ui-62663ad7.js";import{d as c,o as s,c as n,a4 as p,a as o,V as t,F as l}from"./@vue-e0e89260.js";import{_ as i}from"./index-2e014601.js";const m={class:"user"},d={class:"content"},u=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/index.html b/web/dist/index.html index e6ed6f55..8cad1fd6 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,7 +8,7 @@ 泡泡 - + @@ -27,7 +27,7 @@ - + diff --git a/web/src/api/post.ts b/web/src/api/post.ts index 81d8e1a7..c5d27840 100644 --- a/web/src/api/post.ts +++ b/web/src/api/post.ts @@ -143,6 +143,17 @@ export const stickPost = ( }); }; +/** 设为亮点/取消亮点动态 */ +export const highlightPost = ( + data: NetParams.PostHighlightPost +): Promise => { + return request({ + method: "post", + url: "/v1/post/highlight", + data, + }); +}; + /** 置顶/取消置顶动态 */ export const visibilityPost = ( data: NetParams.PostVisibilityPost diff --git a/web/src/components/post-detail.vue b/web/src/components/post-detail.vue index 83813f1e..562cb6a8 100644 --- a/web/src/components/post-detail.vue +++ b/web/src/components/post-detail.vue @@ -110,6 +110,21 @@ negative-text="取消" @positive-click="execStickAction" /> + + + diff --git a/web/src/views/Profile.vue b/web/src/views/Profile.vue index 061f98d3..5a4518fd 100644 --- a/web/src/views/Profile.vue +++ b/web/src/views/Profile.vue @@ -20,7 +20,7 @@
UID. {{ store.state.userInfo.id }}
- + diff --git a/web/src/views/User.vue b/web/src/views/User.vue index 2e237fac..8866f9cc 100644 --- a/web/src/views/User.vue +++ b/web/src/views/User.vue @@ -46,7 +46,7 @@ - + From c57cd07ec14dad3536db3d9b3516018c6493b125 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 7 Aug 2023 01:18:21 +0800 Subject: [PATCH 62/65] frontend: optimize post-detail page --- .../{404-20fe3842.js => 404-b795bf4e.js} | 2 +- web/dist/assets/@vicons-6332ad63.js | 1 + web/dist/assets/@vicons-b553c29f.js | 1 - ...nt-df745936.js => Anouncement-f0afd211.js} | 2 +- ...ion-56f7019b.js => Collection-d33c7999.js} | 2 +- ...tacts-f7cd8b40.js => Contacts-86a6f430.js} | 2 +- .../{Home-7efce0f2.js => Home-ab2e462e.js} | 2 +- ...sages-e1f0ddaf.js => Messages-c1d4e5e6.js} | 2 +- web/dist/assets/Post-45820327.js | 1 + web/dist/assets/Post-de91c521.js | 1 - ...rofile-d8507546.js => Profile-3af47c12.js} | 2 +- ...etting-814c9f9e.js => Setting-c94ce292.js} | 2 +- .../{Topic-2bc0b56b.js => Topic-e935df69.js} | 2 +- .../{User-719fa9ad.js => User-fd7a65dc.js} | 2 +- ...{Wallet-983d775b.js => Wallet-a970081d.js} | 2 +- ...ontent-1dbc9788.js => content-91ba374b.js} | 2 +- .../{index-d9d021c3.js => index-08d8af97.js} | 2 +- ...ue_vue_type_style_index_0_lang-18d4a8d3.js | 1 + ...ue_vue_type_style_index_0_lang-9aadc380.js | 1 - ...e_vue_type_style_index_0_lang-3baf8ba8.js} | 2 +- ...-29ef9a0b.js => post-skeleton-41befd31.js} | 2 +- web/dist/index.html | 4 +-- web/src/components/post-detail.vue | 33 +++++++++++-------- 23 files changed, 39 insertions(+), 34 deletions(-) rename web/dist/assets/{404-20fe3842.js => 404-b795bf4e.js} (79%) create mode 100644 web/dist/assets/@vicons-6332ad63.js delete mode 100644 web/dist/assets/@vicons-b553c29f.js rename web/dist/assets/{Anouncement-df745936.js => Anouncement-f0afd211.js} (88%) rename web/dist/assets/{Collection-56f7019b.js => Collection-d33c7999.js} (90%) rename web/dist/assets/{Contacts-f7cd8b40.js => Contacts-86a6f430.js} (90%) rename web/dist/assets/{Home-7efce0f2.js => Home-ab2e462e.js} (97%) rename web/dist/assets/{Messages-e1f0ddaf.js => Messages-c1d4e5e6.js} (74%) create mode 100644 web/dist/assets/Post-45820327.js delete mode 100644 web/dist/assets/Post-de91c521.js rename web/dist/assets/{Profile-d8507546.js => Profile-3af47c12.js} (95%) rename web/dist/assets/{Setting-814c9f9e.js => Setting-c94ce292.js} (97%) rename web/dist/assets/{Topic-2bc0b56b.js => Topic-e935df69.js} (88%) rename web/dist/assets/{User-719fa9ad.js => User-fd7a65dc.js} (96%) rename web/dist/assets/{Wallet-983d775b.js => Wallet-a970081d.js} (77%) rename web/dist/assets/{content-1dbc9788.js => content-91ba374b.js} (87%) rename web/dist/assets/{index-d9d021c3.js => index-08d8af97.js} (89%) create mode 100644 web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js delete mode 100644 web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js rename web/dist/assets/{post-item.vue_vue_type_style_index_0_lang-926b2075.js => post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js} (97%) rename web/dist/assets/{post-skeleton-29ef9a0b.js => post-skeleton-41befd31.js} (88%) diff --git a/web/dist/assets/404-20fe3842.js b/web/dist/assets/404-b795bf4e.js similarity index 79% rename from web/dist/assets/404-20fe3842.js rename to web/dist/assets/404-b795bf4e.js index 78dc6ce6..7ad8cfa6 100644 --- a/web/dist/assets/404-20fe3842.js +++ b/web/dist/assets/404-b795bf4e.js @@ -1 +1 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{u as a}from"./vue-router-b8e3382f.js";import{F as i,e as c,a2 as u}from"./naive-ui-62663ad7.js";import{d as l,c as d,V as t,a1 as o,o as f,e as x}from"./@vue-e0e89260.js";import{_ as g}from"./index-d9d021c3.js";import"./vuex-473b3783.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./@vicons-b553c29f.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{u as a}from"./vue-router-b8e3382f.js";import{F as i,e as c,a2 as u}from"./naive-ui-62663ad7.js";import{d as l,c as d,V as t,a1 as o,o as f,e as x}from"./@vue-e0e89260.js";import{_ as g}from"./index-08d8af97.js";import"./vuex-473b3783.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./@vicons-6332ad63.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; diff --git a/web/dist/assets/@vicons-6332ad63.js b/web/dist/assets/@vicons-6332ad63.js new file mode 100644 index 00000000..ec29176c --- /dev/null +++ b/web/dist/assets/@vicons-6332ad63.js @@ -0,0 +1 @@ +import{d as n,o,c as e,a as t,b as i}from"./@vue-e0e89260.js";const c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},h=t("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),d=[h],jn=n({name:"AttachOutline",render:function(s,l){return o(),e("svg",c,d)}}),a={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=t("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),u=[w],Bn=n({name:"Bookmark",render:function(s,l){return o(),e("svg",a,u)}}),_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k=t("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),p=[k],Ln=n({name:"BookmarkOutline",render:function(s,l){return o(),e("svg",_,p)}}),x={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},g=t("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),m=t("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),v=[g,m],Hn=n({name:"BookmarksOutline",render:function(s,l){return o(),e("svg",x,v)}}),$={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},f=t("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),C=[f],Vn=n({name:"ChatboxOutline",render:function(s,l){return o(),e("svg",$,C)}}),M={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},O=t("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),z=t("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),j=[O,z],An=n({name:"ChatbubblesOutline",render:function(s,l){return o(),e("svg",M,j)}}),B={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},L=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),H=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),V=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),A=[L,H,V],yn=n({name:"CheckmarkDoneOutline",render:function(s,l){return o(),e("svg",B,A)}}),y={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},b=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),T=[b],bn=n({name:"CheckmarkOutline",render:function(s,l){return o(),e("svg",y,T)}}),D={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},S=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),E=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),F=[S,E],Tn=n({name:"CloseOutline",render:function(s,l){return o(),e("svg",D,F)}}),P={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},q=t("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),I=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),R=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),G=[q,I,R],Dn=n({name:"CloudDownloadOutline",render:function(s,l){return o(),e("svg",P,G)}}),U={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},J=t("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),K=t("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),N=[J,K],Sn=n({name:"CompassOutline",render:function(s,l){return o(),e("svg",U,N)}}),W={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Q=i('',5),X=[Q],En=n({name:"EyeOffOutline",render:function(s,l){return o(),e("svg",W,X)}}),Y={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Z=t("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),t1=t("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),n1=[Z,t1],Fn=n({name:"EyeOutline",render:function(s,l){return o(),e("svg",Y,n1)}}),o1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},e1=t("path",{d:"M112 320c0-93 124-165 96-272c66 0 192 96 192 272a144 144 0 0 1-288 0z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),r1=t("path",{d:"M320 368c0 57.71-32 80-64 80s-64-22.29-64-80s40-86 32-128c42 0 96 70.29 96 128z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),s1=[e1,r1],Pn=n({name:"FlameOutline",render:function(s,l){return o(),e("svg",o1,s1)}}),l1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},i1=t("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),c1=[i1],qn=n({name:"Heart",render:function(s,l){return o(),e("svg",l1,c1)}}),h1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},d1=t("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),a1=[d1],In=n({name:"HeartOutline",render:function(s,l){return o(),e("svg",h1,a1)}}),w1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},u1=t("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),_1=t("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),k1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),p1=[u1,_1,k1],Rn=n({name:"HomeOutline",render:function(s,l){return o(),e("svg",w1,p1)}}),x1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},g1=t("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),m1=t("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),v1=t("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),$1=t("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),f1=[g1,m1,v1,$1],Gn=n({name:"ImageOutline",render:function(s,l){return o(),e("svg",x1,f1)}}),C1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},M1=t("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),O1=t("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),z1=[M1,O1],Un=n({name:"LeafOutline",render:function(s,l){return o(),e("svg",C1,z1)}}),j1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},B1=t("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),L1=t("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),H1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),V1=[B1,L1,H1],Jn=n({name:"LinkOutline",render:function(s,l){return o(),e("svg",j1,V1)}}),A1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y1=t("path",{d:"M336 208v-95a80 80 0 0 0-160 0v95",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),b1=t("rect",{x:"96",y:"208",width:"320",height:"272",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),T1=[y1,b1],Kn=n({name:"LockClosedOutline",render:function(s,l){return o(),e("svg",A1,T1)}}),D1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},S1=t("path",{d:"M336 112a80 80 0 0 0-160 0v96",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),E1=t("rect",{x:"96",y:"208",width:"320",height:"272",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),F1=[S1,E1],Nn=n({name:"LockOpenOutline",render:function(s,l){return o(),e("svg",D1,F1)}}),P1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},q1=t("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),I1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),R1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),G1=[q1,I1,R1],Wn=n({name:"LogOutOutline",render:function(s,l){return o(),e("svg",P1,G1)}}),U1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},J1=t("path",{d:"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7c-39.82 48.57-91.18 78-144.5 78c-90.18 0-120.8-78.22-78.1-129.72c9.31-11.22 25.15-21.94 49.73-28c38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89c60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23c-34.74 30-13.94 84.93 56.37 84.93c40.87 0 81.71-25.9 113.79-67.37c-41.36-20-77-34.85-114.4-34.42z",fill:"currentColor"},null,-1),K1=[J1],Qn=n({name:"LogoAlipay",render:function(s,l){return o(),e("svg",U1,K1)}}),N1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},W1=i('',6),Q1=[W1],Xn=n({name:"MegaphoneOutline",render:function(s,l){return o(),e("svg",N1,Q1)}}),X1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Y1=t("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Z1=t("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),tt=t("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),nt=t("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),ot=[Y1,Z1,tt,nt],Yn=n({name:"PeopleOutline",render:function(s,l){return o(),e("svg",X1,ot)}}),et={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},rt=t("path",{d:"M344 144c-3.92 52.87-44 96-88 96s-84.15-43.12-88-96c-4-55 35-96 88-96s92 42 88 96z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),st=t("path",{d:"M256 304c-87 0-175.3 48-191.64 138.6C62.39 453.52 68.57 464 80 464h352c11.44 0 17.62-10.48 15.65-21.4C431.3 352 343 304 256 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),lt=[rt,st],Zn=n({name:"PersonOutline",render:function(s,l){return o(),e("svg",et,lt)}}),it={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ct=t("path",{d:"M336 336h40a40 40 0 0 0 40-40V88a40 40 0 0 0-40-40H136a40 40 0 0 0-40 40v208a40 40 0 0 0 40 40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),ht=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 240l80-80l80 80"},null,-1),dt=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 464V176"},null,-1),at=[ct,ht,dt],to=n({name:"PushOutline",render:function(s,l){return o(),e("svg",it,at)}}),wt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ut=t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),_t=[ut],no=n({name:"Search",render:function(s,l){return o(),e("svg",wt,_t)}}),kt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},pt=t("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),xt=[pt],oo=n({name:"SettingsOutline",render:function(s,l){return o(),e("svg",kt,xt)}}),gt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},mt=t("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),vt=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),$t=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),ft=[mt,vt,$t],eo=n({name:"ShareOutline",render:function(s,l){return o(),e("svg",gt,ft)}}),Ct={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Mt=i('',5),Ot=[Mt],ro=n({name:"ShareSocialOutline",render:function(s,l){return o(),e("svg",Ct,Ot)}}),zt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},jt=i('',6),Bt=[jt],so=n({name:"TrashOutline",render:function(s,l){return o(),e("svg",zt,Bt)}}),Lt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Ht=t("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Vt=t("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),At=[Ht,Vt],lo=n({name:"VideocamOutline",render:function(s,l){return o(),e("svg",Lt,At)}}),yt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},bt=t("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),Tt=t("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),Dt=t("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),St=[bt,Tt,Dt],io=n({name:"WalletOutline",render:function(s,l){return o(),e("svg",yt,St)}}),Et={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ft=t("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),t("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),t("path",{d:"M16 5l3 3"})],-1),Pt=[Ft],co=n({name:"Edit",render:function(s,l){return o(),e("svg",Et,Pt)}}),qt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},It=i('',1),Rt=[It],ho=n({name:"Hash",render:function(s,l){return o(),e("svg",qt,Rt)}}),Gt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ut=i('',1),Jt=[Ut],ao=n({name:"Trash",render:function(s,l){return o(),e("svg",Gt,Jt)}}),Kt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Nt=t("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",fill:"currentColor"},null,-1),Wt=[Nt],wo=n({name:"ChevronLeftRound",render:function(s,l){return o(),e("svg",Kt,Wt)}}),Qt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Xt=t("path",{d:"M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z",fill:"currentColor"},null,-1),Yt=[Xt],uo=n({name:"DarkModeOutlined",render:function(s,l){return o(),e("svg",Qt,Yt)}}),Zt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},tn=t("path",{d:"M2 17c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1z",fill:"currentColor"},null,-1),nn=[tn],_o=n({name:"DehazeRound",render:function(s,l){return o(),e("svg",Zt,nn)}}),on={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},en=t("path",{d:"M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3s-3-1.35-3-3s1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5s5-2.24 5-5s-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z",fill:"currentColor"},null,-1),rn=[en],ko=n({name:"LightModeOutlined",render:function(s,l){return o(),e("svg",on,rn)}}),sn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},ln=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),cn=[ln],po=n({name:"MoreHorizFilled",render:function(s,l){return o(),e("svg",sn,cn)}}),hn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},dn=t("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),an=[dn],xo=n({name:"MoreVertOutlined",render:function(s,l){return o(),e("svg",hn,an)}}),wn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},un=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),_n=[un],go=n({name:"ThumbDownOutlined",render:function(s,l){return o(),e("svg",wn,_n)}}),kn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},pn=t("path",{opacity:".3",d:"M3 12v2h9l-1.34 5.34L15 15V5H6z",fill:"currentColor"},null,-1),xn=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),gn=[pn,xn],mo=n({name:"ThumbDownTwotone",render:function(s,l){return o(),e("svg",kn,gn)}}),mn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},vn=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),$n=[vn],vo=n({name:"ThumbUpOutlined",render:function(s,l){return o(),e("svg",mn,$n)}}),fn={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Cn=t("path",{opacity:".3",d:"M21 12v-2h-9l1.34-5.34L9 9v10h9z",fill:"currentColor"},null,-1),Mn=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),On=[Cn,Mn],$o=n({name:"ThumbUpTwotone",render:function(s,l){return o(),e("svg",fn,On)}});export{jn as A,Hn as B,An as C,Jn as D,Fn as E,Pn as F,Dn as G,Rn as H,Gn as I,Qn as J,co as K,Un as L,Xn as M,_o as N,wo as O,Yn as P,ko as Q,uo as R,no as S,ao as T,lo as V,io as W,oo as a,ho as b,Wn as c,Sn as d,vo as e,$o as f,go as g,mo as h,po as i,In as j,qn as k,Vn as l,Ln as m,Bn as n,ro as o,so as p,Kn as q,Nn as r,to as s,En as t,Zn as u,xo as v,eo as w,bn as x,Tn as y,yn as z}; diff --git a/web/dist/assets/@vicons-b553c29f.js b/web/dist/assets/@vicons-b553c29f.js deleted file mode 100644 index 19c47526..00000000 --- a/web/dist/assets/@vicons-b553c29f.js +++ /dev/null @@ -1 +0,0 @@ -import{d as n,o,c as e,a as t,b as i}from"./@vue-e0e89260.js";const c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},h=t("path",{d:"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),d=[h],cn=n({name:"AttachOutline",render:function(s,l){return o(),e("svg",c,d)}}),a={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=t("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),u=[w],hn=n({name:"Bookmark",render:function(s,l){return o(),e("svg",a,u)}}),_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k=t("path",{d:"M352 48H160a48 48 0 0 0-48 48v368l144-128l144 128V96a48 48 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),x=[k],dn=n({name:"BookmarkOutline",render:function(s,l){return o(),e("svg",_,x)}}),p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},m=t("path",{d:"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),g=t("path",{d:"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128l152 128V144a48.14 48.14 0 0 0-48-48z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),v=[m,g],an=n({name:"BookmarksOutline",render:function(s,l){return o(),e("svg",p,v)}}),$={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},f=t("path",{d:"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),C=[f],wn=n({name:"ChatboxOutline",render:function(s,l){return o(),e("svg",$,C)}}),M={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},z=t("path",{d:"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167c-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1c15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7a26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1a8 8 0 0 0 8-8a12.85 12.85 0 0 0-.5-2.7z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),O=t("path",{d:"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),j=[z,O],un=n({name:"ChatbubblesOutline",render:function(s,l){return o(),e("svg",M,j)}}),B={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},L=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M464 128L240 384l-96-96"},null,-1),H=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M144 384l-96-96"},null,-1),V=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 128L232 284"},null,-1),A=[L,H,V],_n=n({name:"CheckmarkDoneOutline",render:function(s,l){return o(),e("svg",B,A)}}),b={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M416 128L192 384l-96-96"},null,-1),D=[y],kn=n({name:"CheckmarkOutline",render:function(s,l){return o(),e("svg",b,D)}}),S={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},T=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 368L144 144"},null,-1),E=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 144L144 368"},null,-1),F=[T,E],xn=n({name:"CloseOutline",render:function(s,l){return o(),e("svg",S,F)}}),q={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},I=t("path",{d:"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2c-60 5.7-112 35.88-112 98.4S70 336 136 336h56",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),P=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M192 400.1l64 63.9l64-63.9"},null,-1),R=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 224v224.03"},null,-1),U=[I,P,R],pn=n({name:"CloudDownloadOutline",render:function(s,l){return o(),e("svg",q,U)}}),G={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},W=t("path",{d:"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192s192-86 192-192z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),N=t("path",{d:"M350.67 150.93l-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24a24 24 0 0 1-24 24z",fill:"currentColor"},null,-1),J=[W,N],mn=n({name:"CompassOutline",render:function(s,l){return o(),e("svg",G,J)}}),K={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},Q=t("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),X=t("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),Y=[Q,X],gn=n({name:"EyeOutline",render:function(s,l){return o(),e("svg",K,Y)}}),Z={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t1=t("path",{d:"M112 320c0-93 124-165 96-272c66 0 192 96 192 272a144 144 0 0 1-288 0z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),n1=t("path",{d:"M320 368c0 57.71-32 80-64 80s-64-22.29-64-80s40-86 32-128c42 0 96 70.29 96 128z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),o1=[t1,n1],vn=n({name:"FlameOutline",render:function(s,l){return o(),e("svg",Z,o1)}}),e1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},r1=t("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),s1=[r1],$n=n({name:"Heart",render:function(s,l){return o(),e("svg",e1,s1)}}),l1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},i1=t("path",{d:"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81c-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42c-.54-52.67-42.32-96.81-95.08-96.81z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),c1=[i1],fn=n({name:"HeartOutline",render:function(s,l){return o(),e("svg",l1,c1)}}),h1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},d1=t("path",{d:"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),a1=t("path",{d:"M480 256L266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),w1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 179V64h-48v69"},null,-1),u1=[d1,a1,w1],Cn=n({name:"HomeOutline",render:function(s,l){return o(),e("svg",h1,u1)}}),_1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},k1=t("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),x1=t("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),p1=t("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),m1=t("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),g1=[k1,x1,p1,m1],Mn=n({name:"ImageOutline",render:function(s,l){return o(),e("svg",_1,g1)}}),v1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},$1=t("path",{d:"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7c77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),f1=t("path",{d:"M173 253c86 81 175 129 292 147",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),C1=[$1,f1],zn=n({name:"LeafOutline",render:function(s,l){return o(),e("svg",v1,C1)}}),M1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},z1=t("path",{d:"M208 352h-64a96 96 0 0 1 0-192h64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),O1=t("path",{d:"M304 160h64a96 96 0 0 1 0 192h-64",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36"},null,-1),j1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"36",d:"M163.29 256h187.42"},null,-1),B1=[z1,O1,j1],On=n({name:"LinkOutline",render:function(s,l){return o(),e("svg",M1,B1)}}),L1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},H1=t("path",{d:"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),V1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M368 336l80-80l-80-80"},null,-1),A1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M176 256h256"},null,-1),b1=[H1,V1,A1],jn=n({name:"LogOutOutline",render:function(s,l){return o(),e("svg",L1,b1)}}),y1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},D1=t("path",{d:"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7c-39.82 48.57-91.18 78-144.5 78c-90.18 0-120.8-78.22-78.1-129.72c9.31-11.22 25.15-21.94 49.73-28c38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89c60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23c-34.74 30-13.94 84.93 56.37 84.93c40.87 0 81.71-25.9 113.79-67.37c-41.36-20-77-34.85-114.4-34.42z",fill:"currentColor"},null,-1),S1=[D1],Bn=n({name:"LogoAlipay",render:function(s,l){return o(),e("svg",y1,S1)}}),T1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},E1=i('',6),F1=[E1],Ln=n({name:"MegaphoneOutline",render:function(s,l){return o(),e("svg",T1,F1)}}),q1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},I1=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"44",d:"M358.62 129.28L86.49 402.08L70 442l39.92-16.49l272.8-272.13l-24.1-24.1z"},null,-1),P1=t("path",{d:"M413.07 74.84l-11.79 11.78l24.1 24.1l11.79-11.79a16.51 16.51 0 0 0 0-23.34l-.75-.75a16.51 16.51 0 0 0-23.35 0z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"44"},null,-1),R1=[I1,P1],Hn=n({name:"Pencil",render:function(s,l){return o(),e("svg",q1,R1)}}),U1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},G1=t("path",{d:"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),W1=t("path",{d:"M336 304c-65.17 0-127.84 32.37-143.54 95.41c-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),N1=t("path",{d:"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),J1=t("path",{d:"M206 306c-18.05-8.27-37.93-11.45-59-11.45c-52 0-102.1 25.85-114.65 76.2c-1.65 6.66 2.53 13.25 9.37 13.25H154",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"32"},null,-1),K1=[G1,W1,N1,J1],Vn=n({name:"PeopleOutline",render:function(s,l){return o(),e("svg",U1,K1)}}),Q1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},X1=t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1),Y1=[X1],An=n({name:"Search",render:function(s,l){return o(),e("svg",Q1,Y1)}}),Z1={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},tt=t("path",{d:"M262.29 192.31a64 64 0 1 0 57.4 57.4a64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22a155.3 155.3 0 0 1-21.46-12.57a16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22a155.3 155.3 0 0 1 21.46 12.57a16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),nt=[tt],bn=n({name:"SettingsOutline",render:function(s,l){return o(),e("svg",Z1,nt)}}),ot={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},et=t("path",{d:"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),rt=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M336 128l-80-80l-80 80"},null,-1),st=t("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 321V48"},null,-1),lt=[et,rt,st],yn=n({name:"ShareOutline",render:function(s,l){return o(),e("svg",ot,lt)}}),it={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ct=i('',5),ht=[ct],Dn=n({name:"ShareSocialOutline",render:function(s,l){return o(),e("svg",it,ht)}}),dt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},at=t("path",{d:"M374.79 308.78L457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),wt=t("path",{d:"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),ut=[at,wt],Sn=n({name:"VideocamOutline",render:function(s,l){return o(),e("svg",dt,ut)}}),_t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},kt=t("rect",{x:"48",y:"144",width:"416",height:"288",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),xt=t("path",{d:"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),pt=t("path",{d:"M368 320a32 32 0 1 1 32-32a32 32 0 0 1-32 32z",fill:"currentColor"},null,-1),mt=[kt,xt,pt],Tn=n({name:"WalletOutline",render:function(s,l){return o(),e("svg",_t,mt)}}),gt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},vt=t("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[t("path",{d:"M9 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-3"}),t("path",{d:"M9 15h3l8.5-8.5a1.5 1.5 0 0 0-3-3L9 12v3"}),t("path",{d:"M16 5l3 3"})],-1),$t=[vt],En=n({name:"Edit",render:function(s,l){return o(),e("svg",gt,$t)}}),ft={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ct=i('',1),Mt=[Ct],Fn=n({name:"Hash",render:function(s,l){return o(),e("svg",ft,Mt)}}),zt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ot=i('',1),jt=[Ot],qn=n({name:"Trash",render:function(s,l){return o(),e("svg",zt,jt)}}),Bt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Lt=t("path",{d:"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41z",fill:"currentColor"},null,-1),Ht=[Lt],In=n({name:"ChevronLeftRound",render:function(s,l){return o(),e("svg",Bt,Ht)}}),Vt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},At=t("path",{d:"M9.37 5.51A7.35 7.35 0 0 0 9.1 7.5c0 4.08 3.32 7.4 7.4 7.4c.68 0 1.35-.09 1.99-.27A7.014 7.014 0 0 1 12 19c-3.86 0-7-3.14-7-7c0-2.93 1.81-5.45 4.37-6.49zM12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.389 5.389 0 0 1-4.4 2.26a5.403 5.403 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z",fill:"currentColor"},null,-1),bt=[At],Pn=n({name:"DarkModeOutlined",render:function(s,l){return o(),e("svg",Vt,bt)}}),yt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Dt=t("path",{d:"M2 17c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1zm0-5c0 .55.45 1 1 1h18c.55 0 1-.45 1-1s-.45-1-1-1H3c-.55 0-1 .45-1 1z",fill:"currentColor"},null,-1),St=[Dt],Rn=n({name:"DehazeRound",render:function(s,l){return o(),e("svg",yt,St)}}),Tt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Et=t("path",{d:"M12 9c1.65 0 3 1.35 3 3s-1.35 3-3 3s-3-1.35-3-3s1.35-3 3-3m0-2c-2.76 0-5 2.24-5 5s2.24 5 5 5s5-2.24 5-5s-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37a.996.996 0 0 0-1.41 0a.996.996 0 0 0 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0a.996.996 0 0 0 0-1.41l-1.06-1.06zm1.06-10.96a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36a.996.996 0 0 0 0-1.41a.996.996 0 0 0-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z",fill:"currentColor"},null,-1),Ft=[Et],Un=n({name:"LightModeOutlined",render:function(s,l){return o(),e("svg",Tt,Ft)}}),qt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},It=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),Pt=[It],Gn=n({name:"MoreHorizFilled",render:function(s,l){return o(),e("svg",qt,Pt)}}),Rt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Ut=t("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),Gt=[Ut],Wn=n({name:"MoreVertOutlined",render:function(s,l){return o(),e("svg",Rt,Gt)}}),Wt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Nt=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Jt=[Nt],Nn=n({name:"ThumbDownOutlined",render:function(s,l){return o(),e("svg",Wt,Jt)}}),Kt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},Qt=t("path",{opacity:".3",d:"M3 12v2h9l-1.34 5.34L15 15V5H6z",fill:"currentColor"},null,-1),Xt=t("path",{d:"M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57l-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12l-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z",fill:"currentColor"},null,-1),Yt=[Qt,Xt],Jn=n({name:"ThumbDownTwotone",render:function(s,l){return o(),e("svg",Kt,Yt)}}),Zt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},tn=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),nn=[tn],Kn=n({name:"ThumbUpOutlined",render:function(s,l){return o(),e("svg",Zt,nn)}}),on={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},en=t("path",{opacity:".3",d:"M21 12v-2h-9l1.34-5.34L9 9v10h9z",fill:"currentColor"},null,-1),rn=t("path",{d:"M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57l.03-.32c0-.41-.17-.79-.44-1.06L14.17 1L7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z",fill:"currentColor"},null,-1),sn=[en,rn],Qn=n({name:"ThumbUpTwotone",render:function(s,l){return o(),e("svg",on,sn)}});export{cn as A,an as B,un as C,Rn as D,gn as E,vn as F,Un as G,Cn as H,Mn as I,Pn as J,zn as L,Ln as M,Vn as P,An as S,qn as T,Sn as V,Tn as W,bn as a,Fn as b,jn as c,mn as d,Kn as e,Qn as f,Nn as g,Jn as h,Gn as i,fn as j,$n as k,wn as l,dn as m,hn as n,Dn as o,Hn as p,Wn as q,yn as r,kn as s,xn as t,_n as u,On as v,pn as w,Bn as x,En as y,In as z}; diff --git a/web/dist/assets/Anouncement-df745936.js b/web/dist/assets/Anouncement-f0afd211.js similarity index 88% rename from web/dist/assets/Anouncement-df745936.js rename to web/dist/assets/Anouncement-f0afd211.js index 8235b746..fd2ff56c 100644 --- a/web/dist/assets/Anouncement-df745936.js +++ b/web/dist/assets/Anouncement-f0afd211.js @@ -1 +1 @@ -import{_ as F}from"./post-skeleton-29ef9a0b.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{u as V}from"./vuex-473b3783.js";import{b as z}from"./vue-router-b8e3382f.js";import{a as A}from"./formatTime-cdf4e6f1.js";import{d as R,r as n,j as S,c as o,V as a,a1 as p,o as e,_ as u,O as l,F as I,a4 as L,Q as M,a as s,M as _,L as O}from"./@vue-e0e89260.js";import{F as P,G as j,I as q,H as D}from"./naive-ui-62663ad7.js";import{_ as E}from"./index-d9d021c3.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./@vicons-b553c29f.js";import"./moment-2ab8298d.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const G={key:0,class:"pagination-wrap"},H={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},$=R({__name:"Anouncement",setup(J){const d=V(),g=z(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return S(()=>{}),(m,K)=>{const y=N,k=j,x=F,w=q,B=D,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",G,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",H,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",Q,[r.value.length===0?(e(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(A)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=E($,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; +import{_ as F}from"./post-skeleton-41befd31.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{u as V}from"./vuex-473b3783.js";import{b as z}from"./vue-router-b8e3382f.js";import{a as A}from"./formatTime-cdf4e6f1.js";import{d as R,r as n,j as S,c as o,V as a,a1 as p,o as e,_ as u,O as l,F as I,a4 as L,Q as M,a as s,M as _,L as O}from"./@vue-e0e89260.js";import{F as P,G as j,I as q,H as D}from"./naive-ui-62663ad7.js";import{_ as E}from"./index-08d8af97.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./@vicons-6332ad63.js";import"./moment-2ab8298d.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const G={key:0,class:"pagination-wrap"},H={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},$=R({__name:"Anouncement",setup(J){const d=V(),g=z(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{i.value=m};return S(()=>{}),(m,K)=>{const y=N,k=j,x=F,w=q,B=D,C=P;return e(),o("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(e(),o("div",G,[a(k,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",H,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",Q,[r.value.length===0?(e(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(I,null,L(r.value,t=>(e(),M(B,{key:t.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:O({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(A)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const kt=E($,[["__scopeId","data-v-d4d04859"]]);export{kt as default}; diff --git a/web/dist/assets/Collection-56f7019b.js b/web/dist/assets/Collection-d33c7999.js similarity index 90% rename from web/dist/assets/Collection-56f7019b.js rename to web/dist/assets/Collection-d33c7999.js index 8bc55c64..58fc147c 100644 --- a/web/dist/assets/Collection-56f7019b.js +++ b/web/dist/assets/Collection-d33c7999.js @@ -1 +1 @@ -import{_ as P,a as S}from"./post-item.vue_vue_type_style_index_0_lang-926b2075.js";import{_ as V}from"./post-skeleton-29ef9a0b.js";import{_ as $}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{u as I}from"./vuex-473b3783.js";import{b as L}from"./vue-router-b8e3382f.js";import{L as N,_ as R}from"./index-d9d021c3.js";import{d as j,r as s,j as q,c as o,V as e,a1 as c,_ as g,O as v,o as t,F as f,a4 as h,Q as k}from"./@vue-e0e89260.js";import{F as E,G,I as H,H as O}from"./naive-ui-62663ad7.js";import"./content-1dbc9788.js";import"./@vicons-b553c29f.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Q={key:0,class:"skeleton-wrap"},T={key:1},U={key:0,class:"empty-wrap"},A={key:1},D={key:2},J={key:0,class:"pagination-wrap"},K=j({__name:"Collection",setup(W){const m=I(),y=L(),_=s(!1),i=s([]),p=s(+y.query.p||1),l=s(20),r=s(0),u=()=>{_.value=!0,N({page:p.value,page_size:l.value}).then(n=>{_.value=!1,i.value=n.list,r.value=Math.ceil(n.pager.total_rows/l.value),window.scrollTo(0,0)}).catch(n=>{_.value=!1})},w=n=>{p.value=n,u()};return q(()=>{u()}),(n,X)=>{const C=$,b=V,x=H,z=P,d=O,B=S,F=E,M=G;return t(),o("div",null,[e(C,{title:"收藏"}),e(F,{class:"main-content-wrap",bordered:""},{default:c(()=>[_.value?(t(),o("div",Q,[e(b,{num:l.value},null,8,["num"])])):(t(),o("div",T,[i.value.length===0?(t(),o("div",U,[e(x,{size:"large",description:"暂无数据"})])):v("",!0),g(m).state.desktopModelShow?(t(),o("div",A,[(t(!0),o(f,null,h(i.value,a=>(t(),k(d,{key:a.id},{default:c(()=>[e(z,{post:a},null,8,["post"])]),_:2},1024))),128))])):(t(),o("div",D,[(t(!0),o(f,null,h(i.value,a=>(t(),k(d,{key:a.id},{default:c(()=>[e(B,{post:a},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),r.value>0?(t(),o("div",J,[e(M,{page:p.value,"onUpdate:page":w,"page-slot":g(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):v("",!0)])}}});const Mt=R(K,[["__scopeId","data-v-a5302c9b"]]);export{Mt as default}; +import{_ as P,a as S}from"./post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js";import{_ as V}from"./post-skeleton-41befd31.js";import{_ as $}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{u as I}from"./vuex-473b3783.js";import{b as L}from"./vue-router-b8e3382f.js";import{L as N,_ as R}from"./index-08d8af97.js";import{d as j,r as s,j as q,c as o,V as e,a1 as c,_ as g,O as v,o as t,F as f,a4 as h,Q as k}from"./@vue-e0e89260.js";import{F as E,G,I as H,H as O}from"./naive-ui-62663ad7.js";import"./content-91ba374b.js";import"./@vicons-6332ad63.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Q={key:0,class:"skeleton-wrap"},T={key:1},U={key:0,class:"empty-wrap"},A={key:1},D={key:2},J={key:0,class:"pagination-wrap"},K=j({__name:"Collection",setup(W){const m=I(),y=L(),_=s(!1),i=s([]),p=s(+y.query.p||1),l=s(20),r=s(0),u=()=>{_.value=!0,N({page:p.value,page_size:l.value}).then(n=>{_.value=!1,i.value=n.list,r.value=Math.ceil(n.pager.total_rows/l.value),window.scrollTo(0,0)}).catch(n=>{_.value=!1})},w=n=>{p.value=n,u()};return q(()=>{u()}),(n,X)=>{const C=$,b=V,x=H,z=P,d=O,B=S,F=E,M=G;return t(),o("div",null,[e(C,{title:"收藏"}),e(F,{class:"main-content-wrap",bordered:""},{default:c(()=>[_.value?(t(),o("div",Q,[e(b,{num:l.value},null,8,["num"])])):(t(),o("div",T,[i.value.length===0?(t(),o("div",U,[e(x,{size:"large",description:"暂无数据"})])):v("",!0),g(m).state.desktopModelShow?(t(),o("div",A,[(t(!0),o(f,null,h(i.value,a=>(t(),k(d,{key:a.id},{default:c(()=>[e(z,{post:a},null,8,["post"])]),_:2},1024))),128))])):(t(),o("div",D,[(t(!0),o(f,null,h(i.value,a=>(t(),k(d,{key:a.id},{default:c(()=>[e(B,{post:a},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),r.value>0?(t(),o("div",J,[e(M,{page:p.value,"onUpdate:page":w,"page-slot":g(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):v("",!0)])}}});const Mt=R(K,[["__scopeId","data-v-a5302c9b"]]);export{Mt as default}; diff --git a/web/dist/assets/Contacts-f7cd8b40.js b/web/dist/assets/Contacts-86a6f430.js similarity index 90% rename from web/dist/assets/Contacts-f7cd8b40.js rename to web/dist/assets/Contacts-86a6f430.js index 753d5502..01db5c75 100644 --- a/web/dist/assets/Contacts-f7cd8b40.js +++ b/web/dist/assets/Contacts-86a6f430.js @@ -1 +1 @@ -import{u as N,b as P}from"./vue-router-b8e3382f.js";import{d as k,o as e,c as n,a as s,V as a,M as d,r as c,j as R,a1 as f,_ as S,O as h,F as y,a4 as U,Q as q}from"./@vue-e0e89260.js";import{o as x,F as D,G as O,I as T,H as j}from"./naive-ui-62663ad7.js";import{_ as b,O as E}from"./index-d9d021c3.js";import{_ as G}from"./post-skeleton-29ef9a0b.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{u as L}from"./vuex-473b3783.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./@vicons-b553c29f.js";/* empty css */const Q={class:"avatar"},A={class:"base-info"},J={class:"username"},K={class:"uid"},W=k({__name:"contact-item",props:{contact:{}},setup(C){const l=N(),u=t=>{l.push({name:"user",query:{username:t}})};return(t,o)=>{const _=x;return e(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=r=>u(t.contact.username))},[s("div",Q,[a(_,{size:"large",src:t.contact.avatar},null,8,["src"])]),s("div",A,[s("div",J,[s("strong",null,d(t.contact.nickname),1),s("span",null," @"+d(t.contact.username),1)]),s("div",K,"UID. "+d(t.contact.user_id),1)])])}}});const X=b(W,[["__scopeId","data-v-08ee9b2e"]]),Y={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=k({__name:"Contacts",setup(C){const l=L(),u=P(),t=c(!1),o=c([]),_=c(+u.query.p||1),r=c(20),m=c(0),w=i=>{_.value=i,v()};R(()=>{v()});const v=(i=!1)=>{o.value.length===0&&(t.value=!0),E({page:_.value,page_size:r.value}).then(p=>{t.value=!1,o.value=p.list,m.value=Math.ceil(p.pager.total_rows/r.value),i&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(p=>{t.value=!1})};return(i,p)=>{const $=H,I=G,z=T,B=X,V=j,F=D,M=O;return e(),n(y,null,[s("div",null,[a($,{title:"好友"}),a(F,{class:"main-content-wrap",bordered:""},{default:f(()=>[t.value?(e(),n("div",Y,[a(I,{num:r.value},null,8,["num"])])):(e(),n("div",Z,[o.value.length===0?(e(),n("div",tt,[a(z,{size:"large",description:"暂无数据"})])):h("",!0),(e(!0),n(y,null,U(o.value,g=>(e(),q(V,{key:g.user_id},{default:f(()=>[a(B,{contact:g},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),m.value>0?(e(),n("div",et,[a(M,{page:_.value,"onUpdate:page":w,"page-slot":S(l).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):h("",!0)],64)}}});const zt=b(ot,[["__scopeId","data-v-3b2bf978"]]);export{zt as default}; +import{u as N,b as P}from"./vue-router-b8e3382f.js";import{d as k,o as e,c as n,a as s,V as a,M as d,r as c,j as R,a1 as f,_ as S,O as h,F as y,a4 as U,Q as q}from"./@vue-e0e89260.js";import{o as x,F as D,G as O,I as T,H as j}from"./naive-ui-62663ad7.js";import{_ as b,O as E}from"./index-08d8af97.js";import{_ as G}from"./post-skeleton-41befd31.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{u as L}from"./vuex-473b3783.js";import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./@vicons-6332ad63.js";/* empty css */const Q={class:"avatar"},A={class:"base-info"},J={class:"username"},K={class:"uid"},W=k({__name:"contact-item",props:{contact:{}},setup(C){const l=N(),u=t=>{l.push({name:"user",query:{username:t}})};return(t,o)=>{const _=x;return e(),n("div",{class:"contact-item",onClick:o[0]||(o[0]=r=>u(t.contact.username))},[s("div",Q,[a(_,{size:"large",src:t.contact.avatar},null,8,["src"])]),s("div",A,[s("div",J,[s("strong",null,d(t.contact.nickname),1),s("span",null," @"+d(t.contact.username),1)]),s("div",K,"UID. "+d(t.contact.user_id),1)])])}}});const X=b(W,[["__scopeId","data-v-08ee9b2e"]]),Y={key:0,class:"skeleton-wrap"},Z={key:1},tt={key:0,class:"empty-wrap"},et={key:0,class:"pagination-wrap"},ot=k({__name:"Contacts",setup(C){const l=L(),u=P(),t=c(!1),o=c([]),_=c(+u.query.p||1),r=c(20),m=c(0),w=i=>{_.value=i,v()};R(()=>{v()});const v=(i=!1)=>{o.value.length===0&&(t.value=!0),E({page:_.value,page_size:r.value}).then(p=>{t.value=!1,o.value=p.list,m.value=Math.ceil(p.pager.total_rows/r.value),i&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(p=>{t.value=!1})};return(i,p)=>{const $=H,I=G,z=T,B=X,V=j,F=D,M=O;return e(),n(y,null,[s("div",null,[a($,{title:"好友"}),a(F,{class:"main-content-wrap",bordered:""},{default:f(()=>[t.value?(e(),n("div",Y,[a(I,{num:r.value},null,8,["num"])])):(e(),n("div",Z,[o.value.length===0?(e(),n("div",tt,[a(z,{size:"large",description:"暂无数据"})])):h("",!0),(e(!0),n(y,null,U(o.value,g=>(e(),q(V,{key:g.user_id},{default:f(()=>[a(B,{contact:g},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),m.value>0?(e(),n("div",et,[a(M,{page:_.value,"onUpdate:page":w,"page-slot":S(l).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):h("",!0)],64)}}});const zt=b(ot,[["__scopeId","data-v-3b2bf978"]]);export{zt as default}; diff --git a/web/dist/assets/Home-7efce0f2.js b/web/dist/assets/Home-ab2e462e.js similarity index 97% rename from web/dist/assets/Home-7efce0f2.js rename to web/dist/assets/Home-ab2e462e.js index 4a99bd6e..8eb86715 100644 --- a/web/dist/assets/Home-7efce0f2.js +++ b/web/dist/assets/Home-ab2e462e.js @@ -1 +1 @@ -import{_ as Te,a as qe}from"./post-item.vue_vue_type_style_index_0_lang-926b2075.js";import{_ as xe}from"./post-skeleton-29ef9a0b.js";import{d as Y,r as i,j as ee,o as c,c as v,_ as $,a as x,V as a,a1 as s,Q as L,O as T,a2 as Z,e as S,M as X,F as K,a4 as J,n as Ie,w as ze}from"./@vue-e0e89260.js";import{u as te}from"./vuex-473b3783.js";import{l as W}from"./lodash-94eb5868.js";import{g as Ue,a as Re,c as Ae,b as Ee,_ as Pe}from"./index-d9d021c3.js";import{p as Se}from"./content-1dbc9788.js";import{V as z,P as N}from"./IEnum-a180d93e.js";import{I as Le,V as Ve,A as Ne,d as Fe,E as Be}from"./@vicons-b553c29f.js";import{o as Me,v as Oe,j as je,e as De,w as He,x as Ge,y as Ke,z as Je,A as Qe,B as Ze,C as Xe,a as We,D as Ye,E as et,F as tt,G as at,H as ot,I as nt}from"./naive-ui-62663ad7.js";import{_ as st}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{b as lt,u as it}from"./vue-router-b8e3382f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-aa5e8b3f.js";const rt=F=>{const q=new FileReader,r=_=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(_),I=()=>{const _=new Uint8Array(q.result).subarray(0,4);let d="";for(let p=0;p<_.length;p++)d+=_[p].toString(16);switch(d){case"504b0304":case"504b0506":case"504b0708":return r("application/zip");case"504b030414":return r("application/x-zip-compressed");case"504b0508":return r("application/x-zip");case"504b5370":return r("application/octet-stream");default:return!1}};return new Promise((_,d)=>{q.onloadend=()=>{const p=F.type;_(p===""||p==="application/octet-stream"?I():r(p))},q.readAsArrayBuffer(F.slice(0,4))})},ut={key:0,class:"compose-wrap"},ct={class:"compose-line"},pt={class:"compose-user"},_t={class:"compose-line compose-options"},dt={class:"attachment"},mt={class:"submit-wrap"},vt={class:"attachment-list-wrap"},gt={key:0,class:"attachment-price-wrap"},ft=x("span",null," 附件价格¥",-1),yt={key:0,class:"eye-wrap"},ht={key:1,class:"link-wrap"},wt={key:1,class:"compose-wrap"},bt=x("div",{class:"login-wrap"},[x("span",{class:"login-banner"}," 登录后,精彩更多")],-1),kt={key:0,class:"login-only-wrap"},Ct={key:1,class:"login-wrap"},$t=Y({__name:"compose",emits:["post-success"],setup(F,{emit:q}){const r=te(),I=i([]),_=i(!1),d=i(!1),p=i(!1),b=i(!1),w=i(""),U=i([]),E=i(),V=i(0),f=i("public/image"),u=i([]),h=i([]),k=i([]),y=i([]),C=i(z.FRIEND),R=i(z.FRIEND),M=[{value:z.PUBLIC,label:"公开"},{value:z.PRIVATE,label:"私密"},{value:z.FRIEND,label:"好友可见"}],P=+"400",B=i("true".toLowerCase()==="true"),O=i("true".toLowerCase()==="true"),j=i("true".toLowerCase()==="true"),A=i("false".toLowerCase()==="true"),ae=i("true".toLowerCase()==="true"),oe="/v1/attachment",Q=i(),ne=()=>{p.value=!p.value,p.value&&b.value&&(b.value=!1)},se=()=>{b.value=!b.value,b.value&&p.value&&(p.value=!1)},le=W.debounce(t=>{Ue({k:t}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,_.value=!1}).catch(e=>{_.value=!1})},200),ie=W.debounce(t=>{Re({k:t}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,_.value=!1}).catch(e=>{_.value=!1})},200),re=(t,e)=>{_.value||(_.value=!0,e==="@"?le(t):ie(t))},ue=t=>{t.length>P?w.value=t.substring(0,P):w.value=t},D=t=>{f.value=t},ce=t=>{for(let l=0;l30&&(t[l].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}u.value=t},pe=async t=>{var e,n,o,l,g;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=t.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((n=t.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):f.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=t.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):f.value==="public/video"&&((l=t.file.file)==null?void 0:l.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):f.value==="attachment"&&!await rt(t.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):f.value==="attachment"&&((g=t.file.file)==null?void 0:g.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:t,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(f.value==="public/image"&&h.value.push({id:t.id,content:o.data.content}),f.value==="public/video"&&k.value.push({id:t.id,content:o.data.content}),f.value==="attachment"&&y.value.push({id:t.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:t,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let l=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(g=>{l+=":"+g}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},me=({file:t})=>{let e=h.value.findIndex(n=>n.id===t.id);e>-1&&h.value.splice(e,1),e=k.value.findIndex(n=>n.id===t.id),e>-1&&k.value.splice(e,1),e=y.value.findIndex(n=>n.id===t.id),e>-1&&y.value.splice(e,1)},ve=()=>{if(w.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:t,users:e}=Se(w.value);const n=[];let o=100;n.push({content:w.value,type:N.TEXT,sort:o}),h.value.map(l=>{o++,n.push({content:l.content,type:N.IMAGEURL,sort:o})}),k.value.map(l=>{o++,n.push({content:l.content,type:N.VIDEOURL,sort:o})}),y.value.map(l=>{o++,n.push({content:l.content,type:N.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(l=>{o++,n.push({content:l,type:N.LINKURL,sort:o})}),d.value=!0,Ae({contents:n,tags:Array.from(new Set(t)),users:Array.from(new Set(e)),attachment_price:+V.value*100,visibility:C.value}).then(l=>{var g;window.$message.success("发布成功"),d.value=!1,q("post-success",l),p.value=!1,b.value=!1,(g=E.value)==null||g.clear(),u.value=[],w.value="",U.value=[],h.value=[],k.value=[],y.value=[],C.value=R.value}).catch(l=>{d.value=!1})},H=t=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",t)};return ee(()=>{"friend".toLowerCase()==="friend"?R.value=z.FRIEND:"friend".toLowerCase()==="public"?R.value=z.PUBLIC:R.value=z.PRIVATE,C.value=R.value,Q.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(t,e)=>{const n=Me,o=Oe,l=je,g=De,G=He,ge=Ge,fe=Ke,ye=Je,he=Qe,we=Ze,be=Xe,ke=We,Ce=Ye,$e=et;return c(),v("div",null,[$(r).state.userInfo.id>0?(c(),v("div",ut,[x("div",ct,[x("div",pt,[a(n,{round:"",size:30,src:$(r).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:_.value,value:w.value,prefix:["@","#"],options:I.value,onSearch:re,"onUpdate:value":ue,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(we,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:Q.value},data:{type:f.value},"file-list":u.value,onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[x("div",_t,[x("div",dt,[a(G,{abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value==="public/video"||u.value.length===9,onClick:()=>{D("public/image"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),O.value?(c(),L(G,{key:0,abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value!=="public/video"||u.value.length===9,onClick:()=>{D("public/video"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Ve))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),j.value?(c(),L(G,{key:1,abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value==="public/video"||u.value.length===9,onClick:()=>{D("attachment"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),a(g,{quaternary:"",circle:"",type:"primary",onClick:Z(ne,["stop"])},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Fe))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),L(g,{key:2,quaternary:"",circle:"",type:"primary",onClick:Z(se,["stop"])},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Be))]),_:1})]),_:1},8,["onClick"])):T("",!0)]),x("div",mt,[a(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[a(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:w.value.length/$(P)*100},null,8,["percentage"])]),default:s(()=>[S(" "+X(w.value.length)+" / "+X($(P)),1)]),_:1}),a(g,{loading:d.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[S(" 发布 ")]),_:1},8,["loading"])])]),x("div",vt,[a(ye),y.value.length>0?(c(),v("div",gt,[A.value?(c(),L(he,{key:0,value:V.value,"onUpdate:value":e[0]||(e[0]=m=>V.value=m),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[ft]),_:1},8,["value"])):T("",!0)])):T("",!0)])]),_:1},8,["headers","data","file-list"]),b.value?(c(),v("div",yt,[a(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=m=>C.value=m),name:"radiogroup"},{default:s(()=>[a(ke,null,{default:s(()=>[(c(),v(K,null,J(M,m=>a(be,{key:m.value,value:m.value,label:m.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):T("",!0),p.value?(c(),v("div",ht,[a($e,{value:U.value,"onUpdate:value":e[2]||(e[2]=m=>U.value=m),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[S(" 创建链接 ")]),_:1},8,["value"])])):T("",!0)])):(c(),v("div",wt,[bt,B.value?T("",!0):(c(),v("div",kt,[a(g,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=m=>H("signin"))},{default:s(()=>[S(" 登录 ")]),_:1})])),B.value?(c(),v("div",Ct,[a(g,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=m=>H("signin"))},{default:s(()=>[S(" 登录 ")]),_:1}),a(g,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=m=>H("signup"))},{default:s(()=>[S(" 注册 ")]),_:1})])):T("",!0)]))])}}});const Tt={key:0,class:"skeleton-wrap"},qt={key:1},xt={key:0,class:"empty-wrap"},It={key:1},zt={key:2},Ut={key:0,class:"pagination-wrap"},Rt=Y({__name:"Home",setup(F){const q=te(),r=lt(),I=it(),_=i(!1),d=i([]),p=i(+r.query.p||1),b=i(20),w=i(0),U=Ie(()=>{let u="泡泡广场";return r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?u="#"+decodeURIComponent(r.query.q):u="搜索: "+decodeURIComponent(r.query.q)),u}),E=()=>{_.value=!0,Ee({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:p.value,page_size:b.value}).then(u=>{_.value=!1,d.value=u.list,w.value=Math.ceil(u.pager.total_rows/b.value),window.scrollTo(0,0)}).catch(u=>{_.value=!1})},V=u=>{if(p.value!=1){I.push({name:"post",query:{id:u.id}});return}let h=[],k=d.value.length;k==b.value&&k--;for(var y=0;y{I.push({name:"home",query:{...r.query,p:u}})};return ee(()=>{E()}),ze(()=>({path:r.path,query:r.query,refresh:q.state.refresh}),(u,h)=>{if(u.refresh!==h.refresh){p.value=+r.query.p||1,setTimeout(()=>{E()},0);return}h.path!=="/post"&&u.path==="/"&&(p.value=+r.query.p||1,setTimeout(()=>{E()},0))}),(u,h)=>{const k=st,y=$t,C=ot,R=xe,M=nt,P=Te,B=qe,O=tt,j=at;return c(),v("div",null,[a(k,{title:U.value},null,8,["title"]),a(O,{class:"main-content-wrap",bordered:""},{default:s(()=>[a(C,null,{default:s(()=>[a(y,{onPostSuccess:V})]),_:1}),_.value?(c(),v("div",Tt,[a(R,{num:b.value},null,8,["num"])])):(c(),v("div",qt,[d.value.length===0?(c(),v("div",xt,[a(M,{size:"large",description:"暂无数据"})])):T("",!0),$(q).state.desktopModelShow?(c(),v("div",It,[(c(!0),v(K,null,J(d.value,A=>(c(),L(C,{key:A.id},{default:s(()=>[a(P,{post:A},null,8,["post"])]),_:2},1024))),128))])):(c(),v("div",zt,[(c(!0),v(K,null,J(d.value,A=>(c(),L(C,{key:A.id},{default:s(()=>[a(B,{post:A},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),w.value>0?(c(),v("div",Ut,[a(j,{page:p.value,"onUpdate:page":f,"page-slot":$(q).state.collapsedRight?5:8,"page-count":w.value},null,8,["page","page-slot","page-count"])])):T("",!0)])}}});const ca=Pe(Rt,[["__scopeId","data-v-f42b0645"]]);export{ca as default}; +import{_ as Te,a as qe}from"./post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js";import{_ as xe}from"./post-skeleton-41befd31.js";import{d as Y,r as i,j as ee,o as c,c as v,_ as $,a as x,V as a,a1 as s,Q as L,O as T,a2 as Z,e as S,M as X,F as K,a4 as J,n as Ie,w as ze}from"./@vue-e0e89260.js";import{u as te}from"./vuex-473b3783.js";import{l as W}from"./lodash-94eb5868.js";import{g as Ue,a as Re,c as Ae,b as Ee,_ as Pe}from"./index-08d8af97.js";import{p as Se}from"./content-91ba374b.js";import{V as z,P as N}from"./IEnum-a180d93e.js";import{I as Le,V as Ve,A as Ne,d as Fe,E as Be}from"./@vicons-6332ad63.js";import{o as Me,v as Oe,j as je,e as De,w as He,x as Ge,y as Ke,z as Je,A as Qe,B as Ze,C as Xe,a as We,D as Ye,E as et,F as tt,G as at,H as ot,I as nt}from"./naive-ui-62663ad7.js";import{_ as st}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{b as lt,u as it}from"./vue-router-b8e3382f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-aa5e8b3f.js";const rt=F=>{const q=new FileReader,r=_=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(_),I=()=>{const _=new Uint8Array(q.result).subarray(0,4);let d="";for(let p=0;p<_.length;p++)d+=_[p].toString(16);switch(d){case"504b0304":case"504b0506":case"504b0708":return r("application/zip");case"504b030414":return r("application/x-zip-compressed");case"504b0508":return r("application/x-zip");case"504b5370":return r("application/octet-stream");default:return!1}};return new Promise((_,d)=>{q.onloadend=()=>{const p=F.type;_(p===""||p==="application/octet-stream"?I():r(p))},q.readAsArrayBuffer(F.slice(0,4))})},ut={key:0,class:"compose-wrap"},ct={class:"compose-line"},pt={class:"compose-user"},_t={class:"compose-line compose-options"},dt={class:"attachment"},mt={class:"submit-wrap"},vt={class:"attachment-list-wrap"},gt={key:0,class:"attachment-price-wrap"},ft=x("span",null," 附件价格¥",-1),yt={key:0,class:"eye-wrap"},ht={key:1,class:"link-wrap"},wt={key:1,class:"compose-wrap"},bt=x("div",{class:"login-wrap"},[x("span",{class:"login-banner"}," 登录后,精彩更多")],-1),kt={key:0,class:"login-only-wrap"},Ct={key:1,class:"login-wrap"},$t=Y({__name:"compose",emits:["post-success"],setup(F,{emit:q}){const r=te(),I=i([]),_=i(!1),d=i(!1),p=i(!1),b=i(!1),w=i(""),U=i([]),E=i(),V=i(0),f=i("public/image"),u=i([]),h=i([]),k=i([]),y=i([]),C=i(z.FRIEND),R=i(z.FRIEND),M=[{value:z.PUBLIC,label:"公开"},{value:z.PRIVATE,label:"私密"},{value:z.FRIEND,label:"好友可见"}],P=+"400",B=i("true".toLowerCase()==="true"),O=i("true".toLowerCase()==="true"),j=i("true".toLowerCase()==="true"),A=i("false".toLowerCase()==="true"),ae=i("true".toLowerCase()==="true"),oe="/v1/attachment",Q=i(),ne=()=>{p.value=!p.value,p.value&&b.value&&(b.value=!1)},se=()=>{b.value=!b.value,b.value&&p.value&&(p.value=!1)},le=W.debounce(t=>{Ue({k:t}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,_.value=!1}).catch(e=>{_.value=!1})},200),ie=W.debounce(t=>{Re({k:t}).then(e=>{let n=[];e.suggest.map(o=>{n.push({label:o,value:o})}),I.value=n,_.value=!1}).catch(e=>{_.value=!1})},200),re=(t,e)=>{_.value||(_.value=!0,e==="@"?le(t):ie(t))},ue=t=>{t.length>P?w.value=t.substring(0,P):w.value=t},D=t=>{f.value=t},ce=t=>{for(let l=0;l30&&(t[l].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}u.value=t},pe=async t=>{var e,n,o,l,g;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((e=t.file.file)==null?void 0:e.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((n=t.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):f.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=t.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):f.value==="public/video"&&((l=t.file.file)==null?void 0:l.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):f.value==="attachment"&&!await rt(t.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):f.value==="attachment"&&((g=t.file.file)==null?void 0:g.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},_e=({file:t,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);o.code===0&&(f.value==="public/image"&&h.value.push({id:t.id,content:o.data.content}),f.value==="public/video"&&k.value.push({id:t.id,content:o.data.content}),f.value==="attachment"&&y.value.push({id:t.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},de=({file:t,event:e})=>{var n;try{let o=JSON.parse((n=e.target)==null?void 0:n.response);if(o.code!==0){let l=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(g=>{l+=":"+g}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},me=({file:t})=>{let e=h.value.findIndex(n=>n.id===t.id);e>-1&&h.value.splice(e,1),e=k.value.findIndex(n=>n.id===t.id),e>-1&&k.value.splice(e,1),e=y.value.findIndex(n=>n.id===t.id),e>-1&&y.value.splice(e,1)},ve=()=>{if(w.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:t,users:e}=Se(w.value);const n=[];let o=100;n.push({content:w.value,type:N.TEXT,sort:o}),h.value.map(l=>{o++,n.push({content:l.content,type:N.IMAGEURL,sort:o})}),k.value.map(l=>{o++,n.push({content:l.content,type:N.VIDEOURL,sort:o})}),y.value.map(l=>{o++,n.push({content:l.content,type:N.ATTACHMENT,sort:o})}),U.value.length>0&&U.value.map(l=>{o++,n.push({content:l,type:N.LINKURL,sort:o})}),d.value=!0,Ae({contents:n,tags:Array.from(new Set(t)),users:Array.from(new Set(e)),attachment_price:+V.value*100,visibility:C.value}).then(l=>{var g;window.$message.success("发布成功"),d.value=!1,q("post-success",l),p.value=!1,b.value=!1,(g=E.value)==null||g.clear(),u.value=[],w.value="",U.value=[],h.value=[],k.value=[],y.value=[],C.value=R.value}).catch(l=>{d.value=!1})},H=t=>{r.commit("triggerAuth",!0),r.commit("triggerAuthKey",t)};return ee(()=>{"friend".toLowerCase()==="friend"?R.value=z.FRIEND:"friend".toLowerCase()==="public"?R.value=z.PUBLIC:R.value=z.PRIVATE,C.value=R.value,Q.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(t,e)=>{const n=Me,o=Oe,l=je,g=De,G=He,ge=Ge,fe=Ke,ye=Je,he=Qe,we=Ze,be=Xe,ke=We,Ce=Ye,$e=et;return c(),v("div",null,[$(r).state.userInfo.id>0?(c(),v("div",ut,[x("div",ct,[x("div",pt,[a(n,{round:"",size:30,src:$(r).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:_.value,value:w.value,prefix:["@","#"],options:I.value,onSearch:re,"onUpdate:value":ue,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(we,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:oe,headers:{Authorization:Q.value},data:{type:f.value},"file-list":u.value,onBeforeUpload:pe,onFinish:_e,onError:de,onRemove:me,"onUpdate:fileList":ce},{default:s(()=>[x("div",_t,[x("div",dt,[a(G,{abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value==="public/video"||u.value.length===9,onClick:()=>{D("public/image"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),O.value?(c(),L(G,{key:0,abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value!=="public/video"||u.value.length===9,onClick:()=>{D("public/video"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Ve))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),j.value?(c(),L(G,{key:1,abstract:""},{default:s(({handleClick:m})=>[a(g,{disabled:u.value.length>0&&f.value==="public/video"||u.value.length===9,onClick:()=>{D("attachment"),m()},quaternary:"",circle:"",type:"primary"},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Ne))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):T("",!0),a(g,{quaternary:"",circle:"",type:"primary",onClick:Z(ne,["stop"])},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Fe))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),L(g,{key:2,quaternary:"",circle:"",type:"primary",onClick:Z(se,["stop"])},{icon:s(()=>[a(l,{size:"20",color:"var(--primary-color)"},{default:s(()=>[a($(Be))]),_:1})]),_:1},8,["onClick"])):T("",!0)]),x("div",mt,[a(fe,{trigger:"hover",placement:"bottom"},{trigger:s(()=>[a(ge,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:w.value.length/$(P)*100},null,8,["percentage"])]),default:s(()=>[S(" "+X(w.value.length)+" / "+X($(P)),1)]),_:1}),a(g,{loading:d.value,onClick:ve,type:"primary",secondary:"",round:""},{default:s(()=>[S(" 发布 ")]),_:1},8,["loading"])])]),x("div",vt,[a(ye),y.value.length>0?(c(),v("div",gt,[A.value?(c(),L(he,{key:0,value:V.value,"onUpdate:value":e[0]||(e[0]=m=>V.value=m),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:s(()=>[ft]),_:1},8,["value"])):T("",!0)])):T("",!0)])]),_:1},8,["headers","data","file-list"]),b.value?(c(),v("div",yt,[a(Ce,{value:C.value,"onUpdate:value":e[1]||(e[1]=m=>C.value=m),name:"radiogroup"},{default:s(()=>[a(ke,null,{default:s(()=>[(c(),v(K,null,J(M,m=>a(be,{key:m.value,value:m.value,label:m.label},null,8,["value","label"])),64))]),_:1})]),_:1},8,["value"])])):T("",!0),p.value?(c(),v("div",ht,[a($e,{value:U.value,"onUpdate:value":e[2]||(e[2]=m=>U.value=m),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":s(()=>[S(" 创建链接 ")]),_:1},8,["value"])])):T("",!0)])):(c(),v("div",wt,[bt,B.value?T("",!0):(c(),v("div",kt,[a(g,{strong:"",secondary:"",round:"",type:"primary",onClick:e[3]||(e[3]=m=>H("signin"))},{default:s(()=>[S(" 登录 ")]),_:1})])),B.value?(c(),v("div",Ct,[a(g,{strong:"",secondary:"",round:"",type:"primary",onClick:e[4]||(e[4]=m=>H("signin"))},{default:s(()=>[S(" 登录 ")]),_:1}),a(g,{strong:"",secondary:"",round:"",type:"info",onClick:e[5]||(e[5]=m=>H("signup"))},{default:s(()=>[S(" 注册 ")]),_:1})])):T("",!0)]))])}}});const Tt={key:0,class:"skeleton-wrap"},qt={key:1},xt={key:0,class:"empty-wrap"},It={key:1},zt={key:2},Ut={key:0,class:"pagination-wrap"},Rt=Y({__name:"Home",setup(F){const q=te(),r=lt(),I=it(),_=i(!1),d=i([]),p=i(+r.query.p||1),b=i(20),w=i(0),U=Ie(()=>{let u="泡泡广场";return r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?u="#"+decodeURIComponent(r.query.q):u="搜索: "+decodeURIComponent(r.query.q)),u}),E=()=>{_.value=!0,Ee({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:p.value,page_size:b.value}).then(u=>{_.value=!1,d.value=u.list,w.value=Math.ceil(u.pager.total_rows/b.value),window.scrollTo(0,0)}).catch(u=>{_.value=!1})},V=u=>{if(p.value!=1){I.push({name:"post",query:{id:u.id}});return}let h=[],k=d.value.length;k==b.value&&k--;for(var y=0;y{I.push({name:"home",query:{...r.query,p:u}})};return ee(()=>{E()}),ze(()=>({path:r.path,query:r.query,refresh:q.state.refresh}),(u,h)=>{if(u.refresh!==h.refresh){p.value=+r.query.p||1,setTimeout(()=>{E()},0);return}h.path!=="/post"&&u.path==="/"&&(p.value=+r.query.p||1,setTimeout(()=>{E()},0))}),(u,h)=>{const k=st,y=$t,C=ot,R=xe,M=nt,P=Te,B=qe,O=tt,j=at;return c(),v("div",null,[a(k,{title:U.value},null,8,["title"]),a(O,{class:"main-content-wrap",bordered:""},{default:s(()=>[a(C,null,{default:s(()=>[a(y,{onPostSuccess:V})]),_:1}),_.value?(c(),v("div",Tt,[a(R,{num:b.value},null,8,["num"])])):(c(),v("div",qt,[d.value.length===0?(c(),v("div",xt,[a(M,{size:"large",description:"暂无数据"})])):T("",!0),$(q).state.desktopModelShow?(c(),v("div",It,[(c(!0),v(K,null,J(d.value,A=>(c(),L(C,{key:A.id},{default:s(()=>[a(P,{post:A},null,8,["post"])]),_:2},1024))),128))])):(c(),v("div",zt,[(c(!0),v(K,null,J(d.value,A=>(c(),L(C,{key:A.id},{default:s(()=>[a(B,{post:A},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),w.value>0?(c(),v("div",Ut,[a(j,{page:p.value,"onUpdate:page":f,"page-slot":$(q).state.collapsedRight?5:8,"page-count":w.value},null,8,["page","page-slot","page-count"])])):T("",!0)])}}});const ca=Pe(Rt,[["__scopeId","data-v-f42b0645"]]);export{ca as default}; diff --git a/web/dist/assets/Messages-e1f0ddaf.js b/web/dist/assets/Messages-c1d4e5e6.js similarity index 74% rename from web/dist/assets/Messages-e1f0ddaf.js rename to web/dist/assets/Messages-c1d4e5e6.js index 682a0544..d9934e37 100644 --- a/web/dist/assets/Messages-e1f0ddaf.js +++ b/web/dist/assets/Messages-c1d4e5e6.js @@ -1 +1 @@ -import{d as b,a3 as A,o as t,c as a,V as n,a1 as o,a as y,a2 as w,e as p,M as m,Q as N,O as r,_ as c,L as D,a4 as O,F as R,r as f,j as H}from"./@vue-e0e89260.js";import{u as L,b as P}from"./vue-router-b8e3382f.js";import{H as T,I as U,J as E,_ as F,K as G}from"./index-d9d021c3.js";import{a as J}from"./formatTime-cdf4e6f1.js";import{r as K,s as Q,t as z,u as W}from"./@vicons-b553c29f.js";import{o as X,l as Y,j as Z,S as x,M as ee,U as se,F as ne,G as te,I as ae,H as oe}from"./naive-ui-62663ad7.js";import{_ as re}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{u as ie}from"./vuex-473b3783.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const _e={class:"sender-wrap"},le={key:0,class:"nickname"},pe={class:"username"},ue={key:1,class:"nickname"},ce={class:"timestamp"},de={class:"timestamp-txt"},me={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},fe={key:2,class:"status-info"},ye={key:3,class:"status-info"},ke="https://assets.paopao.info/public/avatar/default/admin.png",he=b({__name:"message-item",props:{message:{}},setup(I){const g=L(),k=e=>{_(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?g.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},i=e=>{_(e),T({user_id:e.sender_user_id}).then(s=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(s=>{console.log(s)})},u=e=>{_(e),U({user_id:e.sender_user_id}).then(s=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(s=>{console.log(s)})},_=e=>{e.is_read===0&&E({id:e.id}).then(s=>{e.is_read=1}).catch(s=>{console.log(s)})};return(e,s)=>{const h=X,$=A("router-link"),l=Y,d=Z,C=x,M=ee;return t(),a("div",{class:D(["message-item",{unread:e.message.is_read===0}]),onClick:s[4]||(s[4]=v=>_(e.message))},[n(M,{"content-indented":""},{avatar:o(()=>[n(h,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:ke},null,8,["src"])]),header:o(()=>[y("div",_e,[e.message.sender_user.id>0?(t(),a("span",le,[n($,{onClick:s[0]||(s[0]=w(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:o(()=>[p(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),y("span",pe," @"+m(e.message.sender_user.username),1)])):(t(),a("span",ue," 系统 "))])]),"header-extra":o(()=>[y("span",ce,[e.message.is_read===0?(t(),N(l,{key:0,dot:"",processing:""})):r("",!0),y("span",de,m(c(J)(e.message.created_on)),1)])]),description:o(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:o(()=>[e.message.type!=4?(t(),a("div",me,[p(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),a("span",{key:0,onClick:s[1]||(s[1]=w(v=>k(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(K))]),_:1}),p(" 查看详情 ")])):r("",!0)])):r("",!0),e.message.type===4?(t(),a("div",ge,m(e.message.content),1)):r("",!0),e.message.type===5?(t(),a("div",ve,[p(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),a("span",{key:0,onClick:s[2]||(s[2]=w(v=>i(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(Q))]),_:1}),p(" 同意 ")])):r("",!0),e.message.reply_id===1?(t(),a("span",{key:1,onClick:s[3]||(s[3]=w(v=>u(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(z))]),_:1}),p(" 拒绝 ")])):r("",!0),e.message.reply_id===2?(t(),a("span",fe,[n(d,null,{default:o(()=>[n(c(W))]),_:1}),p(" 已同意 ")])):r("",!0),e.message.reply_id===3?(t(),a("span",ye,[n(d,null,{default:o(()=>[n(c(z))]),_:1}),p(" 已拒绝 ")])):r("",!0)])):r("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const we=F(he,[["__scopeId","data-v-4a0e27fa"]]),$e={class:"content"},Ce=b({__name:"message-skeleton",props:{num:{default:1}},setup(I){return(g,k)=>{const i=se;return t(!0),a(R,null,O(new Array(g.num),u=>(t(),a("div",{class:"skeleton-item",key:u},[y("div",$e,[n(i,{text:"",repeat:2}),n(i,{text:"",style:{width:"60%"}})])]))),128)}}});const Me=F(Ce,[["__scopeId","data-v-01d2e871"]]),be={key:0,class:"skeleton-wrap"},Fe={key:1},Ie={key:0,class:"empty-wrap"},Se={key:0,class:"pagination-wrap"},ze=b({__name:"Messages",setup(I){const g=P(),k=ie(),i=f(!1),u=f(+g.query.p||1),_=f(10),e=f(0),s=f([]),h=()=>{i.value=!0,G({page:u.value,page_size:_.value}).then(l=>{i.value=!1,s.value=l.list,e.value=Math.ceil(l.pager.total_rows/_.value)}).catch(l=>{i.value=!1})},$=l=>{u.value=l,h()};return H(()=>{h()}),(l,d)=>{const C=re,M=Me,v=ae,V=we,j=oe,q=ne,B=te;return t(),a("div",null,[n(C,{title:"消息"}),n(q,{class:"main-content-wrap messages-wrap",bordered:""},{default:o(()=>[i.value?(t(),a("div",be,[n(M,{num:_.value},null,8,["num"])])):(t(),a("div",Fe,[s.value.length===0?(t(),a("div",Ie,[n(v,{size:"large",description:"暂无数据"})])):r("",!0),(t(!0),a(R,null,O(s.value,S=>(t(),N(j,{key:S.id},{default:o(()=>[n(V,{message:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),e.value>0?(t(),a("div",Se,[n(B,{page:u.value,"onUpdate:page":$,"page-slot":c(k).state.collapsedRight?5:8,"page-count":e.value},null,8,["page","page-slot","page-count"])])):r("",!0)])}}});const es=F(ze,[["__scopeId","data-v-4e7b1342"]]);export{es as default}; +import{d as b,a3 as A,o as t,c as a,V as n,a1 as o,a as f,a2 as w,e as p,M as m,Q as N,O as r,_ as c,L as D,a4 as O,F as R,r as y,j as H}from"./@vue-e0e89260.js";import{u as L,b as P}from"./vue-router-b8e3382f.js";import{H as T,I as U,J as E,_ as F,K as G}from"./index-08d8af97.js";import{a as J}from"./formatTime-cdf4e6f1.js";import{w as K,x as Q,y as S,z as W}from"./@vicons-6332ad63.js";import{o as X,l as Y,j as Z,S as x,M as ee,U as se,F as ne,G as te,I as ae,H as oe}from"./naive-ui-62663ad7.js";import{_ as re}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{u as ie}from"./vuex-473b3783.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const _e={class:"sender-wrap"},le={key:0,class:"nickname"},pe={class:"username"},ue={key:1,class:"nickname"},ce={class:"timestamp"},de={class:"timestamp-txt"},me={key:0,class:"brief-content"},ge={key:1,class:"whisper-content-wrap"},ve={key:2,class:"requesting-friend-wrap"},ye={key:2,class:"status-info"},fe={key:3,class:"status-info"},ke="https://assets.paopao.info/public/avatar/default/admin.png",he=b({__name:"message-item",props:{message:{}},setup(I){const g=L(),k=e=>{_(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?g.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},i=e=>{_(e),T({user_id:e.sender_user_id}).then(s=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(s=>{console.log(s)})},u=e=>{_(e),U({user_id:e.sender_user_id}).then(s=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(s=>{console.log(s)})},_=e=>{e.is_read===0&&E({id:e.id}).then(s=>{e.is_read=1}).catch(s=>{console.log(s)})};return(e,s)=>{const h=X,$=A("router-link"),l=Y,d=Z,C=x,M=ee;return t(),a("div",{class:D(["message-item",{unread:e.message.is_read===0}]),onClick:s[4]||(s[4]=v=>_(e.message))},[n(M,{"content-indented":""},{avatar:o(()=>[n(h,{round:"",size:30,src:e.message.sender_user.id>0?e.message.sender_user.avatar:ke},null,8,["src"])]),header:o(()=>[f("div",_e,[e.message.sender_user.id>0?(t(),a("span",le,[n($,{onClick:s[0]||(s[0]=w(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.message.sender_user.username}}},{default:o(()=>[p(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",pe," @"+m(e.message.sender_user.username),1)])):(t(),a("span",ue," 系统 "))])]),"header-extra":o(()=>[f("span",ce,[e.message.is_read===0?(t(),N(l,{key:0,dot:"",processing:""})):r("",!0),f("span",de,m(c(J)(e.message.created_on)),1)])]),description:o(()=>[n(C,{"show-icon":!1,class:"brief-wrap",type:e.message.is_read>0?"default":"success"},{default:o(()=>[e.message.type!=4?(t(),a("div",me,[p(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),a("span",{key:0,onClick:s[1]||(s[1]=w(v=>k(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(K))]),_:1}),p(" 查看详情 ")])):r("",!0)])):r("",!0),e.message.type===4?(t(),a("div",ge,m(e.message.content),1)):r("",!0),e.message.type===5?(t(),a("div",ve,[p(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),a("span",{key:0,onClick:s[2]||(s[2]=w(v=>i(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(Q))]),_:1}),p(" 同意 ")])):r("",!0),e.message.reply_id===1?(t(),a("span",{key:1,onClick:s[3]||(s[3]=w(v=>u(e.message),["stop"])),class:"hash-link view-link"},[n(d,null,{default:o(()=>[n(c(S))]),_:1}),p(" 拒绝 ")])):r("",!0),e.message.reply_id===2?(t(),a("span",ye,[n(d,null,{default:o(()=>[n(c(W))]),_:1}),p(" 已同意 ")])):r("",!0),e.message.reply_id===3?(t(),a("span",fe,[n(d,null,{default:o(()=>[n(c(S))]),_:1}),p(" 已拒绝 ")])):r("",!0)])):r("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const we=F(he,[["__scopeId","data-v-4a0e27fa"]]),$e={class:"content"},Ce=b({__name:"message-skeleton",props:{num:{default:1}},setup(I){return(g,k)=>{const i=se;return t(!0),a(R,null,O(new Array(g.num),u=>(t(),a("div",{class:"skeleton-item",key:u},[f("div",$e,[n(i,{text:"",repeat:2}),n(i,{text:"",style:{width:"60%"}})])]))),128)}}});const Me=F(Ce,[["__scopeId","data-v-01d2e871"]]),be={key:0,class:"skeleton-wrap"},Fe={key:1},Ie={key:0,class:"empty-wrap"},ze={key:0,class:"pagination-wrap"},Se=b({__name:"Messages",setup(I){const g=P(),k=ie(),i=y(!1),u=y(+g.query.p||1),_=y(10),e=y(0),s=y([]),h=()=>{i.value=!0,G({page:u.value,page_size:_.value}).then(l=>{i.value=!1,s.value=l.list,e.value=Math.ceil(l.pager.total_rows/_.value)}).catch(l=>{i.value=!1})},$=l=>{u.value=l,h()};return H(()=>{h()}),(l,d)=>{const C=re,M=Me,v=ae,V=we,j=oe,q=ne,B=te;return t(),a("div",null,[n(C,{title:"消息"}),n(q,{class:"main-content-wrap messages-wrap",bordered:""},{default:o(()=>[i.value?(t(),a("div",be,[n(M,{num:_.value},null,8,["num"])])):(t(),a("div",Fe,[s.value.length===0?(t(),a("div",Ie,[n(v,{size:"large",description:"暂无数据"})])):r("",!0),(t(!0),a(R,null,O(s.value,z=>(t(),N(j,{key:z.id},{default:o(()=>[n(V,{message:z},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),e.value>0?(t(),a("div",ze,[n(B,{page:u.value,"onUpdate:page":$,"page-slot":c(k).state.collapsedRight?5:8,"page-count":e.value},null,8,["page","page-slot","page-count"])])):r("",!0)])}}});const es=F(Se,[["__scopeId","data-v-4e7b1342"]]);export{es as default}; diff --git a/web/dist/assets/Post-45820327.js b/web/dist/assets/Post-45820327.js new file mode 100644 index 00000000..7e19a35d --- /dev/null +++ b/web/dist/assets/Post-45820327.js @@ -0,0 +1 @@ +import{d as X,r as c,a3 as ge,o,c as u,a as v,V as t,a1 as n,e as x,M as I,Q as P,O as i,_ as a,a2 as H,n as ae,a7 as qe,F as le,a4 as ie,j as ye,W as Ie,X as Te,s as be,w as Ee}from"./@vue-e0e89260.js";import{u as te}from"./vuex-473b3783.js";import{f as ue}from"./formatTime-cdf4e6f1.js";import{t as Ne,d as je,e as Be,_ as se,f as He,h as Fe,i as Ve,j as Ye,g as Je,k as Ke,l as Qe,m as We,n as Ge,o as Xe,s as Ze,p as et,v as tt,q as st,r as ot,u as nt,w as $e}from"./index-08d8af97.js";import{Y as ce,V as Z}from"./IEnum-a180d93e.js";import{T as Pe,e as re,f as ze,g as _e,h as Ue,I as at,i as lt,j as it,k as ut,l as ct,m as rt,n as _t,o as pt,p as dt,q as mt,r as vt,s as Ce,F as xe,E as ve,t as he,u as fe}from"./@vicons-6332ad63.js";import{j as Y,e as oe,J as Re,K as ht,b as ft,L as gt,o as ke,M as Se,v as yt,w as kt,x as wt,y as bt,z as $t,B as Ct,O as xt,P as It,i as Tt,Q as Pt,a as Le,F as zt,I as Ut,k as Rt,H as St,f as Lt,g as Ot}from"./naive-ui-62663ad7.js";import{p as we,_ as Oe,a as Mt,b as At,c as Dt}from"./content-91ba374b.js";import{u as Me,b as qt}from"./vue-router-b8e3382f.js";import{_ as Et}from"./post-skeleton-41befd31.js";import{l as Nt}from"./lodash-94eb5868.js";import{a as jt}from"./copy-to-clipboard-1dd3075d.js";import{_ as Bt}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{W as Ht}from"./v3-infinite-loading-e5c2e8bf.js";import"./moment-2ab8298d.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-aa5e8b3f.js";import"./toggle-selection-93f4ad84.js";const Ft={class:"reply-item"},Vt={class:"header-wrap"},Yt={class:"username"},Jt={class:"reply-name"},Kt={class:"timestamp"},Qt={class:"base-wrap"},Wt={class:"content"},Gt={class:"reply-switch"},Xt={class:"time-item"},Zt={class:"actions"},es={class:"upvote-count"},ts=["onClick"],ss={class:"upvote-count"},os={key:2,class:"action-item"},ns=["onClick"],as=X({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(A,{emit:D}){const l=A,p=te(),f=c(l.reply.is_thumbs_up==ce.YES),y=c(l.reply.is_thumbs_down==ce.YES),k=c(l.reply.thumbs_up_count),L=()=>{Ne({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(h=>{f.value=!f.value,f.value?(k.value++,y.value=!1):k.value--}).catch(h=>{console.log(h)})},r=()=>{je({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(h=>{y.value=!y.value,y.value&&f.value&&(k.value--,f.value=!1)}).catch(h=>{console.log(h)})},U=()=>{D("focusReply",l.reply)},T=()=>{Be({id:l.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{D("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const R=ge("router-link"),e=Y,_=oe,O=Re,w=ht;return o(),u("div",Ft,[v("div",Vt,[v("div",Yt,[t(R,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:n(()=>[x(I(l.reply.user.username),1)]),_:1},8,["to"]),v("span",Jt,I(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(o(),P(R,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:n(()=>[x(I(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),v("div",Kt,[x(I(l.reply.ip_loc)+" ",1),a(p).state.userInfo.is_admin||a(p).state.userInfo.id===l.reply.user.id?(o(),P(O,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(_,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(e,null,{default:n(()=>[t(a(Pe))]),_:1})]),_:1})]),default:n(()=>[x(" 是否确认删除? ")]),_:1})):i("",!0)])]),v("div",Qt,[v("div",Wt,[t(w,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[x(I(l.reply.content),1)]),_:1})]),v("div",Gt,[v("span",Xt,I(a(ue)(l.reply.created_on)),1),v("div",Zt,[a(p).state.userLogined?i("",!0):(o(),u("div",{key:0,class:"action-item",onClick:$[0]||($[0]=H(()=>{},["stop"]))},[t(e,{size:"medium"},{default:n(()=>[t(a(re))]),_:1}),v("span",es,I(k.value),1)])),a(p).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:H(L,["stop"])},[t(e,{size:"medium"},{default:n(()=>[f.value?i("",!0):(o(),P(a(re),{key:0})),f.value?(o(),P(a(ze),{key:1,class:"show"})):i("",!0)]),_:1}),v("span",ss,I(k.value>0?k.value:"赞"),1)],8,ts)):i("",!0),a(p).state.userLogined?i("",!0):(o(),u("div",os,[t(e,{size:"medium"},{default:n(()=>[t(a(_e))]),_:1})])),a(p).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:H(r,["stop"])},[t(e,{size:"medium"},{default:n(()=>[y.value?i("",!0):(o(),P(a(_e),{key:0})),y.value?(o(),P(a(Ue),{key:1,class:"show"})):i("",!0)]),_:1})],8,ns)):i("",!0),a(p).state.userLogined?(o(),u("span",{key:4,class:"show opacity-item reply-btn",onClick:U}," 回复 ")):i("",!0)])])])])}}});const ls=se(as,[["__scopeId","data-v-0fa8b923"]]),is={class:"reply-compose-wrap"},us={class:"reply-switch"},cs={class:"time-item"},rs={class:"actions"},_s={key:0,class:"action-item"},ps={class:"upvote-count"},ds=["onClick"],ms={class:"upvote-count"},vs={key:2,class:"action-item"},hs=["onClick"],fs={key:0,class:"reply-input-wrap"},gs=X({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(A,{expose:D,emit:l}){const p=A,f=te(),y=c(),k=c(!1),L=c(""),r=c(!1),U=+"300",T=c(p.comment.is_thumbs_up==ce.YES),h=c(p.comment.is_thumbs_down==ce.YES),$=c(p.comment.thumbs_up_count),R=()=>{He({tweet_id:p.comment.post_id,comment_id:p.comment.id}).then(w=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(w=>{console.log(w)})},e=()=>{Fe({tweet_id:p.comment.post_id,comment_id:p.comment.id}).then(w=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(w=>{console.log(w)})},_=w=>{k.value=w,w?setTimeout(()=>{var M;(M=y.value)==null||M.focus()},10):(r.value=!1,L.value="",l("reset"))},O=()=>{r.value=!0,Ve({comment_id:p.comment.id,at_user_id:p.atUserid,content:L.value}).then(w=>{_(!1),window.$message.success("评论成功"),l("reload")}).catch(w=>{r.value=!1})};return D({switchReply:_}),(w,M)=>{const j=Y,B=ft,V=oe,z=gt;return o(),u("div",is,[v("div",us,[v("span",cs,I(a(ue)(w.comment.created_on)),1),v("div",rs,[a(f).state.userLogined?i("",!0):(o(),u("div",_s,[t(j,{size:"medium"},{default:n(()=>[t(a(re))]),_:1}),v("span",ps,I($.value),1)])),a(f).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:H(R,["stop"])},[t(j,{size:"medium"},{default:n(()=>[T.value?i("",!0):(o(),P(a(re),{key:0})),T.value?(o(),P(a(ze),{key:1,class:"show"})):i("",!0)]),_:1}),v("span",ms,I($.value>0?$.value:"赞"),1)],8,ds)):i("",!0),a(f).state.userLogined?i("",!0):(o(),u("div",vs,[t(j,{size:"medium"},{default:n(()=>[t(a(_e))]),_:1})])),a(f).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:H(e,["stop"])},[t(j,{size:"medium"},{default:n(()=>[h.value?i("",!0):(o(),P(a(_e),{key:0})),h.value?(o(),P(a(Ue),{key:1,class:"show"})):i("",!0)]),_:1})],8,hs)):i("",!0),a(f).state.userLogined&&!k.value?(o(),u("span",{key:4,class:"show reply-btn",onClick:M[0]||(M[0]=S=>_(!0))}," 回复 ")):i("",!0),a(f).state.userLogined&&k.value?(o(),u("span",{key:5,class:"hide reply-btn",onClick:M[1]||(M[1]=S=>_(!1))}," 取消 ")):i("",!0)])]),k.value?(o(),u("div",fs,[t(z,null,{default:n(()=>[t(B,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:p.atUsername?"@"+p.atUsername:"请输入回复内容..",maxlength:a(U),value:L.value,"onUpdate:value":M[2]||(M[2]=S=>L.value=S),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(V,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:O},{default:n(()=>[x(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const ys=se(gs,[["__scopeId","data-v-f9af7a93"]]),ks={class:"comment-item"},ws={class:"nickname-wrap"},bs={class:"username-wrap"},$s={class:"opt-wrap"},Cs={class:"timestamp"},xs=["innerHTML"],Is={class:"reply-wrap"},Ts=X({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(A,{emit:D}){const l=A,p=te(),f=Me(),y=c(0),k=c(""),L=c(),r=ae(()=>{let e=Object.assign({texts:[],imgs:[]},l.comment);return e.contents.map(_=>{(+_.type==1||+_.type==2)&&e.texts.push(_),+_.type==3&&e.imgs.push(_)}),e}),U=(e,_)=>{let O=e.target;if(O.dataset.detail){const w=O.dataset.detail.split(":");w.length===2&&(p.commit("refresh"),w[0]==="tag"?window.$message.warning("评论内的无效话题"):f.push({name:"user",query:{username:w[1]}}))}},T=e=>{var _,O;y.value=e.user_id,k.value=((_=e.user)==null?void 0:_.username)||"",(O=L.value)==null||O.switchReply(!0)},h=()=>{D("reload")},$=()=>{y.value=0,k.value=""},R=()=>{Ye({id:r.value.id}).then(e=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(e=>{})};return(e,_)=>{const O=ke,w=ge("router-link"),M=Y,j=oe,B=Re,V=Oe,z=ys,S=ls,K=Se;return o(),u("div",ks,[t(K,{"content-indented":""},qe({avatar:n(()=>[t(O,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[v("span",ws,[t(w,{onClick:_[0]||(_[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:r.value.user.username}}},{default:n(()=>[x(I(r.value.user.nickname),1)]),_:1},8,["to"])]),v("span",bs," @"+I(r.value.user.username),1)]),"header-extra":n(()=>[v("div",$s,[v("span",Cs,I(r.value.ip_loc),1),a(p).state.userInfo.is_admin||a(p).state.userInfo.id===r.value.user.id?(o(),P(B,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:R},{trigger:n(()=>[t(j,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(M,null,{default:n(()=>[t(a(Pe))]),_:1})]),_:1})]),default:n(()=>[x(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),P(V,{key:0,imgs:r.value.imgs},null,8,["imgs"])):i("",!0),t(z,{ref_key:"replyComposeRef",ref:L,comment:r.value,"at-userid":y.value,"at-username":k.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),v("div",Is,[(o(!0),u(le,null,ie(r.value.replies,F=>(o(),P(S,{key:F.id,reply:F,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),u(le,null,ie(r.value.texts,F=>(o(),u("span",{key:F.id,class:"comment-text",onClick:_[1]||(_[1]=H(J=>U(J,r.value.id),["stop"])),innerHTML:a(we)(F.content).content},null,8,xs))),128))]),key:"0"}:void 0]),1024)])}}});const Ps=se(Ts,[["__scopeId","data-v-e5cb084f"]]),zs=A=>(Ie("data-v-634e6bfd"),A=A(),Te(),A),Us={key:0,class:"compose-wrap"},Rs={class:"compose-line"},Ss={class:"compose-user"},Ls={class:"compose-line compose-options"},Os={class:"attachment"},Ms={class:"submit-wrap"},As={class:"attachment-list-wrap"},Ds={key:1,class:"compose-wrap"},qs=zs(()=>v("div",{class:"login-wrap"},[v("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Es={key:0,class:"login-only-wrap"},Ns={key:1,class:"login-wrap"},js=X({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(A,{emit:D}){const l=A,p=te(),f=c([]),y=c(!1),k=c(!1),L=c(!1),r=c(""),U=c(),T=c("public/image"),h=c([]),$=c([]),R=c("true".toLowerCase()==="true"),e=+"300",_="/v1/attachment",O=c(),w=Nt.debounce(m=>{Je({k:m}).then(g=>{let b=[];g.suggest.map(C=>{b.push({label:C,value:C})}),f.value=b,k.value=!1}).catch(g=>{k.value=!1})},200),M=(m,g)=>{k.value||(k.value=!0,g==="@"&&w(m))},j=m=>{m.length>e?r.value=m.substring(0,e):r.value=m},B=m=>{T.value=m},V=m=>{for(let E=0;E30&&(m[E].name=b.substring(0,18)+"..."+b.substring(b.length-9)+"."+C)}h.value=m},z=async m=>{var g,b;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((g=m.file.file)==null?void 0:g.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((b=m.file.file)==null?void 0:b.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},S=({file:m,event:g})=>{var b;try{let C=JSON.parse((b=g.target)==null?void 0:b.response);C.code===0&&T.value==="public/image"&&$.value.push({id:m.id,content:C.data.content})}catch{window.$message.error("上传失败")}},K=({file:m,event:g})=>{var b;try{let C=JSON.parse((b=g.target)==null?void 0:b.response);if(C.code!==0){let E=C.msg||"上传失败";C.details&&C.details.length>0&&C.details.map(q=>{E+=":"+q}),window.$message.error(E)}}catch{window.$message.error("上传失败")}},F=({file:m})=>{let g=$.value.findIndex(b=>b.id===m.id);g>-1&&$.value.splice(g,1)},J=()=>{y.value=!0},W=()=>{var m;y.value=!1,(m=U.value)==null||m.clear(),h.value=[],r.value="",$.value=[]},s=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:m}=we(r.value);const g=[];let b=100;g.push({content:r.value,type:2,sort:b}),$.value.map(C=>{b++,g.push({content:C.content,type:3,sort:b})}),L.value=!0,Ke({contents:g,post_id:l.postId,users:Array.from(new Set(m))}).then(C=>{window.$message.success("发布成功"),L.value=!1,D("post-success"),W()}).catch(C=>{L.value=!1})},d=m=>{p.commit("triggerAuth",!0),p.commit("triggerAuthKey",m)};return ye(()=>{O.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(m,g)=>{const b=ke,C=yt,E=Y,q=oe,Q=kt,pe=wt,de=bt,me=$t,ne=Ct;return o(),u("div",null,[a(p).state.userInfo.id>0?(o(),u("div",Us,[v("div",Rs,[v("div",Ss,[t(b,{round:"",size:30,src:a(p).state.userInfo.avatar},null,8,["src"])]),t(C,{type:"textarea",size:"large",autosize:"",bordered:!1,options:f.value,prefix:["@"],loading:k.value,value:r.value,disabled:l.lock===1,"onUpdate:value":j,onSearch:M,onFocus:J,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(o(),P(ne,{key:0,ref_key:"uploadRef",ref:U,abstract:"","list-type":"image",multiple:!0,max:9,action:_,headers:{Authorization:O.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:S,onError:K,onRemove:F,"onUpdate:fileList":V},{default:n(()=>[v("div",Ls,[v("div",Os,[t(Q,{abstract:""},{default:n(({handleClick:G})=>[t(q,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{B("public/image"),G()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(E,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(at))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(de,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(pe,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(e)*100},null,8,["percentage"])]),default:n(()=>[x(" "+I(r.value.length)+" / "+I(a(e)),1)]),_:1})]),v("div",Ms,[t(q,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:W},{default:n(()=>[x(" 取消 ")]),_:1}),t(q,{loading:L.value,onClick:s,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[x(" 发布 ")]),_:1},8,["loading"])])]),v("div",As,[t(me)])]),_:1},8,["headers","data","file-list"])):i("",!0)])):(o(),u("div",Ds,[qs,R.value?i("",!0):(o(),u("div",Es,[t(q,{strong:"",secondary:"",round:"",type:"primary",onClick:g[0]||(g[0]=G=>d("signin"))},{default:n(()=>[x(" 登录 ")]),_:1})])),R.value?(o(),u("div",Ns,[t(q,{strong:"",secondary:"",round:"",type:"primary",onClick:g[1]||(g[1]=G=>d("signin"))},{default:n(()=>[x(" 登录 ")]),_:1}),t(q,{strong:"",secondary:"",round:"",type:"info",onClick:g[2]||(g[2]=G=>d("signup"))},{default:n(()=>[x(" 注册 ")]),_:1})])):i("",!0)]))])}}});const Bs=se(js,[["__scopeId","data-v-634e6bfd"]]),Hs={class:"username-wrap"},Fs={key:0,class:"options"},Vs={key:0},Ys=["innerHTML"],Js={class:"timestamp"},Ks={key:0},Qs={key:1},Ws={class:"opts-wrap"},Gs=["onClick"],Xs={class:"opt-item"},Zs=["onClick"],eo=["onClick"],to=X({__name:"post-detail",props:{post:{}},emits:["reload"],setup(A,{emit:D}){const l=A,p=te(),f=Me(),y=c(!1),k=c(!1),L=c(!1),r=c(!1),U=c(!1),T=c(!1),h=c(!1),$=c(!1),R=c(Z.PUBLIC),e=ae({get:()=>{let s=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return s.contents.map(d=>{(+d.type==1||+d.type==2)&&s.texts.push(d),+d.type==3&&s.imgs.push(d),+d.type==4&&s.videos.push(d),+d.type==6&&s.links.push(d),+d.type==7&&s.attachments.push(d),+d.type==8&&s.charge_attachments.push(d)}),s},set:s=>{l.post.upvote_count=s.upvote_count,l.post.comment_count=s.comment_count,l.post.collection_count=s.collection_count}}),_=s=>()=>be(Y,null,{default:()=>be(s)}),O=ae(()=>{let s=[{label:"删除",key:"delete",icon:_(dt)}];return e.value.is_lock===0?s.push({label:"锁定",key:"lock",icon:_(mt)}):s.push({label:"解锁",key:"unlock",icon:_(vt)}),p.state.userInfo.is_admin&&(e.value.is_top===0?s.push({label:"置顶",key:"stick",icon:_(Ce)}):s.push({label:"取消置顶",key:"unstick",icon:_(Ce)})),e.value.is_essence===0?s.push({label:"设为亮点",key:"highlight",icon:_(xe)}):s.push({label:"取消亮点",key:"unhighlight",icon:_(xe)}),e.value.visibility===Z.PUBLIC?s.push({label:"公开",key:"vpublic",icon:_(ve),children:[{label:"私密",key:"vprivate",icon:_(he)},{label:"好友可见",key:"vfriend",icon:_(fe)}]}):e.value.visibility===Z.PRIVATE?s.push({label:"私密",key:"vprivate",icon:_(he),children:[{label:"公开",key:"vpublic",icon:_(ve)},{label:"好友可见",key:"vfriend",icon:_(fe)}]}):s.push({label:"好友可见",key:"vfriend",icon:_(fe),children:[{label:"公开",key:"vpublic",icon:_(ve)},{label:"私密",key:"vprivate",icon:_(he)}]}),s}),w=s=>{f.push({name:"post",query:{id:s}})},M=(s,d)=>{if(s.target.dataset.detail){const m=s.target.dataset.detail.split(":");if(m.length===2){p.commit("refresh"),m[0]==="tag"?f.push({name:"home",query:{q:m[1],t:"tag"}}):f.push({name:"user",query:{username:m[1]}});return}}w(d)},j=s=>{switch(s){case"delete":L.value=!0;break;case"lock":case"unlock":r.value=!0;break;case"stick":case"unstick":U.value=!0;break;case"highlight":case"unhighlight":T.value=!0;break;case"vpublic":R.value=0,h.value=!0;break;case"vprivate":R.value=1,h.value=!0;break;case"vfriend":R.value=2,h.value=!0;break}},B=()=>{Ge({id:e.value.id}).then(s=>{window.$message.success("删除成功"),f.replace("/"),setTimeout(()=>{p.commit("refresh")},50)}).catch(s=>{$.value=!1})},V=()=>{Xe({id:e.value.id}).then(s=>{D("reload"),s.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(s=>{$.value=!1})},z=()=>{Ze({id:e.value.id}).then(s=>{D("reload"),s.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(s=>{$.value=!1})},S=()=>{et({id:e.value.id}).then(s=>{D("reload"),s.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(s=>{$.value=!1})},K=()=>{tt({id:e.value.id,visibility:R.value}).then(s=>{D("reload"),window.$message.success("修改可见性成功")}).catch(s=>{$.value=!1})},F=()=>{st({id:e.value.id}).then(s=>{y.value=s.status,s.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count-1}}).catch(s=>{console.log(s)})},J=()=>{ot({id:e.value.id}).then(s=>{k.value=s.status,s.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count-1}}).catch(s=>{console.log(s)})},W=()=>{jt(`${window.location.origin}/#/post?id=${e.value.id}`),window.$message.success("链接已复制到剪贴板")};return ye(()=>{p.state.userInfo.id>0&&(Qe({id:e.value.id}).then(s=>{y.value=s.status}).catch(s=>{console.log(s)}),We({id:e.value.id}).then(s=>{k.value=s.status}).catch(s=>{console.log(s)}))}),(s,d)=>{const m=ke,g=ge("router-link"),b=xt,C=oe,E=It,q=Tt,Q=Mt,pe=Oe,de=At,me=Dt,ne=Pt,G=Le,Ae=Se;return o(),u("div",{class:"detail-item",onClick:d[7]||(d[7]=N=>w(e.value.id))},[t(Ae,null,{avatar:n(()=>[t(m,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:n(()=>[t(g,{onClick:d[0]||(d[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.value.user.username}}},{default:n(()=>[x(I(e.value.user.nickname),1)]),_:1},8,["to"]),v("span",Hs," @"+I(e.value.user.username),1),e.value.is_top?(o(),P(b,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[x(" 置顶 ")]),_:1})):i("",!0),e.value.visibility==a(Z).PRIVATE?(o(),P(b,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[x(" 私密 ")]),_:1})):i("",!0),e.value.visibility==a(Z).FRIEND?(o(),P(b,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[x(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":n(()=>[a(p).state.userInfo.is_admin||a(p).state.userInfo.id===e.value.user.id?(o(),u("div",Fs,[t(E,{placement:"bottom-end",trigger:"click",size:"small",options:O.value,onSelect:j},{default:n(()=>[t(C,{quaternary:"",circle:""},{icon:n(()=>[t(a(Y),null,{default:n(()=>[t(a(lt))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),t(q,{show:L.value,"onUpdate:show":d[1]||(d[1]=N=>L.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:B},null,8,["show"]),t(q,{show:r.value,"onUpdate:show":d[2]||(d[2]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(q,{show:U.value,"onUpdate:show":d[3]||(d[3]=N=>U.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:z},null,8,["show","content"]),t(q,{show:T.value,"onUpdate:show":d[4]||(d[4]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(e.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:S},null,8,["show","content"]),t(q,{show:h.value,"onUpdate:show":d[5]||(d[5]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(R.value==0?"公开":R.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"])]),footer:n(()=>[t(Q,{attachments:e.value.attachments},null,8,["attachments"]),t(Q,{attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"]),t(pe,{imgs:e.value.imgs},null,8,["imgs"]),t(de,{videos:e.value.videos,full:!0},null,8,["videos"]),t(me,{links:e.value.links},null,8,["links"]),v("div",Js,[x(" 发布于 "+I(a(ue)(e.value.created_on))+" ",1),e.value.ip_loc?(o(),u("span",Ks,[t(ne,{vertical:""}),x(" "+I(e.value.ip_loc),1)])):i("",!0),!a(p).state.collapsedLeft&&e.value.created_on!=e.value.latest_replied_on?(o(),u("span",Qs,[t(ne,{vertical:""}),x(" 最后回复 "+I(a(ue)(e.value.latest_replied_on)),1)])):i("",!0)])]),action:n(()=>[v("div",Ws,[t(G,{justify:"space-between"},{default:n(()=>[v("div",{class:"opt-item hover",onClick:H(F,["stop"])},[t(a(Y),{size:"20",class:"opt-item-icon"},{default:n(()=>[y.value?i("",!0):(o(),P(a(it),{key:0})),y.value?(o(),P(a(ut),{key:1,color:"red"})):i("",!0)]),_:1}),x(" "+I(e.value.upvote_count),1)],8,Gs),v("div",Xs,[t(a(Y),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ct))]),_:1}),x(" "+I(e.value.comment_count),1)]),v("div",{class:"opt-item hover",onClick:H(J,["stop"])},[t(a(Y),{size:"20",class:"opt-item-icon"},{default:n(()=>[k.value?i("",!0):(o(),P(a(rt),{key:0})),k.value?(o(),P(a(_t),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),x(" "+I(e.value.collection_count),1)],8,Zs),v("div",{class:"opt-item hover",onClick:H(W,["stop"])},[t(a(Y),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(pt))]),_:1}),x(" "+I(e.value.share_count),1)],8,eo)]),_:1})])]),default:n(()=>[e.value.texts.length>0?(o(),u("div",Vs,[(o(!0),u(le,null,ie(e.value.texts,N=>(o(),u("span",{key:N.id,class:"post-text",onClick:d[6]||(d[6]=H(De=>M(De,e.value.id),["stop"])),innerHTML:a(we)(N.content).content},null,8,Ys))),128))])):i("",!0)]),_:1})])}}});const so=A=>(Ie("data-v-0d01659f"),A=A(),Te(),A),oo={key:0,class:"detail-wrap"},no={key:1,class:"empty-wrap"},ao={key:0,class:"comment-opts-wrap"},lo=so(()=>v("span",{class:"comment-title-item"},"评论",-1)),io={key:2},uo={key:0,class:"skeleton-wrap"},co={key:1},ro={key:0,class:"empty-wrap"},_o={key:0,class:"load-more-spinner"},po={key:1,class:"load-more-spinner"},mo={key:2,class:"load-more-spinner"},vo={key:3,class:"load-more-spinner"},ee=20,ho=X({__name:"Post",setup(A){const D=qt(),l=c({}),p=c(!1),f=c(!1),y=c([]),k=ae(()=>+D.query.id),L=c("default"),r=c(!0);let U={loading(){},loaded(){},complete(){},error(){}};const T=z=>{L.value=z,z==="default"&&(r.value=!0),B(U)},h=()=>{l.value={id:0},p.value=!0,nt({id:k.value}).then(z=>{p.value=!1,l.value=z,B(U)}).catch(z=>{p.value=!1})};let $=1;const R=c(!1),e=c([]),_=z=>{R.value||$e({id:l.value.id,sort_strategy:"default",page:$,page_size:ee}).then(S=>{z!==null&&(U=z),S.list.length0&&($===1?e.value=S.list:e.value.push(...S.list),y.value=e.value),U.loaded(),f.value=!1}).catch(S=>{f.value=!1,U.error()})};let O=1,w=c(!1);const M=c([]),j=z=>{w.value||$e({id:l.value.id,sort_strategy:"newest",page:O,page_size:ee}).then(S=>{z!==null&&(U=z),S.list.length0&&(O===1?M.value=S.list:M.value.push(...S.list),y.value=M.value),U.loaded(),f.value=!1}).catch(S=>{f.value=!1,U.error()})},B=z=>{k.value<1||(y.value.length===0&&(f.value=!0),L.value==="default"?(y.value=e.value,_(z)):(y.value=M.value,j(z)),f.value=!1)},V=()=>{$=1,R.value=!1,e.value=[],O=1,w.value=!1,M.value=[],B(U)};return ye(()=>{h()}),Ee(k,()=>{k.value>0&&D.name==="post"&&h()}),(z,S)=>{const K=Bt,F=to,J=Ut,W=Rt,s=St,d=Lt,m=Ot,g=Bs,b=Et,C=Ps,E=Le,q=zt;return o(),u("div",null,[t(K,{title:"泡泡详情",back:!0}),t(q,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(s,null,{default:n(()=>[t(W,{show:p.value},{default:n(()=>[l.value.id>1?(o(),u("div",oo,[t(F,{post:l.value,onReload:h},null,8,["post"])])):(o(),u("div",no,[t(J,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(o(),u("div",ao,[t(m,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[lo]),default:n(()=>[t(d,{name:"default",tab:"默认"}),t(d,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(o(),P(s,{key:1},{default:n(()=>[t(g,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:V},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(o(),u("div",io,[f.value?(o(),u("div",uo,[t(b,{num:5})])):(o(),u("div",co,[y.value.length===0?(o(),u("div",ro,[t(J,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(o(!0),u(le,null,ie(y.value,Q=>(o(),P(s,{key:Q.id},{default:n(()=>[t(C,{comment:Q,onReload:V},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=ee?(o(),P(E,{key:3,justify:"center"},{default:n(()=>[t(a(Ht),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:B},{spinner:n(()=>[r.value&&R.value?(o(),u("span",_o)):i("",!0),!r.value&&a(w)?(o(),u("span",po)):i("",!0),r.value&&!R.value?(o(),u("span",mo,"加载评论")):i("",!0),!r.value&&!a(w)?(o(),u("span",vo,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const Qo=se(ho,[["__scopeId","data-v-0d01659f"]]);export{Qo as default}; diff --git a/web/dist/assets/Post-de91c521.js b/web/dist/assets/Post-de91c521.js deleted file mode 100644 index cfaf74bf..00000000 --- a/web/dist/assets/Post-de91c521.js +++ /dev/null @@ -1 +0,0 @@ -import{d as Z,r as c,a3 as fe,o,c as u,a as v,V as t,a1 as n,e as x,M as I,Q as z,O as i,_ as a,a2 as H,n as le,a7 as Oe,F as ie,a4 as ue,j as ge,W as Ce,X as xe,s as we,w as De}from"./@vue-e0e89260.js";import{u as se}from"./vuex-473b3783.js";import{f as ce}from"./formatTime-cdf4e6f1.js";import{t as qe,d as Ee,e as Ne,_ as oe,f as je,h as Be,i as He,j as Fe,g as Ve,k as Ye,l as Je,m as Ke,n as Qe,o as We,s as Ge,p as Xe,v as Ze,q as et,r as tt,u as st,w as be}from"./index-d9d021c3.js";import{Y as re,V as ee}from"./IEnum-a180d93e.js";import{T as Ie,e as _e,f as Te,g as pe,h as ze,I as ot,i as nt,j as at,k as lt,l as it,m as ut,n as ct,o as rt,p as V,F as $e,E as he}from"./@vicons-b553c29f.js";import{j as J,e as ne,J as Pe,K as _t,b as pt,L as dt,o as ye,M as Ue,v as mt,w as vt,x as ht,y as ft,z as gt,B as yt,O as kt,P as wt,i as bt,Q as $t,a as Re,F as Ct,I as xt,k as It,H as Tt,f as zt,g as Pt}from"./naive-ui-62663ad7.js";import{p as ke,_ as Se,a as Ut,b as Rt,c as St}from"./content-1dbc9788.js";import{u as Le,b as Lt}from"./vue-router-b8e3382f.js";import{_ as Mt}from"./post-skeleton-29ef9a0b.js";import{l as At}from"./lodash-94eb5868.js";import{a as Ot}from"./copy-to-clipboard-1dd3075d.js";import{_ as Dt}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{W as qt}from"./v3-infinite-loading-e5c2e8bf.js";import"./moment-2ab8298d.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-aa5e8b3f.js";import"./toggle-selection-93f4ad84.js";const Et={class:"reply-item"},Nt={class:"header-wrap"},jt={class:"username"},Bt={class:"reply-name"},Ht={class:"timestamp"},Ft={class:"base-wrap"},Vt={class:"content"},Yt={class:"reply-switch"},Jt={class:"time-item"},Kt={class:"actions"},Qt={class:"upvote-count"},Wt=["onClick"],Gt={class:"upvote-count"},Xt={key:2,class:"action-item"},Zt=["onClick"],es=Z({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(O,{emit:D}){const l=O,p=se(),f=c(l.reply.is_thumbs_up==re.YES),y=c(l.reply.is_thumbs_down==re.YES),k=c(l.reply.thumbs_up_count),L=()=>{qe({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(h=>{f.value=!f.value,f.value?(k.value++,y.value=!1):k.value--}).catch(h=>{console.log(h)})},r=()=>{Ee({tweet_id:l.tweetId,comment_id:l.reply.comment_id,reply_id:l.reply.id}).then(h=>{y.value=!y.value,y.value&&f.value&&(k.value--,f.value=!1)}).catch(h=>{console.log(h)})},U=()=>{D("focusReply",l.reply)},T=()=>{Ne({id:l.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{D("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const R=fe("router-link"),e=J,_=ne,M=Pe,w=_t;return o(),u("div",Et,[v("div",Nt,[v("div",jt,[t(R,{class:"user-link",to:{name:"user",query:{username:l.reply.user.username}}},{default:n(()=>[x(I(l.reply.user.username),1)]),_:1},8,["to"]),v("span",Bt,I(l.reply.at_user_id>0?"回复":":"),1),l.reply.at_user_id>0?(o(),z(R,{key:0,class:"user-link",to:{name:"user",query:{username:l.reply.at_user.username}}},{default:n(()=>[x(I(l.reply.at_user.username),1)]),_:1},8,["to"])):i("",!0)]),v("div",Ht,[x(I(l.reply.ip_loc)+" ",1),a(p).state.userInfo.is_admin||a(p).state.userInfo.id===l.reply.user.id?(o(),z(M,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(_,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(e,null,{default:n(()=>[t(a(Ie))]),_:1})]),_:1})]),default:n(()=>[x(" 是否确认删除? ")]),_:1})):i("",!0)])]),v("div",Ft,[v("div",Vt,[t(w,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[x(I(l.reply.content),1)]),_:1})]),v("div",Yt,[v("span",Jt,I(a(ce)(l.reply.created_on)),1),v("div",Kt,[a(p).state.userLogined?i("",!0):(o(),u("div",{key:0,class:"action-item",onClick:$[0]||($[0]=H(()=>{},["stop"]))},[t(e,{size:"medium"},{default:n(()=>[t(a(_e))]),_:1}),v("span",Qt,I(k.value),1)])),a(p).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:H(L,["stop"])},[t(e,{size:"medium"},{default:n(()=>[f.value?i("",!0):(o(),z(a(_e),{key:0})),f.value?(o(),z(a(Te),{key:1,class:"show"})):i("",!0)]),_:1}),v("span",Gt,I(k.value>0?k.value:"赞"),1)],8,Wt)):i("",!0),a(p).state.userLogined?i("",!0):(o(),u("div",Xt,[t(e,{size:"medium"},{default:n(()=>[t(a(pe))]),_:1})])),a(p).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:H(r,["stop"])},[t(e,{size:"medium"},{default:n(()=>[y.value?i("",!0):(o(),z(a(pe),{key:0})),y.value?(o(),z(a(ze),{key:1,class:"show"})):i("",!0)]),_:1})],8,Zt)):i("",!0),a(p).state.userLogined?(o(),u("span",{key:4,class:"show opacity-item reply-btn",onClick:U}," 回复 ")):i("",!0)])])])])}}});const ts=oe(es,[["__scopeId","data-v-0fa8b923"]]),ss={class:"reply-compose-wrap"},os={class:"reply-switch"},ns={class:"time-item"},as={class:"actions"},ls={key:0,class:"action-item"},is={class:"upvote-count"},us=["onClick"],cs={class:"upvote-count"},rs={key:2,class:"action-item"},_s=["onClick"],ps={key:0,class:"reply-input-wrap"},ds=Z({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(O,{expose:D,emit:l}){const p=O,f=se(),y=c(),k=c(!1),L=c(""),r=c(!1),U=+"300",T=c(p.comment.is_thumbs_up==re.YES),h=c(p.comment.is_thumbs_down==re.YES),$=c(p.comment.thumbs_up_count),R=()=>{je({tweet_id:p.comment.post_id,comment_id:p.comment.id}).then(w=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(w=>{console.log(w)})},e=()=>{Be({tweet_id:p.comment.post_id,comment_id:p.comment.id}).then(w=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(w=>{console.log(w)})},_=w=>{k.value=w,w?setTimeout(()=>{var A;(A=y.value)==null||A.focus()},10):(r.value=!1,L.value="",l("reset"))},M=()=>{r.value=!0,He({comment_id:p.comment.id,at_user_id:p.atUserid,content:L.value}).then(w=>{_(!1),window.$message.success("评论成功"),l("reload")}).catch(w=>{r.value=!1})};return D({switchReply:_}),(w,A)=>{const j=J,B=pt,Y=ne,P=dt;return o(),u("div",ss,[v("div",os,[v("span",ns,I(a(ce)(w.comment.created_on)),1),v("div",as,[a(f).state.userLogined?i("",!0):(o(),u("div",ls,[t(j,{size:"medium"},{default:n(()=>[t(a(_e))]),_:1}),v("span",is,I($.value),1)])),a(f).state.userLogined?(o(),u("div",{key:1,class:"action-item hover",onClick:H(R,["stop"])},[t(j,{size:"medium"},{default:n(()=>[T.value?i("",!0):(o(),z(a(_e),{key:0})),T.value?(o(),z(a(Te),{key:1,class:"show"})):i("",!0)]),_:1}),v("span",cs,I($.value>0?$.value:"赞"),1)],8,us)):i("",!0),a(f).state.userLogined?i("",!0):(o(),u("div",rs,[t(j,{size:"medium"},{default:n(()=>[t(a(pe))]),_:1})])),a(f).state.userLogined?(o(),u("div",{key:3,class:"action-item hover",onClick:H(e,["stop"])},[t(j,{size:"medium"},{default:n(()=>[h.value?i("",!0):(o(),z(a(pe),{key:0})),h.value?(o(),z(a(ze),{key:1,class:"show"})):i("",!0)]),_:1})],8,_s)):i("",!0),a(f).state.userLogined&&!k.value?(o(),u("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=S=>_(!0))}," 回复 ")):i("",!0),a(f).state.userLogined&&k.value?(o(),u("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=S=>_(!1))}," 取消 ")):i("",!0)])]),k.value?(o(),u("div",ps,[t(P,null,{default:n(()=>[t(B,{ref_key:"inputInstRef",ref:y,size:"small",placeholder:p.atUsername?"@"+p.atUsername:"请输入回复内容..",maxlength:a(U),value:L.value,"onUpdate:value":A[2]||(A[2]=S=>L.value=S),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(Y,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:M},{default:n(()=>[x(" 回复 ")]),_:1},8,["loading"])]),_:1})])):i("",!0)])}}});const ms=oe(ds,[["__scopeId","data-v-f9af7a93"]]),vs={class:"comment-item"},hs={class:"nickname-wrap"},fs={class:"username-wrap"},gs={class:"opt-wrap"},ys={class:"timestamp"},ks=["innerHTML"],ws={class:"reply-wrap"},bs=Z({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(O,{emit:D}){const l=O,p=se(),f=Le(),y=c(0),k=c(""),L=c(),r=le(()=>{let e=Object.assign({texts:[],imgs:[]},l.comment);return e.contents.map(_=>{(+_.type==1||+_.type==2)&&e.texts.push(_),+_.type==3&&e.imgs.push(_)}),e}),U=(e,_)=>{let M=e.target;if(M.dataset.detail){const w=M.dataset.detail.split(":");w.length===2&&(p.commit("refresh"),w[0]==="tag"?window.$message.warning("评论内的无效话题"):f.push({name:"user",query:{username:w[1]}}))}},T=e=>{var _,M;y.value=e.user_id,k.value=((_=e.user)==null?void 0:_.username)||"",(M=L.value)==null||M.switchReply(!0)},h=()=>{D("reload")},$=()=>{y.value=0,k.value=""},R=()=>{Fe({id:r.value.id}).then(e=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(e=>{})};return(e,_)=>{const M=ye,w=fe("router-link"),A=J,j=ne,B=Pe,Y=Se,P=ms,S=ts,Q=Ue;return o(),u("div",vs,[t(Q,{"content-indented":""},Oe({avatar:n(()=>[t(M,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[v("span",hs,[t(w,{onClick:_[0]||(_[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:r.value.user.username}}},{default:n(()=>[x(I(r.value.user.nickname),1)]),_:1},8,["to"])]),v("span",fs," @"+I(r.value.user.username),1)]),"header-extra":n(()=>[v("div",gs,[v("span",ys,I(r.value.ip_loc),1),a(p).state.userInfo.is_admin||a(p).state.userInfo.id===r.value.user.id?(o(),z(B,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:R},{trigger:n(()=>[t(j,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ie))]),_:1})]),_:1})]),default:n(()=>[x(" 是否确认删除? ")]),_:1})):i("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),z(Y,{key:0,imgs:r.value.imgs},null,8,["imgs"])):i("",!0),t(P,{ref_key:"replyComposeRef",ref:L,comment:r.value,"at-userid":y.value,"at-username":k.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),v("div",ws,[(o(!0),u(ie,null,ue(r.value.replies,F=>(o(),z(S,{key:F.id,reply:F,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),u(ie,null,ue(r.value.texts,F=>(o(),u("span",{key:F.id,class:"comment-text",onClick:_[1]||(_[1]=H(K=>U(K,r.value.id),["stop"])),innerHTML:a(ke)(F.content).content},null,8,ks))),128))]),key:"0"}:void 0]),1024)])}}});const $s=oe(bs,[["__scopeId","data-v-e5cb084f"]]),Cs=O=>(Ce("data-v-634e6bfd"),O=O(),xe(),O),xs={key:0,class:"compose-wrap"},Is={class:"compose-line"},Ts={class:"compose-user"},zs={class:"compose-line compose-options"},Ps={class:"attachment"},Us={class:"submit-wrap"},Rs={class:"attachment-list-wrap"},Ss={key:1,class:"compose-wrap"},Ls=Cs(()=>v("div",{class:"login-wrap"},[v("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ms={key:0,class:"login-only-wrap"},As={key:1,class:"login-wrap"},Os=Z({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(O,{emit:D}){const l=O,p=se(),f=c([]),y=c(!1),k=c(!1),L=c(!1),r=c(""),U=c(),T=c("public/image"),h=c([]),$=c([]),R=c("true".toLowerCase()==="true"),e=+"300",_="/v1/attachment",M=c(),w=At.debounce(m=>{Ve({k:m}).then(g=>{let b=[];g.suggest.map(C=>{b.push({label:C,value:C})}),f.value=b,k.value=!1}).catch(g=>{k.value=!1})},200),A=(m,g)=>{k.value||(k.value=!0,g==="@"&&w(m))},j=m=>{m.length>e?r.value=m.substring(0,e):r.value=m},B=m=>{T.value=m},Y=m=>{for(let E=0;E30&&(m[E].name=b.substring(0,18)+"..."+b.substring(b.length-9)+"."+C)}h.value=m},P=async m=>{var g,b;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((g=m.file.file)==null?void 0:g.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((b=m.file.file)==null?void 0:b.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},S=({file:m,event:g})=>{var b;try{let C=JSON.parse((b=g.target)==null?void 0:b.response);C.code===0&&T.value==="public/image"&&$.value.push({id:m.id,content:C.data.content})}catch{window.$message.error("上传失败")}},Q=({file:m,event:g})=>{var b;try{let C=JSON.parse((b=g.target)==null?void 0:b.response);if(C.code!==0){let E=C.msg||"上传失败";C.details&&C.details.length>0&&C.details.map(q=>{E+=":"+q}),window.$message.error(E)}}catch{window.$message.error("上传失败")}},F=({file:m})=>{let g=$.value.findIndex(b=>b.id===m.id);g>-1&&$.value.splice(g,1)},K=()=>{y.value=!0},G=()=>{var m;y.value=!1,(m=U.value)==null||m.clear(),h.value=[],r.value="",$.value=[]},s=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:m}=ke(r.value);const g=[];let b=100;g.push({content:r.value,type:2,sort:b}),$.value.map(C=>{b++,g.push({content:C.content,type:3,sort:b})}),L.value=!0,Ye({contents:g,post_id:l.postId,users:Array.from(new Set(m))}).then(C=>{window.$message.success("发布成功"),L.value=!1,D("post-success"),G()}).catch(C=>{L.value=!1})},d=m=>{p.commit("triggerAuth",!0),p.commit("triggerAuthKey",m)};return ge(()=>{M.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(m,g)=>{const b=ye,C=mt,E=J,q=ne,W=vt,de=ht,me=ft,ve=gt,ae=yt;return o(),u("div",null,[a(p).state.userInfo.id>0?(o(),u("div",xs,[v("div",Is,[v("div",Ts,[t(b,{round:"",size:30,src:a(p).state.userInfo.avatar},null,8,["src"])]),t(C,{type:"textarea",size:"large",autosize:"",bordered:!1,options:f.value,prefix:["@"],loading:k.value,value:r.value,disabled:l.lock===1,"onUpdate:value":j,onSearch:A,onFocus:K,placeholder:l.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),y.value?(o(),z(ae,{key:0,ref_key:"uploadRef",ref:U,abstract:"","list-type":"image",multiple:!0,max:9,action:_,headers:{Authorization:M.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:P,onFinish:S,onError:Q,onRemove:F,"onUpdate:fileList":Y},{default:n(()=>[v("div",zs,[v("div",Ps,[t(W,{abstract:""},{default:n(({handleClick:X})=>[t(q,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{B("public/image"),X()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(E,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(ot))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(me,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(de,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(e)*100},null,8,["percentage"])]),default:n(()=>[x(" "+I(r.value.length)+" / "+I(a(e)),1)]),_:1})]),v("div",Us,[t(q,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:G},{default:n(()=>[x(" 取消 ")]),_:1}),t(q,{loading:L.value,onClick:s,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[x(" 发布 ")]),_:1},8,["loading"])])]),v("div",Rs,[t(ve)])]),_:1},8,["headers","data","file-list"])):i("",!0)])):(o(),u("div",Ss,[Ls,R.value?i("",!0):(o(),u("div",Ms,[t(q,{strong:"",secondary:"",round:"",type:"primary",onClick:g[0]||(g[0]=X=>d("signin"))},{default:n(()=>[x(" 登录 ")]),_:1})])),R.value?(o(),u("div",As,[t(q,{strong:"",secondary:"",round:"",type:"primary",onClick:g[1]||(g[1]=X=>d("signin"))},{default:n(()=>[x(" 登录 ")]),_:1}),t(q,{strong:"",secondary:"",round:"",type:"info",onClick:g[2]||(g[2]=X=>d("signup"))},{default:n(()=>[x(" 注册 ")]),_:1})])):i("",!0)]))])}}});const Ds=oe(Os,[["__scopeId","data-v-634e6bfd"]]),qs={class:"username-wrap"},Es={key:0,class:"options"},Ns={key:0},js=["innerHTML"],Bs={class:"timestamp"},Hs={key:0},Fs={key:1},Vs={class:"opts-wrap"},Ys=["onClick"],Js={class:"opt-item"},Ks=["onClick"],Qs=["onClick"],Ws=Z({__name:"post-detail",props:{post:{}},emits:["reload"],setup(O,{emit:D}){const l=O,p=se(),f=Le(),y=c(!1),k=c(!1),L=c(!1),r=c(!1),U=c(!1),T=c(!1),h=c(!1),$=c(!1),R=c(ee.PUBLIC),e=le({get:()=>{let s=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},l.post);return s.contents.map(d=>{(+d.type==1||+d.type==2)&&s.texts.push(d),+d.type==3&&s.imgs.push(d),+d.type==4&&s.videos.push(d),+d.type==6&&s.links.push(d),+d.type==7&&s.attachments.push(d),+d.type==8&&s.charge_attachments.push(d)}),s},set:s=>{l.post.upvote_count=s.upvote_count,l.post.comment_count=s.comment_count,l.post.collection_count=s.collection_count}}),_=s=>()=>we(J,null,{default:()=>we(s)}),M=le(()=>{let s=[{label:"删除",key:"delete",icon:_(V)}];return e.value.is_lock===0?s.push({label:"锁定",key:"lock",icon:_(V)}):s.push({label:"解锁",key:"unlock",icon:_(V)}),p.state.userInfo.is_admin&&(e.value.is_top===0?s.push({label:"置顶",key:"stick",icon:_(V)}):s.push({label:"取消置顶",key:"unstick",icon:_(V)})),e.value.is_essence===0?s.push({label:"设为亮点",key:"highlight",icon:_($e)}):s.push({label:"取消亮点",key:"unhighlight",icon:_($e)}),e.value.visibility===ee.PUBLIC?s.push({label:"公开",key:"vpublic",icon:_(he),children:[{label:"私密",key:"vprivate",icon:_(V)},{label:"好友可见",key:"vfriend",icon:_(V)}]}):e.value.visibility===ee.PRIVATE?s.push({label:"私密",key:"vprivate",icon:_(he),children:[{label:"公开",key:"vpublic",icon:_(V)},{label:"好友可见",key:"vfriend",icon:_(V)}]}):s.push({label:"好友可见",key:"vfriend",icon:_(he),children:[{label:"公开",key:"vpublic",icon:_(V)},{label:"私密",key:"vprivate",icon:_(V)}]}),s}),w=s=>{f.push({name:"post",query:{id:s}})},A=(s,d)=>{if(s.target.dataset.detail){const m=s.target.dataset.detail.split(":");if(m.length===2){p.commit("refresh"),m[0]==="tag"?f.push({name:"home",query:{q:m[1],t:"tag"}}):f.push({name:"user",query:{username:m[1]}});return}}w(d)},j=s=>{switch(s){case"delete":L.value=!0;break;case"lock":case"unlock":r.value=!0;break;case"stick":case"unstick":U.value=!0;break;case"highlight":case"unhighlight":T.value=!0;break;case"vpublic":R.value=0,h.value=!0;break;case"vprivate":R.value=1,h.value=!0;break;case"vfriend":R.value=2,h.value=!0;break}},B=()=>{Qe({id:e.value.id}).then(s=>{window.$message.success("删除成功"),f.replace("/"),setTimeout(()=>{p.commit("refresh")},50)}).catch(s=>{$.value=!1})},Y=()=>{We({id:e.value.id}).then(s=>{D("reload"),s.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(s=>{$.value=!1})},P=()=>{Ge({id:e.value.id}).then(s=>{D("reload"),s.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(s=>{$.value=!1})},S=()=>{Xe({id:e.value.id}).then(s=>{D("reload"),s.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(s=>{$.value=!1})},Q=()=>{Ze({id:e.value.id,visibility:R.value}).then(s=>{D("reload"),window.$message.success("修改可见性成功")}).catch(s=>{$.value=!1})},F=()=>{et({id:e.value.id}).then(s=>{y.value=s.status,s.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count-1}}).catch(s=>{console.log(s)})},K=()=>{tt({id:e.value.id}).then(s=>{k.value=s.status,s.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count-1}}).catch(s=>{console.log(s)})},G=()=>{Ot(`${window.location.origin}/#/post?id=${e.value.id}`),window.$message.success("链接已复制到剪贴板")};return ge(()=>{p.state.userInfo.id>0&&(Je({id:e.value.id}).then(s=>{y.value=s.status}).catch(s=>{console.log(s)}),Ke({id:e.value.id}).then(s=>{k.value=s.status}).catch(s=>{console.log(s)}))}),(s,d)=>{const m=ye,g=fe("router-link"),b=kt,C=ne,E=wt,q=bt,W=Ut,de=Se,me=Rt,ve=St,ae=$t,X=Re,Me=Ue;return o(),u("div",{class:"detail-item",onClick:d[7]||(d[7]=N=>w(e.value.id))},[t(Me,null,{avatar:n(()=>[t(m,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:n(()=>[t(g,{onClick:d[0]||(d[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.value.user.username}}},{default:n(()=>[x(I(e.value.user.nickname),1)]),_:1},8,["to"]),v("span",qs," @"+I(e.value.user.username),1),e.value.is_top?(o(),z(b,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[x(" 置顶 ")]),_:1})):i("",!0),e.value.visibility==a(ee).PRIVATE?(o(),z(b,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[x(" 私密 ")]),_:1})):i("",!0),e.value.visibility==a(ee).FRIEND?(o(),z(b,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[x(" 好友可见 ")]),_:1})):i("",!0)]),"header-extra":n(()=>[a(p).state.userInfo.is_admin||a(p).state.userInfo.id===e.value.user.id?(o(),u("div",Es,[t(E,{placement:"bottom-end",trigger:"click",size:"small",options:M.value,onSelect:j},{default:n(()=>[t(C,{quaternary:"",circle:""},{icon:n(()=>[t(a(J),null,{default:n(()=>[t(a(nt))]),_:1})]),_:1})]),_:1},8,["options"])])):i("",!0),t(q,{show:L.value,"onUpdate:show":d[1]||(d[1]=N=>L.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:B},null,8,["show"]),t(q,{show:r.value,"onUpdate:show":d[2]||(d[2]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(q,{show:U.value,"onUpdate:show":d[3]||(d[3]=N=>U.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:P},null,8,["show","content"]),t(q,{show:T.value,"onUpdate:show":d[4]||(d[4]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(e.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:S},null,8,["show","content"]),t(q,{show:h.value,"onUpdate:show":d[5]||(d[5]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(R.value==0?"公开":R.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"])]),footer:n(()=>[t(W,{attachments:e.value.attachments},null,8,["attachments"]),t(W,{attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"]),t(de,{imgs:e.value.imgs},null,8,["imgs"]),t(me,{videos:e.value.videos,full:!0},null,8,["videos"]),t(ve,{links:e.value.links},null,8,["links"]),v("div",Bs,[x(" 发布于 "+I(a(ce)(e.value.created_on))+" ",1),e.value.ip_loc?(o(),u("span",Hs,[t(ae,{vertical:""}),x(" "+I(e.value.ip_loc),1)])):i("",!0),!a(p).state.collapsedLeft&&e.value.created_on!=e.value.latest_replied_on?(o(),u("span",Fs,[t(ae,{vertical:""}),x(" 最后回复 "+I(a(ce)(e.value.latest_replied_on)),1)])):i("",!0)])]),action:n(()=>[v("div",Vs,[t(X,{justify:"space-between"},{default:n(()=>[v("div",{class:"opt-item hover",onClick:H(F,["stop"])},[t(a(J),{size:"20",class:"opt-item-icon"},{default:n(()=>[y.value?i("",!0):(o(),z(a(at),{key:0})),y.value?(o(),z(a(lt),{key:1,color:"red"})):i("",!0)]),_:1}),x(" "+I(e.value.upvote_count),1)],8,Ys),v("div",Js,[t(a(J),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(it))]),_:1}),x(" "+I(e.value.comment_count),1)]),v("div",{class:"opt-item hover",onClick:H(K,["stop"])},[t(a(J),{size:"20",class:"opt-item-icon"},{default:n(()=>[k.value?i("",!0):(o(),z(a(ut),{key:0})),k.value?(o(),z(a(ct),{key:1,color:"#ff7600"})):i("",!0)]),_:1}),x(" "+I(e.value.collection_count),1)],8,Ks),v("div",{class:"opt-item hover",onClick:H(G,["stop"])},[t(a(J),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(rt))]),_:1}),x(" "+I(e.value.share_count),1)],8,Qs)]),_:1})])]),default:n(()=>[e.value.texts.length>0?(o(),u("div",Ns,[(o(!0),u(ie,null,ue(e.value.texts,N=>(o(),u("span",{key:N.id,class:"post-text",onClick:d[6]||(d[6]=H(Ae=>A(Ae,e.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,js))),128))])):i("",!0)]),_:1})])}}});const Gs=O=>(Ce("data-v-0d01659f"),O=O(),xe(),O),Xs={key:0,class:"detail-wrap"},Zs={key:1,class:"empty-wrap"},eo={key:0,class:"comment-opts-wrap"},to=Gs(()=>v("span",{class:"comment-title-item"},"评论",-1)),so={key:2},oo={key:0,class:"skeleton-wrap"},no={key:1},ao={key:0,class:"empty-wrap"},lo={key:0,class:"load-more-spinner"},io={key:1,class:"load-more-spinner"},uo={key:2,class:"load-more-spinner"},co={key:3,class:"load-more-spinner"},te=20,ro=Z({__name:"Post",setup(O){const D=Lt(),l=c({}),p=c(!1),f=c(!1),y=c([]),k=le(()=>+D.query.id),L=c("default"),r=c(!0);let U={loading(){},loaded(){},complete(){},error(){}};const T=P=>{L.value=P,P==="default"&&(r.value=!0),B(U)},h=()=>{l.value={id:0},p.value=!0,st({id:k.value}).then(P=>{p.value=!1,l.value=P,B(U)}).catch(P=>{p.value=!1})};let $=1;const R=c(!1),e=c([]),_=P=>{R.value||be({id:l.value.id,sort_strategy:"default",page:$,page_size:te}).then(S=>{P!==null&&(U=P),S.list.length0&&($===1?e.value=S.list:e.value.push(...S.list),y.value=e.value),U.loaded(),f.value=!1}).catch(S=>{f.value=!1,U.error()})};let M=1,w=c(!1);const A=c([]),j=P=>{w.value||be({id:l.value.id,sort_strategy:"newest",page:M,page_size:te}).then(S=>{P!==null&&(U=P),S.list.length0&&(M===1?A.value=S.list:A.value.push(...S.list),y.value=A.value),U.loaded(),f.value=!1}).catch(S=>{f.value=!1,U.error()})},B=P=>{k.value<1||(y.value.length===0&&(f.value=!0),L.value==="default"?(y.value=e.value,_(P)):(y.value=A.value,j(P)),f.value=!1)},Y=()=>{$=1,R.value=!1,e.value=[],M=1,w.value=!1,A.value=[],B(U)};return ge(()=>{h()}),De(k,()=>{k.value>0&&D.name==="post"&&h()}),(P,S)=>{const Q=Dt,F=Ws,K=xt,G=It,s=Tt,d=zt,m=Pt,g=Ds,b=Mt,C=$s,E=Re,q=Ct;return o(),u("div",null,[t(Q,{title:"泡泡详情",back:!0}),t(q,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(s,null,{default:n(()=>[t(G,{show:p.value},{default:n(()=>[l.value.id>1?(o(),u("div",Xs,[t(F,{post:l.value,onReload:h},null,8,["post"])])):(o(),u("div",Zs,[t(K,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),l.value.id>0?(o(),u("div",eo,[t(m,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[to]),default:n(()=>[t(d,{name:"default",tab:"默认"}),t(d,{name:"newest",tab:"最新"})]),_:1})])):i("",!0),l.value.id>0?(o(),z(s,{key:1},{default:n(()=>[t(g,{lock:l.value.is_lock,"post-id":l.value.id,onPostSuccess:Y},null,8,["lock","post-id"])]),_:1})):i("",!0),l.value.id>0?(o(),u("div",so,[f.value?(o(),u("div",oo,[t(b,{num:5})])):(o(),u("div",no,[y.value.length===0?(o(),u("div",ao,[t(K,{size:"large",description:"暂无评论,快来抢沙发"})])):i("",!0),(o(!0),u(ie,null,ue(y.value,W=>(o(),z(s,{key:W.id},{default:n(()=>[t(C,{comment:W,onReload:Y},null,8,["comment"])]),_:2},1024))),128))]))])):i("",!0),y.value.length>=te?(o(),z(E,{key:3,justify:"center"},{default:n(()=>[t(a(qt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:B},{spinner:n(()=>[r.value&&R.value?(o(),u("span",lo)):i("",!0),!r.value&&a(w)?(o(),u("span",io)):i("",!0),r.value&&!R.value?(o(),u("span",uo,"加载评论")):i("",!0),!r.value&&!a(w)?(o(),u("span",co,"加载评论")):i("",!0)]),_:1})]),_:1})):i("",!0)]),_:1})])}}});const Fo=oe(ro,[["__scopeId","data-v-0d01659f"]]);export{Fo as default}; diff --git a/web/dist/assets/Profile-d8507546.js b/web/dist/assets/Profile-3af47c12.js similarity index 95% rename from web/dist/assets/Profile-d8507546.js rename to web/dist/assets/Profile-3af47c12.js index d15bd98c..4eba280c 100644 --- a/web/dist/assets/Profile-d8507546.js +++ b/web/dist/assets/Profile-3af47c12.js @@ -1 +1 @@ -import{_ as J,a as K}from"./post-item.vue_vue_type_style_index_0_lang-926b2075.js";import{_ as W}from"./post-skeleton-29ef9a0b.js";import{_ as X}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{u as Y}from"./vuex-473b3783.js";import{b as Z}from"./vue-router-b8e3382f.js";import{B as g,_ as ee}from"./index-d9d021c3.js";import{d as ae,r as u,j as te,w as se,c as i,V as n,_,Q as T,a1 as f,O as z,o as l,a as p,M as q,F as $,a4 as F}from"./@vue-e0e89260.js";import{F as oe,G as ne,o as le,f as re,g as ue,I as ie,H as ce}from"./naive-ui-62663ad7.js";import"./content-1dbc9788.js";import"./@vicons-b553c29f.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const _e={class:"profile-baseinfo"},pe={class:"avatar"},me={class:"base-info"},ve={class:"username"},de={class:"uid"},ge={key:0,class:"skeleton-wrap"},he={key:1},fe={key:0,class:"empty-wrap"},ke={key:1},be={key:2},we={key:1,class:"pagination-wrap"},ye=ae({__name:"Profile",setup(Pe){const s=Y(),m=Z(),t=u(!1),o=u([]),h=u("post"),x=u(+m.query.p||1),B=u(1),S=u(1),C=u(1),U=u(1),a=u(+m.query.p||1),r=u(20),c=u(0),k=()=>{switch(h.value){case"post":b();break;case"comment":w();break;case"highlight":y();break;case"media":P();break;case"star":I();break}},b=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"post",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},w=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"comment",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},y=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"highlight",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},P=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"media",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},I=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"star",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},N=e=>{switch(h.value=e,h.value){case"post":a.value=x.value,b();break;case"comment":a.value=B.value,w();break;case"highlight":a.value=S.value,y();break;case"media":a.value=C.value,P();break;case"star":a.value=U.value,I();break}},D=e=>{switch(a.value=e,h.value){case"post":x.value=e,b();break;case"comment":B.value=a.value,w();break;case"highlight":S.value=a.value,y();break;case"media":C.value=a.value,P();break;case"star":U.value=a.value,I();break}};return te(()=>{k()}),se(()=>({path:m.path,query:m.query,refresh:s.state.refresh}),(e,M)=>{if(e.refresh!==M.refresh){a.value=+m.query.p||1,setTimeout(()=>{k()},0);return}M.path!=="/post"&&e.path==="/profile"&&(a.value=+m.query.p||1,setTimeout(()=>{k()},0))}),(e,M)=>{const H=X,R=le,v=re,j=ue,E=W,G=ie,L=J,V=ce,O=K,Q=oe,A=ne;return l(),i("div",null,[n(H,{title:"主页"}),_(s).state.userInfo.id>0?(l(),T(Q,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:f(()=>[p("div",_e,[p("div",pe,[n(R,{size:"large",src:_(s).state.userInfo.avatar},null,8,["src"])]),p("div",me,[p("div",ve,[p("strong",null,q(_(s).state.userInfo.nickname),1),p("span",null," @"+q(_(s).state.userInfo.username),1)]),p("div",de,"UID. "+q(_(s).state.userInfo.id),1)])]),n(j,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":N},{default:f(()=>[n(v,{name:"post",tab:"泡泡"}),n(v,{name:"comment",tab:"评论"}),n(v,{name:"highlight",tab:"亮点"}),n(v,{name:"media",tab:"图文"}),n(v,{name:"star",tab:"喜欢"})]),_:1}),t.value?(l(),i("div",ge,[n(E,{num:r.value},null,8,["num"])])):(l(),i("div",he,[o.value.length===0?(l(),i("div",fe,[n(G,{size:"large",description:"暂无数据"})])):z("",!0),_(s).state.desktopModelShow?(l(),i("div",ke,[(l(!0),i($,null,F(o.value,d=>(l(),T(V,{key:d.id},{default:f(()=>[n(L,{post:d},null,8,["post"])]),_:2},1024))),128))])):(l(),i("div",be,[(l(!0),i($,null,F(o.value,d=>(l(),T(V,{key:d.id},{default:f(()=>[n(O,{post:d},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1})):z("",!0),c.value>0?(l(),i("div",we,[n(A,{page:a.value,"onUpdate:page":D,"page-slot":_(s).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):z("",!0)])}}});const ea=ee(ye,[["__scopeId","data-v-08661398"]]);export{ea as default}; +import{_ as J,a as K}from"./post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js";import{_ as W}from"./post-skeleton-41befd31.js";import{_ as X}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{u as Y}from"./vuex-473b3783.js";import{b as Z}from"./vue-router-b8e3382f.js";import{B as g,_ as ee}from"./index-08d8af97.js";import{d as ae,r as u,j as te,w as se,c as i,V as n,_,Q as T,a1 as f,O as z,o as l,a as p,M as q,F as $,a4 as F}from"./@vue-e0e89260.js";import{F as oe,G as ne,o as le,f as re,g as ue,I as ie,H as ce}from"./naive-ui-62663ad7.js";import"./content-91ba374b.js";import"./@vicons-6332ad63.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const _e={class:"profile-baseinfo"},pe={class:"avatar"},me={class:"base-info"},ve={class:"username"},de={class:"uid"},ge={key:0,class:"skeleton-wrap"},he={key:1},fe={key:0,class:"empty-wrap"},ke={key:1},be={key:2},we={key:1,class:"pagination-wrap"},ye=ae({__name:"Profile",setup(Pe){const s=Y(),m=Z(),t=u(!1),o=u([]),h=u("post"),x=u(+m.query.p||1),B=u(1),S=u(1),C=u(1),U=u(1),a=u(+m.query.p||1),r=u(20),c=u(0),k=()=>{switch(h.value){case"post":b();break;case"comment":w();break;case"highlight":y();break;case"media":P();break;case"star":I();break}},b=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"post",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},w=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"comment",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},y=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"highlight",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},P=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"media",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},I=()=>{t.value=!0,g({username:s.state.userInfo.username,style:"star",page:a.value,page_size:r.value}).then(e=>{t.value=!1,o.value=e.list||[],c.value=Math.ceil(e.pager.total_rows/r.value),window.scrollTo(0,0)}).catch(e=>{o.value=[],t.value=!1})},N=e=>{switch(h.value=e,h.value){case"post":a.value=x.value,b();break;case"comment":a.value=B.value,w();break;case"highlight":a.value=S.value,y();break;case"media":a.value=C.value,P();break;case"star":a.value=U.value,I();break}},D=e=>{switch(a.value=e,h.value){case"post":x.value=e,b();break;case"comment":B.value=a.value,w();break;case"highlight":S.value=a.value,y();break;case"media":C.value=a.value,P();break;case"star":U.value=a.value,I();break}};return te(()=>{k()}),se(()=>({path:m.path,query:m.query,refresh:s.state.refresh}),(e,M)=>{if(e.refresh!==M.refresh){a.value=+m.query.p||1,setTimeout(()=>{k()},0);return}M.path!=="/post"&&e.path==="/profile"&&(a.value=+m.query.p||1,setTimeout(()=>{k()},0))}),(e,M)=>{const H=X,R=le,v=re,j=ue,E=W,G=ie,L=J,V=ce,O=K,Q=oe,A=ne;return l(),i("div",null,[n(H,{title:"主页"}),_(s).state.userInfo.id>0?(l(),T(Q,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:f(()=>[p("div",_e,[p("div",pe,[n(R,{size:"large",src:_(s).state.userInfo.avatar},null,8,["src"])]),p("div",me,[p("div",ve,[p("strong",null,q(_(s).state.userInfo.nickname),1),p("span",null," @"+q(_(s).state.userInfo.username),1)]),p("div",de,"UID. "+q(_(s).state.userInfo.id),1)])]),n(j,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":N},{default:f(()=>[n(v,{name:"post",tab:"泡泡"}),n(v,{name:"comment",tab:"评论"}),n(v,{name:"highlight",tab:"亮点"}),n(v,{name:"media",tab:"图文"}),n(v,{name:"star",tab:"喜欢"})]),_:1}),t.value?(l(),i("div",ge,[n(E,{num:r.value},null,8,["num"])])):(l(),i("div",he,[o.value.length===0?(l(),i("div",fe,[n(G,{size:"large",description:"暂无数据"})])):z("",!0),_(s).state.desktopModelShow?(l(),i("div",ke,[(l(!0),i($,null,F(o.value,d=>(l(),T(V,{key:d.id},{default:f(()=>[n(L,{post:d},null,8,["post"])]),_:2},1024))),128))])):(l(),i("div",be,[(l(!0),i($,null,F(o.value,d=>(l(),T(V,{key:d.id},{default:f(()=>[n(O,{post:d},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1})):z("",!0),c.value>0?(l(),i("div",we,[n(A,{page:a.value,"onUpdate:page":D,"page-slot":_(s).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):z("",!0)])}}});const ea=ee(ye,[["__scopeId","data-v-08661398"]]);export{ea as default}; diff --git a/web/dist/assets/Setting-814c9f9e.js b/web/dist/assets/Setting-c94ce292.js similarity index 97% rename from web/dist/assets/Setting-814c9f9e.js rename to web/dist/assets/Setting-c94ce292.js index bf3cb810..bfbe52a6 100644 --- a/web/dist/assets/Setting-814c9f9e.js +++ b/web/dist/assets/Setting-c94ce292.js @@ -1 +1 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{d as ye,r as d,E as Z,j as ke,c as g,V as t,a1 as s,Q as b,O as _,o as r,a as m,_ as u,e as c,M as R,z as be,v as Ce,P as q,a2 as B,W as Ie,X as $e}from"./@vue-e0e89260.js";import{u as Pe}from"./vuex-473b3783.js";import{T as H,U as Ue,V as Se,W as Re,X as qe,Y as Be,Z as Ae,_ as ze}from"./index-d9d021c3.js";import{y as Ne}from"./@vicons-b553c29f.js";import{h as Ke,o as xe,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Ee,L as Oe,a0 as Le,a1 as Me,d as We}from"./naive-ui-62663ad7.js";import"./vue-router-b8e3382f.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Xe={class:"base-line avatar"},Ge={class:"base-line"},Je=V(()=>m("span",{class:"base-label"},"昵称",-1)),Qe={key:0},Ye={class:"base-line"},Ze=V(()=>m("span",{class:"base-label"},"用户名",-1)),He={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),N=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),X=d(),G=d(),J=d(),Q=d(),a=Z({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Z({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=Q.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{v||(x.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=X.value)==null||e.validate(v=>{v||(N.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{N.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{N.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&j()}))})},T=()=>{H().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{H().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=Ve,ge=Te,F=Ke,Y=je,w=Ee,he=Oe,E=Le,O=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Xe,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Je,C.value?_("",!0):(r(),g("div",Qe,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ne))]),_:1})]),_:1})):_("",!0)]),m("div",Ye,[Ze,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",He,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Y,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:X,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Y,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:J,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:Q,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{d as ye,r as d,E as Z,j as ke,c as g,V as t,a1 as s,Q as b,O as _,o as r,a as m,_ as u,e as c,M as R,z as be,v as Ce,P as q,a2 as B,W as Ie,X as $e}from"./@vue-e0e89260.js";import{u as Pe}from"./vuex-473b3783.js";import{T as H,U as Ue,V as Se,W as Re,X as qe,Y as Be,Z as Ae,_ as ze}from"./index-08d8af97.js";import{K as Ne}from"./@vicons-6332ad63.js";import{h as Ke,o as xe,e as De,B as Fe,b as Ve,j as Te,S as je,$ as Ee,L as Oe,a0 as Le,a1 as Me,d as We}from"./naive-ui-62663ad7.js";import"./vue-router-b8e3382f.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const V=A=>(Ie("data-v-a681720e"),A=A(),$e(),A),Xe={class:"base-line avatar"},Ge={class:"base-line"},Je=V(()=>m("span",{class:"base-label"},"昵称",-1)),Qe={key:0},Ye={class:"base-line"},Ze=V(()=>m("span",{class:"base-label"},"用户名",-1)),He={key:0},et={key:1},tt=V(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=V(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(A){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),z=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),N=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),U=d(!1),S=d(!1),I=d(60),y=d(!1),k=d(!1),X=d(),G=d(),J=d(),Q=d(),a=Z({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Z({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return z.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):z.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&z.value==="public/avatar"&&Ue({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=Q.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=J.value)==null||e.validate(v=>{v||(x.value=!0,Se({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,U.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=X.value)==null||e.validate(v=>{v||(N.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{N.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{N.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&j()}))})},T=()=>{H().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},j=()=>{H().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Be({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&S.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Ae({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{S.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,S.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&T(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),T(),j()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=Ve,ge=Te,F=Ke,Y=je,w=Ee,he=Oe,E=Le,O=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Xe,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:z.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[Je,C.value?_("",!0):(r(),g("div",Qe,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(Ne))]),_:1})]),_:1})):_("",!0)]),m("div",Ye,[Ze,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",He,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Y,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:X,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:T},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:S.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&S.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:N.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Y,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:j},null,8,_t)):_("",!0)])])]),_:1}),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),U.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>U.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),U.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:J,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:Q,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(B(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(O,{gutter:[0,24]},{default:s(()=>[t(E,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>U.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=ze(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-2bc0b56b.js b/web/dist/assets/Topic-e935df69.js similarity index 88% rename from web/dist/assets/Topic-2bc0b56b.js rename to web/dist/assets/Topic-e935df69.js index 0aaa948d..50ffc48b 100644 --- a/web/dist/assets/Topic-2bc0b56b.js +++ b/web/dist/assets/Topic-e935df69.js @@ -1 +1 @@ -import{x as F,y as z,z as I,A as j,_ as E}from"./index-d9d021c3.js";import{q as U}from"./@vicons-b553c29f.js";import{d as $,r as i,n as q,j as A,a3 as x,o as c,c as _,V as n,a1 as s,Q as b,e as V,M as f,O as u,_ as h,w as D,a7 as P,F as Q,a4 as G}from"./@vue-e0e89260.js";import{o as H,O as B,j as J,e as K,P as R,M as W,F as X,f as Y,g as Z,a as ee,k as oe}from"./naive-ui-62663ad7.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{u as ne}from"./vuex-473b3783.js";import"./vue-router-b8e3382f.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=$({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=q(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":I({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":z({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return A(()=>{r.value=!1}),(e,o)=>{const w=x("router-link"),g=H,k=B,a=J,d=K,v=R,p=W;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[V(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(U))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=$({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);D(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=q({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,j({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return A(()=>{g()}),(a,d)=>{const v=te,p=Y,C=B,L=Z,M=ie,N=ee,O=oe,S=X;return c(),_("div",null,[n(v,{title:"话题"}),n(S,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(L,{type:"line",animated:"","onUpdate:value":k},P({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(C,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[V(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(O,{show:l.value},{default:s(()=>[n(N,null,{default:s(()=>[(c(!0),_(Q,null,G(r.value,y=>(c(),b(M,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Me=E(_e,[["__scopeId","data-v-15794a53"]]);export{Me as default}; +import{x as F,y as z,z as I,A as j,_ as E}from"./index-08d8af97.js";import{v as U}from"./@vicons-6332ad63.js";import{d as $,r as i,n as A,j as q,a3 as x,o as c,c as _,V as n,a1 as s,Q as b,e as V,M as f,O as u,_ as h,w as D,a7 as P,F as Q,a4 as G}from"./@vue-e0e89260.js";import{o as H,O as B,j as J,e as K,P as R,M as W,F as X,f as Y,g as Z,a as ee,k as oe}from"./naive-ui-62663ad7.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{u as ne}from"./vuex-473b3783.js";import"./vue-router-b8e3382f.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=$({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":I({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":z({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":F({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=x("router-link"),g=H,k=B,a=J,d=K,v=R,p=W;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[V(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(U))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=$({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);D(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,j({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=Y,C=B,L=Z,M=ie,N=ee,O=oe,S=X;return c(),_("div",null,[n(v,{title:"话题"}),n(S,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(L,{type:"line",animated:"","onUpdate:value":k},P({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(C,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[V(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(O,{show:l.value},{default:s(()=>[n(N,null,{default:s(()=>[(c(!0),_(Q,null,G(r.value,y=>(c(),b(M,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Me=E(_e,[["__scopeId","data-v-15794a53"]]);export{Me as default}; diff --git a/web/dist/assets/User-719fa9ad.js b/web/dist/assets/User-fd7a65dc.js similarity index 96% rename from web/dist/assets/User-719fa9ad.js rename to web/dist/assets/User-fd7a65dc.js index b6fa1b1b..e9042f8d 100644 --- a/web/dist/assets/User-719fa9ad.js +++ b/web/dist/assets/User-fd7a65dc.js @@ -1 +1 @@ -import{_ as Pe,a as Ue}from"./post-item.vue_vue_type_style_index_0_lang-926b2075.js";import{_ as ze}from"./post-skeleton-29ef9a0b.js";import{C as Fe,_ as D,D as Te,E as Me,B as S,F as Se,G as Ie}from"./index-d9d021c3.js";import{R as Q,K as J,S as X,b as Y,e as N,i as Z,T as qe,F as Ce,G as We,o as Be,O as Re,j as Ae,P as De,k as Ne,f as Ve,g as Ee,I as He,H as Oe}from"./naive-ui-62663ad7.js";import{d as V,r as l,o as u,Q as F,a1 as o,a as p,V as a,e as w,M as y,E as je,n as Ge,w as Le,j as Ke,c as h,_ as b,O as z,F as L,a4 as K}from"./@vue-e0e89260.js";import{_ as Qe}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{u as Je}from"./vuex-473b3783.js";import{b as Xe}from"./vue-router-b8e3382f.js";import{i as Ye}from"./@vicons-b553c29f.js";import"./content-1dbc9788.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ze={class:"whisper-wrap"},es={class:"whisper-line"},ss={class:"whisper-line send-wrap"},as=V({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(I,{emit:x}){const d=I,c=l(""),t=l(!1),s=()=>{x("success")},_=()=>{t.value=!0,Fe({user_id:d.user.id,content:c.value}).then(r=>{window.$message.success("发送成功"),t.value=!1,c.value="",s()}).catch(r=>{t.value=!1})};return(r,g)=>{const i=Q,m=J,n=X,f=Y,$=N,P=Z;return u(),F(P,{show:r.show,"onUpdate:show":s,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:o(()=>[p("div",Ze,[a(n,{"show-icon":!1},{default:o(()=>[w(" 即将发送私信给: "),a(m,{style:{"max-width":"100%"}},{default:o(()=>[a(i,{type:"success"},{default:o(()=>[w(y(r.user.nickname)+"@"+y(r.user.username),1)]),_:1})]),_:1})]),_:1}),p("div",es,[a(f,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:c.value,"onUpdate:value":g[0]||(g[0]=U=>c.value=U),maxlength:"200","show-count":""},null,8,["value"])]),p("div",ss,[a($,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:_},{default:o(()=>[w(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const ts=D(as,[["__scopeId","data-v-0cbfe47c"]]),ns={class:"whisper-wrap"},os={class:"whisper-line"},ls={class:"whisper-line send-wrap"},is=V({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(I,{emit:x}){const d=I,c=l(""),t=l(!1),s=()=>{x("success")},_=()=>{t.value=!0,Te({user_id:d.user.id,greetings:c.value}).then(r=>{window.$message.success("发送成功"),t.value=!1,c.value="",s()}).catch(r=>{t.value=!1})};return(r,g)=>{const i=Q,m=J,n=X,f=Y,$=N,P=Z;return u(),F(P,{show:r.show,"onUpdate:show":s,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:o(()=>[p("div",ns,[a(n,{"show-icon":!1},{default:o(()=>[w(" 发送添加朋友申请给: "),a(m,{style:{"max-width":"100%"}},{default:o(()=>[a(i,{type:"success"},{default:o(()=>[w(y(r.user.nickname)+"@"+y(r.user.username),1)]),_:1})]),_:1})]),_:1}),p("div",os,[a(f,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:c.value,"onUpdate:value":g[0]||(g[0]=U=>c.value=U),maxlength:"120","show-count":""},null,8,["value"])]),p("div",ls,[a($,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:_},{default:o(()=>[w(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const us=D(is,[["__scopeId","data-v-60be56a2"]]),cs={key:0,class:"profile-baseinfo"},rs={class:"avatar"},_s={class:"base-info"},ps={class:"username"},ds={class:"uid"},ms={key:0,class:"user-opts"},vs={key:0,class:"skeleton-wrap"},hs={key:1},gs={key:0,class:"empty-wrap"},fs={key:1},ws={key:2},ks={key:0,class:"pagination-wrap"},bs=V({__name:"User",setup(I){const x=qe(),d=Je(),c=Xe(),t=l(!1),s=je({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),_=l(!1),r=l(!1),g=l(!1),i=l([]),m=l(c.query.username||""),n=l(+c.query.p||1),f=l("post"),$=l(+c.query.p||1),P=l(1),U=l(1),E=l(1),H=l(1),v=l(20),k=l(0),ee=()=>{switch(f.value){case"post":q();break;case"comment":C();break;case"highlight":W();break;case"media":B();break;case"star":R();break}},q=()=>{t.value=!0,S({username:m.value,style:"post",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},C=()=>{t.value=!0,S({username:m.value,style:"comment",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},W=()=>{t.value=!0,S({username:m.value,style:"highlight",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},B=()=>{t.value=!0,S({username:m.value,style:"media",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},R=()=>{t.value=!0,S({username:m.value,style:"star",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},se=e=>{switch(f.value=e,f.value){case"post":n.value=$.value,q();break;case"comment":n.value=P.value,C();break;case"highlight":n.value=U.value,W();break;case"media":n.value=E.value,B();break;case"star":n.value=H.value,R();break}},A=()=>{_.value=!0,Me({username:m.value}).then(e=>{_.value=!1,s.id=e.id,s.avatar=e.avatar,s.username=e.username,s.nickname=e.nickname,s.is_admin=e.is_admin,s.is_friend=e.is_friend,s.status=e.status,ee()}).catch(e=>{_.value=!1,console.log(e)})},ae=e=>{switch(n.value=e,f.value){case"post":$.value=e,q();break;case"comment":P.value=n.value,C();break;case"highlight":U.value=n.value,W();break;case"media":E.value=n.value,B();break;case"star":H.value=n.value,R();break}},te=()=>{r.value=!0},ne=()=>{g.value=!0},oe=()=>{r.value=!1},le=()=>{g.value=!1},ie=Ge(()=>{let e=[{label:"私信",key:"whisper"}];return d.state.userInfo.is_admin&&(s.status===1?e.push({label:"禁言",key:"banned"}):e.push({label:"解封",key:"deblocking"})),s.is_friend?e.push({label:"删除好友",key:"delete"}):e.push({label:"添加朋友",key:"requesting"}),e}),ue=e=>{switch(e){case"whisper":te();break;case"delete":ce();break;case"requesting":ne();break;case"banned":case"deblocking":re();break}},ce=()=>{x.warning({title:"删除好友",content:"将好友 “"+s.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{_.value=!0,Se({user_id:s.id}).then(e=>{_.value=!1,s.is_friend=!1,q()}).catch(e=>{_.value=!1,console.log(e)})}})},re=()=>{x.warning({title:"警告",content:"确定对该用户进行"+(s.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{_.value=!0,Ie({id:s.id,status:s.status===1?2:1}).then(e=>{_.value=!1,A()}).catch(e=>{_.value=!1,console.log(e)})}})};return Le(()=>({path:c.path,query:c.query}),(e,O)=>{O.path==="/user"&&e.path==="/user"&&(m.value=c.query.username||"",A())}),Ke(()=>{A()}),(e,O)=>{const _e=Qe,pe=Be,j=Re,de=Ae,me=N,ve=De,he=ts,ge=Ne,T=Ve,fe=Ee,we=ze,ke=He,be=Pe,G=Oe,ye=Ue,xe=Ce,$e=We;return u(),h("div",null,[a(_e,{title:"用户详情"}),a(xe,{class:"main-content-wrap profile-wrap",bordered:""},{default:o(()=>[a(ge,{show:_.value},{default:o(()=>[s.id>0?(u(),h("div",cs,[p("div",rs,[a(pe,{size:"large",src:s.avatar},null,8,["src"])]),p("div",_s,[p("div",ps,[p("strong",null,y(s.nickname),1),p("span",null," @"+y(s.username),1),b(d).state.userInfo.id>0&&b(d).state.userInfo.username!=s.username&&s.is_friend?(u(),F(j,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[w(" 好友 ")]),_:1})):z("",!0),s.is_admin?(u(),F(j,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[w(" 管理员 ")]),_:1})):z("",!0)]),p("div",ds,"UID. "+y(s.id),1)]),b(d).state.userInfo.id>0&&b(d).state.userInfo.username!=s.username?(u(),h("div",ms,[a(ve,{placement:"bottom-end",trigger:"click",size:"small",options:ie.value,onSelect:ue},{default:o(()=>[a(me,{quaternary:"",circle:""},{icon:o(()=>[a(de,null,{default:o(()=>[a(b(Ye))]),_:1})]),_:1})]),_:1},8,["options"])])):z("",!0)])):z("",!0),a(he,{show:r.value,user:s,onSuccess:oe},null,8,["show","user"]),a(us,{show:g.value,user:s,onSuccess:le},null,8,["show","user"])]),_:1},8,["show"]),a(fe,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:o(()=>[a(T,{name:"post",tab:"泡泡"}),a(T,{name:"comment",tab:"评论"}),a(T,{name:"highlight",tab:"亮点"}),a(T,{name:"media",tab:"图文"}),a(T,{name:"star",tab:"喜欢"})]),_:1}),t.value?(u(),h("div",vs,[a(we,{num:v.value},null,8,["num"])])):(u(),h("div",hs,[i.value.length===0?(u(),h("div",gs,[a(ke,{size:"large",description:"暂无数据"})])):z("",!0),b(d).state.desktopModelShow?(u(),h("div",fs,[(u(!0),h(L,null,K(i.value,M=>(u(),F(G,{key:M.id},{default:o(()=>[a(be,{post:M},null,8,["post"])]),_:2},1024))),128))])):(u(),h("div",ws,[(u(!0),h(L,null,K(i.value,M=>(u(),F(G,{key:M.id},{default:o(()=>[a(ye,{post:M},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),k.value>0?(u(),h("div",ks,[a($e,{page:n.value,"onUpdate:page":ae,"page-slot":b(d).state.collapsedRight?5:8,"page-count":k.value},null,8,["page","page-slot","page-count"])])):z("",!0)])}}});const Ys=D(bs,[["__scopeId","data-v-b67c9295"]]);export{Ys as default}; +import{_ as Pe,a as Ue}from"./post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js";import{_ as ze}from"./post-skeleton-41befd31.js";import{C as Fe,_ as D,D as Te,E as Me,B as S,F as Se,G as Ie}from"./index-08d8af97.js";import{R as Q,K as J,S as X,b as Y,e as N,i as Z,T as qe,F as Ce,G as We,o as Be,O as Re,j as Ae,P as De,k as Ne,f as Ve,g as Ee,I as He,H as Oe}from"./naive-ui-62663ad7.js";import{d as V,r as l,o as u,Q as F,a1 as o,a as p,V as a,e as w,M as y,E as je,n as Ge,w as Le,j as Ke,c as h,_ as b,O as z,F as L,a4 as K}from"./@vue-e0e89260.js";import{_ as Qe}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{u as Je}from"./vuex-473b3783.js";import{b as Xe}from"./vue-router-b8e3382f.js";import{i as Ye}from"./@vicons-6332ad63.js";import"./content-91ba374b.js";import"./paopao-video-player-aa5e8b3f.js";import"./formatTime-cdf4e6f1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-1dd3075d.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ze={class:"whisper-wrap"},es={class:"whisper-line"},ss={class:"whisper-line send-wrap"},as=V({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(I,{emit:x}){const d=I,c=l(""),t=l(!1),s=()=>{x("success")},_=()=>{t.value=!0,Fe({user_id:d.user.id,content:c.value}).then(r=>{window.$message.success("发送成功"),t.value=!1,c.value="",s()}).catch(r=>{t.value=!1})};return(r,g)=>{const i=Q,m=J,n=X,f=Y,$=N,P=Z;return u(),F(P,{show:r.show,"onUpdate:show":s,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:o(()=>[p("div",Ze,[a(n,{"show-icon":!1},{default:o(()=>[w(" 即将发送私信给: "),a(m,{style:{"max-width":"100%"}},{default:o(()=>[a(i,{type:"success"},{default:o(()=>[w(y(r.user.nickname)+"@"+y(r.user.username),1)]),_:1})]),_:1})]),_:1}),p("div",es,[a(f,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:c.value,"onUpdate:value":g[0]||(g[0]=U=>c.value=U),maxlength:"200","show-count":""},null,8,["value"])]),p("div",ss,[a($,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:_},{default:o(()=>[w(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const ts=D(as,[["__scopeId","data-v-0cbfe47c"]]),ns={class:"whisper-wrap"},os={class:"whisper-line"},ls={class:"whisper-line send-wrap"},is=V({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(I,{emit:x}){const d=I,c=l(""),t=l(!1),s=()=>{x("success")},_=()=>{t.value=!0,Te({user_id:d.user.id,greetings:c.value}).then(r=>{window.$message.success("发送成功"),t.value=!1,c.value="",s()}).catch(r=>{t.value=!1})};return(r,g)=>{const i=Q,m=J,n=X,f=Y,$=N,P=Z;return u(),F(P,{show:r.show,"onUpdate:show":s,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:o(()=>[p("div",ns,[a(n,{"show-icon":!1},{default:o(()=>[w(" 发送添加朋友申请给: "),a(m,{style:{"max-width":"100%"}},{default:o(()=>[a(i,{type:"success"},{default:o(()=>[w(y(r.user.nickname)+"@"+y(r.user.username),1)]),_:1})]),_:1})]),_:1}),p("div",os,[a(f,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:c.value,"onUpdate:value":g[0]||(g[0]=U=>c.value=U),maxlength:"120","show-count":""},null,8,["value"])]),p("div",ls,[a($,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:_},{default:o(()=>[w(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const us=D(is,[["__scopeId","data-v-60be56a2"]]),cs={key:0,class:"profile-baseinfo"},rs={class:"avatar"},_s={class:"base-info"},ps={class:"username"},ds={class:"uid"},ms={key:0,class:"user-opts"},vs={key:0,class:"skeleton-wrap"},hs={key:1},gs={key:0,class:"empty-wrap"},fs={key:1},ws={key:2},ks={key:0,class:"pagination-wrap"},bs=V({__name:"User",setup(I){const x=qe(),d=Je(),c=Xe(),t=l(!1),s=je({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,status:1}),_=l(!1),r=l(!1),g=l(!1),i=l([]),m=l(c.query.username||""),n=l(+c.query.p||1),f=l("post"),$=l(+c.query.p||1),P=l(1),U=l(1),E=l(1),H=l(1),v=l(20),k=l(0),ee=()=>{switch(f.value){case"post":q();break;case"comment":C();break;case"highlight":W();break;case"media":B();break;case"star":R();break}},q=()=>{t.value=!0,S({username:m.value,style:"post",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},C=()=>{t.value=!0,S({username:m.value,style:"comment",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},W=()=>{t.value=!0,S({username:m.value,style:"highlight",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},B=()=>{t.value=!0,S({username:m.value,style:"media",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},R=()=>{t.value=!0,S({username:m.value,style:"star",page:n.value,page_size:v.value}).then(e=>{t.value=!1,i.value=e.list||[],k.value=Math.ceil(e.pager.total_rows/v.value),window.scrollTo(0,0)}).catch(e=>{i.value=[],t.value=!1})},se=e=>{switch(f.value=e,f.value){case"post":n.value=$.value,q();break;case"comment":n.value=P.value,C();break;case"highlight":n.value=U.value,W();break;case"media":n.value=E.value,B();break;case"star":n.value=H.value,R();break}},A=()=>{_.value=!0,Me({username:m.value}).then(e=>{_.value=!1,s.id=e.id,s.avatar=e.avatar,s.username=e.username,s.nickname=e.nickname,s.is_admin=e.is_admin,s.is_friend=e.is_friend,s.status=e.status,ee()}).catch(e=>{_.value=!1,console.log(e)})},ae=e=>{switch(n.value=e,f.value){case"post":$.value=e,q();break;case"comment":P.value=n.value,C();break;case"highlight":U.value=n.value,W();break;case"media":E.value=n.value,B();break;case"star":H.value=n.value,R();break}},te=()=>{r.value=!0},ne=()=>{g.value=!0},oe=()=>{r.value=!1},le=()=>{g.value=!1},ie=Ge(()=>{let e=[{label:"私信",key:"whisper"}];return d.state.userInfo.is_admin&&(s.status===1?e.push({label:"禁言",key:"banned"}):e.push({label:"解封",key:"deblocking"})),s.is_friend?e.push({label:"删除好友",key:"delete"}):e.push({label:"添加朋友",key:"requesting"}),e}),ue=e=>{switch(e){case"whisper":te();break;case"delete":ce();break;case"requesting":ne();break;case"banned":case"deblocking":re();break}},ce=()=>{x.warning({title:"删除好友",content:"将好友 “"+s.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{_.value=!0,Se({user_id:s.id}).then(e=>{_.value=!1,s.is_friend=!1,q()}).catch(e=>{_.value=!1,console.log(e)})}})},re=()=>{x.warning({title:"警告",content:"确定对该用户进行"+(s.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{_.value=!0,Ie({id:s.id,status:s.status===1?2:1}).then(e=>{_.value=!1,A()}).catch(e=>{_.value=!1,console.log(e)})}})};return Le(()=>({path:c.path,query:c.query}),(e,O)=>{O.path==="/user"&&e.path==="/user"&&(m.value=c.query.username||"",A())}),Ke(()=>{A()}),(e,O)=>{const _e=Qe,pe=Be,j=Re,de=Ae,me=N,ve=De,he=ts,ge=Ne,T=Ve,fe=Ee,we=ze,ke=He,be=Pe,G=Oe,ye=Ue,xe=Ce,$e=We;return u(),h("div",null,[a(_e,{title:"用户详情"}),a(xe,{class:"main-content-wrap profile-wrap",bordered:""},{default:o(()=>[a(ge,{show:_.value},{default:o(()=>[s.id>0?(u(),h("div",cs,[p("div",rs,[a(pe,{size:"large",src:s.avatar},null,8,["src"])]),p("div",_s,[p("div",ps,[p("strong",null,y(s.nickname),1),p("span",null," @"+y(s.username),1),b(d).state.userInfo.id>0&&b(d).state.userInfo.username!=s.username&&s.is_friend?(u(),F(j,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[w(" 好友 ")]),_:1})):z("",!0),s.is_admin?(u(),F(j,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[w(" 管理员 ")]),_:1})):z("",!0)]),p("div",ds,"UID. "+y(s.id),1)]),b(d).state.userInfo.id>0&&b(d).state.userInfo.username!=s.username?(u(),h("div",ms,[a(ve,{placement:"bottom-end",trigger:"click",size:"small",options:ie.value,onSelect:ue},{default:o(()=>[a(me,{quaternary:"",circle:""},{icon:o(()=>[a(de,null,{default:o(()=>[a(b(Ye))]),_:1})]),_:1})]),_:1},8,["options"])])):z("",!0)])):z("",!0),a(he,{show:r.value,user:s,onSuccess:oe},null,8,["show","user"]),a(us,{show:g.value,user:s,onSuccess:le},null,8,["show","user"])]),_:1},8,["show"]),a(fe,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:o(()=>[a(T,{name:"post",tab:"泡泡"}),a(T,{name:"comment",tab:"评论"}),a(T,{name:"highlight",tab:"亮点"}),a(T,{name:"media",tab:"图文"}),a(T,{name:"star",tab:"喜欢"})]),_:1}),t.value?(u(),h("div",vs,[a(we,{num:v.value},null,8,["num"])])):(u(),h("div",hs,[i.value.length===0?(u(),h("div",gs,[a(ke,{size:"large",description:"暂无数据"})])):z("",!0),b(d).state.desktopModelShow?(u(),h("div",fs,[(u(!0),h(L,null,K(i.value,M=>(u(),F(G,{key:M.id},{default:o(()=>[a(be,{post:M},null,8,["post"])]),_:2},1024))),128))])):(u(),h("div",ws,[(u(!0),h(L,null,K(i.value,M=>(u(),F(G,{key:M.id},{default:o(()=>[a(ye,{post:M},null,8,["post"])]),_:2},1024))),128))]))]))]),_:1}),k.value>0?(u(),h("div",ks,[a($e,{page:n.value,"onUpdate:page":ae,"page-slot":b(d).state.collapsedRight?5:8,"page-count":k.value},null,8,["page","page-slot","page-count"])])):z("",!0)])}}});const Ys=D(bs,[["__scopeId","data-v-b67c9295"]]);export{Ys as default}; diff --git a/web/dist/assets/Wallet-983d775b.js b/web/dist/assets/Wallet-a970081d.js similarity index 77% rename from web/dist/assets/Wallet-983d775b.js rename to web/dist/assets/Wallet-a970081d.js index 98cc712e..d367e280 100644 --- a/web/dist/assets/Wallet-983d775b.js +++ b/web/dist/assets/Wallet-a970081d.js @@ -1 +1 @@ -import{_ as X}from"./post-skeleton-29ef9a0b.js";import{_ as Y}from"./main-nav.vue_vue_type_style_index_0_lang-9aadc380.js";import{d as Z,r as c,j as J,c as _,V as e,a1 as o,o as n,_ as y,O as w,a,e as k,F as N,a4 as $,z as ee,v as te,M as r,Q as q,L as oe,a2 as ae,W as ne,X as se}from"./@vue-e0e89260.js";import{u as le}from"./vuex-473b3783.js";import{b as ce}from"./vue-router-b8e3382f.js";import{b as ie}from"./qrcode-9719fc56.js";import{P as _e,Q as re,R as ue,S as pe,_ as de}from"./index-d9d021c3.js";import{a as me}from"./formatTime-cdf4e6f1.js";import{x as ge}from"./@vicons-b553c29f.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as xe,j as Se,l as Ce,h as Ie,H as Re}from"./naive-ui-62663ad7.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const P=m=>(ne("data-v-870bd246"),m=m(),se(),m),Ae={class:"balance-wrap"},ze={class:"balance-line"},Ne={class:"balance-opts"},$e={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Pe={key:1},We={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Le={key:1,style:{"margin-top":"10px"}},Oe={class:"qrcode-wrap"},Te=P(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},Ee={class:"pay-sub-tips"},Me=P(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ue=Z({__name:"Wallet",setup(m){const i=le(),W=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+W.query.p||1),S=c(20),C=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:x.value,page_size:S.value}).then(s=>{h.value=!1,b.value=s.list,C.value=Math.ceil(s.pager.total_rows/S.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{x.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},L=()=>{g.value=!0},O=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const I=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(I),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},T=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{A()}),(s,l)=>{const I=Y,d=fe,V=ye,f=we,z=ke,E=be,M=X,U=xe,D=Re,Q=ve,j=Se,G=Ce,H=Ie,K=he;return n(),_("div",null,[e(I,{title:"钱包"}),e(Q,{class:"main-content-wrap",bordered:""},{footer:o(()=>[C.value>1?(n(),_("div",$e,[e(E,{page:x.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":C.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),a("div",Ne,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:L},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:T},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(M,{num:S.value},null,8,["num"])])):(n(),_("div",Pe,[b.value.length===0?(n(),_("div",We,[e(U,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_(N,null,$(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",Be,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(me)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(K,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(H,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Fe,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_(N,null,$(B.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Le,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:O},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Oe,[Te,a("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",Ee,[e(G,{value:100,type:"info",dot:"",processing:""}),Me])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=de(Ue,[["__scopeId","data-v-870bd246"]]);export{yt as default}; +import{_ as K}from"./post-skeleton-41befd31.js";import{_ as X}from"./main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js";import{d as Y,r as c,j as Z,c as _,V as e,a1 as o,o as n,_ as y,O as w,a,e as k,F as N,a4 as $,z as ee,v as te,M as r,Q as q,L as oe,a2 as ae,W as ne,X as se}from"./@vue-e0e89260.js";import{u as le}from"./vuex-473b3783.js";import{b as ce}from"./vue-router-b8e3382f.js";import{b as ie}from"./qrcode-9719fc56.js";import{P as _e,Q as re,R as ue,S as pe,_ as de}from"./index-08d8af97.js";import{a as me}from"./formatTime-cdf4e6f1.js";import{J as ge}from"./@vicons-6332ad63.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,G as be,I as Se,j as xe,l as Ce,h as Ie,H as Re}from"./naive-ui-62663ad7.js";import"./vooks-a50491fd.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./@css-render-580d83ec.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const P=m=>(ne("data-v-870bd246"),m=m(),se(),m),Ae={class:"balance-wrap"},ze={class:"balance-line"},Ne={class:"balance-opts"},$e={key:0,class:"pagination-wrap"},qe={key:0,class:"skeleton-wrap"},Pe={key:1},We={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Le={key:1,style:{"margin-top":"10px"}},Oe={class:"qrcode-wrap"},Te=P(()=>a("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},Ee={class:"pay-sub-tips"},Me=P(()=>a("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ue=Y({__name:"Wallet",setup(m){const i=le(),W=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),S=c(+W.query.p||1),x=c(20),C=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),R=()=>{h.value=!0,re({page:S.value,page_size:x.value}).then(s=>{h.value=!1,b.value=s.list,C.value=Math.ceil(s.pager.total_rows/x.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{S.value=s,R()},A=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),R()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},L=()=>{g.value=!0},O=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const I=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(I),window.$message.success("充值成功"),g.value=!1,p.value="",A())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},T=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return Z(()=>{A()}),(s,l)=>{const I=X,d=fe,V=ye,f=we,z=ke,E=be,M=K,U=Se,D=Re,Q=ve,j=xe,G=Ce,H=Ie,J=he;return n(),_("div",null,[e(I,{title:"钱包"}),e(Q,{class:"main-content-wrap",bordered:""},{footer:o(()=>[C.value>1?(n(),_("div",$e,[e(E,{page:S.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":C.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[a("div",Ae,[a("div",ze,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),a("div",Ne,[e(z,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:L},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:T},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(n(),_("div",qe,[e(M,{num:x.value},null,8,["num"])])):(n(),_("div",Pe,[b.value.length===0?(n(),_("div",We,[e(U,{size:"large",description:"暂无数据"})])):w("",!0),(n(!0),_(N,null,$(b.value,t=>(n(),q(D,{key:t.id},{default:o(()=>[a("div",Be,[a("div",null,"NO."+r(t.id),1),a("div",null,r(t.reason),1),a("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),a("div",null,r(y(me)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(J,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(H,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(n(),_("div",Fe,[e(z,{align:"baseline"},{default:o(()=>[(n(!0),_(N,null,$(B.value,t=>(n(),q(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ae(De=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(n(),_("div",Le,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:O},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(a("div",Oe,[Te,a("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),a("div",Ee,[e(G,{value:100,type:"info",dot:"",processing:""}),Me])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=de(Ue,[["__scopeId","data-v-870bd246"]]);export{yt as default}; diff --git a/web/dist/assets/content-1dbc9788.js b/web/dist/assets/content-91ba374b.js similarity index 87% rename from web/dist/assets/content-1dbc9788.js rename to web/dist/assets/content-91ba374b.js index 38662818..3d9af0b3 100644 --- a/web/dist/assets/content-1dbc9788.js +++ b/web/dist/assets/content-91ba374b.js @@ -1 +1 @@ -import{d as h,o as e,c as r,F as a,a4 as m,V as s,a1 as o,_ as c,a as C,a2 as k,M as I,Q as d,O as g,r as j,e as B,s as b}from"./@vue-e0e89260.js";import{v as D,w as M}from"./@vicons-b553c29f.js";import{j as $,V as N,W as V,m as z,X as F,e as L,i as O}from"./naive-ui-62663ad7.js";import{_ as A,M as T,N as U}from"./index-d9d021c3.js";import{e as P}from"./paopao-video-player-aa5e8b3f.js";const R={class:"link-wrap"},Q={class:"link-txt-wrap"},S=["href"],W={class:"link-txt"},X=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(D))]),_:1}),C("div",Q,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",W,I(n.content),1)],8,S)])]))),128))])}}});const ot=A(X,[["__scopeId","data-v-36eef76b"]]),Z={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=N,n=V;return l.videos.length>0?(e(),r("div",Z,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),q={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=z,_=N,f=V,w=F;return e(),r("div",q,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const G={class:"attachment-wrap"},H=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),T({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{U({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=L,i=O;return e(),r("div",G,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(M))]),_:1})]),default:o(()=>[B(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=A(H,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; +import{d as h,o as e,c as r,F as a,a4 as m,V as s,a1 as o,_ as c,a as C,a2 as k,M as I,Q as d,O as g,r as j,e as A,s as b}from"./@vue-e0e89260.js";import{D as B,G as M}from"./@vicons-6332ad63.js";import{j as $,V as D,W as N,m as z,X as F,e as L,i as O}from"./naive-ui-62663ad7.js";import{_ as V,M as T,N as U}from"./index-08d8af97.js";import{e as P}from"./paopao-video-player-aa5e8b3f.js";const R={class:"link-wrap"},G={class:"link-txt-wrap"},Q=["href"],S={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",R,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(B))]),_:1}),C("div",G,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",S,I(n.content),1)],8,Q)])]))),128))])}}});const ot=V(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=D,n=N;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(P),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Z={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=z,_=D,f=N,w=F;return e(),r("div",Z,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const q={class:"attachment-wrap"},H=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),T({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{U({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=L,i=O;return e(),r("div",q,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(M))]),_:1})]),default:o(()=>[A(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=V(H,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/index-d9d021c3.js b/web/dist/assets/index-08d8af97.js similarity index 89% rename from web/dist/assets/index-d9d021c3.js rename to web/dist/assets/index-08d8af97.js index aa3e5b1b..10bff11e 100644 --- a/web/dist/assets/index-d9d021c3.js +++ b/web/dist/assets/index-08d8af97.js @@ -1 +1 @@ -import{d as z,r as R,E as J,j,o as v,Q as D,a1 as a,a as k,V as s,c as T,e as S,P as q,a2 as N,O as M,_ as h,n as Q,w as H,a3 as ae,F as X,a4 as Y,M as I,s as P,a5 as he,R as Z,L as ge,a6 as fe}from"./@vue-e0e89260.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-b8e3382f.js";import{c as ke,u as B}from"./vuex-473b3783.js";import{a as be}from"./axios-4a70c6fc.js";import{_ as Pe,N as Le,a as ue,b as ce,c as Oe,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ee,j as F,k as Ce,u as $e,l as Ie,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as Ne,s as De,t as xe}from"./naive-ui-62663ad7.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-b553c29f.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&i(m)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Je=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Je(n),n in se)return;se[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const _=c[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=m?"stylesheet":Ge,m||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),m)return new Promise((b,_)=>{g.addEventListener("load",b),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},Xe=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-7efce0f2.js"),["assets/Home-7efce0f2.js","assets/post-item.vue_vue_type_style_index_0_lang-926b2075.js","assets/content-1dbc9788.js","assets/@vue-e0e89260.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-29ef9a0b.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Home-c075a37e.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-de91c521.js"),["assets/Post-de91c521.js","assets/@vue-e0e89260.js","assets/vuex-473b3783.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/IEnum-a180d93e.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-1dbc9788.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vue-router-b8e3382f.js","assets/post-skeleton-29ef9a0b.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-e5c2e8bf.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/Post-00695942.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-2bc0b56b.js"),["assets/Topic-2bc0b56b.js","assets/@vicons-b553c29f.js","assets/@vue-e0e89260.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-df745936.js"),["assets/Anouncement-df745936.js","assets/post-skeleton-29ef9a0b.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/@vue-e0e89260.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/@vicons-b553c29f.js","assets/main-nav-569a7b0c.css","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-d8507546.js"),["assets/Profile-d8507546.js","assets/post-item.vue_vue_type_style_index_0_lang-926b2075.js","assets/content-1dbc9788.js","assets/@vue-e0e89260.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-29ef9a0b.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Profile-cc270bed.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-719fa9ad.js"),["assets/User-719fa9ad.js","assets/post-item.vue_vue_type_style_index_0_lang-926b2075.js","assets/content-1dbc9788.js","assets/@vue-e0e89260.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-29ef9a0b.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/User-a79da2ba.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-e1f0ddaf.js"),["assets/Messages-e1f0ddaf.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/vuex-473b3783.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-56f7019b.js"),["assets/Collection-56f7019b.js","assets/post-item.vue_vue_type_style_index_0_lang-926b2075.js","assets/content-1dbc9788.js","assets/@vue-e0e89260.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-29ef9a0b.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Collection-b97b3cf7.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-f7cd8b40.js"),["assets/Contacts-f7cd8b40.js","assets/vue-router-b8e3382f.js","assets/@vue-e0e89260.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-29ef9a0b.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/vuex-473b3783.js","assets/@vicons-b553c29f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-983d775b.js"),["assets/Wallet-983d775b.js","assets/post-skeleton-29ef9a0b.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/@vue-e0e89260.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/@vicons-b553c29f.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-814c9f9e.js"),["assets/Setting-814c9f9e.js","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/vuex-473b3783.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/vooks-a50491fd.js","assets/evtd-b614532e.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/@css-render-580d83ec.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-20fe3842.js"),["assets/404-20fe3842.js","assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js","assets/vuex-473b3783.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/vooks-a50491fd.js","assets/evtd-b614532e.js","assets/@vicons-b553c29f.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/@css-render-580d83ec.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Xe});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Ye=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return G(e)}const ne=e=>o({method:"post",url:"/v1/auth/login",data:e}),Ze=e=>o({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=J({username:"",password:""}),m=R(),d=J({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=c.value)==null||u.validate(L=>{L||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(L=>{L||(i.value=!0,Ze({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?W(_).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(_,u)=>{const L=Pe,p=Le,O=ue,r=ce,w=Oe,y=Ae,C=ie,x=Te,$=Re,K=de,V=Ee;return v(),D(V,{show:h(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>h(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[s(K,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[s(O,{justify:"center"},{default:a(()=>[s(p,null,{default:a(()=>[s(L,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),s(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(w,{label:"账户",path:"username"},{default:a(()=>[s(r,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),D($,{key:1,"default-value":h(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(x,{name:"signin",tab:"登录"},{default:a(()=>[s(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(w,{label:"账户",path:"username"},{default:a(()=>[s(r,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(x,{name:"signup",tab:"注册"},{default:a(()=>[s(y,{ref_key:"registerRef",ref:m,model:d,rules:U},{default:a(()=>[s(w,{label:"用户名",path:"username"},{default:a(()=>[s(r,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"重复密码",path:"repassword"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Xt=e=>o({method:"get",url:"/v1/posts",params:e}),nt=e=>o({method:"get",url:"/v1/tags",params:e}),Yt=e=>o({method:"get",url:"/v1/post",params:e}),Zt=e=>o({method:"get",url:"/v1/post/star",params:e}),eo=e=>o({method:"post",url:"/v1/post/star",data:e}),to=e=>o({method:"get",url:"/v1/post/collection",params:e}),oo=e=>o({method:"post",url:"/v1/post/collection",data:e}),so=e=>o({method:"get",url:"/v1/post/comments",params:e}),no=e=>o({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>o({method:"post",url:"/v1/post",data:e}),ao=e=>o({method:"delete",url:"/v1/post",data:e}),lo=e=>o({method:"post",url:"/v1/post/lock",data:e}),uo=e=>o({method:"post",url:"/v1/post/stick",data:e}),co=e=>o({method:"post",url:"/v1/post/highlight",data:e}),io=e=>o({method:"post",url:"/v1/post/visibility",data:e}),po=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),mo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),_o=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),ho=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),go=e=>o({method:"post",url:"/v1/post/comment",data:e}),fo=e=>o({method:"delete",url:"/v1/post/comment",data:e}),vo=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),wo=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),yo=e=>o({method:"post",url:"/v1/topic/stick",data:e}),ko=e=>o({method:"post",url:"/v1/topic/follow",data:e}),bo=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),m=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",_="https://www.paopao.info",u=+"6",L=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:L,extral_num:u}).then(y=>{t.value=y.topics,l.value=y.extral_topics??[],w.value=!0,i.value=!1}).catch(y=>{i.value=!1})},O=y=>y>=1e3?(y/1e3).toFixed(1)+"k":y,r=()=>{m.push({name:"home",query:{q:c.value}})},w=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:y=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(y,C)=>{(y.refreshTopicFollow!==C.refreshTopicFollow||y.userLogined)&&p()}),j(()=>{p()}),(y,C)=>{const x=F,$=ce,K=ae("router-link"),V=Ce,f=de,_e=ue;return h(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[s($,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":C[0]||(C[0]=E=>c.value=E),onKeyup:q(N(r,["prevent"]),["enter"])},{prefix:a(()=>[s(x,{component:h(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),w.value?(v(),D(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(V,{show:i.value},{default:a(()=>[(v(!0),T(X,null,Y(l.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[s(K,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(E.tag),1)]),_:2},1032,["to"]),k("div",lt,I(O(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(V,{show:i.value},{default:a(()=>[(v(!0),T(X,null,Y(t.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[s(K,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(E.tag),1)]),_:2},1032,["to"]),k("div",ut,I(O(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+I(h(d)),1),k("div",null,[s(_e,null,{default:a(()=>[k("a",{href:h(g),target:"_blank",class:"hash-link"},I(h(U)),9,it),k("a",{href:h(_),target:"_blank",class:"hash-link"},I(h(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),Po=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Lo=e=>o({method:"post",url:"/v1/captcha",data:e}),Oo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),Ao=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),To=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ro=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Eo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Co=e=>o({method:"post",url:"/v1/user/phone",data:e}),$o=e=>o({method:"post",url:"/v1/user/activate",data:e}),Io=e=>o({method:"post",url:"/v1/user/password",data:e}),So=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Mo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Uo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Ko=e=>o({method:"post",url:"/v1/user/message/read",data:e}),qo=e=>o({method:"get",url:"/v1/user/collections",params:e}),No=e=>o({method:"get",url:"/v1/user/profile",params:e}),Do=e=>o({method:"get",url:"/v1/user/posts",params:e}),xo=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),Fo=e=>o({method:"post",url:"/v1/user/recharge",data:e}),Vo=e=>o({method:"get",url:"/v1/user/recharge",params:e}),zo=e=>o({method:"get",url:"/v1/suggest/users",params:e}),Bo=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),Wo=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),Ho=e=>o({method:"get",url:"/v1/attachment",params:e}),jo=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Lt={key:0,class:"login-only-wrap"},Ot={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),m=R(),d=R("true".toLowerCase()==="true"),U=+"5000";H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?m.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),m.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},U)):m.value&&clearInterval(m.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const g=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),b=r=>"href"in r?P("div",{},r.label):r.label,_=r=>r.key==="messages"?P(Ie,{dot:!0,show:c.value,processing:!0},{default:()=>P(F,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(F,null,{default:r.icon}),u=(r,w={})=>{n.value=r,i.push({name:r})},L=()=>{l.path==="/"&&t.commit("refresh"),u("home")},p=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},O=()=>{t.commit("userLogout"),t.commit("refresh"),L()};return window.$store=t,window.$message=$e(),(r,w)=>{const y=Se,C=Me,x=Ue,$=ie;return v(),T("div",ht,[k("div",gt,[s(y,{class:"logo-img",width:"36",src:h(_t),"preview-disabled":!0,onClick:L},null,8,["src"])]),s(C,{accordion:!0,"icon-size":24,options:g.value,"render-label":b,"render-icon":_,value:n.value,"onUpdate:value":u},null,8,["options","value"]),h(t).state.userInfo.id>0?(v(),T("div",ft,[s(x,{class:"user-avatar",round:"",size:34,src:h(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,I(h(t).state.userInfo.nickname),1),s($,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:O},{icon:a(()=>[s(h(F),null,{default:a(()=>[s(h(oe))]),_:1})]),_:1})]),k("div",kt,"@"+I(h(t).state.userInfo.username),1)]),k("div",bt,[s($,{class:"logout",quaternary:"",circle:"",onClick:O},{icon:a(()=>[s(h(F),{size:24},{default:a(()=>[s(h(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Lt,[s($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[0]||(w[0]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Ot,[s($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[1]||(w[1]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),s($,{strong:"",secondary:"",round:"",type:"info",onClick:w[2]||(w[2]=K=>p("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Et={class:"content-wrap"},Ct=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,m=ae("router-view"),d=mt,U=st,g=Ne,b=De,_=xe,u=Ke;return v(),D(u,{theme:l.value},{default:a(()=>[s(b,null,{default:a(()=>[s(g,null,{default:a(()=>{var L;return[k("div",{class:ge(["app-container",{dark:((L=l.value)==null?void 0:L.name)==="dark",mobile:!h(t).state.desktopModelShow}])},[k("div",Tt,[h(t).state.desktopModelShow?(v(),T("div",Rt,[s(n)])):M("",!0),k("div",Et,[s(m,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),D(he,null,[i.$route.meta.keepAlive?(v(),D(Z(p),{key:0})):M("",!0)],1024)),i.$route.meta.keepAlive?M("",!0):(v(),D(Z(p),{key:0}))]),_:1})]),s(d)]),s(U)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});fe(Ct).use(pe).use(Ye).mount("#app");export{At as $,nt as A,Do as B,Oo as C,Ao as D,No as E,Eo as F,jo as G,To as H,Ro as I,Ko as J,Uo as K,qo as L,Wo as M,Ho as N,no as O,W as P,xo as Q,Fo as R,Vo as S,Po as T,Mo as U,Io as V,Co as W,$o as X,So as Y,Lo as Z,me as _,Bo as a,Xt as b,ro as c,ho as d,wo as e,po as f,zo as g,mo as h,vo as i,fo as j,go as k,Zt as l,to as m,ao as n,lo as o,co as p,eo as q,oo as r,uo as s,_o as t,Yt as u,io as v,so as w,yo as x,bo as y,ko as z}; +import{d as z,r as R,E as J,j,o as v,Q as D,a1 as a,a as k,V as s,c as T,e as S,P as q,a2 as N,O as M,_ as h,n as Q,w as H,a3 as ae,F as X,a4 as Y,M as I,s as P,a5 as he,R as Z,L as ge,a6 as fe}from"./@vue-e0e89260.js";import{c as ve,a as we,u as le,b as ye}from"./vue-router-b8e3382f.js";import{c as ke,u as B}from"./vuex-473b3783.js";import{a as be}from"./axios-4a70c6fc.js";import{_ as Pe,N as Le,a as ue,b as ce,c as Oe,d as Ae,e as ie,f as Te,g as Re,h as de,i as Ee,j as F,k as Ce,u as $e,l as Ie,m as Se,n as Me,o as Ue,p as Ke,q as qe,r as Ne,s as De,t as xe}from"./naive-ui-62663ad7.js";import{S as Fe,M as Ve,L as ze,C as Be,B as We,P as He,W as je,a as Qe,H as ee,b as te,c as oe}from"./@vicons-6332ad63.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-59ca65c3.js";import"./evtd-b614532e.js";import"./@css-render-580d83ec.js";import"./vooks-a50491fd.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))i(c);new MutationObserver(c=>{for(const n of c)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&i(m)}).observe(document,{childList:!0,subtree:!0});function l(c){const n={};return c.integrity&&(n.integrity=c.integrity),c.referrerPolicy&&(n.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?n.credentials="include":c.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(c){if(c.ep)return;c.ep=!0;const n=l(c);fetch(c.href,n)}})();const Ge="modulepreload",Je=function(e){return"/"+e},se={},A=function(t,l,i){if(!l||l.length===0)return t();const c=document.getElementsByTagName("link");return Promise.all(l.map(n=>{if(n=Je(n),n in se)return;se[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!i)for(let b=c.length-1;b>=0;b--){const _=c[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const g=document.createElement("link");if(g.rel=m?"stylesheet":Ge,m||(g.as="script",g.crossOrigin=""),g.href=n,document.head.appendChild(g),m)return new Promise((b,_)=>{g.addEventListener("load",b),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},Xe=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>A(()=>import("./Home-ab2e462e.js"),["assets/Home-ab2e462e.js","assets/post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js","assets/content-91ba374b.js","assets/@vue-e0e89260.js","assets/@vicons-6332ad63.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-41befd31.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/IEnum-a180d93e.js","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Home-c075a37e.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"话题详情"},component:()=>A(()=>import("./Post-45820327.js"),["assets/Post-45820327.js","assets/@vue-e0e89260.js","assets/vuex-473b3783.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/IEnum-a180d93e.js","assets/@vicons-6332ad63.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-91ba374b.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vue-router-b8e3382f.js","assets/post-skeleton-41befd31.js","assets/post-skeleton-f1900002.css","assets/lodash-94eb5868.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-e5c2e8bf.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/Post-00695942.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>A(()=>import("./Topic-e935df69.js"),["assets/Topic-e935df69.js","assets/@vicons-6332ad63.js","assets/@vue-e0e89260.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Topic-8dbcebb5.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>A(()=>import("./Anouncement-f0afd211.js"),["assets/Anouncement-f0afd211.js","assets/post-skeleton-41befd31.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/@vue-e0e89260.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/@vicons-6332ad63.js","assets/main-nav-569a7b0c.css","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>A(()=>import("./Profile-3af47c12.js"),["assets/Profile-3af47c12.js","assets/post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js","assets/content-91ba374b.js","assets/@vue-e0e89260.js","assets/@vicons-6332ad63.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-41befd31.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Profile-cc270bed.css","assets/vfonts-7afd136d.css"])},{path:"/user",name:"user",meta:{title:"用户详情"},component:()=>A(()=>import("./User-fd7a65dc.js"),["assets/User-fd7a65dc.js","assets/post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js","assets/content-91ba374b.js","assets/@vue-e0e89260.js","assets/@vicons-6332ad63.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-41befd31.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/User-a79da2ba.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>A(()=>import("./Messages-c1d4e5e6.js"),["assets/Messages-c1d4e5e6.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/@vicons-6332ad63.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/vuex-473b3783.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Messages-7ed31ecd.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>A(()=>import("./Collection-d33c7999.js"),["assets/Collection-d33c7999.js","assets/post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js","assets/content-91ba374b.js","assets/@vue-e0e89260.js","assets/@vicons-6332ad63.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-aa5e8b3f.js","assets/content-2fda112b.css","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-1dd3075d.js","assets/toggle-selection-93f4ad84.js","assets/post-item-593ff254.css","assets/post-skeleton-41befd31.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Collection-b97b3cf7.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>A(()=>import("./Contacts-86a6f430.js"),["assets/Contacts-86a6f430.js","assets/vue-router-b8e3382f.js","assets/@vue-e0e89260.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-41befd31.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/vuex-473b3783.js","assets/@vicons-6332ad63.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Contacts-b60e5e0d.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>A(()=>import("./Wallet-a970081d.js"),["assets/Wallet-a970081d.js","assets/post-skeleton-41befd31.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/@vue-e0e89260.js","assets/vueuc-59ca65c3.js","assets/evtd-b614532e.js","assets/@css-render-580d83ec.js","assets/vooks-a50491fd.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/vuex-473b3783.js","assets/vue-router-b8e3382f.js","assets/@vicons-6332ad63.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/formatTime-cdf4e6f1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>A(()=>import("./Setting-c94ce292.js"),["assets/Setting-c94ce292.js","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/vuex-473b3783.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/vooks-a50491fd.js","assets/evtd-b614532e.js","assets/@vicons-6332ad63.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/@css-render-580d83ec.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>A(()=>import("./404-b795bf4e.js"),["assets/404-b795bf4e.js","assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js","assets/vuex-473b3783.js","assets/@vue-e0e89260.js","assets/vue-router-b8e3382f.js","assets/vooks-a50491fd.js","assets/evtd-b614532e.js","assets/@vicons-6332ad63.js","assets/naive-ui-62663ad7.js","assets/seemly-76b7b838.js","assets/vueuc-59ca65c3.js","assets/@css-render-580d83ec.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],pe=ve({history:we(),routes:Xe});pe.beforeEach((e,t,l)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,l()});const Ye=ke({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:""}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:""},e.userLogined=!1}},actions:{},modules:{}}),G=be.create({baseURL:"",timeout:3e4});G.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));G.interceptors.response.use(e=>{const{data:t={},code:l=0}=(e==null?void 0:e.data)||{};if(+l==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var l;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((l=t==null?void 0:t.data)==null?void 0:l.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return G(e)}const ne=e=>o({method:"post",url:"/v1/auth/login",data:e}),Ze=e=>o({method:"post",url:"/v1/auth/register",data:e}),W=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),et={class:"auth-wrap"},tt={key:0},ot=z({__name:"auth",setup(e){const t=R("true".toLowerCase()==="true"),l=B(),i=R(!1),c=R(),n=J({username:"",password:""}),m=R(),d=J({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},g=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=c.value)==null||u.validate(L=>{L||(i.value=!0,ne({username:n.username,password:n.password}).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("登录成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),l.commit("refresh"),n.username="",n.password=""}).catch(p=>{i.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(L=>{L||(i.value=!0,Ze({username:d.username,password:d.password}).then(p=>ne({username:d.username,password:d.password})).then(p=>{const O=(p==null?void 0:p.token)||"";return localStorage.setItem("PAOPAO_TOKEN",O),W(O)}).then(p=>{window.$message.success("注册成功"),i.value=!1,l.commit("updateUserinfo",p),l.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(p=>{i.value=!1}))})};return j(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?W(_).then(u=>{l.commit("updateUserinfo",u),l.commit("triggerAuth",!1)}).catch(u=>{l.commit("userLogout")}):l.commit("userLogout")}),(_,u)=>{const L=Pe,p=Le,O=ue,r=ce,w=Oe,y=Ae,C=ie,x=Te,$=Re,K=de,V=Ee;return v(),D(V,{show:h(l).state.authModalShow,"onUpdate:show":u[7]||(u[7]=f=>h(l).state.authModalShow=f),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[k("div",et,[s(K,{bordered:!1},{default:a(()=>[t.value?M("",!0):(v(),T("div",tt,[s(O,{justify:"center"},{default:a(()=>[s(p,null,{default:a(()=>[s(L,{type:"success"},{default:a(()=>[S("账号登录")]),_:1})]),_:1})]),_:1}),s(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(w,{label:"账户",path:"username"},{default:a(()=>[s(r,{value:n.username,"onUpdate:value":u[0]||(u[0]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])])),t.value?(v(),D($,{key:1,"default-value":h(l).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(x,{name:"signin",tab:"登录"},{default:a(()=>[s(y,{ref_key:"loginRef",ref:c,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(w,{label:"账户",path:"username"},{default:a(()=>[s(r,{value:n.username,"onUpdate:value":u[2]||(u[2]=f=>n.username=f),placeholder:"请输入用户名",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=f=>n.password=f),placeholder:"请输入账户密码",onKeyup:q(N(g,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:g},{default:a(()=>[S(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(x,{name:"signup",tab:"注册"},{default:a(()=>[s(y,{ref_key:"registerRef",ref:m,model:d,rules:U},{default:a(()=>[s(w,{label:"用户名",path:"username"},{default:a(()=>[s(r,{value:d.username,"onUpdate:value":u[4]||(u[4]=f=>d.username=f),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(w,{label:"密码",path:"password"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=f=>d.password=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(w,{label:"重复密码",path:"repassword"},{default:a(()=>[s(r,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=f=>d.repassword=f),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(C,{type:"primary",block:"",secondary:"",strong:"",loading:i.value,onClick:b},{default:a(()=>[S(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const me=(e,t)=>{const l=e.__vccOpts||e;for(const[i,c]of t)l[i]=c;return l},st=me(ot,[["__scopeId","data-v-053dfa44"]]),Xt=e=>o({method:"get",url:"/v1/posts",params:e}),nt=e=>o({method:"get",url:"/v1/tags",params:e}),Yt=e=>o({method:"get",url:"/v1/post",params:e}),Zt=e=>o({method:"get",url:"/v1/post/star",params:e}),eo=e=>o({method:"post",url:"/v1/post/star",data:e}),to=e=>o({method:"get",url:"/v1/post/collection",params:e}),oo=e=>o({method:"post",url:"/v1/post/collection",data:e}),so=e=>o({method:"get",url:"/v1/post/comments",params:e}),no=e=>o({method:"get",url:"/v1/user/contacts",params:e}),ro=e=>o({method:"post",url:"/v1/post",data:e}),ao=e=>o({method:"delete",url:"/v1/post",data:e}),lo=e=>o({method:"post",url:"/v1/post/lock",data:e}),uo=e=>o({method:"post",url:"/v1/post/stick",data:e}),co=e=>o({method:"post",url:"/v1/post/highlight",data:e}),io=e=>o({method:"post",url:"/v1/post/visibility",data:e}),po=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),mo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),_o=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),ho=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),go=e=>o({method:"post",url:"/v1/post/comment",data:e}),fo=e=>o({method:"delete",url:"/v1/post/comment",data:e}),vo=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),wo=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),yo=e=>o({method:"post",url:"/v1/topic/stick",data:e}),ko=e=>o({method:"post",url:"/v1/topic/follow",data:e}),bo=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),rt={key:0,class:"rightbar-wrap"},at={class:"search-wrap"},lt={class:"post-num"},ut={class:"post-num"},ct={class:"copyright"},it=["href"],dt=["href"],pt=z({__name:"rightbar",setup(e){const t=R([]),l=R([]),i=R(!1),c=R(""),n=B(),m=le(),d="2023 paopao.info",U="Roc's Me",g="",b="泡泡(PaoPao)开源社区",_="https://www.paopao.info",u=+"6",L=+"12",p=()=>{i.value=!0,nt({type:"hot_extral",num:L,extral_num:u}).then(y=>{t.value=y.topics,l.value=y.extral_topics??[],w.value=!0,i.value=!1}).catch(y=>{i.value=!1})},O=y=>y>=1e3?(y/1e3).toFixed(1)+"k":y,r=()=>{m.push({name:"home",query:{q:c.value}})},w=Q({get:()=>n.state.userLogined&&l.value.length!==0,set:y=>{}});return H(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(y,C)=>{(y.refreshTopicFollow!==C.refreshTopicFollow||y.userLogined)&&p()}),j(()=>{p()}),(y,C)=>{const x=F,$=ce,K=ae("router-link"),V=Ce,f=de,_e=ue;return h(n).state.collapsedRight?M("",!0):(v(),T("div",rt,[k("div",at,[s($,{round:"",clearable:"",placeholder:"搜一搜...",value:c.value,"onUpdate:value":C[0]||(C[0]=E=>c.value=E),onKeyup:q(N(r,["prevent"]),["enter"])},{prefix:a(()=>[s(x,{component:h(Fe)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),w.value?(v(),D(f,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(V,{show:i.value},{default:a(()=>[(v(!0),T(X,null,Y(l.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[s(K,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(E.tag),1)]),_:2},1032,["to"]),k("div",lt,I(O(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(f,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(V,{show:i.value},{default:a(()=>[(v(!0),T(X,null,Y(t.value,E=>(v(),T("div",{class:"hot-tag-item",key:E.id},[s(K,{class:"hash-link",to:{name:"home",query:{q:E.tag,t:"tag"}}},{default:a(()=>[S(" #"+I(E.tag),1)]),_:2},1032,["to"]),k("div",ut,I(O(E.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(f,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[k("div",ct,"© "+I(h(d)),1),k("div",null,[s(_e,null,{default:a(()=>[k("a",{href:h(g),target:"_blank",class:"hash-link"},I(h(U)),9,it),k("a",{href:h(_),target:"_blank",class:"hash-link"},I(h(b)),9,dt)]),_:1})])]),_:1})]))}}});const mt=me(pt,[["__scopeId","data-v-f4a84024"]]),Po=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Lo=e=>o({method:"post",url:"/v1/captcha",data:e}),Oo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),Ao=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),To=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ro=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Eo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Co=e=>o({method:"post",url:"/v1/user/phone",data:e}),$o=e=>o({method:"post",url:"/v1/user/activate",data:e}),Io=e=>o({method:"post",url:"/v1/user/password",data:e}),So=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Mo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),re=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Uo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Ko=e=>o({method:"post",url:"/v1/user/message/read",data:e}),qo=e=>o({method:"get",url:"/v1/user/collections",params:e}),No=e=>o({method:"get",url:"/v1/user/profile",params:e}),Do=e=>o({method:"get",url:"/v1/user/posts",params:e}),xo=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),Fo=e=>o({method:"post",url:"/v1/user/recharge",data:e}),Vo=e=>o({method:"get",url:"/v1/user/recharge",params:e}),zo=e=>o({method:"get",url:"/v1/suggest/users",params:e}),Bo=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),Wo=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),Ho=e=>o({method:"get",url:"/v1/attachment",params:e}),jo=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),_t="/assets/logo-52afee68.png",ht={class:"sidebar-wrap"},gt={class:"logo-wrap"},ft={key:0,class:"user-wrap"},vt={class:"user-info"},wt={class:"nickname"},yt={class:"nickname-txt"},kt={class:"username"},bt={class:"user-mini-wrap"},Pt={key:1,class:"user-wrap"},Lt={key:0,class:"login-only-wrap"},Ot={key:1,class:"login-wrap"},At=z({__name:"sidebar",setup(e){const t=B(),l=ye(),i=le(),c=R(!1),n=R(l.name||""),m=R(),d=R("true".toLowerCase()==="true"),U=+"5000";H(l,()=>{n.value=l.name}),H(t.state,()=>{t.state.userInfo.id>0?m.value||(re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)}),m.value=setInterval(()=>{re().then(r=>{c.value=r.count>0}).catch(r=>{console.log(r)})},U)):m.value&&clearInterval(m.value)}),j(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const g=Q(()=>{const r=[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}];return"false".toLowerCase()==="true"&&r.push({label:"公告",key:"anouncement",icon:()=>P(Ve),href:"/anouncement"}),r.push({label:"主页",key:"profile",icon:()=>P(ze),href:"/profile"}),r.push({label:"消息",key:"messages",icon:()=>P(Be),href:"/messages"}),r.push({label:"收藏",key:"collection",icon:()=>P(We),href:"/collection"}),r.push({label:"好友",key:"contacts",icon:()=>P(He),href:"/contacts"}),"false".toLocaleLowerCase()==="true"&&r.push({label:"钱包",key:"wallet",icon:()=>P(je),href:"/wallet"}),r.push({label:"设置",key:"setting",icon:()=>P(Qe),href:"/setting"}),t.state.userInfo.id>0?r:[{label:"广场",key:"home",icon:()=>P(ee),href:"/"},{label:"话题",key:"topic",icon:()=>P(te),href:"/topic"}]}),b=r=>"href"in r?P("div",{},r.label):r.label,_=r=>r.key==="messages"?P(Ie,{dot:!0,show:c.value,processing:!0},{default:()=>P(F,{color:r.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:r.icon})}):P(F,null,{default:r.icon}),u=(r,w={})=>{n.value=r,i.push({name:r})},L=()=>{l.path==="/"&&t.commit("refresh"),u("home")},p=r=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",r)},O=()=>{t.commit("userLogout"),t.commit("refresh"),L()};return window.$store=t,window.$message=$e(),(r,w)=>{const y=Se,C=Me,x=Ue,$=ie;return v(),T("div",ht,[k("div",gt,[s(y,{class:"logo-img",width:"36",src:h(_t),"preview-disabled":!0,onClick:L},null,8,["src"])]),s(C,{accordion:!0,"icon-size":24,options:g.value,"render-label":b,"render-icon":_,value:n.value,"onUpdate:value":u},null,8,["options","value"]),h(t).state.userInfo.id>0?(v(),T("div",ft,[s(x,{class:"user-avatar",round:"",size:34,src:h(t).state.userInfo.avatar},null,8,["src"]),k("div",vt,[k("div",wt,[k("span",yt,I(h(t).state.userInfo.nickname),1),s($,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:O},{icon:a(()=>[s(h(F),null,{default:a(()=>[s(h(oe))]),_:1})]),_:1})]),k("div",kt,"@"+I(h(t).state.userInfo.username),1)]),k("div",bt,[s($,{class:"logout",quaternary:"",circle:"",onClick:O},{icon:a(()=>[s(h(F),{size:24},{default:a(()=>[s(h(oe))]),_:1})]),_:1})])])):(v(),T("div",Pt,[d.value?M("",!0):(v(),T("div",Lt,[s($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[0]||(w[0]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1})])),d.value?(v(),T("div",Ot,[s($,{strong:"",secondary:"",round:"",type:"primary",onClick:w[1]||(w[1]=K=>p("signin"))},{default:a(()=>[S(" 登录 ")]),_:1}),s($,{strong:"",secondary:"",round:"",type:"info",onClick:w[2]||(w[2]=K=>p("signup"))},{default:a(()=>[S(" 注册 ")]),_:1})])):M("",!0)]))])}}});const Tt={"has-sider":"",class:"main-wrap",position:"static"},Rt={key:0},Et={class:"content-wrap"},Ct=z({__name:"App",setup(e){const t=B(),l=Q(()=>t.state.theme==="dark"?qe:null);return(i,c)=>{const n=At,m=ae("router-view"),d=mt,U=st,g=Ne,b=De,_=xe,u=Ke;return v(),D(u,{theme:l.value},{default:a(()=>[s(b,null,{default:a(()=>[s(g,null,{default:a(()=>{var L;return[k("div",{class:ge(["app-container",{dark:((L=l.value)==null?void 0:L.name)==="dark",mobile:!h(t).state.desktopModelShow}])},[k("div",Tt,[h(t).state.desktopModelShow?(v(),T("div",Rt,[s(n)])):M("",!0),k("div",Et,[s(m,{class:"app-wrap"},{default:a(({Component:p})=>[(v(),D(he,null,[i.$route.meta.keepAlive?(v(),D(Z(p),{key:0})):M("",!0)],1024)),i.$route.meta.keepAlive?M("",!0):(v(),D(Z(p),{key:0}))]),_:1})]),s(d)]),s(U)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});fe(Ct).use(pe).use(Ye).mount("#app");export{At as $,nt as A,Do as B,Oo as C,Ao as D,No as E,Eo as F,jo as G,To as H,Ro as I,Ko as J,Uo as K,qo as L,Wo as M,Ho as N,no as O,W as P,xo as Q,Fo as R,Vo as S,Po as T,Mo as U,Io as V,Co as W,$o as X,So as Y,Lo as Z,me as _,Bo as a,Xt as b,ro as c,ho as d,wo as e,po as f,zo as g,mo as h,vo as i,fo as j,go as k,Zt as l,to as m,ao as n,lo as o,co as p,eo as q,oo as r,uo as s,_o as t,Yt as u,io as v,so as w,yo as x,bo as y,ko as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js new file mode 100644 index 00000000..012e861f --- /dev/null +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-18d4a8d3.js @@ -0,0 +1 @@ +import{$ as E}from"./index-08d8af97.js";import{u as N}from"./vuex-473b3783.js";import{u as S}from"./vue-router-b8e3382f.js";import{j as z}from"./vooks-a50491fd.js";import{N as A,O as C,Q as P,R}from"./@vicons-6332ad63.js";import{a3 as D,a4 as V,j as I,e as j,a5 as x,h as H}from"./naive-ui-62663ad7.js";import{d as $,r as h,j as q,o as a,c as f,_ as o,V as e,a1 as t,O as c,a as F,Q as _,e as L,M as Q,F as U}from"./@vue-e0e89260.js";const G={key:0},J={class:"navbar"},oe=$({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(g){const i=g,n=N(),m=S(),l=h(!1),k=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return q(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark")}),(s,d)=>{const y=E,b=D,O=V,r=I,p=j,M=x,T=H;return a(),f(U,null,[o(n).state.drawerModelShow?(a(),f("div",G,[e(O,{show:l.value,"onUpdate:show":d[0]||(d[0]=B=>l.value=B),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[F("div",J,[o(n).state.drawerModelShow&&!s.back?(a(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(A))]),_:1})]),_:1})):c("",!0),s.back?(a(),_(p,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),L(" "+Q(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:o(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:o(R)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js deleted file mode 100644 index bc3b8910..00000000 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-9aadc380.js +++ /dev/null @@ -1 +0,0 @@ -import{$ as B}from"./index-d9d021c3.js";import{u as E}from"./vuex-473b3783.js";import{u as S}from"./vue-router-b8e3382f.js";import{j as A}from"./vooks-a50491fd.js";import{D as C,z as D,G as N,J as P}from"./@vicons-b553c29f.js";import{a3 as R,a4 as V,j as I,e as j,a5 as x,h as H}from"./naive-ui-62663ad7.js";import{d as $,r as h,j as q,o as a,c as f,_ as o,V as e,a1 as t,O as c,a as F,Q as _,e as L,M as U,F as G}from"./@vue-e0e89260.js";const J={key:0},Q={class:"navbar"},oe=$({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(g){const i=g,n=E(),m=S(),l=h(!1),k=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),n.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),n.commit("triggerTheme","light"))},w=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return q(()=>{localStorage.getItem("PAOPAO_THEME")||u(A()==="dark")}),(s,d)=>{const y=B,b=R,O=V,r=I,p=j,M=x,T=H;return a(),f(G,null,[o(n).state.drawerModelShow?(a(),f("div",J,[e(O,{show:l.value,"onUpdate:show":d[0]||(d[0]=z=>l.value=z),width:212,placement:k.value,resizable:""},{default:t(()=>[e(b,null,{default:t(()=>[e(y)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(T,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[F("div",Q,[o(n).state.drawerModelShow&&!s.back?(a(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(C))]),_:1})]),_:1})):c("",!0),s.back?(a(),_(p,{key:1,class:"back-btn",onClick:w,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(o(D))]),_:1})]),_:1})):c("",!0),L(" "+U(i.title)+" ",1),i.theme?(a(),_(M,{key:2,value:o(n).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:o(N)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:o(P)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{oe as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-926b2075.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js similarity index 97% rename from web/dist/assets/post-item.vue_vue_type_style_index_0_lang-926b2075.js rename to web/dist/assets/post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js index 86dcb699..1bc21f5e 100644 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-926b2075.js +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-3baf8ba8.js @@ -1 +1 @@ -import{p as P,a as B,_ as N,b as V,c as D}from"./content-1dbc9788.js";import{d as S,n as H,a3 as F,o as l,c as k,V as i,a7 as I,a1 as s,a as r,F as A,a4 as E,a2 as f,_ as d,e as _,M as m,Q as c,O as p}from"./@vue-e0e89260.js";import{u as Q}from"./vuex-473b3783.js";import{u as R}from"./vue-router-b8e3382f.js";import{b as G}from"./formatTime-cdf4e6f1.js";import{a as ne}from"./copy-to-clipboard-1dd3075d.js";import{i as oe,j as J,l as K,m as U}from"./@vicons-b553c29f.js";import{o as W,O as X,j as Y,e as ie,P as le,a as Z,M as ee}from"./naive-ui-62663ad7.js";const ue={class:"post-item"},re={class:"nickname-wrap"},ce={class:"username-wrap"},pe={class:"timestamp-mobile"},_e={class:"item-header-extra"},me=["innerHTML"],de={class:"opt-item"},ve={class:"opt-item"},Le=S({__name:"mobile-post-item",props:{post:{}},setup(q){const T=q,h=R(),M=Q(),e=H(()=>[{label:"复制链接",key:"copyTweetLink"}]),x=async o=>{switch(o){case"copyTweetLink":ne(`${window.location.origin}/#/post?id=${t.value.id}`),window.$message.success("链接已复制到剪贴板");break}},t=H(()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},T.post);return o.contents.map(n=>{(+n.type==1||+n.type==2)&&o.texts.push(n),+n.type==3&&o.imgs.push(n),+n.type==4&&o.videos.push(n),+n.type==6&&o.links.push(n),+n.type==7&&o.attachments.push(n),+n.type==8&&o.charge_attachments.push(n)}),o}),u=o=>{h.push({name:"post",query:{id:o}})},a=(o,n)=>{if(o.target.dataset.detail){const v=o.target.dataset.detail.split(":");if(v.length===2){M.commit("refresh"),v[0]==="tag"?h.push({name:"home",query:{q:v[1],t:"tag"}}):h.push({name:"user",query:{username:v[1]}});return}}u(n)};return(o,n)=>{const v=W,b=F("router-link"),w=X,g=Y,O=ie,$=le,z=B,L=N,y=V,j=D,te=Z,se=ee;return l(),k("div",ue,[i(se,{"content-indented":""},I({avatar:s(()=>[i(v,{round:"",size:30,src:t.value.user.avatar},null,8,["src"])]),header:s(()=>[r("span",re,[i(b,{onClick:n[0]||(n[0]=f(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t.value.user.username}}},{default:s(()=>[_(m(t.value.user.nickname),1)]),_:1},8,["to"])]),r("span",ce," @"+m(t.value.user.username),1),t.value.is_top?(l(),c(w,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:s(()=>[_(" 置顶 ")]),_:1})):p("",!0),t.value.visibility==1?(l(),c(w,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:s(()=>[_(" 私密 ")]),_:1})):p("",!0),t.value.visibility==2?(l(),c(w,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:s(()=>[_(" 好友可见 ")]),_:1})):p("",!0),r("div",null,[r("span",pe,m(d(G)(t.value.created_on))+" "+m(t.value.ip_loc),1)])]),"header-extra":s(()=>[r("div",_e,[i($,{placement:"bottom-end",trigger:"click",size:"small",options:e.value,onSelect:x},{default:s(()=>[i(O,{quaternary:"",circle:""},{icon:s(()=>[i(g,null,{default:s(()=>[i(d(oe))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:s(()=>[t.value.attachments.length>0?(l(),c(z,{key:0,attachments:t.value.attachments},null,8,["attachments"])):p("",!0),t.value.charge_attachments.length>0?(l(),c(z,{key:1,attachments:t.value.charge_attachments,price:t.value.attachment_price},null,8,["attachments","price"])):p("",!0),t.value.imgs.length>0?(l(),c(L,{key:2,imgs:t.value.imgs},null,8,["imgs"])):p("",!0),t.value.videos.length>0?(l(),c(y,{key:3,videos:t.value.videos},null,8,["videos"])):p("",!0),t.value.links.length>0?(l(),c(j,{key:4,links:t.value.links},null,8,["links"])):p("",!0)]),action:s(()=>[i(te,{justify:"space-between"},{default:s(()=>[r("div",de,[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(J))]),_:1}),_(" "+m(t.value.upvote_count),1)]),r("div",{class:"opt-item",onClick:n[3]||(n[3]=f(C=>u(t.value.id),["stop"]))},[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(K))]),_:1}),_(" "+m(t.value.comment_count),1)]),r("div",ve,[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(U))]),_:1}),_(" "+m(t.value.collection_count),1)])]),_:1})]),_:2},[t.value.texts.length>0?{name:"description",fn:s(()=>[r("div",{onClick:n[2]||(n[2]=C=>u(t.value.id))},[(l(!0),k(A,null,E(t.value.texts,C=>(l(),k("span",{key:C.id,class:"post-text",onClick:n[1]||(n[1]=f(ae=>a(ae,t.value.id),["stop"])),innerHTML:d(P)(C.content).content},null,8,me))),128))])]),key:"0"}:void 0]),1024)])}}});const he={class:"nickname-wrap"},ge={class:"username-wrap"},ye={class:"item-header-extra"},ke={class:"timestamp"},fe=["innerHTML"],xe={class:"opt-item"},we={class:"opt-item"},je=S({__name:"post-item",props:{post:{}},setup(q){const T=q,h=R(),M=Q(),e=H(()=>{let u=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},T.post);return u.contents.map(a=>{(+a.type==1||+a.type==2)&&u.texts.push(a),+a.type==3&&u.imgs.push(a),+a.type==4&&u.videos.push(a),+a.type==6&&u.links.push(a),+a.type==7&&u.attachments.push(a),+a.type==8&&u.charge_attachments.push(a)}),u}),x=u=>{h.push({name:"post",query:{id:u}})},t=(u,a)=>{if(u.target.dataset.detail){const o=u.target.dataset.detail.split(":");if(o.length===2){M.commit("refresh"),o[0]==="tag"?h.push({name:"home",query:{q:o[1],t:"tag"}}):h.push({name:"user",query:{username:o[1]}});return}}x(a)};return(u,a)=>{const o=W,n=F("router-link"),v=X,b=B,w=N,g=V,O=D,$=Y,z=Z,L=ee;return l(),k("div",{class:"post-item",onClick:a[3]||(a[3]=y=>x(e.value.id))},[i(L,{"content-indented":""},I({avatar:s(()=>[i(o,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:s(()=>[r("span",he,[i(n,{onClick:a[0]||(a[0]=f(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.value.user.username}}},{default:s(()=>[_(m(e.value.user.nickname),1)]),_:1},8,["to"])]),r("span",ge," @"+m(e.value.user.username),1),e.value.is_top?(l(),c(v,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:s(()=>[_(" 置顶 ")]),_:1})):p("",!0),e.value.visibility==1?(l(),c(v,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:s(()=>[_(" 私密 ")]),_:1})):p("",!0),e.value.visibility==2?(l(),c(v,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:s(()=>[_(" 好友可见 ")]),_:1})):p("",!0)]),"header-extra":s(()=>[r("div",ye,[r("span",ke,m(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+m(d(G)(e.value.created_on)),1)])]),footer:s(()=>[e.value.attachments.length>0?(l(),c(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):p("",!0),e.value.charge_attachments.length>0?(l(),c(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):p("",!0),e.value.imgs.length>0?(l(),c(w,{key:2,imgs:e.value.imgs},null,8,["imgs"])):p("",!0),e.value.videos.length>0?(l(),c(g,{key:3,videos:e.value.videos},null,8,["videos"])):p("",!0),e.value.links.length>0?(l(),c(O,{key:4,links:e.value.links},null,8,["links"])):p("",!0)]),action:s(()=>[i(z,{justify:"space-between"},{default:s(()=>[r("div",xe,[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(J))]),_:1}),_(" "+m(e.value.upvote_count),1)]),r("div",{class:"opt-item",onClick:a[2]||(a[2]=f(y=>x(e.value.id),["stop"]))},[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(K))]),_:1}),_(" "+m(e.value.comment_count),1)]),r("div",we,[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(U))]),_:1}),_(" "+m(e.value.collection_count),1)])]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:s(()=>[(l(!0),k(A,null,E(e.value.texts,y=>(l(),k("span",{key:y.id,class:"post-text",onClick:a[1]||(a[1]=f(j=>t(j,e.value.id),["stop"])),innerHTML:d(P)(y.content).content},null,8,fe))),128))]),key:"0"}:void 0]),1024)])}}});export{je as _,Le as a}; +import{p as P,a as B,_ as N,b as V,c as D}from"./content-91ba374b.js";import{d as S,n as H,a3 as F,o as l,c as k,V as i,a7 as I,a1 as s,a as r,F as A,a4 as E,a2 as f,_ as d,e as _,M as m,Q as c,O as p}from"./@vue-e0e89260.js";import{u as Q}from"./vuex-473b3783.js";import{u as R}from"./vue-router-b8e3382f.js";import{b as G}from"./formatTime-cdf4e6f1.js";import{a as ne}from"./copy-to-clipboard-1dd3075d.js";import{i as oe,j as J,l as K,m as U}from"./@vicons-6332ad63.js";import{o as W,O as X,j as Y,e as ie,P as le,a as Z,M as ee}from"./naive-ui-62663ad7.js";const ue={class:"post-item"},re={class:"nickname-wrap"},ce={class:"username-wrap"},pe={class:"timestamp-mobile"},_e={class:"item-header-extra"},me=["innerHTML"],de={class:"opt-item"},ve={class:"opt-item"},Le=S({__name:"mobile-post-item",props:{post:{}},setup(q){const T=q,h=R(),M=Q(),e=H(()=>[{label:"复制链接",key:"copyTweetLink"}]),x=async o=>{switch(o){case"copyTweetLink":ne(`${window.location.origin}/#/post?id=${t.value.id}`),window.$message.success("链接已复制到剪贴板");break}},t=H(()=>{let o=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},T.post);return o.contents.map(n=>{(+n.type==1||+n.type==2)&&o.texts.push(n),+n.type==3&&o.imgs.push(n),+n.type==4&&o.videos.push(n),+n.type==6&&o.links.push(n),+n.type==7&&o.attachments.push(n),+n.type==8&&o.charge_attachments.push(n)}),o}),u=o=>{h.push({name:"post",query:{id:o}})},a=(o,n)=>{if(o.target.dataset.detail){const v=o.target.dataset.detail.split(":");if(v.length===2){M.commit("refresh"),v[0]==="tag"?h.push({name:"home",query:{q:v[1],t:"tag"}}):h.push({name:"user",query:{username:v[1]}});return}}u(n)};return(o,n)=>{const v=W,b=F("router-link"),w=X,g=Y,O=ie,$=le,z=B,L=N,y=V,j=D,te=Z,se=ee;return l(),k("div",ue,[i(se,{"content-indented":""},I({avatar:s(()=>[i(v,{round:"",size:30,src:t.value.user.avatar},null,8,["src"])]),header:s(()=>[r("span",re,[i(b,{onClick:n[0]||(n[0]=f(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t.value.user.username}}},{default:s(()=>[_(m(t.value.user.nickname),1)]),_:1},8,["to"])]),r("span",ce," @"+m(t.value.user.username),1),t.value.is_top?(l(),c(w,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:s(()=>[_(" 置顶 ")]),_:1})):p("",!0),t.value.visibility==1?(l(),c(w,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:s(()=>[_(" 私密 ")]),_:1})):p("",!0),t.value.visibility==2?(l(),c(w,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:s(()=>[_(" 好友可见 ")]),_:1})):p("",!0),r("div",null,[r("span",pe,m(d(G)(t.value.created_on))+" "+m(t.value.ip_loc),1)])]),"header-extra":s(()=>[r("div",_e,[i($,{placement:"bottom-end",trigger:"click",size:"small",options:e.value,onSelect:x},{default:s(()=>[i(O,{quaternary:"",circle:""},{icon:s(()=>[i(g,null,{default:s(()=>[i(d(oe))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:s(()=>[t.value.attachments.length>0?(l(),c(z,{key:0,attachments:t.value.attachments},null,8,["attachments"])):p("",!0),t.value.charge_attachments.length>0?(l(),c(z,{key:1,attachments:t.value.charge_attachments,price:t.value.attachment_price},null,8,["attachments","price"])):p("",!0),t.value.imgs.length>0?(l(),c(L,{key:2,imgs:t.value.imgs},null,8,["imgs"])):p("",!0),t.value.videos.length>0?(l(),c(y,{key:3,videos:t.value.videos},null,8,["videos"])):p("",!0),t.value.links.length>0?(l(),c(j,{key:4,links:t.value.links},null,8,["links"])):p("",!0)]),action:s(()=>[i(te,{justify:"space-between"},{default:s(()=>[r("div",de,[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(J))]),_:1}),_(" "+m(t.value.upvote_count),1)]),r("div",{class:"opt-item",onClick:n[3]||(n[3]=f(C=>u(t.value.id),["stop"]))},[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(K))]),_:1}),_(" "+m(t.value.comment_count),1)]),r("div",ve,[i(g,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(U))]),_:1}),_(" "+m(t.value.collection_count),1)])]),_:1})]),_:2},[t.value.texts.length>0?{name:"description",fn:s(()=>[r("div",{onClick:n[2]||(n[2]=C=>u(t.value.id))},[(l(!0),k(A,null,E(t.value.texts,C=>(l(),k("span",{key:C.id,class:"post-text",onClick:n[1]||(n[1]=f(ae=>a(ae,t.value.id),["stop"])),innerHTML:d(P)(C.content).content},null,8,me))),128))])]),key:"0"}:void 0]),1024)])}}});const he={class:"nickname-wrap"},ge={class:"username-wrap"},ye={class:"item-header-extra"},ke={class:"timestamp"},fe=["innerHTML"],xe={class:"opt-item"},we={class:"opt-item"},je=S({__name:"post-item",props:{post:{}},setup(q){const T=q,h=R(),M=Q(),e=H(()=>{let u=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},T.post);return u.contents.map(a=>{(+a.type==1||+a.type==2)&&u.texts.push(a),+a.type==3&&u.imgs.push(a),+a.type==4&&u.videos.push(a),+a.type==6&&u.links.push(a),+a.type==7&&u.attachments.push(a),+a.type==8&&u.charge_attachments.push(a)}),u}),x=u=>{h.push({name:"post",query:{id:u}})},t=(u,a)=>{if(u.target.dataset.detail){const o=u.target.dataset.detail.split(":");if(o.length===2){M.commit("refresh"),o[0]==="tag"?h.push({name:"home",query:{q:o[1],t:"tag"}}):h.push({name:"user",query:{username:o[1]}});return}}x(a)};return(u,a)=>{const o=W,n=F("router-link"),v=X,b=B,w=N,g=V,O=D,$=Y,z=Z,L=ee;return l(),k("div",{class:"post-item",onClick:a[3]||(a[3]=y=>x(e.value.id))},[i(L,{"content-indented":""},I({avatar:s(()=>[i(o,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:s(()=>[r("span",he,[i(n,{onClick:a[0]||(a[0]=f(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e.value.user.username}}},{default:s(()=>[_(m(e.value.user.nickname),1)]),_:1},8,["to"])]),r("span",ge," @"+m(e.value.user.username),1),e.value.is_top?(l(),c(v,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:s(()=>[_(" 置顶 ")]),_:1})):p("",!0),e.value.visibility==1?(l(),c(v,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:s(()=>[_(" 私密 ")]),_:1})):p("",!0),e.value.visibility==2?(l(),c(v,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:s(()=>[_(" 好友可见 ")]),_:1})):p("",!0)]),"header-extra":s(()=>[r("div",ye,[r("span",ke,m(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+m(d(G)(e.value.created_on)),1)])]),footer:s(()=>[e.value.attachments.length>0?(l(),c(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):p("",!0),e.value.charge_attachments.length>0?(l(),c(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):p("",!0),e.value.imgs.length>0?(l(),c(w,{key:2,imgs:e.value.imgs},null,8,["imgs"])):p("",!0),e.value.videos.length>0?(l(),c(g,{key:3,videos:e.value.videos},null,8,["videos"])):p("",!0),e.value.links.length>0?(l(),c(O,{key:4,links:e.value.links},null,8,["links"])):p("",!0)]),action:s(()=>[i(z,{justify:"space-between"},{default:s(()=>[r("div",xe,[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(J))]),_:1}),_(" "+m(e.value.upvote_count),1)]),r("div",{class:"opt-item",onClick:a[2]||(a[2]=f(y=>x(e.value.id),["stop"]))},[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(K))]),_:1}),_(" "+m(e.value.comment_count),1)]),r("div",we,[i($,{size:"18",class:"opt-item-icon"},{default:s(()=>[i(d(U))]),_:1}),_(" "+m(e.value.collection_count),1)])]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:s(()=>[(l(!0),k(A,null,E(e.value.texts,y=>(l(),k("span",{key:y.id,class:"post-text",onClick:a[1]||(a[1]=f(j=>t(j,e.value.id),["stop"])),innerHTML:d(P)(y.content).content},null,8,fe))),128))]),key:"0"}:void 0]),1024)])}}});export{je as _,Le as a}; diff --git a/web/dist/assets/post-skeleton-29ef9a0b.js b/web/dist/assets/post-skeleton-41befd31.js similarity index 88% rename from web/dist/assets/post-skeleton-29ef9a0b.js rename to web/dist/assets/post-skeleton-41befd31.js index 36d08530..c1ce9d98 100644 --- a/web/dist/assets/post-skeleton-29ef9a0b.js +++ b/web/dist/assets/post-skeleton-41befd31.js @@ -1 +1 @@ -import{U as r}from"./naive-ui-62663ad7.js";import{d as c,o as s,c as n,a4 as p,a as o,V as t,F as l}from"./@vue-e0e89260.js";import{_ as i}from"./index-d9d021c3.js";const m={class:"user"},d={class:"content"},u=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; +import{U as r}from"./naive-ui-62663ad7.js";import{d as c,o as s,c as n,a4 as p,a as o,V as t,F as l}from"./@vue-e0e89260.js";import{_ as i}from"./index-08d8af97.js";const m={class:"user"},d={class:"content"},u=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",d,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(u,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/index.html b/web/dist/index.html index 6cc5645c..695114a4 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,7 +8,7 @@ 泡泡 - + @@ -27,7 +27,7 @@ - + diff --git a/web/src/components/post-detail.vue b/web/src/components/post-detail.vue index 562cb6a8..4cdaf983 100644 --- a/web/src/components/post-detail.vue +++ b/web/src/components/post-detail.vue @@ -233,9 +233,14 @@ import { BookmarkOutline, ShareSocialOutline, ChatboxOutline, + PushOutline, + TrashOutline, + LockClosedOutline, + LockOpenOutline, EyeOutline, + EyeOffOutline, + PersonOutline, FlameOutline, - Pencil as EditIcon, } from '@vicons/ionicons5'; import { MoreHorizFilled } from '@vicons/material'; import { @@ -330,20 +335,20 @@ const adminOptions = computed(() => { { label: '删除', key: 'delete', - icon: renderIcon(EditIcon) + icon: renderIcon(TrashOutline) }, ]; if (post.value.is_lock === 0) { options.push({ label: '锁定', key: 'lock', - icon: renderIcon(EditIcon) + icon: renderIcon(LockClosedOutline) }); } else { options.push({ label: '解锁', key: 'unlock', - icon: renderIcon(EditIcon) + icon: renderIcon(LockOpenOutline) }); } if (store.state.userInfo.is_admin) { @@ -351,13 +356,13 @@ const adminOptions = computed(() => { options.push({ label: '置顶', key: 'stick', - icon: renderIcon(EditIcon) + icon: renderIcon(PushOutline) }); } else { options.push({ label: '取消置顶', key: 'unstick', - icon: renderIcon(EditIcon) + icon: renderIcon(PushOutline) }); } } @@ -380,28 +385,28 @@ const adminOptions = computed(() => { key: 'vpublic', icon: renderIcon(EyeOutline), children: [ - { label: '私密', key: 'vprivate', icon: renderIcon(EditIcon)} - , { label: '好友可见', key: 'vfriend', icon: renderIcon(EditIcon) } + { label: '私密', key: 'vprivate', icon: renderIcon(EyeOffOutline)} + , { label: '好友可见', key: 'vfriend', icon: renderIcon(PersonOutline) } ] }) } else if (post.value.visibility === VisibilityEnum.PRIVATE) { options.push({ label: '私密', key: 'vprivate', - icon: renderIcon(EyeOutline), + icon: renderIcon(EyeOffOutline), children: [ - { label: '公开', key: 'vpublic', icon: renderIcon(EditIcon) } - , { label: '好友可见', key: 'vfriend', icon: renderIcon(EditIcon) } + { label: '公开', key: 'vpublic', icon: renderIcon(EyeOutline) } + , { label: '好友可见', key: 'vfriend', icon: renderIcon(PersonOutline) } ] }) } else { options.push({ label: '好友可见', key: 'vfriend', - icon: renderIcon(EyeOutline), + icon: renderIcon(PersonOutline), children: [ - { label: '公开', key: 'vpublic', icon: renderIcon(EditIcon) } - , { label: '私密', key: 'vprivate', icon: renderIcon(EditIcon) } + { label: '公开', key: 'vpublic', icon: renderIcon(EyeOutline) } + , { label: '私密', key: 'vprivate', icon: renderIcon(EyeOffOutline) } ] }) } From 6869d57c9e8e59e7e66d8f7f4bb931ea88523d56 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:35:38 +0000 Subject: [PATCH 63/65] mod: bump github.com/redis/rueidis from 1.0.13 to 1.0.14 Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.13 to 1.0.14. - [Release notes](https://github.com/redis/rueidis/releases) - [Commits](https://github.com/redis/rueidis/compare/v1.0.13...v1.0.14) --- updated-dependencies: - dependency-name: github.com/redis/rueidis dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fceaefd0..4eb775fb 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/onsi/ginkgo/v2 v2.11.0 github.com/onsi/gomega v1.27.10 github.com/pyroscope-io/client v0.7.1 - github.com/redis/rueidis v1.0.13 + github.com/redis/rueidis v1.0.14 github.com/sirupsen/logrus v1.9.3 github.com/smartwalle/alipay/v3 v3.2.15 github.com/sourcegraph/conc v0.3.0 diff --git a/go.sum b/go.sum index 3e67d5d9..5f937117 100644 --- a/go.sum +++ b/go.sum @@ -1109,8 +1109,8 @@ github.com/pyroscope-io/client v0.7.1 h1:yFRhj3vbgjBxehvxQmedmUWJQ4CAfCHhn+itPsu github.com/pyroscope-io/client v0.7.1/go.mod h1:4h21iOU4pUOq0prKyDlvYRL+SCKsBc5wKiEtV+rJGqU= github.com/pyroscope-io/godeltaprof v0.1.0 h1:UBqtjt0yZi4jTxqZmLAs34XG6ycS3vUTlhEUSq4NHLE= github.com/pyroscope-io/godeltaprof v0.1.0/go.mod h1:psMITXp90+8pFenXkKIpNhrfmI9saQnPbba27VIaiQE= -github.com/redis/rueidis v1.0.13 h1:wQFMLqXQQPCow05i3KZXMB0z/6n4P0/6UVfJ1qYnDW4= -github.com/redis/rueidis v1.0.13/go.mod h1:Z4/sLVfaxsAPKj0EF6q2P/gO6clKuQ3CE34/f/cPNkI= +github.com/redis/rueidis v1.0.14 h1:qdFZahk1F/2L+sZeOECx5E2N5J4Qc51b7ezSUpQXJfs= +github.com/redis/rueidis v1.0.14/go.mod h1:8B+r5wdnjwK3lTFml5VtxjzGOQAC+5UmujoD12pDrEo= github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= From 09e411aa02983970874d9c18a645cd6a56d0f095 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:36:03 +0000 Subject: [PATCH 64/65] mod: bump github.com/getsentry/sentry-go from 0.22.0 to 0.23.0 Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.22.0 to 0.23.0. - [Release notes](https://github.com/getsentry/sentry-go/releases) - [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-go/compare/v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: github.com/getsentry/sentry-go dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fceaefd0..3db95ed2 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/cockroachdb/errors v1.10.0 github.com/disintegration/imaging v1.6.2 github.com/fatih/color v1.15.0 - github.com/getsentry/sentry-go v0.22.0 + github.com/getsentry/sentry-go v0.23.0 github.com/gin-contrib/cors v1.4.0 github.com/gin-gonic/gin v1.9.1 github.com/go-resty/resty/v2 v2.7.0 diff --git a/go.sum b/go.sum index 3e67d5d9..63438ef3 100644 --- a/go.sum +++ b/go.sum @@ -451,8 +451,8 @@ github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/getsentry/sentry-go v0.22.0 h1:XNX9zKbv7baSEI65l+H1GEJgSeIC1c7EN5kluWaP6dM= -github.com/getsentry/sentry-go v0.22.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= +github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/cors v1.4.0 h1:oJ6gwtUl3lqV0WEIwM/LxPF1QZ5qe2lGWdY2+bz7y0g= From bfeefb21595613f373cc5712cc60a3ffcccdf1c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:36:28 +0000 Subject: [PATCH 65/65] mod: bump modernc.org/sqlite from 1.24.0 to 1.25.0 Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.24.0 to 1.25.0. - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.24.0...v1.25.0) --- updated-dependencies: - dependency-name: modernc.org/sqlite dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index fceaefd0..6d2112f0 100644 --- a/go.mod +++ b/go.mod @@ -47,7 +47,7 @@ require ( gorm.io/gorm v1.25.2 gorm.io/plugin/dbresolver v1.4.2 gorm.io/plugin/soft_delete v1.2.1 - modernc.org/sqlite v1.24.0 + modernc.org/sqlite v1.25.0 ) require ( @@ -134,9 +134,9 @@ require ( lukechampine.com/uint128 v1.2.0 // indirect modernc.org/cc/v3 v3.40.0 // indirect modernc.org/ccgo/v3 v3.16.13 // indirect - modernc.org/libc v1.22.5 // indirect + modernc.org/libc v1.24.1 // indirect modernc.org/mathutil v1.5.0 // indirect - modernc.org/memory v1.5.0 // indirect + modernc.org/memory v1.6.0 // indirect modernc.org/opt v0.1.3 // indirect modernc.org/strutil v1.1.3 // indirect modernc.org/token v1.0.1 // indirect diff --git a/go.sum b/go.sum index 3e67d5d9..d75ef9c6 100644 --- a/go.sum +++ b/go.sum @@ -2081,8 +2081,8 @@ modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/internal v1.0.0/go.mod h1:VUD/+JAkhCpvkUitlEOnhpVxCgsBI90oTzSCRcqQVSM= modernc.org/libc v1.7.13-0.20210308123627-12f642a52bb8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= modernc.org/libc v1.9.5/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= -modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE= -modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= +modernc.org/libc v1.24.1 h1:uvJSeCKL/AgzBo2yYIPPTy82v21KgGnizcGYfBHaNuM= +modernc.org/libc v1.24.1/go.mod h1:FmfO1RLrU3MHJfyi9eYYmZBfi/R+tqZ6+hQ3yQQUkak= modernc.org/lldb v1.0.0/go.mod h1:jcRvJGWfCGodDZz8BPwiKMJxGJngQ/5DrRapkQnLob8= modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= @@ -2090,16 +2090,16 @@ modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6 modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.0.4/go.mod h1:nV2OApxradM3/OVbs2/0OsP6nPfakXpi50C7dcoHXlc= -modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= -modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.6.0 h1:i6mzavxrE9a30whzMfwf7XWVODx2r5OYXvU46cirX7o= +modernc.org/memory v1.6.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/ql v1.0.0/go.mod h1:xGVyrLIatPcO2C1JvI/Co8c0sr6y91HKFNy4pt9JXEY= modernc.org/sortutil v1.1.0/go.mod h1:ZyL98OQHJgH9IEfN71VsamvJgrtRX9Dj2gX+vH86L1k= modernc.org/sqlite v1.10.6/go.mod h1:Z9FEjUtZP4qFEg6/SiADg9XCER7aYy9a/j7Pg9P7CPs= -modernc.org/sqlite v1.24.0 h1:EsClRIWHGhLTCX44p+Ri/JLD+vFGo0QGjasg2/F9TlI= -modernc.org/sqlite v1.24.0/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk= +modernc.org/sqlite v1.25.0 h1:AFweiwPNd/b3BoKnBOfFm+Y260guGMF+0UFk0savqeA= +modernc.org/sqlite v1.25.0/go.mod h1:FL3pVXie73rg3Rii6V/u5BoHlSoyeZeIgKZEgHARyCU= modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=