index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // index.js
  2. export default {
  3. async fetch(request, env, ctx) {
  4. const url = new URL(request.url);
  5. const pathname = url.pathname;
  6. // 处理 /logo/ 路径的请求
  7. if (pathname.startsWith('/logo/')) {
  8. return new Response('【提示】logo资源已迁移,请使用:https://livecdn.zbds.top/logo/*.png 访问。', {
  9. status: 403,
  10. headers: {
  11. 'Content-Type': 'text/plain; charset=utf-8',
  12. },
  13. });
  14. }
  15. // 处理 .txt 文件,添加 charset=utf-8
  16. if (pathname.endsWith('.txt')) {
  17. const assetRes = await env.ASSETS.fetch(request);
  18. const contentType = assetRes.headers.get('Content-Type') || 'text/plain';
  19. // 克隆原始 headers
  20. const newHeaders = new Headers(assetRes.headers);
  21. // 强制设置正确的 Content-Type 和编码
  22. newHeaders.set('Content-Type', contentType.split(';')[0] + '; charset=utf-8');
  23. const content = await assetRes.text(); // 重新读取文本内容(以 UTF-8)
  24. return new Response(content, {
  25. status: assetRes.status,
  26. headers: newHeaders
  27. });
  28. }
  29. // 默认交给 ASSETS 处理
  30. return await env.ASSETS.fetch(request);
  31. }
  32. };