Commit 9ef9a745 by 陈玉桐

增加授权异步promise

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