diff --git a/app.json b/app.json index 649a598..af1bfdb 100644 --- a/app.json +++ b/app.json @@ -1,9 +1,10 @@ { "pages": [ + "pages/login/loginNew/loginNew", "pages/login/codeLogin/codeLogin", + "pages/index/achievement/achievement", "pages/index/rank/rank", "pages/index/index", - "pages/index/achievement/achievement", "pages/index/newPunch/newPunch", "pages/mine/record/record", "pages/mine/index", diff --git a/img/login_img.png b/img/login_img.png new file mode 100644 index 0000000..bff1ee0 Binary files /dev/null and b/img/login_img.png differ diff --git a/pages/index/achievement/achievement.js b/pages/index/achievement/achievement.js index b030469..f50e196 100644 --- a/pages/index/achievement/achievement.js +++ b/pages/index/achievement/achievement.js @@ -1,52 +1,148 @@ // pages/index/achievement/achievement.js +// 引入插件安装器 +import plugin from '../../../component/v2/plugins/index' +import week from '../../../component/v2/plugins/week' +import todo from '../../../component/v2/plugins/todo' +import request from '../../../api/request.js' +import moment from 'moment'; +plugin + .use(week) + .use(todo) Page({ - /** - * 页面的初始数据 - */ - data: { - calendarConfig: { - // theme: 'elegant', - weekMode: true, // 周视图模式 - // highlightToday: true, // 是否高亮显示当天 - // hideHeader: true, // 隐藏日历头部操作栏 - }, - isDisplay:false - }, - takeoverTap(e) { - console.log('takeoverTap', e.detail) - }, - //获取信息 - getInfo(e) { - // 切换为周视图 - const calendar = this.selectComponent('#calendar').calendar - console.log(calendar.getCurrentYM()) - calendar.switchView('week', '#calendar').then(() => {}) - return - // 切换为周视图 - this.setData({ - isDisplay: !this.data.isDisplay - }) - if (this.data.isDisplay) { - calendar.switchView('month').then(() => {}) - } else { - calendar.switchView('week').then(() => {}) - } - }, - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - - }, - // 统一返回 - handleBack() { - wx.navigateBack() - }, - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } + /** + * 页面的初始数据 + */ + data: { + calendarConfig: { + theme: 'elegant', + weekMode: true, // 周视图模式 + // highlightToday: true, // 是否高亮显示当天 + hideHeader: true, // 隐藏日历头部操作栏 + autoChoosedWhenJump: true, // 设置默认日期及跳转到指定日期后是否需要自动选中 + defaultDate: moment(new Date().getTime()).format('YYYY-MM-DD'), // 默认选中指定某天,如需选中需配置 autoChoosedWhenJump: true + }, + isDisplay: false, + calendar: {}, //日历 + valueId: '', //任务ID + taskVo: { + allowRepairCard: 0, + hasData: 0, + id: 0, + releaseTime: "", + signTotal: 0, + taskCycle: 0, + taskDesc: "", + taskFrequency: "", + taskTitle: "", + weekDay: "" + }, + resData: [], //成果数据 + recordVo: { + commitTime: "", + files: [], + signDate: "", + taskRecordDesc: "", + taskStatisticsParam: "" + }, //成果数据当天 + recordVoShow: false, + dayMoment: 0 , //数据月份 + }, + /** + * 选择日期后执行的事件 + */ + afterTapDate(e) { + let date = e.detail.date + // let month = e.detail.month + // let year = e.detail.year + let recordVo = this.data.resData.eventDetails[date - 1].recordVo + if (recordVo != null) { + console.log('复制',recordVo) + this.setData({ + recordVo: recordVo + }) + this.setData({ + recordVoShow: true + }) + }else { + this.setData({ + recordVoShow: false + }) + } + }, + //获取信息 + getInfo(doday,isOne=0) { + request({ + url: `/wx/task/getSignRecord`, + method: 'get', + data: { + // wx.getStorageSync('userInfo_id'), + "taskId": this.data.valueId, + "signDate": doday + }, + }).then(res => { + if (res.code == 0) { + this.setData({ + resData: res.data + }) + this.getV2(res.data) + if(isOne ==1) { + let e = { + detail: { + date: moment().date(), + month: moment().month() + 1, + year: moment().year() + } + } + this.afterTapDate(e) + } + } else { + wx.showToast({ + title: res.msg, + icon: 'none' + }) + } + }) + }, + //初始化日历 + initialize() { + // 设置待办 + this.setData({ + 'calendar': this.selectComponent('#calendar').calendar + }) + }, + //显示日历 + getV2(resData) { + this.setData({ + taskVo: resData.taskVo + }) + // const calendar = this.selectComponent('#calendar').calendar + this.data.calendar.setTodos({ + // 待办点标记设置 + pos: 'bottom', // 待办点标记位置 ['top', 'bottom'] + dotColor: 'red', // 待办点标记颜色 + circle: false, // 待办圆圈标记设置(如圆圈标记已签到日期),该设置与点标记设置互斥 + showLabelAlways: true, // 点击时是否显示待办事项(圆点/文字),在 circle 为 true 及当日历配置 showLunar 为 true 时,此配置失效 + dates: resData.eventDetails + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.setData({ + valueId: options.valueId + }) + }, + // 统一返回 + handleBack() { + wx.navigateBack() + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + this.initialize() + this.getInfo(moment(new Date().getTime()).format('YYYY-MM-DD'),1) + }, }) \ No newline at end of file diff --git a/pages/index/achievement/achievement.json b/pages/index/achievement/achievement.json index 7c6d688..533f247 100644 --- a/pages/index/achievement/achievement.json +++ b/pages/index/achievement/achievement.json @@ -1,6 +1,11 @@ { "usingComponents": { "van-icon": "@vant/weapp/icon/index", - "calendar": "/component/v2/index" - } + "calendar": "/component/v2/index", + "van-popup": "@vant/weapp/popup/index", + "van-field": "@vant/weapp/field/index", + "van-image": "@vant/weapp/image/index", + "van-button": "@vant/weapp/button/index" + }, + "navigationBarTitleText": "我的成果" } \ No newline at end of file diff --git a/pages/index/achievement/achievement.wxml b/pages/index/achievement/achievement.wxml index 4e7856d..05f58f3 100644 --- a/pages/index/achievement/achievement.wxml +++ b/pages/index/achievement/achievement.wxml @@ -1,5 +1,31 @@ - + + + + {{taskVo.taskTitle}} + + 已进行 {{taskVo.signTotal +' / ' +taskVo.taskCycle}} 天 + 打卡频次 : {{taskVo.taskFrequency}} + {{taskVo.hasData == 1 ?'允许补卡': '不允许补卡'}} + + {{taskVo.taskDesc}} + + 我发布与{{taskVo.weekDay}} {{taskVo.releaseTime}} + + + + + + + 打卡成果 + 本次打卡坚持了{{recordVo.taskStatisticsParam}}分钟 + "{{recordVo.taskRecordDesc}}" + + + + + + \ No newline at end of file diff --git a/pages/index/achievement/achievement.wxss b/pages/index/achievement/achievement.wxss index 74af0c0..9fc8777 100644 --- a/pages/index/achievement/achievement.wxss +++ b/pages/index/achievement/achievement.wxss @@ -4,4 +4,131 @@ height: 20vw; background-color: aqua; font-size: 5vw; +} +.line_grey { + width: 90vw; + height: 1px; + background-color: #999; + margin: 10px 5vw 20px; +} +.card { + width: 92vw; + margin-left: 4vw; +} +.card_title { + font-size: 18px; + color: #556191; + margin: 15px 0; +} +.card_flex { + display: flex; +} +.flex_grey { + padding: 7px 10px; + box-sizing: border-box; + margin: 0 5px 10px 0; + font-size: 13px; + background-color: #F4F4F4; + color: #666666; + border-radius: 3px; +} +.card_context { + font-size: 16px; + margin: 10px 0; +} +.grey_font { + font-size: 14px; + color: #999999; + margin: 20px 0; +} +.grey_font_bottom { + margin-top: 5px; +} +.btn_box { + display: flex; + justify-content: space-around; + position: fixed; + bottom: 50px; + width: 100vw; +} +.pop_title { + font-size: 18px; + font-weight: bold; + text-align: center; + margin: 20px 0; +} +.pop_flex { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + box-sizing: border-box; +} +.pop_cell { + width: 40vw; + display: flex; + align-items: center; +} +.pop_fz { + width: 70px; +} +.pop_btn { + position: absolute; + bottom: 30px; + width: 90vw; + margin: 0 5vw; +} +.pop_tip { + position: absolute; + bottom: 90px; + width: 90vw; + margin: 0 5vw; +} +.pop_pic { + width: 70px; + height: 30px; +} +.grey_line { + width: 90vw; + height: 1px; + margin: 20vw 5vw 10vw ; + background-color: #999; +} +.box { + padding: 0 5vw; + box-sizing: border-box; + margin-bottom: 20px; +} +.box_title { + font-size: 20px; + font-weight: bold; +} +.box_blue { + padding: 7px 10px; + box-sizing: border-box; + background-color: #EDF5FF; + color: #333333; + margin: 15px 0; + border-radius: 10px; +} +.box_blue span { + color: #3A86F5; +} +.box_grey { + padding: 18px 10px; + box-sizing: border-box; + background-color: #FBFBFB; + color: #666666 ; + margin: 15px 0; + border-radius: 10px; +} +.box_pic { + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} +.box_img { + width: 26vw; + margin:0 0 10px; + border-radius: 10px; } \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js index 3fc231d..e667c84 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -49,15 +49,15 @@ Page({ }, // 打卡成果 - handleAchievement(){ + handleAchievement(e){ wx.navigateTo({ - url: '/pages/index/achievement/achievement', + url: '/pages/index/achievement/achievement?valueId='+e.currentTarget.dataset.valueid , }) }, // 去打卡 - handleDetail(){ + handleDetail(e){ wx.navigateTo({ - url: '/pages/index/punchDetail/punchDetail', + url: '/pages/index/punchDetail/punchDetail?valueId='+e.currentTarget.dataset.valueid , }) }, /** diff --git a/pages/index/index.wxml b/pages/index/index.wxml index a57c01a..602d10f 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -1,17 +1,17 @@ - - - - + + + - + --> @@ -44,9 +44,9 @@ - 打卡成果 + 打卡成果 - 去打卡 + 去打卡 diff --git a/pages/index/newPunch/newPunch.js b/pages/index/newPunch/newPunch.js index df1c5db..d43cde3 100644 --- a/pages/index/newPunch/newPunch.js +++ b/pages/index/newPunch/newPunch.js @@ -28,7 +28,7 @@ Page({ //弹出层 //统计单位 unitShow: false, - columnsUnit: ['小时', '天', '月'], + columnsUnit: ['分钟', '小时', '个', '篇', '本', '张', '页', '次'], //开始时间 startTimeShow: false, columnsStartTime: ['9', '10', '11', '12'], @@ -67,7 +67,7 @@ Page({ columnsClockLack: [1,2,3], //必须包含 containShow: false, - columnsContain: ['图片'], + columnsContain: ['无限制','图片'], }, //获取模板详情 / 空模板 getDetail() { @@ -99,7 +99,7 @@ Page({ 'form.remindTime': data.remindTime }) this.setData({ - 'form.startDate': data.startDate + 'form.startDate': moment(new Date().getTime()).format('YYYY-MM-DD') }) this.setData({ 'form.statisticsUnit': data.statisticsUnit @@ -183,6 +183,17 @@ Page({ }, }); }, + //删除 + delFile(event) { + let [list,index] = [this.data.fileList,event.detail.index] + list.splice(index,1) + this.setData({ + fileList:list + }) + this.setData({ + 'form.taskFileUrl': this.data.fileList.map(v => v.url) + }) + }, //开关 onswitchChange({ detail diff --git a/pages/index/newPunch/newPunch.wxml b/pages/index/newPunch/newPunch.wxml index ecfde4b..edfbd4b 100644 --- a/pages/index/newPunch/newPunch.wxml +++ b/pages/index/newPunch/newPunch.wxml @@ -1,17 +1,17 @@ - - + + - - + + - + @@ -31,12 +31,12 @@ - - + + - + 允许补卡 @@ -46,29 +46,29 @@ 开启后,在打卡周期内,学生家长可对未打卡的任务进行补卡。 - + - + - + - + - + @@ -77,7 +77,7 @@ 学生如缺卡达到一定条件,将会提醒家长 - + diff --git a/pages/index/punchDetail/punchDetail.js b/pages/index/punchDetail/punchDetail.js index d37b646..43031a8 100644 --- a/pages/index/punchDetail/punchDetail.js +++ b/pages/index/punchDetail/punchDetail.js @@ -1,53 +1,193 @@ -// pages/index/punchDetail/punchDetail.js +// pages/index/achievement/achievement.js +// 引入插件安装器 +import plugin from '../../../component/v2/plugins/index' +import week from '../../../component/v2/plugins/week' +import todo from '../../../component/v2/plugins/todo' +import request from '../../../api/request.js' +import moment from 'moment'; +plugin + .use(week) + .use(todo) Page({ /** * 页面的初始数据 */ data: { - showEdit: false, //确认打卡 - Clocked: false, //已打卡状态,只是为了演示用 - showSuccess:false + calendarConfig: { + theme: 'elegant', + weekMode: true, // 周视图模式 + highlightToday: true, // 是否高亮显示当天 + hideHeader: true, // 隐藏日历头部操作栏 + }, + isDisplay: false, + clockShow: false, + form: { + id: '', //任务ID + isRepair: 1, //是否补卡1立即打卡2补卡 + repairDate: '', //补卡日期,当isRepair=2时必传,格式:YYYY-MM-dd + statisticsUnit: '', //统计单位所含内容 + taskDesc: '', //打卡描述内容 + taskFileUrl: [], //任务文件(含多个) + userId: '' + }, + fileList: [], + calendar: {}, //日历 + valueId: '', //任务ID + taskVo: { + allowRepairCard: 0, + hasData: 0, + id: 0, + releaseTime: "", + signTotal: 0, + taskCycle: 0, + taskDesc: "", + taskFrequency: "", + taskTitle: "", + weekDay: "" + }, + resData: [], //成果数据 + recordVo: { + commitTime: "", + files: [], + signDate: "", + taskRecordDesc: "", + taskStatisticsParam: "" + }, //成果数据当天 + recordVoShow: false, + isToday:true,//是否是今天 }, - - /** - * 生命周期函数--监听页面加载 + /** + * 选择日期后执行的事件 */ - onLoad(options) { + afterTapDate(e) { + let date = e.detail.date + let isToday = e.detail.isToday + this.setData({ + isToday + }) + let recordVo = this.data.resData.eventDetails[date - 1].recordVo + if (recordVo != null) { + console.log('复制',recordVo) + this.setData({ + recordVo: recordVo + }) + this.setData({ + recordVoShow: true + }) + }else { + this.setData({ + recordVoShow: false + }) + } + }, + //获取信息 + getInfo(doday) { + request({ + url: `/wx/task/getSignRecord`, + method: 'get', + data: { + // wx.getStorageSync('userInfo_id'), + "taskId": this.data.valueId, + "signDate": doday + }, + }).then(res => { + if (res.code == 0) { + this.setData({ + resData: res.data + }) + this.getV2(res.data) + } else { + wx.showToast({ + title: res.msg, + icon: 'none' + }) + } + }) + }, + //初始化日历 + initialize() { + // 设置待办 + this.setData({ + 'calendar': this.selectComponent('#calendar').calendar + }) }, - // 打卡成果 - handleAchievement(){ + //显示日历 + getV2(resData) { + this.setData({ + taskVo: resData.taskVo + }) + // const calendar = this.selectComponent('#calendar').calendar + this.data.calendar.setTodos({ + // 待办点标记设置 + pos: 'bottom', // 待办点标记位置 ['top', 'bottom'] + dotColor: 'purple', // 待办点标记颜色 + circle: false, // 待办圆圈标记设置(如圆圈标记已签到日期),该设置与点标记设置互斥 + showLabelAlways: true, // 点击时是否显示待办事项(圆点/文字),在 circle 为 true 及当日历配置 showLunar 为 true 时,此配置失效 + dates: resData.eventDetails + }) + }, + //成果 + toAchieve(e) { wx.navigateTo({ - url: '/pages/index/achievement/achievement', + url: '../achievement/achievement?valueId='+this.data.valueId, }) }, - // 打开打卡信息填写 - handleEdit() { - console.log(111) + //唤起 打卡 + toClock() { + let selectData = this.data.calendar.getSelectedDates() + let doday = selectData[0].year + '-' + selectData[0].month + '-' + selectData[0].date + console.log(doday) + this.setData({ - showEdit: true + clockShow: true }) }, - // 关闭打卡信息填写 - closeEdit() { + //确定-打卡 + toCardTask() { this.setData({ - showEdit: false + 'form.id': this.data.valueId }) - }, - // 提交打卡信息,跳转打卡成功页面 - handleSubmit() { this.setData({ - Clocked: true, - showEdit: false, - showSuccess:true + 'form.userId': wx.getStorageSync('userInfo_id') + }) + console.log(this.data.form) + request({ + url: `/wx/task/commitCardTask`, + method: 'post', + data: this.data.form, + }).then(res => { + if (res.code == 0) { + wx.showToast({ + title: '打卡成功', + icon: 'none' + }) + this.closeClockShow() + } else { + wx.showToast({ + title: res.msg, + icon: 'none' + }) + } }) }, - colseSuccess(){ + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { this.setData({ - showSuccess:false + valueId: options.valueId }) }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + this.initialize() + this.getInfo(moment(new Date().getTime()).format('YYYY-MM-DD')) + }, + // 统一返回 handleBack() { wx.navigateBack() }, @@ -56,5 +196,79 @@ Page({ */ onShareAppMessage() { + }, + //统计单位所含内容 + onStatisChange(e) { + this.setData({ + 'form.statisticsUnit': e.detail + }) + }, + //内容 + onTaskDescChange(e) { + this.setData({ + 'form.taskDesc': e.detail + }) + }, + //文件上传 + afterRead(event) { + const { + file + } = event.detail; + var that = this + // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式 + wx.uploadFile({ + url: 'https://market.myjxt.com:51311/file/fileUpload', // 仅为示例,非真实的接口地址 + filePath: file.url, + name: 'file', + formData: { + user: 'test' + }, + success(res) { + // 上传完成需要更新 fileList + const { + fileList = [] + } = that.data; + fileList.push({ + ...file, + url: res.data + }); + console.log(res, fileList) + that.setData({ + fileList + }); + that.setData({ + 'form.taskFileUrl': fileList.map(v => v.url) + }) + }, + }); + }, + //删除 + delFile(event) { + let [list, index] = [this.data.fileList, event.detail.index] + list.splice(index, 1) + this.setData({ + fileList: list + }) + this.setData({ + 'form.taskFileUrl': this.data.fileList.map(v => v.url) + }) + }, + //关闭 + closeClockShow() { + let form = { + id: '', //任务ID + isRepair: 1, //是否补卡1立即打卡2补卡 + repairDate: '', //补卡日期,当isRepair=2时必传,格式:YYYY-MM-dd + statisticsUnit: '', //统计单位所含内容 + taskDesc: '', //打卡描述内容 + taskFileUrl: [], //任务文件(含多个) + userId: '' + } + this.setData({ + form: form + }) + this.setData({ + clockShow: false + }) } }) \ No newline at end of file diff --git a/pages/index/punchDetail/punchDetail.json b/pages/index/punchDetail/punchDetail.json index 5c25ac1..17f7170 100644 --- a/pages/index/punchDetail/punchDetail.json +++ b/pages/index/punchDetail/punchDetail.json @@ -1,6 +1,11 @@ { "usingComponents": { "van-icon": "@vant/weapp/icon/index", - "van-popup": "@vant/weapp/popup/index" - } + "calendar": "/component/v2/index", + "van-popup": "@vant/weapp/popup/index", + "van-field": "@vant/weapp/field/index", + "van-uploader": "@vant/weapp/uploader/index", + "van-button": "@vant/weapp/button/index" + }, + "navigationBarTitleText": "立即打卡" } \ No newline at end of file diff --git a/pages/index/punchDetail/punchDetail.wxml b/pages/index/punchDetail/punchDetail.wxml index a364e46..4e5fc98 100644 --- a/pages/index/punchDetail/punchDetail.wxml +++ b/pages/index/punchDetail/punchDetail.wxml @@ -1,26 +1,51 @@ - + - - - + + + + + {{taskVo.taskTitle}} + + 已进行 {{taskVo.signTotal +' / ' +taskVo.taskCycle}} 天 + 打卡频次 : {{taskVo.taskFrequency}} + {{taskVo.hasData == 1 ?'允许补卡': '不允许补卡'}} + + {{taskVo.taskDesc}} + + 我发布与{{taskVo.weekDay}} {{taskVo.releaseTime}} + + + + + 我的成果 + 立即打卡 - - - - - - - - - - - - - - - - - + + + 提交打卡成果 + + 提交数据 + + + + + + + 分钟 + + + + + + + + + + + + + 提 交 + \ No newline at end of file diff --git a/pages/index/punchDetail/punchDetail.wxss b/pages/index/punchDetail/punchDetail.wxss index cd8da49..06ef668 100644 --- a/pages/index/punchDetail/punchDetail.wxss +++ b/pages/index/punchDetail/punchDetail.wxss @@ -1 +1,91 @@ /* pages/index/punchDetail/punchDetail.wxss */ +/* pages/index/achievement/achievement.wxss */ +.btn { + width: 20vw; + height: 20vw; + background-color: aqua; + font-size: 5vw; +} +.line_grey { + width: 90vw; + height: 1px; + background-color: #999; + margin: 10px 5vw 20px; +} +.card { + width: 92vw; + margin-left: 4vw; +} +.card_title { + font-size: 18px; + color: #556191; + margin: 15px 0; +} +.card_flex { + display: flex; +} +.flex_grey { + padding: 7px 10px; + box-sizing: border-box; + margin: 0 5px 10px 0; + font-size: 13px; + background-color: #F4F4F4; + color: #666666; + border-radius: 3px; +} +.card_context { + font-size: 16px; + margin: 10px 0; +} +.grey_font { + font-size: 14px; + color: #999999; + margin: 20px 0; +} +.grey_font_bottom { + margin-top: 5px; +} +.btn_box { + display: flex; + justify-content: space-around; + position: fixed; + bottom: 50px; + width: 100vw; +} +.pop_title { + font-size: 18px; + font-weight: bold; + text-align: center; + margin: 20px 0; +} +.pop_flex { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + box-sizing: border-box; +} +.pop_cell { + width: 40vw; + display: flex; + align-items: center; +} +.pop_fz { + width: 70px; +} +.pop_btn { + position: absolute; + bottom: 30px; + width: 90vw; + margin: 0 5vw; +} +.pop_tip { + position: absolute; + bottom: 90px; + width: 90vw; + margin: 0 5vw; +} +.pop_pic { + width: 70px; + height: 30px; +} \ No newline at end of file diff --git a/pages/index/rank/rank.js b/pages/index/rank/rank.js index 1755237..fe46980 100644 --- a/pages/index/rank/rank.js +++ b/pages/index/rank/rank.js @@ -11,10 +11,19 @@ Page({ dayTime: '', user: { id: '', - name: '', + userName: '', nickname: '', phone: "", token: "", + headImg: '' + }, + selfData: { + id: 0, + isOneSelf: 0, + signDayNum: 0, + signPercentage: "", + signRecordNum: 0, + userId: 0 } }, @@ -49,6 +58,27 @@ Page({ url: '/pages/index/index', }) }, + //获取个人 + getSelf() { + request({ + url: `/wx/task/getOneSelf`, + method: 'get', + data: { + "userId": wx.getStorageSync("userInfo_id") + }, + }).then(res => { + if (res.code == 0) { + this.setData({ + selfData: res.data + }) + } else { + wx.showToast({ + title: res.msg, + icon: 'none', + }) + } + }) + }, /** * 生命周期函数--监听页面加载 */ @@ -59,16 +89,11 @@ Page({ this.setData({ "dayTime": moment(new Date().getTime()).format('YYYY-MM-DD') }) + this.getSelf() this.getRankList() }, // 统一返回 handleBack() { wx.navigateBack() }, - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } }) \ No newline at end of file diff --git a/pages/index/rank/rank.wxml b/pages/index/rank/rank.wxml index a100a1a..9c13776 100644 --- a/pages/index/rank/rank.wxml +++ b/pages/index/rank/rank.wxml @@ -5,11 +5,11 @@ - - {{user.name}} + + {{user.userName != null ? user.userName : user.nickname}} - 已坚持xx天 - xx次 + 已坚持{{selfData.signDayNum}}天 + {{selfData.signRecordNum}}次 @@ -25,11 +25,11 @@ {{index + 1}} - {{value.name}} + {{value.userName}} - 已坚持52天 - 120 + 已坚持{{value.signDayNum}}天 + {{value.signRecordNum}} diff --git a/pages/index/rank/rank.wxss b/pages/index/rank/rank.wxss index d8723a0..b5744bc 100644 --- a/pages/index/rank/rank.wxss +++ b/pages/index/rank/rank.wxss @@ -58,7 +58,7 @@ width: 28vw; display: flex; justify-content: space-between; - + align-items: center; } .L_box { width: 50px; diff --git a/pages/login/codeLogin/codeLogin.js b/pages/login/codeLogin/codeLogin.js index 35ee43e..2b6132b 100644 --- a/pages/login/codeLogin/codeLogin.js +++ b/pages/login/codeLogin/codeLogin.js @@ -90,7 +90,7 @@ Page({ wx.setStorageSync('userInfo', res.data) wx.setStorageSync('userInfo_id', res.data.id) wx.switchTab({ - url: '/pages/index/rank/rank', + url: '/pages/mine/index', }) }) } else { diff --git a/pages/login/codeLogin/codeLogin.wxml b/pages/login/codeLogin/codeLogin.wxml index 40c331b..0594c9e 100644 --- a/pages/login/codeLogin/codeLogin.wxml +++ b/pages/login/codeLogin/codeLogin.wxml @@ -7,18 +7,18 @@ 欢迎登录 - + 请输入登录资料 - + - + 登  录 diff --git a/pages/login/codeLogin/codeLogin.wxss b/pages/login/codeLogin/codeLogin.wxss index 81aae19..a6aee4c 100644 --- a/pages/login/codeLogin/codeLogin.wxss +++ b/pages/login/codeLogin/codeLogin.wxss @@ -126,4 +126,8 @@ .footer_tips navigator { display: inline-flex; +} + +.van-cell { + border: none; } \ No newline at end of file diff --git a/pages/login/loginNew/loginNew.js b/pages/login/loginNew/loginNew.js new file mode 100644 index 0000000..acd860d --- /dev/null +++ b/pages/login/loginNew/loginNew.js @@ -0,0 +1,161 @@ +// pages/login/loginNew/loginNew.js +import request from '../../../api/request.js' +var appid = 'wx186236fdcd93edcc'; +Page({ + + /** + * 页面的初始数据 + */ + data: { + checked: true, + session_key: '', + openId: '', + encryptedData: '', + iv: '', + phone: '' + }, + //多选框 + onChange(e) { + this.setData({ + checked: e.detail + }) + }, + //获取session_key + getOpenId() { + return request({ + url: `/wx/app/getOpenId/wx186236fdcd93edcc`, + method: 'get', + data: { + code: this.data.loginCode + }, + }).then(res2 => { + this.setData({ + session_key: res2.data.sessionKey + }) + this.setData({ + openId: res2.data.openid + }) + console.log(this.data); + }) + }, + getPhoneNumber(e) { + console.log('?') + if(!this.data.checked) { + return wx.showToast({title: '请先阅读并同意用户协议和隐私协议',icon: 'none'}) + } + console.log(e.detail) + if (e.detail.errMsg == 'getPhoneNumber:ok') { + this.setData({ + encryptedData: e.detail.encryptedData, + iv: e.detail.iv, + }, () => { + this.login() + }) + } + }, + login() { + if (!this.data.encryptedData || !this.data.session_key || !this.data.iv) { + wx.showToast({ + title: '一键登陆失败,请重试', + icon: 'none', + duration: 2000 + }) + } + request({ + url: `/wx/app/oneClickLogin/`+ appid, + method: 'post', + data: { + "encryptedData": this.data.encryptedData, + "sessionKey": this.data.session_key, + "iv": this.data.iv, + "openId": this.data.openId + }, + }).then(res => { + if (res.code == 0) { + if (res.data) { + this.setData({ + phone: res.data.phone + }, () => { + wx.setStorageSync('userInfo', res.data) + wx.setStorageSync('userInfo_id', res.data.id) + wx.switchTab({ + url: '/pages/mine/index', + }) + }) + } else { + wx.showToast({ + title: '一键登陆失败,请重试', + icon: 'none', + duration: 2000 + }) + } + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad() { + wx.login({ + success: (res) => { + if (res.code) { + this.setData({ + loginCode: res.code + }) + this.getOpenId() + } else { + console.log('登录失败!' + res.errMsg) + } + } + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/login/loginNew/loginNew.json b/pages/login/loginNew/loginNew.json new file mode 100644 index 0000000..b4e287b --- /dev/null +++ b/pages/login/loginNew/loginNew.json @@ -0,0 +1,8 @@ +{ + "usingComponents": { + "van-button": "@vant/weapp/button/index", + "van-checkbox": "@vant/weapp/checkbox/index", + "van-checkbox-group": "@vant/weapp/checkbox-group/index" + }, + "navigationBarTitleText": "登录" +} \ No newline at end of file diff --git a/pages/login/loginNew/loginNew.wxml b/pages/login/loginNew/loginNew.wxml new file mode 100644 index 0000000..2b22702 --- /dev/null +++ b/pages/login/loginNew/loginNew.wxml @@ -0,0 +1,21 @@ + + + + + + + Hey + 欢迎使用自主学习之旅~ + + + + 登 录 + + + + 已同意 用户协议 隐私协议 + + + + + \ No newline at end of file diff --git a/pages/login/loginNew/loginNew.wxss b/pages/login/loginNew/loginNew.wxss new file mode 100644 index 0000000..467ff22 --- /dev/null +++ b/pages/login/loginNew/loginNew.wxss @@ -0,0 +1,43 @@ +/* pages/login/loginNew/loginNew.wxss */ +.box { + display: flex; + justify-content: center; + flex-wrap: wrap; +} +.img_box { + width: 60vw; + height: 60vw; + margin: 100px 0 30px; +} +.pic { + width: 100%; + height: 100%; +} +.box_title { + width: 100%; + text-align: center; + margin: 15px 0; + font-weight: bold; +} +.box_grey { + width: 100%; + text-align: center; + color: #999; +} +.fied_box { + position: fixed; + bottom: 40px; + width: 100%; + padding: 0 30px; + box-sizing: border-box; +} +.small_font { + display: flex; + justify-content: center; + font-size: 12px; + margin: 10px 0 0; +} +.blue_font { + color: #3578F9; + text-decoration:underline; +} \ No newline at end of file diff --git a/pages/mine/index.js b/pages/mine/index.js index 347d55b..b4247b4 100644 --- a/pages/mine/index.js +++ b/pages/mine/index.js @@ -8,6 +8,7 @@ Page({ data: { user_name: '', user_phone: '', + user_img: '', }, // 打卡记录 handleRecord(){ @@ -15,10 +16,12 @@ Page({ url: '/pages/mine/record/record', }) }, -// 退出登录 + // 退出登录 handleLoginOut(){ + wx.clearStorage() + wx.clearStorageSync() wx.navigateTo({ - url: '/pages/login/codeLogin/codeLogin', + url: '/pages/login/loginNew/loginNew', }) }, /** @@ -27,8 +30,9 @@ Page({ onLoad(options) { let userInfo = wx.getStorageSync('userInfo') this.setData({ - "user_name": userInfo.name || userInfo.nickname, - "user_phone": userInfo.phone + "user_name": userInfo.userName || userInfo.nickname, + "user_phone": userInfo.phone, + 'user_img':userInfo.headImg, }) }, /** diff --git a/pages/mine/index.wxml b/pages/mine/index.wxml index bef06c2..611cde9 100644 --- a/pages/mine/index.wxml +++ b/pages/mine/index.wxml @@ -1,7 +1,7 @@ - + {{user_name}} diff --git a/pages/mine/record/record.js b/pages/mine/record/record.js index 35ac02a..e5acf71 100644 --- a/pages/mine/record/record.js +++ b/pages/mine/record/record.js @@ -23,7 +23,7 @@ Page({ url: `/wx/task/cardTaskList`, method: 'post', data: { - "oneselfFlag": this.data.tabindex + 1, + "oneselfFlag": this.data.tabindex + 1 , "page": 1, "pageSize": 999, "userId": wx.getStorageSync("userInfo_id") @@ -99,15 +99,15 @@ Page({ this.getTaskList() }, // 打卡成果 - handleAchievement() { + handleAchievement(e) { wx.navigateTo({ - url: '/pages/index/achievement/achievement', + url: '/pages/index/achievement/achievement?valueId='+e.currentTarget.dataset.valueid , }) }, // 去打卡 - handleDetail() { + handleDetail(e) { wx.navigateTo({ - url: '/pages/index/punchDetail/punchDetail', + url: '/pages/index/punchDetail/punchDetail?valueId='+e.currentTarget.dataset.valueid , }) }, // 统一返回 diff --git a/pages/mine/record/record.wxml b/pages/mine/record/record.wxml index e70ea39..5d6ba7c 100644 --- a/pages/mine/record/record.wxml +++ b/pages/mine/record/record.wxml @@ -38,13 +38,13 @@ {{value.allowRepairCard == 1 ? '允许补卡': '不允许补卡'}} - - 我的成果 + + 我的成果 - 去打卡 + 去打卡 - 打卡成果 + 打卡成果 diff --git a/pages/mine/record/record.wxss b/pages/mine/record/record.wxss index 5ba284d..8051e47 100644 --- a/pages/mine/record/record.wxss +++ b/pages/mine/record/record.wxss @@ -21,10 +21,10 @@ .card { width: 92vw; - height: 370px; background-color: #fff; border-radius: 8vw; padding: 8vw; + margin-bottom: 30px; box-sizing: border-box; box-shadow: 1px 1px 1px 1px rgb(228, 228, 228); } @@ -96,7 +96,7 @@ .blue_font { display: flex; justify-content: space-around; - margin-top: 20px; + margin-top: 15px; font-size: 4.1vw; color: #458EF8; font-weight: 540; @@ -104,7 +104,7 @@ .blue_line { width: 1px; - height: 20px; + height: 15px; background-color: #EAEAEA; } -- libgit2 0.21.0