十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Three.js 交互式 3D 人体解剖开源项目

Three.js 交互式 3D 人体解剖开源项目 thebuggeddev/anatomy: An interactive 3D human anatomy explorer built using threejs with GPT 5.6 SolThree.js 交互式 3D 人体解剖开源项目vinext-starter一个基于vinext​ 的简洁全栈 starter可选集成 Cloudflare D1 与 Drizzle ORM。环境要求Node.js 22.13.0快速开始npm install npm run dev # 启动本地开发服务器 npm run build # 构建项目验证 vinext 构建产物本项目不使用wrangler.jsonc。项目结构路径说明app/站点业务代码vinext / Next.js 风格.openai/hosting.json声明可选的 Sites D1 和 R2 绑定vite.config.ts在本地开发环境中模拟声明的绑定db/schema.ts数据库 Schema初始为空按需添加examples/d1/可选的 D1 示例用法drizzle.config.tsDrizzle 配置支持本地迁移生成工作空间用户身份Workspace Auth HeadersOpenAI Workspace Sites 可以通过请求头读取当前登录用户的信息邮箱从oai-authenticated-user-email头中获取。全名SIWC 认证后从oai-authenticated-user-full-name头中获取值为percent-encoded UTF-8​ 编码同时附带oai-authenticated-user-full-name-encoding: percent-encoded-utf-8。全名为可选字段缺失时请回退到邮箱import { headers } from next/headers; export default async function Home() { const requestHeaders await headers(); const email requestHeaders.get(oai-authenticated-user-email); const encodedFullName requestHeaders.get(oai-authenticated-user-full-name); const fullName encodedFullName requestHeaders.get(oai-authenticated-user-full-name-encoding) percent-encoded-utf-8 ? decodeURIComponent(encodedFullName) : null; const displayName fullName ?? email; // ... }可选的 ChatGPT 登录Dispatch 托管当站点需要可选的​ 或必须的​ ChatGPT 登录时从app/chatgpt-auth.ts导入即用型工具函数函数用途getChatGPTUser()获取当前登录用户可选登录场景requireChatGPTUser(returnTo)未登录访客强制跳转至 Sign in with ChatGPT服务端渲染页面chatGPTSignInPath(returnTo)生成登录链接供前端a或跳转使用chatGPTSignOutPath(returnTo)生成登出链接returnTo为同源相对路径指定登录/登出后的跳转目标工具函数会自动校验并安全编码。受保护页面必须添加export const dynamic force-dynamic因为它们依赖每次请求的动态身份头。重要说明Dispatch 平台​ 托管了以下路径和逻辑你不需要在app/中实现它们/signin-with-chatgpt/signout-with-chatgpt/callbackOAuth Cookie 管理身份头注入只有调用了上述 helper 的路由才会触发登录流程未调用的路由保持匿名可访问。SIWC 仅建立用户身份不证明工作空间成员资格。​ 如需工作空间级别的访问限制请使用 Sites 托管平台的访问策略控制或在服务端自行实现成员校验 / 白名单逻辑。使用建议场景推荐做法个人账户页、用户仪表盘、已保存记录、写操作✅ 使用 SIWC 绑定当前 ChatGPT 用户公开内容✅ 保持匿名访问常用命令npm run dev # 启动本地开发 npm run build # 验证 vinext 构建产物 npm test # 构建并验证渲染的加载骨架屏 npm run db:generate # Schema 变更后生成 Drizzle 迁移文件了解更多 vinext 文档 Drizzle Cloudflare D1 指南提示如需自定义数据库 Schema编辑db/schema.ts后运行npm run db:generate即可生成迁移文件。D1 绑定和 R2 绑定在.openai/hosting.json中声明本地开发由vite.config.ts自动模拟无需额外配置。
返回列表