1.我是一名软件工程师,技术出身,担任开发组长,对项目管理不是很熟,所以决定系统学习下项目管理。

2.全球最适合的项目管理学习课程就是PMP,每年有4次PMP考试,证书还是很有含金量的。

3.目前工作上不是很忙,有多余时间用来做自己的事,所以准备写点代码来玩下。

4.组里都是做小程序开发的,虽然是开发组长,但是大部分的时间都是和甲方打交道,写代码的时间确实很少。

5.于是决定写个小程序来帮助我考PMP。

6.题库都是培训机构出的模拟题,我们学习小组将纸质的题目转成了txt格式,方式有OCR,语音转换,纯手敲。整理题库真的非常耗时!!

7.目前有14个小伙伴(培训认识的)在使用这个小程序刷题,6月22号我们考完了,希望都能5A。

8.每天坐地铁1个多小时都在刷题。零碎时间刷题真的非常爽,一直刷题一直爽

9.想着做好了,可以跟培训机构合作下,赚点外快。只可惜培训机构的老板已经找到其他供应商了~~~~

10.最开始是小组内有个同学做了一个安卓的pmp知识工具,但ios的用不了,所以想着做一个小程序,这样安卓和ios都可以用了,受众也变多了。

 

组织过程资产:

小组聚在一起学习

现在show一波我的小程序吧。后台采用小程序云开发,这样就不用自己搭后台,快速上手和开发。

主要有以下功能:

1. 每日练习题

2. 4套模拟试题在线作答

3. 备考心得

4. 专题秘籍

5. 答题排行榜

6. 开发版本记录

7. PMP知识总结

 

 

我创建一个member云函数,定义创建member的方法,都是js写的。

写完之后需要上传云函数,这样小程序前端就可以直接调用

  1. //1.查询会员是否存在
  2. //2.不存在则创建会员
  3. result = db.collection(\'member\').where({
  4. openid: wxContext.OPENID // 填入当前用户 openid
  5. }).get().then(res => {
  6. if (res.data.length == 0) {
  7. member = db.collection(\'member\').add({
  8. // data 字段表示需新增的 JSON 数据
  9. data: {
  10. nickName: user.nickName,
  11. avatarUrl: user.avatarUrl,
  12. gender: user.gender,
  13. country: user.country,
  14. province: user.province,
  15. city: user.city,
  16. openid: wxContext.OPENID,
  17. appid: wxContext.APPID,
  18. unionid: wxContext.UNIONID,
  19. }
  20. }).then(res => {
  21. console.log(res)
  22. return {
  23. event,
  24. user,
  25. openid: wxContext.OPENID,
  26. appid: wxContext.APPID,
  27. unionid: wxContext.UNIONID,
  28. memberId: res._id
  29. }
  30. }).catch(console.error)
  31. return member
  32. } else {
  33. member = res.data[0]
  34. return member
  35. }
  36. return member
  37. })
  38. return result
  39. }
  1. createMember: function (user) {
  2. // 创建会员
  3. wx.cloud.callFunction({
  4. name: \'member\',
  5. data: {
  6. action: \'create\',
  7. user: user
  8. },
  9. success: res => {
  10. console.log(\'[云函数] [login] user openid: \', res.result.openid)
  11. app.globalData.openid = res.result.openid
  12. app.globalData.openid = res.result.nickName
  13. this.setData({
  14. isShowResigterModal: false
  15. })
  16. },
  17. fail: err => {
  18. console.error(\'[云函数] [login] 调用失败\', err)
  19. }
  20. })
  21. },
  22.  
  23. getMember: function () {
  24. // 查询会员
  25. wx.cloud.callFunction({
  26. name: \'member\',
  27. data: {
  28. action: \'get\'
  29. },
  30. success: res => {
  31. console.log(\'[云函数] [login] res: \', res.result)
  32. if (res.result != null) {
  33. app.globalData.openid = res.result.openid
  34. app.globalData.memberId = res.result._id
  35. app.globalData.nickName = res.result.nickName
  36. this.setData({
  37. isShowResigterModal: false
  38. })
  39. } else {
  40. this.setData({
  41. isShowResigterModal: true
  42. })
  43. }
  44. },
  45. fail: err => {
  46. console.error(\'[云函数] [login] 调用失败\', err)
  47. }
  48. })
  49. },

选择本地调试

打断点进行调试

我们可以打开云开发控制台,看到有很多监控参数,这个月大家刷题刷得很多,所以流量有很高,总共调用了1.63万次,使用量还是挺高的哦~

 

 

4月,5月,6月都有开发,中间有2个星期没有开发,当时觉得做刷题功能比较耗时间。后来小组内有人说小程序做的不错,偶尔还看下,所以又鼓起了我的兴趣,就接着做答题功能。

下面是github提交记录

 我的gitbub链接:

https://github.com/Jackson0714

 

加我微信备注 pmp刷题 即可体验刷题小程序。

 

关注公众号:悟空聊架构,回复pmp,领取pmp资料!

悟空聊架构 

关注我,带你每天进步一点点!

还有111本书籍赠送~~

 

版权声明:本文为jackson0714原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jackson0714/p/weapp.html