产品背景:
- 为什么社会上不文明、不道德的行为越来越多?
- 这种行为不需要成本,而且大多数情况下还能得到好处;
- 旁人的事不关己的态度也就是好人的沉默;
产品类型:排行榜
产品介绍:用游戏化的方式,对不文明、不道德的行为打分量化并排行。
核心功能:
- SB行为榜:不文明、不道德行为榜单;
- 智商税:用户自主发布交过智商税的事,帮助其他用户避坑;
- 揭丑者:揭露车辆的种种丑行,对揭丑者信息进行保护,被揭者可认领自己的丑行。
产品研发:小程序云开发
产品开发实录:
- 排行榜
app.router('AllRanking', async (ctx, next) => {
const result = await db.collection('Ranking')
.aggregate()
.sort({
total: -1,
}).skip(event.len)
.limit(20)
.lookup({
from: 'Facing',
let: {
rankId: '$_id'
},
pipeline: $.pipeline()
.match(_.expr(
$.eq(['$rankId', '$$rankId']),
)).group({
_id: '$type',
list: $.push({
facingId: '$_id'
})
}).project({
_id: 1,
total: $.size('$list')
}).done(),
as: 'facing'
}).end()
ctx.body = { data: result.list }
});
- 详情页:echart图表组件,打分部分小程序radio-group组件,css grid控制样式
- 打分方式:预设0-3的愤怒指数翻倍基数,计算用户长按按钮的毫秒数作为(愤怒指数),时间越长,代表对这种行为约愤怒;最终分数= 愤怒指数 * 指数翻倍
- 关键技术:用 button组件catchtouchstart、 catchtouchend方法实现长按统计。
备注:在提交分数时遇到了个小问题,云函数add()返回null,找了一晚上原因没找到,第二天起来再看发现了问题。
原因是之前position的键名定义成“type”了,这就导致同时定义了2个“type”,改过来就好了[捂脸]
开发花絮:
本人2020年9月,因为创业不懂技术,最终因为技术问题,导致创业失败,最终被逼成了“程序员”,一切从零开始(可以从我个人中心的第一条提问看出,确实是零基础),因为是创业项目,没时间练习,所以上手就是实战。第一个项目“荔枝属牛”,社群saas工具,也是云开发做的,已经上线。开发到现在,我现在是深深的爱上了“云开发”,以前不懂技术,做项目又是招前端、后端、ui,现在用了云开发,我一个人全干了,再也不担心,每天收到各种后端服务受攻击的信息了。荔枝属牛项目一共3款小程序,群主端、骑手端、商家端。修修改改,做了快一年,每天除了吃饭、上厕所、睡觉基本都是在写代码,然后我发现,写代码真的可以令我感到快乐,自从学会了编程,人也变得自信多了😄。我坚信程序员可以改变世界。
年底了,利用几天(第一版上线5天)空闲做了又做了这款“智商税征收机”项目。开发初衷,有时候在路上经常看到有人开车、骑电动车还在刷抖音,坐地铁、公交背个大大大双肩包蹭来蹭去...,遇到这些问题,我又能做点什么呢?所以上线这个项目。
我不想站在道德制高点,只是希望通过力所能及为社会做点贡献。
最好,感谢云开发,让我从新振作起来。
也欢迎对这个项目感兴趣、懂运营的人一起合作(私信),争取把他做成公益开源项目。
让这个项目真正能影响到那些骨子里还存有一定道德良知的人,能成为每个人的一面镜子。