#小程序云开发挑战赛#-多源在线翻译-qyy
1.作品背景
近年来,中国移动互联网爆发式的增长,使得人们能够利用碎片化时间获取所需信息,带给移动学习新的契机与体验。同时,利用碎片化时间接受的信息对记忆十分困难。该小程序提供用户随时随地对疑难词汇进行查询的功能,并可进行收藏,帮助用户多次利用碎片化时间进行记忆。
2.应用场景
- 阅读文章时,遇到不会的单词。
- 看美剧时,遇到新鲜的单词。
- 突然想知道一个单词用英语怎么说。
- 遇到一个有趣的单词想收藏下来。
3.目标用户
想要增加词汇量的普通人 && 急需通过四级大学生(@我的室友)。
4.实现思路
在小程序端提供用户交互界面。
服务器端对用户请求的词语进行查找并返回结果。
小程序端通过调用云函数实现用户的收藏功能。
在云函数将用户收藏的词语保存到数据库,增强数据的安全保护。
以下为实现收藏功能的云函数代码,由于云函数的数量有限制,这个使用一个url字段区分不同的功能,从而实现一个云函数实现多个功能。
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext();
const db = cloud.database();
const startwordCollection = db.collection('startword');
//检查是否已经收藏
if(event.url == "checkhasstart"){
return await startwordCollection.where({
'result.original':event.word,
openid: wxContext.OPENID,
}).count();
}
//调用数据库取消收藏
else if(event.url == "cancelstartword"){
return await startwordCollection.doc(event.id).remove();
}
//调用数据库添加收藏
else if(event.url == "savestartword"){
return await startwordCollection.add({
data:{
result:event.result,
openid:wxContext.OPENID,
time:new Date()
}
})
}
//调用数据库获取用户的收藏记录
else if(event.url == "getstartword"){
return await startwordCollection.where({
openid:wxContext.OPENID,
}).orderBy('time', 'desc').get();
}
else {
return {
msg:"error!"
}
}
5.架构图
6.效果截图
主界面
搜索单词
查看收藏的单词
翻译功能界面
7.代码链接
https://github.com/QiuYang01/-wei-mini-programs
8.作品体验二维码
9.作者简介
某高校无业大学生