非遗文物数字化小程序(AI非遗问答、ONNX图像识别、协同过滤推荐、ECharts数据分析、非遗知识浏览与互动、文创商城订单闭环、文化活动报名签到、社区交流)

系统亮点:AI非遗问答、ONNX图像识别、协同过滤推荐、ECharts数据分析、非遗知识浏览与互动、文创商城订单闭环、文化活动报名签到、社区交流。

一、项目概述

非遗文化数字化服务平台采用前后端分离架构。系统围绕非遗项目浏览、分类检索、点赞收藏、个性化推荐、AI 问答、图片识别、文化活动、文创商品和社区交流等场景构建服务链路,同时提供内容维护、订单处理、活动管理和经营数据分析能力。

|------------|---------------------------------------------------------------------------------|
| 层级 | 主要技术与职责 |
| uniapp 用户端 | 提供非遗探索、活动报名、文创商城、社区互动、AI 助手及图像识别等入口。 |
| 管理端 | Vue 3、Element Plus、ECharts、echarts-wordcloud;用于非遗内容、商品订单、活动报名、社区内容、识别记录及运营数据管理。 |
| 服务端 | Spring Boot 3.3.1、Java 17、MyBatis-Plus、MySQL、JWT;提供 REST 接口、身份认证、业务状态流转与数据持久化。 |
| 智能与推荐能力 | LangChain4j 对接 DeepSeek 流式模型、SSE、ONNX Runtime 图像推理、基于用户行为的协同过滤及同类内容推荐。 |

二.系统实现(部分截图)

2.1 用户

2.1.1 首页

2.1.2 非遗探索

2.1.3 非遗好物

2.1.4 非遗活动

2.1.5 非遗识别/AI问答

2.1.6 社区动态

2.1.7 个人中心

2.2 管理员

2.2.1 非遗文物

2.2.2 商品管理

2.2.3 订单管理

2.2.4 活动管理

2.2.5 活动报名

2.2.6 评论管理

2.2.7 订单分析

三、核心功能与实现说明

3.1 非遗内容浏览、互动与个人轨迹

系统以非遗项目为核心内容单元,维护分类、地区、级别、传承人、图文影音资料、简介及浏览、点赞、收藏等统计信息。用户可通过首页推荐和非遗列表进入详情页,按分类、级别和关键词浏览内容;详情页支持点赞、收藏与查看多媒体资料。系统将用户浏览记录、点赞记录和收藏记录分别保存,为个人历史与推荐计算提供数据基础。

首页推荐/热门内容 → 分类或关键词检索 → 非遗详情浏览 → 点赞、收藏或记录浏览行为 → 更新内容统计并沉淀个人交互数据

|----------|---------------------------------------------|
| 业务场景 | 系统处理结果 |
| 非遗内容管理 | 管理员维护非遗分类、名称、地区、级别、传承人、封面、图集、视频、音频、介绍及启用状态。 |
| 内容浏览 | 用户端展示轮播图、推荐非遗与热门内容;详情页集中呈现项目介绍和关联多媒体资料。 |
| 点赞与收藏 | 记录用户与非遗项目的互动关系,并维护对应的点赞数、收藏数等统计字段。 |
| 浏览历史 | 记录用户访问过的非遗项目和浏览时间,供个人历史页面及推荐算法使用。 |

3.2 基于 ONNX 模型的非遗图像识别

系统在服务端通过 ONNX Runtime 加载非遗图像识别模型。用户上传图片后,服务端对 Base64 图像进行解码、缩放、归一化和 CHW 张量转换,再执行模型推理与 Softmax 概率计算。接口返回置信度最高的识别标签、前五候选结果及可匹配的非遗条目;登录用户的上传图片、识别结果、置信度、匹配项目和识别时间会保存到识别记录中。

上传图片 → 图像预处理 → ONNX 模型推理 → Softmax 概率排序 → 返回 Top 5 识别结果 → 匹配非遗条目并保存识别记录

当前识别服务内置 30 个非遗相关类别标签,例如剪纸、皮影戏、青花瓷、榫卯技艺、油纸伞、竹编与紫砂陶等。模型不可用或图片无法解析时,接口会返回相应错误,避免写入无效识别结果。

3.3 基于 DeepSeek 的 AI 非遗智能问答

系统通过 LangChain4j 配置兼容 DeepSeek 的流式聊天模型,为用户提供"非遗守护者"智能助手。服务端为会话注入非遗知识问答提示词,查询当前会话的最近消息作为上下文,并使用 SSE 将生成内容逐段返回前端。用户提问与助手回答分别持久化到消息表;首条提问会自动生成会话标题,方便用户在聊天历史中继续多轮咨询。

创建或选择会话 → 保存用户问题 → 读取系统提示词和最近会话消息 → 调用流式模型 → SSE 分段返回回答 → 保存助手消息并结束会话流

|----------|-------------------------------------------------------------------------------------|
| 会话要素 | 实现方式 |
| 会话管理 | 使用会话标题、最后消息时间、消息数量和删除标识维护用户的 AI 会话列表。 |
| 上下文控制 | 每次对话附带非遗助手系统提示词,并组合当前会话最近消息形成多轮对话上下文。 |
| 流式响应 | 接口以 <font color="#9d174d">text/event-stream</font> 返回生成片段,完成时发送结束事件;异常时返回可读的服务提示。 |

3.4 基于用户行为的个性化非遗推荐

推荐服务综合用户浏览、点赞和收藏行为构建"用户-非遗"偏好矩阵,其中收藏权重为 1.0、点赞权重为 0.7、浏览权重为 0.3。系统采用余弦相似度计算用户相似性,再根据相似用户的偏好生成候选内容;同时补充用户已关注分类下的热门非遗项目。没有交互数据的新用户会获得按浏览量和点赞数排序的热门推荐,推荐记录保存分数、推荐理由和是否已查看状态。

浏览/点赞/收藏 → 构建偏好矩阵 → 计算用户相似度 → 生成协同过滤候选 → 补充同分类热门内容 → 保存前 10 条推荐 → 用户点击后回写查看状态

3.5 文化活动报名、取消与签到闭环

活动模块维护活动时间、报名区间、地点、最大参与人数、当前报名人数和活动状态。用户仅可在活动处于"报名中"且名额未满时提交报名,系统校验重复报名后创建报名记录,并同步增加当前报名人数。已报名用户可在未签到前取消报名,系统同步回退人数;活动进行期间可对有效报名执行签到并记录签到时间。

发布活动 → 开放报名 → 校验活动状态、名额与重复报名 → 创建报名并更新人数 → 活动进行中签到,或在未签到前取消报名并回退人数

|----------|-------------------------------------|
| 状态对象 | 状态与处理 |
| 活动状态 | 支持未开始、报名中、进行中和已结束,用于控制报名与页面展示。 |
| 报名状态 | 支持待审核、已通过、已拒绝和已取消;当前用户报名接口创建后记为已通过。 |
| 签到控制 | 已取消或已签到的记录不能重复签到;已签到记录不能取消。 |

3.6 文创商城、库存与订单状态流转

文创商城提供商品分类、商品详情、购物车、收货地址、订单确认和订单详情等功能。用户从选中的购物车项创建订单时,服务端计算订单金额、生成订单号与订单明细,并同步扣减商品库存、增加预售销量和清理已结算购物车项。订单支持支付、发货、确认收货、取消及取消发货等操作,并维护支付、发货、收货时间与物流信息。

浏览商品 → 加入购物车 → 选择收货地址并确认订单 → 创建订单与明细、扣减库存 → 支付 → 管理端录入物流并发货 → 用户确认收货 → 完成订单

|----------|-----------------------------------------|
| 业务场景 | 系统处理结果 |
| 创建订单 | 基于已选购物车项计算金额并写入订单、订单明细,库存随数量扣减。 |
| 订单支付 | 待支付订单可变更为已支付并记录支付时间。 |
| 发货与收货 | 已支付订单可录入快递公司、快递单号并变更为已发货;用户确认收货后变更为已完成。 |
| 取消订单 | 待支付或已支付订单可取消,系统恢复订单明细对应商品的库存和销量数据。 |

3.7 社区动态、话题与互动管理

社区模块支持围绕话题发布图文动态、浏览动态详情、发表评论及点赞。话题维护名称、描述、封面、动态数、浏览量、热门标识、启用状态和排序;动态、评论和点赞记录分别保存,便于用户查看个人发布、个人互动记录,也便于管理员对内容与互动数据进行统一维护。

3.8 管理端内容运营与 JWT 身份认证

系统角色区分管理员和普通用户。前端根据登录状态和角色控制用户端、管理端路由访问,服务端通过 JWT 解析当前用户身份。管理端集中提供账号、轮播图、非遗分类与项目、文创商品及订单、文化活动及报名、社区动态及互动、用户地址、购物车、浏览历史、收藏点赞、识别记录和推荐记录等页面,形成从内容投放到用户行为数据维护的运营入口。

3.9 运营数据分析与可视化

管理端使用 ECharts 和词云扩展展示活动、订单及社区动态的统计数据。系统提供独立的活动统计、商品订单统计和动态统计接口;前端统计页按对应业务维度渲染饼图、环形图、柱状图、折线图、面积图、仪表盘或词云,以辅助管理员了解报名情况、订单状态与金额、商品销售、动态发布和社区互动等运营指标。

相关推荐
Highcharts.js1 小时前
图表开发实战总结| 7 条“黄金法则”与“性能铁律”
前端·javascript·vue.js·编辑器·时序数据库·highcharts
Helix2501 小时前
Electron、WebView 框架与 HTA 对比:桌面应用选型、安全性与现代替代方案
前端·javascript·electron·webview·vbscript·hta·本地html应用
Ikalus19881 小时前
三套 API 都告诉我成功了,浏览器一个字都没收到
javascript
databook1 小时前
时间序列分解:从噪声中提取有效信号
python·数据挖掘·数据分析
wang_yb1 小时前
时间序列分解:从噪声中提取有效信号
数据分析·databook
Ikalus19881 小时前
计数器停在 0,我差点把一篇空摘要发出去
javascript
躺柒2 小时前
读数据架构知识体系指南13现代数据仓库
大数据·数据分析·数据湖·mdm·rdm
付威20232 小时前
Rust 所有权:看你的答对几道题?
javascript
Dxy12393102162 小时前
MySQL 条件注释 vs 普通注释
数据库·mysql