很久以前,我自学了一些html / css / javascript。碰巧的是,微信小程序开发的主要知识储备也在这里。在此期间,联盟学会的一位学生问我是否可以为大学赚钱小程序。主要是大学论坛和提早入住两部分。我答应当时尝试这样做。我没想到它会失控。经过一个星期的夜晚,我终于制作了小程序的原型。以下是小程序界面渲染图,源代码已开源至我的github,此处仅发布了主要代码
一个类似论坛的社区,可发帖、评论、回复。 打卡可换算积分,一天只能打卡一次,且有今日打卡排行榜实时展示。 跑步也可换算积分,换算的规则男女有别。
在此处插入图片描述
在此处插入图片描述

图片
小程序的成本相对较高,需要获得营业执照,并且由于存在论坛,因此在线后需要获得工业和信息化部的注册资格,否则该代码将尚未更新,因此我已停止对其进行维护。开源该项目的代码:github地址,欢迎之星,叉子!!!
今天,我主要讨论早期签到部分的制作。为了以后进行维护,我将这部分分别制成了小程序,小程序称为“一见钟情”,现已在线上,欢迎体验。
核心代码
通话便宜,显示代码。
核心代码punch.js
var app = getApp(); var date; var allowlog = 1; var Bmob = require('../../utils/bmob.js'); Page({ /** * 页面的初始数据 */ data: { newList: [], }, btn_click: function(e){ if (allowlog == 1){ allowlog = 0; wx.getStorage({ key: 'user_id', success: function (res) { var user_id = new Bmob.User(); user_id.id = res.data; wx.getStorage({ key: 'my_nick', success: function (ress) { var mydate = new Date(); var year = mydate.getFullYear(); var month = mydate.getMonth() + 1; var day = mydate.getDate(); var date = year + "年" + month + "月" + day + "日"; var hour = mydate.getHours(); //获取当前小时数(0-23) var minute = mydate.getMinutes(); //获取当前分钟数(0-59) var second = mydate.getSeconds(); //获取当前秒数(0-59) var time = hour + "时" + minute + "分" + second + "秒"; var avatar = wx.getStorageSync("my_avatar"); var Punch = Bmob.Object.extend("punch"); var punch = new Punch(); var me = ress.data; var query = new Bmob.Query(Punch); query.equalTo("nickname", me); query.equalTo("date", date); // 查询所有数据 query.find({ success: function (results) { console.log("共查询到 " + results.length + " 条记录"); if (results.length == 0) { if (hour >= 6) { if (hour < 8) { var intger; if (hour < 7) { if (minute <= 20) { intger = 3; } else if (minute <= 40) { intger = 2.5; } else { intger = 2; } } else if (hour < 8) { if (minute <= 20) { intger = 1.5; } else if (minute <= 40) { intger = 1; } else { intger = 0.5; } } wx.showToast({ title: '打卡成功+' + intger + "分", icon: 'success' }) wx.getStorage({ key: 'my_username', success: function (ress) { if (ress.data) { var my_username = ress.data; wx.getStorage({ key: 'user_openid', success: function (openid) { var openid = openid.data; var user = Bmob.User.logIn(my_username, openid, { success: function (users) { var score = users.get('score'); score = score + intger; users.set('score', score); users.save(null, { success: function (user) { }, error: function (error) { console.log(error) } }); } }); }, function(error) { console.log(error); } }) } } }) punch.set('nickname', me); punch.set('user_id', user_id); punch.set('date', date); punch.set('avatar', avatar) punch.set('time', time); console.log(me, user_id); punch.save(null, { success: function (result) { console.log('success'); allowlog = 1; }, error: function (result, error) { console.log(result, error, "failure") } }) } else { wx.showToast({ title: '已过打卡时间', icon: 'loading' }) } } else { wx.showToast({ title: '还没到打卡时间', icon: 'loading' }) } } else { allowlog = 1; wx.showToast({ title: '重复打卡', icon: 'loading' }) } }, error: function (error) { console.log("查询失败"); } }); } }) }, }) } else{ wx.showToast({ title: '点的太快了', icon: 'loading' }) } }, tempData: function () { var that = this; var Punch = Bmob.Object.extend("punch"); var query = new Bmob.Query(Punch); var mydate = new Date(); var year = mydate.getFullYear(); var month = mydate.getMonth() + 1; var day = mydate.getDate(); var date = year + "年" + month + "月" + day + "日"; query.equalTo("date", date); query.limit(100); var results = []; query.find({ success: function (result) { for (var i = 0; i < result.length; i++) { console.log('共有打卡记录:', result.length) var object = result[i]; object.set('time', object.createdAt.substring(11, 19)); object.set('rank', i + 1); results[i] = object; } console.log(results); that.setData({ list: results }); } }) }, onLoad: function () { this.tempData(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { this.tempData(); wx.stopPullDownRefresh(); }, onShareAppMessage: function () { return { title: '快来打卡赢积分', imageUrl: '../../static/images/tao.png' } }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { } })