Compare commits

...

40 Commits

Author SHA1 Message Date
Phoenix
309760863a 成功 2025-04-18 17:23:06 +08:00
Phoenix
f5a51ffa7c Merge branch 'xingyy' into dev
# Conflicts:
#	pnpm-lock.yaml   resolved by xingyy version
2025-04-18 16:54:35 +08:00
Phoenix
17a32a89de 提交 2025-04-18 16:42:40 +08:00
Phoenix
304a98e88b 修复按钮快捷方式,移除 hover 状态样式 2025-04-16 19:36:01 +08:00
Phoenix
36fcab91a3 123 2025-04-16 19:29:56 +08:00
Phoenix
2036e060ac 提交 2025-04-16 19:26:50 +08:00
Phoenix
bfd42e5364 12 2025-04-16 19:07:36 +08:00
xingyy
30a46e6817 Merge branch 'xingyy' into dev 2025-03-17 13:38:26 +08:00
xingyy
ad7833a312 refactor(collect-code): 重构收集二维码功能的个人资料和协议页面
- 优化了个人资料页面的代码结构,增加了注释和函数封装
- 重构了协议页面的代码,提高了可读性和可维护性
- 添加了获取用户法大大认证信息的功能
- 完善了签署确认逻辑,支持特殊用户和普通用户的不同签署流程
- 优化了折叠面板和 PDF 查看的处理
2025-03-14 09:44:36 +08:00
xingyy
0ab8b5f9d1 12 2025-03-13 16:17:58 +08:00
xingyy
60431c8aec Merge branch 'main' into dev 2025-03-13 16:07:40 +08:00
xingyy
1321652fd9 12 2025-03-13 15:56:33 +08:00
xingyy
f17d5913ac 12312 2025-03-13 13:16:27 +08:00
xingyy
ae4d2b91cd 123 2025-03-13 11:30:19 +08:00
xingyy
790dd3e5cf 1212 2025-03-13 10:17:31 +08:00
xingyy
46dd94c8c7 Merge branch 'main' into dev 2025-03-12 15:58:25 +08:00
xingyy
2192624cc9 Merge branch 'main' into dev 2025-03-12 15:55:45 +08:00
xingyy
aadb4da5f7 Merge branch 'xingyy' into dev 2025-03-12 14:49:22 +08:00
xingyy
8a998fdb1f Merge branch 'xingyy' into dev 2025-03-12 14:34:03 +08:00
xingyy
bcbf855258 Merge branch 'xingyy' into dev 2025-03-12 14:19:07 +08:00
xingyy
09e3861b06 Merge branch 'xingyy' into dev
# Conflicts:
#	app/pages/login/index.vue
2025-03-12 14:16:21 +08:00
xingyy
8d16e66455 Merge branch 'xingyy' into dev 2025-03-12 14:14:52 +08:00
xingyy
746cda119d Merge branch 'xingyy' into dev 2025-03-12 11:41:26 +08:00
xingyy
81fc536df2 123 2025-03-12 11:40:58 +08:00
xingyy
665abb28d0 Merge branch 'xingyy' into dev 2025-03-12 11:25:14 +08:00
xingyy
ee8b3a5bce fix(login): 修复登录页面滑动退出功能
- 在 onLeave 函数中添加了对 moveX 参数的判断
- 如果 moveX 小于 0,则在 1 秒后隐藏登录页面
- 优化了用户体验,增加了反向滑动退出登录页面的功能
2025-03-12 11:24:46 +08:00
xingyy
4c8e63bd7d Merge branch 'xingyy' into dev 2025-03-12 11:19:29 +08:00
xingyy
13bc4f4883 refactor(login): 优化登录页面逻辑
- 移除了多余的注释代码
- 简化了验证码发送逻辑
- 删除了未使用的函数
- 优化了代码结构,提高了代码可读性
2025-03-12 11:18:37 +08:00
xingyy
415267e307 Merge branch 'xingyy' into dev 2025-03-12 10:19:05 +08:00
xingyy
ebe909c4d7 Merge branch 'main' into dev 2025-03-10 14:46:51 +08:00
xingyy
44bb45327e Merge branch 'xingyy' into dev 2025-03-03 14:56:23 +08:00
xingyy
76f1395794 Merge branch 'xingyy' into dev 2025-03-03 14:39:03 +08:00
xingyy
e49b6a78d4 合并 2025-03-03 10:35:52 +08:00
xingyy
629e31bc21 Merge branch 'main' into dev 2025-02-28 15:37:25 +08:00
xingyy
0562ef19c7 Merge branch 'main' into dev 2025-02-26 15:15:08 +08:00
xingyy
cd4c6929f3 Merge branch 'xingyy' into dev 2025-02-26 15:04:52 +08:00
xingyy
85fb2c3dc4 Merge branch 'main' into dev 2025-02-26 14:50:53 +08:00
xingyy
e9635ec269 Merge branch 'xingyy' into dev 2025-02-11 16:15:55 +08:00
xingyy
e72ce59fca Merge branch 'xingyy' into dev
# Conflicts:
#	app/components/AppFooter.vue
2025-02-11 15:40:38 +08:00
xingyy
1f3bff1174 1 2025-01-10 16:38:18 +08:00
9 changed files with 3505 additions and 2179 deletions

View File

@ -101,4 +101,12 @@ 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} from "~/api/goods/index.js";
import {createBuyOrder,createBuyOrderV3} 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 createBuyOrder({
const res=await createBuyOrderV3({
buyUid:payment.value.buyUid,
price:payStatus.value===0?payment.value.leftPrice:amount.value,
currency:payment.value.leftCurrency,
@ -41,16 +41,18 @@ const confirmPay=async ()=>{
})
if (res.status===0){
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
}
})
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
// }
// })
}
}
const handleInput = (e) => {

View File

@ -0,0 +1,86 @@
<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,6 +18,7 @@ const localState = ref({
})
const groupByDate = (data) => {
if (!Array.isArray(data)) return []
return Object.values(data.reduce((acc, curr) => {
@ -48,8 +49,10 @@ 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,7 +13,9 @@ export const authStore = createGlobalState(() => {
leftPrice:'',
leftCurrency:'',
buyUid:'',
auctionArtworkUuid:''
auctionArtworkUuid:'',
payUid:'',
nickName:''
})
const payUid=useLocalStorage('payUid','')
return{

View File

@ -1,6 +1,5 @@
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'
@ -127,33 +126,6 @@ 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,6 +18,7 @@
},
"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",
@ -53,8 +54,7 @@
"sass-loader": "^16.0.4",
"sharp": "^0.33.5",
"typescript": "~5.7.2",
"vant": "^4.9.15",
"vite-plugin-imagemin": "^0.6.1"
"vant": "^4.9.15"
},
"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 hover:bg-primary-hover 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 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'],
],
presets: [