diff --git a/app.js b/app.js index 61dbd80..c58f898 100644 --- a/app.js +++ b/app.js @@ -7,15 +7,18 @@ App({ // var logs = wx.getStorageSync('logs') || [] // logs.unshift(Date.now()) // wx.setStorageSync('logs', logs) - this.globalData.openId = wx.getStorageSync('openId') || ''; + var openId = this.globalData.openId = wx.getStorageSync('openId') || ''; // 登录 - wx.login({ - success: res => { - // 发送 res.code 到后台换取 openId, sessionKey, unionId - console.log('login==>', res); - } - }) + // wx.login({ + // success: res => { + // // 发送 res.code 到后台换取 openId, sessionKey, unionId + // console.log('login==>', res); + // } + // }) + if (openId){ + return; + } // 获取用户信息 wx.getSetting({ success: res => { @@ -25,8 +28,8 @@ App({ wx.getUserInfo({ success: res => { // 可以将 res 发送给后台解码出 unionId - this.globalData.userInfo = res.userInfo - + this.globalData.wxuserInfo = res.userInfo + // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { @@ -40,6 +43,7 @@ App({ }, globalData: { + wxuserInfo:null, userInfo: null, openId: '' } diff --git a/app.json b/app.json index efa2f4e..4ea5238 100644 --- a/app.json +++ b/app.json @@ -1,8 +1,9 @@ { "pages": [ - "pages/user/index", "pages/index/index", + "pages/user/result", "pages/user/evaluation", + "pages/user/index", "pages/init/userinfo", "pages/init/agreement" ], diff --git a/app.wxss b/app.wxss index cc38698..22ce075 100644 --- a/app.wxss +++ b/app.wxss @@ -106,6 +106,14 @@ checkbox .wx-checkbox-input.wx-checkbox-input-checked::before { display: block; margin-bottom: 20rpx; } +.form-group radio{ + margin-right:10rpx; + position: relative; + top:-2rpx; +} +.form-group radio-group label{ + display: inline-block; +} input, .select-input { border-radius: 4px 4px 4px 4px; diff --git a/assets/head.svg b/assets/head.svg new file mode 100644 index 0000000..cf6cd7f --- /dev/null +++ b/assets/head.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js index 94bb233..dbf813a 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -7,7 +7,9 @@ Page({ data: { motto: 'Hello World', userInfo: { - avatarUrl: 'http://thirdwx.qlogo.cn/mmopen/vi_32/9xkaQhBrbjIsJNJkxKicKayJiajy2ZsKFHM7vhibPjic0sLhn0cxCicxgQUl9VDF9o02NsQlcxZicJPWb4K9RibQJ8ibDQ/132' + avatarUrl: '/assets/head.svg', + realname:'张二娃', + lastEvaluation:'2019-06-23 09:43' }, hasUserInfo: false, canIUse: wx.canIUse('button.open-type.getUserInfo') @@ -25,12 +27,13 @@ Page({ }) }, onLoad: function() { + // 加载 if (app.globalData.userInfo) { this.setData({ userInfo: app.globalData.userInfo, hasUserInfo: true }) - } else if (this.data.canIUse) { + } else if (this.data.canIUse) { // 可以获取用户信息 // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 app.userInfoReadyCallback = res => { @@ -54,10 +57,15 @@ Page({ }, getUserInfo: function(e) { console.log(e) - app.globalData.userInfo = e.detail.userInfo + app.globalData.wxuserInfo = e.detail.userInfo this.setData({ userInfo: e.detail.userInfo, hasUserInfo: true }) + }, + gotoEvaluation(){ + wx.navigateTo({ + url: './../user/evaluation', + }) } }) \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 84b7b18..0dc3732 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -1,14 +1,16 @@ - + - + + - - - + + + - + diff --git a/pages/user/evaluation.wxss b/pages/user/evaluation.wxss index d3883bd..cce36c1 100644 --- a/pages/user/evaluation.wxss +++ b/pages/user/evaluation.wxss @@ -7,5 +7,11 @@ } .form-group picker, radio-group .item, checkbox-group .item { - margin-bottom: 30rpx; + margin-top: 30rpx; +} +radio-group .item:first-child{ + margin-top: 10rpx; +} +.form-group{ + margin-bottom: 0rpx; } \ No newline at end of file diff --git a/pages/user/index.js b/pages/user/index.js index 28982b1..73a2731 100644 --- a/pages/user/index.js +++ b/pages/user/index.js @@ -41,30 +41,7 @@ Page({ value: '' }, userDetail: {}, - dataList: Array(2).fill({ - create_time: '2019-06-20 12:20', - totalScore: 4, - headache: { - subject: '头痛', - text: '无头痛', - score: '0' - }, - gastrointestinal: { - subject: '胃肠道症状', - text: '食欲不振或恶心', - score: '2' - }, - tired: { - subject: '劳累或虚弱', - text: '轻度疲劳或虚弱', - score: '2' - }, - dizzy: { - subject: '头晕或眩晕', - text: '无头晕或眩晕', - score: '0' - }, - }), + dataList: [], collapseTags: [] }, @@ -77,31 +54,32 @@ Page({ async initUserData() { let evaluationData = await api.queryAllEvaluation(); var tags = []; - evaluationData.data.forEach((o,i) => { + console.log(evaluationData); + evaluationData.forEach((o,i) => { tags.push(true); - let level = 0; - // 判断结果 - if(o.options[0].score == 0 || o.score < 3){ - // 没有高反 - level = 0; - } else if (o.score <= 5) { - level = 1; - } else if (o.score <= 9) { - level = 2; - } else if (o.score <= 12) { - level = 3; - } else { - level = 4; - } - evaluationData.data[i]['level'] = level; + // let level = 0; + // // 判断结果 + // if(o.options[0].score == 0 || o.score < 3){ + // // 没有高反 + // level = 0; + // } else if (o.score <= 5) { + // level = 1; + // } else if (o.score <= 9) { + // level = 2; + // } else if (o.score <= 12) { + // level = 3; + // } else { + // level = 4; + // } + // evaluationData.data[i]['level'] = level; }) this.setData({ - dataList: evaluationData.data, + dataList: evaluationData, collapseTags: tags }); let userDetail = await api.queryUserDetail(); this.setData({ - userDetail: userDetail.data + userDetail: userDetail }); }, switchView() { diff --git a/pages/user/index.wxml b/pages/user/index.wxml index 3a6978f..5bcaf3d 100644 --- a/pages/user/index.wxml +++ b/pages/user/index.wxml @@ -51,19 +51,19 @@ - 自评结果:{{item.result}} - {{item.level}} + 自评结果:{{item.result}} - 自评结果:{{item.result}} - {{item.level}} + 自评结果:{{item.result}} - 自评结果:{{item.result}} - {{item.level}} + 自评结果:{{item.result}} - 自评结果:{{item.result}} - {{item.level}} + 自评结果:{{item.result}} diff --git a/pages/user/index.wxss b/pages/user/index.wxss index ed3bc25..22fd696 100644 --- a/pages/user/index.wxss +++ b/pages/user/index.wxss @@ -1,13 +1,15 @@ /* pages/user/index.wxss */ +@import 'vars.wxss'; page { --tableDataPaddding: 20rpx; --subjectWidth: 160rpx; --scoreWidth: 100rpx; --nameSize: 34rpx; --dataTextSize: 24rpx; + --headerBg:#2ec7a5; + --headerColor: #fff; } - .user-info .cu-item { background: #2ec7a5 !important; color: #fff; diff --git a/pages/user/result.js b/pages/user/result.js new file mode 100644 index 0000000..96ca426 --- /dev/null +++ b/pages/user/result.js @@ -0,0 +1,71 @@ +// pages/user/result.js +import {queryEvaluationById} from './../../utils/api.js'; +Page({ + + /** + * 页面的初始数据 + */ + data: { + item:{} + }, + + /** + * 生命周期函数--监听页面加载 + */ + async onLoad(options) { + let id = options.id ?options.id:4; + let data = await queryEvaluationById(id); + this.setData({ + item:data + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/user/result.json b/pages/user/result.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/user/result.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/user/result.wxml b/pages/user/result.wxml new file mode 100644 index 0000000..6b767fc --- /dev/null +++ b/pages/user/result.wxml @@ -0,0 +1,50 @@ + + \ No newline at end of file diff --git a/pages/user/result.wxss b/pages/user/result.wxss new file mode 100644 index 0000000..73a7779 --- /dev/null +++ b/pages/user/result.wxss @@ -0,0 +1,108 @@ +/* pages/user/result.wxss */ +@import 'vars.wxss'; +page { + --colorBorder:#eaeaea; + --border:solid 1px #eaeaea; + --bgColor:rgba(17, 223, 177, 0.07); + --tableDataPaddding:8rpx 20rpx; +} +.result-info{ + padding:30rpx 0; +} +.result-info .title{ + font-size: 40rpx; +} +.result-info .score{ + font-size: 100rpx; + padding:40rpx 0 50rpx; +} +.result-info .tag{ + font-size: 24rpx; + margin-left:6rpx; +} + +.result-info .result-type text{ + background-color: #259b24; + border-radius: 8rpx; + color: #fff; + display: inline-block; + padding: 2px 6px; + line-height: 40rpx; +} +.result-info .level-0 { + color: #000; + background: none; +} + +.result-info .level-1 { + background-color: #259b24; +} + +.result-info .level-2 { + background-color: #ff9800; +} + +.result-info .level-3 { + background-color: #e51c23; +} +.table-list { + border-top: var(--border); +} + +.table-list .row, .item { + border-bottom: var(--border); +} + +.item:last-child .content .result { + border-bottom: none; +} + +.collapse { + line-height: 30px; +} + +.collapse .title { + background: rgba(0, 0, 0, 0.04); +} + +.collapse .row view { + padding: var(--tableDataPaddding); +} + +.collapse .item .title .col { + /* padding: 0 var(--tableDataPaddding); */ + margin: 0; +} +.content .row { + font-size: var(--dataTextSize); +} + +.row .subject { + width: var(--subjectWidth); +} + +.row .score { + width: var(--scoreWidth); + text-align: center; +} +.result{ + background-color:var(--bgColor); + border-bottom: var(--border); + line-height: 40rpx; + padding: 20rpx; + font-weight: bold; +} +.header{ + background-color:var(--bgColor); +} +.result .level-1 { + color: #259b24; +} + +.result .level-2 { + color: #ff9800; +} + +.result .level-3 { + color: #e51c23; +} diff --git a/pages/user/vars.wxss b/pages/user/vars.wxss new file mode 100644 index 0000000..4f74884 --- /dev/null +++ b/pages/user/vars.wxss @@ -0,0 +1,14 @@ +page { + --tableDataPaddding: 20rpx; + --subjectWidth: 160rpx; + --scoreWidth: 100rpx; + --nameSize: 34rpx; + --dataTextSize: 24rpx; + --headerBg:#2ec7a5; + --headerColor: #fff; +} + +.page-green-header{ + background: var(--headerBg) !important; + color: var(--headerColor); +} \ No newline at end of file diff --git a/utils/api.js b/utils/api.js index b5b3fd4..a3d42b1 100644 --- a/utils/api.js +++ b/utils/api.js @@ -1,4 +1,4 @@ -const API_URL = 'http://192.168.10.80:8000'; +const API_URL = 'http://127.0.0.1:8000'; const app = getApp(); const openId = app.globalData.openId; const requestApi = (api, data = {}, method = "GET") => { @@ -7,18 +7,31 @@ const requestApi = (api, data = {}, method = "GET") => { wx.showLoading({ title: '请求数据中...', }); + // let headers = {}; + // if(method.toLocaleLowerCase() == 'post'){ + // headers['content-type'] + // } wx.request({ url: API_URL + api, data, header: { - 'content-type': 'application/json' // 默认值 + 'content-type': 'application/x-www-form-urlencoded' // 默认值 }, method, dataType: 'json', responseType: 'text', success: function(res) { wx.hideLoading(); - resolve(res); + if(res.statusCode != 200){ + reject(res); + } else { + if(res.data.code && res.data.code != 0){ + wx.showModal({ title: res.data.message, showCancel: false }) + //reject(res); + }else{ + resolve(res.data); + } + } }, fail: function(res) { wx.hideLoading(); @@ -45,6 +58,9 @@ export function queryUserDetail() { export function queryAllEvaluation() { return requestApi('/evaluation/all'); } +export function queryEvaluationById(id){ + return requestApi('/evaluation/detail',{id}); +} /** * 创建用户评估数据 */