0315
This commit is contained in:
@@ -1,24 +1,26 @@
|
||||
{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
|
||||
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
|
||||
"version": "0.0",
|
||||
"configurations": [{
|
||||
"app-plus" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"default" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"h5" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"mp-weixin" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"type" : "uniCloud"
|
||||
}
|
||||
{
|
||||
// launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
|
||||
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
|
||||
"version" : "0.0",
|
||||
"configurations" : [
|
||||
{
|
||||
"app-plus" : {
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"default" : {
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"h5" : {
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"mp-weixin" : {
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"type" : "uniCloud"
|
||||
},
|
||||
{
|
||||
"playground" : "custom",
|
||||
"type" : "uni-app:app-ios"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
}
|
||||
},
|
||||
"splashscreen" : {
|
||||
"iosStyle" : "storyboard",
|
||||
"iosStyle" : "common",
|
||||
"androidStyle" : "default",
|
||||
"useOriginalMsgbox" : true
|
||||
},
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<view class="vip_top">
|
||||
<view class="now_vip">
|
||||
<image src="../../static/icon/mine_card.png" alt=""></image>
|
||||
<text>
|
||||
<view class="text">
|
||||
<image src="../../static/icon/mine_v.png" alt=""></image>
|
||||
疯子读书会员
|
||||
<br>
|
||||
<i>VIPFENGZIDUSHU</i>
|
||||
<br>
|
||||
<b>加入会员立项4项特权</b>
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="vip_quan">
|
||||
@@ -75,11 +75,27 @@
|
||||
</u-radio-group>
|
||||
</view>
|
||||
</view>
|
||||
<view class="agree_wo">* 我已阅读并同意《会员服务协议》</view>
|
||||
<view class="agree_wo" style="float: left; display: flex;">
|
||||
<radio-group class="agree">
|
||||
<view v-for="(item, index) in argee" :key="index" >
|
||||
<radio class="agreeRadio" :value="item.id" :checked="item.id==radioValue" @click="radioCheck(index)"></radio>
|
||||
<!-- <view>{{item.value}}</view> -->
|
||||
</view>
|
||||
</radio-group>
|
||||
<view>* 我已阅读并同意<span class="highlight" @click="showXieyi">《会员服务协议》</span></view></view>
|
||||
|
||||
<view class="vip_btn">
|
||||
<view @click="goPoinBuy">立即开通会员</view>
|
||||
</view>
|
||||
<!-- 充值协议 -->
|
||||
<u-popup :show="xieyiShow" :round="10" @close="xieyiShow=false">
|
||||
<view class="tanchu">
|
||||
<view class="dp_title">会员服务协议</view>
|
||||
<view style="max-height: 1000rpx;overflow-y: scroll;">
|
||||
<view v-html="xieyi.content"></view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -95,6 +111,16 @@
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
xieyiShow : false,
|
||||
xieyi:{
|
||||
title:'',
|
||||
content:''
|
||||
},
|
||||
argee:[
|
||||
{value:false,id:'1'}
|
||||
|
||||
] ,// 同意权限
|
||||
radioValue:'',
|
||||
stepsVc: {},
|
||||
vcList: [],
|
||||
userMes:{},
|
||||
@@ -135,7 +161,29 @@
|
||||
},
|
||||
//方法
|
||||
methods: {
|
||||
showXieyi(){
|
||||
this.$http
|
||||
.get(`sys/agreement/list?key=member`)
|
||||
.then(res => {
|
||||
this.xieyi = res.page.list[0]
|
||||
this.xieyiShow = true
|
||||
})
|
||||
|
||||
},
|
||||
radioCheck (index) {
|
||||
this.argee.forEach((item =>{
|
||||
item.isCheck = false
|
||||
}))
|
||||
if(this.radioValue==this.argee[index].id) {
|
||||
this.radioValue =null
|
||||
}else {
|
||||
this.radioValue = this.argee[index].id
|
||||
}
|
||||
// console.log(this.radioValue)
|
||||
},
|
||||
goPoinBuy(){
|
||||
if(this.radioValue == '1'){
|
||||
|
||||
if(this.stepsVc.money > this.userMes.peanutCoin){
|
||||
uni.showToast({
|
||||
title:'疯币不足,请充值',
|
||||
@@ -146,6 +194,13 @@
|
||||
}else{
|
||||
this.kaiVip()
|
||||
}
|
||||
}else{
|
||||
uni.showToast({
|
||||
title:'请勾选服务协议',
|
||||
icon:'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
},
|
||||
// 充值疯币
|
||||
buPoint() {
|
||||
@@ -290,6 +345,115 @@
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '@/style/mixin.scss';
|
||||
.agreeRadio{ zoom: .8;}
|
||||
.tanchu {
|
||||
padding: 40rpx 30rpx 40rpx 30rpx;
|
||||
position: relative;
|
||||
|
||||
|
||||
.dp_title {
|
||||
font-size: 32rpx;
|
||||
margin-bottom: 50rpx;
|
||||
color: #555;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.dp_add {
|
||||
position: absolute;
|
||||
top: 40rpx;
|
||||
right: 30rpx;
|
||||
font-size: 22rpx;
|
||||
background-color: #fd6004;
|
||||
color: #fff;
|
||||
border-radius: 10rpx;
|
||||
padding: 5rpx 10rpx;
|
||||
|
||||
.u-icon {
|
||||
display: inline-block;
|
||||
margin-right: 5rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.addressItem {
|
||||
border: 2px dashed #d9d9d9;
|
||||
border-radius: 10rpx;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
padding: 20rpx 10rpx;
|
||||
margin: 25rpx 0 0 0;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
|
||||
.addrContent {
|
||||
margin-left: 40rpx;
|
||||
flex: 1;
|
||||
|
||||
.addrContentTop {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
margin: 0 0 15rpx 0;
|
||||
position: relative;
|
||||
|
||||
.userName {
|
||||
font-size: 35rpx;
|
||||
font-weight: bold;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.userTel {
|
||||
font-size: 25rpx;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.userMoren {
|
||||
border: 1px solid #fd6004;
|
||||
color: #fd6004;
|
||||
padding: 3rpx 10rpx;
|
||||
font-size: 22rpx;
|
||||
border-radius: 10rpx;
|
||||
margin: 0 0 0 20rpx;
|
||||
}
|
||||
|
||||
|
||||
.chooseCheck {
|
||||
position: absolute;
|
||||
top: 3rpx;
|
||||
right: 6rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.addrContentBottom {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.addressItem.addItem_style {
|
||||
border-color: #fd6004;
|
||||
}
|
||||
|
||||
.youhuiItem {
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 10rpx;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
padding: 20rpx 10rpx;
|
||||
margin: 25rpx 0 0 0;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.youhuiItem>view {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.youhuiItem.youItem_style {
|
||||
border-color: #fd6004;
|
||||
}
|
||||
}
|
||||
.chongBtn {
|
||||
background-color: #54a966;
|
||||
color: #fff !important;
|
||||
@@ -320,8 +484,15 @@
|
||||
width: 100%;
|
||||
height: 410rpx;
|
||||
}
|
||||
|
||||
text {
|
||||
.text{margin-top: 60rpx;
|
||||
font-size: 50upx;
|
||||
line-height: 80upx;
|
||||
color: #977749;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
left: 80rpx;
|
||||
top: 3rpx;}
|
||||
.text {
|
||||
margin-top: 60rpx;
|
||||
font-size: 50upx;
|
||||
line-height: 80upx;
|
||||
|
||||
@@ -17,38 +17,62 @@
|
||||
</view>
|
||||
<view class="cha_fangsh">
|
||||
<view class="cf_title">支付方式</view>
|
||||
|
||||
|
||||
<view class="cf_radio">
|
||||
<u-radio-group v-model="payType">
|
||||
<view style="width: 100%;" v-if="isAndroid">
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view style="width: 100%;" >
|
||||
<view v-for="(item, index) in paylist" @click="choseType(item.id)"
|
||||
:class="payType == item.id?'Tab_xf cf_xuanx':'cf_xuanx'">
|
||||
<image :src="item.img"></image>
|
||||
{{item.title}}
|
||||
<u-radio v-if="isAndroid" :key="index" activeColor="#fe6e09" :name='item.id'
|
||||
style="float: right;margin-top: 5rpx;"></u-radio>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view style="width: 100%;" v-else>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP-IOS -->
|
||||
<view style="width: 100%;" >
|
||||
<view v-for="(item, index) in iosPaylist" @click="choseType(item.id)"
|
||||
:class="payType == item.id?'Tab_xf cf_xuanx':'cf_xuanx'">
|
||||
<image :src="item.img"></image>
|
||||
{{item.title}}
|
||||
<u-radio v-if="isAndroid" :key="index" activeColor="#fe6e09" :name='item.id'
|
||||
style="float: right;margin-top: 5rpx;"></u-radio>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</u-radio-group>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="agree_wo">* 我已阅读并同意《会员服务协议》</view>
|
||||
<view class="agree_wo flexbox" style="float: left; display: flex;" >
|
||||
<radio-group class="agree">
|
||||
<view v-for="(item, index) in argee" :key="index" >
|
||||
<radio class="agreeRadio" :value="item.id" :checked="item.id==radioValue" @click="radioCheck(index)"></radio>
|
||||
|
||||
</view>
|
||||
</radio-group>
|
||||
<view>* 我已阅读并同意<span class="highlight" @click="showXieyi">《增值服务协议》</span></view>
|
||||
</view>
|
||||
<view class="char_btn">
|
||||
<view @click="kaiChar" v-if="isAndroid">立即充值</view>
|
||||
<view @click="iosPay" v-else>立即充值</view>
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<view @click="kaiChar">立即充值</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP-IOS -->
|
||||
<view @click="iosPay" >立即充值</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<!-- 充值协议 -->
|
||||
<u-popup :show="xieyiShow" :round="10" @close="xieyiShow=false">
|
||||
<view class="tanchu">
|
||||
<view class="dp_title">增值服务协议</view>
|
||||
<view style="max-height: 1000rpx;overflow-y: scroll;">
|
||||
<view v-html="xieyi.content"></view>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -67,12 +91,27 @@
|
||||
} from '@/config/utils';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
return {
|
||||
xieyi:{
|
||||
title:'',
|
||||
content:''
|
||||
},
|
||||
xieyiShow:false,
|
||||
stepsCj: {},
|
||||
cjList: [],
|
||||
productid:'',
|
||||
isAndroid:true, // 是否为安卓环境
|
||||
argee:[
|
||||
{value:false,id:'1'}
|
||||
|
||||
] ,// 同意权限
|
||||
radioValue:'',
|
||||
orderSn:'', // 订单sn
|
||||
productid: '',
|
||||
isAndroid: true, // 是否为安卓环境
|
||||
|
||||
payType: 2,
|
||||
// #ifdef APP-IOS
|
||||
payType: 3,
|
||||
// #endif
|
||||
paylist: [{
|
||||
title: '支付宝',
|
||||
id: 2,
|
||||
@@ -84,227 +123,397 @@
|
||||
img: '../../static/icon/pay_2.png'
|
||||
}
|
||||
],
|
||||
iosPaylist: [
|
||||
{
|
||||
title: 'ios内购',
|
||||
id: 3,
|
||||
img: '../../static/icon/pay_2.png'
|
||||
}
|
||||
],
|
||||
iosPaylist: [{
|
||||
title: 'IOS支付',
|
||||
id: 3,
|
||||
img: '../../static/icon/pay_2.png'
|
||||
}],
|
||||
};
|
||||
},
|
||||
//第一次加载
|
||||
onLoad(e) {
|
||||
// 隐藏原生的tabbar
|
||||
uni.hideTabBar();
|
||||
this.getData();
|
||||
this.getIapChannels()
|
||||
this.getData();
|
||||
},
|
||||
//页面显示
|
||||
onShow() {
|
||||
// 隐藏原生的tabbar
|
||||
uni.hideTabBar();
|
||||
this.requestIapOrder()
|
||||
// this.requestIapOrder()
|
||||
},
|
||||
computed: {
|
||||
...mapState(['userInfo']),
|
||||
},
|
||||
//方法
|
||||
methods: {
|
||||
// 获取应用内支付对象
|
||||
getIapChannels() {
|
||||
console.log('------getIapChannels' );
|
||||
let _this = this;
|
||||
plus.payment.getChannels(function(channels){
|
||||
for (let i in channels) {
|
||||
let channel = channels[i];
|
||||
// 获取 id 为 'appleiap' 的 channel
|
||||
if (channel.id == 'appleiap') {
|
||||
_this.iap = channel;
|
||||
_this.requestIapOrder();
|
||||
}
|
||||
}
|
||||
}, function(e){
|
||||
showToasts("获取iap支付通道失败:" + e.message);
|
||||
});
|
||||
},
|
||||
// 获取到支付对象后,初始化支付项目列表
|
||||
requestIapOrder() {
|
||||
console.log('------requestIapOrder' );
|
||||
// #ifdef APP-PLUS
|
||||
let ids = [this.productid];
|
||||
this.iap.requestOrder(ids, function(res) {
|
||||
console.log(res);
|
||||
this.iapOrder = true;
|
||||
}, function(e) {
|
||||
this.vm.jumpPay = false;
|
||||
showToasts("获取订单信息失败:" + e.code);
|
||||
});
|
||||
// #endif
|
||||
},
|
||||
// 支付
|
||||
goApplePay() {
|
||||
console.log('------goApplePay' );
|
||||
// 获取订单
|
||||
let _this = this;
|
||||
payApply().then(res => {
|
||||
// 发起支付
|
||||
plus.payment.request(this.iap, {
|
||||
productid: this.productid,
|
||||
username: res.data.out_trade_no,
|
||||
}, function(result){
|
||||
console.log(result);
|
||||
_this.appleNotify(result);
|
||||
}, function(e){
|
||||
// console.log(e);
|
||||
this.vm.jumpPay = false;
|
||||
showToasts("支付失败");
|
||||
});
|
||||
}).catch(err => {
|
||||
showToasts(err.message || '获取数据失败');
|
||||
})
|
||||
},
|
||||
appleNotify(notifyData) {
|
||||
console.log('------appleNotify' );
|
||||
|
||||
// 关闭支付弹窗
|
||||
this.popPayClose();
|
||||
|
||||
// 支付成功
|
||||
appleNotify({notify: notifyData}).then(res => {
|
||||
console.log(res);
|
||||
if(res.data == 1) {
|
||||
this.$emit('apply-pay-success');
|
||||
}
|
||||
}).catch(err => {
|
||||
showToasts("支付失败");
|
||||
});
|
||||
},
|
||||
// 回调处理,这里是用的前端回调返回给服务端处理
|
||||
getDevName(){
|
||||
// 获取使用环境
|
||||
if(uni.getSystemInfoSync().platform === 'android'){
|
||||
this.isAndroid = true
|
||||
// console.log('运行Android上')
|
||||
}else{
|
||||
this.isAndroid = false
|
||||
// console.log('运行iOS上')
|
||||
}
|
||||
},
|
||||
// 获取充值金额
|
||||
getData() {
|
||||
showXieyi(){
|
||||
this.$http
|
||||
.post('book/bookbuyconfig/getVipOrPoint', {
|
||||
type: 'point',
|
||||
qudao: 'Android'
|
||||
.get(`sys/agreement/list?key=pay`)
|
||||
.then(res => {
|
||||
this.xieyi = res.page.list[0]
|
||||
this.xieyiShow = true
|
||||
})
|
||||
.then(res => {
|
||||
this.cjList = res.list
|
||||
this.stepsCj = res.list[0]
|
||||
});
|
||||
},
|
||||
|
||||
// 点击充值金额
|
||||
chosPric(e) {
|
||||
this.stepsCj = e
|
||||
},
|
||||
|
||||
// 选择支付方式
|
||||
choseType(e) {
|
||||
let that = this
|
||||
that.payType = e
|
||||
},
|
||||
//ios充值
|
||||
iosPay(){
|
||||
let that = this
|
||||
|
||||
let data = {
|
||||
userId: that.userInfo.id, //下单人ID
|
||||
userPhone: that.userInfo.tel, //收货人手机号
|
||||
paymentMethod: that.payType,
|
||||
orderMoney: that.stepsCj.money * 1, //订单金额
|
||||
districtMoney: 0, //优惠金额
|
||||
realMoney: that.stepsCj.money * 1, //实收金额
|
||||
orderStatus: 0, //订单状态
|
||||
orderType: "point", //订单类型
|
||||
}
|
||||
},
|
||||
radioCheck (index) { // 勾选用户协议
|
||||
this.argee.forEach((item =>{
|
||||
item.isCheck = false
|
||||
}))
|
||||
if(this.radioValue==this.argee[index].id) {
|
||||
this.radioValue =null
|
||||
}else {
|
||||
this.radioValue = this.argee[index].id
|
||||
}
|
||||
// console.log(this.radioValue)
|
||||
},
|
||||
iphonepay() {
|
||||
const that = this
|
||||
uni.showLoading({
|
||||
title: '检测支付环境...',
|
||||
mask: true
|
||||
})
|
||||
plus.payment.getChannels((channels) => {
|
||||
for (var i in channels) {
|
||||
// 判断是否苹果支付
|
||||
if (channels[i].id === 'appleiap') {
|
||||
that.iapChannel = channels[i]
|
||||
that.requestOrder()
|
||||
consle.log(666666666)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
$http.request({
|
||||
url: "book/buyorder/rechargeSave",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
},
|
||||
requestOrder() {
|
||||
uni.showLoading({
|
||||
title: '到这...',
|
||||
mask: true
|
||||
})
|
||||
const that = this
|
||||
// ['xxxxx'] 是平台申请拿到的内购商品的id
|
||||
that.iapChannel.requestOrder(that.stepsCj.priceTypeId, function(event) {
|
||||
// uni.hideLoading()
|
||||
console.log(event)
|
||||
for (var index in event) {
|
||||
var OrderItem = event[index]
|
||||
console.log(OrderItem)
|
||||
that.topay(OrderItem.productid)
|
||||
}
|
||||
}, function(erroemsg) {
|
||||
//uni.hideLoading()
|
||||
// uni.showToast({
|
||||
|
||||
// })
|
||||
uni.showToast({
|
||||
title: "获取支付通道失败:",
|
||||
icon: 'none'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 充值
|
||||
kaiChar() {
|
||||
let that = this
|
||||
|
||||
let data = {
|
||||
userId: that.userInfo.id, //下单人ID
|
||||
userPhone: that.userInfo.tel, //收货人手机号
|
||||
paymentMethod: that.payType, //1支付宝,2微信,3ios内购
|
||||
orderMoney: that.stepsCj.money * 1, //订单金额
|
||||
districtMoney: 0, //优惠金额
|
||||
realMoney: that.stepsCj.money * 1, //实收金额
|
||||
orderStatus: 0, //订单状态
|
||||
orderType: "point", //订单类型
|
||||
}
|
||||
|
||||
$http.request({
|
||||
url: "book/buyorder/rechargeSave",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
topay(id) {
|
||||
const that = this
|
||||
uni.showLoading({
|
||||
title: '充值中请勿离开',
|
||||
mask: true
|
||||
})
|
||||
uni.requestPayment({
|
||||
provider: 'appleiap',
|
||||
orderInfo: {
|
||||
productid: id,
|
||||
username: 'ordersn', // 用户标识
|
||||
optimize: true // 设置 optimize: true 解决丢单问题
|
||||
},
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
setPay({
|
||||
typePay: 'alipay',
|
||||
subject: 'point',
|
||||
totalAmount: that.stepsCj.money,
|
||||
type: that.payType,
|
||||
relevanceoid: res.orderSn,
|
||||
body: that.stepsCj.priceTypeId,
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
uni.showToast({
|
||||
title: "支付成功"
|
||||
});
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "支付失败",
|
||||
icon: "none",
|
||||
image: '../../static/icon/ic_close.png'
|
||||
});
|
||||
}
|
||||
success: (res => {
|
||||
uni.hideLoading()
|
||||
let data= {
|
||||
receipt:res.transactionReceipt, // 校验体
|
||||
TransactionID: this.orderSn,
|
||||
transactionId: res.transactionIdentifier //交易id
|
||||
}
|
||||
const orderId = this.orderId //这个订单id 是由后端返回的
|
||||
const transactionId = res.transactionIdentifier //交易id
|
||||
const payload = res.transactionReceipt //校验体
|
||||
$http.request({
|
||||
url: "/apple/applePay",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
uni.showToast({
|
||||
title: '充值成功'
|
||||
})
|
||||
// 进行后续操作
|
||||
///that.getUserInfo()
|
||||
})
|
||||
}),
|
||||
fail: (e) => {
|
||||
uni.hideLoading()
|
||||
uni.showModal({
|
||||
content: "支付失败",
|
||||
showCancel: false
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
getDevName() {
|
||||
// 获取使用环境
|
||||
if (uni.getSystemInfoSync().platform === 'android') {
|
||||
this.isAndroid = true
|
||||
// console.log('运行Android上')
|
||||
} else {
|
||||
this.isAndroid = false
|
||||
// console.log('运行iOS上')
|
||||
}
|
||||
},
|
||||
// 获取充值金额
|
||||
getData() {
|
||||
this.$http
|
||||
.post('book/bookbuyconfig/getVipOrPoint', {
|
||||
type: 'point',
|
||||
qudao: 'Android'
|
||||
})
|
||||
.then(res => {
|
||||
this.cjList = res.list
|
||||
this.stepsCj = res.list[0]
|
||||
});
|
||||
},
|
||||
|
||||
// 点击充值金额
|
||||
chosPric(e) {
|
||||
this.stepsCj = e
|
||||
console.log(e)
|
||||
},
|
||||
|
||||
// 选择支付方式
|
||||
choseType(e) {
|
||||
let that = this
|
||||
that.payType = e
|
||||
},
|
||||
//ios充值
|
||||
iosPay() {
|
||||
if(this.radioValue == '1'){
|
||||
|
||||
let that = this
|
||||
|
||||
let data = {
|
||||
userId: that.userInfo.id, //下单人ID
|
||||
userPhone: that.userInfo.tel, //收货人手机号
|
||||
paymentMethod: that.payType,
|
||||
orderMoney: that.stepsCj.money * 1, //订单金额
|
||||
districtMoney: 0, //优惠金额
|
||||
realMoney: that.stepsCj.money * 1, //实收金额
|
||||
orderStatus: 0, //订单状态
|
||||
orderType: "point", //订单类型
|
||||
}
|
||||
|
||||
$http.request({
|
||||
url: "book/buyorder/rechargeSave",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
this.orderSn = res.orderSn
|
||||
// this.topay(15)
|
||||
this.iphonepay()
|
||||
})
|
||||
}else{
|
||||
uni.showToast({
|
||||
title:'请勾选服务协议',
|
||||
icon:'error'
|
||||
})
|
||||
}
|
||||
},
|
||||
// 充值
|
||||
kaiChar() {
|
||||
if(this.radioValue == '1'){
|
||||
|
||||
let that = this
|
||||
let data = {
|
||||
userId: that.userInfo.id, //下单人ID
|
||||
userPhone: that.userInfo.tel, //收货人手机号
|
||||
paymentMethod: that.payType, //1支付宝,2微信,3ios内购
|
||||
orderMoney: that.stepsCj.money * 1, //订单金额
|
||||
districtMoney: 0, //优惠金额
|
||||
realMoney: that.stepsCj.money * 1, //实收金额
|
||||
orderStatus: 0, //订单状态
|
||||
orderType: "point", //订单类型
|
||||
}
|
||||
|
||||
$http.request({
|
||||
url: "book/buyorder/rechargeSave",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
setPay({
|
||||
typePay: 'alipay',
|
||||
subject: 'point',
|
||||
totalAmount: that.stepsCj.money,
|
||||
type: that.payType,
|
||||
relevanceoid: res.orderSn,
|
||||
body: that.stepsCj.priceTypeId,
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
uni.showToast({
|
||||
title: "支付成功"
|
||||
});
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "支付失败",
|
||||
icon: "none",
|
||||
image: '../../static/icon/ic_close.png'
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}else{
|
||||
uni.showToast({
|
||||
title:'请勾选 已阅读会员服务协议',
|
||||
icon:'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
// 跳转
|
||||
onPageJump(url) {
|
||||
uni.navigateTo({
|
||||
url: url
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
// 跳转
|
||||
onPageJump(url) {
|
||||
uni.navigateTo({
|
||||
url: url
|
||||
});
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
};
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@import '@/style/mixin.scss';
|
||||
.tanchu {
|
||||
padding: 40rpx 30rpx 40rpx 30rpx;
|
||||
position: relative;
|
||||
|
||||
|
||||
.dp_title {
|
||||
font-size: 32rpx;
|
||||
margin-bottom: 50rpx;
|
||||
color: #555;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.dp_add {
|
||||
position: absolute;
|
||||
top: 40rpx;
|
||||
right: 30rpx;
|
||||
font-size: 22rpx;
|
||||
background-color: #fd6004;
|
||||
color: #fff;
|
||||
border-radius: 10rpx;
|
||||
padding: 5rpx 10rpx;
|
||||
|
||||
.u-icon {
|
||||
display: inline-block;
|
||||
margin-right: 5rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.addressItem {
|
||||
border: 2px dashed #d9d9d9;
|
||||
border-radius: 10rpx;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
padding: 20rpx 10rpx;
|
||||
margin: 25rpx 0 0 0;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
|
||||
.addrContent {
|
||||
margin-left: 40rpx;
|
||||
flex: 1;
|
||||
|
||||
.addrContentTop {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
margin: 0 0 15rpx 0;
|
||||
position: relative;
|
||||
|
||||
.userName {
|
||||
font-size: 35rpx;
|
||||
font-weight: bold;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.userTel {
|
||||
font-size: 25rpx;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.userMoren {
|
||||
border: 1px solid #fd6004;
|
||||
color: #fd6004;
|
||||
padding: 3rpx 10rpx;
|
||||
font-size: 22rpx;
|
||||
border-radius: 10rpx;
|
||||
margin: 0 0 0 20rpx;
|
||||
}
|
||||
|
||||
|
||||
.chooseCheck {
|
||||
position: absolute;
|
||||
top: 3rpx;
|
||||
right: 6rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.addrContentBottom {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.addressItem.addItem_style {
|
||||
border-color: #fd6004;
|
||||
}
|
||||
|
||||
.youhuiItem {
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 10rpx;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
padding: 20rpx 10rpx;
|
||||
margin: 25rpx 0 0 0;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.youhuiItem>view {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.youhuiItem.youItem_style {
|
||||
border-color: #fd6004;
|
||||
}
|
||||
}
|
||||
.agreeRadio{ zoom: .8;}
|
||||
|
||||
.cha_jine {
|
||||
margin: 40rpx 50rpx 0 50rpx;
|
||||
|
||||
@@ -363,7 +572,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.highlight{color: $uni-color-primary;}
|
||||
.cha_fangsh {
|
||||
margin: 40rpx 50rpx 0 50rpx;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user