feat: 添加微信支付和调试功能,配置环境变量和代理
- 添加微信支付相关API和配置 - 引入vconsole实现调试功能 - 配置环境变量文件(.env, .env.development, .env.production) - 添加代理配置和工具函数 - 更新依赖包以支持新功能
Showing
19 changed files
with
1176 additions
and
12 deletions
.env
0 → 100644
.env.development
0 → 100644
| 1 | +# 资源公共路径 | ||
| 2 | +VITE_BASE = / | ||
| 3 | + | ||
| 4 | +# 测试open-id | ||
| 5 | +# VITE_OPENID = api-test-openid | ||
| 6 | +# VITE_OPENID = o8BRf1gLDWieH3Y3JvbrI_4IjaME | ||
| 7 | +# VITE_OPENID = oJLZq5t9PIKLW9tm1oSUNAuPwssA | ||
| 8 | +# VITE_OPENID = oJLZq5uT_6GwIh2tQWh1F9IoHZ3U | ||
| 9 | +VITE_OPENID = | ||
| 10 | + | ||
| 11 | +# B端账号 | ||
| 12 | +VITE_ID = 13761653761 | ||
| 13 | + | ||
| 14 | +# 验证码 | ||
| 15 | +VITE_PIN = | ||
| 16 | + | ||
| 17 | +# 反向代理服务器地址 | ||
| 18 | +# VITE_PROXY_TARGET = https://oa.anxinchashi.com/ | ||
| 19 | +VITE_PROXY_TARGET = http://oa-dev.onwall.cn | ||
| 20 | +# VITE_PROXY_TARGET = https://www.wxgzjs.cn/ | ||
| 21 | + | ||
| 22 | +# PC端地址 | ||
| 23 | +VITE_MOBILE_URL = http://localhost:5173/ |
.env.production
0 → 100644
| 1 | +### | ||
| 2 | +# 资源公共路径 | ||
| 3 | +VITE_BASE = /f/main/sku_request/ | ||
| 4 | + | ||
| 5 | +# 测试open-id | ||
| 6 | +VITE_APP_OPENID = | ||
| 7 | + | ||
| 8 | +# B端账号 | ||
| 9 | +VITE_APP_ID = | ||
| 10 | + | ||
| 11 | +# 验证码 | ||
| 12 | +VITE_APP_PIN = | ||
| 13 | + | ||
| 14 | +# 反向代理服务器地址 | ||
| 15 | +VITE_PROXY_TARGET = http://oa.onwall.cn | ||
| 16 | + | ||
| 17 | +# PC端地址 | ||
| 18 | +# VITE_MOBILE_URL = http://oa.onwall.cn/f/guanzong/web/ | ||
| 19 | +# VITE_MOBILE_URL = http://guanzong.onwall.cn/f/guanzong/web/ |
.eslintrc-auto-import.json
0 → 100644
| 1 | +{ | ||
| 2 | + "globals": { | ||
| 3 | + "Component": true, | ||
| 4 | + "ComponentPublicInstance": true, | ||
| 5 | + "ComputedRef": true, | ||
| 6 | + "DirectiveBinding": true, | ||
| 7 | + "EffectScope": true, | ||
| 8 | + "ExtractDefaultPropTypes": true, | ||
| 9 | + "ExtractPropTypes": true, | ||
| 10 | + "ExtractPublicPropTypes": true, | ||
| 11 | + "InjectionKey": true, | ||
| 12 | + "MaybeRef": true, | ||
| 13 | + "MaybeRefOrGetter": true, | ||
| 14 | + "PropType": true, | ||
| 15 | + "Ref": true, | ||
| 16 | + "VNode": true, | ||
| 17 | + "WritableComputedRef": true, | ||
| 18 | + "computed": true, | ||
| 19 | + "createApp": true, | ||
| 20 | + "customRef": true, | ||
| 21 | + "defineAsyncComponent": true, | ||
| 22 | + "defineComponent": true, | ||
| 23 | + "effectScope": true, | ||
| 24 | + "getCurrentInstance": true, | ||
| 25 | + "getCurrentScope": true, | ||
| 26 | + "h": true, | ||
| 27 | + "inject": true, | ||
| 28 | + "isProxy": true, | ||
| 29 | + "isReactive": true, | ||
| 30 | + "isReadonly": true, | ||
| 31 | + "isRef": true, | ||
| 32 | + "markRaw": true, | ||
| 33 | + "nextTick": true, | ||
| 34 | + "onActivated": true, | ||
| 35 | + "onBeforeMount": true, | ||
| 36 | + "onBeforeRouteLeave": true, | ||
| 37 | + "onBeforeRouteUpdate": true, | ||
| 38 | + "onBeforeUnmount": true, | ||
| 39 | + "onBeforeUpdate": true, | ||
| 40 | + "onDeactivated": true, | ||
| 41 | + "onErrorCaptured": true, | ||
| 42 | + "onMounted": true, | ||
| 43 | + "onRenderTracked": true, | ||
| 44 | + "onRenderTriggered": true, | ||
| 45 | + "onScopeDispose": true, | ||
| 46 | + "onServerPrefetch": true, | ||
| 47 | + "onUnmounted": true, | ||
| 48 | + "onUpdated": true, | ||
| 49 | + "onWatcherCleanup": true, | ||
| 50 | + "provide": true, | ||
| 51 | + "reactive": true, | ||
| 52 | + "readonly": true, | ||
| 53 | + "ref": true, | ||
| 54 | + "resolveComponent": true, | ||
| 55 | + "shallowReactive": true, | ||
| 56 | + "shallowReadonly": true, | ||
| 57 | + "shallowRef": true, | ||
| 58 | + "toRaw": true, | ||
| 59 | + "toRef": true, | ||
| 60 | + "toRefs": true, | ||
| 61 | + "toValue": true, | ||
| 62 | + "triggerRef": true, | ||
| 63 | + "unref": true, | ||
| 64 | + "useAttrs": true, | ||
| 65 | + "useCssModule": true, | ||
| 66 | + "useCssVars": true, | ||
| 67 | + "useId": true, | ||
| 68 | + "useLink": true, | ||
| 69 | + "useModel": true, | ||
| 70 | + "useRoute": true, | ||
| 71 | + "useRouter": true, | ||
| 72 | + "useSlots": true, | ||
| 73 | + "useTemplateRef": true, | ||
| 74 | + "watch": true, | ||
| 75 | + "watchEffect": true, | ||
| 76 | + "watchPostEffect": true, | ||
| 77 | + "watchSyncEffect": true | ||
| 78 | + } | ||
| 79 | +} |
build/proxy.js
0 → 100644
| ... | @@ -10,15 +10,19 @@ | ... | @@ -10,15 +10,19 @@ |
| 10 | "dependencies": { | 10 | "dependencies": { |
| 11 | "@vant/use": "^1.6.0", | 11 | "@vant/use": "^1.6.0", |
| 12 | "vant": "^4.9.18", | 12 | "vant": "^4.9.18", |
| 13 | + "vconsole": "^3.15.1", | ||
| 13 | "vue": "^3.5.13", | 14 | "vue": "^3.5.13", |
| 14 | - "vue-router": "^4.5.0" | 15 | + "vue-router": "^4.5.0", |
| 16 | + "weixin-js-sdk": "^1.6.5" | ||
| 15 | }, | 17 | }, |
| 16 | "devDependencies": { | 18 | "devDependencies": { |
| 17 | "@vitejs/plugin-vue": "^5.2.1", | 19 | "@vitejs/plugin-vue": "^5.2.1", |
| 18 | "@vitejs/plugin-vue-jsx": "^4.1.2", | 20 | "@vitejs/plugin-vue-jsx": "^4.1.2", |
| 19 | "@vueuse/core": "^13.0.0", | 21 | "@vueuse/core": "^13.0.0", |
| 20 | "autoprefixer": "^10.4.19", | 22 | "autoprefixer": "^10.4.19", |
| 23 | + "axios": "^1.8.4", | ||
| 21 | "postcss": "^8.4.35", | 24 | "postcss": "^8.4.35", |
| 25 | + "qs": "^6.14.0", | ||
| 22 | "tailwindcss": "^3.4.1", | 26 | "tailwindcss": "^3.4.1", |
| 23 | "unplugin-auto-import": "^19.1.1", | 27 | "unplugin-auto-import": "^19.1.1", |
| 24 | "unplugin-vue-components": "^28.4.1", | 28 | "unplugin-vue-components": "^28.4.1", |
| ... | @@ -372,6 +376,17 @@ | ... | @@ -372,6 +376,17 @@ |
| 372 | "@babel/core": "^7.0.0-0" | 376 | "@babel/core": "^7.0.0-0" |
| 373 | } | 377 | } |
| 374 | }, | 378 | }, |
| 379 | + "node_modules/@babel/runtime": { | ||
| 380 | + "version": "7.26.10", | ||
| 381 | + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", | ||
| 382 | + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", | ||
| 383 | + "dependencies": { | ||
| 384 | + "regenerator-runtime": "^0.14.0" | ||
| 385 | + }, | ||
| 386 | + "engines": { | ||
| 387 | + "node": ">=6.9.0" | ||
| 388 | + } | ||
| 389 | + }, | ||
| 375 | "node_modules/@babel/template": { | 390 | "node_modules/@babel/template": { |
| 376 | "version": "7.26.9", | 391 | "version": "7.26.9", |
| 377 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", | 392 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", |
| ... | @@ -1500,6 +1515,12 @@ | ... | @@ -1500,6 +1515,12 @@ |
| 1500 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", | 1515 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", |
| 1501 | "dev": true | 1516 | "dev": true |
| 1502 | }, | 1517 | }, |
| 1518 | + "node_modules/asynckit": { | ||
| 1519 | + "version": "0.4.0", | ||
| 1520 | + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||
| 1521 | + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", | ||
| 1522 | + "dev": true | ||
| 1523 | + }, | ||
| 1503 | "node_modules/autoprefixer": { | 1524 | "node_modules/autoprefixer": { |
| 1504 | "version": "10.4.19", | 1525 | "version": "10.4.19", |
| 1505 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", | 1526 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", |
| ... | @@ -1537,6 +1558,17 @@ | ... | @@ -1537,6 +1558,17 @@ |
| 1537 | "postcss": "^8.1.0" | 1558 | "postcss": "^8.1.0" |
| 1538 | } | 1559 | } |
| 1539 | }, | 1560 | }, |
| 1561 | + "node_modules/axios": { | ||
| 1562 | + "version": "1.8.4", | ||
| 1563 | + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", | ||
| 1564 | + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", | ||
| 1565 | + "dev": true, | ||
| 1566 | + "dependencies": { | ||
| 1567 | + "follow-redirects": "^1.15.6", | ||
| 1568 | + "form-data": "^4.0.0", | ||
| 1569 | + "proxy-from-env": "^1.1.0" | ||
| 1570 | + } | ||
| 1571 | + }, | ||
| 1540 | "node_modules/balanced-match": { | 1572 | "node_modules/balanced-match": { |
| 1541 | "version": "1.0.2", | 1573 | "version": "1.0.2", |
| 1542 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | 1574 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", |
| ... | @@ -1608,6 +1640,35 @@ | ... | @@ -1608,6 +1640,35 @@ |
| 1608 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" | 1640 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" |
| 1609 | } | 1641 | } |
| 1610 | }, | 1642 | }, |
| 1643 | + "node_modules/call-bind-apply-helpers": { | ||
| 1644 | + "version": "1.0.2", | ||
| 1645 | + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", | ||
| 1646 | + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", | ||
| 1647 | + "dev": true, | ||
| 1648 | + "dependencies": { | ||
| 1649 | + "es-errors": "^1.3.0", | ||
| 1650 | + "function-bind": "^1.1.2" | ||
| 1651 | + }, | ||
| 1652 | + "engines": { | ||
| 1653 | + "node": ">= 0.4" | ||
| 1654 | + } | ||
| 1655 | + }, | ||
| 1656 | + "node_modules/call-bound": { | ||
| 1657 | + "version": "1.0.4", | ||
| 1658 | + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", | ||
| 1659 | + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", | ||
| 1660 | + "dev": true, | ||
| 1661 | + "dependencies": { | ||
| 1662 | + "call-bind-apply-helpers": "^1.0.2", | ||
| 1663 | + "get-intrinsic": "^1.3.0" | ||
| 1664 | + }, | ||
| 1665 | + "engines": { | ||
| 1666 | + "node": ">= 0.4" | ||
| 1667 | + }, | ||
| 1668 | + "funding": { | ||
| 1669 | + "url": "https://github.com/sponsors/ljharb" | ||
| 1670 | + } | ||
| 1671 | + }, | ||
| 1611 | "node_modules/camelcase-css": { | 1672 | "node_modules/camelcase-css": { |
| 1612 | "version": "2.0.1", | 1673 | "version": "2.0.1", |
| 1613 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", | 1674 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", |
| ... | @@ -1691,6 +1752,18 @@ | ... | @@ -1691,6 +1752,18 @@ |
| 1691 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | 1752 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |
| 1692 | "dev": true | 1753 | "dev": true |
| 1693 | }, | 1754 | }, |
| 1755 | + "node_modules/combined-stream": { | ||
| 1756 | + "version": "1.0.8", | ||
| 1757 | + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | ||
| 1758 | + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | ||
| 1759 | + "dev": true, | ||
| 1760 | + "dependencies": { | ||
| 1761 | + "delayed-stream": "~1.0.0" | ||
| 1762 | + }, | ||
| 1763 | + "engines": { | ||
| 1764 | + "node": ">= 0.8" | ||
| 1765 | + } | ||
| 1766 | + }, | ||
| 1694 | "node_modules/commander": { | 1767 | "node_modules/commander": { |
| 1695 | "version": "4.1.1", | 1768 | "version": "4.1.1", |
| 1696 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", | 1769 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", |
| ... | @@ -1712,6 +1785,27 @@ | ... | @@ -1712,6 +1785,27 @@ |
| 1712 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", | 1785 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", |
| 1713 | "dev": true | 1786 | "dev": true |
| 1714 | }, | 1787 | }, |
| 1788 | + "node_modules/copy-text-to-clipboard": { | ||
| 1789 | + "version": "3.2.0", | ||
| 1790 | + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", | ||
| 1791 | + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", | ||
| 1792 | + "engines": { | ||
| 1793 | + "node": ">=12" | ||
| 1794 | + }, | ||
| 1795 | + "funding": { | ||
| 1796 | + "url": "https://github.com/sponsors/sindresorhus" | ||
| 1797 | + } | ||
| 1798 | + }, | ||
| 1799 | + "node_modules/core-js": { | ||
| 1800 | + "version": "3.41.0", | ||
| 1801 | + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.41.0.tgz", | ||
| 1802 | + "integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==", | ||
| 1803 | + "hasInstallScript": true, | ||
| 1804 | + "funding": { | ||
| 1805 | + "type": "opencollective", | ||
| 1806 | + "url": "https://opencollective.com/core-js" | ||
| 1807 | + } | ||
| 1808 | + }, | ||
| 1715 | "node_modules/cross-spawn": { | 1809 | "node_modules/cross-spawn": { |
| 1716 | "version": "7.0.6", | 1810 | "version": "7.0.6", |
| 1717 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", | 1811 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", |
| ... | @@ -1760,6 +1854,15 @@ | ... | @@ -1760,6 +1854,15 @@ |
| 1760 | } | 1854 | } |
| 1761 | } | 1855 | } |
| 1762 | }, | 1856 | }, |
| 1857 | + "node_modules/delayed-stream": { | ||
| 1858 | + "version": "1.0.0", | ||
| 1859 | + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||
| 1860 | + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", | ||
| 1861 | + "dev": true, | ||
| 1862 | + "engines": { | ||
| 1863 | + "node": ">=0.4.0" | ||
| 1864 | + } | ||
| 1865 | + }, | ||
| 1763 | "node_modules/didyoumean": { | 1866 | "node_modules/didyoumean": { |
| 1764 | "version": "1.2.2", | 1867 | "version": "1.2.2", |
| 1765 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", | 1868 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", |
| ... | @@ -1772,6 +1875,20 @@ | ... | @@ -1772,6 +1875,20 @@ |
| 1772 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", | 1875 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", |
| 1773 | "dev": true | 1876 | "dev": true |
| 1774 | }, | 1877 | }, |
| 1878 | + "node_modules/dunder-proto": { | ||
| 1879 | + "version": "1.0.1", | ||
| 1880 | + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", | ||
| 1881 | + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", | ||
| 1882 | + "dev": true, | ||
| 1883 | + "dependencies": { | ||
| 1884 | + "call-bind-apply-helpers": "^1.0.1", | ||
| 1885 | + "es-errors": "^1.3.0", | ||
| 1886 | + "gopd": "^1.2.0" | ||
| 1887 | + }, | ||
| 1888 | + "engines": { | ||
| 1889 | + "node": ">= 0.4" | ||
| 1890 | + } | ||
| 1891 | + }, | ||
| 1775 | "node_modules/eastasianwidth": { | 1892 | "node_modules/eastasianwidth": { |
| 1776 | "version": "0.2.0", | 1893 | "version": "0.2.0", |
| 1777 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", | 1894 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", |
| ... | @@ -1801,6 +1918,51 @@ | ... | @@ -1801,6 +1918,51 @@ |
| 1801 | "url": "https://github.com/fb55/entities?sponsor=1" | 1918 | "url": "https://github.com/fb55/entities?sponsor=1" |
| 1802 | } | 1919 | } |
| 1803 | }, | 1920 | }, |
| 1921 | + "node_modules/es-define-property": { | ||
| 1922 | + "version": "1.0.1", | ||
| 1923 | + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", | ||
| 1924 | + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", | ||
| 1925 | + "dev": true, | ||
| 1926 | + "engines": { | ||
| 1927 | + "node": ">= 0.4" | ||
| 1928 | + } | ||
| 1929 | + }, | ||
| 1930 | + "node_modules/es-errors": { | ||
| 1931 | + "version": "1.3.0", | ||
| 1932 | + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", | ||
| 1933 | + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", | ||
| 1934 | + "dev": true, | ||
| 1935 | + "engines": { | ||
| 1936 | + "node": ">= 0.4" | ||
| 1937 | + } | ||
| 1938 | + }, | ||
| 1939 | + "node_modules/es-object-atoms": { | ||
| 1940 | + "version": "1.1.1", | ||
| 1941 | + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", | ||
| 1942 | + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", | ||
| 1943 | + "dev": true, | ||
| 1944 | + "dependencies": { | ||
| 1945 | + "es-errors": "^1.3.0" | ||
| 1946 | + }, | ||
| 1947 | + "engines": { | ||
| 1948 | + "node": ">= 0.4" | ||
| 1949 | + } | ||
| 1950 | + }, | ||
| 1951 | + "node_modules/es-set-tostringtag": { | ||
| 1952 | + "version": "2.1.0", | ||
| 1953 | + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", | ||
| 1954 | + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", | ||
| 1955 | + "dev": true, | ||
| 1956 | + "dependencies": { | ||
| 1957 | + "es-errors": "^1.3.0", | ||
| 1958 | + "get-intrinsic": "^1.2.6", | ||
| 1959 | + "has-tostringtag": "^1.0.2", | ||
| 1960 | + "hasown": "^2.0.2" | ||
| 1961 | + }, | ||
| 1962 | + "engines": { | ||
| 1963 | + "node": ">= 0.4" | ||
| 1964 | + } | ||
| 1965 | + }, | ||
| 1804 | "node_modules/esbuild": { | 1966 | "node_modules/esbuild": { |
| 1805 | "version": "0.25.1", | 1967 | "version": "0.25.1", |
| 1806 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", | 1968 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", |
| ... | @@ -1922,6 +2084,26 @@ | ... | @@ -1922,6 +2084,26 @@ |
| 1922 | "node": ">=8" | 2084 | "node": ">=8" |
| 1923 | } | 2085 | } |
| 1924 | }, | 2086 | }, |
| 2087 | + "node_modules/follow-redirects": { | ||
| 2088 | + "version": "1.15.9", | ||
| 2089 | + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", | ||
| 2090 | + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", | ||
| 2091 | + "dev": true, | ||
| 2092 | + "funding": [ | ||
| 2093 | + { | ||
| 2094 | + "type": "individual", | ||
| 2095 | + "url": "https://github.com/sponsors/RubenVerborgh" | ||
| 2096 | + } | ||
| 2097 | + ], | ||
| 2098 | + "engines": { | ||
| 2099 | + "node": ">=4.0" | ||
| 2100 | + }, | ||
| 2101 | + "peerDependenciesMeta": { | ||
| 2102 | + "debug": { | ||
| 2103 | + "optional": true | ||
| 2104 | + } | ||
| 2105 | + } | ||
| 2106 | + }, | ||
| 1925 | "node_modules/foreground-child": { | 2107 | "node_modules/foreground-child": { |
| 1926 | "version": "3.3.1", | 2108 | "version": "3.3.1", |
| 1927 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", | 2109 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", |
| ... | @@ -1938,6 +2120,21 @@ | ... | @@ -1938,6 +2120,21 @@ |
| 1938 | "url": "https://github.com/sponsors/isaacs" | 2120 | "url": "https://github.com/sponsors/isaacs" |
| 1939 | } | 2121 | } |
| 1940 | }, | 2122 | }, |
| 2123 | + "node_modules/form-data": { | ||
| 2124 | + "version": "4.0.2", | ||
| 2125 | + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", | ||
| 2126 | + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", | ||
| 2127 | + "dev": true, | ||
| 2128 | + "dependencies": { | ||
| 2129 | + "asynckit": "^0.4.0", | ||
| 2130 | + "combined-stream": "^1.0.8", | ||
| 2131 | + "es-set-tostringtag": "^2.1.0", | ||
| 2132 | + "mime-types": "^2.1.12" | ||
| 2133 | + }, | ||
| 2134 | + "engines": { | ||
| 2135 | + "node": ">= 6" | ||
| 2136 | + } | ||
| 2137 | + }, | ||
| 1941 | "node_modules/fraction.js": { | 2138 | "node_modules/fraction.js": { |
| 1942 | "version": "4.3.7", | 2139 | "version": "4.3.7", |
| 1943 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", | 2140 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", |
| ... | @@ -1983,6 +2180,43 @@ | ... | @@ -1983,6 +2180,43 @@ |
| 1983 | "node": ">=6.9.0" | 2180 | "node": ">=6.9.0" |
| 1984 | } | 2181 | } |
| 1985 | }, | 2182 | }, |
| 2183 | + "node_modules/get-intrinsic": { | ||
| 2184 | + "version": "1.3.0", | ||
| 2185 | + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", | ||
| 2186 | + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", | ||
| 2187 | + "dev": true, | ||
| 2188 | + "dependencies": { | ||
| 2189 | + "call-bind-apply-helpers": "^1.0.2", | ||
| 2190 | + "es-define-property": "^1.0.1", | ||
| 2191 | + "es-errors": "^1.3.0", | ||
| 2192 | + "es-object-atoms": "^1.1.1", | ||
| 2193 | + "function-bind": "^1.1.2", | ||
| 2194 | + "get-proto": "^1.0.1", | ||
| 2195 | + "gopd": "^1.2.0", | ||
| 2196 | + "has-symbols": "^1.1.0", | ||
| 2197 | + "hasown": "^2.0.2", | ||
| 2198 | + "math-intrinsics": "^1.1.0" | ||
| 2199 | + }, | ||
| 2200 | + "engines": { | ||
| 2201 | + "node": ">= 0.4" | ||
| 2202 | + }, | ||
| 2203 | + "funding": { | ||
| 2204 | + "url": "https://github.com/sponsors/ljharb" | ||
| 2205 | + } | ||
| 2206 | + }, | ||
| 2207 | + "node_modules/get-proto": { | ||
| 2208 | + "version": "1.0.1", | ||
| 2209 | + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", | ||
| 2210 | + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", | ||
| 2211 | + "dev": true, | ||
| 2212 | + "dependencies": { | ||
| 2213 | + "dunder-proto": "^1.0.1", | ||
| 2214 | + "es-object-atoms": "^1.0.0" | ||
| 2215 | + }, | ||
| 2216 | + "engines": { | ||
| 2217 | + "node": ">= 0.4" | ||
| 2218 | + } | ||
| 2219 | + }, | ||
| 1986 | "node_modules/glob": { | 2220 | "node_modules/glob": { |
| 1987 | "version": "10.4.5", | 2221 | "version": "10.4.5", |
| 1988 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", | 2222 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", |
| ... | @@ -2024,6 +2258,45 @@ | ... | @@ -2024,6 +2258,45 @@ |
| 2024 | "node": ">=4" | 2258 | "node": ">=4" |
| 2025 | } | 2259 | } |
| 2026 | }, | 2260 | }, |
| 2261 | + "node_modules/gopd": { | ||
| 2262 | + "version": "1.2.0", | ||
| 2263 | + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", | ||
| 2264 | + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", | ||
| 2265 | + "dev": true, | ||
| 2266 | + "engines": { | ||
| 2267 | + "node": ">= 0.4" | ||
| 2268 | + }, | ||
| 2269 | + "funding": { | ||
| 2270 | + "url": "https://github.com/sponsors/ljharb" | ||
| 2271 | + } | ||
| 2272 | + }, | ||
| 2273 | + "node_modules/has-symbols": { | ||
| 2274 | + "version": "1.1.0", | ||
| 2275 | + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", | ||
| 2276 | + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", | ||
| 2277 | + "dev": true, | ||
| 2278 | + "engines": { | ||
| 2279 | + "node": ">= 0.4" | ||
| 2280 | + }, | ||
| 2281 | + "funding": { | ||
| 2282 | + "url": "https://github.com/sponsors/ljharb" | ||
| 2283 | + } | ||
| 2284 | + }, | ||
| 2285 | + "node_modules/has-tostringtag": { | ||
| 2286 | + "version": "1.0.2", | ||
| 2287 | + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", | ||
| 2288 | + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", | ||
| 2289 | + "dev": true, | ||
| 2290 | + "dependencies": { | ||
| 2291 | + "has-symbols": "^1.0.3" | ||
| 2292 | + }, | ||
| 2293 | + "engines": { | ||
| 2294 | + "node": ">= 0.4" | ||
| 2295 | + }, | ||
| 2296 | + "funding": { | ||
| 2297 | + "url": "https://github.com/sponsors/ljharb" | ||
| 2298 | + } | ||
| 2299 | + }, | ||
| 2027 | "node_modules/hasown": { | 2300 | "node_modules/hasown": { |
| 2028 | "version": "2.0.2", | 2301 | "version": "2.0.2", |
| 2029 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", | 2302 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", |
| ... | @@ -2208,6 +2481,15 @@ | ... | @@ -2208,6 +2481,15 @@ |
| 2208 | "@jridgewell/sourcemap-codec": "^1.5.0" | 2481 | "@jridgewell/sourcemap-codec": "^1.5.0" |
| 2209 | } | 2482 | } |
| 2210 | }, | 2483 | }, |
| 2484 | + "node_modules/math-intrinsics": { | ||
| 2485 | + "version": "1.1.0", | ||
| 2486 | + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", | ||
| 2487 | + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", | ||
| 2488 | + "dev": true, | ||
| 2489 | + "engines": { | ||
| 2490 | + "node": ">= 0.4" | ||
| 2491 | + } | ||
| 2492 | + }, | ||
| 2211 | "node_modules/merge2": { | 2493 | "node_modules/merge2": { |
| 2212 | "version": "1.4.1", | 2494 | "version": "1.4.1", |
| 2213 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", | 2495 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", |
| ... | @@ -2230,6 +2512,27 @@ | ... | @@ -2230,6 +2512,27 @@ |
| 2230 | "node": ">=8.6" | 2512 | "node": ">=8.6" |
| 2231 | } | 2513 | } |
| 2232 | }, | 2514 | }, |
| 2515 | + "node_modules/mime-db": { | ||
| 2516 | + "version": "1.52.0", | ||
| 2517 | + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | ||
| 2518 | + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", | ||
| 2519 | + "dev": true, | ||
| 2520 | + "engines": { | ||
| 2521 | + "node": ">= 0.6" | ||
| 2522 | + } | ||
| 2523 | + }, | ||
| 2524 | + "node_modules/mime-types": { | ||
| 2525 | + "version": "2.1.35", | ||
| 2526 | + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | ||
| 2527 | + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | ||
| 2528 | + "dev": true, | ||
| 2529 | + "dependencies": { | ||
| 2530 | + "mime-db": "1.52.0" | ||
| 2531 | + }, | ||
| 2532 | + "engines": { | ||
| 2533 | + "node": ">= 0.6" | ||
| 2534 | + } | ||
| 2535 | + }, | ||
| 2233 | "node_modules/minimatch": { | 2536 | "node_modules/minimatch": { |
| 2234 | "version": "9.0.5", | 2537 | "version": "9.0.5", |
| 2235 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", | 2538 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", |
| ... | @@ -2289,6 +2592,11 @@ | ... | @@ -2289,6 +2592,11 @@ |
| 2289 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | 2592 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", |
| 2290 | "dev": true | 2593 | "dev": true |
| 2291 | }, | 2594 | }, |
| 2595 | + "node_modules/mutation-observer": { | ||
| 2596 | + "version": "1.0.3", | ||
| 2597 | + "resolved": "https://registry.npmjs.org/mutation-observer/-/mutation-observer-1.0.3.tgz", | ||
| 2598 | + "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==" | ||
| 2599 | + }, | ||
| 2292 | "node_modules/mz": { | 2600 | "node_modules/mz": { |
| 2293 | "version": "2.7.0", | 2601 | "version": "2.7.0", |
| 2294 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", | 2602 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", |
| ... | @@ -2359,6 +2667,18 @@ | ... | @@ -2359,6 +2667,18 @@ |
| 2359 | "node": ">= 6" | 2667 | "node": ">= 6" |
| 2360 | } | 2668 | } |
| 2361 | }, | 2669 | }, |
| 2670 | + "node_modules/object-inspect": { | ||
| 2671 | + "version": "1.13.4", | ||
| 2672 | + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", | ||
| 2673 | + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", | ||
| 2674 | + "dev": true, | ||
| 2675 | + "engines": { | ||
| 2676 | + "node": ">= 0.4" | ||
| 2677 | + }, | ||
| 2678 | + "funding": { | ||
| 2679 | + "url": "https://github.com/sponsors/ljharb" | ||
| 2680 | + } | ||
| 2681 | + }, | ||
| 2362 | "node_modules/package-json-from-dist": { | 2682 | "node_modules/package-json-from-dist": { |
| 2363 | "version": "1.0.1", | 2683 | "version": "1.0.1", |
| 2364 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", | 2684 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", |
| ... | @@ -2603,6 +2923,27 @@ | ... | @@ -2603,6 +2923,27 @@ |
| 2603 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", | 2923 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", |
| 2604 | "dev": true | 2924 | "dev": true |
| 2605 | }, | 2925 | }, |
| 2926 | + "node_modules/proxy-from-env": { | ||
| 2927 | + "version": "1.1.0", | ||
| 2928 | + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", | ||
| 2929 | + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", | ||
| 2930 | + "dev": true | ||
| 2931 | + }, | ||
| 2932 | + "node_modules/qs": { | ||
| 2933 | + "version": "6.14.0", | ||
| 2934 | + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", | ||
| 2935 | + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", | ||
| 2936 | + "dev": true, | ||
| 2937 | + "dependencies": { | ||
| 2938 | + "side-channel": "^1.1.0" | ||
| 2939 | + }, | ||
| 2940 | + "engines": { | ||
| 2941 | + "node": ">=0.6" | ||
| 2942 | + }, | ||
| 2943 | + "funding": { | ||
| 2944 | + "url": "https://github.com/sponsors/ljharb" | ||
| 2945 | + } | ||
| 2946 | + }, | ||
| 2606 | "node_modules/quansync": { | 2947 | "node_modules/quansync": { |
| 2607 | "version": "0.2.10", | 2948 | "version": "0.2.10", |
| 2608 | "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", | 2949 | "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", |
| ... | @@ -2660,6 +3001,11 @@ | ... | @@ -2660,6 +3001,11 @@ |
| 2660 | "node": ">=8.10.0" | 3001 | "node": ">=8.10.0" |
| 2661 | } | 3002 | } |
| 2662 | }, | 3003 | }, |
| 3004 | + "node_modules/regenerator-runtime": { | ||
| 3005 | + "version": "0.14.1", | ||
| 3006 | + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", | ||
| 3007 | + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" | ||
| 3008 | + }, | ||
| 2663 | "node_modules/resolve": { | 3009 | "node_modules/resolve": { |
| 2664 | "version": "1.22.10", | 3010 | "version": "1.22.10", |
| 2665 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", | 3011 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", |
| ... | @@ -2787,6 +3133,78 @@ | ... | @@ -2787,6 +3133,78 @@ |
| 2787 | "node": ">=8" | 3133 | "node": ">=8" |
| 2788 | } | 3134 | } |
| 2789 | }, | 3135 | }, |
| 3136 | + "node_modules/side-channel": { | ||
| 3137 | + "version": "1.1.0", | ||
| 3138 | + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", | ||
| 3139 | + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", | ||
| 3140 | + "dev": true, | ||
| 3141 | + "dependencies": { | ||
| 3142 | + "es-errors": "^1.3.0", | ||
| 3143 | + "object-inspect": "^1.13.3", | ||
| 3144 | + "side-channel-list": "^1.0.0", | ||
| 3145 | + "side-channel-map": "^1.0.1", | ||
| 3146 | + "side-channel-weakmap": "^1.0.2" | ||
| 3147 | + }, | ||
| 3148 | + "engines": { | ||
| 3149 | + "node": ">= 0.4" | ||
| 3150 | + }, | ||
| 3151 | + "funding": { | ||
| 3152 | + "url": "https://github.com/sponsors/ljharb" | ||
| 3153 | + } | ||
| 3154 | + }, | ||
| 3155 | + "node_modules/side-channel-list": { | ||
| 3156 | + "version": "1.0.0", | ||
| 3157 | + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", | ||
| 3158 | + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", | ||
| 3159 | + "dev": true, | ||
| 3160 | + "dependencies": { | ||
| 3161 | + "es-errors": "^1.3.0", | ||
| 3162 | + "object-inspect": "^1.13.3" | ||
| 3163 | + }, | ||
| 3164 | + "engines": { | ||
| 3165 | + "node": ">= 0.4" | ||
| 3166 | + }, | ||
| 3167 | + "funding": { | ||
| 3168 | + "url": "https://github.com/sponsors/ljharb" | ||
| 3169 | + } | ||
| 3170 | + }, | ||
| 3171 | + "node_modules/side-channel-map": { | ||
| 3172 | + "version": "1.0.1", | ||
| 3173 | + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", | ||
| 3174 | + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", | ||
| 3175 | + "dev": true, | ||
| 3176 | + "dependencies": { | ||
| 3177 | + "call-bound": "^1.0.2", | ||
| 3178 | + "es-errors": "^1.3.0", | ||
| 3179 | + "get-intrinsic": "^1.2.5", | ||
| 3180 | + "object-inspect": "^1.13.3" | ||
| 3181 | + }, | ||
| 3182 | + "engines": { | ||
| 3183 | + "node": ">= 0.4" | ||
| 3184 | + }, | ||
| 3185 | + "funding": { | ||
| 3186 | + "url": "https://github.com/sponsors/ljharb" | ||
| 3187 | + } | ||
| 3188 | + }, | ||
| 3189 | + "node_modules/side-channel-weakmap": { | ||
| 3190 | + "version": "1.0.2", | ||
| 3191 | + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", | ||
| 3192 | + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", | ||
| 3193 | + "dev": true, | ||
| 3194 | + "dependencies": { | ||
| 3195 | + "call-bound": "^1.0.2", | ||
| 3196 | + "es-errors": "^1.3.0", | ||
| 3197 | + "get-intrinsic": "^1.2.5", | ||
| 3198 | + "object-inspect": "^1.13.3", | ||
| 3199 | + "side-channel-map": "^1.0.1" | ||
| 3200 | + }, | ||
| 3201 | + "engines": { | ||
| 3202 | + "node": ">= 0.4" | ||
| 3203 | + }, | ||
| 3204 | + "funding": { | ||
| 3205 | + "url": "https://github.com/sponsors/ljharb" | ||
| 3206 | + } | ||
| 3207 | + }, | ||
| 2790 | "node_modules/signal-exit": { | 3208 | "node_modules/signal-exit": { |
| 2791 | "version": "4.1.0", | 3209 | "version": "4.1.0", |
| 2792 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", | 3210 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", |
| ... | @@ -3311,6 +3729,17 @@ | ... | @@ -3311,6 +3729,17 @@ |
| 3311 | "vue": "^3.0.0" | 3729 | "vue": "^3.0.0" |
| 3312 | } | 3730 | } |
| 3313 | }, | 3731 | }, |
| 3732 | + "node_modules/vconsole": { | ||
| 3733 | + "version": "3.15.1", | ||
| 3734 | + "resolved": "https://registry.npmjs.org/vconsole/-/vconsole-3.15.1.tgz", | ||
| 3735 | + "integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==", | ||
| 3736 | + "dependencies": { | ||
| 3737 | + "@babel/runtime": "^7.17.2", | ||
| 3738 | + "copy-text-to-clipboard": "^3.0.1", | ||
| 3739 | + "core-js": "^3.11.0", | ||
| 3740 | + "mutation-observer": "^1.0.3" | ||
| 3741 | + } | ||
| 3742 | + }, | ||
| 3314 | "node_modules/vite": { | 3743 | "node_modules/vite": { |
| 3315 | "version": "6.2.2", | 3744 | "version": "6.2.2", |
| 3316 | "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz", | 3745 | "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz", |
| ... | @@ -3450,6 +3879,11 @@ | ... | @@ -3450,6 +3879,11 @@ |
| 3450 | "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", | 3879 | "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", |
| 3451 | "dev": true | 3880 | "dev": true |
| 3452 | }, | 3881 | }, |
| 3882 | + "node_modules/weixin-js-sdk": { | ||
| 3883 | + "version": "1.6.5", | ||
| 3884 | + "resolved": "https://registry.npmjs.org/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz", | ||
| 3885 | + "integrity": "sha512-Gph1WAWB2YN/lMOFB/ymb+hbU/wYazzJgu6PMMktCy9cSCeW5wA6Zwt0dpahJbJ+RJEwtTv2x9iIu0U4enuVSQ==" | ||
| 3886 | + }, | ||
| 3453 | "node_modules/which": { | 3887 | "node_modules/which": { |
| 3454 | "version": "2.0.2", | 3888 | "version": "2.0.2", |
| 3455 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", | 3889 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", | ... | ... |
| ... | @@ -11,15 +11,19 @@ | ... | @@ -11,15 +11,19 @@ |
| 11 | "dependencies": { | 11 | "dependencies": { |
| 12 | "@vant/use": "^1.6.0", | 12 | "@vant/use": "^1.6.0", |
| 13 | "vant": "^4.9.18", | 13 | "vant": "^4.9.18", |
| 14 | + "vconsole": "^3.15.1", | ||
| 14 | "vue": "^3.5.13", | 15 | "vue": "^3.5.13", |
| 15 | - "vue-router": "^4.5.0" | 16 | + "vue-router": "^4.5.0", |
| 17 | + "weixin-js-sdk": "^1.6.5" | ||
| 16 | }, | 18 | }, |
| 17 | "devDependencies": { | 19 | "devDependencies": { |
| 18 | "@vitejs/plugin-vue": "^5.2.1", | 20 | "@vitejs/plugin-vue": "^5.2.1", |
| 19 | "@vitejs/plugin-vue-jsx": "^4.1.2", | 21 | "@vitejs/plugin-vue-jsx": "^4.1.2", |
| 20 | "@vueuse/core": "^13.0.0", | 22 | "@vueuse/core": "^13.0.0", |
| 21 | "autoprefixer": "^10.4.19", | 23 | "autoprefixer": "^10.4.19", |
| 24 | + "axios": "^1.8.4", | ||
| 22 | "postcss": "^8.4.35", | 25 | "postcss": "^8.4.35", |
| 26 | + "qs": "^6.14.0", | ||
| 23 | "tailwindcss": "^3.4.1", | 27 | "tailwindcss": "^3.4.1", |
| 24 | "unplugin-auto-import": "^19.1.1", | 28 | "unplugin-auto-import": "^19.1.1", |
| 25 | "unplugin-vue-components": "^28.4.1", | 29 | "unplugin-vue-components": "^28.4.1", | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2025-03-20 19:53:12 | 2 | * @Date: 2025-03-20 19:53:12 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2025-03-20 20:06:10 | 4 | + * @LastEditTime: 2025-03-20 23:56:05 |
| 5 | - * @FilePath: /vue-vite/src/App.vue | 5 | + * @FilePath: /mlaj/src/App.vue |
| 6 | * @Description: 文件描述 | 6 | * @Description: 文件描述 |
| 7 | --> | 7 | --> |
| 8 | <script setup> | 8 | <script setup> |
| 9 | import { RouterView } from "vue-router"; | 9 | import { RouterView } from "vue-router"; |
| 10 | -import { provideAuth } from '@/contexts/auth'; | 10 | +import { provideAuth } from "@/contexts/auth"; |
| 11 | -import { provideCart } from '@/contexts/cart'; | 11 | +import { provideCart } from "@/contexts/cart"; |
| 12 | +// 会根据配置判断是否显示调试控件 | ||
| 13 | +// eslint-disable-next-line no-unused-vars | ||
| 14 | +import vConsole from "@/utils/vconsole"; | ||
| 15 | +// 初始化WX环境 | ||
| 16 | +import wx from "weixin-js-sdk"; | ||
| 17 | +import { wxJsAPI } from "@/api/wx/config"; | ||
| 18 | +import { apiList } from "@/api/wx/jsApiList.js"; | ||
| 19 | +import { wxInfo, getUrlParams, stringifyQuery } from "@/utils/tools"; | ||
| 12 | 20 | ||
| 13 | // 提供认证和购物车上下文 | 21 | // 提供认证和购物车上下文 |
| 14 | provideAuth(); | 22 | provideAuth(); | ... | ... |
src/api/common.js
0 → 100644
| 1 | +/* | ||
| 2 | + * @Date: 2022-06-17 14:54:29 | ||
| 3 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 4 | + * @LastEditTime: 2022-12-01 16:26:27 | ||
| 5 | + * @FilePath: /data-table/src/api/common.js | ||
| 6 | + * @Description: 通用接口 | ||
| 7 | + */ | ||
| 8 | +import { fn, fetch, uploadFn } from '@/api/fn'; | ||
| 9 | + | ||
| 10 | +const Api = { | ||
| 11 | + SMS: '/srv/?a=sms', | ||
| 12 | + TOKEN: '/srv/?a=upload', | ||
| 13 | + SAVE_FILE: '/srv/?a=upload&t=save_file', | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | +/** | ||
| 17 | + * @description: 发送验证码 | ||
| 18 | + * @param {*} phone 手机号码 | ||
| 19 | + * @returns | ||
| 20 | + */ | ||
| 21 | +export const smsAPI = (params) => fn(fetch.post(Api.SMS, params)); | ||
| 22 | + | ||
| 23 | +/** | ||
| 24 | + * @description: 获取七牛token | ||
| 25 | + * @returns | ||
| 26 | + */ | ||
| 27 | +export const qiniuTokenAPI = (params) => fn(fetch.stringifyPost(Api.TOKEN, params)); | ||
| 28 | + | ||
| 29 | +/** | ||
| 30 | + * @description: 上传七牛 | ||
| 31 | + * @param {*} | ||
| 32 | + * @returns | ||
| 33 | + */ | ||
| 34 | +export const qiniuUploadAPI = (url, data, config) => uploadFn(fetch.basePost(url, data, config)); | ||
| 35 | + | ||
| 36 | +/** | ||
| 37 | + * @description: 保存图片 | ||
| 38 | + * @param {*} format | ||
| 39 | + * @param {*} hash | ||
| 40 | + * @param {*} height | ||
| 41 | + * @param {*} width | ||
| 42 | + * @param {*} filekey | ||
| 43 | + * @returns | ||
| 44 | + */ | ||
| 45 | +export const saveFileAPI = (params) => fn(fetch.stringifyPost(Api.SAVE_FILE, params)); |
src/api/data.js
0 → 100644
| 1 | +/* | ||
| 2 | + * @Date: 2022-06-17 14:54:29 | ||
| 3 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 4 | + * @LastEditTime: 2024-07-04 17:05:30 | ||
| 5 | + * @FilePath: /data-table/src/api/data.js | ||
| 6 | + * @Description: 表单数据接口 | ||
| 7 | + */ | ||
| 8 | +import { fn, fetch } from '@/api/fn'; | ||
| 9 | + | ||
| 10 | +const Api = { | ||
| 11 | + ADD_FORM_DATA: '/srv/?a=add_formdata', | ||
| 12 | + QUERY_FORM_DATA: '/srv/?a=query_formdata', | ||
| 13 | + MODI_FORM_DATA: '/srv/?a=modi_formdata', | ||
| 14 | + FLOW_FORM_DATA: '/srv/?a=flow_formdata', | ||
| 15 | +} | ||
| 16 | +/** | ||
| 17 | + * @description: 添加表单数据 | ||
| 18 | + * @param: form_code 表单唯一标识 | ||
| 19 | + * @param: data 待添加的数据,json对象结构;键值对记录变更的字段和值; | ||
| 20 | + */ | ||
| 21 | +export const addFormDataAPI = (params) => fn(fetch.post(Api.ADD_FORM_DATA, params)); | ||
| 22 | + | ||
| 23 | +/** | ||
| 24 | + * @description: 查询表单数据 | ||
| 25 | + * @param: form_code 表单唯一标识 | ||
| 26 | + * @param: id 数据ID | ||
| 27 | + */ | ||
| 28 | +export const queryFormDataAPI = (params) => fn(fetch.get(Api.QUERY_FORM_DATA, params)); | ||
| 29 | + | ||
| 30 | +/** | ||
| 31 | + * @description: 修改表单数据 | ||
| 32 | + * @param: form_code 表单唯一标识 | ||
| 33 | + * @param: id 数据ID | ||
| 34 | + * @param: data 待添加的数据,json对象结构;键值对记录变更的字段和值; | ||
| 35 | + */ | ||
| 36 | +export const modiFormDataAPI = (params) => fn(fetch.post(Api.MODI_FORM_DATA, params)); | ||
| 37 | + | ||
| 38 | +/** | ||
| 39 | + * @description: 流程表单数据 | ||
| 40 | + * @param: form_code 表单唯一标识 | ||
| 41 | + * @param: data_id 数据ID | ||
| 42 | + * @param: data 待添加的数据,json对象结构;键值对记录变更的字段和值; | ||
| 43 | + * @param: flow_node_code 流程节点 | ||
| 44 | + * @param: flow_node_action_id 用户点击的流程节点按钮ID | ||
| 45 | + * @param: flow_content 流程审批的文本意见 | ||
| 46 | + */ | ||
| 47 | +export const flowFormDataAPI = (params) => fn(fetch.post(Api.FLOW_FORM_DATA, params)); |
src/api/fn.js
0 → 100644
| 1 | +/* | ||
| 2 | + * @Date: 2022-05-18 22:56:08 | ||
| 3 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 4 | + * @LastEditTime: 2023-02-10 15:13:01 | ||
| 5 | + * @FilePath: /data-table/src/api/fn.js | ||
| 6 | + * @Description: 文件描述 | ||
| 7 | + */ | ||
| 8 | +import axios from '@/utils/axios'; | ||
| 9 | +import qs from 'Qs' | ||
| 10 | +import { showSuccessToast, showFailToast } from 'vant'; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 网络请求功能函数 | ||
| 14 | + * @param {*} api 请求axios接口 | ||
| 15 | + * @returns 请求成功后,获取数据 | ||
| 16 | + */ | ||
| 17 | +export const fn = (api) => { | ||
| 18 | + return api | ||
| 19 | + .then(res => { | ||
| 20 | + if (res.data.code === 1) { | ||
| 21 | + return res.data || true; | ||
| 22 | + } else { | ||
| 23 | + // tslint:disable-next-line: no-console | ||
| 24 | + // if (!res.data.show) return false; | ||
| 25 | + showFailToast(res.data.msg); | ||
| 26 | + return false; | ||
| 27 | + } | ||
| 28 | + }) | ||
| 29 | + .catch(err => { | ||
| 30 | + // tslint:disable-next-line: no-console | ||
| 31 | + console.error(err); | ||
| 32 | + return false; | ||
| 33 | + }) | ||
| 34 | + .finally(() => { // 最终执行 | ||
| 35 | + }) | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +/** | ||
| 39 | + * 七牛返回格式 | ||
| 40 | + * @param {*} api | ||
| 41 | + * @returns | ||
| 42 | + */ | ||
| 43 | +export const uploadFn = (api) => { | ||
| 44 | + return api | ||
| 45 | + .then(res => { | ||
| 46 | + if (res.status === 200) { | ||
| 47 | + return res.data || true; | ||
| 48 | + } else { | ||
| 49 | + // tslint:disable-next-line: no-console | ||
| 50 | + console.warn(res); | ||
| 51 | + if (!res.data.show) return false; | ||
| 52 | + Toast({ | ||
| 53 | + icon: 'close', | ||
| 54 | + message: res.data.msg, | ||
| 55 | + }); | ||
| 56 | + return false; | ||
| 57 | + } | ||
| 58 | + }) | ||
| 59 | + .catch(err => { | ||
| 60 | + // tslint:disable-next-line: no-console | ||
| 61 | + console.error(err); | ||
| 62 | + return false; | ||
| 63 | + }) | ||
| 64 | +} | ||
| 65 | + | ||
| 66 | +/** | ||
| 67 | + * 统一 GET/POST 不同传参形式 | ||
| 68 | + */ | ||
| 69 | +export const fetch = { | ||
| 70 | + get: function (api, params) { | ||
| 71 | + return axios.get(api, { params }) | ||
| 72 | + }, | ||
| 73 | + post: function (api, params) { | ||
| 74 | + return axios.post(api, params) | ||
| 75 | + }, | ||
| 76 | + stringifyPost: function (api, params) { | ||
| 77 | + return axios.post(api, qs.stringify(params)) | ||
| 78 | + }, | ||
| 79 | + basePost: function (url, data, config) { | ||
| 80 | + return axios.post(url, data, config) | ||
| 81 | + } | ||
| 82 | +} |
src/api/wx/config.js
0 → 100644
| 1 | +/* | ||
| 2 | + * @Author: hookehuyr hookehuyr@gmail.com | ||
| 3 | + * @Date: 2022-06-09 13:32:44 | ||
| 4 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 5 | + * @LastEditTime: 2023-02-23 18:42:57 | ||
| 6 | + * @FilePath: /data-table/src/api/wx/config.js | ||
| 7 | + * @Description: | ||
| 8 | + */ | ||
| 9 | +import { fn, fetch } from '@/api/fn'; | ||
| 10 | + | ||
| 11 | +const Api = { | ||
| 12 | + WX_JSAPI: '/srv/?a=wx_share', | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * @description 获取微信CONFIG配置文件 | ||
| 17 | + * @param {*} url | ||
| 18 | + * @returns {*} cfg | ||
| 19 | + */ | ||
| 20 | +export const wxJsAPI = (params) => fn(fetch.get(Api.WX_JSAPI, params)); |
src/api/wx/jsApiList.js
0 → 100644
| 1 | +/* | ||
| 2 | + * @Date: 2022-06-13 14:18:57 | ||
| 3 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 4 | + * @LastEditTime: 2022-06-13 14:27:21 | ||
| 5 | + * @FilePath: /tswj/src/api/wx/jsApiList.js | ||
| 6 | + * @Description: 文件描述 | ||
| 7 | + */ | ||
| 8 | +export const apiList = [ | ||
| 9 | + // "updateAppMessageShareData", | ||
| 10 | + // "updateTimelineShareData", | ||
| 11 | + "onMenuShareTimeline", | ||
| 12 | + "onMenuShareAppMessage", | ||
| 13 | + "onMenuShareQQ", | ||
| 14 | + "onMenuShareWeibo", | ||
| 15 | + "onMenuShareQZone", | ||
| 16 | + "startRecord", | ||
| 17 | + "stopRecord", | ||
| 18 | + "onVoiceRecordEnd", | ||
| 19 | + "playVoice", | ||
| 20 | + "pauseVoice", | ||
| 21 | + "stopVoice", | ||
| 22 | + "onVoicePlayEnd", | ||
| 23 | + "uploadVoice", | ||
| 24 | + "downloadVoice", | ||
| 25 | + "chooseImage", | ||
| 26 | + "previewImage", | ||
| 27 | + "uploadImage", | ||
| 28 | + "downloadImage", | ||
| 29 | + "translateVoice", | ||
| 30 | + "getNetworkType", | ||
| 31 | + "openLocation", | ||
| 32 | + "getLocation", | ||
| 33 | + "hideOptionMenu", | ||
| 34 | + "showOptionMenu", | ||
| 35 | + "hideMenuItems", | ||
| 36 | + "showMenuItems", | ||
| 37 | + "hideAllNonBaseMenuItem", | ||
| 38 | + "showAllNonBaseMenuItem", | ||
| 39 | + "closeWindow", | ||
| 40 | + "scanQRCode", | ||
| 41 | + "chooseWXPay", | ||
| 42 | + "openProductSpecificView", | ||
| 43 | + "addCard", | ||
| 44 | + "chooseCard", | ||
| 45 | + "openCard" | ||
| 46 | +] |
src/api/wx/pay.js
0 → 100644
| 1 | +/* | ||
| 2 | + * @Author: hookehuyr hookehuyr@gmail.com | ||
| 3 | + * @Date: 2022-06-09 13:32:44 | ||
| 4 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 5 | + * @LastEditTime: 2022-06-09 13:42:06 | ||
| 6 | + * @FilePath: /tswj/src/api/wx/config.js | ||
| 7 | + * @Description: | ||
| 8 | + */ | ||
| 9 | +import { fn, fetch } from '@/api/fn'; | ||
| 10 | + | ||
| 11 | +const Api = { | ||
| 12 | + WX_PAY: 'c/bill_paymentForBill.do', | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * @description 微信支付接口 | ||
| 17 | + * @param {*} | ||
| 18 | + * @returns {*} | ||
| 19 | + */ | ||
| 20 | +export const wxPayAPI = (params) => fn(fetch.get(Api.WX_PAY, params)); |
| 1 | +/* | ||
| 2 | + * @Date: 2025-03-20 20:36:36 | ||
| 3 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 4 | + * @LastEditTime: 2025-03-20 23:51:13 | ||
| 5 | + * @FilePath: /mlaj/src/main.js | ||
| 6 | + * @Description: 文件描述 | ||
| 7 | + */ | ||
| 1 | import { createApp } from 'vue' | 8 | import { createApp } from 'vue' |
| 2 | import './style.css' | 9 | import './style.css' |
| 3 | import App from './App.vue' | 10 | import App from './App.vue' |
| 4 | import router from './router' | 11 | import router from './router' |
| 12 | +import axios from '@/utils/axios'; | ||
| 5 | 13 | ||
| 6 | import 'vant/lib/index.css' | 14 | import 'vant/lib/index.css' |
| 7 | 15 | ||
| 8 | const app = createApp(App) | 16 | const app = createApp(App) |
| 17 | +// 屏蔽警告信息 | ||
| 18 | +app.config.warnHandler = () => null; | ||
| 19 | + | ||
| 20 | +app.config.globalProperties.$http = axios; // 关键语句 | ||
| 9 | app.use(router) | 21 | app.use(router) |
| 10 | app.mount('#app') | 22 | app.mount('#app') | ... | ... |
src/utils/axios.js
0 → 100644
| 1 | +/* | ||
| 2 | + * @Author: hookehuyr hookehuyr@gmail.com | ||
| 3 | + * @Date: 2022-05-28 10:17:40 | ||
| 4 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 5 | + * @LastEditTime: 2024-07-25 09:46:46 | ||
| 6 | + * @FilePath: /temple_material_request/src/utils/axios.js | ||
| 7 | + * @Description: | ||
| 8 | + */ | ||
| 9 | +import axios from 'axios'; | ||
| 10 | +import router from '@/router'; | ||
| 11 | +import qs from 'Qs' | ||
| 12 | +import { strExist } from '@/utils/tools' | ||
| 13 | +// import { parseQueryString } from '@/utils/tools' | ||
| 14 | + | ||
| 15 | +axios.defaults.params = { | ||
| 16 | + f: 'good', | ||
| 17 | +}; | ||
| 18 | + | ||
| 19 | +/** | ||
| 20 | + * @description 请求拦截器 | ||
| 21 | + */ | ||
| 22 | +axios.interceptors.request.use( | ||
| 23 | + config => { | ||
| 24 | + // const url_params = parseQueryString(location.href); | ||
| 25 | + // GET请求默认打上时间戳,避免从缓存中拿数据。 | ||
| 26 | + const timestamp = config.method === 'get' ? (new Date()).valueOf() : ''; | ||
| 27 | + /** | ||
| 28 | + * POST PHP需要修改数据格式 | ||
| 29 | + * 序列化POST请求时需要屏蔽上传相关接口,上传相关接口序列化后报错 | ||
| 30 | + */ | ||
| 31 | + // config.data = config.method === 'post' && !strExist(['a=upload', 'upload.qiniup.com'], config.url) ? qs.stringify(config.data) : config.data; | ||
| 32 | + // 绑定默认请求头 | ||
| 33 | + config.params = { ...config.params, timestamp } | ||
| 34 | + return config; | ||
| 35 | + }, | ||
| 36 | + error => { | ||
| 37 | + // 请求错误处理 | ||
| 38 | + return Promise.reject(error); | ||
| 39 | + }); | ||
| 40 | + | ||
| 41 | +/** | ||
| 42 | + * @description 响应拦截器 | ||
| 43 | + */ | ||
| 44 | +axios.interceptors.response.use( | ||
| 45 | + response => { | ||
| 46 | + return response; | ||
| 47 | + }, | ||
| 48 | + error => { | ||
| 49 | + return Promise.reject(error); | ||
| 50 | + }); | ||
| 51 | + | ||
| 52 | +export default axios; |
src/utils/tools.js
0 → 100644
| 1 | +/* | ||
| 2 | + * @Date: 2022-04-18 15:59:42 | ||
| 3 | + * @LastEditors: hookehuyr hookehuyr@gmail.com | ||
| 4 | + * @LastEditTime: 2023-02-24 16:13:06 | ||
| 5 | + * @FilePath: /data-table/src/utils/tools.js | ||
| 6 | + * @Description: 文件描述 | ||
| 7 | + */ | ||
| 8 | +import dayjs from 'dayjs'; | ||
| 9 | + | ||
| 10 | +// 格式化时间 | ||
| 11 | +const formatDate = (date) => { | ||
| 12 | + return dayjs(date).format('YYYY-MM-DD HH:mm'); | ||
| 13 | +}; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * @description 判断浏览器属于平台 | ||
| 17 | + * @returns | ||
| 18 | + */ | ||
| 19 | +const wxInfo = () => { | ||
| 20 | + let u = navigator.userAgent; | ||
| 21 | + let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器 | ||
| 22 | + let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 | ||
| 23 | + let isMobile = u.indexOf('Android') > -1 || u.indexOf('iPhone') > -1 || u.indexOf('iPad') > -1; // 移动端平台 | ||
| 24 | + let isIpad = u.indexOf('iPad') > -1; // iPad平台 | ||
| 25 | + let uAgent = navigator.userAgent.toLowerCase(); | ||
| 26 | + let isWeiXin = (uAgent.match(/MicroMessenger/i) == 'micromessenger') ? true : false; | ||
| 27 | + let isPC = (uAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|micromessenger)/i)) ? false : true; | ||
| 28 | + return { | ||
| 29 | + isAndroid, | ||
| 30 | + isiOS, | ||
| 31 | + isWeiXin, | ||
| 32 | + isMobile, | ||
| 33 | + isIpad, | ||
| 34 | + isPC | ||
| 35 | + }; | ||
| 36 | +}; | ||
| 37 | + | ||
| 38 | +/** | ||
| 39 | + * @description 判断多行省略文本 | ||
| 40 | + * @param {*} id 目标dom标签 | ||
| 41 | + * @returns | ||
| 42 | + */ | ||
| 43 | +const hasEllipsis = (id) => { | ||
| 44 | + let oDiv = document.getElementById(id); | ||
| 45 | + let flag = false; | ||
| 46 | + if (oDiv.scrollHeight > oDiv.clientHeight) { | ||
| 47 | + flag = true | ||
| 48 | + } | ||
| 49 | + return flag | ||
| 50 | +} | ||
| 51 | + | ||
| 52 | +/** | ||
| 53 | + * @description 解析URL参数 | ||
| 54 | + * @param {*} url | ||
| 55 | + * @returns | ||
| 56 | + */ | ||
| 57 | +const parseQueryString = url => { | ||
| 58 | + var json = {}; | ||
| 59 | + var arr = url.indexOf('?') >= 0 ? url.substr(url.indexOf('?') + 1).split('&') : []; | ||
| 60 | + arr.forEach(item => { | ||
| 61 | + var tmp = item.split('='); | ||
| 62 | + json[tmp[0]] = decodeURIComponent(tmp[1]); | ||
| 63 | + }); | ||
| 64 | + return json; | ||
| 65 | +} | ||
| 66 | + | ||
| 67 | +/** | ||
| 68 | + * 字符串包含字符数组中字符的状态 | ||
| 69 | + * @param {*} array 字符数组 | ||
| 70 | + * @param {*} str 字符串 | ||
| 71 | + * @returns 包含状态 | ||
| 72 | + */ | ||
| 73 | +const strExist = (array, str) => { | ||
| 74 | + const exist = array.filter(arr => { | ||
| 75 | + if (str.indexOf(arr) >= 0) return str; | ||
| 76 | + }) | ||
| 77 | + return exist.length > 0 | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +/** | ||
| 81 | + * 自定义替换参数 | ||
| 82 | + * @param {*} url | ||
| 83 | + * @param {*} arg | ||
| 84 | + * @param {*} arg_val | ||
| 85 | + * @returns | ||
| 86 | + */ | ||
| 87 | +const changeURLArg = (url, arg, arg_val) => { | ||
| 88 | + var pattern = arg + '=([^&]*)'; | ||
| 89 | + var replaceText = arg + '=' + arg_val; | ||
| 90 | + if (url.match(pattern)) { | ||
| 91 | + var tmp = '/(' + arg + '=)([^&]*)/gi'; | ||
| 92 | + tmp = url.replace(eval(tmp), replaceText); | ||
| 93 | + return tmp; | ||
| 94 | + } else { | ||
| 95 | + if (url.match('[\?]')) { | ||
| 96 | + return url + '&' + replaceText; | ||
| 97 | + } else { | ||
| 98 | + return url + '?' + replaceText; | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | + return url + '\n' + arg + '\n' + arg_val; | ||
| 102 | +} | ||
| 103 | + | ||
| 104 | +// 获取参数key/value值对 | ||
| 105 | +const getUrlParams = (url) => { | ||
| 106 | + // 没有参数处理 | ||
| 107 | + if (url.split('?').length === 1) return false; | ||
| 108 | + let arr = url.split('?'); | ||
| 109 | + let res = arr[1].split('&'); | ||
| 110 | + let items = {}; | ||
| 111 | + for (let i = 0; i < res.length; i++) { | ||
| 112 | + let [key, value] = res[i].split('='); | ||
| 113 | + items[key] = value; | ||
| 114 | + } | ||
| 115 | + return items | ||
| 116 | +} | ||
| 117 | + | ||
| 118 | +// 格式化URL参数为字符串 | ||
| 119 | +const stringifyQuery = (params) => { | ||
| 120 | + const queryString = []; | ||
| 121 | + Object.keys(params || {}).forEach((k) => { | ||
| 122 | + queryString.push(k + '=' + params[k]); | ||
| 123 | + }); | ||
| 124 | + | ||
| 125 | + return '?' + queryString.join('&'); | ||
| 126 | +}; | ||
| 127 | + | ||
| 128 | +export { | ||
| 129 | + formatDate, | ||
| 130 | + wxInfo, | ||
| 131 | + hasEllipsis, | ||
| 132 | + parseQueryString, | ||
| 133 | + strExist, | ||
| 134 | + changeURLArg, | ||
| 135 | + getUrlParams, | ||
| 136 | + stringifyQuery, | ||
| 137 | +}; |
src/utils/vconsole.js
0 → 100644
| 1 | /* | 1 | /* |
| 2 | * @Date: 2025-03-20 19:53:12 | 2 | * @Date: 2025-03-20 19:53:12 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2025-03-20 20:27:29 | 4 | + * @LastEditTime: 2025-03-20 23:44:51 |
| 5 | - * @FilePath: /vue-vite/vite.config.js | 5 | + * @FilePath: /mlaj/vite.config.js |
| 6 | * @Description: 文件描述 | 6 | * @Description: 文件描述 |
| 7 | */ | 7 | */ |
| 8 | -import { defineConfig } from 'vite' | 8 | +import { defineConfig, loadEnv } from 'vite' |
| 9 | import vue from '@vitejs/plugin-vue' | 9 | import vue from '@vitejs/plugin-vue' |
| 10 | import vueJsx from '@vitejs/plugin-vue-jsx' | 10 | import vueJsx from '@vitejs/plugin-vue-jsx' |
| 11 | import path from "path" | 11 | import path from "path" |
| 12 | import Components from 'unplugin-vue-components/vite' | 12 | import Components from 'unplugin-vue-components/vite' |
| 13 | import AutoImport from 'unplugin-auto-import/vite' | 13 | import AutoImport from 'unplugin-auto-import/vite' |
| 14 | import { VantResolver } from 'unplugin-vue-components/resolvers' | 14 | import { VantResolver } from 'unplugin-vue-components/resolvers' |
| 15 | +import { createProxy } from './build/proxy' | ||
| 15 | 16 | ||
| 16 | -// https://vite.dev/config/ | 17 | +export default ({ command, mode }) => { |
| 17 | -export default defineConfig({ | 18 | + const root = process.cwd(); |
| 19 | + | ||
| 20 | + const viteEnv = loadEnv(mode, root); | ||
| 21 | + // let isProd = (command === 'serve'); // 情景配置是否为开发模式 serve 或 build | ||
| 22 | + | ||
| 23 | + return defineConfig({ | ||
| 24 | + // root: '', | ||
| 25 | + // root: './src/packages', // 多页面应用配置入口根目录 | ||
| 26 | + base: viteEnv.VITE_BASE, // 开发或生产环境服务的公共基础路径。 | ||
| 27 | + // base: isProd ? '/' : '/f/voice/', // 开发或生产环境服务的公共基础路径。 | ||
| 28 | + // mode: '', // 在配置中指明将会把 serve 和 build 时的模式 都 覆盖掉。也可以通过命令行 --mode 选项来重写。 | ||
| 29 | + // define: '', // 定义全局常量替换方式。其中每项在开发环境下会被定义在全局,而在构建时被静态替换。 | ||
| 18 | plugins: [ | 30 | plugins: [ |
| 19 | vue(), | 31 | vue(), |
| 20 | vueJsx(), | 32 | vueJsx(), |
| 21 | AutoImport({ | 33 | AutoImport({ |
| 22 | imports: ['vue', 'vue-router'], | 34 | imports: ['vue', 'vue-router'], |
| 23 | dts: 'src/auto-imports.d.ts', | 35 | dts: 'src/auto-imports.d.ts', |
| 36 | + // 解决eslint报错问题 | ||
| 37 | + eslintrc: { | ||
| 38 | + enabled: true | ||
| 39 | + } | ||
| 24 | }), | 40 | }), |
| 25 | Components({ | 41 | Components({ |
| 26 | resolvers: [VantResolver()], | 42 | resolvers: [VantResolver()], |
| 27 | dts: 'src/components.d.ts', | 43 | dts: 'src/components.d.ts', |
| 28 | }), | 44 | }), |
| 29 | ], | 45 | ], |
| 46 | + publicDir: 'public', // 作为静态资源服务的文件夹。这个目录中的文件会在开发中被服务于 /,在开发模式时,会被拷贝到 outDir 的根目录,并没有转换,永远只是复制到这里。该值可以是文件系统的绝对路径,也可以是相对于项目的根目录路径。 | ||
| 47 | + // cacheDir: '', // 存储缓存文件的目录。此目录下会存储预打包的依赖项或 vite 生成的某些缓存文件,使用缓存可以提高性能。如需重新生成缓存文件,你可以使用 --force 命令行选项或手动删除目录。此选项的值可以是文件的绝对路径,也可以是以项目根目录为基准的相对路径。 | ||
| 30 | resolve: { | 48 | resolve: { |
| 31 | alias: { // 将会被传递到 @rollup/plugin-alias 作为 entries 的选项。也可以是一个对象,或一个 { find, replacement } 的数组. 当使用文件系统路径的别名时,请始终使用绝对路径。相对路径的别名值会被原封不动地使用,因此无法被正常解析。 更高级的自定义解析方法可以通过 插件 实现。 | 49 | alias: { // 将会被传递到 @rollup/plugin-alias 作为 entries 的选项。也可以是一个对象,或一个 { find, replacement } 的数组. 当使用文件系统路径的别名时,请始终使用绝对路径。相对路径的别名值会被原封不动地使用,因此无法被正常解析。 更高级的自定义解析方法可以通过 插件 实现。 |
| 32 | "@": path.resolve(__dirname, "src"), | 50 | "@": path.resolve(__dirname, "src"), |
| ... | @@ -44,4 +62,84 @@ export default defineConfig({ | ... | @@ -44,4 +62,84 @@ export default defineConfig({ |
| 44 | // mainFields: [''], // package.json 中,在解析包的入口点时尝试的字段列表。注意,这比从 exports 字段解析的情景导出优先级低:如果一个入口点从 exports 成功解析,主字段将被忽略。 | 62 | // mainFields: [''], // package.json 中,在解析包的入口点时尝试的字段列表。注意,这比从 exports 字段解析的情景导出优先级低:如果一个入口点从 exports 成功解析,主字段将被忽略。 |
| 45 | extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], // 导入时想要省略的扩展名列表。注意,不 建议忽略自定义导入类型的扩展名(例如:.vue),因为它会干扰 IDE 和类型支持。 | 63 | extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'], // 导入时想要省略的扩展名列表。注意,不 建议忽略自定义导入类型的扩展名(例如:.vue),因为它会干扰 IDE 和类型支持。 |
| 46 | }, | 64 | }, |
| 47 | -}) | 65 | + css: { |
| 66 | + modules: '', // 配置 CSS modules 的行为。选项将被传递给 postcss-modules。 | ||
| 67 | + postcss: { // 内联的 PostCSS 配置(格式同 postcss.config.js),或者一个(默认基于项目根目录的)自定义的 PostCSS 配置路径。其路径搜索是通过 postcss-load-config 实现的。 注意,如果提供了该内联配置,Vite 将不会搜索其他 PostCSS 配置源。 | ||
| 68 | + plugins: [ | ||
| 69 | + // postcsspxtoviewport({ | ||
| 70 | + // unitToConvert: 'px', // 要转化的单位 | ||
| 71 | + // viewportWidth: 375, // UI设计稿的宽度 | ||
| 72 | + // unitPrecision: 6, // 转换后的精度,即小数点位数 | ||
| 73 | + // propList: ['*'], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换 | ||
| 74 | + // viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认vw | ||
| 75 | + // fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vw | ||
| 76 | + // selectorBlackList: ['ignore-'], // 指定不转换为视窗单位的类名, | ||
| 77 | + // minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换 | ||
| 78 | + // mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false | ||
| 79 | + // replace: true, // 是否转换后直接更换属性值 | ||
| 80 | + // // exclude: [/node_modules/], // 设置忽略文件,用正则做目录名匹配 | ||
| 81 | + // exclude: [], | ||
| 82 | + // landscape: false // 是否处理横屏情况 | ||
| 83 | + // }) | ||
| 84 | + ] | ||
| 85 | + }, | ||
| 86 | + preprocessorOptions: { | ||
| 87 | + // less: { | ||
| 88 | + // javascriptEnabled: true, | ||
| 89 | + // additionalData: `@import "${path.resolve(__dirname, 'src/assets/styles/base.less')}";` | ||
| 90 | + // } | ||
| 91 | + } // 指定传递给 CSS 预处理器的选项。 | ||
| 92 | + }, | ||
| 93 | + // json: { | ||
| 94 | + // namedExports: true, // 是否支持从 .json 文件中进行按名导入。 | ||
| 95 | + // stringify: false, // 若设置为 true,导入的 JSON 会被转换为 export default JSON.parse("...") 会比转译成对象字面量性能更好,尤其是当 JSON 文件较大的时候。 开启此项,则会禁用按名导入。 | ||
| 96 | + // }, | ||
| 97 | + // esbuild: false, // | ||
| 98 | + // assetsInclude: '', // 指定其他文件类型作为静态资源处理 | ||
| 99 | + logLevel: 'info', // 调整控制台输出的级别,默认为 'info'。 | ||
| 100 | + // clearScreen: true, // 设为 false 可以避免 Vite 清屏而错过在终端中打印某些关键信息。命令行模式下请通过 --clearScreen false 设置。 | ||
| 101 | + server: { | ||
| 102 | + host: '0.0.0.0', | ||
| 103 | + port: viteEnv.VITE_PORT, // 本地服务端口 | ||
| 104 | + // strictPort: true, // 设为true时若端口已被占用则会直接退出, 而不是尝试下一个可用端口 | ||
| 105 | + // https: '', | ||
| 106 | + // open: false, // 在服务器启动时自动在浏览器中打开应用程序. 当此值为字符串时, 会被当作URL的路径名. | ||
| 107 | + // proxy: { // 代理 | ||
| 108 | + // '/srv/': { | ||
| 109 | + // // target: 'http://voice.onwall.cn', | ||
| 110 | + // target: viteEnv.VITE_PROXY_TARGET, | ||
| 111 | + // changeOrigin: true, | ||
| 112 | + // // rewrite: (path) => path.replace(/^\/api/, '') | ||
| 113 | + // }, | ||
| 114 | + // }, | ||
| 115 | + proxy: createProxy(viteEnv.VITE_PROXY_PREFIX, viteEnv.VITE_PROXY_TARGET), | ||
| 116 | + // cors: '', // 为开发服务器配置 CORS。默认启用并允许任何源,传递一个 选项对象 来调整行为或设为 false 表示禁用。 | ||
| 117 | + // force: '', // 设置为 true 强制使依赖预构建。 | ||
| 118 | + // hmr: '', // 禁用或配置 HMR 连接(用于 HMR websocket 必须使用不同的 http 服务器地址的情况)。 设置 server.hmr.overlay 为 false 可以禁用服务器错误遮罩层。 | ||
| 119 | + // watch: '', // 传递给 chokidar 的文件系统监视器选项。 | ||
| 120 | + }, | ||
| 121 | + build: { | ||
| 122 | + // outDir: 'voice', // 指定输出路径(相对于项目根目录). | ||
| 123 | + outDir: viteEnv.VITE_OUTDIR, // 指定输出路径(相对于项目根目录). | ||
| 124 | + assetsDir: 'static', | ||
| 125 | + rollupOptions: { | ||
| 126 | + output: { | ||
| 127 | + chunkFileNames: 'static/js/[name]-[hash].js', | ||
| 128 | + entryFileNames: 'static/js/[name]-[hash].js', | ||
| 129 | + assetFileNames: 'static/[ext]/[name]-[hash].[ext]', | ||
| 130 | + }, | ||
| 131 | + input: { // 多页面应用模式, 打包时配置,运行配置要处理root | ||
| 132 | + main: path.resolve(__dirname, 'index.html'), | ||
| 133 | + // mono1: path.resolve(__dirname, 'src/packages/mono1/index.html'), | ||
| 134 | + // mono2: path.resolve(__dirname, 'src/packages/mono2/index.html'), | ||
| 135 | + } | ||
| 136 | + }, | ||
| 137 | + }, | ||
| 138 | + optimizeDeps: { | ||
| 139 | + // entries: '', | ||
| 140 | + // exclude: [], | ||
| 141 | + include: ['jquery', 'lodash', 'moment', 'axios', 'pinia', 'vue-router', 'vant'], // 默认情况下,不在 node_modules 中的,链接的包不会被预构建。使用此选项可强制预构建链接的包。 | ||
| 142 | + // keepNames: false, // 打包器有时需要重命名符号以避免冲突。 设置此项为 true 可以在函数和类上保留 name 属性。 若想获取更多详情,请参阅 keepNames | ||
| 143 | + } | ||
| 144 | + }); | ||
| 145 | +}; | ... | ... |
-
Please register or login to post a comment