| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { fileURLToPath, URL } from 'node:url'
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import vueJsx from '@vitejs/plugin-vue-jsx'
- // https://vite.dev/config/
- export default defineConfig({
- plugins: [
- vue(),
- vueJsx(),
- // vueDevTools(),
- ],
- css: {
- postcss: './postcss.config.js'
- },
- resolve: {
- alias: {
- '@': fileURLToPath(new URL('./src', import.meta.url))
- },
- },
- server: {
- fs: {
- // 允许访问上层目录的node_modules (用于KaTeX字体等资源)
- allow: ['..']
- },
- proxy: {
- // ===== TTS语音合成服务代理(最具体的路径,优先匹配) =====
- '/api/tts': {
- target: 'http://172.16.29.101:22000',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api\/tts/, '/tts'),
- configure: (proxy, options) => {
- proxy.on('error', (err, req, res) => {
- console.log('TTS代理错误:', err);
- });
- proxy.on('proxyReq', (proxyReq, req, res) => {
- console.log('TTS代理请求:', req.method, req.url);
- });
- proxy.on('proxyRes', (proxyRes, req, res) => {
- console.log('TTS代理响应:', proxyRes.statusCode, req.url);
- });
- }
- },
- // ===== ReportGenerator API 代理(最具体的路径,优先匹配) =====
- '/api/v1/report': {
- target: 'http://127.0.0.1:28002',
- changeOrigin: true
- },
- // ===== SSE控制API代理 =====
- '/api/v1/sse': {
- target: 'http://127.0.0.1:28002',
- changeOrigin: true
- },
- // ===== 新增:认证 API 代理(/api/auth/*, /api/user/*, /api/logs/*, /api/captcha/*) =====
- '^/api/(auth|user|logs|captcha|ticket)': {
- target: 'https://aqai.shudaodsj.com:22000/', // 后端认证服务地址
- changeOrigin: true,
- // 不重写路径,直接转发
- },
- // 业务 API 代理
- '/apiv1': {
- target: 'http://127.0.0.1:22000',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/apiv1/, '/apiv1'),
- }
- }
- }
- })
|