diff --git a/api/api.js b/api/api.js index a91ebb0..56ad30e 100644 --- a/api/api.js +++ b/api/api.js @@ -8,6 +8,24 @@ const config = { // }, getConfig : {url : '/api/getConfig', method : 'GET', limit : 500}, + + + // 微信登录接口 + wxLogin: { + url: '/login/login', + method: 'POST', + limit : 500, + showLoading : true, + }, + + // 修改个人信息接口 + updateInfo: { + url: '/info/updateInfo', + method: 'POST', + auth: true, + limit : 500, + showLoading : true, + }, } diff --git a/api/http.js b/api/http.js index 7ccb930..8f7078e 100644 --- a/api/http.js +++ b/api/http.js @@ -25,11 +25,12 @@ function http(uri, data, callback, method = 'GET', showLoading, title) { } if(res.statusCode == 401 || - res.data.message == '操作失败,token非法无效!'){ + res.data.message == '操作失败,token非法无效!' || + res.data.message == '操作失败,用户不存在!'){ uni.removeStorageSync('token') console.error('登录过期'); uni.navigateTo({ - url: '/pages/auth/login' + url: '/pages_order/auth/wxLogin' }) } diff --git a/pages/index/order.vue b/pages/index/order.vue index 6c67910..7a53962 100644 --- a/pages/index/order.vue +++ b/pages/index/order.vue @@ -14,7 +14,7 @@ @@ -112,30 +112,57 @@ pageNo: 1, pageSize: 10 }, - orderList: [ - { - money : 99.99, - address : '广东省广州市越秀区城南故事C3栋2802', - name : '李**', - phone : '150*****091', - unit : '120*40*75【桌子尺寸】', - image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg', - state_dictText : '已完成', - } - ], //订单列表数据 + // orderList: [ + // { + // money : 99.99, + // address : '广东省广州市越秀区城南故事C3栋2802', + // name : '李**', + // phone : '150*****091', + // unit : '120*40*75【桌子尺寸】', + // image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg', + // state_dictText : '已完成', + // } + // ], //订单列表数据 + orderList : { + records : [], + total : 0, + }, + state : -1, } }, - computed : { + onShow() { + this.orderPage() + }, + //滚动到屏幕底部 + onReachBottom() { + if(this.queryParams.pageSize < this.orderList.total){ + this.queryParams.pageSize += 10 + this.orderPage() + } }, methods: { + orderPage(){ + let queryParams = { + ...this.queryParams, + } + if(this.state != -1){ + queryParams.state = this.state + } + this.$api('orderPage', queryParams, res => { + if(res.code == 200){ + this.orderList = res.result + } + }) + }, //点击tab栏 clickTabs(index) { if (index == 0) { - this.queryParams.state = -1; + this.state = -1; } else { - this.queryParams.state = index - 1; + this.state = index - 1; } - this.getOrderList() + this.queryParams.pageSize = 10 + this.orderPage() }, //跳转订单详情页面 toOrderDetail(id) { diff --git a/store/store.js b/store/store.js index 8218f65..7c3e47c 100644 --- a/store/store.js +++ b/store/store.js @@ -9,7 +9,8 @@ import api from '@/api/api.js' const store = new Vuex.Store({ state: { configList: [], //配置列表 - shop : false + shop : false, + userInfo : {}, //用户信息 }, getters: { // 角色 true为水洗店 false为酒店 @@ -20,9 +21,59 @@ const store = new Vuex.Store({ mutations: { // 初始化配置 initConfig(state){ - api('getConfig', res => { + // api('getConfig', res => { + // if(res.code == 200){ + // state.configList = res.result + // } + // }) + + let config = ['getPrivacyPolicy', 'getUserAgreement'] + config.forEach(k => { + api(k, res => { + if (res.code == 200) { + state.configList[k] = res.result + } + }) + }) + }, + login(state){ + uni.showLoading({ + title: '登录中...' + }) + uni.login({ + success(res) { + if(res.errMsg != "login:ok"){ + return + } + + api('wxLogin', { + code : res.code + }, res => { + + uni.hideLoading() + + if(res.code != 200){ + return + } + + state.userInfo = res.result.userInfo + uni.setStorageSync('token', res.result.token) + + if(!state.userInfo.nickName || !state.userInfo.headImage){ + uni.navigateTo({ + url: '/pages_order/auth/wxUserInfo' + }) + }else{ + uni.navigateBack(-1) + } + }) + } + }) + }, + getUserInfo(state){ + api('infoGetInfo', res => { if(res.code == 200){ - state.configList = res.result + state.userInfo = res.result } }) },