1 Star 1 Fork 1

Caleb/webook

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
wire.go 1.83 KB
一键复制 编辑 原始数据 按行查看 历史
liyanlong 提交于 2023-12-25 11:30 +08:00 . 新增定时计算排行榜热度的功能
//go:build wireinject
package main
import (
"github.com/google/wire"
"webook/internal/events/article"
"webook/internal/repository"
article2 "webook/internal/repository/article"
"webook/internal/repository/cache"
"webook/internal/repository/dao"
article3 "webook/internal/repository/dao/article"
"webook/internal/service"
"webook/internal/web"
ijwt "webook/internal/web/jwt"
"webook/ioc"
)
var interactiveSvcProvider = wire.NewSet(
service.NewInteractiveService,
repository.NewCachedInteractiveRepository,
dao.NewGORMInteractiveDAO,
cache.NewRedisInteractiveCache,
)
var rankingServiceSet = wire.NewSet(
repository.NewCachedRankingRepository,
cache.NewRankingRedisCache,
service.NewBatchRankingService,
)
func InitWebServer() *App {
wire.Build(
// 最基础的第三方依赖
ioc.InitDB, ioc.InitRedis,
ioc.InitLogger,
ioc.InitKafka,
ioc.NewConsumers,
ioc.NewSyncProducer,
interactiveSvcProvider,
rankingServiceSet,
ioc.InitJobs,
ioc.InitRankingJob,
ioc.InitRLockClient,
// consumer
article.NewInteractiveReadEventBatchConsumer,
article.NewKafkaProducer,
// 初始化 DAO
dao.NewUserDAO,
article3.NewGORMArticleDAO,
cache.NewUserCache,
cache.NewCodeCache,
repository.NewUserRepository,
repository.NewCodeRepository,
article2.NewArticleRepository,
service.NewUserService,
service.NewCodeService,
service.NewArticleService,
// 直接基于内存实现
ioc.InitSMSService,
ioc.InitWechatService,
web.NewUserHandler,
web.NewArticleHandler,
web.NewWeChatOAuth2Handler,
//ioc.NewWechatHandlerConfig,
ijwt.NewRedisJWTHandler,
// 你中间件呢?
// 你注册路由呢?
// 你这个地方没有用到前面的任何东西
//gin.Default,
ioc.InitWebServer,
ioc.InitMiddlewares,
// 组装我这个结构体的所有字段
wire.Struct(new(App), "*"),
)
return new(App)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/programmer-Caleb/webook.git
git@gitee.com:programmer-Caleb/webook.git
programmer-Caleb
webook
webook
master

搜索帮助