古韵诗词小程序

古韵诗词学习与鉴赏微信小程序,含诗词浏览、搜索、收藏、五星评分与音频朗读,WeUI 组件 + Mock 数据,绿色典雅 UI,适合古诗词文化类毕业设计。

评分:4.8/5.0
销量:75
发布:11/30/2025
难度:L2 进阶级

获取完整源码

演示视频仅作效果参考。完整源码、项目说明与运行答疑,请私聊沟通(适合毕业设计 / 课程设计 / 课设参考)。

获取完整源码观看演示视频
含项目说明文档,便于对照学习
可本地运行,适合课设演示
沟通获取后可咨询运行问题

项目封面

截图 1

项目概览

本项目为古诗词学习主题微信小程序,实现按朝代与题材分类浏览、关键词搜索、诗词详情注释赏析、音频朗读、收藏管理与用户资料编辑等功能,采用 WeUI 组件库与本地 Storage 持久化,适合传统文化、诗词鉴赏类毕业设计。

项目说明

古韵诗词小程序

项目简介

这是一个古诗词学习与鉴赏的微信小程序,采用纯前端实现,使用本地Mock数据模拟后端接口。项目完整实现了诗词浏览、搜索、收藏、评分、朗读等核心功能,适合作为微信小程序开发学习项目或计算机设计参考。

技术栈

技术版本/说明
开发框架微信小程序原生框架
基础库版本trial (最新试用版)
开发语言JavaScript (ES6+)
样式语言WXSS (微信小程序样式)
模板语言WXML (微信小程序模板)
UI组件库WeUI (微信官方UI库)
数据存储本地Storage持久化
数据模拟Mock Data (本地模拟数据)

项目特点

  • 纯前端实现:无需后端服务器,所有数据使用本地Mock模拟
  • 数据持久化:收藏、评分、用户信息使用 wx.setStorageSync 本地存储,关闭小程序后数据不丢失
  • 完整业务流程:涵盖诗词浏览、搜索、收藏、评分、朗读等完整功能
  • UI风格清新:界面风格简洁优雅,绿色主题配色,符合古诗词文化气质
  • 音频朗读:支持诗词朗读功能,提升学习体验

功能模块

1. 首页模块 (pages/index)

  • 轮播图展示精选诗词
  • 分类导航(按朝代、按题材)
  • 搜索功能入口
  • 专题推荐展示
  • 摇一摇随机推荐诗词

2. 诗词列表模块 (pages/list)

  • 按朝代筛选(唐代、宋代等)
  • 按题材筛选(咏月、爱国等)
  • 诗词列表展示
  • 点击进入诗词详情

3. 搜索模块 (pages/search)

  • 关键词搜索功能
  • 支持按标题、作者、内容搜索
  • 搜索结果列表展示
  • 点击进入诗词详情

4. 诗词详情模块 (pages/poem-detail)

  • 展示诗词完整信息(标题、朝代、作者、内容)
  • 诗词注释/赏析展示
  • 音频朗读功能(播放/暂停)
  • 收藏/取消收藏功能
  • 五星评分功能
  • 诗词动画效果展示

5. 收藏模块 (pages/favorites)

  • 展示用户收藏的诗词列表
  • 点击进入诗词详情
  • 收藏数据本地持久化

6. 我的模块 (pages/my)

  • 用户头像展示与更换
  • 用户昵称展示
  • 个性签名展示
  • 我的收藏入口
  • 编辑资料入口

7. 编辑资料模块 (pages/edit-info)

  • 修改用户昵称
  • 修改个性签名
  • 保存用户信息

项目结构

shici-min/
├── app.js                    # 小程序入口文件,全局数据管理
├── app.json                  # 小程序全局配置(页面路由、TabBar、窗口样式)
├── app.wxss                  # 全局样式文件
├── weui.wxss                 # WeUI样式库
├── project.config.json       # 项目配置文件
├── sitemap.json              # 小程序索引配置
├── 视频演示.mp4              # 功能演示视频
├── images/                   # 图片资源目录
│   ├── banner/               # 轮播图图片
│   │   ├── banner1.jpg
│   │   ├── banner2.jpg
│   │   └── banner3.jpg
│   ├── icons/                # 功能图标
│   │   ├── 唐.png            # 唐代图标
│   │   ├── 宋.png            # 宋代图标
│   │   ├── 咏.png            # 咏月图标
│   │   ├── 爱国.png          # 爱国图标
│   │   ├── 收藏.png          # 收藏图标
│   │   ├── 收藏_active.png   # 收藏选中图标
│   │   ├── 朗读.png          # 朗读图标
│   │   ├── laba.png          # 喇叭图标
│   │   ├── laba_active.png   # 喇叭选中图标
│   │   ├── star_empty.png    # 空星图标
│   │   ├── star_full.png     # 满星图标
│   │   └── default-avatar.png # 默认头像
│   └── tabbar/               # TabBar图标
│       ├── home.png          # 首页图标
│       ├── home_active.png   # 首页选中图标
│       ├── my.png            # 我的图标
│       └── my_active.png     # 我的选中图标
├── pages/                    # 页面目录
│   ├── index/                # 首页
│   │   ├── index.js
│   │   ├── index.json
│   │   ├── index.wxml
│   │   └── index.wxss
│   ├── list/                 # 诗词列表页
│   │   ├── list.js
│   │   ├── list.json
│   │   ├── list.wxml
│   │   └── list.wxss
│   ├── search/               # 搜索页
│   │   ├── search.js
│   │   ├── search.json
│   │   ├── search.wxml
│   │   └── search.wxss
│   ├── poem-detail/          # 诗词详情页
│   │   ├── poem-detail.js
│   │   ├── poem-detail.json
│   │   ├── poem-detail.wxml
│   │   └── poem-detail.wxss
│   ├── favorites/            # 收藏页
│   │   ├── favorites.js
│   │   ├── favorites.json
│   │   ├── favorites.wxml
│   │   └── favorites.wxss
│   ├── my/                   # 我的页面
│   │   ├── my.js
│   │   ├── my.json
│   │   ├── my.wxml
│   │   └── my.wxss
│   └── edit-info/            # 编辑资料页
│       ├── edit-info.js
│       ├── edit-info.json
│       ├── edit-info.wxml
│       └── edit-info.wxss
└── utils/                    # 工具类目录
    ├── mockData.js           # Mock数据文件(诗词数据库及查询方法)
    └── util.js               # 工具函数

数据模型

诗词数据 (poemDB)

{
  id: 1,                        // 诗词ID
  title: "静夜思",              // 诗词标题
  dynasty: "唐",                // 朝代
  author: "李白",               // 作者
  content: [                    // 诗词内容(数组形式,每行一个元素)
    "床前明月光,",
    "疑是地上霜。",
    "举头望明月,",
    "低头思故乡。"
  ],
  type: "咏月",                 // 题材类型
  audioUrl: "https://...",      // 朗读音频URL
  annotation: "这首诗描绘了..."  // 注释/赏析
}

用户信息数据 (userInfo)

{
  avatarUrl: "/images/icons/default-avatar.png",  // 用户头像
  nickName: "微信用户",                            // 用户昵称
  signature: ""                                    // 个性签名
}

收藏数据 (favorites)

[1, 4, 5]; // 收藏的诗词ID数组

评分数据 (ratings)

{
  "1": 5,   // 诗词ID: 评分(1-5星)
  "4": 4
}

核心业务逻辑

1. 诗词查询

// mockData.js
// 根据ID获取诗词
getPoemById: function(id) {
  return poemDB.find(p => p.id == id);
}

// 根据朝代筛选
getPoemsByDynasty: function(dynasty) {
  return poemDB.filter(p => p.dynasty === dynasty);
}

// 根据题材筛选
getPoemsByType: function(type) {
  return poemDB.filter(p => p.type === type);
}

// 关键词搜索(支持标题、作者、内容)
searchPoems: function(keyword) {
  if (!keyword) return [];
  return poemDB.filter(p =>
    p.title.includes(keyword) ||
    p.author.includes(keyword) ||
    p.content.join('').includes(keyword)
  );
}

2. 收藏功能

// 切换收藏状态
toggleFavorite: function() {
  const favorites = wx.getStorageSync('favorites') || [];
  const poemId = this.data.poem.id;
  if (this.data.isFavorited) {
    const index = favorites.indexOf(poemId);
    if (index > -1) favorites.splice(index, 1);
  } else {
    favorites.push(poemId);
  }
  wx.setStorageSync('favorites', favorites);
  this.setData({ isFavorited: !this.data.isFavorited });
}

3. 评分功能

// 评分
onRate: function(e) {
  const score = e.currentTarget.dataset.score;
  const poemId = this.data.poem.id;
  const ratings = wx.getStorageSync('ratings') || {};
  ratings[poemId] = score;
  wx.setStorageSync('ratings', ratings);
  this.setData({ rating: score });
}

4. 音频播放

// 创建音频实例
this.innerAudioContext = wx.createInnerAudioContext();
this.innerAudioContext.src = this.data.poem.audioUrl;

// 播放/暂停切换
playAudio: function() {
  if (this.data.isPlaying) {
    this.innerAudioContext.pause();
  } else {
    this.innerAudioContext.play();
  }
}

// 页面卸载时销毁音频实例
onUnload: function() {
  if (this.innerAudioContext) {
    this.innerAudioContext.stop();
    this.innerAudioContext.destroy();
  }
}

5. 数据持久化

// 保存用户信息
wx.setStorageSync('userInfo', userInfo);

// 读取用户信息
const userInfo = wx.getStorageSync('userInfo');

// 保存收藏列表
wx.setStorageSync('favorites', favorites);

// 保存评分数据
wx.setStorageSync('ratings', ratings);

页面路由配置

{
  "pages": [
    "pages/index/index", // 首页(默认启动页)
    "pages/my/my", // 我的
    "pages/poem-detail/poem-detail", // 诗词详情
    "pages/list/list", // 诗词列表
    "pages/search/search", // 搜索结果
    "pages/favorites/favorites", // 我的收藏
    "pages/edit-info/edit-info" // 编辑资料
  ]
}

TabBar配置

{
  "tabBar": {
    "color": "#8a8a8a",
    "selectedColor": "#67BB4D",
    "backgroundColor": "#ffffff",
    "borderStyle": "black",
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页",
        "iconPath": "images/tabbar/home.png",
        "selectedIconPath": "images/tabbar/home_active.png"
      },
      {
        "pagePath": "pages/my/my",
        "text": "我的",
        "iconPath": "images/tabbar/my.png",
        "selectedIconPath": "images/tabbar/my_active.png"
      }
    ]
  }
}

运行环境要求

  • 微信开发者工具:建议使用最新稳定版
  • 基础库版本:2.19.0 及以上
  • AppIDwx445c1727641eb032(可替换为自己的AppID)

快速开始

1. 克隆/下载项目

将项目文件夹下载到本地

2. 导入项目

  1. 打开微信开发者工具
  2. 选择"导入项目"
  3. 选择项目目录 shici-min
  4. 填入AppID(可使用测试号或自己的AppID)
  5. 点击"导入"

3. 运行项目

导入成功后,项目会自动编译运行,可在模拟器中预览效果

4. 真机调试

点击工具栏"预览"按钮,扫码在手机上体验

预置测试数据

诗词数据

标题朝代作者题材
静夜思李白咏月
春晓孟浩然咏春
登高杜甫登高
水调歌头·明月几时有苏轼咏月
满江红·写怀岳飞爱国

分类导航

分类名称类型说明
唐代朝代筛选唐代诗词
宋代朝代筛选宋代诗词
咏月题材筛选咏月诗词
爱国题材筛选爱国诗词

界面预览

项目包含演示视频文件 视频演示.mp4,可查看完整功能演示。

扩展建议

如需进一步完善项目,可考虑以下扩展:

  1. 接入真实后端:将Mock数据替换为真实API接口
  2. 扩充诗词库:增加更多诗词数据,覆盖更多朝代和题材
  3. 用户登录系统:接入微信登录,实现云端数据同步
  4. 诗词学习功能:增加诗词背诵、默写、测验功能
  5. 社交分享:支持分享诗词到朋友圈或好友
  6. 每日推荐:每日推送一首诗词
  7. 诗词接龙:增加诗词接龙小游戏
  8. AI赏析:接入AI生成诗词赏析内容
  9. 离线音频:支持音频缓存,离线朗读
  10. 主题切换:支持多种主题风格切换

注意事项

  1. 本项目为学习演示项目,所有数据均为模拟数据
  2. 音频资源来自网络,仅供学习使用
  3. 如需发布上线,请替换为自己的AppID并完善相关资质
  4. 音频播放需要网络环境支持

许可证

本项目仅供学习交流使用,请勿用于商业用途。

获取完整源码

技术分类

包含内容

完整源码
项目说明文档
演示材料

适合方向

适合计算机、汉语言文学交叉方向做古诗词数字化类毕业设计;也适合数字媒体专业需要文化类小程序展示的学生;以及学习音频播放、评分收藏与搜索筛选的开发者。

关于 AI源码

AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。

QQ: 861077046
邮箱: 861077046@qq.com
已帮助 75+ 位同学完成选题参考
问能不能做我的题目

相关推荐

查看全部 →
中医文化介绍网站
高级·新上架

中医文化介绍网站

中医药文化展示静态网站,HTML+CSS+JS 实现,涵盖历代名医、经典著作、非遗传承、民族医药与 Vue 趣味答题等模块,无需后端,适合课程设计与文化主题前端大作业。

HTML大作业
4.829
中华青铜文明
高级·新上架

中华青铜文明

中华青铜文明博物馆静态展示站,涵盖历史溯源、器型分类、纹饰艺术、三星堆 3D 专题、数字展厅、铸铜工艺与知识挑战等模块,Three.js+Swiper 沉浸式体验。

HTML大作业
4.828
铸光:中华青铜器数字展
高级·新上架

铸光:中华青铜器数字展

「铸光」中华青铜器数字展,七章滚动叙事覆盖序、时间、铸造、纹样、金文、礼器与藏品,GSAP ScrollTrigger 驱动,铸造页含 Three.js 线框鼎,适合 HTML 多页文化展陈类课程设计。

HTML大作业高级动画网站
4.80
釉下生花 — 醴陵釉下五彩瓷数字画卷
高级·新上架

釉下生花 — 醴陵釉下五彩瓷数字画卷

醴陵釉下五彩瓷主题静态展示站「釉下生花」,水墨青花画卷视觉风格,含总览导览页、3D 作品旋转轮播、窑火流源工艺时间轴与竖排文字作品赏析模块,jQuery 原生实现无后端。

HTML大作业
4.826
本草纲目溯源
高级·新上架

本草纲目溯源

本草纲目溯源静态展示网站,以明代李时珍《本草纲目》为切入点,含名人、著作、药材三大模块,古风竖排排版配合 3D 轮播、Swiper 画轴与药材属性标注交互,纯前端无后端依赖。

HTML大作业
4.829
非遗·油纸伞
高级·新上架

非遗·油纸伞

非遗油纸伞主题纯前端展示与互动项目,含历史时间轴、工艺解读、Three.js 3D 换装、Fabric.js DIY 绘画、知识问答与虚拟展厅,localStorage 用户与作品持久化。

HTML大作业
4.853