@dg-elements/js-sdk 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +248 -0
- package/dist/dg-element.esm.js +785 -0
- package/dist/dg-element.esm.js.map +1 -0
- package/dist/dg-element.js +793 -0
- package/dist/dg-element.js.map +1 -0
- package/dist/dg-element.min.js +4 -0
- package/dist/dg-element.min.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dg-element.esm.js","sources":["../src/utils/checkAgentEnv.js","../src/utils/index.js","../src/utils/enum.js","../src/utils/renderPayUI.js","../src/index.js"],"sourcesContent":["/**\n * @Description: 判断是否是微信浏览器\n * @return {*}\n */\nfunction isWXJS() {\n return navigator && navigator.userAgent.toLowerCase().indexOf('micromessenger') > 0;\n}\n\n/**\n * @Description: 判断是否是支付宝浏览器\n * @return {*}\n */\nfunction isAliPayJS() {\n return navigator && navigator.userAgent.toLowerCase().indexOf('alipayclient') > 0;\n}\n\n/**\n * @Description: 判断是否是银联浏览器\n * @return {*}\n */\nfunction isUnionPayJS() {\n return navigator && navigator.userAgent.toLowerCase().indexOf('unionpay') > 0;\n}\n\n/**\n * @Description: 判断是否是web环境\n * @return {*}\n */\nfunction isWebEnv() {\n return window.innerWidth>1000 ||(navigator && !navigator.userAgent.match(/Android|webOS|iPhone|iPod|Phone|Mobile|OpenHarmony|BlackBerry/)) \n}\n\n/**\n * @Description: 系统浏览器\n * @return {*}\n */\nfunction isMobileBrowser() {\n return !isAliPayJS() && !isWXJS() && !isUnionPayJS();\n}\n\nexport { isWXJS, isAliPayJS, isUnionPayJS, isWebEnv, isMobileBrowser };\n","\n\n/**\n * @Description: 将px转换为vw\n * @param {*} value\n * @return {*}\n */\nexport const pxToVw = (value) => {\n return (value / 750) * 100 + 'vw';\n};\n\n\n// 发送网络请求,查询pre_order_id,对应的状态\nconst queryPreOrderStatus = async (pre_order_id) => {\n try {\n const response = await fetch(`https://api.huifu.com/trade/queryorder`, {\n method: 'POST',\n body: JSON.stringify({\n pre_order_id:pre_order_id,\n }),\n headers: {\n 'Content-Type': 'application/json', \n },\n });\n\n const data = await response.json();\n console.log('查詢預下单結果:', data);\n return data;\n } catch (err) {\n console.error('查詢預下單失敗:', err);\n // 將錯誤向上拋出,讓調用者也能處理\n throw err;\n }\n}\n\n// 查询订单交易状态\nconst queryOrderStatus = async (req_seq_id,huifu_id, req_date) => {\n try {\n const response = await fetch(`https://api.huifu.com/trade/hostingpay/hosting/queryorder`, {\n method: 'POST',\n body: JSON.stringify({\n data: {\n req_seq_id: req_seq_id,\n huifu_id: huifu_id,\n req_date: req_date,\n },\n }),\n headers: {\n 'Content-Type': 'application/json', \n },\n });\n\n const data = await response.json();\n return data;\n } catch (err) {\n throw err;\n }\n}\nexport { queryPreOrderStatus, queryOrderStatus };\n","const payTypeDescEnum = {\n alipay: '支付宝',\n wechatpay: '微信',\n unionpay:'云闪付'\n};\nconst miniProgramEnum = {\n // 支付宝\n alipay: {\n appId: '2021003121605466',\n backgroundColor: '#007bff',\n },\n // 微信\n wechatpay: {\n appId: 'wxcaced8415a866378',\n backgroundColor: '#1AAD19',\n },\n // 银联\n unionpay: {\n backgroundColor: '#dd264a',\n },\n};\n\nconst payBase64Img = {\n alipay:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAFUklEQVRYR82ZC0xXVRzHv+f+/9dUnBCGOuQlYiEqFDgVFmAPV2ImkVOnlrXmY0los81Nx9xoLelltdqsQTJDo+YsnWIPxQeNiNS1FEUEQsKUIBHl+b/3ntPO/fcHLv/L/x75g3o3NjbO+Z3P+Z7f6xxIR0cXQ6/v8AWCA+dsOHeV4N82gBn+2nvk4PwuScADPsDDEygWTqd4fLJxQeICrL8BrNtrx+9XpMFZeYBWZodSfLJIRcAopwEdkMOl5spobCUDNDu404J8GfavUnRldcCFOXdfub5bTJxEkb9CBdl3xsHWfiN7JUF6ogafYUbfyT5q4wfkld2ClQrIS7s0VnjeO787tdHR7TMuorAsGYx5B7gsVgOZkU1ZXbN3hoYKMGYCBQnfSllr170JGOTHQMIyKWtX7k3AQF8LQB5JuUtVS0e/z+4+pMt6mj4p9j0Z/Z2gJWByBMWu5eYrUQbwH15pZB6wA/ymbvMCkBAGWXKC6DDgQO7uYBYk8R/KUDTnBlxzKe1rC+jw4F6WCoqKYgY4MUsG9TLNDClgdLYMhfYoqPVSTzSBCwOunKkha54mKqjQuLQv7Dj9l+cCIQwYH0axYBoVWths0PI441zum9O2yehUPac3YcABkwEI8WMoXq8YTJReJliSZ13/7wggr6dvLzC6x9bDNuSVWeem2waUCAMhgEbFK0/+CwoSw3s6HZ5yZm+X0XDL2oYl4JRxFGkxFLNCGMaPZnrHIhHgVhdQ00RQ8Q9BWR1BWa2EuhvuC/IFStYr+qZc35FKgle+sj5ePr5fwLhgijdTNEwdL34huXYT+LlGQtElCcerCNocBK/PUbEh2RggL+6240SVWHtnCpgSRfHpIlVXqrSW4GSNhOomguvtwDAJGO/LMGUcQ9IkhgcDzDfAo7S4hiA6kOltu+srv0aQ8pmYeqYKBvsxFKUr+LsFSN9rx9mrnnc6OYBhfpSG1OkUE8dYx/rqr+34oUJMPVPAt+arWPwIxbwdMqqarJ24B4lhTgTDukc1zAzt3y06FODYJYKD5TYUXSIe67Ap4PF0B07XS9j4nUn/ZC2QPoK3aDlLVQy3MNGuAEWVEg6WSzq0WdJ288GLWxx4/5gNn5dY56j+eDfPVbEm4faqTrsD+OmihEPnnQHW9X+FcQOs2OzAzl8lZB8diIIMW+ZqWN0H7kID0QPuobFiGaHNAfxY4YStbCTGlv/7tQpau4BFO8UjjSs5chjDu89qeGaqUTn+fLIi347mduDpSAZ+PZ0eKAbK7XaqMAK+8ZiK15IoMvbZsP+s2DHznPlBqoowf+Oh83q7qsCOm53GYJsTQZGRpCEuWAzUcGkKGMVw5FUFo4cDH52QkFtqw61+bnz8sWdNgoaUKPeF9pyWkFlog+qhJCaEUWQka4gP8wzqdqubFUqxY7EK/5G8HQfO1BNUNBC0dBLYCEOwH8BVC+2jGNfvSguQWWjH0UrxXDcjhCIjUUNyhDmo6bWTP958/LwqfAx1zcCXv9mQf0rCQK+w0YFU99GnIvs8v3m6uPNmgSfuGcEMIfcz+I1wtvA3OoDLzQQlfxKcrJbA/c3bZw6XB0eO5aBUDzjeZJCZ71BWe12saoyQmR5ZgwXjKfeHj2HY9KQKsmq3ykQjVrCYDNqw9ckayKE/HOzlPbeX9waNwMIQL736A+aSPDtKL4tH3p0ATIvWsP05zQnY2Aqk5siobxHzxaEGjA2iKFipgr/5dD+iN7UBG761o7j67inJn1qWxVJsekKD7winDN2ALlV+qSU4cFZCeQP/NwTR31WG8uNy+PswxExwwkX1uWb8B848ssGs1dIwAAAAAElFTkSuQmCC',\n wechatpay:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAEV0lEQVRYR9WZXUybVRjH/+dtgZaOroxS+ersWIhh0Sy4rwyzi7psXLihvZAa3S5WKibuQ010U6MJ3YXT6JYwdRgkeCEXErxRrxQds5lKdBbZBBTqBISQ0bLy/dGP95jT2IbSwvvRErtz15zn/zy/85zznHPeU4JVre7POj0/H7TzoEcBUgZQPSjIaruU/CagAPECdJAD+YrTKJubHmjyrvQdE9jebTvJ8/QtANqUAEh3MsNx5PXmipYPI9IooN1lu8xTelq6z9QrOELeb3645QzzHAb8L3MfpD6UfI8cR06xTBK25oJzgb/+x2ldaxQzyk0Z24ndZXuVp/SC/LFunJIj5DVic534ARSVGxcmCc8EPxKbyzYBSvOTcLNxUkI8LIP8hu1zyaITUGL79QRNxk9BVgHKc8pRqimFNmMzcpQ58PN+TAWmMB2YgnvejVvTt7DEL8kKIwtQAQX2btmHKsNhGLO3CgYO8kH0zvbiy/EvMLQwJGgfc5JIzaBRbUTt/XYYs42SAjFjSim67v6Ez8baMBecFaWXlMG9uftQa6qFkihFOV/L6M7SHVxyX4TXH3PsJjQXDbgndw/qTM+BI1xScBFx190ufDzUJOhLFGBeZh4c5eehVqgFHa5nEOADYGDfejowujgKQ5YBnmUPKLvUrNFEAZ4qPY0KXYVsOFbRnZ5OXPNeC689jUKD6sJqmPMfRePtK+ie7pYPqMvQ4d0H34ubWp7ygtPNKrZjogO/+H5GiIbAqt+cb0Z14ePQKDVhKPecGxcG2A0vcRPMoFlvxrGtx2PUDO7c72dhKbKgMu+RuD7XlCsM5p4fjPbt3LwTNcVWFKgK4khO/vb8mvukIKC12IrD91XFOW0bbcM3E19jl24XjhmPhyvbOenEVc93mPRPRu1L1CWwFj+FHdoda2bp/B8ODC8My6titudV5sXfJXx+H871ng1PHQEBBw4hhKJBtEotniiy4EDeAcGl0OBuwM2ZHnmAlkILjhQeTSj+ZLgF1yevx/SxTB4yHMJjBUdEV72jvx4jiyPyAPdv2Q+76dmE4vGlcbzZ90Z0m9it240ni2ugz9KLrnh2DL5w84z8NajiVLj40CWoFKqEQVtHWjGyOBwGK9tUJhosYnjDdwONf1+RX8VM+XTJMzhoOCg5uJCAnc3vDLyNwRXVvlojWMVMwLJYX16P/CyDUExJ/Wzzbv3n03U1ogCZB1O2CS+XvSJ64QuR9s/247K7AX7qTw0g88L2tBe3v4TczFyh+Ov290z34KPbjYJwzInoDEYiMkh2cZDTFkILaB9rh9P7vWi5DEAjHOUO0QGYIduOGJTT65R89ZcMWGWoQk2JNRz087F29M30oUhdhG3Z26DLzIVGkQ12rZoNzoaPvIG5AfgCPkkDWmksGZCdEMuhZXR6rsYcbbIJBIT3wGfnPfDhnt5PH2n/eJT2z2+siNL6ATNS5Wn9BByFTOdH9Ahkuv0N8S+eMPDOFWg83wAAAABJRU5ErkJggg==',\n unionpay:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAIDUlEQVRYR8WYCVRU1xmAvzsMMAwzZBBEJS4oKiKKCyIKMYu7cYlLkpJal4hbmhOtMdb2dMlSk6ox6YlNE6M1LqnbiTUukaC1Gk+TLmK1NNFYF8AkjoIoyyADMvNuz3sPGUaWmdEs95w55829///f7/7/ff/77xVOZ42kQXOVXMO9bzfiRC7Cbkc4HCC9RBqK392zEEirFRkbi+yfStD4iRijo7xsioaA1du3EbphHaHF9rub+A61a2JiqXlyDqbMJ+ot1AM6X1tFxJb1iG/LW35CSyGomJpF2OLnNA0NUPWcdeVL3zvcrTWokI6f/lrzpHB8ZZdBUx/73sLanGNrYtrh3rITUfbWW9K6+lU/A/DdijkWLEGUZ82Ulk+P3vnMJhNUV/uvb7NBWVnT8uZwqLpRP1aZ8QCiYswoGV5wVu+02RBznoKQkGYnlCUl8M4f9PHhIxErfwd7PwC3u0kdmfsvyMmGoCDE1vchIRHZN7Gx7JOzEVNnIIcPqR+70bk7wjEkXZqvXtY747si3tkAoc0DUlKCnDIeFAXCLYjXV0OPnk0vKCICLtuR40YiVr0Box+GU58jp2fC0BEQHOxJJ+rY4HTk0sVw6CC4XFS1bodw3DdYmkuu+B+iBpLiF88jc4/BwY/0XjXc6q8uhOKVVyF1IJw4jpgwCeXPOxB9U5DLl2FYt7Fpj0uJfHQCnD5FVXTb2wDNZoiK9g175TLU1iKO/hMOHUD+5nmIjkb8cRPE3ovMmgGf5aECiklTNHvKr5ZCdAxi3COaR+naDcrLPR6c+xQ8+gPkg4Pr+xsBipzDiE5xPgHlwRzkwh97AN/+PWLTNggLg+vXoWNH5OwZiIWLEen3obz4S9i+FeY/rQMuXYxh5x6UFS/DxvXafGLREpg2E9k/qX7+xh7skQhd4hEvLIP8fOQmXblRy/sP2C/pgEcOQWoaxMQgs6bDpa8Ra9Zr+1IYjcjjx5DTMnUTtwDHj0IsX6WHvQ7SP0DVSL8UDFvfR1myCD7c482WOVVPA3t366tWAY8ehujWyDVvwn/zdPmoKMQrK7V+zOHIMcO8AdUQC+GBVIHHT/TDg+qkL6+A4aOQ96dBTY0XoFj5OgzK0PeJonjvwdvdLNEhUwYgRw9tDKitUED6ffD3TxA/ec4PQLMZ8bdjWpjkBzsbRVb07YcYOQZl1jT4x6fNAxqNMG4C4kczwWJpHlCdwWCAwRkINToZQ3zsQTVR78lBxMQ0+6JINQ0segYOZCO270L+JQfWr/WWb9MWsf8gItyCPHoEOT9LH388EzF2AnLGDz3yqQMxbN6u/ZcF+ciHh7fwktxye1BQs4BaglZ/vppqQw2hy+VLEtrF6hmgqAhuVPoA9G3uO5NonGaamzo2FgYM1N/e+U/DmrpvsSo/Zix8tL+xpvrtXf22lnS1bXDkrwEvzH/AEaOh2ql/HWbNRTqrEGFm5LtrIS0dggyI3n2Q721ATH4cWVurAw1Mg+wPETOzkPZLEBoKpdf1hU6cDLt3tQjtN6BY8Cxy23vQLQHiOiM6d0EWFoDTCW3aIIzByOIiaNUKvryIGJyBPJ6LeGgYnD+H3LkDBqUjRoxC/jsXrl3TdQ9kfzOAzJ6nf3t7JiHV0slgQPRL0b3icmnAqJVLURFyy2aEug1cLuSbb+ibfuZs9R1F9EpG7tmFmD4LOWeGz5DrHrw/XZqL68qt5lTUXNU/Rasw1JqRCodWFFB7E77+ClJSIf8C2CLh7Bno3gMMAs58oVu0WiG5D2qpRq9kzcuodaKPVpKciri8Z7805p3Atn0jBn/Shy+rLY2rqWfEKL2AbaE5EnqjZM1FdOiAqMwvlOGdO1F5+gzV+/YSsXktxm8btBk4R0ISStY8LA8+QLDVyo2Cix7AWzpV+YXUnPoc5chhrAf2YVSaLuXvxpENdR1x3XA9MhljSgrhiYkYLeH1w00CNlSuKvySm2e+wH3yJDLvJBGfncSo+PFlaCl8be7FNSAN0as3QUm9CE9KxKgWyk00n4BeOlLivGSntvgqypUrKHY7stIBFRVQUY4sLYOyUjCFQmSUfgCLuEd7uw02G4b27TFERRHWsT3GcI+XWopEYIDfVEwDsHPXgMXnCshbtwUUSVXb9pTGJ5BbWIjZGkLPnrH1KKbgYJ5ITQ0ATRe9a8DsKbPok/uxZmyZtSebgztqz0osKF1EPVCUxYJ9+Yo7A3RcKJSWLp0CVlYVjvbJoGupnuQzbemcMERoz+7uIGM8gOOTk9k5d17Ac1TmX0RUnM+X1vjOASs7r5dR1D+VYMVNtSGI1Mih1Ei9jnQPEEiTx+TySZNZNKzuXBLATI4LBYiy/52X93SPD0BNFz3+7g7avfBz7TkvJJLHLGn6gBFcgzzeU7s+WbKEVD+Os7dDlJ+9gHAUlUijVDC1aR0QZPb0hfT5eJ+m8ydzHC+ZemjPMlLg9hxtMYeEcHXVaxjV73kArbroKi5hqLvALChE9aJoqdS/zfihAUNJLC7Uen8Wkcwuo/7WKh1A6eTx4EMJCeQ8syAANJBuN+Xn8jHFddIBVW3n2XPYknr4DXkqPglbrVObeGzkEM4JPfm6kwQy0sPz20mTeHaY5yDki1SFKzt9hrBu3TRR70v0gkJMrSL9CneFvYhap34vaGjdmpvqbdTNm0RYwjCopZZ27BXY1MOQn00Na3VpKaY4z/WLF6Bqx1XhwF1WhkEt49U94L3f/ZzKfzH1zl5KBcWtEBQZidFq8VL+P79Fdlnu3kGOAAAAAElFTkSuQmCC',\n};\n\nexport { payTypeDescEnum, miniProgramEnum, payBase64Img };\n","import { isAliPayJS, isWXJS, isUnionPayJS, isMobileBrowser } from './checkAgentEnv';\nimport { pxToVw, queryOrderStatus } from './index';\nimport { payTypeDescEnum, miniProgramEnum, payBase64Img } from './enum';\n\n\n/**\n * 渲染H5支付checkout\n * @param {*} element \n * @param {*} options \n * @returns \n */\nexport const renderH5Checkout = (element, options) => {\n console.log('renderH5Checkout' + options);\n // options 检查\n const userCreatePreOrder = options.createPreOrder;\n const callback = options.callback;\n\n // 進行一個基本的檢查,確保傳入的是一個函式\n if (typeof userCreatePreOrder !== 'function') {\n console.error('SDK Error: createPreOrder 必須是一個函式。');\n // 可以返回一個錯誤提示的元素,或直接返回 null\n const errorElement = document.createElement('div');\n errorElement.textContent = 'SDK 初始化失敗:缺少 createPreOrder 方法。';\n return errorElement;\n }\n\n const checkoutContainer = document.createElement('div');\n checkoutContainer.className = 'checkout-container';\n checkoutContainer.style.color = '#000';\n checkoutContainer.style.fontSize = pxToVw(28);\n checkoutContainer.style.margin = `0 ${pxToVw(22)}`;\n checkoutContainer.style.padding = `${pxToVw(32)} 0`;\n checkoutContainer.style.borderBottom = '1px solid #ddd';\n\n const optionsContainer = document.createElement('div');\n optionsContainer.className = 'payment-options';\n let paymentMethods = ['wechatpay', 'alipay', 'unionpay'];\n if (isAliPayJS()) {\n paymentMethods = ['alipay'];\n checkoutContainer.dataset.selectedMethod = 'alipay';\n } else if (isWXJS()) {\n paymentMethods = ['wechatpay'];\n checkoutContainer.dataset.selectedMethod = 'wechatpay';\n } else if (isUnionPayJS()) {\n paymentMethods = ['unionpay'];\n checkoutContainer.dataset.selectedMethod = 'unionpay';\n } else {\n paymentMethods = ['wechatpay', 'alipay'];\n checkoutContainer.dataset.selectedMethod = 'wechatpay';\n }\n\n paymentMethods.forEach((method) => {\n const btn = renderOpionPayBtn(method, paymentMethods[0] == method);\n optionsContainer.appendChild(btn);\n });\n checkoutContainer.appendChild(optionsContainer);\n const confirmBtn = document.createElement('button');\n confirmBtn.className = 'confirm-payment-btn';\n confirmBtn.textContent = '支付';\n confirmBtn.style.marginTop = '20px';\n confirmBtn.style.width = '100%';\n checkoutContainer.appendChild(confirmBtn);\n optionsContainer.addEventListener('click', (event) => {\n const clickedOption = event.target.closest('.payment-option');\n if (!clickedOption) return;\n checkoutContainer.dataset.selectedMethod = clickedOption.dataset.method;\n confirmBtn.disabled = false;\n });\n confirmBtn.addEventListener('click', async () => {\n\n const method = checkoutContainer.dataset.selectedMethod;\n let {pre_order_id, huifu_id, req_seq_id, req_date} = await userCreatePreOrder(method);\n console.log('返回预下单id:' + pre_order_id);\n if (!pre_order_id) {\n callback({\n code: '0001',\n msg: 'pre_order_id 获取失败',\n });\n return;\n }\n let url = combileUrl(method, pre_order_id, callback);\n console.log(url);\n window.location.href = url;\n handlePayResult(callback, huifu_id, req_seq_id, req_date);\n\n });\n element.appendChild(checkoutContainer);\n};\n\n//处理支付结果\nconst handlePayResult = async (callback, huifu_id, req_seq_id, req_date) => {\n \n \n // 轮询查询订单状态,两秒查一次\n let intervalId = setInterval(async () => {\n let result = await queryOrderStatus(req_seq_id, huifu_id, req_date);\n // console.log('查询订单状态结果:', result);\n // 判断支付状态\n if(result?.data?.trans_stat === '1') {\n // 订单支付成功\n callback({\n code: '00000000',\n msg: '支付成功',\n data: result,\n });\n clearInterval(intervalId);\n }\n }, 2000);\n // 轮询最多五分钟\n setTimeout(() => {\n clearInterval(intervalId);\n callback({\n code: '00000002',\n msg: '支付超时',\n });\n }, 300000);\n}\n\n\n/**\n * @Description: 渲染web checkout模块\n * @param {*} element\n * @param {*} options\n * @return {*}\n */\nexport const renderWebPayCheckout = async (element, options) => {\n const {\n createPreOrder,\n callback,\n paymentMethods = ['alipay', 'wechatpay', 'unionpay', 'quickpay'],\n appearance = {},\n } = options;\n\n // 進行一個基本的檢查,確保傳入的是一個函式\n if (typeof createPreOrder !== 'function') {\n console.error('SDK Error: createPreOrder 必须是一个函数');\n // 可以返回一個錯誤提示的元素,或直接返回 null\n const errorElement = document.createElement('div');\n errorElement.textContent = 'SDK 初始化失败:缺少 createPreOrder 方法。';\n return errorElement;\n }\n const { pre_order_id, huifu_id, req_seq_id, req_date } = await createPreOrder();\n console.log('-- ~ renderWebPayModule ~ pre_order_id:', pre_order_id);\n\n // 创建iframe\n const iframe = document.createElement('iframe');\n iframe.style.width = '100%';\n iframe.style.height = '300px';\n iframe.style.border = 'none';\n // iframe.src = `http://localhost:8080/hostingh5/pay/pages/cashier/pcPay?jump_id=${pre_order_id}&huifu_id=${huifu_id}&bank_switch=Y&paymentMethods=${paymentMethods.join(\n // ',',\n // )}`;\n iframe.src = `https://api.huifu.com/hostingh5/pay/pages/cashier/pcPay?jump_id=${pre_order_id}&huifu_id=${huifu_id}&bank_switch=Y&paymentMethods=${paymentMethods.join(\n ',',\n )}`;\n\n // Append iframe to container\n element.appendChild(iframe);\n\n // Send payment methods to iframe when it's ready\n iframe.onload = function () {\n iframe.contentWindow.postMessage({ paymentMethods, appearance }, '*');\n };\n\n // Listen for selection from iframe\n window.addEventListener('message', function (event) {\n if (event.data.type === 'payment_data') {\n console.log('Selected payment method:', event.data);\n // Handle the selected payment method\n if(callback && typeof callback === 'function') {\n callback(event.data.data);\n }\n }\n });\n // 处理支付结果\n return { error: null };\n};\n\n\n\n/**\n * @Description: H5 单支付按钮\n * @param {*} bindElement\n * @param {*} type\n * @param {*} options\n * @return {*}\n */\nexport const renderH5PayButton = (bindElement, type, options) => {\n const userCreatePreOrder = options.createPreOrder;\n const callback = options.callback;\n\n // 進行一個基本的檢查,確保傳入的是一個函式\n if (typeof userCreatePreOrder !== 'function') {\n console.error('SDK Error: createPreOrder 必須是一個函式。');\n // 可以返回一個錯誤提示的元素,或直接返回 null\n const errorElement = document.createElement('div');\n errorElement.textContent = 'SDK 初始化失敗:缺少 createPreOrder 方法。';\n return errorElement;\n }\n\n const element = document.createElement('div');\n element.className = `pay-button-${type}`;\n element.innerHTML = `${payTypeDescEnum[type]}`;\n element.style.width = '90%';\n element.style.height = pxToVw(100);\n element.style.border = 'none';\n element.style.display = 'flex';\n element.style.justifyContent = 'center';\n element.style.alignItems = 'center';\n element.style.backgroundColor = miniProgramEnum[type]['backgroundColor'];\n element.style.color = '#fff';\n element.style.fontSize = pxToVw(34);\n element.style.fontWeight = 'bold';\n element.style.cursor = 'pointer';\n element.style.borderRadius = '8px';\n element.style.outline = 'none';\n element.style.margin = '10px auto';\n element.addEventListener('click', async () => {\n\n let {pre_order_id, huifu_id, req_seq_id, req_date} = await userCreatePreOrder(type);\n let url = combileUrl(type, pre_order_id, callback);\n handlePayResult(callback, huifu_id, req_seq_id, req_date);\n \n window.location.href = url;\n });\n bindElement.appendChild(element);\n};\n\n\n\nexport const renderWebPayButton = (element,type, options) => {\n console.log('-- ~renderWebPayButton options:', options);\n options.paymentMethods = [type];\n renderWebPayCheckout(element, options);\n return { error: null };\n};\n\nfunction combileUrl(method, pre_order_id, callback) {\n \n const query = encodeURIComponent(`p=${pre_order_id}`);\n\n let url = '';\n if (method === 'alipay') {\n if(isAliPayJS()){\n url = `https://api.huifu.com/hostingh5/pay/pages/cashier/index?preOrderId=${pre_order_id}&paymentMethods=alipay`;\n }else{\n const alipayAppId = miniProgramEnum['alipay']['appId'];\n url = `alipays://platformapi/startapp?appId=${alipayAppId}&page=pages/cashier/cashier?${query}%26s%3Dapp&bank_switch=Y`;\n }\n } else if (method === 'wechatpay') {\n // 跳转至微信链接\n if (isWXJS()) {\n url = `https://api.huifu.com/hostingh5/pay/pages/cashier/index?preOrderId=${pre_order_id}&paymentMethods=wechatpay`;\n } else {\n const wxAppId = miniProgramEnum['wechatpay']['appId'];\n url = `weixin://dl/business/?appid=${wxAppId}&version=release&path=pages/cashier/cashier&query=${query}`;\n }\n } else if (method === 'unionpay') {\n\n // 跳转至云闪付链接\n if(isUnionPayJS()){\n url = `https://api.huifu.com/hostingh5/pay/pages/cashier/index?preOrderId=${pre_order_id}&paymentMethods=unionpay`;\n }else{\n callback(\n {\n code: '0003',\n msg: '非云闪付App 环境,暂不支持',\n })\n return\n }\n }\n console.log(url);\n return url;\n}\n\n\nfunction renderOpionPayBtn(method, checked) {\n const option = document.createElement('div');\n option.className = 'payment-option';\n option.dataset.method = method;\n option.style.display = 'flex';\n option.style.alignItems = 'center';\n option.style.justifyContent = 'space-between';\n // 创建label元素\n const label = document.createElement('label');\n label.htmlFor = method;\n label.style.width = '100%';\n label.style.display = 'flex';\n label.style.alignItems = 'center';\n label.style.height = '40px';\n\n // 创建图片元素\n const img = document.createElement('img');\n img.src = payBase64Img[method];\n img.style.width = '20px';\n img.style.height = '20px';\n img.style.marginRight = '10px';\n\n // 创建文本span\n const span = document.createElement('span');\n span.textContent = `${payTypeDescEnum[method]}`;\n span.style.color = '#000';\n span.style.fontSize = '14px';\n span.style.margin = `0 ${pxToVw(10)}`;\n\n // 创建隐藏的单选按钮\n const radioInput = document.createElement('input');\n radioInput.type = 'radio';\n radioInput.id = method;\n radioInput.style.height = '20px';\n radioInput.style.width = '20px';\n radioInput.style.position = 'relative';\n radioInput.style.right = '0px';\n\n radioInput.name = 'paymentMethod';\n radioInput.value = method;\n radioInput.checked = checked;\n\n // 组装元素\n label.appendChild(img);\n label.appendChild(span);\n\n option.appendChild(label);\n option.appendChild(radioInput);\n\n return option;\n}\n","\nimport {\n renderWebPayCheckout,\n renderH5PayButton,\n renderWebPayButton,\n renderH5Checkout,\n} from './utils/renderPayUI';\nimport { isWebEnv, isMobileBrowser } from './utils/checkAgentEnv';\n\n/**\n * @Description: 组件类\n * @return {*}\n */\nclass Component {\n constructor(type, options) {\n if (!type) {\n return { error: 'Type is required' };\n }\n this.type = type;\n this.options = options;\n this.element = null;\n }\n\n mount(selector) {\n if (!selector) {\n return { error: 'Selector is required' };\n }\n this.element = document.querySelector(selector);\n console.log('---this.type---', this.type);\n // 支付按钮\n if (this.type === 'alipay' || this.type === 'wechatpay' || this.type === 'unionpay') {\n if(isWebEnv()){\n return renderWebPayButton(this.element, this.type, this.options);\n }else{\n return renderH5PayButton(this.element, this.type, this.options);\n }\n } else if (this.type === 'checkout') {\n // 支付收银台\n if (isWebEnv()) {\n this.element.style.display = 'flex';\n this.element.style.justifyContent = 'center';\n this.element.style.alignItems = 'center';\n this.element.style.minHeight = '300px';\n this.element.style.minWidth = '400px';\n // 渲染pc支付模块\n return renderWebPayCheckout(this.element, this.options);\n } else {\n return renderH5Checkout(this.element, { ...this.options });\n }\n\n }\n }\n\n\n\n /**\n * @Description: 渲染支付按钮\n * @return {*}\n */\n renderPaymentButton() {\n // 判断是否是web环境\n if (isWebEnv()) {\n this.element.style.display = 'flex';\n this.element.style.justifyContent = 'center';\n this.element.style.alignItems = 'center';\n this.element.style.minHeight = '300px';\n this.element.style.minWidth = '400px';\n // 渲染pc支付模块\n return renderWebPayButton(this.element, this.type, this.options);\n } else {\n return renderPayButton(this.element, this.type, this.options);\n }\n }\n\n\n}\n\n/**\n * @Description: 支付sdk类\n * @return {*}\n */\nclass HuiFuSDK {\n \n component(type, options) {\n return new Component(type, options);\n }\n\n}\n\n/**\n * @Description: 初始化支付sdk\n * @return {*}\n */\nasync function HFPay() {\n // if (!apiKey) {\n // return { error: 'API key is required' };\n // }\n // const res = await validateApiKey(apiKey);\n // if (res.resp_code !== '000000') {\n // return { error: res.resp_msg };\n // }\n // Simulate API initialization\n return {\n error: null,\n hfPay: new HuiFuSDK(),\n };\n}\n\nexport default HFPay;\n"],"names":["isWXJS","navigator","userAgent","toLowerCase","indexOf","isAliPayJS","isUnionPayJS","isWebEnv","window","innerWidth","match","pxToVw","value","queryOrderStatus","_ref2","_asyncToGenerator","_regenerator","m","_callee2","req_seq_id","huifu_id","req_date","response","data","_t2","w","_context2","p","n","fetch","method","body","JSON","stringify","headers","v","json","a","_x2","_x3","_x4","apply","arguments","payTypeDescEnum","alipay","wechatpay","unionpay","miniProgramEnum","appId","backgroundColor","payBase64Img","renderH5Checkout","element","options","console","log","userCreatePreOrder","createPreOrder","callback","error","errorElement","document","createElement","textContent","checkoutContainer","className","style","color","fontSize","margin","concat","padding","borderBottom","optionsContainer","paymentMethods","dataset","selectedMethod","forEach","btn","renderOpionPayBtn","appendChild","confirmBtn","marginTop","width","addEventListener","event","clickedOption","target","closest","disabled","_callee","_yield$userCreatePreO","pre_order_id","url","_context","code","msg","combileUrl","location","href","handlePayResult","_callee3","intervalId","_context3","setInterval","_result$data","result","trans_stat","clearInterval","setTimeout","_x","renderWebPayCheckout","_ref4","_callee4","_options$paymentMetho","_options$appearance","appearance","_yield$createPreOrder","iframe","_context4","height","border","src","join","onload","contentWindow","postMessage","type","_x5","_x6","renderH5PayButton","bindElement","innerHTML","display","justifyContent","alignItems","fontWeight","cursor","borderRadius","outline","_callee5","_yield$userCreatePreO2","_context5","renderWebPayButton","query","encodeURIComponent","alipayAppId","wxAppId","checked","option","label","htmlFor","img","marginRight","span","radioInput","id","position","right","name","Component","_classCallCheck","_createClass","key","mount","selector","querySelector","minHeight","minWidth","_objectSpread","renderPaymentButton","renderPayButton","HuiFuSDK","component","HFPay","_HFPay","hfPay"],"mappings":"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"}
|