@@ -100,7 +100,8 @@ | |||||
"userProtocol/userProtocol", | "userProtocol/userProtocol", | ||||
"exchangeCard/exchangeCard", | "exchangeCard/exchangeCard", | ||||
"exchange/exchange", | "exchange/exchange", | ||||
"complaint/complaint" | |||||
"complaint/complaint", | |||||
"userPrivacyPro/userPrivacyPro" | |||||
] | ] | ||||
} | } | ||||
], | ], | ||||
@@ -19,6 +19,9 @@ | |||||
<image class="img" src="{{item.coverImg}}" mode='scaleToFill'></image> | <image class="img" src="{{item.coverImg}}" mode='scaleToFill'></image> | ||||
</view> | </view> | ||||
<view class="titleName">{{item.title}}</view> | <view class="titleName">{{item.title}}</view> | ||||
<!-- <view wx:if="{{ item.creditPrice }}" class="titleName"> | |||||
<text class="credit">{{ item.creditPrice }}积分</text> | |||||
</view> --> | |||||
<view class="priceBox"> | <view class="priceBox"> | ||||
<view class="sellingBox f"> | <view class="sellingBox f"> | ||||
<view class="fuhao">¥</view> | <view class="fuhao">¥</view> | ||||
@@ -44,7 +44,8 @@ | |||||
display: -webkit-box; | display: -webkit-box; | ||||
overflow-x: scroll; | overflow-x: scroll; | ||||
-webkit-overflow-scrolling: touch; | -webkit-overflow-scrolling: touch; | ||||
/* margin: 10rpx 0; *//* background: linear-gradient(0deg, #F5F5F5, #fff); */ | |||||
/* margin: 10rpx 0; */ | |||||
/* background: linear-gradient(0deg, #F5F5F5, #fff); */ | |||||
} | } | ||||
.classifyBox::-webkit-scrollbar { | .classifyBox::-webkit-scrollbar { | ||||
@@ -78,21 +79,24 @@ | |||||
-webkit-text-fill-color: transparent; | -webkit-text-fill-color: transparent; | ||||
margin: 20rpx auto 10rpx auto; | margin: 20rpx auto 10rpx auto; | ||||
} | } | ||||
.xian{ | |||||
.xian { | |||||
width: 22rpx; | width: 22rpx; | ||||
height: 5rpx; | height: 5rpx; | ||||
background: linear-gradient(180deg, #D5A56E, #E9D0AA); | background: linear-gradient(180deg, #D5A56E, #E9D0AA); | ||||
border-radius: 3px; | |||||
border-radius: 3px; | |||||
margin: 0 auto; | margin: 0 auto; | ||||
} | } | ||||
.contBox{ | |||||
.contBox { | |||||
background: linear-gradient(0deg, #F5F5F5, #fff); | background: linear-gradient(0deg, #F5F5F5, #fff); | ||||
height: 350rpx; | height: 350rpx; | ||||
} | } | ||||
.contLsitBox{ | |||||
.contLsitBox { | |||||
width: 96%; | width: 96%; | ||||
margin: 0 auto ; | |||||
margin: 0 auto; | |||||
display: flex; | display: flex; | ||||
overflow: hidden; | overflow: hidden; | ||||
justify-content: space-between; | justify-content: space-between; | ||||
@@ -100,56 +104,69 @@ | |||||
padding-bottom: 170rpx; | padding-bottom: 170rpx; | ||||
} | } | ||||
.item{ | |||||
.item { | |||||
width: 49%; | width: 49%; | ||||
background-color: #fff; | background-color: #fff; | ||||
border-radius: 20rpx; | border-radius: 20rpx; | ||||
margin: 12rpx 0; | margin: 12rpx 0; | ||||
position: relative; | position: relative; | ||||
} | } | ||||
.itemImg{ | |||||
.itemImg { | |||||
width: 100%; | width: 100%; | ||||
height: 350rpx; | height: 350rpx; | ||||
border-radius: 20rpx; | border-radius: 20rpx; | ||||
/* background-color: aquamarine; */ | /* background-color: aquamarine; */ | ||||
} | } | ||||
.itemImg .img{ | |||||
.itemImg .img { | |||||
width: 100%; | width: 100%; | ||||
height: 100%; | height: 100%; | ||||
border-radius: 20rpx 20rpx 0 0; | border-radius: 20rpx 20rpx 0 0; | ||||
} | } | ||||
.titleName{ | |||||
width:90%; | |||||
height: 80rpx; | |||||
.titleName { | |||||
width: 90%; | |||||
height: 50rpx; | |||||
line-height: 50rpx; | |||||
font-size: 28rpx; | font-size: 28rpx; | ||||
font-family: OPPOSans; | font-family: OPPOSans; | ||||
font-weight: 500; | font-weight: 500; | ||||
color: #333333; | color: #333333; | ||||
margin: 10rpx auto 0 auto; | margin: 10rpx auto 0 auto; | ||||
overflow: hidden; | |||||
overflow: hidden; | |||||
text-overflow: ellipsis; | text-overflow: ellipsis; | ||||
display: -webkit-box; | display: -webkit-box; | ||||
-webkit-line-clamp: 2; | -webkit-line-clamp: 2; | ||||
-webkit-box-orient: vertical; | |||||
white-space:normal; | |||||
-webkit-box-orient: vertical; | |||||
white-space: normal; | |||||
} | |||||
.credit { | |||||
color: #DF2D2D; | |||||
} | } | ||||
.priceBox{ | |||||
.priceBox { | |||||
width: 90%; | width: 90%; | ||||
overflow: hidden; | overflow: hidden; | ||||
margin: 10rpx auto; | |||||
margin: 10rpx auto; | |||||
} | } | ||||
.f{ | |||||
.f { | |||||
float: left; | float: left; | ||||
} | } | ||||
.r{ | |||||
float:right; | |||||
.r { | |||||
float: right; | |||||
} | } | ||||
.sellingBox{ | |||||
.sellingBox { | |||||
overflow: hidden | overflow: hidden | ||||
} | } | ||||
.fuhao{ | |||||
.fuhao { | |||||
color: #DF2D2D; | color: #DF2D2D; | ||||
font-size: 24rpx; | font-size: 24rpx; | ||||
float: left; | float: left; | ||||
@@ -157,17 +174,20 @@ | |||||
/* font-weight: bold; */ | /* font-weight: bold; */ | ||||
margin-top: 10rpx | margin-top: 10rpx | ||||
} | } | ||||
.int{ | |||||
.int { | |||||
float: left; | float: left; | ||||
font-size: 36rpx; | font-size: 36rpx; | ||||
font-family: OPPOSans; | font-family: OPPOSans; | ||||
font-weight: bold; | font-weight: bold; | ||||
color: #DF2D2D; | color: #DF2D2D; | ||||
} | } | ||||
.originalBox{ | |||||
.originalBox { | |||||
overflow: hidden | overflow: hidden | ||||
} | } | ||||
.origina{ | |||||
.origina { | |||||
text-align: right; | text-align: right; | ||||
font-size: 24rpx; | font-size: 24rpx; | ||||
font-family: OPPOSans; | font-family: OPPOSans; | ||||
@@ -177,17 +197,19 @@ | |||||
margin-top: 10rpx; | margin-top: 10rpx; | ||||
margin-right: 10rpx; | margin-right: 10rpx; | ||||
} | } | ||||
.priceNum{ | |||||
.priceNum { | |||||
text-align: right; | text-align: right; | ||||
font-size: 24rpx; | font-size: 24rpx; | ||||
font-family: OPPOSans; | font-family: OPPOSans; | ||||
font-weight: 400; | font-weight: 400; | ||||
color: #999999; | color: #999999; | ||||
margin-top: 10rpx; | margin-top: 10rpx; | ||||
/* margin-right: 10rpx; */ | /* margin-right: 10rpx; */ | ||||
} | } | ||||
.sellout{ | |||||
.sellout { | |||||
position: absolute; | position: absolute; | ||||
top: 0; | top: 0; | ||||
left: 0; | left: 0; | ||||
@@ -197,7 +219,7 @@ | |||||
border-radius: 20rpx; | border-radius: 20rpx; | ||||
} | } | ||||
.selloutImg{ | |||||
.selloutImg { | |||||
width: 195rpx !important; | width: 195rpx !important; | ||||
height: 154rpx !important; | height: 154rpx !important; | ||||
margin: 50% auto; | margin: 50% auto; | ||||
@@ -2,44 +2,35 @@ | |||||
"ext": { | "ext": { | ||||
"attr": { | "attr": { | ||||
"car": { | "car": { | ||||
"tjd": { | |||||
"payPath": "", | |||||
"tjdAppId": "wx6945d1bda68d7993" | |||||
}, | |||||
"etcp": { | "etcp": { | ||||
"payPath": "pages/pay/order-pay-open/main", | |||||
"etcpAppId": "wxc07f9d67923d676d", | |||||
"etcpCallbackUrl": "https://admin.malls.iformall.com/api/carCallback/etcpPaidCallback" | |||||
}, | |||||
"bolink": { | |||||
"payPath": "pages/park/park", | |||||
"bolinkAppId": "wxbd08b4baa10fcc1d" | |||||
}, | |||||
"version": "release" | |||||
"etcpAppId": "wx192b7d2e8dcbefd0", | |||||
"etcpVersion": "release", | |||||
"etcpCallbackUrl": "https://admintest.malls.iformall.com/api/carCallback/etcpPaidCallback" | |||||
} | |||||
}, | }, | ||||
"mchId": "1539706221", | |||||
"mchId": "1604439800", | |||||
"imgProxy": [ | "imgProxy": [ | ||||
{ | { | ||||
"newUrl": "https://c.malls.iformall.com/img", | |||||
"newUrl": "https://ctest.malls.iformall.com/img", | |||||
"orgUrl": "https://iformall-net.formall.oss-accelerate.aliyuncs.com" | "orgUrl": "https://iformall-net.formall.oss-accelerate.aliyuncs.com" | ||||
}, | }, | ||||
{ | { | ||||
"newUrl": "https://c.malls.iformall.com/img1", | |||||
"newUrl": "https://ctest.malls.iformall.com/img1", | |||||
"orgUrl": "https://formall.oss-accelerate.aliyuncs.com" | "orgUrl": "https://formall.oss-accelerate.aliyuncs.com" | ||||
}, | }, | ||||
{ | { | ||||
"newUrl": "https://c.malls.iformall.com/img2", | |||||
"newUrl": "https://ctest.malls.iformall.com/img2", | |||||
"orgUrl": "https://wx.qlogo.cn" | "orgUrl": "https://wx.qlogo.cn" | ||||
} | } | ||||
], | ], | ||||
"configUrl": "https://jyxh1009.malls.iformall.com/C/api", | |||||
"ifStoreApp": "0", | |||||
"configUrl": "https://ctest.malls.iformall.com/C/api", | |||||
"businessSwitch": "1", | |||||
"ifHaveWebSocket": "0", | "ifHaveWebSocket": "0", | ||||
"ifHaveCarModular": "1" | "ifHaveCarModular": "1" | ||||
}, | }, | ||||
"name": "简阳旭海时代广场", | |||||
"weappId": "wx7b52d9803173f963", | |||||
"appVersion": "C.5.1.1" | |||||
"name": "金泸商务", | |||||
"weappId": "wx649b3be73c1afe47", | |||||
"appVersion": "C.test.5.2.0" | |||||
}, | }, | ||||
"debug": false, | "debug": false, | ||||
"tabBar": { | "tabBar": { | ||||
@@ -75,7 +66,8 @@ | |||||
"selectedIconPath": "assets/images/user-a.png" | "selectedIconPath": "assets/images/user-a.png" | ||||
} | } | ||||
], | ], | ||||
"custom": true | |||||
"color": "#abb1be", | |||||
"selectedColor": "#b2743d" | |||||
}, | }, | ||||
"window": { | "window": { | ||||
"backgroundTextStyle": "dark", | "backgroundTextStyle": "dark", | ||||
@@ -84,12 +76,16 @@ | |||||
"navigationBarBackgroundColor": "#FFFFFF" | "navigationBarBackgroundColor": "#FFFFFF" | ||||
}, | }, | ||||
"plugins": { | "plugins": { | ||||
"auto-points-plugin": { | |||||
"version": "1.3.0", | |||||
"provider": "wxfab2bf944bfc4da6" | |||||
}, | |||||
"live-player-plugin": { | "live-player-plugin": { | ||||
"version": "1.2.5", | |||||
"version": "1.3.4", | |||||
"provider": "wx2b03c6e691cd7370" | "provider": "wx2b03c6e691cd7370" | ||||
} | } | ||||
}, | }, | ||||
"extAppid": "wx7b52d9803173f963", | |||||
"extAppid": "wx649b3be73c1afe47", | |||||
"extEnable": true, | "extEnable": true, | ||||
"permission": { | "permission": { | ||||
"scope.userLocation": { | "scope.userLocation": { | ||||
@@ -18,6 +18,7 @@ Page({ | |||||
goUrl: "", | goUrl: "", | ||||
templateId: [], | templateId: [], | ||||
aboutShow: false, | aboutShow: false, | ||||
showPrivacy: false, | |||||
navigationBarHeight, | navigationBarHeight, | ||||
ifStoreApp: ifStoreApp, | ifStoreApp: ifStoreApp, | ||||
aboutUs: imgurl.aboutUs.url, | aboutUs: imgurl.aboutUs.url, | ||||
@@ -400,6 +401,75 @@ Page({ | |||||
// this.getRoomId(); | // this.getRoomId(); | ||||
// this.getRoomList(); | // this.getRoomList(); | ||||
console.log(wx.getExtConfigSync()) | console.log(wx.getExtConfigSync()) | ||||
this.getPrivacySetting() | |||||
}, | |||||
clickPrivacy(e) { | |||||
}, | |||||
closePrivacy() { | |||||
this.setData({ | |||||
showPrivacy: false | |||||
}) | |||||
}, | |||||
getPrivacySetting() { | |||||
const canIUsePrivacy = wx.canIUse('getPrivacySetting') | |||||
console.log(canIUsePrivacy, 'canIUse getPrivacySetting') | |||||
if (canIUsePrivacy) { | |||||
wx.getPrivacySetting({ | |||||
success: res => { | |||||
console.log(res, 'getPrivacySetting') // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' } | |||||
if (res.needAuthorization) { | |||||
// 需要弹出隐私协议 | |||||
this.setData({ | |||||
showPrivacy: true | |||||
}) | |||||
} else { | |||||
// this.setData({ | |||||
// showPrivacy: true | |||||
// }) | |||||
// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私接口 | |||||
// wx.getUserProfile() | |||||
// wx.chooseMedia() | |||||
// wx.getClipboardData() | |||||
// wx.startRecord() | |||||
// this.setData({ | |||||
// showPrivacy: true | |||||
// }) | |||||
} | |||||
}, | |||||
fail: () => { }, | |||||
complete: () => { } | |||||
}) | |||||
} | |||||
}, | |||||
handleAgreePrivacyAuthorization() { | |||||
console.log('Privacy Agreed!'); | |||||
this.setData({ | |||||
showPrivacy: true | |||||
}) | |||||
// 用户同意隐私协议事件回调 | |||||
// 用户点击了同意,之后所有已声明过的隐私接口和组件都可以调用了 | |||||
// wx.getUserProfile() | |||||
// wx.chooseMedia() | |||||
// wx.getClipboardData() | |||||
// wx.startRecord() | |||||
}, | |||||
handleOpenPrivacyContract() { | |||||
// 打开隐私协议页面 | |||||
wx.openPrivacyContract({ | |||||
success: () => { | |||||
this.setData({ | |||||
showPrivacy: false | |||||
}) | |||||
}, // 打开成功 | |||||
fail: () => { }, // 打开失败 | |||||
complete: () => { } | |||||
}) | |||||
}, | }, | ||||
//获取房间列表 | //获取房间列表 | ||||
getRoomList() { | getRoomList() { | ||||
@@ -208,7 +208,10 @@ | |||||
<view class="particulars_go">></view> | <view class="particulars_go">></view> | ||||
</view> | </view> | ||||
</navigator> | </navigator> | ||||
<view class="particulars_list" bindtap="getPrivacySetting"> | |||||
<view class="particulars_name">查看隐私协议</view> | |||||
<view class="particulars_go">></view> | |||||
</view> | |||||
</view> | </view> | ||||
<!-- <view class='btns_bg' wx:if="{{ifStoreApp!=1}}"> | <!-- <view class='btns_bg' wx:if="{{ifStoreApp!=1}}"> | ||||
<view class="user-btns"> --> | <view class="user-btns"> --> | ||||
@@ -318,4 +321,16 @@ | |||||
<view class='of' wx:if="{{canIUse}}"> | <view class='of' wx:if="{{canIUse}}"> | ||||
<official-account class="gzh"></official-account> | <official-account class="gzh"></official-account> | ||||
</view> | </view> | ||||
</view> | |||||
<view class="outSide" wx:if="{{showPrivacy}}" bindtap="clickPrivacy"> | |||||
<view class="showPrivacy"> | |||||
<view class="title">隐私协议更新</view> | |||||
<view class="content"> | |||||
感谢您一直以来对我们的信任和支持。为了更好地保护您的个人信息安全我们已经更新了隐私协议。如您继续使用我们的服务即表示同意并接受更新后的隐私协议。如您有任何疑问或意见,欢迎您联系我们的客户服务团队。 | |||||
</view> | |||||
<button class="agree" type="primary" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button> | |||||
<button class="check" bindtap="handleOpenPrivacyContract">查看《隐私保护指引》</button> | |||||
<image bindtap="closePrivacy" class="delete" src="../../../assets/images/delete.png" mode="" /> | |||||
</view> | |||||
</view> | </view> |
@@ -4,6 +4,63 @@ page { | |||||
background: #f6f6f6; | background: #f6f6f6; | ||||
} | } | ||||
.outSide { | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
height: 100%; | |||||
background-color: #00000059; | |||||
} | |||||
.showPrivacy { | |||||
position: fixed; | |||||
width: 520rpx; | |||||
background-color: #fff; | |||||
left: 50%; | |||||
top: 50%; | |||||
transform: translate(-50%, -50%); | |||||
padding: 60rpx 40rpx; | |||||
border-radius: 20rpx; | |||||
box-shadow: #00000047 2px 1px 2px 2px; | |||||
} | |||||
.showPrivacy .title { | |||||
text-align: center; | |||||
} | |||||
.showPrivacy .content { | |||||
text-indent: 2em; | |||||
margin: 30rpx 0; | |||||
} | |||||
.showPrivacy button { | |||||
width: 350rpx; | |||||
} | |||||
.showPrivacy button.agree { | |||||
margin-bottom: 25rpx; | |||||
} | |||||
.showPrivacy button.check { | |||||
background-color: #ffffff00; | |||||
font-size: 21rpx; | |||||
text-decoration: underline; | |||||
padding: 0; | |||||
} | |||||
.showPrivacy button.check::after { | |||||
border: none; | |||||
} | |||||
.showPrivacy .delete { | |||||
position: absolute; | |||||
top: 15rpx; | |||||
right: 15rpx; | |||||
width: 65rpx; | |||||
height: 65rpx; | |||||
} | |||||
.icons { | .icons { | ||||
display: block; | display: block; | ||||
width: 50rpx; | width: 50rpx; | ||||
@@ -96,7 +96,8 @@ Page({ | |||||
page: 1,//查询商户优惠券page | page: 1,//查询商户优惠券page | ||||
idList: [], | idList: [], | ||||
mallList: "", | mallList: "", | ||||
jumpToIndex: false | |||||
jumpToIndex: false, | |||||
credit: "" | |||||
}, | }, | ||||
/** | /** | ||||
* 显示分享弹框 | * 显示分享弹框 | ||||
@@ -573,7 +574,25 @@ Page({ | |||||
cardType: dealOptions.cardType | cardType: dealOptions.cardType | ||||
}) | }) | ||||
} | } | ||||
// this.getCredit() | |||||
}, | }, | ||||
getCredit() { | |||||
const that = this | |||||
Http.get({ | |||||
url: config.api.getScore | |||||
}).then(res => { | |||||
console.log(res); | |||||
if (res.data.credit) { | |||||
that.setData({ | |||||
credit: res.data.credit | |||||
}) | |||||
} | |||||
}).catch(err => { | |||||
console.log(err); | |||||
}) | |||||
}, | |||||
getHtml(couponChannelId) { | getHtml(couponChannelId) { | ||||
Http.get({ | Http.get({ | ||||
url: config.api.couponHtmlDetail, | url: config.api.couponHtmlDetail, | ||||
@@ -1224,6 +1243,7 @@ Page({ | |||||
}) | }) | ||||
}, | }, | ||||
onShow() { | onShow() { | ||||
this.getCredit() | |||||
this.setData({ | this.setData({ | ||||
mouldConfig: app.globalData.mouldConfig, | mouldConfig: app.globalData.mouldConfig, | ||||
mouldType: app.globalData.mouldType, | mouldType: app.globalData.mouldType, | ||||
@@ -64,9 +64,10 @@ | |||||
<!-- 预售 --> | <!-- 预售 --> | ||||
<view class='salePriceStr clearfix' wx:if="{{data.type!=10}}"> | <view class='salePriceStr clearfix' wx:if="{{data.type!=10}}"> | ||||
<text class='rmb'>¥</text> | |||||
<text wx:if="{{ data.creditPrice && data.type != 50 && data.type != 51 }}" class='creditPrice'>{{ data.creditPrice }}积分 +</text> | |||||
<!-- <text class='rmb'>¥</text> --> | |||||
<view class="fl" wx:if="{{data.type!=8}}"> | <view class="fl" wx:if="{{data.type!=8}}"> | ||||
<text class="pri01" wx:if="{{data.type!=50&&data.type!=51}}">{{priceAndStockObj.salePrice/100}}</text> | |||||
<text class="pri01" wx:if="{{data.type!=50&&data.type!=51}}">{{priceAndStockObj.salePrice/100}}元</text> | |||||
<view class="pri01" wx:if="{{data.type==50||data.type==51}}">{{priceAndStockObj.creditPrice}} | <view class="pri01" wx:if="{{data.type==50||data.type==51}}">{{priceAndStockObj.creditPrice}} | ||||
<text class='jifen'>积分</text> | <text class='jifen'>积分</text> | ||||
</view> | </view> | ||||
@@ -88,6 +89,11 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<!-- <view class="creditPrice" wx:if="{{ data.creditPrice }}"> | |||||
<text>需要积分:{{ data.creditPrice }}</text> | |||||
<text>(剩余积分:{{ credit }})</text> | |||||
</view> --> | |||||
<view class='rest' wx:if="{{data.validType==2}}">自领取之日起 | <view class='rest' wx:if="{{data.validType==2}}">自领取之日起 | ||||
<text class='time'>{{validDays}}</text>天内有效 | <text class='time'>{{validDays}}</text>天内有效 | ||||
<text class="use">(请在有效期内使用)</text> | <text class="use">(请在有效期内使用)</text> | ||||
@@ -166,8 +172,16 @@ | |||||
<image src='{{homeSelectedO}}' mode="widthFix"></image> | <image src='{{homeSelectedO}}' mode="widthFix"></image> | ||||
<text class='btnTxt'>首页</text> | <text class='btnTxt'>首页</text> | ||||
</button> | </button> | ||||
<button form-type="submit" disabled='{{showbutton}}' hover-class='active' class='buy' wx:if="{{data.type!=11 && data.type!=8 && data.type!=50 && data.type!=51 && priceAndStockObj.salePrice/100!=0 && priceAndStockObj.remainInventory!=0 && endtime!='活动已结束' && activityStatus!=0}}"> | |||||
<text class='txt'>{{priceAndStockObj.salePrice/100}}元</text>马上购买 | |||||
<button form-type="submit" disabled='{{showbutton}}' hover-class='active' class='buy' wx:if="{{data.type!=11 && data.type!=8 && data.type!=50 && data.type!=51 && priceAndStockObj.salePrice/100!=0 && priceAndStockObj.remainInventory!=0 && endtime!='活动已结束' && activityStatus!=0 && (data.creditPrice <= credit || !data.creditPrice)}}"> | |||||
<block wx:if="{{ !data.creditPrice }}"> | |||||
<text class='txt'>{{priceAndStockObj.salePrice/100}}元</text>马上购买 | |||||
</block> | |||||
<block wx:if="{{ data.creditPrice && data.creditPrice <= credit }}"> | |||||
<text class='txt'>{{ data.creditPrice }}积分 + {{priceAndStockObj.salePrice/100}}元</text>马上购买 | |||||
</block> | |||||
</button> | </button> | ||||
<button wx:if="{{data.type==11&&priceAndStockObj.remainInventory!=0}}" bindtap="gohome" data-couponchannelid="{{couponChannelId}}" data-couponid="{{couponId}}" data-shippingtype="2" class="home">配送到家 | <button wx:if="{{data.type==11&&priceAndStockObj.remainInventory!=0}}" bindtap="gohome" data-couponchannelid="{{couponChannelId}}" data-couponid="{{couponId}}" data-shippingtype="2" class="home">配送到家 | ||||
</button> | </button> | ||||
@@ -186,6 +200,8 @@ | |||||
<button class='buy' disabled='true' wx:if="{{total_micro_second <=0 && activityStatus != 0}}">活动已结束</button> | <button class='buy' disabled='true' wx:if="{{total_micro_second <=0 && activityStatus != 0}}">活动已结束</button> | ||||
<button id='noBuy' disabled='true' wx:if="{{activityStatus == 0}}">活动未开始</button> | <button id='noBuy' disabled='true' wx:if="{{activityStatus == 0}}">活动未开始</button> | ||||
<button id='noBuy' disabled='true' wx:if="{{data.creditPrice > credit}}">积分不足</button> | |||||
</view> | </view> | ||||
</form> | </form> | ||||
</view> | </view> | ||||
@@ -228,6 +228,13 @@ button::after { | |||||
padding: 6rpx 0; | padding: 6rpx 0; | ||||
} | } | ||||
.creditPrice { | |||||
float: left; | |||||
font-size: 35rpx; | |||||
color: #fd782d; | |||||
margin-right: 10rpx; | |||||
} | |||||
.rest { | .rest { | ||||
font-size: 24rpx; | font-size: 24rpx; | ||||
color: #919191; | color: #919191; | ||||
@@ -272,7 +279,7 @@ button::after { | |||||
.salePriceStr .rmb { | .salePriceStr .rmb { | ||||
color: #fd782d; | color: #fd782d; | ||||
font-size: 24rpx; | |||||
font-size: 30rpx; | |||||
line-height: 40rpx; | line-height: 40rpx; | ||||
float: left; | float: left; | ||||
} | } | ||||
@@ -281,7 +288,7 @@ button::after { | |||||
font-size: 40rpx; | font-size: 40rpx; | ||||
color: #fd782d; | color: #fd782d; | ||||
letter-spacing: 0; | letter-spacing: 0; | ||||
line-height: 40rpx; | |||||
line-height: 45rpx; | |||||
float: left; | float: left; | ||||
} | } | ||||
@@ -308,11 +315,11 @@ button::after { | |||||
.throgh { | .throgh { | ||||
text-decoration: line-through; | text-decoration: line-through; | ||||
margin-left: 10rpx; | |||||
margin-left: 20rpx; | |||||
color: #999 !important; | color: #999 !important; | ||||
margin-top: 8rpx; | margin-top: 8rpx; | ||||
height: 32rpx; | height: 32rpx; | ||||
line-height: 45rpx; | |||||
line-height: 55rpx; | |||||
} | } | ||||
/* .fl { | /* .fl { | ||||
@@ -391,7 +398,7 @@ button::after { | |||||
#noBuy { | #noBuy { | ||||
position: relative; | position: relative; | ||||
background-color: #00000033; | |||||
background-color: #a7a7a7d7; | |||||
height: 94rpx; | height: 94rpx; | ||||
width: 560rpx; | width: 560rpx; | ||||
margin: 0 auto 30rpx; | margin: 0 auto 30rpx; | ||||
@@ -27,4 +27,8 @@ | |||||
<text class='phoneNum' bindtap='phone' data-merchantLinkPhone='{{servicePhone}}'>{{servicePhone}}</text> | <text class='phoneNum' bindtap='phone' data-merchantLinkPhone='{{servicePhone}}'>{{servicePhone}}</text> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | |||||
<view class="version"> | |||||
Version C.15.0.8 | |||||
</view> | </view> |
@@ -3,6 +3,7 @@ | |||||
page { | page { | ||||
background: linear-gradient(180deg, #FD832D 0%, #FE4A16 100%); | background: linear-gradient(180deg, #FD832D 0%, #FE4A16 100%); | ||||
padding: 0; | |||||
} | } | ||||
.codeBox { | .codeBox { | ||||
@@ -119,4 +120,11 @@ page { | |||||
.phoneNum { | .phoneNum { | ||||
color: #FD832D; | color: #FD832D; | ||||
} | |||||
.version { | |||||
position: absolute; | |||||
color: #ffffff; | |||||
bottom: 50rpx; | |||||
right: 20rpx; | |||||
} | } |
@@ -24,6 +24,7 @@ Page({ | |||||
busineKye: 0, | busineKye: 0, | ||||
businePageNum: 1, | businePageNum: 1, | ||||
credit: 0, | credit: 0, | ||||
showPrivacy: false, | |||||
businessList: [], //优选好物导航 | businessList: [], //优选好物导航 | ||||
businessData: [], //优选好物数据 | businessData: [], //优选好物数据 | ||||
topicObj2: null, //欢乐城首页限时抢购 | topicObj2: null, //欢乐城首页限时抢购 | ||||
@@ -556,6 +557,75 @@ Page({ | |||||
// console.log(Http.headers.token, "?") | // console.log(Http.headers.token, "?") | ||||
}, | }, | ||||
clickPrivacy(e) { | |||||
}, | |||||
closePrivacy() { | |||||
this.setData({ | |||||
showPrivacy: false | |||||
}) | |||||
}, | |||||
getPrivacySetting() { | |||||
const canIUsePrivacy = wx.canIUse('getPrivacySetting') | |||||
console.log(canIUsePrivacy, 'canIUse getPrivacySetting') | |||||
if (canIUsePrivacy) { | |||||
wx.getPrivacySetting({ | |||||
success: res => { | |||||
console.log(res, 'getPrivacySetting') // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' } | |||||
if (res.needAuthorization) { | |||||
// 需要弹出隐私协议 | |||||
this.setData({ | |||||
showPrivacy: true | |||||
}) | |||||
} else { | |||||
// this.setData({ | |||||
// showPrivacy: true | |||||
// }) | |||||
// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私接口 | |||||
// wx.getUserProfile() | |||||
// wx.chooseMedia() | |||||
// wx.getClipboardData() | |||||
// wx.startRecord() | |||||
this.setData({ | |||||
showPrivacy: true | |||||
}) | |||||
} | |||||
}, | |||||
fail: () => { }, | |||||
complete: () => { } | |||||
}) | |||||
} | |||||
}, | |||||
handleAgreePrivacyAuthorization() { | |||||
console.log('Privacy Agreed!'); | |||||
this.setData({ | |||||
showPrivacy: false | |||||
}) | |||||
// 用户同意隐私协议事件回调 | |||||
// 用户点击了同意,之后所有已声明过的隐私接口和组件都可以调用了 | |||||
// wx.getUserProfile() | |||||
// wx.chooseMedia() | |||||
// wx.getClipboardData() | |||||
// wx.startRecord() | |||||
}, | |||||
handleOpenPrivacyContract() { | |||||
// 打开隐私协议页面 | |||||
wx.openPrivacyContract({ | |||||
success: () => { | |||||
this.setData({ | |||||
showPrivacy: false | |||||
}) | |||||
}, // 打开成功 | |||||
fail: () => { }, // 打开失败 | |||||
complete: () => { } | |||||
}) | |||||
}, | |||||
/** | /** | ||||
* 获得经纬度 | * 获得经纬度 | ||||
*/ | */ | ||||
@@ -849,6 +919,7 @@ Page({ | |||||
// desc: weapNote.firstpage.desc?weapNote.firstpage.desc:"", | // desc: weapNote.firstpage.desc?weapNote.firstpage.desc:"", | ||||
// title: weapNote.firstpage.title?weapNote.firstpage.title:'', | // title: weapNote.firstpage.title?weapNote.firstpage.title:'', | ||||
}) | }) | ||||
that.getPrivacySetting() | |||||
}) | }) | ||||
.catch(err => { | .catch(err => { | ||||
// that.getGameOne(app.globalData.token) | // that.getGameOne(app.globalData.token) | ||||
@@ -913,6 +984,7 @@ Page({ | |||||
// desc: weapNote.firstpage.desc?weapNote.firstpage.desc:"", | // desc: weapNote.firstpage.desc?weapNote.firstpage.desc:"", | ||||
// title: weapNote.firstpage.title?weapNote.firstpage.title:'', | // title: weapNote.firstpage.title?weapNote.firstpage.title:'', | ||||
}) | }) | ||||
that.getPrivacySetting() | |||||
}) | }) | ||||
.catch(err => { | .catch(err => { | ||||
// that.getGameOne(app.globalData.token) | // that.getGameOne(app.globalData.token) | ||||
@@ -112,9 +112,23 @@ | |||||
<!-- 游戏蒙层 --> | <!-- 游戏蒙层 --> | ||||
<g-entry id="listss" wx:if="{{showGame&&!played&&!havePlayEd}}" gamedata="{{gamedata}}" bind:myevent="" /> | <g-entry id="listss" wx:if="{{showGame&&!played&&!havePlayEd}}" gamedata="{{gamedata}}" bind:myevent="" /> | ||||
<!-- 广告蒙层 --> | <!-- 广告蒙层 --> | ||||
<c-advertisement id="advertisement" wx:if="{{showGg&&!played&&!havePlayEd1}}" ggdata="{{ggdata}}" /> | <c-advertisement id="advertisement" wx:if="{{showGg&&!played&&!havePlayEd1}}" ggdata="{{ggdata}}" /> | ||||
</view> | </view> | ||||
<view class="outSide" wx:if="{{showPrivacy}}" bindtap="clickPrivacy"> | |||||
<view class="showPrivacy"> | |||||
<view class="title">隐私协议更新</view> | |||||
<view class="content"> | |||||
感谢您一直以来对我们的信任和支持。为了更好地保护您的个人信息安全我们已经更新了隐私协议。如您继续使用我们的服务即表示同意并接受更新后的隐私协议。如您有任何疑问或意见,欢迎您联系我们的客户服务团队。 | |||||
</view> | |||||
<button class="agree" type="primary" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button> | |||||
<button class="check" bindtap="handleOpenPrivacyContract">查看《隐私保护指引》</button> | |||||
<image bindtap="closePrivacy" class="delete" src="../../../assets/images/delete.png" mode="" /> | |||||
</view> | |||||
</view> | |||||
<!-- 顶部签到成长值 --> | <!-- 顶部签到成长值 --> | ||||
<view class='signin' wx:if="{{fistLogin}}" animation="{{alphaData}}"> | <view class='signin' wx:if="{{fistLogin}}" animation="{{alphaData}}"> | ||||
<image class="userAvatarUrl" src="{{userAvatarUrl}}"></image> | <image class="userAvatarUrl" src="{{userAvatarUrl}}"></image> | ||||
@@ -4,6 +4,63 @@ page { | |||||
background: #f4f5f9; | background: #f4f5f9; | ||||
} | } | ||||
.outSide { | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
height: 100%; | |||||
background-color: #00000059; | |||||
} | |||||
.showPrivacy { | |||||
position: fixed; | |||||
width: 520rpx; | |||||
background-color: #fff; | |||||
left: 50%; | |||||
top: 50%; | |||||
transform: translate(-50%, -50%); | |||||
padding: 60rpx 40rpx; | |||||
border-radius: 20rpx; | |||||
box-shadow: #00000047 2px 1px 2px 2px; | |||||
} | |||||
.showPrivacy .title { | |||||
text-align: center; | |||||
} | |||||
.showPrivacy .content { | |||||
text-indent: 2em; | |||||
margin: 30rpx 0; | |||||
} | |||||
.showPrivacy button { | |||||
width: 350rpx; | |||||
} | |||||
.showPrivacy button.agree { | |||||
margin-bottom: 25rpx; | |||||
} | |||||
.showPrivacy button.check { | |||||
background-color: #ffffff00; | |||||
font-size: 21rpx; | |||||
text-decoration: underline; | |||||
padding: 0; | |||||
} | |||||
.showPrivacy button.check::after { | |||||
border: none; | |||||
} | |||||
.showPrivacy .delete { | |||||
position: absolute; | |||||
top: 15rpx; | |||||
right: 15rpx; | |||||
width: 65rpx; | |||||
height: 65rpx; | |||||
} | |||||
.temp { | .temp { | ||||
width: 100rpx; | width: 100rpx; | ||||
height: 100rpx; | height: 100rpx; | ||||
@@ -0,0 +1,66 @@ | |||||
// pages3/userPrivacyPro/userPrivacyPro.js | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad(options) { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide() { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload() { | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh() { | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom() { | |||||
}, | |||||
/** | |||||
* 用户点击右上角分享 | |||||
*/ | |||||
onShareAppMessage() { | |||||
} | |||||
}) |
@@ -0,0 +1,3 @@ | |||||
{ | |||||
"usingComponents": {} | |||||
} |
@@ -0,0 +1,115 @@ | |||||
<!--pages3/userPrivacyPro/userPrivacyPro.wxml--> | |||||
<navbar home back text="用户协议与隐私政策"></navbar> | |||||
<view class="content"> | |||||
<view class="title">网络用户协议</view> | |||||
<view class="paragraph"> | |||||
欢迎使用! | |||||
本小程序所有服务和产品均受以下条款和条件的约束。请仔细阅读本产品的用户协议(以下简称“协议”)并确保您完全理解并同意其中的条款和条件。如果您不同意本协议中的任何内容,您应立即停止使用本产品。 | |||||
</view> | |||||
<view class="item"> | |||||
<view class="titleInside"> 1. 服务</view> | |||||
本产品提供的服务仅供您个人使用。您不得将任何服务或产品用于商业目的。本产品有权随时更改或中断服务或产品的供应,并且不承担任何责任。 | |||||
</view> | |||||
<view class="item"> | |||||
<view class="titleInside">2. 用户注册信息</view> | |||||
<view> | |||||
<view> | |||||
2.1 用户应该注册真实的个人信息,包括但不限于姓名、地址、联系电话、电子邮件地址等。用户应该及时更新这些信息。 | |||||
</view> | |||||
<view> | |||||
2.2 用户应该保护好自己的账户和密码,避免泄露。并承担您账户下的所有活动的责任。如果您发现未经授权使用您的账户或任何其他安全漏洞,您应立即通知我司。 | |||||
</view> | |||||
<view> | |||||
2.3 如有任何违反本协议的行为,本产品有权随时停止或终止用户的账户。 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="item"> | |||||
<view class="titleInside">3. 用户行为</view> | |||||
<view> | |||||
<view> | |||||
3.1 用户应该遵守法律法规和社会公德,不得在本产品发布任何违法内容。 | |||||
</view> | |||||
<view> | |||||
3.2 用户应该尊重其他用户的权利和利益,不得侵犯他人的知识产权等合法权益。 | |||||
</view> | |||||
<view> | |||||
3.3 用户应该保证自己发布的信息真实、准确、完整、不误导。 | |||||
</view> | |||||
<view> | |||||
3.4 用户不得利用本产品进行任何商业活动或广告宣传行为。 | |||||
</view> | |||||
<view> | |||||
3.5 您同意不会在本产品上从事任何非法、欺诈、骚扰、侵犯隐私、垃圾邮件或其他违法或侵权行为。如果本产品发现您从事这些行为,则有权立即终止您的账户或限制您的访问。 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="item"> | |||||
<view> | |||||
<view class="titleInside">4. 知识产权</view> | |||||
</view> | |||||
<view> | |||||
4.1 本产品上所有内容(包括但不限于文字、图片、音频、视频等)均为本产品所有。包括但不限于商标、版权和专利。您不得复制、修改、分发或创建派生作品。您同意不会挑战我们的所有权或控制权。 | |||||
</view> | |||||
<view> | |||||
4.2 本产品允许用户发布或提交内容,包括但不限于文字、照片、视频、音频等。您保证对于您发布或提交的内容,您拥有必要的权利和许可,并且这些内容不会侵犯任何第三方的权利。我司有权删除或编辑用户提交的任何内容。 | |||||
</view> | |||||
<view> | |||||
4.3 本产品上的所有内容,包括但不限于文字、图片、音频、视频、图形、商标和标识等,均受版权、商标和其他知识产权法律的保护。未经本网站或相关权利人书面许可,您不得复制、传播、转载、修改、发布、展示或以其他方式使用这些内容。 | |||||
</view> | |||||
</view> | |||||
<!-- <view class="item"> | |||||
<view class="titleInside">5. 付费声明</view> | |||||
<view> | |||||
<view> | |||||
5.1 本产品拥有完全自主定价权,所有价格及相关免费、优惠政策,相关调整时间由我司自行决定,如果您继续使用本产品,则视为您接受修改后的价格政策。 | |||||
</view> | |||||
<view> | |||||
5.2 本产品由于开通即可服务,一经购买不能退款,如果您继续使用本产品,则视为您接受该政策。 | |||||
</view> | |||||
</view> | |||||
</view> --> | |||||
<view class="item"> | |||||
<view class="titleInside">5. 免责声明</view> | |||||
本产品不对任何信息的准确性、完整性、可靠性或适用性作任何明示或暗示的保证。本产品不对由于使用或无法使用本产品而导致的任何损失或损害承担任何责任。 | |||||
</view> | |||||
<view class="item"> | |||||
<view class="titleInside">6. 法律适用</view> | |||||
本协议受中华人民共和国法律的管辖。任何因本协议产生的纠纷,应提交到有管辖权的法院解决。 | |||||
</view> | |||||
<view class="item"> | |||||
<view class="titleInside">7. 协议变更</view> | |||||
本产品有权随时修改本协议的条款和条件。一旦本协议的任何条款和条件发生变化,您必须遵守修改后的协议。如果您继续使用本产品,则视为您接受修改后的协议。 | |||||
</view> | |||||
<view class="item"> | |||||
<view class="titleInside">8. 终止</view> | |||||
本产品有权随时终止本协议,而无需事先通知您。如果您违反本协议中的任何条款和条件,本产品有权立即终止您的账户和访问权限。 | |||||
</view> | |||||
<view class="item"> | |||||
<view class="titleInside">9. 其他</view> | |||||
本协议构成您与本产品之间的完整协议,取代了一切先前的协议和谈判。如果本协议中的任何条款或条件被认为无效或不可执行,则该条款或条件将被视为与本协议的其余部分分离,不影响其有效性和可执行性。本产品未行使或强制执行本协议中规定的任何权利或条款,并不构成对该权利或条款的豁免。 | |||||
</view> | |||||
<view class="item"> | |||||
<view class="titleInside">如果您对这些条款及条件有任何问题,请联系我们。</view> | |||||
</view> | |||||
</view> |
@@ -0,0 +1,26 @@ | |||||
/* pages3/userPrivacyPro/userPrivacyPro.wxss */ | |||||
.content { | |||||
padding: 30rpx; | |||||
padding-top: 200rpx; | |||||
color: #525252; | |||||
} | |||||
.content view { | |||||
margin-bottom: 30rpx; | |||||
} | |||||
.title { | |||||
font-weight: 600; | |||||
font-size: 35rpx; | |||||
text-align: center; | |||||
} | |||||
.paragraph { | |||||
text-indent: 40rpx; | |||||
} | |||||
.item .titleInside { | |||||
font-weight: 600; | |||||
} |
@@ -35,7 +35,7 @@ | |||||
}, | }, | ||||
"compileType": "miniprogram", | "compileType": "miniprogram", | ||||
"libVersion": "2.11.2", | "libVersion": "2.11.2", | ||||
"appid": "wx453ae0d37f3550d0", | |||||
"appid": "wxfa336cad86ed598d", | |||||
"projectname": "C", | "projectname": "C", | ||||
"simulatorType": "wechat", | "simulatorType": "wechat", | ||||
"simulatorPluginLibVersion": {}, | "simulatorPluginLibVersion": {}, | ||||
@@ -3,11 +3,11 @@ | |||||
"projectname": "C", | "projectname": "C", | ||||
"setting": { | "setting": { | ||||
"compileHotReLoad": true, | "compileHotReLoad": true, | ||||
"urlCheck": false, | |||||
"urlCheck": true, | |||||
"preloadBackgroundData": false, | "preloadBackgroundData": false, | ||||
"useIsolateContext": true | "useIsolateContext": true | ||||
}, | }, | ||||
"libVersion": "2.25.3", | |||||
"libVersion": "3.0.1", | |||||
"condition": { | "condition": { | ||||
"miniprogram": { | "miniprogram": { | ||||
"list": [ | "list": [ | ||||