完成支付功能

This commit is contained in:
kron
2025-07-12 17:12:24 +08:00
parent c6e53453fb
commit cae46224a3
7 changed files with 73 additions and 15 deletions

View File

@@ -5,12 +5,13 @@ import Avatar from "@/components/Avatar.vue";
import SButton from "@/components/SButton.vue";
import SModal from "@/components/SModal.vue";
import Signin from "@/components/Signin.vue";
import { createOrderAPI } from "@/apis";
import { createOrderAPI, getHomeData } from "@/apis";
import { formatTimestamp } from "@/util";
import useStore from "@/store";
import { storeToRefs } from "pinia";
const store = useStore();
const { user, config } = storeToRefs(store);
const { updateUser } = store;
const selectedVIP = ref(0);
const showModal = ref(false);
@@ -23,10 +24,28 @@ const onPay = async () => {
const result = await createOrderAPI(
config.value.vipMenus[selectedVIP.value].id
);
uni.showToast({
title: "创建成功",
icon: "none",
});
if (!result.pay) return;
const params = result.pay.order.jsApi.params;
if (params) {
wx.requestPayment({
timeStamp: params.timeStamp, // 时间戳
nonceStr: params.nonceStr, // 随机字符串
package: params.package, // 统一下单接口返回的 prepay_id 参数值格式prepay_id=***
paySign: params.paySign, // 签名
signType: "RSA", // 签名类型默认为RSA
async success(res) {
const result = await getHomeData();
if (result.user) updateUser(result.user);
uni.showToast({
title: "支付成功",
icon: "none",
});
},
fail(res) {
console.log("pay error", res);
},
});
}
}
}
};