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,