Merge pull request #715 from rocboss/dev

Update multiple dependencies and optimize frontend code
pull/727/head
ROC 4 months ago committed by GitHub
commit 680df05309
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -500,16 +500,15 @@ Pyroscope: # Pyroscope配置
git branch
main
beta
alpha
dev
feature/bleve
feature/followship
feature/mir
feature/localoss
jc/alimy
r/paopao-plus
jc/orziz
r/paopao-ce
r/paopao-pro
x/sqlc
x/sqlx
r/paopao-plus
r/paopao-xtra
r/paopao-mini
```
**分支说明**
| 名称 | 说明 | 备注|
@ -544,9 +543,9 @@ x/sqlx
#### Collaborator's paopao account
| 昵称 | [@GitHub](https://github.com 'github.com') | [@PaoPao](https://www.paopao.info 'paopao.info') |
| ----- | ----- | ----- |
| ROC | [ROC](https://github.com/rocboss 'ROC')|[ROC](https://www.paopao.info/#/user?username=roc 'ROC @roc')|
| [北野](https://alimy.me '糊涂小栈') | [Michael Li](https://github.com/alimy 'Michael Li') | [alimy](https://www.paopao.info/#/user?username=alimy '北野 @alimy')|
| orzi!| [orzi!](https://github.com/orziz 'orzi!')||
| ROC | [ROC](https://github.com/rocboss 'ROC')|[ROC](https://www.paopao.info/#/u?s=roc 'ROC @roc')|
| [北野](https://alimy.me '糊涂小栈') | [Michael Li](https://github.com/alimy 'Michael Li') | [alimy](https://www.paopao.info/#/u?s=alimy '北野 @alimy')|
| [orzi!](https://orzi.me 'orzi! - 做一个有想法的人') | [orzi!](https://github.com/orziz 'orzi!')| [orzi](https://www.paopao.info/#/u?s=orzi 'orzi @orzi') |
### 其他说明

@ -66,7 +66,7 @@ PaoPao主要由以下优秀的开源项目/工具构建
### 环境要求
* Go (1.22+)
* Node.js (14+)
* Node.js (20.19+/22.12+)
* MySQL (5.7+)
* Redis
* Meilisearch
@ -199,13 +199,15 @@ release/paopao serve --no-default-features --features sqlite3,localoss,loggerfil
git branch
main
beta
alpha
dev
feature/followship
jc/alimy
r/paopao-plus
jc/orziz
r/paopao-ce
r/paopao-pro
x/sqlc
x/sqlx
r/paopao-plus
r/paopao-xtra
r/paopao-mini
```
**分支说明**
| 名称 | 说明 | 备注|
@ -224,7 +226,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`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce)|paopao-ce 主分支预览版本|[ROC](https://github.com/rocboss 'ROC')<br/>[北野](https://github.com/alimy 'Michael Li')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/dev/internal/dao/jinzhu) 使用[gorm](https://github.com/go-gorm/gorm)作为数据逻辑层的ORM框架适配MySQL/PostgreSQL/Sqlite3数据库。代码较`main`分支新,是主发行版本的前瞻预览版本。|
|[`r/paopao-ce`](https://github.com/rocboss/paopao-ce/tree/r/paopao-ce)|paopao-ce 主分支预览版本|[ROC](https://github.com/rocboss 'ROC')<br/>[北野](https://github.com/alimy 'Michael Li')<br/>[orzi!](https://github.com/orziz 'orziz')|该分支 [数据逻辑层](https://github.com/rocboss/paopao-ce/tree/dev/internal/dao/jinzhu) 使用[gorm](https://github.com/go-gorm/gorm)作为数据逻辑层的ORM框架适配MySQL/PostgreSQL/Sqlite3数据库。代码较`main`分支新,是主发行版本的前瞻预览版本。|
|[`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')|该分支 是r/paopao-ce、r/paopao-ce-plus、r/paopao-ce-pro的合集|

@ -3,7 +3,7 @@ module github.com/rocboss/paopao-ce
go 1.24.0
require (
github.com/Masterminds/semver/v3 v3.2.1
github.com/Masterminds/semver/v3 v3.4.0
github.com/RoaringBitmap/roaring v1.9.4
github.com/afocus/captcha v0.0.0-20191010092841-4bd1f21c8868
github.com/alimy/mir/v5 v5.3.1
@ -14,7 +14,7 @@ require (
github.com/cockroachdb/errors v1.11.3
github.com/disintegration/imaging v1.6.2
github.com/fatih/color v1.18.0
github.com/getsentry/sentry-go v0.33.0
github.com/getsentry/sentry-go v0.36.1
github.com/getsentry/sentry-go/gin v0.33.0
github.com/getsentry/sentry-go/logrus v0.31.1
github.com/gin-contrib/cors v1.7.6
@ -22,7 +22,7 @@ require (
github.com/go-resty/resty/v2 v2.16.5
github.com/goccy/go-json v0.10.5
github.com/gofrs/uuid/v5 v5.3.2
github.com/golang-jwt/jwt/v5 v5.2.2
github.com/golang-jwt/jwt/v5 v5.2.3
github.com/golang-migrate/migrate/v4 v4.18.3
github.com/grafana/pyroscope-go v1.2.4
github.com/huaweicloud/huaweicloud-sdk-go-obs v3.25.4+incompatible
@ -30,8 +30,8 @@ require (
github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731
github.com/meilisearch/meilisearch-go v0.27.2
github.com/minio/minio-go/v7 v7.0.84
github.com/onsi/ginkgo/v2 v2.23.4
github.com/onsi/gomega v1.37.0
github.com/onsi/ginkgo/v2 v2.28.0
github.com/onsi/gomega v1.39.1
github.com/prometheus/client_golang v1.23.0
github.com/redis/rueidis v1.0.64
github.com/robfig/cron/v3 v3.0.1
@ -40,22 +40,22 @@ require (
github.com/sourcegraph/conc v0.3.0
github.com/spf13/cobra v1.9.1
github.com/spf13/viper v1.20.1
github.com/tencentyun/cos-go-sdk-v5 v0.7.65
github.com/tencentyun/cos-go-sdk-v5 v0.7.71
github.com/yinheli/mahonia v0.0.0-20131226213531-0eef680515cc
go.opentelemetry.io/contrib/bridges/otellogrus v0.11.0
go.opentelemetry.io/contrib/instrumentation/runtime v0.61.0
go.opentelemetry.io/otel v1.37.0
go.opentelemetry.io/contrib/instrumentation/runtime v0.63.0
go.opentelemetry.io/otel v1.38.0
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.36.0
go.opentelemetry.io/otel/log v0.12.2
go.opentelemetry.io/otel/sdk v1.36.0
go.opentelemetry.io/otel/sdk v1.38.0
go.opentelemetry.io/otel/sdk/log v0.12.2
go.opentelemetry.io/otel/sdk/metric v1.36.0
go.opentelemetry.io/otel/sdk/metric v1.38.0
go.uber.org/automaxprocs v1.6.0
golang.org/x/crypto v0.41.0
golang.org/x/crypto v0.47.0
google.golang.org/grpc v1.72.1
google.golang.org/protobuf v1.36.6
google.golang.org/protobuf v1.36.10
gopkg.in/natefinch/lumberjack.v2 v2.2.1
gopkg.in/resty.v1 v1.12.0
gorm.io/driver/mysql v1.6.0
@ -98,7 +98,7 @@ require (
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect
github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grafana/pyroscope-go/godeltaprof v0.1.8 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect
@ -154,22 +154,23 @@ require (
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.36.0 // indirect
go.opentelemetry.io/otel/log/logtest v0.0.0-20250602073710-889a4862b40f // indirect
go.opentelemetry.io/otel/metric v1.37.0 // indirect
go.opentelemetry.io/otel/metric v1.38.0 // indirect
go.opentelemetry.io/otel/sdk/log/logtest v0.0.0-20250602073710-889a4862b40f // indirect
go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.opentelemetry.io/otel/trace v1.38.0 // indirect
go.opentelemetry.io/proto/otlp v1.6.0 // indirect
go.uber.org/atomic v1.9.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/arch v0.18.0 // indirect
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
golang.org/x/image v0.0.0-20210216034530-4410531fe030 // indirect
golang.org/x/mod v0.27.0 // indirect
golang.org/x/net v0.43.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.35.0 // indirect
golang.org/x/text v0.28.0 // indirect
golang.org/x/mod v0.32.0 // indirect
golang.org/x/net v0.49.0 // indirect
golang.org/x/sync v0.19.0 // indirect
golang.org/x/sys v0.40.0 // indirect
golang.org/x/text v0.33.0 // indirect
golang.org/x/time v0.8.0 // indirect
golang.org/x/tools v0.36.0 // indirect
golang.org/x/tools v0.41.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect

116
go.sum

@ -2,11 +2,10 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM=
github.com/RoaringBitmap/roaring v1.9.4 h1:yhEIoH4YezLYT04s1nHehNO64EKFTop/wBhxv2QzDdQ=
github.com/RoaringBitmap/roaring v1.9.4/go.mod h1:6AXUsoIEzDTFFQCe1RbGA6uFONMhvejWj5rqITANK90=
github.com/afocus/captcha v0.0.0-20191010092841-4bd1f21c8868 h1:uFrPOl1VBt/Abfl2z+A/DFc+AwmFLxEHR1+Yq6cXvww=
@ -77,8 +76,8 @@ github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY=
github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok=
github.com/getsentry/sentry-go v0.33.0 h1:YWyDii0KGVov3xOaamOnF0mjOrqSjBqwv48UEzn7QFg=
github.com/getsentry/sentry-go v0.33.0/go.mod h1:C55omcY9ChRQIUcVcGcs+Zdy4ZpQGvNJ7JYHIoSWOtE=
github.com/getsentry/sentry-go v0.36.1 h1:kMJt0WWsxWATUxkvFgVBZdIeHSk/Oiv5P0jZ9e5m/Lw=
github.com/getsentry/sentry-go v0.36.1/go.mod h1:p5Im24mJBeruET8Q4bbcMfCQ+F+Iadc4L48tB1apo2c=
github.com/getsentry/sentry-go/gin v0.33.0 h1:8oH2ydD/EeKlDMoENhCtq3rJ7EcQtjfdzrMM1Ku2J3I=
github.com/getsentry/sentry-go/gin v0.33.0/go.mod h1:uwqds9mMjBCn/+WcgtX0z+mBq487macTzDxNljM+/g8=
github.com/getsentry/sentry-go/logrus v0.31.1 h1:561777lxQWZl4qpte67Wp4zQB7V1oNVriZNN5hiOooI=
@ -89,6 +88,12 @@ github.com/gin-contrib/sse v1.1.0 h1:n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w
github.com/gin-contrib/sse v1.1.0/go.mod h1:hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM=
github.com/gin-gonic/gin v1.10.1 h1:T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ=
github.com/gin-gonic/gin v1.10.1/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs=
github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo=
github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M=
github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk=
github.com/gkampitakis/go-snaps v0.5.15 h1:amyJrvM1D33cPHwVrjo9jQxX8g/7E2wYdZ+01KS3zGE=
github.com/gkampitakis/go-snaps v0.5.15/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc=
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A=
@ -116,6 +121,8 @@ github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIx
github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/gofrs/uuid/v5 v5.3.2 h1:2jfO8j3XgSwlz/wHqemAEugfnTlikAYHhnqQ8Xh4fE0=
github.com/gofrs/uuid/v5 v5.3.2/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@ -123,9 +130,8 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69
github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI=
github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang-jwt/jwt/v5 v5.2.3 h1:kkGXqQOBSDDWRhWNXTFpqGSCMyh/PLnqUvMGJPDJDs0=
github.com/golang-jwt/jwt/v5 v5.2.3/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang-migrate/migrate/v4 v4.18.3 h1:EYGkoOsvgHHfm5U/naS1RP/6PL/Xv3S4B/swMiAmDLs=
github.com/golang-migrate/migrate/v4 v4.18.3/go.mod h1:99BKpIi6ruaaXRM1A77eqZ+FWPQ3cfRa+ZVy5bmWMaY=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
@ -139,8 +145,8 @@ github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8=
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 h1:z2ogiKUYzX5Is6zr/vP9vJGqPwcdqsWjOt+V8J7+bTc=
github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@ -177,6 +183,8 @@ github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE=
github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
@ -204,6 +212,8 @@ github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731 h1:9x+U2HGLrSw5AT
github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731/go.mod h1:Rs3MhFwutWhGwmY1VQsygw28z5bWcnEYmS1OG9OxjOQ=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo=
github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
@ -214,6 +224,8 @@ github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/meilisearch/meilisearch-go v0.27.2 h1:3G21dJ5i208shnLPDsIEZ0L0Geg/5oeXABFV7nlK94k=
github.com/meilisearch/meilisearch-go v0.27.2/go.mod h1:SxuSqDcPBIykjWz1PX+KzsYzArNLSCadQodWs8extS0=
github.com/mfridman/tparse v0.18.0 h1:wh6dzOKaIwkUGyKgOntDW4liXSo37qg5AXbIhkMV3vE=
github.com/mfridman/tparse v0.18.0/go.mod h1:gEvqZTuCgEhPbYk/2lS3Kcxg1GmTxxU7kTC8DvP0i/A=
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.84 h1:D1HVmAF8JF8Bpi6IU4V9vIEj+8pc+xU88EWMs2yed0E=
@ -240,10 +252,10 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus=
github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8=
github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y=
github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
github.com/onsi/ginkgo/v2 v2.28.0 h1:Rrf+lVLmtlBIKv6KrIGJCjyY8N36vDVcutbGJkyqjJc=
github.com/onsi/ginkgo/v2 v2.28.0/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28=
github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
@ -276,6 +288,7 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/rs/dnscache v0.0.0-20230804202142-fc85eb664529/go.mod h1:qe5TWALJ8/a1Lqznoc5BDHpYX/8HU60Hm2AwRmqzxqA=
github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU=
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@ -314,14 +327,23 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
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/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.563/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.563/go.mod h1:uom4Nvi9W+Qkom0exYiJ9VWJjXwyxtPYTkKkaLMlfE0=
github.com/tencentyun/cos-go-sdk-v5 v0.7.65 h1:+WBbfwThfZSbxpf1Dw6fyMwyzVtWBBExqfDJ5giiR2s=
github.com/tencentyun/cos-go-sdk-v5 v0.7.65/go.mod h1:8+hG+mQMuRP/OIS9d83syAvXvrMj9HhkND6Q1fLghw0=
github.com/tencentyun/cos-go-sdk-v5 v0.7.71 h1:dV0doQK6k0MTdNIIWqP23ESvlPPI1ZZCCIBZGjsWR2Y=
github.com/tencentyun/cos-go-sdk-v5 v0.7.71/go.mod h1:STbTNaNKq03u+gscPEGOahKzLcGSYOj6Dzc5zNay7Pg=
github.com/tencentyun/qcloud-cos-sts-sdk v0.0.0-20250515025012-e0eec8a5d123/go.mod h1:b18KQa4IxHbxeseW1GcZox53d7J0z39VNONTxvvlkXw=
github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY=
github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28=
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
github.com/ugorji/go/codec v1.3.0 h1:Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA=
@ -342,10 +364,10 @@ go.opentelemetry.io/contrib/bridges/otellogrus v0.11.0 h1:xtdcSRdq9aSkOyQ7KWzGoP
go.opentelemetry.io/contrib/bridges/otellogrus v0.11.0/go.mod h1:67ZsrX7nSiMQdyCdTpIID954mZ/+MMtLJXWOhU49cjM=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=
go.opentelemetry.io/contrib/instrumentation/runtime v0.61.0 h1:oIZsTHd0YcrvvUCN2AaQqyOcd685NQ+rFmrajveCIhA=
go.opentelemetry.io/contrib/instrumentation/runtime v0.61.0/go.mod h1:X4KSPIvxnY/G5c9UOGXtFoL91t1gmlHpDQzeK5Zc/Bw=
go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
go.opentelemetry.io/contrib/instrumentation/runtime v0.63.0 h1:PeBoRj6af6xMI7qCupwFvTbbnd49V7n5YpG6pg8iDYQ=
go.opentelemetry.io/contrib/instrumentation/runtime v0.63.0/go.mod h1:ingqBCtMCe8I4vpz/UVzCW6sxoqgZB37nao91mLQ3Bw=
go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8=
go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM=
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0 h1:5dTKu4I5Dn4P2hxyW3l3jTaZx9ACgg0ECos1eAVrheY=
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.10.0/go.mod h1:P5HcUI8obLrCCmM3sbVBohZFH34iszk/+CPWuakZWL8=
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.36.0 h1:zwdo1gS2eH26Rg+CoqVQpEK1h8gvt5qyU5Kk5Bixvow=
@ -358,18 +380,18 @@ go.opentelemetry.io/otel/log v0.12.2 h1:yob9JVHn2ZY24byZeaXpTVoPS6l+UrrxmxmPKohX
go.opentelemetry.io/otel/log v0.12.2/go.mod h1:ShIItIxSYxufUMt+1H5a2wbckGli3/iCfuEbVZi/98E=
go.opentelemetry.io/otel/log/logtest v0.0.0-20250602073710-889a4862b40f h1:9Pi4jxdmTyGsCi5eOvNHKLw3GiUyRdG9EA7EIj6WMYk=
go.opentelemetry.io/otel/log/logtest v0.0.0-20250602073710-889a4862b40f/go.mod h1:DqYX8Lp2A/RnuxXuoVtsRqYvx6Io0PtSxF5v9MnHJyU=
go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA=
go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI=
go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E=
go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg=
go.opentelemetry.io/otel/sdk/log v0.12.2 h1:yNoETvTByVKi7wHvYS6HMcZrN5hFLD7I++1xIZ/k6W0=
go.opentelemetry.io/otel/sdk/log v0.12.2/go.mod h1:DcpdmUXHJgSqN/dh+XMWa7Vf89u9ap0/AAk/XGLnEzY=
go.opentelemetry.io/otel/sdk/log/logtest v0.0.0-20250602073710-889a4862b40f h1:Dq4Eyw+4KQq8/FCXHX9EAw1dTzyya6sm99gFhg2aSSE=
go.opentelemetry.io/otel/sdk/log/logtest v0.0.0-20250602073710-889a4862b40f/go.mod h1:FaVwnf8BvLN80gFy4T+wMovR87QQonsHsGFFn0R+jw8=
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM=
go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA=
go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE=
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI=
go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc=
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
@ -380,14 +402,16 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=
go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/arch v0.18.0 h1:WN9poc33zL4AzGxqf8VtpKUnGvMi8O9lhNyBMF/85qc=
golang.org/x/arch v0.18.0/go.mod h1:bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8=
golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A=
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o=
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8=
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@ -395,8 +419,8 @@ golang.org/x/image v0.0.0-20210216034530-4410531fe030 h1:lP9pYkih3DUSC641giIXa2X
golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc=
golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c=
golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@ -404,13 +428,13 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -422,24 +446,24 @@ golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/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.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE=
golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8=
golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc=
golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -450,8 +474,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:
google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=

@ -9,8 +9,6 @@ import (
"github.com/allegro/bigcache/v3"
)
var _ tweetsCache = (*bigCacheTweetsCache)(nil)
type bigCacheTweetsCache struct {
bc *bigcache.BigCache
}

@ -0,0 +1,20 @@
//go:build constraint
package cache
import (
"github.com/rocboss/paopao-ce/internal/core"
)
var (
_ tweetsCache = (*bigCacheTweetsCache)(nil)
_ core.RedisCache = (*redisCache)(nil)
_ tweetsCache = (*redisCacheTweetsCache)(nil)
_ core.CacheIndexService = (*noneCacheIndexServant)(nil)
_ core.VersionInfo = (*noneCacheIndexServant)(nil)
_ core.CacheIndexService = (*simpleCacheIndexServant)(nil)
_ core.VersionInfo = (*simpleCacheIndexServant)(nil)
)

@ -12,11 +12,6 @@ import (
"github.com/rocboss/paopao-ce/pkg/debug"
)
var (
_ core.CacheIndexService = (*noneCacheIndexServant)(nil)
_ core.VersionInfo = (*noneCacheIndexServant)(nil)
)
type noneCacheIndexServant struct {
ips core.IndexPostsService
}

@ -12,12 +12,6 @@ import (
"github.com/Masterminds/semver/v3"
"github.com/redis/rueidis"
"github.com/rocboss/paopao-ce/internal/core"
)
var (
_ core.RedisCache = (*redisCache)(nil)
_ tweetsCache = (*redisCacheTweetsCache)(nil)
)
const (

@ -16,11 +16,6 @@ import (
"github.com/sirupsen/logrus"
)
var (
_ core.CacheIndexService = (*simpleCacheIndexServant)(nil)
_ core.VersionInfo = (*simpleCacheIndexServant)(nil)
)
type simpleCacheIndexServant struct {
ips core.IndexPostsService

@ -12,8 +12,6 @@ import (
"gorm.io/gorm"
)
var _ core.AuthorizationManageService = (*authorizationManageSrv)(nil)
type authorizationManageSrv struct {
db *gorm.DB
}

@ -16,11 +16,6 @@ import (
"gorm.io/gorm"
)
var (
_ core.CommentService = (*commentSrv)(nil)
_ core.CommentManageService = (*commentManageSrv)(nil)
)
type commentSrv struct {
db *gorm.DB
}

@ -0,0 +1,42 @@
//go:build constraint
package jinzhu
import (
"github.com/rocboss/paopao-ce/internal/core"
)
var (
_ core.AuthorizationManageService = (*authorizationManageSrv)(nil)
_ core.CommentService = (*commentSrv)(nil)
_ core.CommentManageService = (*commentManageSrv)(nil)
_ core.ContactManageService = (*contactManageSrv)(nil)
_ core.FollowingManageService = (*followingManageSrv)(nil)
_ core.MessageService = (*messageSrv)(nil)
_ core.SecurityService = (*securitySrv)(nil)
_ core.TopicService = (*topicSrv)(nil)
_ core.TopicServantA = (*topicSrvA)(nil)
_ core.IndexPostsService = (*shipIndexSrv)(nil)
_ core.IndexPostsService = (*simpleIndexPostsSrv)(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)
_ core.UserManageService = (*userManageSrv)(nil)
_ core.WalletService = (*walletSrv)(nil)
_ core.DataService = (*dataSrv)(nil)
_ core.VersionInfo = (*dataSrv)(nil)
_ core.WebDataServantA = (*webDataSrvA)(nil)
_ core.VersionInfo = (*webDataSrvA)(nil)
)

@ -14,8 +14,6 @@ import (
"gorm.io/gorm"
)
var _ core.ContactManageService = (*contactManageSrv)(nil)
type contactManageSrv struct {
db *gorm.DB
}

@ -12,8 +12,6 @@ import (
"gorm.io/gorm"
)
var _ core.FollowingManageService = (*followingManageSrv)(nil)
type followingManageSrv struct {
db *gorm.DB
f *dbr.Following

@ -18,15 +18,7 @@ import (
"github.com/rocboss/paopao-ce/internal/dao/security"
)
var (
_ core.DataService = (*dataSrv)(nil)
_ core.VersionInfo = (*dataSrv)(nil)
_ core.WebDataServantA = (*webDataSrvA)(nil)
_ core.VersionInfo = (*webDataSrvA)(nil)
_onceInitial sync.Once
)
var _onceInitial sync.Once
type dataSrv struct {
core.WalletService

@ -12,8 +12,6 @@ import (
"gorm.io/gorm"
)
var _ core.MessageService = (*messageSrv)(nil)
type messageSrv struct {
db *gorm.DB
}

@ -15,8 +15,6 @@ import (
"gorm.io/gorm"
)
var _ core.SecurityService = (*securitySrv)(nil)
type securitySrv struct {
db *gorm.DB
rand *rand.Rand

@ -14,11 +14,6 @@ import (
"gorm.io/gorm"
)
var (
_ core.IndexPostsService = (*shipIndexSrv)(nil)
_ core.IndexPostsService = (*simpleIndexPostsSrv)(nil)
)
type shipIndexSrv struct {
ams core.AuthorizationManageService
ths core.TweetHelpService

@ -15,11 +15,6 @@ import (
"gorm.io/gorm"
)
var (
_ core.TopicService = (*topicSrv)(nil)
_ core.TopicServantA = (*topicSrvA)(nil)
)
type topicSrv struct {
db *gorm.DB
tnTopicUser string

@ -17,16 +17,6 @@ import (
"gorm.io/gorm"
)
var (
_ core.TweetService = (*tweetSrv)(nil)
_ core.TweetManageService = (*tweetManageSrv)(nil)
_ core.TweetHelpService = (*tweetHelpSrv)(nil)
_ core.TweetServantA = (*tweetSrvA)(nil)
_ core.TweetManageServantA = (*tweetManageSrvA)(nil)
_ core.TweetHelpServantA = (*tweetHelpSrvA)(nil)
)
type tweetSrv struct {
db *gorm.DB
}

@ -15,8 +15,6 @@ import (
"gorm.io/gorm"
)
var _ core.UserManageService = (*userManageSrv)(nil)
type userManageSrv struct {
db *gorm.DB
ums core.UserMetricServantA

@ -12,8 +12,6 @@ import (
"gorm.io/gorm"
)
var _ core.WalletService = (*walletSrv)(nil)
type walletSrv struct {
db *gorm.DB
}

@ -12,8 +12,6 @@ import (
"github.com/sirupsen/logrus"
)
var _ core.TweetSearchService = (*bridgeTweetSearchServant)(nil)
type documents struct {
primaryKey []string
docItems []core.TsDocItem

@ -0,0 +1,15 @@
//go:build constraint
package search
import "github.com/rocboss/paopao-ce/internal/core"
var (
_ core.TweetSearchService = (*bridgeTweetSearchServant)(nil)
_ core.TweetSearchService = (*meiliTweetSearchServant)(nil)
_ core.VersionInfo = (*meiliTweetSearchServant)(nil)
_ core.TweetSearchService = (*zincTweetSearchServant)(nil)
_ core.VersionInfo = (*zincTweetSearchServant)(nil)
)

@ -16,11 +16,6 @@ import (
"github.com/sirupsen/logrus"
)
var (
_ core.TweetSearchService = (*meiliTweetSearchServant)(nil)
_ core.VersionInfo = (*meiliTweetSearchServant)(nil)
)
type meiliTweetSearchServant struct {
tweetSearchFilter

@ -15,11 +15,6 @@ import (
"github.com/sirupsen/logrus"
)
var (
_ core.TweetSearchService = (*zincTweetSearchServant)(nil)
_ core.VersionInfo = (*zincTweetSearchServant)(nil)
)
type zincTweetSearchServant struct {
tweetSearchFilter

@ -12,8 +12,6 @@ import (
"github.com/rocboss/paopao-ce/internal/core"
)
var _ core.AttachmentCheckService = (*attachmentCheckServant)(nil)
type attachmentCheckServant struct {
domain string
}

@ -0,0 +1,12 @@
//go:build constraint
package security
import (
"github.com/rocboss/paopao-ce/internal/core"
)
var (
_ core.AttachmentCheckService = (*attachmentCheckServant)(nil)
_ core.PhoneVerifyService = (*juheSmsServant)(nil)
)

@ -7,13 +7,10 @@ import (
"github.com/cockroachdb/errors"
"github.com/rocboss/paopao-ce/internal/conf"
"github.com/rocboss/paopao-ce/internal/core"
"github.com/rocboss/paopao-ce/pkg/json"
"gopkg.in/resty.v1"
)
var _ core.PhoneVerifyService = (*juheSmsServant)(nil)
type juhePhoneCaptchaRsp struct {
ErrorCode int `json:"error_code"`
Reason string `json:"reason"`

@ -16,14 +16,6 @@ import (
"github.com/sirupsen/logrus"
)
var (
_ core.ObjectStorageService = (*aliossServant)(nil)
_ core.OssCreateService = (*aliossCreateServant)(nil)
_ core.OssCreateService = (*aliossCreateRetentionServant)(nil)
_ core.OssCreateService = (*aliossCreateTempDirServant)(nil)
_ core.VersionInfo = (*aliossServant)(nil)
)
type aliossCreateServant struct {
bucket *oss.Bucket
domain string

@ -0,0 +1,37 @@
//go:build constraint
package storage
import (
"github.com/rocboss/paopao-ce/internal/core"
)
var (
_ core.ObjectStorageService = (*aliossServant)(nil)
_ core.OssCreateService = (*aliossCreateServant)(nil)
_ core.OssCreateService = (*aliossCreateRetentionServant)(nil)
_ core.OssCreateService = (*aliossCreateTempDirServant)(nil)
_ core.VersionInfo = (*aliossServant)(nil)
_ core.ObjectStorageService = (*cosServant)(nil)
_ core.OssCreateService = (*cosCreateServant)(nil)
_ core.OssCreateService = (*cosCreateTempDirServant)(nil)
_ core.VersionInfo = (*cosServant)(nil)
_ core.ObjectStorageService = (*huaweiobsServant)(nil)
_ core.OssCreateService = (*hwobsCreateServant)(nil)
_ core.OssCreateService = (*hwobsCreateRetentionServant)(nil)
_ core.OssCreateService = (*hwobsCreateTempDirServant)(nil)
_ core.VersionInfo = (*huaweiobsServant)(nil)
_ core.ObjectStorageService = (*localossServant)(nil)
_ core.OssCreateService = (*localossCreateServant)(nil)
_ core.OssCreateService = (*localossCreateTempDirServant)(nil)
_ core.VersionInfo = (*localossServant)(nil)
_ core.ObjectStorageService = (*minioServant)(nil)
_ core.OssCreateService = (*minioCreateServant)(nil)
_ core.OssCreateService = (*minioCreateRetentionServant)(nil)
_ core.OssCreateService = (*minioCreateTempDirServant)(nil)
_ core.VersionInfo = (*minioServant)(nil)
)

@ -19,13 +19,6 @@ import (
"github.com/tencentyun/cos-go-sdk-v5"
)
var (
_ core.ObjectStorageService = (*cosServant)(nil)
_ core.OssCreateService = (*cosCreateServant)(nil)
_ core.OssCreateService = (*cosCreateTempDirServant)(nil)
_ core.VersionInfo = (*cosServant)(nil)
)
type cosCreateServant struct {
client *cos.Client
domain string

@ -15,14 +15,6 @@ import (
"github.com/sirupsen/logrus"
)
var (
_ core.ObjectStorageService = (*huaweiobsServant)(nil)
_ core.OssCreateService = (*hwobsCreateServant)(nil)
_ core.OssCreateService = (*hwobsCreateRetentionServant)(nil)
_ core.OssCreateService = (*hwobsCreateTempDirServant)(nil)
_ core.VersionInfo = (*huaweiobsServant)(nil)
)
type hwobsCreateServant struct {
client *obs.ObsClient
bucket string

@ -18,13 +18,6 @@ import (
"github.com/sirupsen/logrus"
)
var (
_ core.ObjectStorageService = (*localossServant)(nil)
_ core.OssCreateService = (*localossCreateServant)(nil)
_ core.OssCreateService = (*localossCreateTempDirServant)(nil)
_ core.VersionInfo = (*localossServant)(nil)
)
type localossCreateServant struct {
savePath string
domain string

@ -17,14 +17,6 @@ import (
"github.com/sirupsen/logrus"
)
var (
_ core.ObjectStorageService = (*minioServant)(nil)
_ core.OssCreateService = (*minioCreateServant)(nil)
_ core.OssCreateService = (*minioCreateRetentionServant)(nil)
_ core.OssCreateService = (*minioCreateTempDirServant)(nil)
_ core.VersionInfo = (*minioServant)(nil)
)
type minioCreateServant struct {
client *minio.Client
bucket string

@ -0,0 +1,9 @@
//go:build constraint
package admin
import (
api "github.com/rocboss/paopao-ce/auto/api/m/v1"
)
var _ api.User = (*userSrv)(nil)

@ -9,8 +9,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants/base"
)
var _ api.User = (*userSrv)(nil)
type userSrv struct {
*base.BaseServant
api.UnimplementedUserServant

@ -0,0 +1,9 @@
//go:build constraint
package bot
import (
api "github.com/rocboss/paopao-ce/auto/api/r/v1"
)
var _ api.User = (*userSrv)(nil)

@ -9,8 +9,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants/base"
)
var _ api.User = (*userSrv)(nil)
type userSrv struct {
*base.BaseServant
api.UnimplementedUserServant

@ -0,0 +1,9 @@
//go:build constraint
package localoss
import (
api "github.com/rocboss/paopao-ce/auto/api/s/v1"
)
var _ api.User = (*userSrv)(nil)

@ -9,8 +9,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants/base"
)
var _ api.User = (*userSrv)(nil)
type userSrv struct {
*base.BaseServant
api.UnimplementedUserServant

@ -0,0 +1,9 @@
//go:build constraint
package mobile
import (
api "github.com/rocboss/paopao-ce/auto/rpc/greet/v1"
)
var _ api.GreetServiceServer = (*greetServiceSrv)(nil)

@ -8,8 +8,6 @@ import (
api "github.com/rocboss/paopao-ce/auto/rpc/greet/v1"
)
var _ api.GreetServiceServer = (*greetServiceSrv)(nil)
type greetServiceSrv struct {
api.UnimplementedGreetServiceServer
}

@ -0,0 +1,9 @@
//go:build constraint
package space
import (
api "github.com/rocboss/paopao-ce/auto/api/x/v1"
)
var _ api.User = (*userSrv)(nil)

@ -9,8 +9,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants/base"
)
var _ api.User = (*userSrv)(nil)
type userSrv struct {
*base.BaseServant
api.UnimplementedUserServant

@ -18,8 +18,6 @@ import (
"github.com/sirupsen/logrus"
)
var _ api.Admin = (*adminSrv)(nil)
type adminSrv struct {
api.UnimplementedAdminServant
*base.DaoServant

@ -16,11 +16,6 @@ import (
"github.com/smartwalle/alipay/v3"
)
var (
_ api.AlipayPub = (*alipayPubSrv)(nil)
_ api.AlipayPriv = (*alipayPrivSrv)(nil)
)
type alipayPubSrv struct {
api.UnimplementedAlipayPubServant
*base.DaoServant

@ -0,0 +1,23 @@
//go:build constraint
package web
import (
api "github.com/rocboss/paopao-ce/auto/api/v1"
)
var (
_ api.Admin = (*adminSrv)(nil)
_ api.AlipayPub = (*alipayPubSrv)(nil)
_ api.AlipayPriv = (*alipayPrivSrv)(nil)
_ api.Core = (*coreSrv)(nil)
_ api.Followship = (*followshipSrv)(nil)
_ api.Friendship = (*friendshipSrv)(nil)
_ api.Loose = (*looseSrv)(nil)
_ api.Pub = (*pubSrv)(nil)
_ api.Relax = (*relaxSrv)(nil)
_ api.Site = (*siteSrv)(nil)
_ api.Trends = (*trendsSrv)(nil)
_ api.Priv = (*privSrv)(nil)
_ api.PrivChain = (*privChain)(nil)
)

@ -29,8 +29,6 @@ var (
_maxCaptchaTimes int = 2
)
var _ api.Core = (*coreSrv)(nil)
type coreSrv struct {
api.UnimplementedCoreServant
*base.DaoServant

@ -15,8 +15,6 @@ import (
"github.com/sirupsen/logrus"
)
var _ api.Followship = (*followshipSrv)(nil)
type followshipSrv struct {
api.UnimplementedFollowshipServant
*base.DaoServant

@ -14,8 +14,6 @@ import (
"github.com/sirupsen/logrus"
)
var _ api.Friendship = (*friendshipSrv)(nil)
type friendshipSrv struct {
api.UnimplementedFriendshipServant
*base.DaoServant

@ -21,8 +21,6 @@ import (
"github.com/sirupsen/logrus"
)
var _ api.Loose = (*looseSrv)(nil)
type looseSrv struct {
api.UnimplementedLooseServant
*base.DaoServant

@ -27,17 +27,12 @@ import (
"github.com/sirupsen/logrus"
)
var (
_ api.Priv = (*privSrv)(nil)
_ api.PrivChain = (*privChain)(nil)
_uploadAttachmentTypeMap = map[string]ms.AttachmentType{
"public/image": ms.AttachmentTypeImage,
"public/avatar": ms.AttachmentTypeImage,
"public/video": ms.AttachmentTypeVideo,
"attachment": ms.AttachmentTypeOther,
}
)
var _uploadAttachmentTypeMap = map[string]ms.AttachmentType{
"public/image": ms.AttachmentTypeImage,
"public/avatar": ms.AttachmentTypeImage,
"public/video": ms.AttachmentTypeVideo,
"attachment": ms.AttachmentTypeOther,
}
type privSrv struct {
api.UnimplementedPrivServant

@ -27,8 +27,6 @@ import (
"github.com/sirupsen/logrus"
)
var _ api.Pub = (*pubSrv)(nil)
const (
_MaxLoginErrTimes = 10
_MaxPhoneCaptcha = 10

@ -15,8 +15,6 @@ import (
"github.com/sirupsen/logrus"
)
var _ api.Relax = (*relaxSrv)(nil)
type relaxSrv struct {
api.UnimplementedRelaxServant
*base.DaoServant

@ -12,8 +12,6 @@ import (
"github.com/rocboss/paopao-ce/pkg/version"
)
var _ api.Site = (*siteSrv)(nil)
type siteSrv struct {
api.UnimplementedSiteServant
*base.BaseServant

@ -18,8 +18,6 @@ import (
"github.com/sirupsen/logrus"
)
var _ api.Trends = (*trendsSrv)(nil)
type trendsSrv struct {
api.UnimplementedTrendsServant
*base.DaoServant

@ -16,8 +16,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants"
)
var _ Service = (*adminService)(nil)
type adminService struct {
*baseHttpService
}

@ -16,8 +16,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants"
)
var _ Service = (*botService)(nil)
type botService struct {
*baseHttpService
}

@ -0,0 +1,18 @@
//go:build constraint
package service
var (
_ server = (*grpcServer)(nil)
_ server = (*httpServer)(nil)
_ Service = (*adminService)(nil)
_ Service = (*botService)(nil)
_ Service = (*frontendWebService)(nil)
_ Service = (*localossService)(nil)
_ Service = (*metricsService)(nil)
_ Service = (*pprofService)(nil)
_ Service = (*mobileService)(nil)
_ Service = (*spaceXService)(nil)
_ Service = (*webService)(nil)
)

@ -14,8 +14,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants"
)
var _ Service = (*frontendWebService)(nil)
type frontendWebService struct {
*baseHttpService
}

@ -10,8 +10,6 @@ import (
"google.golang.org/grpc"
)
var _ server = (*grpcServer)(nil)
// grpcServer wraper for grpc.Server
type grpcServer struct {
*baseServer

@ -11,8 +11,6 @@ import (
"github.com/gin-gonic/gin"
)
var _ server = (*httpServer)(nil)
// httpServer wraper for gin.engine and http.Server
type httpServer struct {
*baseServer

@ -15,8 +15,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants"
)
var _ Service = (*localossService)(nil)
type localossService struct {
*baseHttpService
}

@ -17,8 +17,6 @@ import (
"github.com/rocboss/paopao-ce/internal/infra/metrics/statistics"
)
var _ Service = (*metricsService)(nil)
type metricsService struct {
*baseHttpService
}

@ -16,8 +16,6 @@ import (
"google.golang.org/grpc"
)
var _ Service = (*mobileService)(nil)
type mobileService struct {
*baseGRPCService
}

@ -13,8 +13,6 @@ import (
"github.com/rocboss/paopao-ce/internal/conf"
)
var _ Service = (*pprofService)(nil)
type pprofService struct {
*baseHttpService
}

@ -16,8 +16,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants"
)
var _ Service = (*spaceXService)(nil)
type spaceXService struct {
*baseHttpService
}

@ -17,8 +17,6 @@ import (
"github.com/rocboss/paopao-ce/internal/servants"
)
var _ Service = (*webService)(nil)
type webService struct {
*baseHttpService
}

4
web/.gitignore vendored

@ -28,3 +28,7 @@ yarn.lock
package-lock.json
components.d.ts
/stats.html
.claude
.agents
skills-lock.json

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

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

@ -1 +0,0 @@
import{_}from"./main-nav.vue_vue_type_style_index_0_lang-D7-FAbTY.js";import{u as a}from"./vue-router-yrkFRUM9.js";import{G as c,a2 as u,B as l}from"./naive-ui-BJojRuLw.js";import{d,f,q as t,w as o,G as x,j as w}from"./@vue-9sINKCPW.js";import{_ as B}from"./index-DxHQoSDp.js";import"./vuex--ttreJMD.js";import"./vooks-CfQnrjIt.js";import"./evtd-CI_DDEu_.js";import"./@vicons-PCg97L0F.js";import"./seemly-D-teBmey.js";import"./vueuc-DrMWnH2h.js";import"./@css-render-DN2R7sM6.js";import"./vdirs-DRH9Xvnd.js";import"./@juggle-C8OzoCMD.js";import"./css-render-BDrvWz3H.js";import"./@emotion-WldOFDRm.js";import"./lodash-es-TJvrUncL.js";import"./treemate-HRdUPn5m.js";import"./async-validator-9PlIezaS.js";import"./date-fns-Db9XENWt.js";import"./axios-t--hEgTQ.js";import"./moment-P60zs0je.js";/* empty css */const g=d({__name:"404",setup(k){const n=a(),p=()=>{n.push({path:"/"})};return(v,r)=>{const e=_,m=l,i=u,s=c;return w(),f("div",null,[t(e,{title:"404"}),t(s,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(i,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(m,{onClick:p},{default:o(()=>r[0]||(r[0]=[x("回主页")])),_:1})]),_:1})]),_:1})])}}}),O=B(g,[["__scopeId","data-v-e62daa85"]]);export{O as default};

@ -0,0 +1 @@
import{A as e,D as t,O as n,Q as r,W as i,w as a}from"./@css-render-YsNuQTaE.js";import{i as o}from"./vue-router-Dw9lfhBK.js";import{$ as s,m as c,x as l}from"./naive-ui-Dv03sO69.js";import"./@juggle-BrKhuOcS.js";import{r as u}from"./sidebar-B2rODElh.js";import{t as d}from"./main-nav-BW6UKmWQ.js";var f=u(e({__name:`404`,setup(e){let u=o(),f=()=>{u.push({path:`/`})};return(e,o)=>{let u=d,p=s,m=c,h=l;return i(),a(`div`,null,[n(u,{title:`404`}),n(h,{class:`main-content-wrap wrap404`,bordered:``},{default:r(()=>[n(m,{status:`404`,title:`404 资源不存在`,description:`再看看其他的吧`},{footer:r(()=>[n(p,{onClick:f},{default:r(()=>[...o[0]||=[t(`回主页`,-1)]]),_:1})]),_:1})]),_:1})])}}}),[[`__scopeId`,`data-v-21b99e62`]]);export{f as default};

@ -1,3 +0,0 @@
import{i as _}from"./@vue-9sINKCPW.js";function N(l){let u=".",m="__",b="--",r;if(l){let e=l.blockPrefix;e&&(u=e),e=l.elementPrefix,e&&(m=e),e=l.modifierPrefix,e&&(b=e)}const o={install(e){r=e.c;const i=e.context;i.bem={},i.bem.b=null,i.bem.els=null}};function d(e){let i,n;return{before(t){i=t.bem.b,n=t.bem.els,t.bem.els=null},after(t){t.bem.b=i,t.bem.els=n},$({context:t,props:f}){return e=typeof e=="string"?e:e({context:t,props:f}),t.bem.b=e,`${(f==null?void 0:f.bPrefix)||u}${t.bem.b}`}}}function $(e){let i;return{before(n){i=n.bem.els},after(n){n.bem.els=i},$({context:n,props:t}){return e=typeof e=="string"?e:e({context:n,props:t}),n.bem.els=e.split(",").map(f=>f.trim()),n.bem.els.map(f=>`${(t==null?void 0:t.bPrefix)||u}${n.bem.b}${m}${f}`).join(", ")}}}function v(e){return{$({context:i,props:n}){e=typeof e=="string"?e:e({context:i,props:n});const t=e.split(",").map(s=>s.trim());function f(s){return t.map(P=>`&${(n==null?void 0:n.bPrefix)||u}${i.bem.b}${s!==void 0?`${m}${s}`:""}${b}${P}`).join(", ")}const c=i.bem.els;return c!==null?f(c[0]):f()}}}function y(e){return{$({context:i,props:n}){e=typeof e=="string"?e:e({context:i,props:n});const t=i.bem.els;return`&:not(${(n==null?void 0:n.bPrefix)||u}${i.bem.b}${t!==null&&t.length>0?`${m}${t[0]}`:""}${b}${e})`}}}return Object.assign(o,{cB:(...e)=>r(d(e[0]),e[1],e[2]),cE:(...e)=>r($(e[0]),e[1],e[2]),cM:(...e)=>r(v(e[0]),e[1],e[2]),cNotM:(...e)=>r(y(e[0]),e[1],e[2])}),o}const M="@css-render/vue3-ssr";function j(l,u){return`<style cssr-id="${l}">
${u}
</style>`}function B(l,u,m){const{styles:b,ids:r}=m;r.has(l)||b!==null&&(r.add(l),b.push(j(l,u)))}const E=typeof document<"u";function k(){if(E)return;const l=_(M,null);if(l!==null)return{adapter:(u,m)=>B(u,m,l),context:l}}export{N as p,k as u};

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
function e(e){for(var t=0,n,r=0,i=e.length;i>=4;++r,i-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(i){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}export{e as t};

@ -1 +0,0 @@
function d(e){for(var f=0,x,a=0,c=e.length;c>=4;++a,c-=4)x=e.charCodeAt(a)&255|(e.charCodeAt(++a)&255)<<8|(e.charCodeAt(++a)&255)<<16|(e.charCodeAt(++a)&255)<<24,x=(x&65535)*1540483477+((x>>>16)*59797<<16),x^=x>>>24,f=(x&65535)*1540483477+((x>>>16)*59797<<16)^(f&65535)*1540483477+((f>>>16)*59797<<16);switch(c){case 3:f^=(e.charCodeAt(a+2)&255)<<16;case 2:f^=(e.charCodeAt(a+1)&255)<<8;case 1:f^=e.charCodeAt(a)&255,f=(f&65535)*1540483477+((f>>>16)*59797<<16)}return f^=f>>>13,f=(f&65535)*1540483477+((f>>>16)*59797<<16),((f^f>>>15)>>>0).toString(36)}export{d as m};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
import{_ as C}from"./post-skeleton-B6KFVL2X.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-D7-FAbTY.js";import{u as R}from"./vuex--ttreJMD.js";import{b as q}from"./vue-router-yrkFRUM9.js";import{K as F,_ as S}from"./index-DxHQoSDp.js";import{G as V,J as A,R as P,H as j}from"./naive-ui-BJojRuLw.js";import{d as D,r as n,b as E,f as e,q as a,w as p,Y as u,F as G,x as H,bq as l,j as o,t as I,k as s,z as _,s as J}from"./@vue-9sINKCPW.js";import"./vooks-CfQnrjIt.js";import"./evtd-CI_DDEu_.js";import"./@vicons-PCg97L0F.js";import"./axios-t--hEgTQ.js";import"./moment-P60zs0je.js";/* empty css */import"./seemly-D-teBmey.js";import"./vueuc-DrMWnH2h.js";import"./@css-render-DN2R7sM6.js";import"./vdirs-DRH9Xvnd.js";import"./@juggle-C8OzoCMD.js";import"./css-render-BDrvWz3H.js";import"./@emotion-WldOFDRm.js";import"./lodash-es-TJvrUncL.js";import"./treemate-HRdUPn5m.js";import"./async-validator-9PlIezaS.js";import"./date-fns-Db9XENWt.js";const K={key:0,class:"pagination-wrap"},L={key:0,class:"skeleton-wrap"},M={key:1},O={key:0,class:"empty-wrap"},T={class:"bill-line"},U=D({__name:"Anouncement",setup(Y){const d=R(),g=q(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),m=n(0),h=c=>{i.value=c};return E(()=>{}),(c,$)=>{const k=N,y=P,w=C,x=A,z=j,B=V;return o(),e("div",null,[a(k,{title:"公告"}),a(B,{class:"main-content-wrap",bordered:""},{footer:p(()=>[m.value>1?(o(),e("div",K,[a(y,{page:i.value,"onUpdate:page":h,"page-slot":l(d).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):u("",!0)]),default:p(()=>[v.value?(o(),e("div",L,[a(w,{num:f.value},null,8,["num"])])):(o(),e("div",M,[r.value.length===0?(o(),e("div",O,[a(x,{size:"large",description:"暂无数据"})])):u("",!0),(o(!0),e(G,null,H(r.value,t=>(o(),I(z,{key:t.id},{default:p(()=>[s("div",T,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:J({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(l(F)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}}),kt=S(U,[["__scopeId","data-v-d4d04859"]]);export{kt as default};

@ -0,0 +1 @@
import{A as e,Bt as t,C as n,H as r,It as i,K as a,O as o,Q as s,S as c,W as l,h as u,ht as d,lt as f,w as p,x as m}from"./@css-render-YsNuQTaE.js";import{r as h}from"./pinia-TbaIYBWH.js";import{r as g}from"./vue-router-Dw9lfhBK.js";import{X as _,b as v,ot as y,x as b}from"./naive-ui-Dv03sO69.js";import"./@juggle-BrKhuOcS.js";import{l as x,r as S}from"./sidebar-B2rODElh.js";import"./moment-D_9q9veS.js";import{i as C}from"./index-BzZcw6rK.js";import{t as w}from"./main-nav-BW6UKmWQ.js";import{t as T}from"./post-skeleton-CJ8iRGBT.js";var E={key:0,class:`pagination-wrap`},D={key:0,class:`skeleton-wrap`},O={key:1},k={key:0,class:`empty-wrap`},A={class:`bill-line`},j=S(e({__name:`Anouncement`,setup(e){let{collapsedRight:S}=h(x()),j=g(),M=f(!1),N=f([]),P=f(+j.query.p||1),F=f(20),I=f(0),L=e=>{P.value=e};return r(()=>{}),(e,r)=>{let f=w,h=_,g=T,x=y,j=v,R=b;return l(),p(`div`,null,[o(f,{title:`公告`}),o(R,{class:`main-content-wrap`,bordered:``},{footer:s(()=>[I.value>1?(l(),p(`div`,E,[o(h,{page:P.value,"onUpdate:page":L,"page-slot":d(S)?5:8,"page-count":I.value},null,8,[`page`,`page-slot`,`page-count`])])):n(``,!0)]),default:s(()=>[M.value?(l(),p(`div`,D,[o(g,{num:F.value},null,8,[`num`])])):(l(),p(`div`,O,[N.value.length===0?(l(),p(`div`,k,[o(x,{size:`large`,description:`暂无数据`})])):n(``,!0),(l(!0),p(u,null,a(N.value,e=>(l(),c(j,{key:e.id},{default:s(()=>[m(`div`,A,[m(`div`,null,`NO.`+t(e.id),1),m(`div`,null,t(e.reason),1),m(`div`,{class:i({income:e.change_amount>=0,out:e.change_amount<0})},t((e.change_amount>0?`+`:``)+(e.change_amount/100).toFixed(2)),3),m(`div`,null,t(d(C)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}}),[[`__scopeId`,`data-v-2279d607`]]);export{j as default};

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

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

@ -1 +0,0 @@
import{_ as D}from"./whisper-CD0RDnNY.js";import{_ as H,a as R}from"./post-item.vue_vue_type_style_index_0_lang-3gNUBBWd.js";import{_ as W}from"./post-skeleton-B6KFVL2X.js";import{_ as Y}from"./main-nav.vue_vue_type_style_index_0_lang-D7-FAbTY.js";import{u as E}from"./vuex--ttreJMD.js";import{b as G}from"./vue-router-yrkFRUM9.js";import{Y as J}from"./v3-infinite-loading-D3303HHP.js";import{U as L,u as K,f as Q,_ as X}from"./index-DxHQoSDp.js";import{d as Z,r as t,b as ee,f as n,q as a,t as d,Y as h,w as u,bq as f,F as b,x as $,k as z,z as oe,j as o}from"./@vue-9sINKCPW.js";import{F as se,G as te,a as ne,J as ae,j as ie,H as le}from"./naive-ui-BJojRuLw.js";import"./content-x8CCof-x.js";import"./@vicons-PCg97L0F.js";import"./paopao-video-player-FrzfkELx.js";import"./copy-to-clipboard-DgsYVcxl.js";import"./toggle-selection-DGa8lynz.js";import"./vooks-CfQnrjIt.js";import"./evtd-CI_DDEu_.js";import"./axios-t--hEgTQ.js";import"./moment-P60zs0je.js";/* empty css */import"./seemly-D-teBmey.js";import"./vueuc-DrMWnH2h.js";import"./@css-render-DN2R7sM6.js";import"./vdirs-DRH9Xvnd.js";import"./@juggle-C8OzoCMD.js";import"./css-render-BDrvWz3H.js";import"./@emotion-WldOFDRm.js";import"./lodash-es-TJvrUncL.js";import"./treemate-HRdUPn5m.js";import"./async-validator-9PlIezaS.js";import"./date-fns-Db9XENWt.js";const re={key:0,class:"skeleton-wrap"},_e={key:1},ue={key:0,class:"empty-wrap"},ce={key:1},me={key:2},pe={class:"load-more-wrap"},de={class:"load-more-spinner"},fe=Z({__name:"Collection",setup(ve){const v=E(),A=G(),B=se(),c=t(!1),_=t(!1),s=t([]),l=t(+A.query.p||1),w=t(20),m=t(0),g=t(!1),k=t({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),y=e=>{k.value=e,g.value=!0},I=()=>{g.value=!1},x=e=>{B.success({title:"提示",content:"确定"+(e.user.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{e.user.is_following?K({user_id:e.user.id}).then(r=>{window.$message.success("操作成功"),C(e.user_id,!1)}).catch(r=>{}):Q({user_id:e.user.id}).then(r=>{window.$message.success("关注成功"),C(e.user_id,!0)}).catch(r=>{})}})};function C(e,r){for(let p in s.value)s.value[p].user_id==e&&(s.value[p].user.is_following=r)}const F=()=>{c.value=!0,L({page:l.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(_.value=!0),l.value>1?s.value=s.value.concat(e.list):(s.value=e.list,window.scrollTo(0,0)),m.value=Math.ceil(e.pager.total_rows/w.value)}).catch(e=>{c.value=!1,l.value>1&&l.value--})},M=()=>{l.value<m.value||m.value==0?(_.value=!1,l.value++,F()):_.value=!0};return ee(()=>{F()}),(e,r)=>{const p=Y,O=W,P=ae,j=H,S=le,q=R,N=D,T=te,U=ie,V=ne;return o(),n("div",null,[a(p,{title:"收藏"}),a(T,{class:"main-content-wrap",bordered:""},{default:u(()=>[c.value&&s.value.length===0?(o(),n("div",re,[a(O,{num:w.value},null,8,["num"])])):(o(),n("div",_e,[s.value.length===0?(o(),n("div",ue,[a(P,{size:"large",description:"暂无数据"})])):h("",!0),f(v).state.desktopModelShow?(o(),n("div",ce,[(o(!0),n(b,null,$(s.value,i=>(o(),d(S,{key:i.id},{default:u(()=>[a(j,{post:i,isOwner:f(v).state.userInfo.id==i.user_id,addFollowAction:!0,onSendWhisper:y,onHandleFollowAction:x},null,8,["post","isOwner"])]),_:2},1024))),128))])):(o(),n("div",me,[(o(!0),n(b,null,$(s.value,i=>(o(),d(S,{key:i.id},{default:u(()=>[a(q,{post:i,isOwner:f(v).state.userInfo.id==i.user_id,addFollowAction:!0,onSendWhisper:y,onHandleFollowAction:x},null,8,["post","isOwner"])]),_:2},1024))),128))]))])),a(N,{show:g.value,user:k.value,onSuccess:I},null,8,["show","user"])]),_:1}),m.value>0?(o(),d(V,{key:0,justify:"center"},{default:u(()=>[a(f(J),{class:"load-more",slots:{complete:"没有更多收藏了",error:"加载出错"},onInfinite:M},{spinner:u(()=>[z("div",pe,[_.value?h("",!0):(o(),d(U,{key:0,size:14})),z("span",de,oe(_.value?"没有更多收藏了":"加载更多"),1)])]),_:1})]),_:1})):h("",!0)])}}}),Je=X(fe,[["__scopeId","data-v-735372fb"]]);export{Je as default};

@ -1 +0,0 @@
.load-more[data-v-735372fb]{margin:20px}.load-more .load-more-wrap[data-v-735372fb]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:14px}.load-more .load-more-wrap .load-more-spinner[data-v-735372fb]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-735372fb],.dark .empty-wrap[data-v-735372fb],.dark .skeleton-wrap[data-v-735372fb]{background-color:#101014bf}

@ -0,0 +1 @@
.load-more[data-v-c376cb92]{margin:20px}.load-more .load-more-wrap[data-v-c376cb92]{flex-direction:row;justify-content:center;align-items:center;gap:14px;display:flex}.load-more .load-more-wrap .load-more-spinner[data-v-c376cb92]{opacity:.65;font-size:14px}.dark .main-content-wrap[data-v-c376cb92],.dark .empty-wrap[data-v-c376cb92],.dark .skeleton-wrap[data-v-c376cb92]{background-color:#101014bf}

@ -0,0 +1 @@
import{o as e}from"./rolldown-runtime-Bhmf7a9N.js";import{A as t,Bt as n,C as r,H as i,K as a,O as o,Q as s,S as c,W as l,h as u,ht as d,lt as f,w as p,x as m}from"./@css-render-YsNuQTaE.js";import{r as h}from"./pinia-TbaIYBWH.js";import{r as g}from"./vue-router-Dw9lfhBK.js";import{P as _,U as v,b as y,f as b,ot as x,x as S}from"./naive-ui-Dv03sO69.js";import"./@juggle-BrKhuOcS.js";import{a as C,c as w,l as T,r as E}from"./sidebar-B2rODElh.js";import"./moment-D_9q9veS.js";import{t as D}from"./main-nav-BW6UKmWQ.js";import{t as O}from"./post-skeleton-CJ8iRGBT.js";import{n as k}from"./useUserAction-DVqObL5J.js";import"./usePostContent-DV6QgefX.js";import"./copy-to-clipboard-qdVIK2zo.js";import{t as A}from"./post-item-iSi0SGnI.js";import"./@vue-cLJXtEPP.js";import{t as j}from"./v3-infinite-loading-Dj1QGmV8.js";var M=e(j()),N={key:0,class:`skeleton-wrap`},P={key:1},F={key:0,class:`empty-wrap`},I={class:`load-more-wrap`},L={class:`load-more-spinner`},R=E(t({__name:`Collection`,setup(e){let t=T(),E=w(),{collapsedRight:j,desktopModelShow:R}=h(t),{userInfo:z}=h(E),B=g();v();let V=f(!1),H=f(!1),U=f([]),W=f(+B.query.p||1),G=f(20),K=f(0),q=f(!1),J=f({id:0,avatar:``,username:``,nickname:``,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),Y=e=>{J.value=e,q.value=!0},X=()=>{q.value=!1};function Z(e,t){for(let n in U.value)U.value[n].user_id==e&&(U.value[n].user.is_following=t)}let Q=()=>{V.value=!0,C.v1.user.get.collections({page:W.value,page_size:G.value}).then(e=>{V.value=!1,e.list.length===0&&(H.value=!0),W.value>1?U.value=U.value.concat(e.list):(U.value=e.list,window.scrollTo(0,0)),K.value=Math.ceil(e.pager.total_rows/G.value)}).catch(e=>{V.value=!1,W.value>1&&W.value--})},$=()=>{W.value<K.value||K.value==0?(H.value=!1,W.value++,Q()):H.value=!0};return i(()=>{Q()}),(e,t)=>{let i=D,f=O,h=x,g=A,v=y,C=k,w=S,T=b,E=_;return l(),p(`div`,null,[o(i,{title:`收藏`}),o(w,{class:`main-content-wrap`,bordered:``},{default:s(()=>[V.value&&U.value.length===0?(l(),p(`div`,N,[o(f,{num:G.value},null,8,[`num`])])):(l(),p(`div`,P,[U.value.length===0?(l(),p(`div`,F,[o(h,{size:`large`,description:`暂无数据`})])):r(``,!0),(l(!0),p(u,null,a(U.value,e=>(l(),c(v,{key:e.id},{default:s(()=>[o(g,{post:e,isOwner:d(z).id==e.user_id,isMobile:!d(R),addFollowAction:``,onSendWhisper:Y,onPostFollowAction:Z},null,8,[`post`,`isOwner`,`isMobile`])]),_:2},1024))),128))])),o(C,{show:q.value,user:J.value,onSuccess:X},null,8,[`show`,`user`])]),_:1}),K.value>0?(l(),c(E,{key:0,justify:`center`},{default:s(()=>[o(d(M.default),{class:`load-more`,slots:{complete:`没有更多收藏了`,error:`加载出错`},onInfinite:$},{spinner:s(()=>[m(`div`,I,[H.value?r(``,!0):(l(),c(T,{key:0,size:14})),m(`span`,L,n(H.value?`没有更多收藏了`:`加载更多`),1)])]),_:1})]),_:1})):r(``,!0)])}}}),[[`__scopeId`,`data-v-c376cb92`]]);export{R as default};

@ -1 +0,0 @@
.contact-item[data-v-42e975ce]{width:100%;box-sizing:border-box;padding:12px 16px}.contact-item[data-v-42e975ce]:hover{background:#f7f9f9}.contact-item .nickname-wrap[data-v-42e975ce],.contact-item .username-wrap[data-v-42e975ce]{line-height:16px;font-size:16px}.contact-item .top-tag[data-v-42e975ce]{transform:scale(.75)}.contact-item .user-info .info-item[data-v-42e975ce]{font-size:14px;line-height:14px;margin-right:8px;opacity:.75}.contact-item .item-header-extra[data-v-42e975ce]{display:flex;align-items:center;opacity:.75}.dark .contact-item[data-v-42e975ce]{background-color:#101014bf}.dark .contact-item[data-v-42e975ce]:hover{background:#18181c}.load-more[data-v-69277f0c]{margin:20px}.load-more .load-more-wrap[data-v-69277f0c]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:14px}.load-more .load-more-wrap .load-more-spinner[data-v-69277f0c]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-69277f0c],.dark .empty-wrap[data-v-69277f0c],.dark .skeleton-wrap[data-v-69277f0c]{background-color:#101014bf}

@ -1 +0,0 @@
import{_ as G}from"./whisper-CD0RDnNY.js";import{d as S,c as H,l as L,f as p,j as s,q as t,w as o,k as a,bq as g,A as O,G as R,z as d,h as B,r,b as W,t as C,Y as b,F as I,x as E}from"./@vue-9sINKCPW.js";import{L as J,_ as N,Y as Q}from"./index-DxHQoSDp.js";import{M as U,Q as K,B as X,i as M,m as Z,G as ee,a as te,J as ne,j as oe,H as se}from"./naive-ui-BJojRuLw.js";import{q as ae,r as ce}from"./@vicons-PCg97L0F.js";import{_ as ie}from"./post-skeleton-B6KFVL2X.js";import{_ as re}from"./main-nav.vue_vue_type_style_index_0_lang-D7-FAbTY.js";import{Y as le}from"./v3-infinite-loading-D3303HHP.js";import{b as _e}from"./vue-router-yrkFRUM9.js";import"./vuex--ttreJMD.js";import"./axios-t--hEgTQ.js";import"./moment-P60zs0je.js";/* empty css */import"./seemly-D-teBmey.js";import"./vueuc-DrMWnH2h.js";import"./evtd-CI_DDEu_.js";import"./@css-render-DN2R7sM6.js";import"./vooks-CfQnrjIt.js";import"./vdirs-DRH9Xvnd.js";import"./@juggle-C8OzoCMD.js";import"./css-render-BDrvWz3H.js";import"./@emotion-WldOFDRm.js";import"./lodash-es-TJvrUncL.js";import"./treemate-HRdUPn5m.js";import"./async-validator-9PlIezaS.js";import"./date-fns-Db9XENWt.js";const ue={class:"contact-item"},pe={class:"nickname-wrap"},me={class:"username-wrap"},de={class:"user-info"},fe={class:"info-item"},ve={class:"info-item"},he={class:"item-header-extra"},ge=S({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(z,{emit:w}){const _=w,l=e=>()=>B(M,null,{default:()=>B(e)}),n=z,c=H(()=>[{label:"私信 @"+n.contact.username,key:"whisper",icon:l(ce)}]),m=e=>{switch(e){case"whisper":const i={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};_("send-whisper",i);break}};return(e,i)=>{const f=Z,k=L("router-link"),y=X,$=K,v=U;return s(),p("div",ue,[t(v,{"content-indented":""},{avatar:o(()=>[t(f,{size:54,src:e.contact.avatar},null,8,["src"])]),header:o(()=>[a("span",pe,[t(k,{onClick:i[0]||(i[0]=O(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:o(()=>[R(d(e.contact.nickname),1)]),_:1},8,["to"])]),a("span",me," @"+d(e.contact.username),1),a("div",de,[a("span",fe," UID. "+d(e.contact.user_id),1),a("span",ve,d(g(J)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":o(()=>[a("div",he,[t($,{placement:"bottom-end",trigger:"click",size:"small",options:c.value,onSelect:m},{default:o(()=>[t(y,{quaternary:"",circle:""},{icon:o(()=>[t(g(M),null,{default:o(()=>[t(g(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}}),we=N(ge,[["__scopeId","data-v-42e975ce"]]),ke={key:0,class:"skeleton-wrap"},ye={key:1},$e={key:0,class:"empty-wrap"},Ce={class:"load-more-wrap"},be={class:"load-more-spinner"},ze=S({__name:"Contacts",setup(z){const w=_e(),_=r(!1),l=r(!1),n=r([]),c=r(+w.query.p||1),m=r(20),e=r(0),i=r(!1),f=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),k=h=>{f.value=h,i.value=!0},y=()=>{i.value=!1},$=()=>{c.value<e.value||e.value==0?(l.value=!1,c.value++,v()):l.value=!0};W(()=>{v()});const v=(h=!1)=>{n.value.length===0&&(_.value=!0),Q({page:c.value,page_size:m.value}).then(u=>{_.value=!1,u.list.length===0&&(l.value=!0),c.value>1?n.value=n.value.concat(u.list):(n.value=u.list,h&&setTimeout(()=>{window.scrollTo(0,99999)},50)),e.value=Math.ceil(u.pager.total_rows/m.value)}).catch(u=>{_.value=!1,c.value>1&&c.value--})};return(h,u)=>{const x=re,P=ie,V=ne,j=we,D=se,F=G,T=ee,Y=oe,A=te;return s(),p(I,null,[a("div",null,[t(x,{title:"好友"}),t(T,{class:"main-content-wrap",bordered:""},{default:o(()=>[_.value&&n.value.length===0?(s(),p("div",ke,[t(P,{num:m.value},null,8,["num"])])):(s(),p("div",ye,[n.value.length===0?(s(),p("div",$e,[t(V,{size:"large",description:"暂无数据"})])):b("",!0),(s(!0),p(I,null,E(n.value,q=>(s(),C(D,{class:"list-item",key:q.user_id},{default:o(()=>[t(j,{contact:q,onSendWhisper:k},null,8,["contact"])]),_:2},1024))),128))])),t(F,{show:i.value,user:f.value,onSuccess:y},null,8,["show","user"])]),_:1})]),e.value>0?(s(),C(A,{key:0,justify:"center"},{default:o(()=>[t(g(le),{class:"load-more",slots:{complete:"没有更多好友了",error:"加载出错"},onInfinite:$},{spinner:o(()=>[a("div",Ce,[l.value?b("",!0):(s(),C(Y,{key:0,size:14})),a("span",be,d(l.value?"没有更多好友了":"加载更多"),1)])]),_:1})]),_:1})):b("",!0)],64)}}}),Xe=N(ze,[["__scopeId","data-v-69277f0c"]]);export{Xe as default};

@ -0,0 +1 @@
.dark .main-content-wrap[data-v-98a9eb10],.dark .empty-wrap[data-v-98a9eb10],.dark .skeleton-wrap[data-v-98a9eb10]{background-color:#101014bf}

@ -0,0 +1 @@
import{A as e,C as t,H as n,K as r,O as i,Q as a,S as o,W as s,h as c,ht as l,lt as u,w as d}from"./@css-render-YsNuQTaE.js";import{r as f}from"./vue-router-Dw9lfhBK.js";import{b as p,ot as m,x as h}from"./naive-ui-Dv03sO69.js";import"./@juggle-BrKhuOcS.js";import{a as g,r as _}from"./sidebar-B2rODElh.js";import"./moment-D_9q9veS.js";import{t as v}from"./main-nav-BW6UKmWQ.js";import{t as y}from"./post-skeleton-CJ8iRGBT.js";import{n as b}from"./useUserAction-DVqObL5J.js";import"./@vue-cLJXtEPP.js";import"./v3-infinite-loading-Dj1QGmV8.js";import{t as x}from"./usePagination-B2kaN_Rm.js";import{t as S}from"./infinite-load-more-CuisQVv6.js";import{t as C}from"./user-card-CSodY5hi.js";var w={key:0,class:`skeleton-wrap`},T={key:1},E={key:0,class:`empty-wrap`},D=_(e({__name:`Contacts`,setup(e){let _=f(),{loading:D,noMore:O,page:k,pageSize:A,totalPage:j}=x(20),M=u([]),N=u(!1),P=u({id:0,avatar:``,username:``,nickname:``,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1});k.value=+_.query.p||1;let F=e=>{P.value=e,N.value=!0},I=()=>{N.value=!1},L=()=>{k.value<j.value||j.value==0?(O.value=!1,k.value++,R()):O.value=!0};n(()=>{R()});let R=(e=!1)=>{M.value.length===0&&(D.value=!0),g.v1.user.get.contacts({page:k.value,page_size:A.value}).then(t=>{D.value=!1,t.list.length===0&&(O.value=!0),k.value>1?M.value=M.value.concat(t.list):(M.value=t.list,e&&setTimeout(()=>{window.scrollTo(0,99999)},50)),j.value=Math.ceil(t.pager.total_rows/A.value)}).catch(e=>{D.value=!1,k.value>1&&k.value--})};return(e,n)=>{let u=v,f=y,g=m,_=p,x=b,k=h;return s(),d(`div`,null,[i(u,{title:`好友`}),i(k,{class:`main-content-wrap`,bordered:``},{default:a(()=>[l(D)&&M.value.length===0?(s(),d(`div`,w,[i(f,{num:l(A)},null,8,[`num`])])):(s(),d(`div`,T,[M.value.length===0?(s(),d(`div`,E,[i(g,{size:`large`,description:`暂无数据`})])):t(``,!0),(s(!0),d(c,null,r(M.value,e=>(s(),o(_,{class:`list-item`,key:e.user_id},{default:a(()=>[i(C,{type:`contact`,contact:e,onSendWhisper:F},null,8,[`contact`])]),_:2},1024))),128))])),i(x,{show:N.value,user:P.value,onSuccess:I},null,8,[`show`,`user`])]),_:1}),i(S,{"total-page":l(j),"no-more":l(O),"complete-text":`没有更多好友了`,onLoadMore:L},null,8,[`total-page`,`no-more`])])}}}),[[`__scopeId`,`data-v-98a9eb10`]]);export{D as default};

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

Loading…
Cancel
Save