1. 项目背景与设计初衷
诗词作为中华文化的瑰宝,在移动互联网时代需要新的传播载体。传统诗词网站存在使用门槛高、互动性弱的问题,而微信小程序凭借其免安装、易传播的特性,成为诗词文化传播的理想平台。去年我在参与某文化机构数字化转型项目时,发现他们迫切需要一个小型化、社交化的诗词交流工具,这直接促成了本项目的诞生。
选择UniApp框架主要基于三点考量:首先,其"一次开发多端发布"的特性能够覆盖微信、百度、支付宝等多个小程序平台;其次,Vue语法体系对前端开发者更友好;最重要的是,在实测中UniApp的渲染性能比原生小程序开发平均提升20%,这在诗词图片展示等场景优势明显。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构详解
2.1 整体技术栈设计
采用前后端分离架构,前端使用UniApp+Vue+ColorUI组件库,后端基于Spring Boot 2.7+MyBatis Plus构建RESTful API,数据库选用MySQL 8.0(考虑其JSON字段支持便于存储诗词的复杂元数据)。特别说明几个关键选型:
- ColorUI选择:对比WeUI和Vant Weapp后,发现ColorUI的古典风格组件(如卡片、标签)更契合诗词主题,其内置的淡雅色系可直接复用
- Spring Security替代方案:由于小程序登录流程特殊,放弃传统Session方案,采用JWT+自定义鉴权过滤器,实测QPS提升3倍
- MySQL全文检索:针对诗词内容搜索需求,为
poem_content字段添加FULLTEXT索引,配合MATCH AGAINST语法实现高效检索
2.2 微信生态适配要点
javascript复制// 登录流程关键代码示例
uni.login({
provider: 'weixin',
success: (res) => {
this.$http.post('/api/wxauth', {code: res.code}).then(({data}) => {
uni.setStorageSync('token', data.token) // 缓存token
this.getUserInfo() // 获取用户资料
})
}
})
