当前位置: 首页 > article >正文

焰境·万载——新一代文旅网站制作展示

江西万载数字文旅平台 · 北京高校在读生发起 · AI 技术赋能县域文旅数字化转型项目简介焰境·万载是围绕江西省万载县打造的数字文旅平台以中国花炮之乡的千年烟花文化为核心融合非遗传承、美食特产、旅游导览以 AI 动漫角色花傩为数字灵魂。GitHub仓库地址https://github.com/nathanpenny520/WhizzZest功能说明 数字烟花Canvas 粒子引擎12 类型配方编排、保存、分享、排行榜 AI 花傩RAG 增强智能导游六状态动画全屏对话对话历史管理AI 指令驱动页面跳转/地图飞行️ 高德地图POI 标记、驾车路线、商户标记、AI 指令联动 像素世界Minecraft 1.8.8 Plants vs. Zombies浏览器即点即玩IndexedDB 存档 中英双语vue-i18nURL 路径前缀切换 PWA离线缓存、桌面安装、自动更新提示 SEO三层 SEO 体系静态 meta 运行时注入 预渲染 安全CSP、HTTPS、API Key 代理、RBAC 角色守卫技术栈层级技术说明前端框架Vue 3.5 TypeScript 5.9Composition API构建工具Vite 7开发/构建CSSTailwind CSS 3.4实用优先状态管理Pinia 3全局状态国际化vue-i18n 11中英双语地图高德地图 JS API 2.0POI 路线烟花引擎Canvas 2D Web Worker粒子模拟后端框架NestJS 11模块化架构数据库PostgreSQL 16 Prisma ORM主数据存储缓存Redis 7 ioredis高频查询/限流认证Passport JWT渐进式鉴权包管理pnpm workspaceMonorepo测试Vitest Supertest单元 集成CI/CDGitHub Actions自动构建部署到生产服务器共享类型wanzai/contracts契约层项目结构wanzai/ ├── packages/ │ ├── contracts/ ← 共享 TypeScript 类型定义 │ │ └── src/ │ │ ├── common.ts ← ApiResponseT、ErrorCode │ │ ├── user.ts ← IUser、UserRole │ │ ├── ai.ts ← IAIResponse、IAIAction │ │ ├── firework.ts ← IFireworkRecipe │ │ ├── merchant.ts ← IMerchant、ICoupon │ │ └── index.ts │ │ │ ├── frontend/ ← Vue 3 SPA │ │ ├── src/ │ │ │ ├── pages/ ← 17 个页面含商户后台、管理员页等 │ │ │ ├── components/ ← 通用组件 AIChat/ 花傩角色 │ │ │ ├── composables/ ← useAIChat、useHuaNuo 等 │ │ │ ├── api/ ← axios 封装client.ts │ │ │ ├── stores/ ← Pinia auth store │ │ │ ├── types/ ← 前端类型 │ │ │ ├── locales/ ← i18n 文本1773 行 │ │ │ ├── assets/ ← 图片/音频视频通过 B 站播放器嵌入 │ │ │ └── router/ ← 34 条双语路由 role-based 守卫 │ │ ├── public/ ← favicon、robots.txt、sitemap.xml、CNAME、games/ │ │ ├── vite.config.ts │ │ └── tailwind.config.js │ │ │ └── backend/ ← NestJS 后端 │ ├── src/ │ │ ├── modules/ │ │ │ ├── ai/ ← AI 对话 RAG LLM 调用 │ │ │ ├── auth/ ← JWT 认证 万能验证码 │ │ │ ├── user/ ← 用户 CRUD │ │ │ ├── firework/ ← 烟花配方 │ │ │ ├── knowledge/ ← 知识库管理从 DB 读取 System Prompt │ │ │ ├── merchant/ ← 商户入驻 ADMIN 审核 │ │ │ └── coupon/ ← 优惠券 Redis 库存 核销 │ │ ├── prisma/ ← PrismaService │ │ ├── redis/ ← RedisServiceioredis 封装 │ │ ├── common/ ← 守卫、装饰器 │ │ └── main.ts │ └── prisma/ │ ├── schema.prisma ← 6 个数据模型 │ ├── seed.ts ← 68 条知识库 3 个演示商户 │ └── migrations/ ← 4 个数据库迁移 │ ├── scripts/ ← 预渲染等构建脚本 ├── .github/workflows/ ← CI类型检查Lint测试 自动部署 ├── pnpm-workspace.yaml ← pnpm 工作空间 ├── eslint.config.js ← ESLint 9 flat config ├── .prettierrc ← Prettier 配置 ├── CLAUDE.md ← Claude Code 项目文档 └── package.json ← 根 workspace快速开始环境要求Node.js 18.0pnpm 8.0PostgreSQL 16本地开发需安装并运行Redis 7需要运行1. 安装依赖npm install -g pnpm pnpm install2. 配置环境变量前端(packages/frontend/.env参考.env.example)VITE_AMAP_KEY你的高德地图Key VITE_AMAP_SECURITY_CODE你的高德地图安全密钥后端(packages/backend/.env参考.env.example)DATABASE_URLpostgresql://postgres:postgreslocalhost:5432/wanzai JWT_SECRET随机字符串建议 openssl rand -hex 32 REDIS_URLredis://localhost:6379 API_KEY你的LLM_API密钥 BASE_URLhttps://llmapi.paratera.com MODEL_NAMEMiniMax-M2.5 PORT30023. 初始化数据库# 启动 PostgreSQL brew services start postgresql16 ​ # 创建数据库 createdb wanzai ​ # 运行迁移 cd packages/backend pnpm prisma migrate dev ​ # 导入种子数据68 条知识库 演示商户 pnpm prisma:seed4. 启动开发环境# 终端 1NestJS 后端端口 3002 pnpm dev:backend ​ # 终端 2Vite 前端端口 5173 pnpm dev访问http://localhost:5173。5. 类型检查与测试pnpm typecheck # 全量类型检查 pnpm test # 运行测试 pnpm lint # ESLint6. 构建pnpm build # 构建前端 → packages/frontend/dist/ pnpm build:backend # 构建后端 → packages/backend/dist/API 接口所有接口前缀https://whizzzest-yanjingwanzai.top/api/v1/。模块端点方法鉴权说明AI/ai/chatPOST公开花傩 AI 对话RAG 增强知识库/knowledgeGET/POSTADMIN知识条目管理知识库/knowledge/:idPUT/DELETEADMIN知识条目更新认证/auth/loginPOST公开手机号注册/登录万能码000000认证/auth/refreshPOST公开刷新 Token用户/users/meGET/PUT登录当前用户资料用户/users/:idGET登录用户信息烟花/fireworksPOST登录保存配方烟花/fireworks/mineGET登录我的配方烟花/fireworks/:slugGET公开获取分享配方烟花/fireworks/popularGET公开热门排行榜烟花/fireworks/:idDELETE登录删除配方部署架构Nginx (端口 80/443) ├── 前端静态文件 /usr/share/nginx/html/dist/ ├── /api/ → localhost:8080 (NestJSpm2 管理) └── 后端依赖 PostgreSQL :5432 Redis :6379自动部署push 到main分支后GitHub Actions 自动执行.github/workflows/deploy.yml构建前端 后端rsync 前端 dist →/usr/share/nginx/html/dist/rsync 后端 dist prisma →/usr/share/nginx/wanzai-backend/npm install --prod→prisma generate→prisma migrate deploypm2 reload wanzai-backend健康检查详细配置和服务器运维指南见更新配置网站服务器.md。手动部署# 构建 pnpm build pnpm build:backend ​ # 上传到服务器 scp -r packages/frontend/dist/* rootserver:/usr/share/nginx/html/dist/ scp -r packages/backend/dist/* rootserver:/usr/share/nginx/wanzai-backend/dist/ ​ # 重启服务 ssh rootserver pm2 reload wanzai-backend开发规范提交规范遵循 Conventional Commitsfeat(firework): 新增烟花配方分享链接生成 fix(auth): 修复 Refresh Token 未清除的问题 refactor(map): 高德地图逻辑迁移至 useAmap composable docs: 更新 README 开发指南 chore: 升级依赖版本命名规范类别规范示例Vue 组件PascalCaseAIChatWidget.vueComposableuseXxxuseHuaNuo.tsTS 接口IXxxIFireworkRecipeNestJS 模块XxxModuleCouponModuleAPI 路由复数 REST/api/v1/fireworks/:idRedis Key冒号分隔coupon:stock:{id}代码风格TypeScript strict 模式Vue 3 Composition APIscript setup langtsPrettierprintWidth 100singleQuoteno semicolonsESLint 9 flat config提交前自动 lint国际化中文zh-CN默认英文en切换导航栏语言按钮 / URL 路径/en前缀PWA浏览器访问网站地址栏右侧点击安装图标支持离线访问、桌面图标、全屏体验新版本发布时顶部弹出更新提示条许可证本项目仅供学习和展示用途。详见 LICENSE。一朝相逢便是万载

相关文章:

焰境·万载——新一代文旅网站制作展示

江西万载数字文旅平台 北京高校在读生发起 AI 技术赋能县域文旅数字化转型 项目简介 焰境万载是围绕江西省万载县打造的数字文旅平台,以"中国花炮之乡"的千年烟花文化为核心,融合非遗传承、美食特产、旅游导览,以 AI 动漫角色&q…...

Claude + MS Project双引擎协同术:5分钟完成跨时区资源冲突检测与重排程,压测显示交付准时率提升41.6%

更多请点击: https://codechina.net 第一章:Claude项目管理应用技巧 Claude 作为具备强推理与长上下文理解能力的大语言模型,可深度融入项目管理全生命周期,提升需求分析、任务拆解、进度追踪与风险预判效率。关键在于将其定位为…...

抖音无水印视频下载实战:突破平台限制的高效内容获取方案

抖音无水印视频下载实战:突破平台限制的高效内容获取方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback su…...

扒了一个真实案例:这家律所凭什么稳坐AI搜索推荐位?

上周帮家里人查法律问题,用AI搜索"交通事故责任纠纷律所推荐",结果你猜怎么着——有家律所的名字出现了至少三次,每次都是高亮推荐。 这不是巧合。我顺着往下查,发现它在婚姻家事领域同样榜上有名。 我决定深挖一下&…...

免费开源AMD Ryzen调试工具:释放硬件潜能的全方位指南

免费开源AMD Ryzen调试工具:释放硬件潜能的全方位指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...

【码上爬】 题十九:法外狂徒 相应数据加密还原,堆栈分析,扣代码

暗号:aHR0cHM6Ly9tYXNoYW5ncGEuY29tL3Byb2JsZW0tZGV0YWlsLzE5Lw 题目: 先对接口进行分析,参数中并没有任何加密,只是返回的数据是加密的,一个R 一个k 推测r是数据内容,k是解密密钥,进入堆栈以后…...

洛谷 B4361:[GESP202506 四级] 排序

【题目来源】 https://www.luogu.com.cn/problem/B4361 【题目描述】 体育课上有 n 名同学排成一队,从前往后数第 i 位同学的身高为 hi,体重为 wi​。目前排成的队伍看起来参差不齐,老师希望同学们能按照身高从高到低的顺序排队,…...

集团首都公报:武汉市放飞炬人产业引导基金有限责任公司财政处批准 《武汉市放飞炬人产业引导基金有限责任公司财政处现金顾问制条令》

集团首都公报:武汉市放飞炬人产业引导基金有限责任公司财政处批准 《武汉市放飞炬人产业引导基金有限责任公司财政处现金顾问制条令》...

OmenSuperHub:惠普OMEN游戏本终极性能控制软件完全指南

OmenSuperHub:惠普OMEN游戏本终极性能控制软件完全指南 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 想要彻底掌控你的惠普OMEN游戏本性能吗…...

保姆级教程:用Python和Keras复现4D-CRNN脑电情绪识别模型(附DEAP/SEED数据集处理全流程)

从脑电信号到情绪识别:4D-CRNN模型实战全解析在脑机接口与情感计算领域,脑电信号(EEG)情绪识别一直是个充满挑战又极具应用价值的方向。传统方法往往难以同时捕捉EEG信号的时空频多维特征,而4D-CRNN模型通过创新的四维…...

响应式图像:优化不同设备的图片展示

响应式图像:优化不同设备的图片展示 什么是响应式图像? 响应式图像是指能够根据设备特性(屏幕尺寸、分辨率、网络条件等)自动选择最合适的图片版本。 为什么需要响应式图像? 性能优化:小屏幕加载小图片带宽…...

为什么有些论文,答辩老师越听越不敢卡?

很多学生都经历过一种很明显的反差。有些同学一进答辩室, 老师状态特别紧。问题一个接一个; 追问不断; 语气越来越严肃。但还有一种情况。有些同学刚讲几分钟, 现场气氛就明显变了。老师开始点头; 追问越来越少&#x…...

浏览器扩展开发:打造个性化浏览体验

浏览器扩展开发:打造个性化浏览体验 什么是浏览器扩展? 浏览器扩展是一种可以增强浏览器功能的小型软件程序。 扩展类型 类型说明扩展程序完整功能的扩展主题自定义浏览器外观插件NPAPI 插件(已废弃) 扩展结构 my-extension/ ├─…...

Kubernetes多租户管理:实现资源隔离与安全的完整指南

Kubernetes多租户管理:实现资源隔离与安全的完整指南 引言 在企业环境中,多租户管理是Kubernetes的重要功能。通过多租户管理,可以实现不同团队或客户之间的资源隔离和安全控制。这对于共享Kubernetes集群的场景尤为重要。 作为一名资深的Dev…...

云原生数据库管理:在Kubernetes上运行数据库的完整指南

云原生数据库管理:在Kubernetes上运行数据库的完整指南 引言 在云原生环境中,数据库管理是一个复杂但至关重要的任务。与传统的数据库部署方式不同,在Kubernetes上运行数据库需要考虑容器化、高可用性、数据持久化等多个方面。 作为一名资深的…...

技术人的持续学习:保持竞争力的完整指南

技术人的持续学习:保持竞争力的完整指南 引言 在快速发展的技术领域,持续学习是保持竞争力的关键。技术更新的速度越来越快,新的编程语言、框架和工具不断涌现。作为一名技术人,只有不断学习,才能跟上技术发展的步伐&a…...

云原生监控体系建设:打造全方位的可观测性平台

云原生监控体系建设:打造全方位的可观测性平台 引言 在云原生时代,监控是保障系统稳定运行的关键。一个完善的监控体系可以帮助我们及时发现问题、定位问题、解决问题。 今天就来分享一下云原生监控体系的建设经验。 监控体系概述 可观测性三支柱 监控体…...

AI时代的个人隐私与网络安全自保——从账号密码到设备行为的完整体系

一个很多人没做但很简单的事:去搜索一下自己的真实姓名、手机号、家庭住址,看看哪些信息已经公开在网上。知道自己的暴露面,才知道要重点保护什么。 haveibeenpwned是免费、靠谱、隐私友好的数据泄露查询工具。 安全防护不追求完美&#xff0…...

从零读懂RDMA流控机制:为什么RC需要“信用”

我们在之前的文章里讲过,RDMA RC(可靠连接)模式像一条点对点的专用通道:发送端发数据,接收端确认,丢了包硬件重传。一切看起来很简单,但有一个关键问题没解决: 发送端怎么知道接收端“吃得下”自己发过去的数据? 如果发送端不管不顾地疯狂发,而接收端处理不过来,数据…...

手把手教你复现DM-VIO:用开源代码在Ubuntu 20.04上跑通这个SOTA视觉惯性里程计

从零搭建DM-VIO:Ubuntu 20.04实战指南与深度调优当视觉惯性里程计(VIO)遇上延迟边缘化技术,DM-VIO在三大主流数据集上创造了单目系统超越立体方案的奇迹。本文将带您穿越从环境配置到实战调优的全流程,揭秘这个2022年R…...

手把手教你用Python+OpenBMI复现运动想象BCI实验(附完整代码与数据集)

Python实战:从OpenBMI到运动想象脑机接口的全流程复现指南在认知科学与脑机接口(BCI)研究领域,运动想象(Motor Imagery)实验一直是经典范式。传统上,这类实验多依赖Matlab生态完成,但随着Python在科学计算领域的崛起,越…...

【企业级AI Agent操作安全白皮书】:基于ISO/IEC 27001与NIST AI RMF的6类操作审计红线

更多请点击: https://codechina.net 第一章:AI Agent自主操作软件的定义与安全治理边界 AI Agent自主操作软件是指具备感知环境、规划决策、调用工具(如API、CLI、GUI自动化接口)并闭环执行任务能力的智能体系统。其核心特征在于…...

开源AI编辑器的未来发展趋势

基于当前发展状况来分析,开源AI编辑器的未来发展趋势主要体现在以下几个核心方向:一、技术能力:从“辅助补全”迈向“智能体化”全流程自主化:AI编辑器正从基础的代码补全、语法检查,向具备自主决策能力的智能体&#…...

全方位强化 AI 逆向能力,这款 Skill 太实用了

让 Codex 默认支持 JS 逆向Codex GPT-5.4 默认对逆向和爬虫类请求比较保守,常见表现是只讲原则,不继续落地。市面上的常规做法是先发提示词,我这边因为每次重复发送比较麻烦,所以进一步封装成了 Skill,实际验证可行。…...

AI Agent如何重构数据分析工作流:从数据清洗到洞察生成的7步自动化闭环(附企业级架构图)

更多请点击: https://intelliparadigm.com 第一章:AI Agent如何重构数据分析工作流:从数据清洗到洞察生成的7步自动化闭环(附企业级架构图) 传统数据分析依赖人工串联多个工具与脚本,耗时长、容错低、知识…...

解锁 Codex 逆向能力!一键部署 JS 逆向全能 Skill

让 Codex 默认支持 JS 逆向 Codex GPT-5.4 默认对逆向和爬虫类请求比较保守,常见表现是只讲原则,不继续落地。市面上的常规做法是先发提示词,我这边因为每次重复发送比较麻烦,所以进一步封装成了 Skill,实际验证可行。…...

AI Agent在政务审批系统中的零故障部署实践(工信部试点项目全链路复盘)

更多请点击: https://codechina.net 第一章:AI Agent在政务审批系统中的零故障部署实践(工信部试点项目全链路复盘) 在工信部“智能政务基础设施升级”试点项目中,某省政务服务网完成全国首个面向全流程审批闭环的AI …...

Zookeeper集群启动失败?从myid配置到防火墙,保姆级排错指南来了

Zookeeper集群启动失败?从myid配置到防火墙,保姆级排错指南来了当你满怀期待地执行bin/zkServer.sh start命令,却只看到一堆晦涩的错误日志时,那种挫败感我太熟悉了。Zookeeper作为分布式系统的"神经中枢",其…...

Playwright 浏览器自动化完全指南:从入门到实战

目录 一、什么是 Playwright二、Playwright vs Selenium:为什么选择 Playwright三、支持的语言与浏览器四、核心架构与执行流程五、环境安装与验证六、第一个程序:打开网页并截图七、常用操作速查八、元素定位详解九、自动等待机制深度解析十、浏览器上…...

深度 | 昇腾NPU MoE算子实现:从TopKGating到Expert并行,稀疏激活的硬件适配

引言 MoE(Mixture of Experts,混合专家)是大模型近年来最重要的架构演进之一。GPT-4、Mixtral-87B、Qwen1.5-MoE——几乎所有宣称"超大规模"的新模型都在用 MoE。核心逻辑很简单:用多个独立的"专家"网络替代…...