Commit 9ef9a745 by 陈玉桐

增加授权异步promise

parent f9987e18
...@@ -5,44 +5,60 @@ App({ ...@@ -5,44 +5,60 @@ App({
apiUrl: 'https://seex.inner.iouou.cn/AppApi/', apiUrl: 'https://seex.inner.iouou.cn/AppApi/',
}, },
onLaunch: function () { onLaunch: function () {
},
getToken: function () {
let me =this; let me =this;
// 获取本地缓存的token return new Promise(function (resolve, reject) {
wx.getStorage({ // 获取本地缓存的token
key: 'token', wx.getStorage({
fail (res) { key: 'token',
// 没登录(没有token时) fail (res) {
console.log(res.errMsg) // 没登录(没有token时)
wx.login({ console.log(res.errMsg)
success (res) { wx.login({
console.log(res) success (res) {
if (res.code) { console.log(res)
// 发送 res.code 到后台换取 openId, sessionKey, unionId if (res.code) {
wx.request({ // 发送 res.code 到后台换取 openId, sessionKey, unionId
url: me.globalData.apiUrl + 'users/token', wx.request({
method: 'POST', url: me.globalData.apiUrl + 'users/token',
data: { method: 'POST',
code: res.code data: {
}, code: res.code
success: function (res) { },
if(res.data.errno==200){ success: function (res) {
// 获取token并本地缓存 if(res.data.errno==200){
console.log(res.data.data.token) // 获取token并本地缓存
wx.setStorage({ console.log(res.data.data.token)
key: "token", wx.setStorage({
data: res.data.data.token key: "token",
}) data: res.data.data.token
}else{ })
//打印错误信息 let resStatus = {
console.log(res.data.msg) status: 200
}
resolve(resStatus);
}else{
//打印错误信息
console.log(res.data.msg)
reject('error');
}
} }
} })
}) } else {
} else { console.log('获取用户登录态失败!' + res.errMsg);
console.log('登录失败!' + res.errMsg) reject('error');
}
} }
})
},
success(){
let resStatus = {
status: 200
} }
}) resolve(resStatus);
} }
}) })
} });
},
}) })
\ No newline at end of file
{ {
"pages": [ "pages": [
"pages/plan/plan",
"pages/index/index", "pages/index/index",
"pages/historyDetail/historyDetail", "pages/historyDetail/historyDetail",
"pages/user/user", "pages/user/user",
...@@ -7,7 +8,6 @@ ...@@ -7,7 +8,6 @@
"pages/idea/idea", "pages/idea/idea",
"pages/message/message", "pages/message/message",
"pages/updatePlan/updatePlan", "pages/updatePlan/updatePlan",
"pages/plan/plan",
"pages/trainReport/trainReport", "pages/trainReport/trainReport",
"pages/starSort/starSort", "pages/starSort/starSort",
"pages/trainSort/trainSort", "pages/trainSort/trainSort",
......
...@@ -355,6 +355,7 @@ Page({ ...@@ -355,6 +355,7 @@ Page({
rightEye: '', rightEye: '',
leftEye: '', leftEye: '',
imgUrls: [], imgUrls: [],
bindDeviceStatus: '',//是否绑定设备 1绑定,0未绑定
indicatorDots: true, indicatorDots: true,
autoplay: false, autoplay: false,
interval: 5000, interval: 5000,
...@@ -408,181 +409,202 @@ Page({ ...@@ -408,181 +409,202 @@ Page({
}) })
}, },
onReady() { onReady() {
// setTimeout(function () {
// // 获取 chartWeek 实例的方式
// console.log(chartWeek)
// }, 2000);
let me = this; let me = this;
// 请求前加Loading
wx.showLoading({
title: '加载中',
mask: true
})
wx.request({
url: app.globalData.apiUrl + 'users/index',
method: 'POST',
data: {
token: wx.getStorageSync('token')
},
success: function (res) {
// 请求成功后关闭Loading
wx.hideLoading();
// 没有孩子跳转完善信息 app.getToken().then(function (res) {
if(res.data.errno==40010){ if (res.status == 200){
wx.navigateTo({ // 请求前加Loading
url: '/pages/childInfo/childInfo' console.log(wx.getStorageSync('token'))
}) wx.showLoading({
return title: '加载中',
} mask: true
})
if(res.data.errno==200){ wx.request({
// 锁定设备警告状态 url: app.globalData.apiUrl + 'users/index',
// 1:正常使用设备; method: 'POST',
if(res.data.data.lockDeviceStatus==2){ data: {
// 2:首日警告即将锁定设备提醒; token: wx.getStorageSync('token')
me.setData({ },
status: 2, success: function (res) {
mustUpdate: false // 请求成功后关闭Loading
}) wx.hideLoading();
}else if(res.data.data.lockDeviceStatus==3) {
// 3:锁定设备提醒
me.setData({
status: 3,
mustUpdate: false
})
}
if(res.data.data.gender=='2'){//女
me.setData({
avatar: '../../assets/head_girl.png',
gender: '../../assets/icon_girl.png'
})
}else{
me.setData({
avatar: '../../assets/head_boy.png',
gender: '../../assets/icon_boy.png'
})
}
me.setData({ // 没有孩子跳转完善信息
imgUrls: res.data.data.focusMap, if(res.data.errno==40010){
wx.navigateTo({
url: '/pages/childInfo/childInfo'
})
return
}
if(res.data.errno==200){
// 锁定设备警告状态
// 1:正常使用设备;
if(res.data.data.lockDeviceStatus==2){
// 2:首日警告即将锁定设备提醒;
me.setData({
status: 2,
mustUpdate: false
})
}else if(res.data.data.lockDeviceStatus==3) {
// 3:锁定设备提醒
me.setData({
status: 3,
mustUpdate: false
})
}
if(res.data.data.gender=='2'){//女
me.setData({
avatar: '../../assets/head_girl.png',
gender: '../../assets/icon_girl.png'
})
}else{
me.setData({
avatar: '../../assets/head_boy.png',
gender: '../../assets/icon_boy.png'
})
}
teenageName: res.data.data.teenageList[0].name, me.setData({
gender: res.data.data.teenageList[0].gender, imgUrls: res.data.data.focusMap,
age: res.data.data.teenageList[0].age, bindDeviceStatus: res.data.data.bindDeviceStatus,
rightEye: res.data.data.teenageList[0].rightEye, teenageName: res.data.data.teenageList[0].name,
leftEye: res.data.data.teenageList[0].leftEye, gender: res.data.data.teenageList[0].gender,
age: res.data.data.teenageList[0].age,
rightEye: res.data.data.teenageList[0].rightEye,
leftEye: res.data.data.teenageList[0].leftEye,
continuousWeeks: res.data.data.reports.continuousWeeks,//连续训练周数 continuousWeeks: res.data.data.reports.continuousWeeks,//连续训练周数
weekNumber: res.data.data.reports.weekNumber,//第几周 weekNumber: res.data.data.reports.weekNumber,//第几周
beginDay: res.data.data.reports.beginDay, beginDay: res.data.data.reports.beginDay,
endDay: res.data.data.reports.endDay, endDay: res.data.data.reports.endDay,
weekDuration: res.data.data.reports.weekDuration,//周训练时长 weekDuration: res.data.data.reports.weekDuration,//周训练时长
surpassRatio: res.data.data.reports.surpassRatio,//超过人数% surpassRatio: res.data.data.reports.surpassRatio,//超过人数%
finishedStatus: res.data.data.reports.finishedStatus,//训练报告完成状态,1:完成;0:未完成 finishedStatus: res.data.data.reports.finishedStatus,//训练报告完成状态,1:完成;0:未完成
visionAdvice: res.data.data.reports.visionAdvice,//训练建议 visionAdvice: res.data.data.reports.visionAdvice,//训练建议
beginYear: res.data.data.achievements.beginYear,//训练成就年份 beginYear: res.data.data.achievements.beginYear,//训练成就年份
totalTrainingDays: res.data.data.achievements.totalTrainingDays,//训练成就天数 totalTrainingDays: res.data.data.achievements.totalTrainingDays,//训练成就天数
lastVision: res.data.data.achievements.lastVision,//训练成就旧视力 lastVision: res.data.data.achievements.lastVision,//训练成就旧视力
nowVision: res.data.data.achievements.nowVision,//训练成就新视力 nowVision: res.data.data.achievements.nowVision,//训练成就新视力
trainSortList: res.data.data.trainRanking.rankList,//训练排行 trainSortList: res.data.data.trainRanking.rankList,//训练排行
userRanking: res.data.data.trainRanking.userRanking,//训练排行本人 userRanking: res.data.data.trainRanking.userRanking,//训练排行本人
resultSortList: res.data.data.effectedRanking,//光明之星 resultSortList: res.data.data.effectedRanking,//光明之星
}) })
let dayTrainingDateList = [] let dayTrainingDateList = []
// let dayTrainingDurationList = [30, 3, 35, 45, 17, 22, 0] // let dayTrainingDurationList = [30, 3, 35, 45, 17, 22, 0]
let dayTrainingDurationList = [] let dayTrainingDurationList = []
res.data.data.reports.dayTrainingList.map((item)=>{ res.data.data.reports.dayTrainingList.map((item)=>{
dayTrainingDateList.push(item.title) dayTrainingDateList.push(item.title)
dayTrainingDurationList.push(item.trainingDuration) dayTrainingDurationList.push(item.trainingDuration)
}) })
me.selectComponent('#reprotWeekChart').init((canvas, width, height) => { me.selectComponent('#reprotWeekChart').init((canvas, width, height) => {
const chart = echarts.init(canvas, null, { const chart = echarts.init(canvas, null, {
width: width, width: width,
height: height height: height
}); });
weekInitChart(chart, dayTrainingDateList, dayTrainingDurationList) weekInitChart(chart, dayTrainingDateList, dayTrainingDurationList)
me.chart = chart; me.chart = chart;
return chart; return chart;
}); });
let legendList = [] let legendList = []
let pieList = [] let pieList = []
res.data.data.reports.typeTrainingList.map((item)=>{ res.data.data.reports.typeTrainingList.map((item)=>{
legendList.push(item.title) legendList.push(item.title)
pieList.push({value: item.trainingDuration,name: item.title}) pieList.push({value: item.trainingDuration,name: item.title})
}) })
if(legendList.length>5){ if(legendList.length>5){
itemGap = 5 itemGap = 5
}else{ }else{
itemGap = 15 itemGap = 15
} }
me.selectComponent('#reprotPieChart').init((canvas, width, height) => { me.selectComponent('#reprotPieChart').init((canvas, width, height) => {
const chart = echarts.init(canvas, null, { const chart = echarts.init(canvas, null, {
width: width, width: width,
height: height height: height
}); });
pieInitChart(chart, legendList, pieList) pieInitChart(chart, legendList, pieList)
me.chart = chart; me.chart = chart;
return chart; return chart;
}); });
// 训练成就日期 // 训练成就日期
let dayList = res.data.data.achievements.dayList let dayList = res.data.data.achievements.dayList
// 左眼 // 左眼
let leftVisionList = res.data.data.achievements.leftVisionList let leftVisionList = res.data.data.achievements.leftVisionList
let leftForecastVision = res.data.data.achievements.leftForecastVision let leftForecastVision = res.data.data.achievements.leftForecastVision
me.selectComponent('#leftEyeChart').init((canvas, width, height) => { me.selectComponent('#leftEyeChart').init((canvas, width, height) => {
const chart = echarts.init(canvas, null, { const chart = echarts.init(canvas, null, {
width: width, width: width,
height: height height: height
}); });
leftEyeInitChart(chart, dayList, leftVisionList, leftForecastVision) leftEyeInitChart(chart, dayList, leftVisionList, leftForecastVision)
me.chart = chart; me.chart = chart;
return chart; return chart;
}); });
// 右眼 // 右眼
let rightVisionList = res.data.data.achievements.rightVisionList let rightVisionList = res.data.data.achievements.rightVisionList
let rightForecastVision = res.data.data.achievements.rightForecastVision let rightForecastVision = res.data.data.achievements.rightForecastVision
me.selectComponent('#rightEyeChart').init((canvas, width, height) => { me.selectComponent('#rightEyeChart').init((canvas, width, height) => {
const chart = echarts.init(canvas, null, { const chart = echarts.init(canvas, null, {
width: width, width: width,
height: height height: height
}); });
rightEyeInitChart(chart, dayList, rightVisionList, rightForecastVision) rightEyeInitChart(chart, dayList, rightVisionList, rightForecastVision)
me.chart = chart; me.chart = chart;
return chart; return chart;
}); });
}else{ }else{
wx.showModal({ wx.showModal({
title: '提示', title: '提示',
showCancel: false, showCancel: false,
content: res.data.msg content: res.data.msg
}) })
} }
}
})
}else{
console.log(res);
} }
}) });
}, },
onHide() { onHide() {
}, },
// 权限设置 // 个人设置
set:function(){ set:function(){
wx.navigateTo({ if(this.data.bindDeviceStatus==1){
url: '/pages/setting/setting' wx.navigateTo({
}) url: '/pages/setting/setting'
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: "您未绑定设备部分功能将无法使用"
})
}
}, },
// 训练计划 // 训练计划
plan:function(){ plan:function(){
wx.navigateTo({ if(this.data.bindDeviceStatus==1){
url: '/pages/plan/plan' wx.navigateTo({
}) url: '/pages/plan/plan'
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: "您未绑定设备部分功能将无法使用"
})
}
}, },
// 小目标 // 小目标
target:function(){ target:function(){
...@@ -592,47 +614,55 @@ Page({ ...@@ -592,47 +614,55 @@ Page({
}, },
// 立即关机 // 立即关机
PowerOff: function () { PowerOff: function () {
wx.showModal({ if(this.data.bindDeviceStatus==1){
title: '控制提示', wx.showModal({
content: '关机后使用机器时需要再次开机,是否确认关机?', title: '控制提示',
success (res) { content: '关机后使用机器时需要再次开机,是否确认关机?',
if (res.confirm) { success (res) {
// console.log('用户点击确定') if (res.confirm) {
// 请求前加Loading // console.log('用户点击确定')
wx.showLoading({ // 请求前加Loading
title: '加载中', wx.showLoading({
mask: true title: '加载中',
}) mask: true
wx.request({ })
url: app.globalData.apiUrl + 'devices/close', wx.request({
method: 'POST', url: app.globalData.apiUrl + 'devices/close',
data: { method: 'POST',
token: wx.getStorageSync('token') data: {
}, token: wx.getStorageSync('token')
success: function (res) { },
// 请求成功后关闭Loading success: function (res) {
wx.hideLoading(); // 请求成功后关闭Loading
if(res.data.errno==200){ wx.hideLoading();
wx.showToast({ if(res.data.errno==200){
title: '关机成功!', wx.showToast({
mask: true, title: '关机成功!',
// icon: 'none', mask: true,
duration: 2000 // icon: 'none',
}); duration: 2000
}else{ });
wx.showModal({ }else{
title: '提示', wx.showModal({
showCancel: false, title: '提示',
content: res.data.msg showCancel: false,
}) content: res.data.msg
})
}
} }
} })
}) } else if (res.cancel) {
} else if (res.cancel) { // console.log('用户点击取消')
// console.log('用户点击取消') }
} }
} })
}) }else{
wx.showModal({
title: '提示',
showCancel: false,
content: "您未绑定设备部分功能将无法使用"
})
}
}, },
// 刷新获取设备屏幕图片 // 刷新获取设备屏幕图片
refresh: function () { refresh: function () {
...@@ -676,27 +706,59 @@ Page({ ...@@ -676,27 +706,59 @@ Page({
preventTouchMove() {}, preventTouchMove() {},
// 个人中心 // 个人中心
toMine() { toMine() {
wx.navigateTo({ if(this.data.bindDeviceStatus==1){
url: '/pages/mine/mine' wx.navigateTo({
}) url: '/pages/mine/mine'
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: "您未绑定设备部分功能将无法使用"
})
}
}, },
// 训练报告 // 训练报告
trainReport() { trainReport() {
wx.navigateTo({ if(this.data.bindDeviceStatus==1){
url: '/pages/trainReport/trainReport' wx.navigateTo({
}) url: '/pages/trainReport/trainReport'
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: "您未绑定设备部分功能将无法使用"
})
}
}, },
// 训练排行 // 训练排行
toTrainSort() { toTrainSort() {
wx.navigateTo({ if(this.data.bindDeviceStatus==1){
url: '/pages/trainSort/trainSort' wx.navigateTo({
}) url: '/pages/trainSort/trainSort'
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: "您未绑定设备部分功能将无法使用"
})
}
}, },
// 光明之星 // 光明之星
toStarSort() { toStarSort() {
wx.navigateTo({ if(this.data.bindDeviceStatus==1){
url: '/pages/starSort/starSort' wx.navigateTo({
}) url: '/pages/starSort/starSort'
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: "您未绑定设备部分功能将无法使用"
})
}
}, },
// 稍后前往 // 稍后前往
lastGo: function () { lastGo: function () {
......
...@@ -258,7 +258,7 @@ ...@@ -258,7 +258,7 @@
<!-- 内容 --> <!-- 内容 -->
<view id="mustUpdateCon"> <view id="mustUpdateCon">
<view id="mustUpdateTitle">尊敬的家长您好</view> <view id="mustUpdateTitle">尊敬的家长您好</view>
<view id="mustUpdateDes">因您长时间未更新视力信息,眼保仪已被暂时锁定,请您立即前往"训练计划"更新“视力数据”进行解锁!</view> <view id="mustUpdateDes">因您长时间未更新视力信息,眼保仪已被暂时锁定。为了保障孩子的训练成效,请您立即前往"训练计划"更新“视力数据”!</view>
</view> </view>
<!-- 按钮组 --> <!-- 按钮组 -->
<view id="mustUpdateBtn"> <view id="mustUpdateBtn">
......
...@@ -40,8 +40,8 @@ Page({ ...@@ -40,8 +40,8 @@ Page({
// 解绑 // 解绑
unbundle() { unbundle() {
wx.showModal({ wx.showModal({
title: '删除提示', title: '解绑提示',
content: '删除后无法恢复,是否删除?', content: '解除绑定设备后,家长端部分功能将无法使用。',
success (res) { success (res) {
if (res.confirm) { if (res.confirm) {
console.log('用户点击确定') console.log('用户点击确定')
...@@ -60,7 +60,9 @@ Page({ ...@@ -60,7 +60,9 @@ Page({
// 请求成功后关闭Loading // 请求成功后关闭Loading
wx.hideLoading(); wx.hideLoading();
if(res.data.errno==200){ if(res.data.errno==200){
wx.redirectTo({
url: '/pages/index/index'
})
}else{ }else{
wx.showModal({ wx.showModal({
title: '提示', title: '提示',
......
...@@ -108,6 +108,156 @@ Page({ ...@@ -108,6 +108,156 @@ Page({
} }
} }
} }
if(res.data.data.trainingList[0].type=='单词训练'){
// 请求前加Loading
wx.showLoading({
title: '加载中',
mask: true
})
wx.request({
url: app.globalData.apiUrl + 'Trainings/publisher',
method: 'POST',
data: {
token: wx.getStorageSync('token'),
},
success: function (res) {
// // 请求成功后关闭Loading
// wx.hideLoading();
if(res.data.errno==200){
me.setData({
teachArray: res.data.data.list,
})
wx.request({
url: app.globalData.apiUrl + 'Trainings/book',
method: 'POST',
data: {
token: wx.getStorageSync('token'),
publisherId: res.data.data.list[0].id
},
success: function (res) {
// 请求成功后关闭Loading
// wx.hideLoading();
if(res.data.errno==200){
me.setData({
bookArray: res.data.data.data,
})
wx.request({
url: app.globalData.apiUrl + 'Trainings/chapter',
method: 'POST',
data: {
token: wx.getStorageSync('token'),
bookId: res.data.data.data[0].id
},
success: function (res) {
// 请求成功后关闭Loading
wx.hideLoading();
if(res.data.errno==200){
me.setData({
unitArray: res.data.data.data,
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: res.data.msg
})
}
}
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: res.data.msg
})
}
}
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: res.data.msg
})
}
}
})
}
if(res.data.data.trainingList[1].type=='单词训练'){
// 请求前加Loading
wx.showLoading({
title: '加载中',
mask: true
})
wx.request({
url: app.globalData.apiUrl + 'Trainings/publisher',
method: 'POST',
data: {
token: wx.getStorageSync('token'),
},
success: function (res) {
// // 请求成功后关闭Loading
// wx.hideLoading();
if(res.data.errno==200){
me.setData({
teachArray: res.data.data.list,
})
wx.request({
url: app.globalData.apiUrl + 'Trainings/book',
method: 'POST',
data: {
token: wx.getStorageSync('token'),
publisherId: res.data.data.list[0].id
},
success: function (res) {
// 请求成功后关闭Loading
// wx.hideLoading();
if(res.data.errno==200){
me.setData({
bookArray: res.data.data.data,
})
wx.request({
url: app.globalData.apiUrl + 'Trainings/chapter',
method: 'POST',
data: {
token: wx.getStorageSync('token'),
bookId: res.data.data.data[0].id
},
success: function (res) {
// 请求成功后关闭Loading
wx.hideLoading();
if(res.data.errno==200){
me.setData({
unitArraySecond: res.data.data.data,
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: res.data.msg
})
}
}
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: res.data.msg
})
}
}
})
}else{
wx.showModal({
title: '提示',
showCancel: false,
content: res.data.msg
})
}
}
})
}
}else{ }else{
wx.showModal({ wx.showModal({
title: '提示', title: '提示',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment