微信小程序《日常》

引言

  1. 优秀的人之所以优秀,是因为他们的生活已经规范化,他们养成了一个又一个好习惯,到了某个时间,习惯会推动他们做事,不需要靠意志力。正如小老鼠走迷宫的实验,经过上百次不断重复走迷宫的经历,老鼠的习惯回路就形成在大脑里面,大脑将其编入习惯系统里面,然后就可以刻意地记住应该怎么走。为了要构建某个习惯,我们必须刻意的去做这件事情,如果把它存在脑子里面就会增加负担,所以必须把它可视化,这样就比较容易能够记得住,比较容易能够标准化的去进行刻意练习 。
  1. 我们大部分的拖延、迷茫、焦虑都是因为没有目标引起的。因为没有目标,做事没有方向感,注意力不集中,很容易被其他事情吸引,比如计划好学习,抖音却刷的停不下来。目标要定制的合理,可以是预期的,潜意识里对目标产生渴望,驱动你去努力实现它。

本小程序专注于用户的习惯培养,帮助用户构建习惯,懂得时间管理,合理利用零碎时间,培养兴趣,为生活创造价值。

开源地址:

https://gitee.com/yolin121/daily

一、应用场景

​ 微信已经深入普及在我们的生活中,加上小程序自身所存在的特性及优势,简单、实用、易上手
的工具往往能很好的培养用户粘性,特别是在微信这个庞大的流量池中。

​ 此小程序主要面向学生,不同学习阶段的学生有不同量的学习任务,每天都要处理不同的事物,
好的时间管理能提高学习生活效率。很多学生在结束一天的学习内容后,会获得零碎的时间,而多数人
总是以休息、游戏、刷剧的方式去打发时间,这种沉浸式的生活方式会让人迷茫,有时会产生没事做的
感觉。对于这种零碎时间最好的处理方式应该是去做当下最需要做的事,或解燃眉之急,亦或了多时之
愿,当那些棘手的或是欣欣念念的事被完成时,获得的满足感足以让我们沉浸在幸福之中,这绝对比简
单的休息更为美妙。当然需要明确的是,任何时候的时间充足率、效能的提升都不能以牺牲健康为前
提。

二、解决的实际问题

​ 1、帮助用户构建、培养日常习惯,充实生活

​ 2、待做清单,解放大脑,高效生活

​ 3、合理利用时间,拒绝拖延症

​ 4、培养兴趣爱好,改善生活方式

三、技术开发方案

技术支撑

  1. 界面采用ColorUI组件库
  2. 语音识别调用微信同声传译API
  3. 日历使用极点日历插件
  4. echarts将数据可视化
  5. nodejs作服务端支持
  6. 使用微信云开发

获取用户openid

  1. wx.login()
    1. 调用接口获取登录凭证,获取用户登录状态信息,包括openid和session_key。
    2. session_key是对用户数据进行加密签名的密钥
  2. 调用getSetting()获取用户信息,判断是否授权登录,若已授权可以直接调用getUserInfo获取用户信息,其中是通过调用云函数login获取openid 的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
console.log("已经授权")
wx.getUserInfo({
success: res => {
// 可以将 res 发送给后台解码出 unionId
this.globalData.userInfo = res.userInfo
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}
console.log(res)
//云函数获取用户openid
wx.cloud.callFunction({
name:'login',
success:res=>{
this.globalData.userOpenid=res.result.openid
}
})
}
})
}else{
console.log("未授权")
this.globalData.not_login=true
}
}
})
}

文件上传

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
upimg(){
this.suijishu()
//弹出选择图片对话框
wx.chooseImage({
complete: (res) => {
console.log(res)
let path=res.tempFilePaths[0]
wx.showToast({
title: '图片上传中',
icon:'loading',
duration:4000,
mask:true
})
//云存储调用-上传文件方法
wx.cloud.uploadFile({
cloudPath:"richang/"+this.data.suiji+".png",
filePath:path,
success:(res)=>{
console.log("图片上传成功",res)
wx.showToast({
title: '图片上传成功',
})
this.setData({
backgroundimg:res.fileID
})
wx.setStorage({
key:'me',
data:this.data.backgroundimg,
success(e){}
})
},
fail:(res)=>{
console.log("上传失败",res)

}
})

},
})
},

倒计时操作

思想:记录开始时间,开始的时间戳加上需要的时间作为结束的时间,每秒调用一下记时方法,进行格式转换,显示到页面上,最后判断当前时间是否到截止时间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//倒计时
countDown() {
var that = this
var starttime = this.data.now
console.log(starttime)
var start = new Date(starttime).getTime()
console.log(start)
var endTime = start + this.data.timeindex * 60000//开始的时间戳加上需要的时间作为结束的时间
var now = new Date().getTime(); //现在时间戳
var allTime = endTime - now//
var m, s;
if (allTime > 0) {
m = Math.floor(allTime / 1000 / 60 % 60);
s = Math.floor(allTime / 1000 % 60);
s = s<10?"0"+s:s
m = m<10?"0"+m:m
that.setData({
countdown: m + ":" + s,
})
setTimeout(that.countDown, 1000);
} else {
console.log('已截止')
audio.stop()
that.setData({
countdown: '00:00',
modalName:"Image",
finishZhuanZhu:true
})

}
},

四、主要内容介绍

1. 日常模块

该页面是有关于培养习惯的。构建习惯的过程,就像我们去一个陌生的地方旅行一样,我们对这
个习惯可能很陌生,正因为陌生所以我们才需要构建它,我们提供了诸多公认的好习惯可帮用户直接选
择,简要阐述了该习惯的价值所在。当然用户也可以自定义习惯内容。页面上方的日历记录习惯的打卡
日期和天数。数据统计中包含更详细的打卡数据,另外用扇形图将数据展示出来,更直观反映出用户的
行为。用户可根据自己选择打卡方式:

  1. 按钮打卡
  2. 番茄打卡

这里推荐番茄打卡,让用户能提高专
注力,避免手机的干扰。同时我们将习惯划分为4个阶段:

  • 全力爆发期
  • 意志疲软期
  • 懈怠麻木期
  • 平稳期

根据用户打卡天数给予反馈,给用户相应的提示,因为构建习惯的过程是艰难的,只有到了最后
的平稳期,用户才会不需要意志力推动他们做事,因为这已经成为了习惯,成为了”日常“。

页面展示

​ 1、首次进入页面习惯数据为空,用户可点击右下角按钮进入习惯分类页面

​ 2、用户根据需要选择要培养的习惯类别,也可以自定义习惯

​ 3、点击任意一个习惯,将跳转至添加习惯页面,内置的习惯会有个此习惯的好处,以及收获

,提高用户兴趣

​ 4、填写习惯内容,选择图标颜色,并设置要执行的时段,最后点击添加到习惯列表

​ 5、点击添加的习惯,会弹出当前该习惯的信息,该内容展示由打卡天数决定,用户可选择直接

打卡,也可以选择番茄打卡

​ 6、点击图片上方的按钮即可进入番茄打卡页面,该页面下用户可选择专注时间,以及页面背景

色与是否打开音乐

​ 7、点击开始专注,时间会进行倒计时,此时用户不可操作手机否则任务失败,用户可选择放
弃。当时间归零后即提示用户完成打卡

​ 8、打卡后数据自动更新,日历和数据统计部分也会调整,并提交到数据库

​ 9、通过菜单栏进入数据统计部分,这里将对用户的习惯数据作以统计,展示方式包括卡片以及
echarts将数据可视化,用户可直观的看到自己的信息

​ 10、长按习惯可删除

2. 待做模块

​ 辅助日常的使用,将习惯细致化,将日常工作列出来,使任务项目可视化,避免遗漏,让生活更

从容有序,帮你从冗杂的待办事项中解脱。使用与传统的todolist没有太大差别,简单易操作,支持键盘和语音输入(同声传译)

3. 点滴模块

​ 记录成长,记录心情,感觉延续的变化。

​ 内容用户随意编写,可以记录自己坚持的变化、设置长期计划、备忘录等,另外可以给文字配上
图片,使得内容充实有趣。

请我喝杯咖啡吧~

支付宝
微信