Compare commits

..

4 Commits

Author SHA1 Message Date
Timi
ee6afe3e85 update timi dependency npm 2026-04-08 10:53:20 +08:00
Timi
729443ffdc fix loading margin 2025-12-05 12:01:23 +08:00
Timi
a3f71e0a5a fix total text 2025-07-24 19:06:09 +08:00
Timi
cb509834f5 add operator avatar for PushLogTimeline.vue 2025-07-23 10:32:08 +08:00
9 changed files with 3065 additions and 2750 deletions

15
.gitignore vendored
View File

@@ -1,3 +1,10 @@
/.env.production
/.eslintrc-auto-import.json
/components.d.ts
/src/auto-imports.d.ts
/vite.config.ts.timestamp*
/.npmrc
# Logs # Logs
logs logs
*.log *.log
@@ -21,10 +28,4 @@ dist-ssr
*.ntvs* *.ntvs*
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
/.env.production
/.eslintrc-auto-import.json
/components.d.ts
/src/auto-imports.d.ts
/vite.config.ts.timestamp*

View File

@@ -10,39 +10,39 @@
}, },
"dependencies": { "dependencies": {
"@marsio/vue-split-pane": "^1.0.0", "@marsio/vue-split-pane": "^1.0.0",
"less": "^4.3.0", "less": "^4.6.4",
"pinia": "^2.1.7", "pinia": "^2.3.1",
"tdesign-vue-next": "^1.14.2", "tdesign-vue-next": "^1.18.6",
"timi-tdesign-pc": "link:..\\timi-tdesign-pc", "timi-tdesign-pc": "0.0.1",
"timi-web": "link:..\\timi-web", "timi-web": "0.0.2",
"vue-clipboard3": "^2.0.0", "vue-clipboard3": "^2.0.0",
"vue-router": "4" "vue-router": "^4.6.4"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^22.13.5", "@types/node": "^22.19.17",
"@typescript-eslint/eslint-plugin": "^8.25.0", "@typescript-eslint/eslint-plugin": "^8.58.0",
"@typescript-eslint/parser": "^8.25.0", "@typescript-eslint/parser": "^8.58.0",
"@vitejs/plugin-basic-ssl": "^2.0.0", "@vitejs/plugin-basic-ssl": "^2.3.0",
"@vitejs/plugin-vue": "^5.2.4", "@vitejs/plugin-vue": "^5.2.4",
"@vue/cli-plugin-babel": "^5.0.8", "@vue/cli-plugin-babel": "^5.0.9",
"@vue/compiler-sfc": "^3.5.13", "@vue/compiler-sfc": "^3.5.32",
"@vue/eslint-config-prettier": "^10.2.0", "@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.4.0", "@vue/eslint-config-typescript": "^14.7.0",
"@vue/tsconfig": "^0.7.0", "@vue/tsconfig": "^0.7.0",
"eslint": "^8.56.0", "eslint": "9.26.0",
"eslint-config-prettier": "^10.0.1", "eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.2.3", "eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-promise": "^7.2.1", "eslint-plugin-promise": "^7.2.1",
"eslint-plugin-vue": "^9.32.0", "eslint-plugin-vue": "^9.33.0",
"less": "^4.3.0", "less": "^4.3.0",
"prettier": "^3.5.2", "prettier": "^3.8.1",
"typescript": "^5.8.3", "typescript": "^5.9.3",
"unplugin-auto-import": "^19.3.0", "unplugin-auto-import": "^19.3.0",
"unplugin-vue-components": "^28.7.0", "unplugin-vue-components": "^28.8.0",
"vite": "6.3.4", "vite": "7.1.11",
"vite-plugin-dts": "^4.5.4", "vite-plugin-dts": "^4.5.4",
"vite-plugin-vue-setup-extend": "^0.4.0", "vite-plugin-vue-setup-extend": "^0.4.0",
"vue": "^3.5.17", "vue": "^3.5.32",
"vue-tsc": "^2.2.10" "vue-tsc": "^2.2.12"
} }
} }

5731
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -8,9 +8,8 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { BEFlowerFall, Popup } from "timi-web"; import { BEFlowerFall, Popup, SettingMapper } from "timi-web";
import { RootLayout, UserProfilePopup } from "timi-tdesign-pc"; import { RootLayout, UserProfilePopup } from "timi-tdesign-pc";
import { SettingMapper } from "../../timi-web";
const route = useRoute(); const route = useRoute();

View File

@@ -25,7 +25,7 @@
</t-tab-panel> </t-tab-panel>
</t-tabs> </t-tabs>
<div v-if="file" :class="`viewer ${clazz}`" @click="file.isPreview = false"> <div v-if="file" :class="`viewer ${clazz}`" @click="file.isPreview = false">
<loading class="loading" :showOn="isLoading" /> <loading class="loading" :showOn="isLoading" margin="1rem 0 0 0" />
<div <div
v-if="file.viewerType === FileViewerType.NOT_SUPPORT" v-if="file.viewerType === FileViewerType.NOT_SUPPORT"
class="not-support" class="not-support"

View File

@@ -12,7 +12,13 @@
<t-card class="item"> <t-card class="item">
<div> <div>
<div class="user"> <div class="user">
<icon class="avatar" name="USER"/> <t-avatar
class="avatar"
:class="(<any>ImageType)[action.operator.profile.avatarType]"
:image="UserAPI.getAvatarURL(action.operator.profile)"
size="small"
shape="round"
/>
<span v-text="action.operator.name"></span> <span v-text="action.operator.name"></span>
</div> </div>
<div v-if="showRepo" class="repository"> <div v-if="showRepo" class="repository">
@@ -57,7 +63,7 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { Icon, Time } from "timi-web"; import { ImageType, Time, UserAPI } from "timi-web";
import { MessagePlugin } from "tdesign-vue-next"; import { MessagePlugin } from "tdesign-vue-next";
import { ActionLogView } from "@/types/Common.ts"; import { ActionLogView } from "@/types/Common.ts";
@@ -91,6 +97,7 @@ const { items } = toRefs(props);
.user { .user {
display: flex; display: flex;
align-items: center;
.avatar { .avatar {
margin-right: .5rem; margin-right: .5rem;

View File

@@ -2,7 +2,7 @@ import { createApp } from "vue";
import router from "@/router"; import router from "@/router";
import { NavigationGuardNext, RouteLocationNormalized } from "vue-router"; import { NavigationGuardNext, RouteLocationNormalized } from "vue-router";
import { axios, Scroller, userStore, VDraggable, VPopup } from "timi-web"; import { axios, Network, Scroller, userStore, VDraggable, VPopup } from "timi-web";
import { DialogPlugin } from "tdesign-vue-next"; import { DialogPlugin } from "tdesign-vue-next";
import Root from "@/Root.vue"; import Root from "@/Root.vue";
@@ -22,6 +22,7 @@ console.log(`
// ---------- 网络 ---------- // ---------- 网络 ----------
axios.defaults.baseURL = import.meta.env.VITE_API; axios.defaults.baseURL = import.meta.env.VITE_API;
axios.interceptors.request.use(Network.userTokenInterceptors);
// ---------- 路由 ---------- // ---------- 路由 ----------
router.beforeEach(async (to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext): Promise<void> => { router.beforeEach(async (to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext): Promise<void> => {
await userStore.login4Storage(); await userStore.login4Storage();

View File

@@ -1,4 +1,4 @@
import { UserView } from "../../../timi-web"; import { UserView } from "timi-web";
export type ActionLogView = { export type ActionLogView = {

View File

@@ -31,7 +31,7 @@
:onCurrentChange="onPageChangeEvent" :onCurrentChange="onPageChangeEvent"
> >
<template #totalContent> <template #totalContent>
<div style="flex: 1" v-text="`共 ${pageResult.total} 篇文章`"></div> <div style="flex: 1" v-text="`共 ${pageResult.total} 个项目`"></div>
</template> </template>
</t-pagination> </t-pagination>
</footer> </footer>