renderer.tsx 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import { GlobalConfig } from '@/share/types'
  2. import { reactRenderer } from '@hono/react-renderer'
  3. // import { Script, Link } from 'hono-vite-react-stack-node/components'
  4. import process from 'node:process'
  5. // 全局配置常量
  6. const GLOBAL_CONFIG: GlobalConfig = {
  7. OSS_BASE_URL: process.env.OSS_BASE_URL || 'https://oss.d8d.fun',
  8. APP_NAME: process.env.APP_NAME || '多八多Aider',
  9. }
  10. // export const renderer = reactRenderer(({ children }) => {
  11. // return (
  12. // <html>
  13. // <head>
  14. // <meta charSet="UTF-8" />
  15. // <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  16. // <script src="https://ai-oss.d8d.fun/umd/vconsole.3.15.1.min.js"></script>
  17. // <script dangerouslySetInnerHTML={{ __html: `
  18. // const init = () => {
  19. // const urlParams = new URLSearchParams(window.location.search);
  20. // if (${import.meta.env?.PROD ? "true":"false"} && !urlParams.has('vconsole')) return;
  21. // var vConsole = new VConsole({
  22. // theme: urlParams.get('vconsole_theme') || 'light',
  23. // onReady: function() {
  24. // console.log('vConsole is ready');
  25. // }
  26. // });
  27. // }
  28. // init();
  29. // `}} />
  30. // {/* 注入全局配置 */}
  31. // <script dangerouslySetInnerHTML={{ __html: `window.CONFIG = ${JSON.stringify(GLOBAL_CONFIG)};` }} />
  32. // </head>
  33. // <body>
  34. // {children}
  35. // <script type="module" src="/src/client/index.tsx"></script>
  36. // </body>
  37. // </html>
  38. // )
  39. // })
  40. export const Rooter = () => {
  41. return (
  42. <html>
  43. <head>
  44. <meta charSet="UTF-8" />
  45. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  46. <link href='/src/style.css' rel="stylesheet" />
  47. <script src="https://ai-oss.d8d.fun/umd/vconsole.3.15.1.min.js"></script>
  48. <script dangerouslySetInnerHTML={{ __html: `
  49. const init = () => {
  50. const urlParams = new URLSearchParams(window.location.search);
  51. if (${import.meta.env?.PROD ? "true":"false"} && !urlParams.has('vconsole')) return;
  52. var vConsole = new VConsole({
  53. theme: urlParams.get('vconsole_theme') || 'light',
  54. onReady: function() {
  55. console.log('vConsole is ready');
  56. }
  57. });
  58. }
  59. init();
  60. `}} />
  61. {/* 注入全局配置 */}
  62. <script dangerouslySetInnerHTML={{ __html: `window.CONFIG = ${JSON.stringify(GLOBAL_CONFIG)};` }} />
  63. </head>
  64. <body>
  65. <div id='root' dangerouslySetInnerHTML={{ __html: '<!--app-html-->'}}></div>
  66. <script type="module" src="/src/client/index.tsx"></script>
  67. </body>
  68. </html>
  69. )
  70. }