Browse Source

支付接口对接

feature-1.1
da da 3 years ago
parent
commit
744e8358af
  1. 25
      api/userInfo.js
  2. 4
      main.js
  3. 6
      pages/ai/paint/paint.vue
  4. 90
      pages/userInfo/vip/vip.vue

25
api/userInfo.js

@ -1,7 +1,7 @@
import request from '@/utils/request' import request from '@/utils/request'
const serviceTitle = '/img' const serviceTitle = '/img'
const prefix = '/img/mini/tiktok' const prefix = '/img/mini/tiktok'
const prefix_vip = '/img/mini/vip/' const prefix_vip = '/img/mini/vip'
//GET 传参需要用 params //GET 传参需要用 params
//POST 传参需要用 data //POST 传参需要用 data
@ -17,7 +17,26 @@ export function listTiktokCollection(data) {
//获取会员list //获取会员list
export function queryUserVipList() { export function queryUserVipList() {
return request({ return request({
url: `${serviceTitle}${prefix}/queryUserVipList`, url: `${serviceTitle}${prefix_vip}/queryUserVipList`,
method: 'get', method: 'post',
data:{}
})
}
//获取会员orderid
export function addVipOrder(data) {
return request({
url: `/order/vip/addVipOrder`,
method: 'post',
data
})
}
//获取抖音token
export function unifiedOrder(data) {
return request({
url: `/pay/unified/unifiedOrder`,
method: 'post',
data
}) })
} }

4
main.js

@ -6,8 +6,8 @@ import common from './utils/common.js'
// const baseURL = 'http://localhost:7010' // const baseURL = 'http://localhost:7010'
// const baseURL = 'http://81.69.47.31:7010' // const baseURL = 'http://81.69.47.31:7010'
// const baseURL = 'https://service.bnyer.cn' //正式 // const baseURL = 'https://service.bnyer.cn' //正式
//const baseURL = 'http://47.108.66.163:7010' //测试 const baseURL = 'http://47.108.66.163:7010' //测试
const baseURL = 'http://jbsu95.natappfree.cc' //本地 // const baseURL = 'http://jbsu95.natappfree.cc' //本地
Vue.prototype.baseURL = baseURL; Vue.prototype.baseURL = baseURL;

6
pages/ai/paint/paint.vue

@ -95,7 +95,7 @@
<view class="form-item"> <view class="form-item">
<view class="form-label display-flex-sb"> <view class="form-label display-flex-sb">
<view class="left-title">关键词相关性</view> <view class="left-title">关键词相关性</view>
<view class="right-title">{{formData.sfgScale ?? 7}}</view> <view class="right-title">{{formData.sfgScale || 7}}</view>
</view> </view>
<slider :step="1" :min="0" :max="80" :block-size="12" :activeColor="primaryColor" <slider :step="1" :min="0" :max="80" :block-size="12" :activeColor="primaryColor"
@change="(e) => {this.formData.sfgScale = (e.detail.value * 0.1 + 7).toFixed(1)}" @change="(e) => {this.formData.sfgScale = (e.detail.value * 0.1 + 7).toFixed(1)}"
@ -105,7 +105,7 @@
<view class="form-item"> <view class="form-item">
<view class="form-label display-flex-sb"> <view class="form-label display-flex-sb">
<view class="left-title">绘画步骤</view> <view class="left-title">绘画步骤</view>
<view class="right-title">{{formData.steps ?? 20}}</view> <view class="right-title">{{formData.steps || 20}}</view>
</view> </view>
<slider :step="1" :min="20" :max="30" :block-size="12" :activeColor="primaryColor" <slider :step="1" :min="20" :max="30" :block-size="12" :activeColor="primaryColor"
@change="(e) => {this.formData.steps = e.detail.value}" @change="(e) => {this.formData.steps = e.detail.value}"
@ -115,7 +115,7 @@
<view class="form-item"> <view class="form-item">
<view class="form-label display-flex-sb"> <view class="form-label display-flex-sb">
<view class="left-title">差异强度</view> <view class="left-title">差异强度</view>
<view class="right-title">{{formData.eta ?? 0}}</view> <view class="right-title">{{formData.eta || 0}}</view>
</view> </view>
<slider :step="1" :min="0" :max="10" :block-size="12" :activeColor="primaryColor" <slider :step="1" :min="0" :max="10" :block-size="12" :activeColor="primaryColor"
@change="(e) => {this.formData.eta = (e.detail.value * 0.1).toFixed(1)}" @change="(e) => {this.formData.eta = (e.detail.value * 0.1).toFixed(1)}"

90
pages/userInfo/vip/vip.vue

@ -15,7 +15,8 @@
</view> </view>
<view class="vip-box"> <view class="vip-box">
<view class="vip-box__item" :class="{'item-active':active == index}" @click="change(index)" v-for="(item,index) in vipList" :key="index"> <view class="vip-box__item" :class="{'item-active':active == index}" @click="change(index)"
v-for="(item,index) in vipList" :key="index">
<view class="title"> <view class="title">
{{item.vipName}} {{item.vipName}}
</view> </view>
@ -31,7 +32,7 @@
</view> </view>
</view> </view>
<button class="sumbit-btn"> <button class="sumbit-btn" @click="openVip" :disabled="disabled">
立即开通 立即开通
</button> </button>
</view> </view>
@ -39,24 +40,69 @@
<script> <script>
import { import {
queryUserVipList queryUserVipList,
addVipOrder,
unifiedOrder
} from '@/api/userInfo.js' } from '@/api/userInfo.js'
export default { export default {
data() { data() {
return { return {
userInfo: null, userInfo: null,
vipList:[], vipList: [],
active:0 active: 0,
disabled: false
} }
}, },
methods: { methods: {
async getVipList() { async getVipList() {
const {data} = await queryUserVipList(); const {
this.vipList = data.data data
console.log(this.vipList) } = await queryUserVipList();
}, this.vipList = data.data
change(index){ },
this.active = index change(index) {
this.active = index
},
async openVip() {
let data = this.vipList[this.active];
let phone = this.userInfo
if (!Object.keys(data).length) return
this.disabled = true
uni.showLoading({
title: "加载中..."
});
const res_add = await addVipOrder({
vipId: data.id
})
let orderNo = res_add.data.data;
const res_uni = await unifiedOrder({
orderNo,
sceneCode: 1,
payType: 'dypay',
})
let {orderId,orderToken} = res_uni.data.data.dyThirdInOrderVo
this.tikPay(orderId,orderToken)
},
tikPay(order_id, order_token) {
tt.pay({
orderInfo: {
order_id,
order_token
},
service: 5,
success(res) {
if (res.code == 0) {
}
uni.hideLoading();
this.disabled = false
},
fail(res) {
uni.hideLoading();
this.disabled = false
},
})
} }
}, },
onShow() { onShow() {
@ -64,12 +110,12 @@
}, },
created() { created() {
if (!this.userInfo) { if (!this.userInfo) {
uni.navigateBack() uni.navigateBack()
uni.showToast({ uni.showToast({
title: '请先登录', title: '请先登录',
icon: 'none' icon: 'none'
}) })
} }
this.getVipList() this.getVipList()
} }
} }
@ -127,7 +173,7 @@
.save-box { .save-box {
border-radius: 30rpx; border-radius: 30rpx;
width: 140rpx; width: 150rpx;
height: 50rpx; height: 50rpx;
background-color: #e8f4ff; background-color: #e8f4ff;
font-size: 24rpx; font-size: 24rpx;
@ -145,10 +191,10 @@
.price, .price,
.title { .title {
color: #fff; color: #fff;
} }
.o-price{ .o-price {
color: #eee; color: #eee;
} }
.save-box { .save-box {

Loading…
Cancel
Save