一、设计的目的
书法是中华民族传统文化的瑰宝,更是人类文明的宝贵财富,具有深远的意义和实价值。在当今数字化时代,随着信息技术的飞速发展,传统书法学习模式面临着诸多挑战和需要解决的问题。为推动书法学习的现代化转型,结合Vue.js、uni-app、uniCloud以及云数据库等一系列的前沿技术,该平台的构建聚焦于解决当前书法学习管理中普遍存在的问题,通过整合这些前沿的技术,平台将为学习者提供一个沉浸式的学习环境,不仅能够满足不同层次学习者的需求,还能极大地提升学习者的学习与交流体验。
二、需求分析
利益相关方及期待的功能点:
书法学习者功能期待:访问丰富的书法教程、购买书法工具、互动社区。
期望:提升书法技艺,参与社区交流。
系统管理员
功能期待:功能全面且高效、权限设置、系统稳定与安全。
期望:保护用户数据安全,提供技术支持。
根据功能点设计出用例模型:
系统的参与者分为学生和管理员:
根据总用例图分别写出每个用例点。
根据软件需求生成分析类图。
分析完后生成系统原型图:
三、系统原型图
1、系统登陆
2、首页
3、课程
4、圈子
5、商城
6、我的
四、数据库设计
1、用户实体属性
2、画出全部实体属性,最后画出一个总体E-R图
3、数据库表如:用户表
字段名称 |
类型 |
允许空 |
主键 |
外键 |
自增 |
唯一 |
说明 |
默认值 |
_id |
String |
否 |
是 |
否 |
是 |
是 |
用户唯一标识 |
自动生成 |
opendId |
String |
否 |
否 |
否 |
否 |
否 |
微信opendid |
唯一标识 |
avatar |
String |
否 |
否 |
否 |
否 |
否 |
用户头像 |
- |
name |
String |
否 |
否 |
否 |
否 |
否 |
用名 |
- |
nickname |
String |
否 |
否 |
否 |
否 |
否 |
用户昵称 |
- |
gender |
String |
否 |
否 |
否 |
否 |
否 |
性别 |
- |
phone |
String |
否 |
否 |
否 |
否 |
否 |
手机号 |
- |
role |
String |
否 |
否 |
否 |
否 |
否 |
用户角色 |
user |
IsActive |
Boolean |
否 |
否 |
否 |
否 |
否 |
是否激活 |
True |
creatTime |
Date |
否 |
否 |
是 |
否 |
否 |
注册时间 |
当前时间 |
updateTime |
Date |
否 |
否 |
是 |
否 |
否 |
最后更新时间 |
当前时间 |
五、系统编码
1、商城模块实现
先要获取到商品的信息,然后点击支付时候判断用户有没有选择收货地址:
异步函数 () {
goods_info = 等待 db.collection('商品表').doc(当前商品的 ID).field("商品的详细信息").get()
this.goods_info = goods_info.result.data[0]将获取到的商品信息存储到本地变量中
}
函数支付() {
if (JSON.stringify(this.address) 等于空') {
if 空,则提示选择收货地址
}
if 选择,继续执行支付逻辑
}
2、圈子模块实现
用户评论
异步函数 获取评论() {
province = 等待 获取省份的方法getProvince();
如果 (!this.评论内容) {显示提示消息:标题:"评论不能为空" 返回}
数据库.连接("quanzi_评论表").add({ "comment_content": this.评论, "省份province": 省份
...this.评论信息
}).then(res => {"评论成功"
this.$emit("commentEnv", {用户id评论内容"省份": 用户所在省份当前时间})
this.回复内容= ""
云函数.operation("quanzi_文章表", "评论数", this.Obj.文章id, 1)})}
}
六、系统测试
1、测试背景及目的
验证小程序的功能完整性、进行优化用户体验,保障性能稳定,确保数据安全