From 9e77523f0d21541256f983a97db4f2d5b8b463be Mon Sep 17 00:00:00 2001 From: Rogee Date: Tue, 24 Sep 2024 11:34:31 +0800 Subject: [PATCH] ci: build actions --- .gitea/workflows/build.yml | 40 +++++++++++++++++++++++++ frontend/src/views/ChannelMessages.vue | 13 ++++---- frontend/src/views/FavoriteMessages.vue | 11 ++++--- 3 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 .gitea/workflows/build.yml diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..535b661 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,40 @@ +name: Build TGExporter +run-name: ${{ gitea.actor }} Build TGExporter +on: [push] + +jobs: + Build: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: "20" + + - name: Install dependencies and build frontend + run: | + cd frontend + npm config set registry https://npm.hub.ipao.vip + npm install + npm run build + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: "1.20" + + - name: Build Go application + run: | + mkdir -p build + go env -w GOPROXY=https://go.hub.ipao.vip,direct + go build -o build/exporter ./cmd/exporter + + - name: Build final Docker image + run: | + echo 'FROM docker.hub.ipao.vip/alpine:3.20' > Dockerfile + echo 'COPY config.yml /root/.exporter.yml' >> Dockerfile + echo 'COPY build/exporter /usr/local/exporter' >> Dockerfile + docker build --push -t docker-af.hub.ipao.vip/rogeecn/tg-exporter:latest . diff --git a/frontend/src/views/ChannelMessages.vue b/frontend/src/views/ChannelMessages.vue index 9959903..2f90f7b 100644 --- a/frontend/src/views/ChannelMessages.vue +++ b/frontend/src/views/ChannelMessages.vue @@ -15,7 +15,7 @@ import ListItem from "@/components/ListItem.vue"; import { getChannel } from "@/services/channels"; import { getChannelMessages } from "@/services/messages"; -import { onMounted, ref } from "vue"; +import { nextTick, onMounted, ref } from "vue"; import { useRoute, useRouter } from "vue-router"; const route = useRoute(); @@ -31,9 +31,9 @@ const loadMore = async () => { // page scroll to top with animation window.scrollTo({ top: 0, behavior: "smooth" }); - messages.value = []; - const offset = messages.value[messages.value.length - 1].ID + + messages.value = []; router.push({ name: "channel-messages", params: { @@ -42,8 +42,11 @@ const loadMore = async () => { }, }); - messages.value = await getChannelMessages(route.params.channel, { offset: offset }); - console.log("messages", messages.value); + // nextTick 干什么用的? + nextTick(async () => { + messages.value = await getChannelMessages(route.params.channel, { offset: offset }); + console.log("messages", messages.value); + }); } onMounted(async () => { diff --git a/frontend/src/views/FavoriteMessages.vue b/frontend/src/views/FavoriteMessages.vue index 6b76280..c70c809 100644 --- a/frontend/src/views/FavoriteMessages.vue +++ b/frontend/src/views/FavoriteMessages.vue @@ -16,7 +16,7 @@