diff --git a/App.vue b/App.vue index f82fa64..1393cf9 100644 --- a/App.vue +++ b/App.vue @@ -58,7 +58,9 @@ let custom = wx.getMenuButtonBoundingClientRect(); Vue.prototype.Custom = custom; Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight; - // #endif // #ifdef MP-ALIPAY + // #endif + + // #ifdef MP-ALIPAY Vue.prototype.StatusBar = e.statusBarHeight; Vue.prototype.CustomBar = e.statusBarHeight + e.titleBarHeight; // #endif @@ -130,10 +132,27 @@ if (view.route != 'pages/index/startPage/startPage' && view.route.indexOf('BagAuth') == -1) { const token = uni.getStorageSync('Authorization') const openid = uni.getStorageSync('openid') + + let jumpUrl = '/BagAuth/pages/login/login' + let urlTarget = this.obtainUrlPathParameterTarget(view.$page.fullPath) + console.log('urlTarget',urlTarget) + let target = {} + if(urlTarget.q) { + let originLink = decodeURIComponent(decodeURIComponent(urlTarget.q)) + target = this.obtainUrlPathParameterTarget(originLink) + target.siteId && (jumpUrl += `?scanningParams=${decodeURIComponent(urlTarget.q)}`) + } + // console.log('jumpUrl',jumpUrl) if (token && openid) { - if(!white.includes(view.route)){ - this.getAmount() - } + this.getAmount() + // if(!white.includes(view.route) ){ + // this.getAmount() + // } + + // if(target.siteId || !white.includes(view.route) ){ + // this.getAmount() + // } + onlineTimer = setTimeout(() => { if (this.loginStatus == 'offline') { uni.clearStorageSync() @@ -144,7 +163,7 @@ success: function(res) { if (res.confirm) { uni.redirectTo({ - url: '/BagAuth/pages/login/login' + url: jumpUrl }) } }, @@ -160,6 +179,9 @@ }, 500) } else { + target.siteId && uni.redirectTo({ + url: jumpUrl + }) // loginTimer = setTimeout(() => { // uni.showModal({ // title: '请您登录', @@ -181,10 +203,26 @@ // } }) }, + + obtainUrlPathParameterTarget(url) { + let target = {} + if(url.includes('?')) { + let paramsText = url.split("?")[1] + let paramsArr = paramsText.split("&") + paramsArr.forEach(item => { + target[item.split('=')[0]] = item.split('=')[1] + }) + } + console.log('11target',target) + return target + }, + // 是否token过期或ip更改 - getAmount() { + getAmount() { clearTimeout(loginTimer) accountApi.getTotalOilCardInfo().then(res => { + console.log('res.code',res.code) + console.log(555) if (res.code == 20000) { this.loginStatus = 'online' } else if (res.code == 42011) { @@ -200,6 +238,7 @@ }, onShow: function() { + console.log(12388) uni.getLocation({ type: 'wgs84', success: function(res) { diff --git a/BagAuth/pages/login/login.vue b/BagAuth/pages/login/login.vue index 8d18d54..a6694c1 100644 --- a/BagAuth/pages/login/login.vue +++ b/BagAuth/pages/login/login.vue @@ -152,22 +152,24 @@ loginRes: {}, sessionKey: '', nickName: '', - loginOut: uni.getStorageSync('loginOut') ? true : false + loginOut: uni.getStorageSync('loginOut') ? true : false, + scanningParams:null } }, - onLoad() { + onLoad(options) { uni.clearStorageSync() this.refreshLocation() uni.login({ provider: 'weixin', success: (loginRes) => { - console.log(loginRes,'loginRes') const code = loginRes.code this.onceCode = code - console.log(this.onceCode,'----------') oilIdentityApi.sendCode(this.onceCode).then(res => { - console.log(res,'sendCode') if (res.code === 20000) { + if(options.scanningParams) { + // 用于扫码进入油站详情页面 + this.scanningParams = options.scanningParams + } this.sessionKey = res.data.sessionKey uni.setStorageSync('openid', res.data.openId) uni.setStorageSync('unionid', res.data.unionId) @@ -184,7 +186,6 @@ } }).catch(err => { - console.log(err) uni.reLaunch({ url: '/BagAuth/pages/login/boforeLogin/boforeLogin', fail: (err) => { @@ -224,14 +225,13 @@ }, refuseEmpower() { uni.navigateTo({ - url: '/BagAuth/pages/login/oldLogin' + url: `/BagAuth/pages/login/oldLogin?scanningParams=${this.scanningParams}` }) }, decryptPhoneNumber(e) { - // console.log(e.detail) if (e.detail.errMsg === 'getPhoneNumber:ok') { const data1 = { ...e.detail, @@ -251,7 +251,6 @@ bindLoginByPhone(data, url) { if (this.count < 1) { oilIdentityApi.bindLoginByPhone(data, url).then(res => { - console.log(res) if (res.code == 20000) { this.loginSuccess(res) @@ -278,10 +277,15 @@ title: res.msg, icon: 'none', complete: (err) => { - // console.log(err) } }) }, 1000); + if(this.scanningParams) { + uni.redirectTo({ + url: `/BagStation/pages/stationDetail/stationDetail?q=${this.scanningParams}` + }) + return + } // 这里有问题 uni.switchTab({ url: '/pages/tabbar/home/home' diff --git a/BagAuth/pages/login/oldLogin.vue b/BagAuth/pages/login/oldLogin.vue index b098323..60a59c5 100644 --- a/BagAuth/pages/login/oldLogin.vue +++ b/BagAuth/pages/login/oldLogin.vue @@ -171,7 +171,14 @@ count: 0, loginRes: {}, checked: false, - next: false + next: false, + scanningParams:null + } + }, + onLoad(options) { + if(options.scanningParams) { + // 用于扫码进入油站详情页面 + this.scanningParams = options.scanningParams } }, onShow() {}, @@ -402,6 +409,12 @@ icon: 'none' }) }, 1000); + if(this.scanningParams) { + uni.redirectTo({ + url: `/BagStation/pages/stationDetail/stationDetail?q=${this.scanningParams}` + }) + return + } // 这里有问题 uni.switchTab({ url: '/pages/tabbar/home/home' diff --git a/BagStation/orderDetail/orderDetail.vue b/BagStation/orderDetail/orderDetail.vue index a34a303..0e1b371 100644 --- a/BagStation/orderDetail/orderDetail.vue +++ b/BagStation/orderDetail/orderDetail.vue @@ -43,7 +43,7 @@ </view> </view> <view class="cu-list menu solid-bottom"> - <view class="cu-item arrow" @tap="toDetail(order)"> + <view class="cu-item " :class="order.zpDisable === 'DISABLE' ? '' :'arrow'" @tap="toDetail(order)"> 油站: <text class="fr">{{order.siteName?order.siteName:''}}</text> </view> @@ -312,6 +312,7 @@ }) }, toDetail(item) { + if(item.zpDisable === 'DISABLE') return var itemS = JSON.stringify(item) uni.setStorageSync('siteInfo',itemS) uni.navigateTo({ @@ -325,6 +326,7 @@ }) }, cancelOrder() { + orderApi.cancelOrder(this.id).then(res => { if (res.code == 20000) { uni.showToast({ diff --git a/BagStation/pages/stationDetail/stationDetail.vue b/BagStation/pages/stationDetail/stationDetail.vue index 1f6f471..8231a16 100644 --- a/BagStation/pages/stationDetail/stationDetail.vue +++ b/BagStation/pages/stationDetail/stationDetail.vue @@ -88,7 +88,7 @@ <text class=" text-black ">加 {{itm.oilsCode}} {{itm.volume}}L 节省 <text class="text-red"> ¥{{itm.discountAmount}}</text></text> </view> - <view class="cu-item no-border" v-if="!siteInfo.oilSiteOrderInfoVos.length"> + <view class="cu-item no-border" v-if="siteInfo.oilSiteOrderInfoVos && !siteInfo.oilSiteOrderInfoVos.length"> 暂无 </view> @@ -180,20 +180,41 @@ } }, onHide() { - console.log('这里是hiden') - this.innerAudioContext.stop() + this.innerAudioContext && this.innerAudioContext.stop() }, onUnload() { - console.log('这里是卸载页面') - this.innerAudioContext.stop() + this.innerAudioContext && this.innerAudioContext.stop() }, + + onLoad(option) { + // console.log('option',option) + // let userInfo = uni.getStorageSync('user') + // if(!userInfo && option.q) { + // uni.redirectTo({ + // url: `/BagAuth/pages/login/login?scanningParams=${option.q}` + // }) + // return + // } + + if(option.q) { + let originLink = decodeURIComponent(option.q) + let target = this.obtainUrlPathParameterTarget(originLink) + console.log('target',target) + if(target.siteId) { + this.siteId = target.siteId + this.getSiteInfo(target.siteId) + } + return + } + if(!option.item){ let siteInfos = uni.getStorageSync('siteInfo') var oilItem = JSON.parse(decodeURIComponent(siteInfos)) }else{ var oilItem = JSON.parse(decodeURIComponent(option.item)) } + uni.setStorageSync('oilItem',oilItem) this.getSiteInfo(oilItem.siteId) this.siteId = oilItem.siteId @@ -209,6 +230,17 @@ this.ContextAudio(this.audioUrl) }, methods: { + obtainUrlPathParameterTarget(url) { + let target = {} + if(url.includes('?')) { + let paramsText = url.split("?")[1] + let paramsArr = paramsText.split("&") + paramsArr.forEach(item => { + target[item.split('=')[0]] = item.split('=')[1] + }) + } + return target + }, // 生成音频文件 ContextAudio(url){ this.innerAudioContext = uni.createInnerAudioContext(); @@ -218,12 +250,11 @@ console.log('开始播放'); }); this.innerAudioContext.onError((res) => { - console.log(res.errMsg); - console.log(res.errCode); + console.log(res); }); }, backTohome(){ - this.innerAudioContext.stop() + this.innerAudioContext && this.innerAudioContext.stop() uni.switchTab({ url:'../../../pages/tabbar/home/home' }) @@ -232,7 +263,7 @@ this.showtitle =false }, gotoPay(){ - this.innerAudioContext.stop() + this.innerAudioContext && this.innerAudioContext.stop() uni.navigateTo({ url: `/BagStation/pages/makeOrder/makeOrder?siteId=${this.siteId}&activeCur=${this.activeCur}` }) @@ -242,32 +273,28 @@ this.secondChannelCode = sec }, siteQrPay() { - this.innerAudioContext.stop() - // let siteId = + this.innerAudioContext && this.innerAudioContext.stop() uni.navigateTo({ url: `/BagStation/pages/stationDetail/stieQr?siteId=${this.siteId}&activeChannelCode=${this.activeChannelCode}&secondChannelCode=${this.secondChannelCode}` }) }, getSiteInfo(id) { - console.log('进入获取油站信息') let data2 = { ...uni.getStorageSync('location'), siteId: id, clientBelong: "ZHONGPIN" } - oilSiteApi.getSiteDetails(data2).then(res => { - console.log('进入获取油站信息getSiteDetails',res) + oilSiteApi.getSiteDetails(data2).then(res => { if (res.code == 20000) { this.siteInfo = res.data } }) }, makePay() { - console.log(this.siteInfo.juli) if(this.siteInfo.juli > 1000 ){ this.showtitle = true }else{ - this.innerAudioContext.stop() + this.innerAudioContext && this.innerAudioContext.stop() uni.navigateTo({ url: `/BagStation/pages/makeOrder/makeOrder?siteId=${this.siteId}&activeCur=${this.activeCur}` }) @@ -295,10 +322,11 @@ }, goBack() { - this.innerAudioContext.stop() - uni.navigateBack({ + // this.innerAudioContext.stop() - }) + uni.switchTab({ + url: '/pages/tabbar/home/home' + }); }, selectRadio() { this.radio === 'A' ? this.radio = '' : this.radio = 'A' diff --git a/components/site-item/site-item.vue b/components/site-item/site-item.vue index e061c24..20a61f8 100644 --- a/components/site-item/site-item.vue +++ b/components/site-item/site-item.vue @@ -1,5 +1,5 @@ <template> - <view class="cu-item cur padding no-mr-border site-item" :style="{height:siteItem.oilProductCodeAndPrices.length>3?'220rpx !important':listHeight?listHeight + 'rpx !important':''}"> + <view class="cu-item cur padding no-mr-border site-item" :style="{height:siteItem.oilProductCodeAndPrices && siteItem.oilProductCodeAndPrices.length>3?'220rpx !important':listHeight?listHeight + 'rpx !important':''}"> <view class="cu-avatar radius lg " :style="'background-image:url('+(siteItem.siteImages?siteItem.siteImages:defaultLogo)+');'"> </view> diff --git a/components/three-sites.vue b/components/three-sites.vue index f5e9fbf..56eda33 100644 --- a/components/three-sites.vue +++ b/components/three-sites.vue @@ -78,6 +78,7 @@ ...uni.getStorageSync('location'), ...this.filterData, comprehensiveSort:1, + zpDisable:'ENABLE', // siteBrand: "", // 备注:// 石油品牌 ( 1-中国石油 2-中国石化 3-壳牌 4-民营 5-中海油 6-京博 7-中化石油 8-其他 ) // channelCode: "", // 备注:// 渠道编码 ( OIL:星油 WJY:万金油 LV:老吕(找油网) TY:团油 YDJY:一点加油(壳牌)) // oilProductCode: "" // 备注:// 油号选择 ( 0# 92# 92#) diff --git a/pages/tabbar/home/home.vue b/pages/tabbar/home/home.vue index d113e8e..72fc993 100644 --- a/pages/tabbar/home/home.vue +++ b/pages/tabbar/home/home.vue @@ -489,25 +489,26 @@ }, getSiteList() { - let data1 = { + let params = { currentPage: 1, pageSize: 10, params: { //类型:Object 必有字段 备注:// 筛选对象 - clientBelong:'ZHONGPIN', - sort: "juli", //类型:String 必有字段 备注:// 智能排序 ( price:价格最低 juli:距离最近 ) 默认距离排序 // longitude: 117.157817, // 必有字段 备注:// 当前位置经度 // latitude: 31.802472, // 必有字段 备注:// 当前位置维度 - ...uni.getStorageSync('location'), - ...this.filterData, // siteBrand: "", // 备注:// 石油品牌 ( 1-中国石油 2-中国石化 3-壳牌 4-民营 5-中海油 6-京博 7-中化石油 8-其他 ) // channelCode: "", // 备注:// 渠道编码 ( OIL:星油 WJY:万金油 LV:老吕(找油网) TY:团油 YDJY:一点加油(壳牌)) // oilProductCode: "0#" // 备注:// 油号选择 ( 0# 92# 92#) - comprehensiveSort:1 + clientBelong:'ZHONGPIN', + comprehensiveSort:1, + zpDisable:'ENABLE', + sort: "juli", //类型:String 必有字段 备注:// 智能排序 ( price:价格最低 juli:距离最近 ) 默认距离排序 + ...uni.getStorageSync('location'), + ...this.filterData, } } if (!uni.getStorageSync('user')) { - oilSiteApi.readOnlySites(data1).then(res => { + oilSiteApi.readOnlySites(params).then(res => { this.getCount++ if (res.code == 20000) { // console.log(res.data.list) @@ -542,10 +543,8 @@ } }) } else { - console.log(data1,'dayindata111111111111') - oilSiteApi.getSiteLists(data1).then(res => { + oilSiteApi.getSiteLists(params).then(res => { if (res.code == 20000) { - // console.log(res.data.list) this.siteList = res.data.list } }) @@ -553,7 +552,8 @@ }, toDetail(item) { let itemS = encodeURIComponent(JSON.stringify(item)) - console.log(itemS) + // console.log(uni.getStorageSync('user')) + // return if (uni.getStorageSync('user')) { uni.navigateTo({ url: `/BagStation/pages/stationDetail/stationDetail?item=${itemS}`, diff --git a/pages/tabbar/station/stationList.vue b/pages/tabbar/station/stationList.vue index 650649b..e92ac3c 100644 --- a/pages/tabbar/station/stationList.vue +++ b/pages/tabbar/station/stationList.vue @@ -384,16 +384,14 @@ siteName: this.siteName, ...uni.getStorageSync('location'), // ...this.filterData - siteBrand: this.siteName ? '' : this.filterData - .siteBrand, // 备注:// 石油品牌 ( 1-中国石油 2-中国石化 3-壳牌 4-民营 5-中海油 6-京博 7-中化石油 8-其他 ) - channelCode: this.siteName ? '' : this.filterData - .channelCode, // 备注:// 渠道编码 ( OIL:星油 WJY:万金油 LV:老吕(找油网) TY:团油 YDJY:一点加油(壳牌)) - oilProductCode: this.siteName ? '' : this.filterData - .oilProductCode, // 备注:// 油号选择 ( 0# 92# 92#) + siteBrand: this.siteName ? '' : this.filterData.siteBrand, // 备注:// 石油品牌 ( 1-中国石油 2-中国石化 3-壳牌 4-民营 5-中海油 6-京博 7-中化石油 8-其他 ) + channelCode: this.siteName ? '' : this.filterData.channelCode, // 备注:// 渠道编码 ( OIL:星油 WJY:万金油 LV:老吕(找油网) TY:团油 YDJY:一点加油(壳牌)) + oilProductCode: this.siteName ? '' : this.filterData.oilProductCode, // 备注:// 油号选择 ( 0# 92# 92#) provinceCode: this.filterData.provinceCode, cityCode: this.filterData.cityCode, areaCode: this.filterData.areaCode, distance: this.filterData.distance, + zpDisable:'ENABLE', comprehensiveSort: this.filterData.comprehensiveSort ? this.filterData.comprehensiveSort : 1 } diff --git a/utils/request.js b/utils/request.js index b3d03b6..900e545 100644 --- a/utils/request.js +++ b/utils/request.js @@ -2,13 +2,13 @@ import axios from 'axios' import utils from '@/utils/encode' // const env = process.env.NODE_ENV -const env = 'production'/* */ -// const env = 'test' -const testUrl = 'http://192.168.0.23:38080' +// const env = 'production'/* */ +const env = 'production' +const testUrl = 'http://192.168.110.230:38080' // const productUrl = 'http://121.196.213.68/adminapi' //预生产 -// const productUrl = 'https://www.xingoil.com/adminapi' // 生产,加密 new -const productUrl = 'http://uat.xingoil.com/adminapi' // 生产,加密 new +const productUrl = 'https://www.xingoil.com/adminapi' // 生产,加密 new +// const productUrl = 'http://uat.xingoil.com/adminapi' // 生产,加密 new const service = axios.create({ baseURL: env == 'production' ? productUrl : testUrl, // baseURL: testUrl, @@ -54,8 +54,8 @@ service.interceptors.request.use( config.data = data // } } else { - console.log('\n\n-----------------------') - console.log('参数', config.url, '参数加密前', config.data) + // console.log('\n\n-----------------------') + // console.log('参数', config.url, '参数加密前', config.data) url = config.url } @@ -84,8 +84,8 @@ service.interceptors.response.use( // console.log('返回', response.config.url, '返回结果',res) } } else { - console.log('返回', response.config.url, '返回结果未加密', res) - console.log('-------------------------------------------\n\n') + // console.log('返回', response.config.url, '返回结果未加密', res) + // console.log('-------------------------------------------\n\n') } uni.hideLoading()