11 Commits

Author SHA1 Message Date
8d6e2efb53 chore(persist): 修复持久化状态 pick 字段 2026-02-10 01:18:02 +08:00
377c36f846 chore(tsconfig): 修复自动导入引用路径 2026-02-10 01:17:42 +08:00
11581ffad6 fix(typings): 类型移动到 app 目录 2026-02-10 00:47:18 +08:00
9cc21a0107 chore(deps): update deps 2026-02-10 00:42:07 +08:00
5fe7b7f788 Merge pull request 'chore/migrate-to-nuxt4' (#6) from chore/migrate-to-nuxt4 into main 2026-02-10 00:31:46 +08:00
880b85f75d refactor(deps): migrate to nuxt v4 2026-02-10 00:31:04 +08:00
f1b9cea060 chore(deps): 升级 Nuxt 版本至 4.3.1 2026-02-10 00:09:19 +08:00
6a4685f588 chore: 更新项目名称和版本号
Some checks are pending
aigc/aigc_next_multi/pipeline/pr-main Build queued...
aigc/aigc_next_multi/pipeline/head This commit looks good
2026-02-10 00:01:59 +08:00
133c5c661b chore(deps): replace pinia-plugin-persistedstate 2026-02-09 23:55:11 +08:00
6a54ecd003 chore(ide): add Node.js version file for version management
Some checks are pending
aigc/aigc_next_multi/pipeline/pr-main Build queued...
aigc/aigc_next_multi/pipeline/head This commit looks good
2026-02-09 23:53:06 +08:00
8dea27d14a ci: 更新 Jenkinsfile,添加部署参数和构建条件
Some checks are pending
aigc/aigc_next_multi/pipeline/pr-main Build queued...
aigc/aigc_next_multi/pipeline/head This commit looks good
2026-02-09 14:08:10 +08:00
95 changed files with 4634 additions and 5352 deletions

1
.node-version Normal file
View File

@@ -0,0 +1 @@
v22.22.0

View File

@@ -5,5 +5,8 @@
"editor.codeActionsOnSave": { "editor.codeActionsOnSave": {
"source.fixAll.oxc": "always" "source.fixAll.oxc": "always"
}, },
"typescript.tsdk": "node_modules\\typescript\\lib" "typescript.tsdk": "node_modules\\typescript\\lib",
"[typescript]": {
"editor.defaultFormatter": "oxc.oxc-vscode"
}
} }

16
Jenkinsfile vendored
View File

@@ -5,6 +5,19 @@ pipeline {
timestamps() timestamps()
} }
parameters {
choice(
name: 'XSH_DEPLOY_TARGET',
choices: ['main'],
description: 'main眩生花线上版本'
)
booleanParam(
name: 'XSH_DEPLOY_TO_PRODUCTION',
defaultValue: true,
description: '是否自动部署到线上环境(否则只构建产物)\n* 仅在 main 分支生效'
)
}
tools { tools {
nodejs 'NodeJS 22.22' nodejs 'NodeJS 22.22'
} }
@@ -32,7 +45,10 @@ pipeline {
stage('Build') { stage('Build') {
when { when {
allOf {
expression { currentBuild.currentResult == 'SUCCESS' } expression { currentBuild.currentResult == 'SUCCESS' }
expression { env.TAG_NAME != null }
}
} }
steps { steps {
sh ''' sh '''

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 336 KiB

After

Width:  |  Height:  |  Size: 336 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

Before

Width:  |  Height:  |  Size: 411 KiB

After

Width:  |  Height:  |  Size: 411 KiB

View File

@@ -26,7 +26,7 @@ export const useHistory = defineStore(
}, },
{ {
persist: { persist: {
storage: persistedState.localStorage, storage: piniaPluginPersistedstate.localStorage(),
}, },
} }
) )

View File

@@ -72,8 +72,8 @@ export const useLoginState = defineStore(
{ {
persist: { persist: {
key: 'xsh_assistant_persisted_state', key: 'xsh_assistant_persisted_state',
storage: persistedState.localStorage, storage: piniaPluginPersistedstate.localStorage(),
paths: ['is_logged_in', 'token', 'user'], pick: ['is_logged_in', 'token', 'user'],
}, },
} }
) )

View File

@@ -32,8 +32,8 @@ export const useTourState = defineStore(
{ {
persist: { persist: {
key: 'xsh_assistant_tour_state', key: 'xsh_assistant_tour_state',
storage: persistedState.localStorage, storage: piniaPluginPersistedstate.localStorage(),
paths: ['tourState'], pick: ['tourState'],
}, },
} }
) )

View File

@@ -15,7 +15,7 @@ export default defineNuxtConfig({
'radix-vue/nuxt', 'radix-vue/nuxt',
'dayjs-nuxt', 'dayjs-nuxt',
'@pinia/nuxt', '@pinia/nuxt',
'@pinia-plugin-persistedstate/nuxt', 'pinia-plugin-persistedstate',
'@vite-pwa/nuxt', '@vite-pwa/nuxt',
'@nuxtjs/google-fonts', '@nuxtjs/google-fonts',
'@nuxt/image', '@nuxt/image',

View File

@@ -1,6 +1,6 @@
{ {
"name": "xsh-assistant", "name": "xsh-assistant-next",
"version": "0.1.6", "version": "2.0.0",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {
@@ -31,8 +31,9 @@
"highlight.js": "^11.10.0", "highlight.js": "^11.10.0",
"idb-keyval": "^6.2.1", "idb-keyval": "^6.2.1",
"markdown-it": "^14.1.0", "markdown-it": "^14.1.0",
"nuxt": "^3.12.4", "nuxt": "^4.3.1",
"nuxt-driver.js": "^0.0.11", "nuxt-driver.js": "^0.0.11",
"pinia-plugin-persistedstate": "^4.7.1",
"radix-vue": "^1.9.2", "radix-vue": "^1.9.2",
"v-calendar": "^3.1.2", "v-calendar": "^3.1.2",
"vue": "^3.4.34", "vue": "^3.4.34",
@@ -42,22 +43,21 @@
"devDependencies": { "devDependencies": {
"@nuxt/ui": "^2.20.0", "@nuxt/ui": "^2.20.0",
"@nuxtjs/google-fonts": "^3.2.0", "@nuxtjs/google-fonts": "^3.2.0",
"@pinia-plugin-persistedstate/nuxt": "^1.2.1", "@pinia/nuxt": "^0.11.3",
"@pinia/nuxt": "^0.5.2",
"@tailwindcss/typography": "^0.5.13", "@tailwindcss/typography": "^0.5.13",
"@types/markdown-it": "^13.0.9", "@types/markdown-it": "^13.0.9",
"@types/node": "^25.2.2", "@types/node": "^25.2.2",
"@vite-pwa/nuxt": "^0.5.0", "@vite-pwa/nuxt": "^1.1.1",
"@vueuse/core": "^10.11.1", "@vueuse/core": "^14.2.0",
"@vueuse/nuxt": "^10.11.1", "@vueuse/nuxt": "^14.2.0",
"dayjs-nuxt": "^2.1.9", "dayjs-nuxt": "^2.1.11",
"oxfmt": "^0.28.0", "oxfmt": "^0.28.0",
"oxlint": "^1.43.0", "oxlint": "^1.43.0",
"sass": "^1.77.8", "sass": "^1.77.8",
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"peerDependencies": { "peerDependencies": {
"dayjs": "^1.11.12", "dayjs": "^1.11.19",
"tailwindcss": "^3.4.7" "tailwindcss": "^3.4.7"
} }
} }

9913
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,18 @@
{ {
// https://nuxt.com/docs/guide/concepts/typescript // https://nuxt.com/docs/guide/concepts/typescript
"extends": "./.nuxt/tsconfig.json", "files": [],
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"esModuleInterop": true
},
"references": [ "references": [
{ {
"path": "./tsconfig.node.json" "path": "./.nuxt/tsconfig.app.json"
},
{
"path": "./.nuxt/tsconfig.server.json"
},
{
"path": "./.nuxt/tsconfig.shared.json"
},
{
"path": "./.nuxt/tsconfig.node.json"
} }
] ]
} }