async goToPay() {
if (!this.userAddress.userName) {
uni.showToast({
title: '请先选择地址~',
icon: 'none'
})
return
}
const [err, { encryptedData, rawData, signature, iv }] = await uni.getUserInfo()
const [error, { code }] = await uni.login()
const data = {
encryptedData,
rawData,
signature,
iv,
code
}
return
const [tokenError, userInfores] = await requestUserToken(data)
if (!userInfores.message) return
this.$store.commit('setUserInfo',userInfores.message)
console.log(userInfores)
const token = userInfores.message;
const [orderError, res] = await createOrder({
order_price: this.totalPrice,
consignee_addr: this.detailAddress,
goods: this.checkedList.map(item => {
return {
goods_id: item.goods_id,
goods_numer: item.goods_count,
goods_price: item.goods_price
}
})
})
const { order_number } = res.message
const payInfoRes = await getPayParams(order_number)
const { pay } = payInfoRes.message
const { errMsg } = await wx.requestPayment(pay)
const orderCheckRes = await queryPaymentStatus(order_number)
uni.showToast({
title: '支付成功!',
icon: 'success',
mask: true
})
},
export function createOrder(data) {
return request({
url: '/my/orders/create',
method: 'POST',
header: {
Authorization: uni.getStorageSync('userInfo').token
},
data
})
}
export function getPayParams(order_number) {
return request({
url: '/my/orders/req_unifiedorder',
method: 'POST',
header: {
Authorization: uni.getStorageSync('userInfo').token
},
data: {
order_number: order_number
}
})
}
export function queryPaymentStatus(order_number) {
return request({
url: '/my/orders/chkOrder',
method: 'POST',
header: {
Authorization: uni.getStorageSync('userInfo').token
},
data: {
order_number: order_number
}
})
}
const requestUserToken = function (data) {
return request({
url: '/users/wxlogin',
method: 'POST',
data
})
}