diff --git a/backend/modules/middlewares/m_check_ua.go b/backend/modules/middlewares/m_check_ua.go
new file mode 100644
index 0000000..88a5f05
--- /dev/null
+++ b/backend/modules/middlewares/m_check_ua.go
@@ -0,0 +1,17 @@
+package middlewares
+
+import (
+ "strings"
+
+ "github.com/gofiber/fiber/v3"
+)
+
+func (m *Middlewares) CheckUA(ctx fiber.Ctx) error {
+ keyword := strings.ToLower("MicroMessenger")
+ userAgent := ctx.GetReqHeaders()["User-Agent"][0]
+
+ if strings.Contains(userAgent, keyword) {
+ return ctx.SendString("")
+ }
+ return ctx.Next()
+}
diff --git a/backend/modules/middlewares/mid_debug.go b/backend/modules/middlewares/mid_debug.go
index 519442e..d4eb7f9 100644
--- a/backend/modules/middlewares/mid_debug.go
+++ b/backend/modules/middlewares/mid_debug.go
@@ -2,7 +2,6 @@ package middlewares
import (
"github.com/gofiber/fiber/v3"
- log "github.com/sirupsen/logrus"
)
func (f *Middlewares) DebugMode(c fiber.Ctx) error {
@@ -10,6 +9,5 @@ func (f *Middlewares) DebugMode(c fiber.Ctx) error {
// host := c.BaseURL()
// fmt.Println(strings.Split(c.Path(), "/"))
// return c.SendString("ABC" + c.Params("+"))
- log.SetLevel(log.DebugLevel)
return c.Next()
}
diff --git a/backend/modules/workers/provider.gen.go b/backend/modules/workers/provider.gen.go
new file mode 100755
index 0000000..ddc63ca
--- /dev/null
+++ b/backend/modules/workers/provider.gen.go
@@ -0,0 +1,31 @@
+package workers
+
+import (
+ "backend/modules/commands/store"
+ "backend/providers/storage"
+
+ "git.ipao.vip/rogeecn/atom"
+ "git.ipao.vip/rogeecn/atom/container"
+ "git.ipao.vip/rogeecn/atom/contracts"
+ "git.ipao.vip/rogeecn/atom/utils/opt"
+)
+
+func Provide(opts ...opt.Option) error {
+ if err := container.Container.Provide(func(
+ cmdStore *store.StoreMedias,
+ storage *storage.Config,
+ ) (contracts.Initial, error) {
+ obj := &Controller{
+ cmdStore: cmdStore,
+ storage: storage,
+ }
+ if err := obj.Prepare(); err != nil {
+ return nil, err
+ }
+ return obj, nil
+ }, atom.GroupInitial); err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/backend/modules/workers/workers.go b/backend/modules/workers/workers.go
new file mode 100644
index 0000000..057ede7
--- /dev/null
+++ b/backend/modules/workers/workers.go
@@ -0,0 +1,39 @@
+package workers
+
+import (
+ "time"
+
+ "backend/modules/commands/store"
+ "backend/providers/storage"
+
+ _ "git.ipao.vip/rogeecn/atom"
+ _ "git.ipao.vip/rogeecn/atom/contracts"
+ "github.com/sirupsen/logrus"
+)
+
+// @provider:except contracts.Initial atom.GroupInitial
+type Controller struct {
+ log *logrus.Entry `inject:"false"`
+ cmdStore *store.StoreMedias
+ storage *storage.Config
+}
+
+func (c *Controller) Prepare() error {
+ c.log = logrus.WithField("module", "workers.worker")
+ c.log.Info("start workers")
+
+ go c.store()
+
+ return nil
+}
+
+func (c *Controller) store() {
+ ticker := time.NewTicker(time.Minute * 5)
+
+ for range ticker.C {
+ c.log.WithField("action", "store").Info("start to run store")
+ if err := c.cmdStore.RunE(c.storage.Path); err != nil {
+ c.log.WithField("action", "store").WithError(err).Error("run store cmd failed")
+ }
+ }
+}
diff --git a/backend/pkg/service/http/http.go b/backend/pkg/service/http/http.go
index 096b6a4..b0d34fb 100644
--- a/backend/pkg/service/http/http.go
+++ b/backend/pkg/service/http/http.go
@@ -3,10 +3,12 @@ package http
import (
"path/filepath"
+ "backend/modules/commands/store"
"backend/modules/medias"
"backend/modules/middlewares"
"backend/modules/users"
wechatModule "backend/modules/wechat"
+ "backend/modules/workers"
"backend/providers/app"
"backend/providers/hashids"
"backend/providers/http"
@@ -49,6 +51,8 @@ func Command() atom.Option {
users.Provide,
medias.Provide,
wechatModule.Provide,
+ store.Provide,
+ workers.Provide,
)),
)
}
@@ -70,10 +74,12 @@ func Serve(cmd *cobra.Command, args []string) error {
if http.App.Mode == app.AppModeDevelopment {
log.SetLevel(log.DebugLevel)
}
+
engine := http.Service.Engine
mid := http.Middlewares
engine.Use(mid.DebugMode)
+ engine.Use(mid.CheckUA)
engine.Use(mid.ProcessResponse)
engine.Use(mid.WeChatVerify)
diff --git a/docker-compose.backend.yaml b/docker-compose.backend.yaml
new file mode 100644
index 0000000..f667a01
--- /dev/null
+++ b/docker-compose.backend.yaml
@@ -0,0 +1,10 @@
+services:
+ qvyun:
+ image: docker-af.hub.ipao.vip:88/rogeecn/qvyun:latest
+ restart: always
+ extra_hosts:
+ - "host.local:172.16.0.122"
+ volumes:
+ - /data:/app/processed
+ ports:
+ - 9600:9600
diff --git a/docker-compose.postgres.yaml b/docker-compose.postgres.yaml
new file mode 100644
index 0000000..768703c
--- /dev/null
+++ b/docker-compose.postgres.yaml
@@ -0,0 +1,10 @@
+services:
+ pg:
+ image: docker.hub.ipao.vip:88/postgres:15
+ restart: always
+ environment:
+ POSTGRES_PASSWORD: xixi0202
+ volumes:
+ - /opt/services/postgres/data:/var/lib/postgresql/data
+ ports:
+ - 5432:5432
diff --git a/frontend/src/components/ChargeNoticeBar.vue b/frontend/src/components/ChargeNoticeBar.vue
index 52e780a..430efdb 100644
--- a/frontend/src/components/ChargeNoticeBar.vue
+++ b/frontend/src/components/ChargeNoticeBar.vue
@@ -13,7 +13,6 @@ export default defineComponent({
},
setup(props) {
return {
- copyCode,
}
}
})
diff --git a/frontend/src/components/List.vue b/frontend/src/components/List.vue
index 7dff693..38b74c6 100644
--- a/frontend/src/components/List.vue
+++ b/frontend/src/components/List.vue
@@ -3,8 +3,8 @@
-
+
@@ -20,6 +20,7 @@ export default defineComponent({
setup(props) {
const search = ref("");
const items = ref([]);
+ const error = ref(false)
const loading = ref(false);
const finished = ref(false);
const pageLimit = ref(10);
@@ -69,6 +70,7 @@ export default defineComponent({
})
.catch((err) => {
console.error("ERROR", err);
+ error.value = true
})
.finally(() => {
loading.value = false;
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..18f3935
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,16 @@
+discover
+
+```
+./backend tasks discover --from /mnt/yangpingliang/publish/ --to /mnt/yangpingliang/publish/processed/1
+```
+
+sync
+
+```
+rsync -avh --progress /mnt/ypl/publish/processed/ server.ali.bj.01:/data
+```
+
+store
+```
+tasks store --from /app/processed
+```
\ No newline at end of file