规定数据类型

This commit is contained in:
2026-04-24 01:45:41 +08:00
parent d1943f564a
commit 35eff3faf6
86 changed files with 3809 additions and 0 deletions

30
client/package.json Normal file
View File

@@ -0,0 +1,30 @@
{
"name": "@sillytavern-repalice/client",
"version": "1.0.0",
"description": "Frontend client for SillyTavern Repalice",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vue-tsc && vite build",
"preview": "vite preview",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
},
"dependencies": {
"vue": "^3.4.0",
"vue-router": "^4.2.5",
"pinia": "^2.1.7",
"axios": "^1.6.5",
"@vueuse/core": "^10.7.2",
"zod": "^3.22.4"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.3",
"@vue/eslint-config-typescript": "^12.0.0",
"@vue/tsconfig": "^0.5.1",
"eslint": "^8.56.0",
"eslint-plugin-vue": "^9.19.2",
"typescript": "^5.3.3",
"vite": "^5.0.11",
"vue-tsc": "^1.8.27"
}
}

1
client/src/.gitkeep Normal file
View File

@@ -0,0 +1 @@
// Vue3 Frontend Directory Structure

1
client/src/api/.gitkeep Normal file
View File

@@ -0,0 +1 @@
// API Client and Services will be placed here

View File

@@ -0,0 +1 @@
// Static Assets (images, fonts, etc.) will be placed here

View File

@@ -0,0 +1 @@
// Center Panel Components will be placed here

View File

@@ -0,0 +1 @@
// Chat Input Feature will be placed here

View File

@@ -0,0 +1 @@
// Message List Feature will be placed here

View File

@@ -0,0 +1 @@
// Left Panel Components will be placed here

View File

@@ -0,0 +1 @@
// Character List Feature will be placed here

View File

@@ -0,0 +1 @@
// Chat History Feature will be placed here

View File

@@ -0,0 +1 @@
// Right Panel Components will be placed here

View File

@@ -0,0 +1 @@
// Character Detail Feature will be placed here

View File

@@ -0,0 +1 @@
// Workflow Editor Feature will be placed here

View File

@@ -0,0 +1 @@
// Top Bar Components will be placed here

View File

@@ -0,0 +1 @@
// Model Switcher Feature will be placed here

View File

@@ -0,0 +1 @@
// Quick Actions Feature will be placed here

View File

@@ -0,0 +1 @@
// Reusable Base Components will be placed here

View File

@@ -0,0 +1 @@
// Composables (Vue 3 Composition API) will be placed here

View File

@@ -0,0 +1 @@
// Constants and Configuration will be placed here

View File

@@ -0,0 +1 @@
// Layout Components will be placed here

View File

@@ -0,0 +1 @@
// Vue Router Configuration will be placed here

View File

@@ -0,0 +1 @@
// Pinia Stores will be placed here

View File

@@ -0,0 +1 @@
// Global Styles and CSS Variables will be placed here

View File

@@ -0,0 +1 @@
// Utility Functions will be placed here

27
client/tsconfig.json Normal file
View File

@@ -0,0 +1,27 @@
{
"extends": "@vue/tsconfig/tsconfig.dom.json",
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"skipLibCheck": true,
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
"@shared/*": ["../shared/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [{ "path": "./tsconfig.node.json" }]
}

10
client/tsconfig.node.json Normal file
View File

@@ -0,0 +1,10 @@
{
"compilerOptions": {
"composite": true,
"skipLibCheck": true,
"module": "ESNext",
"moduleResolution": "bundler",
"allowSyntheticDefaultImports": true
},
"include": ["vite.config.ts"]
}

22
client/vite.config.ts Normal file
View File

@@ -0,0 +1,22 @@
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
'@shared': path.resolve(__dirname, '../shared'),
},
},
server: {
port: 5173,
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
},
},
},
});