diff --git a/src/pages/pay/scanPay.vue b/src/pages/pay/scanPay.vue index b22f840..227ad61 100644 --- a/src/pages/pay/scanPay.vue +++ b/src/pages/pay/scanPay.vue @@ -53,7 +53,7 @@ const scanPayState = reactive({ mchId: "", // 商户id mchName: "", // 商户名 orderId: "", // 订单id - action: "", + action: "", // action === "harQrCodeScanPay":扫收款机上生成的码支付 }) const walletList = ref([]) // 钱包列表 const selectWallet = ref({}) // 当前选中的钱包 diff --git a/src/sheep/hooks/use-scan-code.ts b/src/sheep/hooks/use-scan-code.ts index 7f9519f..3ad862a 100644 --- a/src/sheep/hooks/use-scan-code.ts +++ b/src/sheep/hooks/use-scan-code.ts @@ -8,11 +8,11 @@ export function useScanCode() { if (isDevEnv()) { // 开发环境模拟扫码 - const testQrCode = "eyJpZCI6IjE5MDU4ODg4NjQ0NTQ1MzMxMjEiLCJuYW1lIjoi6ICB5Y6/5bqc6aOf5aCCIn0=" // 测试线上-老县府食堂-收款二维码 + // const testQrCode = "eyJpZCI6IjE5MDU4ODg4NjQ0NTQ1MzMxMjEiLCJuYW1lIjoi6ICB5Y6/5bqc6aOf5aCCIn0=" // 测试线上-老县府食堂-收款二维码 // const testQrCode = "eyJoYXJkRG9vcklkIjoiMTkxNDIxNTYwODQzNzQxMTg0MSIsImNhYmluZXRObyI6IjEifQ==" // 测试线上-智能柜-收款二维码 // const testQrCode = "eyJpZCI6IjE5MDU4MTY3NTEwNDM0NTI5MzAiLCJuYW1lIjoi5paw5Y6/5bqc6LaF5biCIn0=" // 邓本地-测试环境-新县府超市收款二维码 // const testQrCode = "eyJoYXJkRG9vcklkIjoiMTkxMzE1NzA4MDQxODI5NTgwOSIsImNhYmluZXRObyI6IjEifQ==" // 邓本地-测试单门智能柜柜门二维码 - // const testQrCode = "http://192.168.101.45:8889/h5/#/pages/pay/scanPay?id=1905816751043452930&name=测试新县府超市" // 邓本地-测试环境-新县府超市收款二维码 + const testQrCode = "http://192.168.101.45:8889/h5/#/pages/pay/scanPay?id=1905816751043452930&name=测试新县府超市" // 邓本地-测试环境-新县府超市收款二维码 // const testQrCode = "http://192.168.101.45:8889/h5/#/pages/pay/scanPay?hardDoorId=1913157080418295809&cabinetNo=1" // 测试智能柜柜门二维码 uni.showModal({ content: "开发环境不是浙政钉和诗画环境,扫码仅供测试" }) return Promise.resolve(testQrCode) @@ -37,19 +37,26 @@ export function useScanCode() { function processUrlScanResult(url: string) { if (!url) return const searchParams = new URL(url).searchParams - const id = searchParams.get("id") - const name = searchParams.get("name") - const hardDoorId = searchParams.get("hardDoorId") - const cabinetNo = searchParams.get("cabinetNo") + const paramsObj: Record = {} + searchParams.forEach((value, key) => (paramsObj[key] = value)) + const { hardDoorId, cabinetNo, action, id, name } = paramsObj - if (id) { - router.jump("/pages/pay/scanPay", { id, name }) - return - } + // 智能柜扫码 if (hardDoorId && cabinetNo) { router.jump("/pages/cabinet/buy", { hardDoorId, cabinetNo }) return } + // 扫收款机上生成的码支付 + if (action === "harQrCodeScanPay") { + const { mchId, orderId } = paramsObj + router.jump("/pages/pay/scanPay", { action, mchId, orderId }) + return + } + // 扫商户url收款码 + if (id) { + router.jump("/pages/pay/scanPay", { id, name }) + return + } uni.showToast({ title: "无效的二维码", icon: "none" }) }