实现一个投票小程序全流程

因为最近想实践一下小程序的云开发能力,于是设计开发了一个简单的投票应用,欢迎感兴趣的一起学习交流。

代码仓库 https://github.com/luosijie/m...

由于小程序【个人开发者】不开放【投票】类目,所以就不能在线预览了,我放几张应用的截图

实现一个投票小程序全流程_第1张图片

数据库设计

总共用到了3个集合

1. users (用户集合)

基本上直接保存用用户的userInfo数据

{
  "_id":"023ce9555ff068de0314b5521c313ee6",
  "OPENID":"oZK45EoiyFzv...7R64I",
  "nickName":"LSJ",
  "gender":1,
  "language":"zh_CN",
  "city":"Xiamen",
  "province":
  "Fujian",
  "country":"China",
  "avatarUrl":"https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTL9lhZHZdYsMx3mjhZZYbbE5OZhUqUefNtsibkhdrSTIdpdhzv34lYHXtafMjuoibJ8JwTj5VM76CkA/132"
}

2. votes (投票集合)

{
  "_id":"21ded5cb5ff5f0530407988a4e8f18a5", // 唯一id
  "creator":"o-ZK45EoiyFzvevQyQTSZUV7R64I", // 发起人
  "title":"阿斯顿大的as da", // 标题
  "desc":"阿斯顿阿斯顿", // 描述
  "startTime":"2021-1-7", // 开始日期
  "endTime":"2021-1-8", // 结束日期
  "state":"ing" // 状态
}

3. options (选项集合)

{
  "_id":"be7fb3985ff5f05403068303431d580b", // 唯一id
  "vote_id":"21ded5cb5ff5f0530407988a4e8f18a5", // 选项对应的投票_id
  "title":"阿斯顿大的大的", // 标题
  "desc":"撒打算的洒大地上阿斯顿", // 描述
  "image":"http://tmp/2jVXjjLScAyNf0dffe2c5fc6479bee73fe954b64a3e7.png", // 配图
  "users":["o-ZK45EoiyFzvevQyQTSZUV7R64I"] // 该选项的投票者
}

云函数开发

总共写了6个云函数

1. addRecord 新增投票记录

/**
 * 新增投票记录
 * @param {String} title 标题
 * @param {String} desc 描述
 * &

你可能感兴趣的:(小程序开发,小程序,投票功能)