Compare commits

..

No commits in common. "309760863ab7aeaf096a0affd154df39e5c4dccd" and "9ee59626a53f62017acba2cae72a4e52b5938616" have entirely different histories.

9 changed files with 2180 additions and 3506 deletions

View File

@ -101,12 +101,4 @@ export async function contractView(data) {
method: 'POST',
data
})
}
export async function createBuyOrderV3(data) {
return await request( {
url:'/api/v1/m/auction/createBuyOrder/v3',
method: 'POST',
data
})
}

View File

@ -1,6 +1,6 @@
<script setup>
import {liveStore} from "~/stores/live/index.js";
import {createBuyOrder,createBuyOrderV3} from "~/api/goods/index.js";
import {createBuyOrder} from "~/api/goods/index.js";
import {goodStore} from "~/stores/goods/index.js";
import { showLoadingToast ,closeToast} from 'vant';
import {authStore} from "~/stores/auth/index.js";
@ -32,7 +32,7 @@ const confirmPay=async ()=>{
forbidClick: true,
});
const res=await createBuyOrderV3({
const res=await createBuyOrder({
buyUid:payment.value.buyUid,
price:payStatus.value===0?payment.value.leftPrice:amount.value,
currency:payment.value.leftCurrency,
@ -41,18 +41,16 @@ const confirmPay=async ()=>{
})
if (res.status===0){
payment.value.payUid=res.data.payUid
router.push('/payment/qrcode')
// checkoutSessionUrl.value=res.data.checkoutSessionUrl
// payUid.value=res.data.payUid
// router.push({
// path:'/checkoutPage',
// query:{
// payUid:res.data.payUid,
// returnUrl:'/payment/result',
// stripeKey:res.data.checkoutSessionUrl
// }
// })
checkoutSessionUrl.value=res.data.checkoutSessionUrl
payUid.value=res.data.payUid
router.push({
path:'/checkoutPage',
query:{
payUid:res.data.payUid,
returnUrl:'/payment/result',
stripeKey:res.data.checkoutSessionUrl
}
})
}
}
const handleInput = (e) => {

View File

@ -1,86 +0,0 @@
<template>
<div class="w-[100vw] h-screen-nav bg-[url('@/static/images/3532@2x.png')] bg-cover flex-grow-1 flex flex-col items-center pt-183px px-30px">
<div class="text-#000 text-16px mb-25px">等待销售员确认</div>
<img :src="qrCodeUrl" alt="" class="mb-10px">
<div class="text-#848484 text-14px">已生成订单确认二维码</div>
</div>
</template>
<script setup>
import QRCode from 'qrcode';
import { ref } from 'vue';
import {authStore} from "~/stores/auth/index.js";
import {orderQuery} from "~/api/goods/index.js";
const {payment}= authStore()
definePageMeta({
i18n: 'payment.title'
})
const router=useRouter()
const resData=ref({})
let timer = null
const queryOrder = async () => {
try {
const res = await orderQuery({
orderNo: payment.value.payUid
})
if (res.status === 0) {
resData.value = res.data
//
if (resData.value.status === 1) {
clearInterval(timer)
router.push({
path: '/payment/result',
query:{
orderNo:payment.value.payUid
}
})
}
}
} catch (error) {
clearInterval(timer)
}
}
//
await queryOrder()
const qrCodeUrl=ref('')
//
timer = setInterval(async () => {
await queryOrder()
}, 1000)
//
onUnmounted(() => {
if (timer) {
clearInterval(timer)
closeToast()
}
})
async function generateQRCodeURL(text) {
try {
const url = await QRCode.toDataURL(text, {
width: 283,
margin: 1,
errorCorrectionLevel: 'H',
color: {
dark: '#2B53AC', // 使
light: '#ffffff' // 使
},
rendererOpts: {
quality: 1.0
}
});
return url;
} catch (err) {
console.error(err);
}
}
qrCodeUrl.value = await generateQRCodeURL(JSON.stringify({
type:'auction-order',
buyUid: payment.value.buyUid,
payUid:payment.value.payUid
}))
</script>

View File

@ -18,7 +18,6 @@ const localState = ref({
})
const groupByDate = (data) => {
if (!Array.isArray(data)) return []
return Object.values(data.reduce((acc, curr) => {
@ -49,10 +48,8 @@ const onRefresh = async () => {
const goPay = (item) => {
payment.value.leftPrice=item.leftCnyPrice
payment.value.nickName=item.nickName
payment.value.leftCurrency=item.leftCurrency
payment.value.buyUid=item.uuid
payment.value.artworkTitle=item?.auctionArtworkInfo?.artworkTitle
payment.value.auctionArtworkUuid=item?.auctionArtworkUuid
if (item.status===1){
router.push('/signature/protocol')

View File

@ -13,9 +13,7 @@ export const authStore = createGlobalState(() => {
leftPrice:'',
leftCurrency:'',
buyUid:'',
auctionArtworkUuid:'',
payUid:'',
nickName:''
auctionArtworkUuid:''
})
const payUid=useLocalStorage('payUid','')
return{

View File

@ -1,5 +1,6 @@
import dotenv from 'dotenv'
import process from 'node:process'
import imagemin from 'vite-plugin-imagemin'
import { currentLocales } from './i18n/i18n'
import fs from 'fs'
import path from 'path'
@ -126,6 +127,33 @@ export default defineNuxtConfig({
],
},
plugins: [
imagemin({
gifsicle: {
optimizationLevel: 7,
interlaced: false
},
optipng: {
optimizationLevel: 7
},
mozjpeg: {
quality: 70
},
pngquant: {
quality: [0.8, 0.9],
speed: 4
},
svgo: {
plugins: [
{
name: 'removeViewBox'
},
{
name: 'removeEmptyAttrs',
active: false
}
]
}
})
]
},

View File

@ -18,7 +18,6 @@
},
"dependencies": {
"@fingerprintjs/fingerprintjs": "^4.5.1",
"@intlify/message-compiler": "^11.1.3",
"@nuxtjs/i18n": "^9.1.1",
"@vue-office/pdf": "^2.0.10",
"@vueuse/components": "^12.8.2",
@ -54,7 +53,8 @@
"sass-loader": "^16.0.4",
"sharp": "^0.33.5",
"typescript": "~5.7.2",
"vant": "^4.9.15"
"vant": "^4.9.15",
"vite-plugin-imagemin": "^0.6.1"
},
"pnpm": {
"peerDependencyRules": {

File diff suppressed because it is too large Load Diff

View File

@ -24,7 +24,7 @@ export default defineConfig({
],
shortcuts: [
// shortcuts to multiple utilities
['btn', 'px-6 py-3 rounded-3 inline-block bg-primary text-white cursor-pointer disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
['btn', 'px-6 py-3 rounded-3 inline-block bg-primary text-white cursor-pointer hover:bg-primary-hover disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
],
presets: [