Compare commits

..

No commits in common. 'master' and 'xiaozy_大卫用户协议' have entirely different histories.

  1. 151
      App.vue
  2. 64
      BagAuth/pages/login/login.vue
  3. 10
      BagAuth/pages/login/oldLogin.vue
  4. BIN
      BagStation/orderInvoicing/img/background.png
  5. BIN
      BagStation/orderInvoicing/img/day.png
  6. BIN
      BagStation/orderInvoicing/img/night.png
  7. BIN
      BagStation/orderInvoicing/img/phone.png
  8. 351
      BagStation/orderInvoicing/orderInvoicing.vue
  9. 426
      BagStation/pages/components/price-select-tab.vue
  10. 63
      BagStation/pages/makeOrder/makeOrder.vue
  11. 79
      BagStation/pages/makeOrder/orderPaying.vue
  12. 46
      BagStation/pages/stationDetail/stationDetail.vue
  13. 8
      api/pay.js
  14. 2
      components/site-item/site-item.vue
  15. 1
      components/sl-filter/filter-view.vue
  16. 47
      pages/index/startPage/startPage.vue
  17. BIN
      static/swiper/etc.png

@ -64,7 +64,7 @@
value: item.id
})
})
// console.log(channelCodes, productCodes, siteBrands)
console.log(channelCodes, productCodes, siteBrands)
this.menuList[0].detailList = this.menuList[0].detailList.concat(channelCodes)
this.menuList[1].detailList = this.menuList[1].detailList.concat(productCodes)
this.menuList[2].detailList = this.menuList[2].detailList.concat(siteBrands)
@ -93,79 +93,146 @@
}
}
// console.log(view.route)
// clearTimeout(loginTimer)
// clearTimeout(onlineTimer)
clearTimeout(loginTimer)
clearTimeout(onlineTimer)
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?loginType=true'
let urlTarget = this.obtainUrlPathParameterTarget(view.$page.fullPath)
// console.log('urlTarget', urlTarget)
console.log('urlTarget',urlTarget)
let target = {}
if (urlTarget.q) {
try {
let originLink = decodeURIComponent(decodeURIComponent(urlTarget.q))
target = this.obtainUrlPathParameterTarget(originLink)
target.siteId && (jumpUrl += `&scanningParams=${decodeURIComponent(urlTarget.q)}`)
} catch (e) {}
if(urlTarget.q) {
let originLink = decodeURIComponent(decodeURIComponent(urlTarget.q))
target = this.obtainUrlPathParameterTarget(originLink)
target.siteId && (jumpUrl += `?scanningParams=${decodeURIComponent(urlTarget.q)}`)
}
if (token && openid) {
this.getAmount(jumpUrl)
this.getAmount()
// if(!white.includes(view.route)){
// this.getAmount()
// }
onlineTimer = setTimeout(() => {
if (this.loginStatus == 'offline') {
uni.clearStorageSync()
uni.showModal({
title: '需要您重新登录',
content: this.msg,
duration: '3000',
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: jumpUrl
})
}
},
complete: () => {
clearTimeout(onlineTimer)
}
})
}
}, 1000)
} else {
target.siteId && uni.redirectTo({
url: jumpUrl
})
url: jumpUrl
})
// loginTimer = setTimeout(() => {
// uni.showModal({
// title: '',
// content: '',
// duration: '3000',
// success: function(res) {
// if (res.confirm) {
// uni.redirectTo({
// url: '/BagAuth/pages/login/login'
// })
// }
// }
// })
// }, 1000)
}
}
// }
})
},
obtainUrlPathParameterTarget(url) {
let target = {}
if (url.includes('?')) {
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)
console.log('11target',target)
return target
},
// tokenip
getAmount(jumpUrl) {
getAmount() {
clearTimeout(loginTimer)
accountApi.getTotalOilCardInfo().then(res => {
if (res.code == 42011) {
uni.clearStorageSync()
uni.showModal({
title: '需要您重新登录',
content: res.msg,
duration: '3000',
success: (res) => {
if (res.confirm) {
uni.redirectTo({
url: jumpUrl
})
}
}
})
if (res.code == 20000) {
this.loginStatus = 'online'
} else if (res.code == 42011) {
this.loginStatus = 'offline'
this.msg = res.msg
}
})
},
},
// onShow: function() {
// const token = uni.getStorageSync('Authorization')
// const openid = uni.getStorageSync('openid')
onReady() {
},
onShow: function() {
// uni.getLocation({
// type: 'wgs84',
// success: function(res) {
// uni.setStorageSync('location', {
// longitude: res.longitude + '',
// latitude: res.latitude + ''
// })
// }
// });
// console.log('onReady')
const token = uni.getStorageSync('Authorization')
const openid = uni.getStorageSync('openid')
let key = ''
if (token && openid) {
this.getAmount()
key = '真在线'
} else {
key = '离线'
}
if (key == '在线') {
// if (token && openid) {
// this.getAmount()
// }
// },
}
setTimeout(() => {
// console.log(key)
if (key == '在线') {
} else {
// uni.redirectTo({
// url: '/BagAuth/pages/login/login'
// })
}
}, 2000)
// uni.showShareMenu()
// console.log('App Show')
},
onHide: function() {
// console.log('App Hide')
}
}
</script>

@ -27,18 +27,18 @@
@getphonenumber="decryptPhoneNumber">
<!-- <text class="cuIcon-weixin padding-right-xs"> </text> -->
<text>
一键登录
手机号快捷登录
</text>
</button>
<button v-else class="cu-btn round bg-main-oil lg text-lg" @click="$refs.popup.open('center')">
<!-- <text class="cuIcon-weixin padding-right-xs"> </text> -->
<text>
一键登录
手机号快捷登录
</text>
</button>
<button class="cu-btn margin-top round lg" @tap="refuseEmpower">
<!-- <button class="cu-btn margin-top round lg" @tap="refuseEmpower">
输入手机号码登录
</button>
</button> -->
<button class="cu-btn bg-0 margin-top round text-sm" @tap="refuseLogin">
跳过
</button>
@ -50,10 +50,7 @@
使用协议及隐私保护
</view>
<view class="protocol_content">
为了更好地保障您的合法权益请您阅读并同意 <text style=" color: black; font-weight: 600;"
@click="$refs.loginBottom.toAgree('baichuanUserAgree')">用户协议</text> <text
style=" color: black; font-weight: 600;"
@click="$refs.loginBottom.toAgree('baichuanPrivacyAgreement')">隐私政策</text>
为了更好地保障您的合法权益请您阅读并同意 <text style=" color: black; font-weight: 600;" @click="$refs.loginBottom.toAgree('baichuanUserAgree')">用户协议</text> <text style=" color: black; font-weight: 600;" @click="$refs.loginBottom.toAgree('baichuanPrivacyAgreement')">隐私政策</text>
</view>
<view class="protocol_footer">
<button @click="$refs.popup.close()" class="protocol_footer_close">取消</button>
@ -76,7 +73,7 @@
},
data() {
return {
loginType: false,
loginType:false,
// imgsrc:require('../../../BagStation/static/img/login-bg.png'),
checked: false,
userHandle: false,
@ -93,12 +90,12 @@
sessionKey: '',
nickName: '',
loginOut: uni.getStorageSync('loginOut') ? true : false,
scanningParams: null
scanningParams:null
}
},
onLoad(e) {
if (e.loginType) {
this.loginType = Boolean(e.loginType);
if(e.loginType){
this.loginType = Boolean(e.loginType);
}
uni.clearStorageSync()
// this.refreshLocation()
@ -106,10 +103,10 @@
provider: 'weixin',
success: (loginRes) => {
const code = loginRes.code
this.onceCode = code
this.onceCode = code
oilIdentityApi.sendCode(this.onceCode).then(res => {
if (res.code === 20000) {
if (e.scanningParams) {
if(e.scanningParams) {
//
this.scanningParams = e.scanningParams
}
@ -146,7 +143,7 @@
this.checked = val
},
refuseLogin() {
uni.setStorageSync('loginType', false)
uni.setStorageSync('loginType',false)
uni.switchTab({
url: '/pages/tabbar/home/home'
})
@ -167,7 +164,8 @@
}, url).then(res => {
if (res.code == 20000) {
this.loginSuccess(res)
} else {}
}else{
}
})
},
refuseEmpower() {
@ -206,7 +204,7 @@
if (this.count < 1) {
oilIdentityApi.bindLoginByPhone(data, url).then(res => {
if (res.code == 20000) {
this.loginSuccess(res)
this.loginSuccess(res)
}
})
}
@ -225,26 +223,26 @@
let user = resData.authTokenDTO.loginUser
uni.setStorageSync('user', user)
// setTimeout(() => {
// uni.showToast({
// title: res.msg,
// icon: 'none',
// complete: (err) => {
// }
// })
// }, 1000);
if (this.scanningParams) {
setTimeout(() => {
uni.showToast({
title: res.msg,
icon: 'none',
complete: (err) => {
}
})
}, 1000);
if(this.scanningParams) {
uni.redirectTo({
url: `/BagStation/pages/makeOrder/makeOrder?q=${this.scanningParams}`
url: `/BagStation/pages/stationDetail/stationDetail?q=${this.scanningParams}`
})
return
return
}
//
uni.switchTab({
url: '/pages/tabbar/home/home'
})
} else {
if (!this.loginType) {
}else{
if(!this.loginType){
this.refuseLogin()
}
}
@ -255,7 +253,7 @@
<style>
.protocol_footer_close {
width: 185rpx;
width: 185rpx;
border-radius: 94rpx 94rpx 94rpx 94rpx;
opacity: 1;
border: 1px solid #000000;
@ -263,7 +261,7 @@
}
.protocol_footer_confirm {
width: 185rpx;
width: 185rpx;
background: #FD0505;
border-radius: 56rpx 56rpx 56rpx 56rpx;
opacity: 1;
@ -273,7 +271,7 @@
.protocol_footer {
display: flex;
justify-content: space-between;
justify-content: space-between;
color: #FFFFFF;
}

@ -171,11 +171,11 @@
loginRes: {},
checked: false,
next: false,
scanningParams: null
scanningParams:null
}
},
onLoad(options) {
if (options.scanningParams) {
if(options.scanningParams) {
//
this.scanningParams = options.scanningParams
}
@ -408,11 +408,11 @@
icon: 'none'
})
}, 1000);
if (this.scanningParams && this.scanningParams !== 'null') {
if(this.scanningParams) {
uni.redirectTo({
url: `/BagStation/pages/makeOrder/makeOrder?q=${this.scanningParams}`
url: `/BagStation/pages/stationDetail/stationDetail?q=${this.scanningParams}`
})
return
return
}
//
uni.switchTab({

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 B

@ -4,12 +4,12 @@
<block slot="backText">返回</block>
<block slot="content">申请开发票</block>
</cu-custom>
<!-- <view class="bg-main-oil padding-bottom-xl padding">
<view class="bg-main-oil padding-bottom-xl padding">
<view class="ext-center text-lg padding-sm ">
开票金额 {{realAmount}}
</view>
</view> -->
<!-- <view
</view>
<view
class="text-center shadow radius move-top bg-gray margin margin-top-0 margin-bottom-sm bg-white text-bold text-xl padding-lg">
<view class="Invoicing-header">
<view class="Invoicing-header-text text-df">
@ -61,8 +61,8 @@
v-model="Invoicing.remark"></input>
</uni-forms-item>
</uni-forms>
</view> -->
<!-- <view class="text-center shadow radius margin bg-white text-bold text-xl padding-lg">
</view>
<view class="text-center shadow radius margin bg-white text-bold text-xl padding-lg">
<view class="Invoicing-header">
<view class="Invoicing-header-text text-df">
接收信息
@ -79,155 +79,143 @@
请仔细核验邮箱号是否正确
</view>
</uni-forms>
</view> -->
<view class="container">
<view>功能暂时维护</view>
<view>详细请咨询请拨打客服电话</view>
</view>
<view class="contact day">
<text>8:00-18:00</text>
<text>13296360386</text>
<img src="./img/phone.png" @click="arouse('13296360386')">
</view>
<view class="contact night">
<text>18:00-8:00</text>
<text>15653644882</text>
<img src="./img/phone.png" @click="arouse('15653644882')">
</view>
<!-- <view class="btn-box">
<view class="cu-btn width-50 text-lg height-80 padding text-center" @tap="backtodetail">
<view class="btn-box">
<view class="tip">功能暂时维护 详情请咨询客服电话<text style="color: #00BFFF;"
@click="arouse('13296360386')">13296360386</text></view>
<!-- <view class="cu-btn width-50 text-lg height-80 padding text-center" @tap="backtodetail">
取消
</view>
<view @tap="saveInvoicRecord"
class="cu-btn width-50 text-lg height-80 padding text-center bg-red text-white">
提交
</view>
</view> -->
</view> -->
</view>
<uni-popup ref="popup" :is-mask-click="false">
<view class="notice">
<view>用户协议</view>
<view>
<view>加油平台用户服务协议</view>
<view>
加油平台用户服务协议(以下简称本协议)是您与平台之间就注册加油平台用户账号及使用加油平台的各项服务等相关事宜所订立的协议<text
style="color: black; font-weight: 600;">为使用加油平台的服务您应当仔细阅读并遵守本服务协议下的全部内容特别是涉及免除或者责任限制的条款该类条款可能以黑体加粗或加下划线的形式提示您重点注意</text>除非您已阅读并接受本服务协议所有条款否则您将不能注册平台账号或使用平台的服务如您不同意本服务条款的任意内容请勿注册或使用平台的服务并应立即停止注册程序如您对本服务协议的内容(特别是涉及免除或者责任限制的条款)有任何疑义可随时按照本服务协议中列明的联系方式与平台联系加油平台将根据您的要求为您进一步解释和说明相关内容<text
style="color: black; font-weight: 600;">如您点击我已知晓或我已同意加油平台用户服务协议"并通过注册程序或其他任何方式使用或接受加油平台的任何服务即视为您已阅读并同意本服务协议自愿接受本服务协议的所有内容的约束请您在决定注册或使用服务前再次确认您已知悉并完全理解本服务协议的所有内容</text>
协议的主体与范围
1.本协议主体
加油平台签约主体视您所使用的具体服务而定本协议项下加油平台是指加油平台旗下运营或提供您所使用的相关具体服务的相关主体的统称您可在相关服务的具体服务条款或说明文件中查看上述主体的名称和信息用户是指使用加油平台相关服务的使用人在本协议中更多称呼为"您"
2.本协议范围
(1)加油平台用户服务协议文本
<text style="color: black; font-weight: 600;">(2)加油平台隐私政策,您在注册加油平台账号前应仔细阅读加油平台隐私政策;</text>
(3)具体服务的服务条款活动规则您可在相关具体服务的网站页面或应用程序中查阅此类专门服务条款活动规则
(4)
专项商品或服务规则您应根据自身需要通过加油平台进行跳转等方式自愿选择接受独立第三方服务商及部分关联第三方服务商所提供的服务您将在使用该等第三方服务前对相应的用户授权协议予以同意确认以作为您和加油平台平台之间就该等第三方服务的使用所涉及的相关事项的权利义务依据
您理解并同意上述协议内容之间如存在不一致之处以时间上最新发布的内容为准发布时间相同的以本款协议内容中所包含的组成部分的序号倒序排列为准上述协议内容中所述的协议政策条款与规则构成本服务协议不可分割的组成部分共同适用于您所使用的加油平台服务
3.您理解并同意根据国家法律法规变化运营需要或为提升服务质量的目的加油平台将在必要的时候对上述各项协议条款与规则不时地进行修改更新并通过在网页或移动客户端上发出公告站内信等合理醒目的方式向您进行提前通知上述修改更新内容将在相关更新说明中指定的日期开始实施您应当及时查阅并了解相关更新修改内容如您不同意相关更新修改内容可停止使用相关更新修改内容所涉及的服务此情形下变更事项对您不产生效力如您在上述更新修改内容实施后继续使用所涉及的服务将视为您已同意各项更新修改内容
4.本协议适用于网页端移动客户端(包括IOS安卓及已有或未来将新增的任何其他移动客户端)等各类平台或媒介中加油平台所提供的各项服务您知悉并理解为享受上述相关服务您必须自行提供相关上网设备(个人电脑手机平板电脑或其他设备)并自行负担相关网络使用和商品服务支付所产生的有关费用
账号的注册与使用
1.账号的注册
(1)您知悉并承诺您必须为符合中华人民共和国法律规定的具有完全民事权利和民事行为能力能够独立承担民事责任的自然人法人及其他组织若您不具备前述主体资格加油平台有权注销(永久冻结)您的注册账号相关法律责任由您及您的监护人自行承担
(2)您应遵循诚实信用合法善意的原则向平台提交相关注册资料相关注册资料应当遵守法律法规社会主义制度国家利益公民合法权益公序良俗信息真实等原则不应提交任何违法或不良信息相关资料如有变动您应及时更新如果因您所提供的注册资料不合法不真实不准确或未及时更新从而导致相关法律责任或不利后果的您将承担相应的法律责任及不利后果
(3)因国家法律法规监管要求及特定门类的服务(如金融服务等)需要您有可能需要在注册或使用该等服务的特定环节中填写真实的身份信息并需通过相关验证流程后方可使用服务如您填写的身份信息不完整不真实或未通过验证将导致您无法使用该服务损害自身他人利益或造成其他不利后果该等后果将由您予以承担
2.账号的使用
(1)您应对您账号项下的所有行为(包括但不限于在线签署任何协议浏览购买支付点评)所产生的一切后果负责通过您的账号所发生的上述各项行为将视为您本人的真实意思表示
(2)为保证相关账号安全未经平台的书面同意您不应将平台上所注册的账号借给他人使用否则您应当承担由此产生的全部责任平台保留拒绝提供相应服务冻结或收回注册账号或终止本服务协议的权利并可要求您对平台所承受的损失予以赔偿
(3)您可以使用注册账号时填写登记的并获得系统审核通过的账号密码登录加油平台为了您的使用便利平台将适时提供指纹识别人脸识别等更为安全便捷的登录方式平台可根据相关法律法规监管要求用户体验风险控制等因素对登录方式予以适时调整或增减或在具体业务门类的用户服务条款等规定中予以进一步细化或调整
(4)鉴于网络服务的特殊性加油平台无义务审核是否是您本人使用用户名及密码平台仅审核用户名及密码是否与数据库中保存的一致任何人只要输入的用户名及密码与数据库中保存的一致即可凭借该组用户名及密码登录并获得平台所提供的各类服务所以即使账户登录行为并非您本人所为加油平台将不承担因此而产生的任何责任
3.账号的保管和找回
(1)您应自行负责并妥善正确地保管使用维护您的加油平台账号和密码并对您的账号和密码采取必要和有效的保密措施非因平台法定过错导致的任何遗失泄露被篡改被盗以及其他因保管使用维护不当而造成的损失您应自行承担
(2)因您个人原因导致的账号信息遗失如需找回本账号信息请按照本账号找回流程提供相应的信息并确保提供的信息合法真实有效若提供的信息不符合要求无法通过加油平台安全验证平台有权拒绝提供账号找回服务
(3)如您发现任何人不当使用您的账号或有任何其它可能危及您账号安全的情形时您应当立即以有效方式通知加油平台以便平台暂停相关服务您理解平台对您的请求采取行动需要合理时间平台对在采取行动前已经产生的后果(包括但不限于您的任何损失)以及采取行动后非可归责于加油平台的后果不承担任何责任
(4)您不得恶意注册加油平台账号请勿赠与借用租用有偿或无偿转让或售卖本账号或者以其他方式许可非初始申请注册人使用本账号平台有权对上述行为进行独立判断并处理您应当自行承担由此产生的一切责任同时平台保留追究上述行为人法律责任的权利且由此产生的一切责任均由您承担
(5)若您有以下行为之一加油平台有权暂时中止或永久终止您对账号的使用或收回您的加油平台账号中断或终止向您继续提供加油平台的产品及/或服务且无需承担任何责任
1)根据您的主动申请
2)您违反本协议的内容的
3)根据加油平台必须遵守的法律法规监管政策
4)加油平台有理由认为您的使用行为对加油平台及/或他人的合法权益造成(或可能造成)侵害的
5)您的账号连续180天未进行使用的
4.账户注销
您可以联系我们申请注销账号您注销账号后我们将停止为您提供服务并依据您的要求除法律法规另有规定外删除您的个人信息或对其进行匿名化处理您无法再使用本账号也将无法找回您加油平台账号中及与账号相关的任何内容或信息
加油平台服务内容
1.加油平台完全按照其发布的服务条款和操作规则通过加油平台等在各种形态(包括未来技术发展出现的新的服务形态)向您提供各类服务包括但不限于在线加油服务优惠券包消费等具体服务内容收费规则等由平台根据实际情况提供请您在使用前仔细了解相关内容
2.广告与第三方链接
(1)您知悉并同意平台在提供服务的过程中在符合法律法规的前提下保留以各种方式投放商业性广告(包括广告链接)或其他任何类型的商业信息的权利(包括但不限于在平台的任何位置上投放广告)
(2)在符合法律法规的前提下平台有权自主决定广告投放的形式位置内容而不受任何第三方的干预
(3)您同意平台可以通过电子邮件电子短信或其他方式向您发送商品促销或其他相关商业信息同时平台会为您提供退订方式
(4)平台服务可能会提供与其他互联网网站或资源进行链接加油平台会依照法律规定对广告商履行相关义务但您知悉并同意这些广告商和广告内容非由加油平台控制您对广告信息应审慎判断其真实性可靠性您通过平台的产品与/或服务与广告商或广告主进行任何形式的行为或产生任何形式的纠纷由您自行负责与解决除法律法规规定由广告发布者承担的责任外平台不承担任何额外责任但根据需要会依法提供必要的协助
服务使用规则
服务使用的基本原则
1)您在使用加油平台的产品及/或服务的过程中应遵守法律法规及其他规范性文件包括但不限于中华人民共和国民法典中华人民共和国保守国家秘密法中华人民共和国著作权法中华人民共和国计算机信息系统安全保护条例计算机软件保护条例互联网电子公告服务管理规定中华人民共和国网络安全法信息网络传播权保护条例应遵守公共秩序尊重社会公德不得危害网络安全不得利用网络从事危害国家安全荣誉和利益煽动颠覆国家政权推翻社会主义制度煽动分裂国家破坏国家统一宣扬恐怖主义极端主义宣扬民族仇恨民族歧视传播暴力淫秽色情信息编造传播虚假信息扰乱经济秩序和社会秩序以及侵害他人名誉隐私知识产权和其他合法权益等活动在任何情况下平台一旦合理地认为您存在或可能存在上述行为的可以在任何时候不经事先通知中止或终止向您提供加油平台服务
2)平台服务将仅限于您在平台明确授权的其他平台上进行使用任何以破解转译转录等非法或未经加油平台明确允许的手段将平台服务与加油平台平台或其他平台授权的平台相分离的行为均不属于本协议中约定的平台服务平台保留追究侵权行为人的法律责任及索赔的权利
3)您知悉并同意平台仅提供相关的平台网络服务除此之外与相关服务有关的设备(如个人电脑手机及其他与接入互联网或移动网有关的装置)及所需的费用(如为接入互联网而支付的电话费及上网费为使用移动网而支付的手机费)均应由您自行负担您需理解并同意使用本服务时会耗用终端设备和带宽等资源
4)您确认您在平台上按照服务流程所确认的交易状态将成为平台为您进行相关交易或操作的不可撤销的指令您同意相关指令的执行时间以平台在系统中进行实际操作的时间为准您同意平台有权依据本协议及平台相关纠纷处理规则等约定对相关事项进行处理您未能及时对交易状态进行修改确认或未能提交相关申请所引起的任何纠纷或损失由您自行负责平台不承担任何责任
2.虚拟资产的使用规则
1)加油平台服务项下的虚拟资产包括但不限于助力金优惠券等您通过免费或付费方式在遵守一定使用规则前提下获得的
2)虚拟资产的定价获得途径方式数量使用方法有效期限等所有内容以平台公布实际展示说明为准
3)因平台的自身发展运营情况而自行决定停止虚拟资产等相关平台服务或者平台丧失运营资格的情况下以现金方式直接取得的虚拟资产可以依照平台的相关规则按照现金购买价格等价退款但通过推广营销活动等而非由现金方式直接获得的虚拟资产不予退还或补偿
4.付款与发票
1)您同意并认可加油平台平台现行公示或未来更新的有关服务价格标准您可以在加油平台平台上查看相关价格在您下订单时请您仔细确认所购服务的名称价格数量型号等信息
2)由于受市场变化及各种以合理商业努力难以控制因素的影响平台无法避免您提交的订单信息中出现缺货价格标示错误等情况如您的订单出现以上情况您有权取消订单服务/产品提供方亦有权自行取消订单若您已经付款则为您办理退款
3)您在平台可以使用您的第三方电子支付账户(包括但不限于微信支付账户或支付宝支付账户)进行支付处理您使用服务相关的付款时除了受到本协议的约束之外还要受电子支付服务商及信用卡/借记卡发卡行的条款和政策的约束平台对于电子支付服务商或银行发生的错误不承担责任
<text
style="color: red; font-weight: 600;">4)在您提出开具发票的要求时平台将为您开具发票具体发票开具及申请规则请参见平台所列示的开票说明请特别注意部分交易后的发票将由服务/产品提供方为您开具并已明示于相关交易界面请您在下单时予以注意并在交易成功后及时向服务/产品提供方索要发票
(若因需要开具发票时平台将为您开具发票但您需补足加油时的优惠差价补足差价后平台将为您开具发票具体发票开具及申请规则请参见加油平台平台所列示的开票说明请特别注意部分交易后的发票将由服务/产品提供方为您开具并已明示于相关交易界面请您在下单时予以注意)</text>
5)平台提供订单管理功能您可以随时通过手机应用端自助查询近6个月的订单情况针对平台在线加油服务您应在完成加油后再下单支付如您对加油订单有任何异议应当在下单后48小时内联系平台并配合平台提供该笔订单的相关信息(包括但不限于您的个人信息加油消费情况等)以便对您提出的异议进行核实和处理逾期反馈的可能会出现无法核实无法退单等情形届时由您自行承担相应不利后果
5.服务费收取规则
本协议服务费是指您使用加油平台时平台向您收取的合理服务费用具体规则如下
1)当您下单加油时您将按照当前订单享受的直降优惠平台优惠券两项合计优惠金额支付服务费平台发放的满减券折扣券及您通过淘宝店铺等三方渠道购买的优惠券在使用时均应支付服务费而会员红包商家优惠券助力金额外折扣金额不涉及服务费的支付
2)当每单笔订单合计优惠金额(直降优惠+平台优惠券+加油金)2元时将按照合计优惠金额的10%支付(保留小数点后两位)服务费服务费金额最高不超过5元
3)部分加油站服务费金额固定为1元您可在支付明细中进行查看
4)服务费策略将根据市场实际情况进行相关调整调整后将明示于交易页面平台始终秉承为用户节约加油消费的宗旨进行服务费策略的制定
5)若您对服务费金额存疑或不认可可选择放弃交易
6)服务费规则未尽事宜请咨询平台客服
6.加油平台有权基于交易安全等方面的考虑不时设定涉及交易的相关事项包括但不限于交易限额交易次数等您了解前述设定可能会对交易造成一定不便对此没有异议如果平台发现了因系统故障或其他任何原因导致的处理错误无论有利于平台还是有利于您平台都有权纠正该错误您应根据平台向您发出的有关纠正错误的通知的具体要求返还多收的款项或进行其他操作您理解并同意您因前述处理错误而多付或少付的款项均不计利息平台不承担因前述处理错误而导致的任何损失或责任
服务变更中断或终止
1.您理解加油平台需要定期或不定期地对提供服务的相关设备或网络进行检修或者维护如因此类情况而造成服务在合理时间内的中断平台无需为此承担任何责任但应尽可能事先进行通告
2.无论本协议是否有其他约定若发生下列任何一种情形平台有权随时中断或终止向您提供本协议项下的服务而无需对您或任何第三方承担任何责任或义务且如果给平台带来损失平台将保留对您起诉的权利
(1)您提供的个人资料不真实
(2)您违反本协议中约定的使用规则及不时的更新平台不时发布及更新的相关操作规则及要求
(3)您恶意操作诋毁损害平台声誉
(4)利用平台服务有从事违反国家法律法规的行为
(5)(4)的情况下如有关政府主管部门要求平台配合相关调查采取相关监管处罚措施平台将全力配合因此给您带来的操作不能操作不便等平台不承担任何责任
用户行为规范与责任承担
1.您应在遵守本协议法律法规及其他规范性文件的前提下访问和使用平台服务您同意您不会进行或利用平台服务进行下列活动(也不为他人进行下列活动提供便利和支持):
(1)通过不正当手段或以违反诚实信用原则的方式(如利用规则漏洞利用系统漏洞滥用会员身份黑色产业投机等违背平台服务的初衷的方式)获取使用平台服务
(2)从事侵犯平台或他人合法权益的活动或违法犯罪活动包括为上述活动提供帮助
(3)未经平台及他人(如涉及)事先明确书面许可自行或委托他人以任何方式(包括但不限于机器人软件蜘蛛软件爬虫软件等任何自动程序脚本软件)获取平台的服务内容数据(包括但不限于业务数据和用户的个人信息);
(4)规避移除更改阻碍破坏或以其他方式扰乱平台用于保护平台服务的安全措施
(5)未经平台明确授权采用收费或免费的方式在任何公开场合全部或部分展示平台服务/或平台服务内容(但如您的上述行为不构成侵权的除外);
(6)通过侵犯第三人合法权益作弊扰乱系统实施网络攻击恶意套现刷信誉批量注册用机器注册平台账户用机器模拟客户端等手段进行交易或参加平台或其所授权的第三方发布的任何活动
(7)其他未经平台明示授权许可或违反本协议法律法规或监管政策侵犯平台及/或他人合法权益的行为
2.如您在使用平台服务过程中涉及上述行为中的一项或多项则需要对自己的行为承担法律责任承担法律责任的形式包括但不限于对受到侵害者进行赔偿以及在平台首先承担了因您的行为导致的行政处罚或侵权损害赔偿责任等损失(含诉讼费律师费等相关法律程序费用)您应立即给予平台等额的赔偿此外根据具体违法违规情形平台有权作出独立判断立即暂停或终止对您提供部分或全部服务包括锁定注销删除帐号等措施
3.您知悉并理解如果平台发现您的上述违法违规行为依据相关法律法规的规定平台有权或有义务立即停止相关服务删除或屏蔽相关违规信息服务评价并视情况进行调查取证保存有关记录或向国家有关机关举报同时平台有权自主删除屏蔽含有该内容的任何数据信息平台将根据国家相关法律法规要求对依法删除屏蔽的数据信息予以记录保存
4.除非在特定服务条款或规则中您与平台另有约定或平台另行予以书面同意您将确保本服务协议下的服务仅为您个人非商业性质的使用未经平台书面同意您不得使用未经平台授权的任何插件外挂或第三方工具对本服务协议下的服务进行干扰破坏修改或施加其他影响
知识产权
1.平台提供的服务中包含的任何文本图片图形音频和/或视频资料均受版权商标和/或其它财产所有权法律的保护未经相关权利人同意上述资料均不得用于任何商业目的
2.平台为提供服务而使用的任何软件(包括但不限于软件中所含的任何图像照片动画录像录音音乐文字和附加程序随附的帮助材料)的一切权利均属于该软件的著作权人未经该软件的著作权人许可您不得对该软件进行反向工程(reverseengineer)反向编译(decompile)或反汇编(disassemble)
<text style="color: black; font-weight: 600;">隐私保护
1.保护您隐私是平台的一项基本政策平台保证不对外公开或向第三方提供单个您的注册资料及您在使用网络服务时存储在加油平台的非公开内容但下列情况除外
(1)事先获得您的明确授权
(2)根据有关的法律法规要求
(3)按照相关政府主管部门的要求
(4)为维护社会公众的利益
(5)为维护加油平台的合法权益</text>
责任限制
1.本协议中的任何内容均不影响您作为用户始终有权享有的不能以协议约定方式同意改变或放弃的任何法定权利本协议及本协议中包含的所有免责和责任限制条款仅适用于法律法规允许的最大限度内
2.您知悉并同意除本协议另有约定或法律法规另有规定外平台服务乃按"现状"提供平台不对提供的服务(含技术和信息)作出任何明示或暗示的承诺或保证包括但不限于质量稳定正确及时完整连贯安全但平台承诺将不断提升服务质量及服务水平为用户提供更加优质的服务
3.除法律法规另有规定外不论是否预见便利加油仅对平台提供的服务承担法律允许的最大范围的责任因服务导致的任何间接附带衍生或惩罚性的损失和/或损害及利润损失商业信誉业务机会数据或其他有形或无形损失平台不承担任何责任便利加油亦不对任何第三方的诽谤犯罪或其他非法行为承担责任亦不赔偿因此造成的您的任何损失
4.平台仅承担本协议明确约定的直接责任除法律法规另有规定或本协议另有约定在任何情况下平台对本协议所承担的赔偿责任总额不超过平台因向您提供服务而收取的服务费总额
通知和联系方式
1.本协议项下平台对于用户所有的通知均可通过网页公告站内信电子邮件手机短信或常规的信件传送等方式进行该等通知于发送之日视为已送达您
2.如您对本协议或使用平台服务相关的事宜有任何问题(包括问题咨询投诉等),平台专门为您提供了多种反馈通道希望为您提供满意的解决方案
(1)在线客服/其他在线意见反馈通道您可与平台上产品功能页面的在线客服联系或者在线提交意见反馈
(2)人工客服通道您可以拨打平台的客服电话与平台联系
平台会在收到您的反馈后尽快向您答复
十一其他条款
1.本协议适用中华人民共和国法律因本协议引起的或与本协议有关的任何争议各方应友好协商解决协商不成的任何一方均可将有关争议提交至被告所在地有管辖权法院管辖
2.如果本协议中的任何条款无论因何种原因完全或部分无效或不具有执行力或违反任何适用的法律则该条款被视为无效但本协议的其余条款仍应有效并且有约束力
3.平台在法律允许最大范围对本协议拥有解释权与修改权
</view>
<view>
加油平台用户服务协议(以下简称本协议)是您与平台之间就注册加油平台用户账号及使用加油平台的各项服务等相关事宜所订立的协议<text
style="color: black; font-weight: 600;">为使用加油平台的服务您应当仔细阅读并遵守本服务协议下的全部内容特别是涉及免除或者责任限制的条款该类条款可能以黑体加粗或加下划线的形式提示您重点注意</text>除非您已阅读并接受本服务协议所有条款否则您将不能注册平台账号或使用平台的服务如您不同意本服务条款的任意内容请勿注册或使用平台的服务并应立即停止注册程序如您对本服务协议的内容(特别是涉及免除或者责任限制的条款)有任何疑义可随时按照本服务协议中列明的联系方式与平台联系加油平台将根据您的要求为您进一步解释和说明相关内容<text
style="color: black; font-weight: 600;">如您点击我已知晓或我已同意加油平台用户服务协议"并通过注册程序或其他任何方式使用或接受加油平台的任何服务即视为您已阅读并同意本服务协议自愿接受本服务协议的所有内容的约束请您在决定注册或使用服务前再次确认您已知悉并完全理解本服务协议的所有内容</text>
协议的主体与范围
1.本协议主体
加油平台签约主体视您所使用的具体服务而定本协议项下加油平台是指加油平台旗下运营或提供您所使用的相关具体服务的相关主体的统称您可在相关服务的具体服务条款或说明文件中查看上述主体的名称和信息用户是指使用加油平台相关服务的使用人在本协议中更多称呼为"您"
2.本协议范围
(1)加油平台用户服务协议文本
<text
style="color: black; font-weight: 600;">(2)加油平台隐私政策,您在注册加油平台账号前应仔细阅读加油平台隐私政策;</text>
(3)具体服务的服务条款活动规则您可在相关具体服务的网站页面或应用程序中查阅此类专门服务条款活动规则
(4)
专项商品或服务规则您应根据自身需要通过加油平台进行跳转等方式自愿选择接受独立第三方服务商及部分关联第三方服务商所提供的服务您将在使用该等第三方服务前对相应的用户授权协议予以同意确认以作为您和加油平台平台之间就该等第三方服务的使用所涉及的相关事项的权利义务依据
您理解并同意上述协议内容之间如存在不一致之处以时间上最新发布的内容为准发布时间相同的以本款协议内容中所包含的组成部分的序号倒序排列为准上述协议内容中所述的协议政策条款与规则构成本服务协议不可分割的组成部分共同适用于您所使用的加油平台服务
3.您理解并同意根据国家法律法规变化运营需要或为提升服务质量的目的加油平台将在必要的时候对上述各项协议条款与规则不时地进行修改更新并通过在网页或移动客户端上发出公告站内信等合理醒目的方式向您进行提前通知上述修改更新内容将在相关更新说明中指定的日期开始实施您应当及时查阅并了解相关更新修改内容如您不同意相关更新修改内容可停止使用相关更新修改内容所涉及的服务此情形下变更事项对您不产生效力如您在上述更新修改内容实施后继续使用所涉及的服务将视为您已同意各项更新修改内容
4.本协议适用于网页端移动客户端(包括IOS安卓及已有或未来将新增的任何其他移动客户端)等各类平台或媒介中加油平台所提供的各项服务您知悉并理解为享受上述相关服务您必须自行提供相关上网设备(个人电脑手机平板电脑或其他设备)并自行负担相关网络使用和商品服务支付所产生的有关费用
账号的注册与使用
1.账号的注册
(1)您知悉并承诺您必须为符合中华人民共和国法律规定的具有完全民事权利和民事行为能力能够独立承担民事责任的自然人法人及其他组织若您不具备前述主体资格加油平台有权注销(永久冻结)您的注册账号相关法律责任由您及您的监护人自行承担
(2)您应遵循诚实信用合法善意的原则向平台提交相关注册资料相关注册资料应当遵守法律法规社会主义制度国家利益公民合法权益公序良俗信息真实等原则不应提交任何违法或不良信息相关资料如有变动您应及时更新如果因您所提供的注册资料不合法不真实不准确或未及时更新从而导致相关法律责任或不利后果的您将承担相应的法律责任及不利后果
(3)因国家法律法规监管要求及特定门类的服务(如金融服务等)需要您有可能需要在注册或使用该等服务的特定环节中填写真实的身份信息并需通过相关验证流程后方可使用服务如您填写的身份信息不完整不真实或未通过验证将导致您无法使用该服务损害自身他人利益或造成其他不利后果该等后果将由您予以承担
2.账号的使用
(1)您应对您账号项下的所有行为(包括但不限于在线签署任何协议浏览购买支付点评)所产生的一切后果负责通过您的账号所发生的上述各项行为将视为您本人的真实意思表示
(2)为保证相关账号安全未经平台的书面同意您不应将平台上所注册的账号借给他人使用否则您应当承担由此产生的全部责任平台保留拒绝提供相应服务冻结或收回注册账号或终止本服务协议的权利并可要求您对平台所承受的损失予以赔偿
(3)您可以使用注册账号时填写登记的并获得系统审核通过的账号密码登录加油平台为了您的使用便利平台将适时提供指纹识别人脸识别等更为安全便捷的登录方式平台可根据相关法律法规监管要求用户体验风险控制等因素对登录方式予以适时调整或增减或在具体业务门类的用户服务条款等规定中予以进一步细化或调整
(4)鉴于网络服务的特殊性加油平台无义务审核是否是您本人使用用户名及密码平台仅审核用户名及密码是否与数据库中保存的一致任何人只要输入的用户名及密码与数据库中保存的一致即可凭借该组用户名及密码登录并获得平台所提供的各类服务所以即使账户登录行为并非您本人所为加油平台将不承担因此而产生的任何责任
3.账号的保管和找回
(1)您应自行负责并妥善正确地保管使用维护您的加油平台账号和密码并对您的账号和密码采取必要和有效的保密措施非因平台法定过错导致的任何遗失泄露被篡改被盗以及其他因保管使用维护不当而造成的损失您应自行承担
(2)因您个人原因导致的账号信息遗失如需找回本账号信息请按照本账号找回流程提供相应的信息并确保提供的信息合法真实有效若提供的信息不符合要求无法通过加油平台安全验证平台有权拒绝提供账号找回服务
(3)如您发现任何人不当使用您的账号或有任何其它可能危及您账号安全的情形时您应当立即以有效方式通知加油平台以便平台暂停相关服务您理解平台对您的请求采取行动需要合理时间平台对在采取行动前已经产生的后果(包括但不限于您的任何损失)以及采取行动后非可归责于加油平台的后果不承担任何责任
(4)您不得恶意注册加油平台账号请勿赠与借用租用有偿或无偿转让或售卖本账号或者以其他方式许可非初始申请注册人使用本账号平台有权对上述行为进行独立判断并处理您应当自行承担由此产生的一切责任同时平台保留追究上述行为人法律责任的权利且由此产生的一切责任均由您承担
(5)若您有以下行为之一加油平台有权暂时中止或永久终止您对账号的使用或收回您的加油平台账号中断或终止向您继续提供加油平台的产品及/或服务且无需承担任何责任
1)根据您的主动申请
2)您违反本协议的内容的
3)根据加油平台必须遵守的法律法规监管政策
4)加油平台有理由认为您的使用行为对加油平台及/或他人的合法权益造成(或可能造成)侵害的
5)您的账号连续180天未进行使用的
4.账户注销
您可以联系我们申请注销账号您注销账号后我们将停止为您提供服务并依据您的要求除法律法规另有规定外删除您的个人信息或对其进行匿名化处理您无法再使用本账号也将无法找回您加油平台账号中及与账号相关的任何内容或信息
加油平台服务内容
1.加油平台完全按照其发布的服务条款和操作规则通过加油平台等在各种形态(包括未来技术发展出现的新的服务形态)向您提供各类服务包括但不限于在线加油服务优惠券包消费等具体服务内容收费规则等由平台根据实际情况提供请您在使用前仔细了解相关内容
2.广告与第三方链接
(1)您知悉并同意平台在提供服务的过程中在符合法律法规的前提下保留以各种方式投放商业性广告(包括广告链接)或其他任何类型的商业信息的权利(包括但不限于在平台的任何位置上投放广告)
(2)在符合法律法规的前提下平台有权自主决定广告投放的形式位置内容而不受任何第三方的干预
(3)您同意平台可以通过电子邮件电子短信或其他方式向您发送商品促销或其他相关商业信息同时平台会为您提供退订方式
(4)平台服务可能会提供与其他互联网网站或资源进行链接加油平台会依照法律规定对广告商履行相关义务但您知悉并同意这些广告商和广告内容非由加油平台控制您对广告信息应审慎判断其真实性可靠性您通过平台的产品与/或服务与广告商或广告主进行任何形式的行为或产生任何形式的纠纷由您自行负责与解决除法律法规规定由广告发布者承担的责任外平台不承担任何额外责任但根据需要会依法提供必要的协助
服务使用规则
服务使用的基本原则
1)您在使用加油平台的产品及/或服务的过程中应遵守法律法规及其他规范性文件包括但不限于中华人民共和国民法典中华人民共和国保守国家秘密法中华人民共和国著作权法中华人民共和国计算机信息系统安全保护条例计算机软件保护条例互联网电子公告服务管理规定中华人民共和国网络安全法信息网络传播权保护条例应遵守公共秩序尊重社会公德不得危害网络安全不得利用网络从事危害国家安全荣誉和利益煽动颠覆国家政权推翻社会主义制度煽动分裂国家破坏国家统一宣扬恐怖主义极端主义宣扬民族仇恨民族歧视传播暴力淫秽色情信息编造传播虚假信息扰乱经济秩序和社会秩序以及侵害他人名誉隐私知识产权和其他合法权益等活动在任何情况下平台一旦合理地认为您存在或可能存在上述行为的可以在任何时候不经事先通知中止或终止向您提供加油平台服务
2)平台服务将仅限于您在平台明确授权的其他平台上进行使用任何以破解转译转录等非法或未经加油平台明确允许的手段将平台服务与加油平台平台或其他平台授权的平台相分离的行为均不属于本协议中约定的平台服务平台保留追究侵权行为人的法律责任及索赔的权利
3)您知悉并同意平台仅提供相关的平台网络服务除此之外与相关服务有关的设备(如个人电脑手机及其他与接入互联网或移动网有关的装置)及所需的费用(如为接入互联网而支付的电话费及上网费为使用移动网而支付的手机费)均应由您自行负担您需理解并同意使用本服务时会耗用终端设备和带宽等资源
4)您确认您在平台上按照服务流程所确认的交易状态将成为平台为您进行相关交易或操作的不可撤销的指令您同意相关指令的执行时间以平台在系统中进行实际操作的时间为准您同意平台有权依据本协议及平台相关纠纷处理规则等约定对相关事项进行处理您未能及时对交易状态进行修改确认或未能提交相关申请所引起的任何纠纷或损失由您自行负责平台不承担任何责任
2.虚拟资产的使用规则
1)加油平台服务项下的虚拟资产包括但不限于助力金优惠券等您通过免费或付费方式在遵守一定使用规则前提下获得的
2)虚拟资产的定价获得途径方式数量使用方法有效期限等所有内容以平台公布实际展示说明为准
3)因平台的自身发展运营情况而自行决定停止虚拟资产等相关平台服务或者平台丧失运营资格的情况下以现金方式直接取得的虚拟资产可以依照平台的相关规则按照现金购买价格等价退款但通过推广营销活动等而非由现金方式直接获得的虚拟资产不予退还或补偿
4.付款与发票
1)您同意并认可加油平台平台现行公示或未来更新的有关服务价格标准您可以在加油平台平台上查看相关价格在您下订单时请您仔细确认所购服务的名称价格数量型号等信息
2)由于受市场变化及各种以合理商业努力难以控制因素的影响平台无法避免您提交的订单信息中出现缺货价格标示错误等情况如您的订单出现以上情况您有权取消订单服务/产品提供方亦有权自行取消订单若您已经付款则为您办理退款
3)您在平台可以使用您的第三方电子支付账户(包括但不限于微信支付账户或支付宝支付账户)进行支付处理您使用服务相关的付款时除了受到本协议的约束之外还要受电子支付服务商及信用卡/借记卡发卡行的条款和政策的约束平台对于电子支付服务商或银行发生的错误不承担责任
<text
style="color: red; font-weight: 600;">4)在您提出开具发票的要求时平台将为您开具发票具体发票开具及申请规则请参见平台所列示的开票说明请特别注意部分交易后的发票将由服务/产品提供方为您开具并已明示于相关交易界面请您在下单时予以注意并在交易成功后及时向服务/产品提供方索要发票
(若因需要开具发票时平台将为您开具发票但您需补足加油时的优惠差价补足差价后平台将为您开具发票具体发票开具及申请规则请参见加油平台平台所列示的开票说明请特别注意部分交易后的发票将由服务/产品提供方为您开具并已明示于相关交易界面请您在下单时予以注意)</text>
5)平台提供订单管理功能您可以随时通过手机应用端自助查询近6个月的订单情况针对平台在线加油服务您应在完成加油后再下单支付如您对加油订单有任何异议应当在下单后48小时内联系平台并配合平台提供该笔订单的相关信息(包括但不限于您的个人信息加油消费情况等)以便对您提出的异议进行核实和处理逾期反馈的可能会出现无法核实无法退单等情形届时由您自行承担相应不利后果
5.服务费收取规则
本协议服务费是指您使用加油平台时平台向您收取的合理服务费用具体规则如下
1)当您下单加油时您将按照当前订单享受的直降优惠平台优惠券两项合计优惠金额支付服务费平台发放的满减券折扣券及您通过淘宝店铺等三方渠道购买的优惠券在使用时均应支付服务费而会员红包商家优惠券助力金额外折扣金额不涉及服务费的支付
2)当每单笔订单合计优惠金额(直降优惠+平台优惠券+加油金)2元时将按照合计优惠金额的10%支付(保留小数点后两位)服务费服务费金额最高不超过5元
3)部分加油站服务费金额固定为1元您可在支付明细中进行查看
4)服务费策略将根据市场实际情况进行相关调整调整后将明示于交易页面平台始终秉承为用户节约加油消费的宗旨进行服务费策略的制定
5)若您对服务费金额存疑或不认可可选择放弃交易
6)服务费规则未尽事宜请咨询平台客服
6.加油平台有权基于交易安全等方面的考虑不时设定涉及交易的相关事项包括但不限于交易限额交易次数等您了解前述设定可能会对交易造成一定不便对此没有异议如果平台发现了因系统故障或其他任何原因导致的处理错误无论有利于平台还是有利于您平台都有权纠正该错误您应根据平台向您发出的有关纠正错误的通知的具体要求返还多收的款项或进行其他操作您理解并同意您因前述处理错误而多付或少付的款项均不计利息平台不承担因前述处理错误而导致的任何损失或责任
服务变更中断或终止
1.您理解加油平台需要定期或不定期地对提供服务的相关设备或网络进行检修或者维护如因此类情况而造成服务在合理时间内的中断平台无需为此承担任何责任但应尽可能事先进行通告
2.无论本协议是否有其他约定若发生下列任何一种情形平台有权随时中断或终止向您提供本协议项下的服务而无需对您或任何第三方承担任何责任或义务且如果给平台带来损失平台将保留对您起诉的权利
(1)您提供的个人资料不真实
(2)您违反本协议中约定的使用规则及不时的更新平台不时发布及更新的相关操作规则及要求
(3)您恶意操作诋毁损害平台声誉
(4)利用平台服务有从事违反国家法律法规的行为
(5)(4)的情况下如有关政府主管部门要求平台配合相关调查采取相关监管处罚措施平台将全力配合因此给您带来的操作不能操作不便等平台不承担任何责任
用户行为规范与责任承担
1.您应在遵守本协议法律法规及其他规范性文件的前提下访问和使用平台服务您同意您不会进行或利用平台服务进行下列活动(也不为他人进行下列活动提供便利和支持):
(1)通过不正当手段或以违反诚实信用原则的方式(如利用规则漏洞利用系统漏洞滥用会员身份黑色产业投机等违背平台服务的初衷的方式)获取使用平台服务
(2)从事侵犯平台或他人合法权益的活动或违法犯罪活动包括为上述活动提供帮助
(3)未经平台及他人(如涉及)事先明确书面许可自行或委托他人以任何方式(包括但不限于机器人软件蜘蛛软件爬虫软件等任何自动程序脚本软件)获取平台的服务内容数据(包括但不限于业务数据和用户的个人信息);
(4)规避移除更改阻碍破坏或以其他方式扰乱平台用于保护平台服务的安全措施
(5)未经平台明确授权采用收费或免费的方式在任何公开场合全部或部分展示平台服务/或平台服务内容(但如您的上述行为不构成侵权的除外);
(6)通过侵犯第三人合法权益作弊扰乱系统实施网络攻击恶意套现刷信誉批量注册用机器注册平台账户用机器模拟客户端等手段进行交易或参加平台或其所授权的第三方发布的任何活动
(7)其他未经平台明示授权许可或违反本协议法律法规或监管政策侵犯平台及/或他人合法权益的行为
2.如您在使用平台服务过程中涉及上述行为中的一项或多项则需要对自己的行为承担法律责任承担法律责任的形式包括但不限于对受到侵害者进行赔偿以及在平台首先承担了因您的行为导致的行政处罚或侵权损害赔偿责任等损失(含诉讼费律师费等相关法律程序费用)您应立即给予平台等额的赔偿此外根据具体违法违规情形平台有权作出独立判断立即暂停或终止对您提供部分或全部服务包括锁定注销删除帐号等措施
3.您知悉并理解如果平台发现您的上述违法违规行为依据相关法律法规的规定平台有权或有义务立即停止相关服务删除或屏蔽相关违规信息服务评价并视情况进行调查取证保存有关记录或向国家有关机关举报同时平台有权自主删除屏蔽含有该内容的任何数据信息平台将根据国家相关法律法规要求对依法删除屏蔽的数据信息予以记录保存
4.除非在特定服务条款或规则中您与平台另有约定或平台另行予以书面同意您将确保本服务协议下的服务仅为您个人非商业性质的使用未经平台书面同意您不得使用未经平台授权的任何插件外挂或第三方工具对本服务协议下的服务进行干扰破坏修改或施加其他影响
知识产权
1.平台提供的服务中包含的任何文本图片图形音频和/或视频资料均受版权商标和/或其它财产所有权法律的保护未经相关权利人同意上述资料均不得用于任何商业目的
2.平台为提供服务而使用的任何软件(包括但不限于软件中所含的任何图像照片动画录像录音音乐文字和附加程序随附的帮助材料)的一切权利均属于该软件的著作权人未经该软件的著作权人许可您不得对该软件进行反向工程(reverseengineer)反向编译(decompile)或反汇编(disassemble)
<text style="color: black; font-weight: 600;">隐私保护
1.保护您隐私是平台的一项基本政策平台保证不对外公开或向第三方提供单个您的注册资料及您在使用网络服务时存储在加油平台的非公开内容但下列情况除外
(1)事先获得您的明确授权
(2)根据有关的法律法规要求
(3)按照相关政府主管部门的要求
(4)为维护社会公众的利益
(5)为维护加油平台的合法权益</text>
责任限制
1.本协议中的任何内容均不影响您作为用户始终有权享有的不能以协议约定方式同意改变或放弃的任何法定权利本协议及本协议中包含的所有免责和责任限制条款仅适用于法律法规允许的最大限度内
2.您知悉并同意除本协议另有约定或法律法规另有规定外平台服务乃按"现状"提供平台不对提供的服务(含技术和信息)作出任何明示或暗示的承诺或保证包括但不限于质量稳定正确及时完整连贯安全但平台承诺将不断提升服务质量及服务水平为用户提供更加优质的服务
3.除法律法规另有规定外不论是否预见便利加油仅对平台提供的服务承担法律允许的最大范围的责任因服务导致的任何间接附带衍生或惩罚性的损失和/或损害及利润损失商业信誉业务机会数据或其他有形或无形损失平台不承担任何责任便利加油亦不对任何第三方的诽谤犯罪或其他非法行为承担责任亦不赔偿因此造成的您的任何损失
4.平台仅承担本协议明确约定的直接责任除法律法规另有规定或本协议另有约定在任何情况下平台对本协议所承担的赔偿责任总额不超过平台因向您提供服务而收取的服务费总额
通知和联系方式
1.本协议项下平台对于用户所有的通知均可通过网页公告站内信电子邮件手机短信或常规的信件传送等方式进行该等通知于发送之日视为已送达您
2.如您对本协议或使用平台服务相关的事宜有任何问题(包括问题咨询投诉等),平台专门为您提供了多种反馈通道希望为您提供满意的解决方案
(1)在线客服/其他在线意见反馈通道您可与平台上产品功能页面的在线客服联系或者在线提交意见反馈
(2)人工客服通道您可以拨打平台的客服电话与平台联系
平台会在收到您的反馈后尽快向您答复
十一其他条款
1.本协议适用中华人民共和国法律因本协议引起的或与本协议有关的任何争议各方应友好协商解决协商不成的任何一方均可将有关争议提交至被告所在地有管辖权法院管辖
2.如果本协议中的任何条款无论因何种原因完全或部分无效或不具有执行力或违反任何适用的法律则该条款被视为无效但本协议的其余条款仍应有效并且有约束力
3.平台在法律允许最大范围对本协议拥有解释权与修改权
</view>
</view>
<view class="button-group">
<view @tap="back">取消</view>
@ -387,74 +375,12 @@
}
</script>
<style lang="scss">
page {
padding-top: 26rpx;
background: #F2F3F8;
}
.container {
margin: 0 auto;
padding-top: 234rpx;
width: 702rpx;
height: 384rpx;
border-radius: 10rpx;
background: url('./img/background.png') #fff center 70rpx/184rpx 128rpx no-repeat;
>view {
text-align: center;
&:nth-of-type(1) {
color: #333;
font-size: 30rpx;
}
&:nth-of-type(2) {
margin-top: 5rpx;
color: #999;
font-size: 26rpx;
}
}
}
.contact {
margin: 24rpx auto 0;
padding-left: 98rpx;
width: 702rpx;
height: 131rpx;
background: #fff;
border-radius: 10rpx;
&.day {
background: url('./img/day.png') #fff 32rpx center/46rpx 46rpx no-repeat;
}
&.night {
background: url('./img/night.png') #fff 32rpx center/46rpx 46rpx no-repeat;
}
>text {
line-height: 131rpx;
font-size: 28rpx;
&:nth-of-type(1) {
font-weight: 550;
color: #000;
}
&:nth-of-type(2) {
margin-left: 41rpx;
color: #999;
}
}
>img {
float: right;
margin-top: 48rpx;
margin-right: 22rpx;
width: 36rpx;
height: 36rpx;
}
<style>
.tip {
width: 100%;
text-align: center;
height: 80rpx;
color: red;
}
.notice {
@ -522,6 +448,9 @@
align-items: center;
}
. {
font-weight: 100;
}
.btn-box {
display: flex;

@ -8,30 +8,26 @@
</view>
</view>
<scroll-view scroll-x class=" nav text-center">
<view class="cu-item" v-for="(item,index) in channelList" v-if="index==activeCur"
:class="index==activeCur?'text-red cur':''" :key="item.channelId" @tap="tabSelect" :data-id="index"
:data-channel-code="item.channelCode">
<view class="cu-item" v-for="(item,index) in channelList" v-if="index==activeCur" :class="index==activeCur?'text-red cur':''" :key="item.channelId"
@tap="tabSelect" :data-id="index" :data-channel-code="item.channelCode">
<image class="site-icon margin-right-sm" :src="imgURL+'site-'+item.channelCode+'.png'" mode="widthFix">
</image>
{{item.channelCode|channelCodeFamt}}
<!-- 少了壳牌 -->
</view>
</view>
</scroll-view>
<radio-group class="block" @change="changePrice">
<view class="cu-list menu text-left">
<view class="cu-item" v-for="(itemx,index) in oilSitePriceDetailsVo" :key="index"
v-if="itemx.sitePrice>0">
<view class="cu-item" v-for="(itemx,index) in oilSitePriceDetailsVo" :key="index" v-if="itemx.sitePrice>0">
<label class="flex justify-between align-center flex-sub">
<radio class="round red" :class="radio=='radio' + index?'checked':''"
:checked=" radio ==index?true : false" :value="index"></radio>
<radio class="round red" :class="radio=='radio' + index?'checked':''" :checked= " radio ==index?true : false" :value="index"></radio>
<text class="cu-tag my-tag line-red text-lg">
</text>
<text class="text-bold text-black text-lg">{{itemx.oilProductCode}}</text>
<text class="text-bold text-red text-lg">{{itemx.sitePrice!=0?itemx.sitePrice:'-.--'}}/L</text>
<text class="text-delete">{{itemx.oilSitePrice}}/L</text>
<text
class="text-sm">预计每100L节省{{(100*(itemx.oilSitePrice - itemx.sitePrice))|moneyFormat}}</text>
<text class="text-sm">预计每100L节省{{(100*(itemx.oilSitePrice - itemx.sitePrice))|moneyFormat}}</text>
</label>
</view>
</view>
@ -43,17 +39,14 @@
<view class="padding-top-sm">
<view class="grid col-5 ">
<view v-for="(item,index) in checkBar" class="padding-xs" :key="index">
<button class="cu-btn red block" :class="item.checked?'bg-red':'line-red'" @tap="ChooseBar"
:data-value="item.value">
<button class="cu-btn red block" :class="item.checked?'bg-red':'line-red'" @tap="ChooseBar" :data-value="item.value">
{{item.name}}
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'"
v-if="item.hot">HOT</view>
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'" v-if="item.hot">HOT</view>
</button>
</view>
<view class="padding-xs" style="width:40% ;" v-if="activeChannelCode!='TY'">
<input type="number" @input="onInputBar" v-model="inputBar" class="cu-btn red block"
placeholder="其他油枪" value="" />
<input type="number" @input="onInputBar" v-model="inputBar" class="cu-btn red block" placeholder="其他油枪" value="" />
</view>
</view>
</view>
@ -80,7 +73,7 @@
<!-- @tap="showJober='show'" -->
<!-- 请选择加油员 -->
<view class="cu-form-group ">
<view class="">
<view class="">
<view class="site-icon-sm">
<image :src="imgURL+'site-jober.png'" mode="widthFix" width="100upx"></image>
</view>
@ -96,32 +89,28 @@
</form>
</view>
<!-- 非团油加油输入框 -->
<view class="margin solid radius" v-if="activeChannelCode!='TY'&&radio!==null">
<view class="margin solid radius" v-if="activeChannelCode!='TY'&&radio!==null">
<view class=" menu cu-list ">
<view class="cu-item nowrap">
<view class="text-bold ">
油机金额
</view>
<view class="text-center" style="width: 60%;margin: 0 2%;">
<input v-model="vol" @input='checkNumber' @blur="getMoneyVol" type="digit" class="block"
placeholder="请输入油机金额" value="" style="border-bottom: 1px solid #efefef;" />
<input v-model="vol" @input='checkNumber' @blur="getMoneyVol" type="digit" class="block" placeholder="请输入油机金额" value=""style="border-bottom: 1px solid #efefef;" />
</view>
<view class="">
<text class=" padding-right-sm">
{{vlom?vlom :'' | moneyVolm}}L
{{vlom?vlom :'' | moneyVolm}}L
</text>
</view>
</view>
<view class="grid col-5 padding-sm">
<view v-for="(item,index) in checkMoney" class="padding-xs" :key="index">
<button class="cu-btn red block" style=" padding: 0;"
:class="item.checked?'bg-red':'line-red'" @tap="ChooseCheckMoney(item.value)"
:data-value="item.value">
{{item.name}}&yen;
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'"
v-if="item.hot">HOT</view>
</button>
<button class="cu-btn red block" style=" padding: 0;" :class="item.checked?'bg-red':'line-red'" @tap="ChooseCheckMoney(item.value)" :data-value="item.value">
{{item.name}}&yen;
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'" v-if="item.hot">HOT</view>
</button>
</view>
</view>
</view>
@ -135,8 +124,7 @@
加油金额
</view>
<view class="text-center">
<input v-model="ty.realMoney" @input="onInputTyMoney" type="digit" class="block"
placeholder="加油金额" value="" />
<input v-model="ty.realMoney" @input="onInputTyMoney" type="digit" class="block" placeholder="加油金额" value="" />
</view>
<view class="">
<text class="text-bold padding-right-sm">
@ -147,11 +135,9 @@
</view>
<view class="grid col-5 padding-sm">
<view v-for="(item,index) in checkVol" class="padding-xs" :key="index">
<button class="cu-btn red block" :class="item.checked?'bg-red':'line-red'"
@tap="ChooseCheckVol" :data-value="item.value">
<button class="cu-btn red block" :class="item.checked?'bg-red':'line-red'" @tap="ChooseCheckVol" :data-value="item.value">
{{item.name}}
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'"
v-if="item.hot">HOT</view>
<view class="cu-tag sm round" :class="item.checked?'bg-white text-red':'bg-red'" v-if="item.hot">HOT</view>
</button>
</view>
@ -169,12 +155,12 @@
<view class="padding-top-sm" v-else>
直降金额
<text class="fr">-{{tyRes.depreciateAmount>0?tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
</view>
<view class="padding-top-sm">
优惠券 <text class="fr">{{'----'}}</text>
</view>
</view>
<view class="placeholder-hidden">
<view class="placeholder-hidden">
<view class="margin cu-list pay-bar menu radius solid-top solid-bottom solid-left">
<view class="cu-item ">
<view class="">
@ -195,10 +181,8 @@
<view class="margin cu-list pay-bar menu radius solid-top solid-bottom solid-left">
<view class="cu-item ">
<view class="">
合计<text class="text-red fr"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red fr"
v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
合计<text class="text-red fr" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red fr" v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
<view class="" @tap="showOrderMsg">
明细<text class="cuIcon-unfold padding-left-xs"></text>
@ -254,8 +238,7 @@
</view>
<view class="padding-tb-xs text-left">
直降金额
<text
class="text-red fr">{{tyRes.depreciateAmount>0?tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
<text class="text-red fr">{{tyRes.depreciateAmount>0?tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
</view>
<view class="padding-tb-xs text-left">
@ -264,8 +247,7 @@
</view>
<view class="padding-tb-xs text-left">
合计
<text class="text-red fr"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red fr" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red fr" v-else>{{ty.realMoney>0?ty.realMoney:'xxx.x'|moneyFormat}}</text>
</view>
</view>
@ -273,10 +255,8 @@
<view class="cu-list margin pay-bar menu radius solid-top solid-bottom solid-left">
<view class="cu-item ">
<view class="">
合计<text class="text-red"
v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red"
v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
合计<text class="text-red" v-if="activeChannelCode!='TY'">{{realMoney>0?realMoney:'xxx.x'|moneyFormat}}</text>
<text class="text-red" v-else>{{ty.realMoney>0?ty.realMoney-tyRes.depreciateAmount:'xxx.x'|moneyFormat}}</text>
</view>
<view class="" @tap="showOrder=''">
明细<text class="cuIcon-fold padding-left-xs"></text>
@ -305,8 +285,8 @@
</view>
<input type="text" value="" placeholder="请选择或输入车牌号" v-model="plateNumber" />
</view>
<picker-view :indicator-style="indicatorStyle" v-if="plateNumbers.length" :value="plateIndex"
@change="pickPlate" class="picker-view">
<picker-view :indicator-style="indicatorStyle" v-if="plateNumbers.length" :value="plateIndex" @change="pickPlate"
class="picker-view">
<picker-view-column>
<view class="item" v-for="(item,index) in plateNumbers" :key="index">{{item}}</view>
</picker-view-column>
@ -323,10 +303,10 @@
<view class="">
<image src="../../../static/img/errIcon.png" mode="" style="width:100rpx;height: 100rpx;"></image>
</view>
<view class="cu-bar box-panding text-centerS">
<text class="headShow">支付提醒</text>
<view class="cu-bar box-panding text-centerS" >
<text class="headShow">支付提醒</text>
</view>
<view class="cu-bar box-panding">
<view class="cu-bar box-panding" >
<text class="showtext">当前油站距离您较远请与加油员确认您选择的油站是否正确</text>
</view>
<view class="checklocation_box_button">
@ -352,7 +332,7 @@
type: Array,
default () {}
},
channelJuli: {
channelJuli:{
type: Number,
default: ''
},
@ -367,11 +347,11 @@
},
data() {
return {
timer: null,
discount: '',
activeSitePrice: '',
showtitles: "",
showtitle: false,
timer:null,
discount:'',
activeSitePrice:'',
showtitles:"",
showtitle:false,
oilBarTy: '',
ty: {
realMoney: ""
@ -426,7 +406,7 @@
hot: false,
}],
plateNumber: '',
checkMoney: [{
checkMoney:[{
value: 100,
name: '100 ',
checked: false,
@ -455,7 +435,7 @@
checkbox: [{
value: 1,
name: '1',
checked: true,
checked: false,
hot: false,
}, {
value: 2,
@ -495,46 +475,45 @@
}],
activeChannelCode: '',
checkBar: [],
realMoney: '',
xoilAmountGun: '',
vlom: ''
realMoney:'',
xoilAmountGun:'',
vlom:''
}
},
created() {
let oilItem = uni.getStorageSync('oilItem')
this.showtitles = oilItem.listTag
this.showtitles = oilItem.listTag
},
watch: {
activeChannelCode: {
handler(newval) {
this.oilBar = ''
setTimeout(() => {
this.oilBar = 1
this.checkBar = this.calcBar()
}, 0)
}, 2)
}
},
priceId: {
handler(newval) {
// this.oilBar = ''
// setTimeout(() => {
// this.checkBar = this.calcBar()
// }, 2)
this.oilBar = ''
setTimeout(() => {
this.checkBar = this.calcBar()
}, 2)
}
},
radio: {
handler(n, o) {
// console.log(n,o,'handler');
// this.checkBar.forEach(item=>{
// item.checked = false
// });
// this.oilBar = ''
radio:{
handler(n,o) {
console.log(n,o,'handler');
this.checkBar.forEach(item=>{
item.checked = false
});
this.oilBar = ''
}
}
},
computed: {
priceId() {
if (this.channelList.length && this.channelList[this.activeCur] && this.oilSitePriceDetailsVo[this
.radio]) {
if (this.channelList.length && this.channelList[this.activeCur] && this.oilSitePriceDetailsVo[this.radio]) {
return this.oilSitePriceDetailsVo[this.radio].priceId
}
},
@ -548,7 +527,7 @@
},
plateNumberSel() {
if (this.plateNumbers.length) {
return this.plateNumbers[this.plateIndex] ? this.plateNumbers[this.plateIndex] : '非必填'
return this.plateNumbers[this.plateIndex]?this.plateNumbers[this.plateIndex]:'非必填'
}
},
jober() {
@ -579,94 +558,94 @@
}
}
},
methods: {
checkNumber(e) {
checkNumber(e){
e.detail.value = e.detail.value.match(/^\d*(\.?\d{0,2})/g)[0] || null;
this.$nextTick(() => {
this.$nextTick(()=>{
this.vol = e.detail.value
})
},
checkMoneyVol(e) {
checkMoneyVol(e){
console.log(e)
if (e == '') {
if(e == ''){
uni.showToast({
title: '请输入金额',
icon: 'none'
title:'请输入金额',
icon:'none'
})
return
}
let isNumber = this.isNumber(e)
if (!isNumber) {
uni.showToast({
title: '请输入正确金额',
icon: 'none'
})
return
if(!isNumber){
uni.showToast({
title:'请输入正确金额',
icon:'none'
})
return
}
let number = {
payType: 'CUSTOMER_ACTIVE',
userType: '0',
xoilAmountGun: e,
priceId: this.activeSitePrice
}
this.xoilAmountGun = e
oilSiteApi.getOrderDiscountInfo(number).then(res => {
payType : 'CUSTOMER_ACTIVE',
userType:'0',
xoilAmountGun:e ,
priceId:this.activeSitePrice
}
this.xoilAmountGun = e
oilSiteApi.getOrderDiscountInfo(number).then( res=>{
console.log(res)
this.realMoney = res.data.payRealAmount
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
})
},
ChooseCheckMoney(e) {
ChooseCheckMoney(e){
console.log(e)
this.vol = e + ''
this.checkMoneyVol(this.vol)
this.vol = e+''
this.checkMoneyVol(this.vol )
},
isNumber(value) { //
isNumber(value){ //
const regPos = /^\d+(\.\d+)?$/; //
const regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //
if (value.indexOf('-') != -1) {
if(value.indexOf('-') != -1){
return false
}
if (regPos.test(value) || regNeg.test(value)) {
if( regPos.test(value) || regNeg.test(value)){
return true
} else {
}else{
return false
}
},
getMoneyVol(e) {
console.log(e)
if (e.detail.value == '') {
getMoneyVol(e){
console.log(e)
if(e.detail.value == ''){
uni.showToast({
title: '请输入金额',
icon: 'none'
title:'请输入金额',
icon:'none'
})
return
}
let isNumber = this.isNumber(e.detail.value)
if (!isNumber) {
uni.showToast({
title: '请输入正确金额',
icon: 'none'
})
return
if(!isNumber){
uni.showToast({
title:'请输入正确金额',
icon:'none'
})
return
}
let number = {
payType: 'CUSTOMER_ACTIVE',
userType: '0',
xoilAmountGun: e.detail.value,
priceId: this.activeSitePrice
}
payType : 'CUSTOMER_ACTIVE',
userType:'0',
xoilAmountGun:e.detail.value,
priceId:this.activeSitePrice
}
this.xoilAmountGun = e.detail.value
oilSiteApi.getOrderDiscountInfo(number).then(res => {
oilSiteApi.getOrderDiscountInfo(number).then( res=>{
console.log(res)
this.realMoney = res.data.payRealAmount
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
this.discount = res.data.oilDiscountAmount
this.vlom = res.data.volume
})
},
checkInfo() {
checkInfo(){
console.log(this.radio)
this.tsetPlate(this.plateNumber ? this.plateNumber : this.plateNumberSel)
// if (!this.testPlateResult) {
@ -677,7 +656,7 @@
// })
// // return false
// }
if (this.radio == null || !this.oilSitePriceDetailsVo[this.radio].priceId) {
if (this.radio==null||!this.oilSitePriceDetailsVo[this.radio].priceId) {
uni.showToast({
icon: 'none',
title: '请选择油品'
@ -712,7 +691,7 @@
})
return false
}
if (this.vol < 0.01 && !this.tyRes.liter) {
if (this.vol < 0.01&& !this.tyRes.liter) {
uni.showToast({
icon: 'none',
title: '加油金额不能为空'
@ -726,18 +705,18 @@
})
return false
}
this.makerOrder()
},
gotoPay() {
gotoPay(){
this.checkInfo()
},
hidendialog() {
this.showtitle = false
hidendialog(){
this.showtitle =false
},
backTohome() {
backTohome(){
uni.switchTab({
url: '../../../pages/tabbar/home/home'
url:'../../../pages/tabbar/home/home'
})
},
calcBar() {
@ -826,7 +805,7 @@
}
},
beforeMake() {
console.log(this.radio, 'beforeMake')
console.log(this.radio,'beforeMake')
this.tsetPlate(this.plateNumber ? this.plateNumber : this.plateNumberSel)
// if (!this.testPlateResult) {
// this.plateNumber=''
@ -836,7 +815,7 @@
// })
// // return false
// }
if (this.radio == null || !this.oilSitePriceDetailsVo[this.radio].priceId) {
if (this.radio==null||!this.oilSitePriceDetailsVo[this.radio].priceId) {
uni.showToast({
icon: 'none',
title: '请选择油品'
@ -871,7 +850,7 @@
})
return false
}
if (this.vol < 0.01 && !this.tyRes.liter) {
if (this.vol < 0.01&& !this.tyRes.liter) {
uni.showToast({
icon: 'none',
title: '加油金额不能为空'
@ -885,10 +864,10 @@
})
return false
}
if (this.channelJuli > 1000) {
if(this.channelJuli>1000){
this.showtitle = true
return
}
}
this.makerOrder()
},
//
@ -896,46 +875,41 @@
// // console.log('',
// this.plateNumber, this.jober,
// )
if (!this.timer) {
this.timer = setTimeout(() => {
let orderData = {
'clientBelong': 'BAICHUAN',
"amountGun": this.activeChannelCode == 'TY' ? this.ty.realMoney : '',
"shareCompanyQuota": 0, //
"priceId": this.oilSitePriceDetailsVo[this.radio]
.priceId, //String
"orderType": "REAL_ORDER", //String REAL_ORDER VIRTUAL_ORDER
"orderSource": "WECHAT_MINIAPPS", //String WECHAT_MINIAPPS
"plateNumber": this.plateNumber ? this.plateNumber : this
.plateNumberSel, //String
"siteUserName": this.jober, //String
"oilsBar": this.oilBar, //Number
"volume": this.activeChannelCode == 'TY' ? this.tyRes.liter : this
.vol, //Number
"realPrice": this.oilSitePriceDetailsVo[this.radio]
.sitePrice, //Number
"suppleMark": 0, //Number 0 1
"createSource": "XOIL_DRIVER_WECHAT_APPLET", //String XOIL_DRIVER_WECHAT_APPLET
// "deviceImei": "mock", //String
// "networkIp": "mock" //String ip,
'version': 1,
'xoilAmountGun': this.vol
}
oilOrderApi.createOrder(orderData).then(res => {
if (res.code == 20000) {
clearTimeout(this.timer)
uni.setStorageSync('orderMade', res.data)
uni.redirectTo({
url: '/BagStation/pages/makeOrder/orderPaying?payMethod=' + res
.data.payMethod
})
}
}).finally(msg => {
if(!this.timer){
this.timer = setTimeout(()=>{
let orderData = {
'clientBelong':'BAICHUAN',
"amountGun": this.activeChannelCode == 'TY' ? this.ty.realMoney : '',
"shareCompanyQuota": 0, //
"priceId": this.oilSitePriceDetailsVo[this.radio].priceId, //String
"orderType": "REAL_ORDER", //String REAL_ORDER VIRTUAL_ORDER
"orderSource": "WECHAT_MINIAPPS", //String WECHAT_MINIAPPS
"plateNumber": this.plateNumber ? this.plateNumber : this.plateNumberSel, //String
"siteUserName": this.jober, //String
"oilsBar": this.oilBar, //Number
"volume": this.activeChannelCode == 'TY' ? this.tyRes.liter : this.vol, //Number
"realPrice": this.oilSitePriceDetailsVo[this.radio].sitePrice, //Number
"suppleMark": 0, //Number 0 1
"createSource": "XOIL_DRIVER_WECHAT_APPLET", //String XOIL_DRIVER_WECHAT_APPLET
// "deviceImei": "mock", //String
// "networkIp": "mock" //String ip,
'version':1,
'xoilAmountGun':this.vol
}
oilOrderApi.createOrder(orderData).then(res => {
if (res.code == 20000) {
clearTimeout(this.timer)
})
}, 500)
}
uni.setStorageSync('orderMade', res.data)
uni.redirectTo({
url: '/BagStation/pages/makeOrder/orderPaying?payMethod='+res.data.payMethod
})
}
}).finally(msg=>{
clearTimeout(this.timer)
})
},500)
}
},
tsetPlate(plateNumber) {
this.testPlateResult =
@ -950,11 +924,11 @@
this.plateNumbers = res.data.plateNumbers
this.oilSitePriceDetailsVo = res.data.oilSitePriceDetailsVo;
this.siteUserNames = res.data.siteUserNames;
if (this.oilSitePriceDetailsVo.length == 1) {
if(this.oilSitePriceDetailsVo.length==1){
this.radio = 0
this.activeSitePrice = res.data.oilSitePriceDetailsVo[0].priceId
}
}
})
},
@ -995,16 +969,16 @@
},
changePrice(e) {
this.radio = e.detail.value
console.log(e, 'changePrice')
this.vol = ''
console.log(e,'changePrice')
this.vol =''
this.activeSitePrice = this.oilSitePriceDetailsVo[this.radio].priceId
this.realMoney = '--'
this.realMoney ='--'
this.xoilAmountGun = '';
Object.keys(this.tyRes).forEach(key => {
this.tyRes[key] = ''
Object.keys(this.tyRes).forEach(key=>{
this.tyRes[key]=''
})
Object.keys(this.ty).forEach(key => {
this.ty[key] = ''
Object.keys(this.ty).forEach(key=>{
this.ty[key]=''
})
this.vlom = ''
// // console.log(this.radio)
@ -1019,13 +993,13 @@
},
filters: {
moneyVolm(value) {
if (value != 'xxx.x') {
return Math.round(value * 100) / 100;
} else {
return value
}
if (value != 'xxx.x') {
return Math.round(value * 100) / 100;
} else {
return value
}
},
channelCodeFamt(value) {
if (value) {
@ -1044,9 +1018,9 @@
}
}
},
moneyFormats(value) {
moneyFormats(value){
if (value != 'xxx.x') {
return Math.round(value * 100) / 100
return Math.round(value * 100) / 100
} else {
return value
}
@ -1057,8 +1031,7 @@
} else {
return value
}
}
}
} }
}
</script>
@ -1092,69 +1065,61 @@
.picker-view {
min-height: 300upx;
}
.close-icon {
.close-icon{
position: absolute;
right: 2%;
top: 2%;
}
.dialog-box {
.dialog-box{
position: relative;
}
.site-icon {
width: 2rem;
vertical-align: middle;
}
.my-tag {
padding: 0 12rpx;
}
.pay-bar>>>.self-btn {
padding: 0 64rpx;
height: 94rpx !important;
}
.pay-bar>.cu-item {
padding-right: 0;
}
.site-icon-sm {
width: 50upx;
}
.nowrap {
white-space: nowrap;
}
.picker-view {
min-height: 300upx;
}
.text-centerS {
.text-centerS{
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.red_btn {
.red_btn{
color: #FFFFFF;
background-color: #fe0505;
}
.box-paddings {
padding: 40rpx 0;
.box-paddings{
padding:40rpx 0;
}
.headShow {
.headShow{
font-size: 36rpx;
font-weight: 600;
}
.showtext {
.showtext{
line-height: 2;
font-size: 30rpx;
margin-bottom: 30rpx;
@ -1163,15 +1128,13 @@
letter-spacing: 3px;
text-align: left;
}
.checklocation_box_button {
.checklocation_box_button{
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 5%;
}
.btn-box {
.btn-box{
width: 45%;
flex: 0 0 auto;
text-align: center;
@ -1181,8 +1144,7 @@
box-sizing: border-box;
border: 2rpx solid #bfbfbf;
}
.box-panding {
padding: 10 0;
.box-panding{
padding:10 0;
}
</style>

@ -4,10 +4,8 @@
<block slot="content">中石化紫云路</block>
<block slot="backText">返回</block>
</cu-custom> -->
<view class="bg-img fixed-top flex align-end margin-bottom-lg "
:style="'background-image: url('+imgURL+'site-bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix"
class="position-ab site-back">
<view class="bg-img fixed-top flex align-end margin-bottom-lg " :style="'background-image: url('+imgURL+'site-bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix" class="position-ab site-back">
</image>
<view class="flex-sub">
<view class="cu-list menu margin padding-sm radius my-shadow bg-white yu-card-xuan">
@ -30,10 +28,8 @@
</view>
</view>
</view>
<view class="bg-img placeholder-hidden flex align-end margin-bottom-lg "
:style="'background-image: url('+imgURL+'site-bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix"
class="position-ab site-back">
<view class="bg-img placeholder-hidden flex align-end margin-bottom-lg " :style="'background-image: url('+imgURL+'site-bg.png '+');width: 750upx;height: 326rpx;background-size:cover'">
<image @tap="goBack" :src="imgURL+'site-back.png'" width="20upx" mode="widthFix" class="position-ab site-back">
</image>
<view class="flex-sub">
<view class="cu-list menu margin padding-sm radius my-shadow bg-white yu-card-xuan">
@ -61,9 +57,8 @@
</view>
<!-- 价格 -->
<price-select-tab @onChangePayQr="onChangePayQr" @onChangePay="onChangePay" :active-cur="activeCur"
:site-name="siteInfo.siteName" :channel-list="siteInfo.oilSiteChannelDetailsVos"
:channelJuli="siteInfo.juli"></price-select-tab>
<price-select-tab @onChangePayQr="onChangePayQr" @onChangePay="onChangePay" :active-cur="activeCur" :site-name="siteInfo.siteName"
:channel-list="siteInfo.oilSiteChannelDetailsVos" :channelJuli="siteInfo.juli"></price-select-tab>
</view>
@ -78,7 +73,6 @@
},
data() {
return {
isBackPrev: true,
radio: 'B',
mainURL: this.global.mainURL,
imgURL: this.global.imgURL,
@ -87,7 +81,7 @@
siteInfo: {
},
activeCur: 0,
activeCur:0,
activePay: null,
qrcodePay: null,
@ -100,19 +94,6 @@
}
},
onLoad(option) {
if (option.q) {
try {
let originLink = decodeURIComponent(option.q)
let target = this.obtainUrlPathParameterTarget(originLink)
let authorization = uni.getStorageSync('Authorization')
if (authorization && target.siteId) {
//
this.isBackPrev = false
this.getSiteInfo(target.siteId)
}
} catch (e) {}
return
}
// console.log(option.siteId)
if (this.tempScanSite) {
this.siteInfo = this.tempScanSite
@ -122,26 +103,14 @@
}
},
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
},
siteQrPay() {
uni.navigateTo({
url: '/BagStation/pages/stationDetail/stieQr'
})
},
getSiteInfo(id) {
let location = uni.getStorageSync('location') || {}
let data2 = {
...location,
...uni.getStorageSync('location'),
siteId: id
}
oilSiteApi.getSiteDetails(data2).then(res => {
@ -171,10 +140,9 @@
},
goBack() {
this.isBackPrev ? uni.navigateBack() : uni.navigateBack({
url: '../../../pages/tabbar/home/home'
})
uni.navigateBack({
})
},
selectRadio() {
this.radio === 'A' ? this.radio = '' : this.radio = 'A'
@ -210,14 +178,15 @@
return value > 1000 ? ((value / 1000).toFixed(2) + 'km') : (value + 'm')
}
}
},
}
,
onHide() {
// console.log('hiden')
// this.innerAudioContext.stop()
console.log('这里是hiden')
this.innerAudioContext.stop()
},
onUnload() {
// console.log('')
// this.innerAudioContext.stop()
console.log('这里是卸载页面')
this.innerAudioContext.stop()
},
}
</script>

@ -183,7 +183,7 @@
},
data() {
return {
userIp: null,
userIp:null,
showtitles: "",
imgURL: this.global.imgURL,
order: uni.getStorageSync('orderMade'),
@ -223,13 +223,13 @@
onShow() {
this.datatime = this.timF(this.order.createTime);
const that = this
wx.request({
url: 'http://ip-api.com/json',
success: function(e) {
// console.log(e.data.query);
that.userIp = e.data.query
}
})
wx.request({
url: 'http://ip-api.com/json',
success:function(e){
console.log(e.data.query);
that.userIp = e.data.query
}
})
},
onReady() {
if (this.isCompany) {
@ -315,8 +315,8 @@
payCode: 'WECHAT_ORDER_PAY_WECHAT', //APPWECHAT_ORDER_PAY_APP
orderId: this.order.orderSerialNumber,
payClient: 'XOIL_DRIVER_WECHAT_APPLET', //"XOIL_DRIVER_ANDROID
userIp: (this.userIp ? this.userIp : "36.57.160.59"),
merchantNo: '10089145264'
userIp: (this.userIp?this.userIp:"36.57.160.59"),
merchantNo:'10089145264'
}
oilPayApi.aggregatePay(payData).then(res => {
@ -324,25 +324,50 @@
uni.requestPayment({
provider: 'wxpay',
...res.data.baseWxOrderVo,
success: (_res) => {
uni.showToast({
title: res.msg
})
oilPayApi.wxPayIntegral({
appId: 'wxc1d226ac9c5bea36',
orderId: this.order.orderSerialNumber
})
uni.redirectTo({
url: '/BagStation/pages/makeOrder/payResult?status=success&&payMethod=' +
this.payMethod
})
success: (res1) => {
console.log(res)
if (res.code == 20000) {
// this.getPayStatus(this.outTradeNo)
// this.getLastMoney()
// this.getCards()
// console.log('success:' + JSON.stringify(res));
uni.showToast({
title: res.msg
})
uni.redirectTo({
url: '/BagStation/pages/makeOrder/payResult?status=success&&payMethod=' +
this.payMethod,
fail: (err) => {
// console.log(err)
}
})
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
},
fail: function(err) {
console.log(res, err, '************')
// console.log('fail:' + JSON.stringify(err));
}
})
// uni.showToast({
// title: res.msg
// })
// uni.redirectTo({
// url: '/BagStation/pages/makeOrder/payResult?status=success',
// fail: (err) => {
// console.log(err)
// }
// })
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
// uni.redirectTo({
// url: '/BagStation/pages/makeOrder/payResult?status=fail'
// })
}
})
@ -414,7 +439,7 @@
},
filters: {
moneyFormath(value) {
// console.log(value)
console.log(value)
if (value != 'xxx.x') {
let number = value.toFixed(2)
return number

@ -178,35 +178,19 @@
this.innerAudioContext && this.innerAudioContext.stop()
},
onUnload() {
if (this.innerAudioContext) {
this.innerAudioContext.stop()
this.innerAudioContext.destroy()
}
this.innerAudioContext && this.innerAudioContext.stop()
},
onLoad(option) {
if (option.q) {
try {
let originLink = decodeURIComponent(option.q)
let target = this.obtainUrlPathParameterTarget(originLink)
let authorization = uni.getStorageSync('Authorization')
if (authorization && target.siteId) {
uni.showModal({
content: '该二维码非最新版,请提示油站工作人员更新',
success: res => {
if(res.confirm) {
this.siteId = target.siteId
this.gotoPay()
}
if(res.cancel) {
this.backTohome()
}
}
})
}
} catch (e) {}
return
}
if(option.q) {
let originLink = decodeURIComponent(option.q)
let target = this.obtainUrlPathParameterTarget(originLink)
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))
@ -252,7 +236,7 @@
});
},
backTohome() {
// this.innerAudioContext && this.innerAudioContext.stop()
this.innerAudioContext && this.innerAudioContext.stop()
uni.switchTab({
url: '../../../pages/tabbar/home/home'
})
@ -261,7 +245,7 @@
this.showtitle = false
},
gotoPay() {
// this.innerAudioContext && this.innerAudioContext.stop()
this.innerAudioContext && this.innerAudioContext.stop()
uni.navigateTo({
url: `/BagStation/pages/makeOrder/makeOrder?siteId=${this.siteId}&activeCur=${this.activeCur}`
})
@ -271,7 +255,7 @@
this.secondChannelCode = sec
},
siteQrPay() {
// this.innerAudioContext && this.innerAudioContext.stop()
this.innerAudioContext && this.innerAudioContext.stop()
// let siteId =
uni.navigateTo({
url: `/BagStation/pages/stationDetail/stieQr?siteId=${this.siteId}&activeChannelCode=${this.activeChannelCode}&secondChannelCode=${this.secondChannelCode}`
@ -322,7 +306,7 @@
if (this.siteInfo.juli > 1000) {
this.showtitle = true
} else {
// this.innerAudioContext && this.innerAudioContext.stop()
this.innerAudioContext && this.innerAudioContext.stop()
uni.navigateTo({
url: `/BagStation/pages/makeOrder/makeOrder?siteId=${this.siteId}&activeCur=${this.activeCur}`
})
@ -333,7 +317,7 @@
this.qrcodePay = val
},
onChangePay(val, active) {
// console.log(val)
console.log(val)
this.activePay = val
this.activeCur = active
},

@ -10,12 +10,4 @@ export default {
data: data
})
},
// 积分处理
wxPayIntegral(data) {
return request({
url: '/oil-pay/yiBaoPay/wxPayIntegral',
method: 'post',
data: data
})
},
}

@ -96,7 +96,7 @@
},
filters: {
channelCodeFamt(value) {
// console.log(value)
console.log(value)
if (!value) {
return '未知'
// ( XOIL WJY LV TY YDJY)

@ -120,6 +120,7 @@
},
created() {
console.log('%c 子组件参数↓','font-size:30px;color:red')
},
mounted() {
if(this.areaCodeList1.length == 0){

@ -61,12 +61,12 @@
}
// 广
let interstitialAd = null
// onLoad广
if (wx.createInterstitialAd) {
interstitialAd = wx.createInterstitialAd({
adUnitId: 'adunit-a7faf57adeed211f'
})
interstitialAd = wx.createInterstitialAd({
adUnitId: 'adunit-a7faf57adeed211f'
})
}
interstitialAd.onLoad((err) => {
// console.log('onLoad event emit', err)
@ -76,6 +76,10 @@
if (key == '在线') {
uni.switchTab({
url: '/pages/tabbar/home/home',
fail: (err) => {
// console.log(err)
}
// url:'/BagStation/orderDetail/orderDetail'
})
} else {
uni.redirectTo({
@ -83,25 +87,30 @@
})
}
}, 2000)
// console.log('onError event emit', err)
})
// 广
if (interstitialAd) {
interstitialAd.show().catch((err) => {
// console.error(err)
})
interstitialAd.show().catch((err) => {
// console.error(err)
})
}
interstitialAd.onClose(res => {
setTimeout(() => {
if (key == '在线') {
uni.switchTab({
url: '/pages/tabbar/home/home',
})
} else {
uni.redirectTo({
url: '/BagAuth/pages/login/login'
})
}
}, 1000)
setTimeout(() => {
if (key == '在线') {
uni.switchTab({
url: '/pages/tabbar/home/home',
fail: (err) => {
// console.log(err)
}
// url:'/BagStation/orderDetail/orderDetail'
})
} else {
uni.redirectTo({
url: '/BagAuth/pages/login/login'
})
}
}, 2000)
})
},
onReady(option) {
@ -178,4 +187,4 @@
.page-content image {
width: 750upx;
}
</style>
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 198 KiB

Loading…
Cancel
Save