diff --git a/apps/common/middleware/doc_headers_middleware.py b/apps/common/middleware/doc_headers_middleware.py
new file mode 100644
index 000000000..d818b842c
--- /dev/null
+++ b/apps/common/middleware/doc_headers_middleware.py
@@ -0,0 +1,62 @@
+# coding=utf-8
+"""
+ @project: maxkb
+ @Author:虎
+ @file: static_headers_middleware.py
+ @date:2024/3/13 18:26
+ @desc:
+"""
+from django.http import HttpResponse
+from django.utils.deprecation import MiddlewareMixin
+
+content = """
+
+
+
+
+
+
+ Document
+
+
+
+
+
+"""
+
+
+class DocHeadersMiddleware(MiddlewareMixin):
+ def process_response(self, request, response):
+ if request.path.startswith('/doc/') or request.path.startswith('/doc/chat/'):
+ HTTP_REFERER = request.META.get('HTTP_REFERER')
+ if HTTP_REFERER is None:
+ return HttpResponse(content)
+ if HTTP_REFERER == request._current_scheme_host + request.path:
+ return response
+ return response
diff --git a/apps/smartdoc/settings/base.py b/apps/smartdoc/settings/base.py
index 51c9d14d7..edf458662 100644
--- a/apps/smartdoc/settings/base.py
+++ b/apps/smartdoc/settings/base.py
@@ -57,8 +57,8 @@ MIDDLEWARE = [
'django.contrib.messages.middleware.MessageMiddleware',
'common.middleware.gzip.GZipMiddleware',
'common.middleware.static_headers_middleware.StaticHeadersMiddleware',
- 'common.middleware.cross_domain_middleware.CrossDomainMiddleware'
-
+ 'common.middleware.cross_domain_middleware.CrossDomainMiddleware',
+ 'common.middleware.doc_headers_middleware.DocHeadersMiddleware'
]
JWT_AUTH = {
diff --git a/ui/vite.config.ts b/ui/vite.config.ts
index 6c442abd1..f34b0363e 100644
--- a/ui/vite.config.ts
+++ b/ui/vite.config.ts
@@ -9,13 +9,23 @@ const envDir = './env'
// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
const ENV = loadEnv(mode, envDir)
- const prefix = process.env.VITE_DYNAMIC_PREFIX || ENV.VITE_BASE_PATH;
+ const prefix = process.env.VITE_DYNAMIC_PREFIX || ENV.VITE_BASE_PATH
const proxyConf: Record = {}
proxyConf['/api'] = {
target: 'http://127.0.0.1:8080',
changeOrigin: true,
rewrite: (path) => path.replace(ENV.VITE_BASE_PATH, '/')
}
+ proxyConf['/doc'] = {
+ target: 'http://127.0.0.1:8080',
+ changeOrigin: true,
+ rewrite: (path) => path.replace(ENV.VITE_BASE_PATH, '/')
+ }
+ proxyConf['/static'] = {
+ target: 'http://127.0.0.1:8080',
+ changeOrigin: true,
+ rewrite: (path) => path.replace(ENV.VITE_BASE_PATH, '/')
+ }
return {
preflight: false,
lintOnSave: false,