Commit b7414f18 authored by cc's avatar cc
parents c70332dc 9d2bf73e
export default [
{
url: '/draw/index.do',
method: 'get',
response: ({ query }) => {
return {
"success": true,
"message": "报错了~",
"code": null,
timeStamp: Date.now(),
"data": {
"remainDrawTimes": 1, // 抽奖次数
"prizeVOs": [
{
prizeName: `奖品1`,
prizeImg: `//yun.duiba.com.cn/polaris/jinmoqiang.9e5bbc004f69ab6a3f34d93daeda028616a9f00d.png`,
prizeId: `1`,
},
{
prizeName: `奖品名称2`,
prizeImg: `//yun.duiba.com.cn/polaris/kouzhao.dc55dac6db1ff94c4666c2602d6cb0ac84139982.png`,
prizeId: `2`,
},
{
prizeName: `奖品名称3`,
prizeImg: `//yun.duiba.com.cn/polaris/mac.fe55aa43e5a231d568973dcdd0b91e0263d5a12c.png`,
prizeId: `3`,
},
{
prizeName: `奖品名称4`,
prizeImg: `//yun.duiba.com.cn/polaris/mgtv.e5f0709a2a4083bc57ce52ff200a50a2e56b2658.png`,
prizeId: `4`,
},
{
prizeName: `奖品名称5`,
prizeImg: `//yun.duiba.com.cn/polaris/qq.73ad13cd0c6fd705327d12957c12e9d5b2e77baa.png`,
prizeId: `5`,
},
{
prizeName: `谢谢参与`,
prizeImg: `https://yun.duiba.com.cn/spark/assets/f77861647e7b55e9c95e9c49d891a21526157a76.jpg`,
prizeId: `thanks`,
},
]
}
}
},
},
{
url: '/draw/doDraw.do',
method: 'get',
"code": "",
"message": null,
"success": true,
"data": {
"prizeName": "",
"prizeId": "",
"prizeImg": "",
"productInfos": [
{
"productImg": "//yun.duiba.com.cn/spark/assets/f77861647e7b55e9c95e9c49d891a21526157a76.jpg",
"productText": "介绍1介绍费1介绍1介绍费1介绍1介绍费1介绍1介绍费1介绍1介绍费1介绍1介绍费1介绍1介绍费1介绍1介绍1介绍费1介绍1介绍1介绍费1介绍1介绍1介绍费1介绍1介绍1介绍费1介绍1"
},
{
"productImg": "//yun.duiba.com.cn/polaris/111.8b981b3fc7d090da2457b4f29b9feec496dc95fd.png",
"productText": "介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2介绍2"
},
{
"productImg": "//yun.duiba.com.cn/polaris/mgtv.e5f0709a2a4083bc57ce52ff200a50a2e56b2658.png",
"productText": "介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3介绍3"
}
]
},
"timeStamp": 1739176246085
},
]
\ No newline at end of file
......@@ -9,4 +9,4 @@ export default [
method: 'get',
response: 1,
},
]
]
\ No newline at end of file
......@@ -26,6 +26,9 @@ importers:
'@pixi/ui':
specifier: ^2.2.3
version: 2.2.3(pixi.js@8.9.1)
'@spark/circle-turntable':
specifier: ^1.0.3
version: 1.0.3(less@4.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.99.9(esbuild@0.25.3))
'@spark/dbdomain':
specifier: ^1.0.25
version: 1.0.25
......@@ -1677,6 +1680,12 @@ packages:
'@spark/api-common@2.0.22':
resolution: {integrity: sha512-lKTdfDhS38NrgEJaNagk1zgVX69hH8ZAi9vdpD3+G20EI5S+4W7bB/L+G9BpwsltJpeKAhOxnK0d31DGgD2zRg==}
'@spark/circle-turntable@1.0.3':
resolution: {integrity: sha512-oJBskZlBFmuNQRmg7/OfkZ+T903f9+XMosWklbhnRNKBEwckYXR+ml+c8m1YVhgGjixFwdxtGaIY8BHtYUxBbg==, tarball: http://npm.dui88.com:80/@spark%2fcircle-turntable/-/circle-turntable-1.0.3.tgz}
peerDependencies:
react: ^17.0.2
react-dom: 17.0.2
'@spark/common-helpers@1.0.26':
resolution: {integrity: sha512-bMBx2kLGgEyy4t8B6Ui5GsPxmdJmDSkoerQ8wypxZZv69pCLk39AFErZ3KqCnF1HR6FvyPl9JGOIqYcUhEEenw==}
......@@ -1816,6 +1825,12 @@ packages:
'@types/earcut@2.1.4':
resolution: {integrity: sha512-qp3m9PPz4gULB9MhjGID7wpo3gJ4bTGXm7ltNDsmOvsPduTeHp8wSW9YckBj3mljeOh4F0m2z/0JKAALRKbmLQ==}
'@types/eslint-scope@3.7.7':
resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==, tarball: http://npm.dui88.com:80/@types%2feslint-scope/-/eslint-scope-3.7.7.tgz}
'@types/eslint@9.6.1':
resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==, tarball: http://npm.dui88.com:80/@types%2feslint/-/eslint-9.6.1.tgz}
'@types/estree@1.0.6':
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
......@@ -1941,6 +1956,51 @@ packages:
peerDependencies:
vite: ^4.2.0 || ^5.0.0 || ^6.0.0
'@webassemblyjs/ast@1.14.1':
resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fast/-/ast-1.14.1.tgz}
'@webassemblyjs/floating-point-hex-parser@1.13.2':
resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==, tarball: http://npm.dui88.com:80/@webassemblyjs%2ffloating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz}
'@webassemblyjs/helper-api-error@1.13.2':
resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fhelper-api-error/-/helper-api-error-1.13.2.tgz}
'@webassemblyjs/helper-buffer@1.14.1':
resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fhelper-buffer/-/helper-buffer-1.14.1.tgz}
'@webassemblyjs/helper-numbers@1.13.2':
resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fhelper-numbers/-/helper-numbers-1.13.2.tgz}
'@webassemblyjs/helper-wasm-bytecode@1.13.2':
resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fhelper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz}
'@webassemblyjs/helper-wasm-section@1.14.1':
resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fhelper-wasm-section/-/helper-wasm-section-1.14.1.tgz}
'@webassemblyjs/ieee754@1.13.2':
resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fieee754/-/ieee754-1.13.2.tgz}
'@webassemblyjs/leb128@1.13.2':
resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fleb128/-/leb128-1.13.2.tgz}
'@webassemblyjs/utf8@1.13.2':
resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==, tarball: http://npm.dui88.com:80/@webassemblyjs%2futf8/-/utf8-1.13.2.tgz}
'@webassemblyjs/wasm-edit@1.14.1':
resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fwasm-edit/-/wasm-edit-1.14.1.tgz}
'@webassemblyjs/wasm-gen@1.14.1':
resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fwasm-gen/-/wasm-gen-1.14.1.tgz}
'@webassemblyjs/wasm-opt@1.14.1':
resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fwasm-opt/-/wasm-opt-1.14.1.tgz}
'@webassemblyjs/wasm-parser@1.14.1':
resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fwasm-parser/-/wasm-parser-1.14.1.tgz}
'@webassemblyjs/wast-printer@1.14.1':
resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==, tarball: http://npm.dui88.com:80/@webassemblyjs%2fwast-printer/-/wast-printer-1.14.1.tgz}
'@webgpu/types@0.1.54':
resolution: {integrity: sha512-81oaalC8LFrXjhsczomEQ0u3jG+TqE6V9QHLA8GNZq/Rnot0KDugu3LhSYSlie8tSdooAN1Hov05asrUUp9qgg==}
......@@ -1952,6 +2012,12 @@ packages:
resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==}
engines: {node: '>=10.0.0'}
'@xtuc/ieee754@1.2.0':
resolution: {integrity: sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=, tarball: http://npm.dui88.com:80/@xtuc%2fieee754/-/ieee754-1.2.0.tgz}
'@xtuc/long@4.2.2':
resolution: {integrity: sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=, tarball: http://npm.dui88.com:80/@xtuc%2flong/-/long-4.2.2.tgz}
acorn-jsx@5.3.2:
resolution: {integrity: sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=}
peerDependencies:
......@@ -1970,9 +2036,25 @@ packages:
resolution: {integrity: sha512-yqXL+k5rr8+ZRpOAntkaaRgWgE5o8ESAj5DyRmVTCSoZxXmqemb9Dd7T4i5UzwuERdLAJUy6XzR9zFVuf0kzkw==}
engines: {node: '>= 4.0.0'}
ajv-formats@2.1.1:
resolution: {integrity: sha1-bmaUAGWet0lzu/LjMycYCgmWtSA=, tarball: http://npm.dui88.com:80/ajv-formats/-/ajv-formats-2.1.1.tgz}
peerDependencies:
ajv: ^8.0.0
peerDependenciesMeta:
ajv:
optional: true
ajv-keywords@5.1.0:
resolution: {integrity: sha1-adTThaRzPNvqtElkoRcKiPh/DhY=, tarball: http://npm.dui88.com:80/ajv-keywords/-/ajv-keywords-5.1.0.tgz}
peerDependencies:
ajv: ^8.8.2
ajv@6.12.6:
resolution: {integrity: sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=}
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==, tarball: http://npm.dui88.com:80/ajv/-/ajv-8.17.1.tgz}
ali-oss@6.22.0:
resolution: {integrity: sha512-X8CHo+wsjCBvDaEvuibFOi3SZxiCBZSRUURrXH0upoVwu3SuW3e+PTVK7xw+uN6EyTcAESqrngrQimhp8iBzsQ==}
engines: {node: '>=8'}
......@@ -2185,6 +2267,10 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
chrome-trace-event@1.0.4:
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==, tarball: http://npm.dui88.com:80/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz}
engines: {node: '>=6.0'}
ci-info@2.0.0:
resolution: {integrity: sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=}
......@@ -2360,6 +2446,9 @@ packages:
dateformat@2.2.0:
resolution: {integrity: sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=}
db-react-helper@1.0.5:
resolution: {integrity: sha512-J4+DXr/Ah7t+/j96m73WzJ26VUfHzE5MxWj7kS62SV7iKCb5LTTcngWvn4jmpQnF54WAkhOjBt8sY6B+RkDPPA==, tarball: http://npm.dui88.com:80/db-react-helper/-/db-react-helper-1.0.5.tgz}
debug@2.6.9:
resolution: {integrity: sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=}
peerDependencies:
......@@ -2543,6 +2632,9 @@ packages:
es-get-iterator@1.1.3:
resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
es-module-lexer@1.7.0:
resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, tarball: http://npm.dui88.com:80/es-module-lexer/-/es-module-lexer-1.7.0.tgz}
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
......@@ -2582,6 +2674,10 @@ packages:
peerDependencies:
eslint: '>=8.40'
eslint-scope@5.1.1:
resolution: {integrity: sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=, tarball: http://npm.dui88.com:80/eslint-scope/-/eslint-scope-5.1.1.tgz}
engines: {node: '>=8.0.0'}
eslint-scope@8.2.0:
resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
......@@ -2616,6 +2712,10 @@ packages:
resolution: {integrity: sha1-eteWTWeauyi+5yzsY3WLHF0smSE=}
engines: {node: '>=4.0'}
estraverse@4.3.0:
resolution: {integrity: sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=, tarball: http://npm.dui88.com:80/estraverse/-/estraverse-4.3.0.tgz}
engines: {node: '>=4.0'}
estraverse@5.3.0:
resolution: {integrity: sha1-LupSkHAvJquP5TcDcP+GyWXSESM=}
engines: {node: '>=4.0'}
......@@ -2627,6 +2727,10 @@ packages:
eventemitter3@5.0.1:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
events@3.3.0:
resolution: {integrity: sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=, tarball: http://npm.dui88.com:80/events/-/events-3.3.0.tgz}
engines: {node: '>=0.8.x'}
exif-parser@0.1.12:
resolution: {integrity: sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=}
......@@ -2647,6 +2751,9 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=}
fast-uri@3.0.6:
resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==, tarball: http://npm.dui88.com:80/fast-uri/-/fast-uri-3.0.6.tgz}
fastq@1.19.0:
resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==}
......@@ -2788,6 +2895,9 @@ packages:
resolution: {integrity: sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM=}
engines: {node: '>=10.13.0'}
glob-to-regexp@0.4.1:
resolution: {integrity: sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=, tarball: http://npm.dui88.com:80/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz}
glob@10.4.5:
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
hasBin: true
......@@ -3080,6 +3190,10 @@ packages:
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
jest-worker@27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, tarball: http://npm.dui88.com:80/jest-worker/-/jest-worker-27.5.1.tgz}
engines: {node: '>= 10.13.0'}
jimp@0.3.11:
resolution: {integrity: sha1-GHykYzGYpDcFET2CpVmuhQ8XJHo=}
......@@ -3125,9 +3239,15 @@ packages:
json-buffer@3.0.1:
resolution: {integrity: sha1-kziAKjDTtmBfvgYT4JQAjKjAWhM=}
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=, tarball: http://npm.dui88.com:80/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz}
json-schema-traverse@0.4.1:
resolution: {integrity: sha1-afaofZUTq4u4/mO9sJecRI5oRmA=}
json-schema-traverse@1.0.0:
resolution: {integrity: sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=, tarball: http://npm.dui88.com:80/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz}
json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=}
......@@ -3155,6 +3275,13 @@ packages:
resolution: {integrity: sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4=}
engines: {node: '>=8'}
less-loader@11.1.4:
resolution: {integrity: sha512-6/GrYaB6QcW6Vj+/9ZPgKKs6G10YZai/l/eJ4SLwbzqNTBsAqt5hSLVF47TgsiBxV1P6eAU0GYRH3YRuQU9V3A==, tarball: http://npm.dui88.com:80/less-loader/-/less-loader-11.1.4.tgz}
engines: {node: '>= 14.15.0'}
peerDependencies:
less: ^3.5.0 || ^4.0.0
webpack: ^5.0.0
less@4.3.0:
resolution: {integrity: sha512-X9RyH9fvemArzfdP8Pi3irr7lor2Ok4rOttDXBhlwDg+wKQsXOXgHWduAJE1EsF7JJx0w0bcO6BC6tCKKYnXKA==}
engines: {node: '>=14'}
......@@ -3246,6 +3373,10 @@ packages:
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
loader-runner@4.3.0:
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==, tarball: http://npm.dui88.com:80/loader-runner/-/loader-runner-4.3.0.tgz}
engines: {node: '>=6.11.5'}
locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
engines: {node: '>=8'}
......@@ -3328,6 +3459,9 @@ packages:
merge-descriptors@1.0.3:
resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
merge-stream@2.0.0:
resolution: {integrity: sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=, tarball: http://npm.dui88.com:80/merge-stream/-/merge-stream-2.0.0.tgz}
merge2@1.4.1:
resolution: {integrity: sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=}
engines: {node: '>= 8'}
......@@ -3932,6 +4066,9 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha1-SSkii7xyTfrEPg77BYyve2z7YkM=}
randombytes@2.1.0:
resolution: {integrity: sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=, tarball: http://npm.dui88.com:80/randombytes/-/randombytes-2.1.0.tgz}
rc@1.2.8:
resolution: {integrity: sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=}
hasBin: true
......@@ -4002,6 +4139,10 @@ packages:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
require-from-string@2.0.2:
resolution: {integrity: sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=, tarball: http://npm.dui88.com:80/require-from-string/-/require-from-string-2.0.2.tgz}
engines: {node: '>=0.10.0'}
require-main-filename@2.0.0:
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
......@@ -4051,6 +4192,10 @@ packages:
scheduler@0.23.2:
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
schema-utils@4.3.2:
resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==, tarball: http://npm.dui88.com:80/schema-utils/-/schema-utils-4.3.2.tgz}
engines: {node: '>= 10.13.0'}
sdk-base@2.0.1:
resolution: {integrity: sha1-ukAonovfJy7RHdnql+r5jgNtJMY=}
......@@ -4071,6 +4216,9 @@ packages:
engines: {node: '>=10'}
hasBin: true
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==, tarball: http://npm.dui88.com:80/serialize-javascript/-/serialize-javascript-6.0.2.tgz}
set-blocking@2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
......@@ -4196,6 +4344,10 @@ packages:
resolution: {integrity: sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=}
engines: {node: '>=8'}
supports-color@8.1.1:
resolution: {integrity: sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=, tarball: http://npm.dui88.com:80/supports-color/-/supports-color-8.1.1.tgz}
engines: {node: '>=10'}
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
......@@ -4237,6 +4389,22 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
deprecated: Renamed to terminal-size
terser-webpack-plugin@5.3.14:
resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==, tarball: http://npm.dui88.com:80/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz}
engines: {node: '>= 10.13.0'}
peerDependencies:
'@swc/core': '*'
esbuild: '*'
uglify-js: '*'
webpack: ^5.1.0
peerDependenciesMeta:
'@swc/core':
optional: true
esbuild:
optional: true
uglify-js:
optional: true
terser@5.39.0:
resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==}
engines: {node: '>=10'}
......@@ -4467,6 +4635,24 @@ packages:
yaml:
optional: true
watchpack@2.4.3:
resolution: {integrity: sha512-adBYQLivcg1jbdKEJeqScJJFvgm4qY9+3tXw+jdG6lkVeqRJEtiQmSWjmth8GKmDZuX7sYM4YFxQsf0AzMfGGw==, tarball: http://npm.dui88.com:80/watchpack/-/watchpack-2.4.3.tgz}
engines: {node: '>=10.13.0'}
webpack-sources@3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, tarball: http://npm.dui88.com:80/webpack-sources/-/webpack-sources-3.2.3.tgz}
engines: {node: '>=10.13.0'}
webpack@5.99.9:
resolution: {integrity: sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg==, tarball: http://npm.dui88.com:80/webpack/-/webpack-5.99.9.tgz}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
webpack-cli: '*'
peerDependenciesMeta:
webpack-cli:
optional: true
which-boxed-primitive@1.1.1:
resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
engines: {node: '>= 0.4'}
......@@ -4511,7 +4697,7 @@ packages:
engines: {node: '>=8'}
wrap-ansi@7.0.0:
resolution: {integrity: sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=}
resolution: {integrity: sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=, tarball: http://npm.dui88.com:80/wrap-ansi/-/wrap-ansi-7.0.0.tgz}
engines: {node: '>=10'}
wrap-ansi@8.1.0:
......@@ -6092,6 +6278,18 @@ snapshots:
'@spark/utils': 2.0.88
duiba-utils: 1.0.13
'@spark/circle-turntable@1.0.3(less@4.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(webpack@5.99.9(esbuild@0.25.3))':
dependencies:
'@babel/core': 7.26.9
db-react-helper: 1.0.5
less-loader: 11.1.4(less@4.3.0)(webpack@5.99.9(esbuild@0.25.3))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
transitivePeerDependencies:
- less
- supports-color
- webpack
'@spark/common-helpers@1.0.26':
dependencies:
'@babel/runtime': 7.26.9
......@@ -6236,6 +6434,16 @@ snapshots:
'@types/earcut@2.1.4': {}
'@types/eslint-scope@3.7.7':
dependencies:
'@types/eslint': 9.6.1
'@types/estree': 1.0.7
'@types/eslint@9.6.1':
dependencies:
'@types/estree': 1.0.7
'@types/json-schema': 7.0.15
'@types/estree@1.0.6': {}
'@types/estree@1.0.7': {}
......@@ -6405,12 +6613,92 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@webassemblyjs/ast@1.14.1':
dependencies:
'@webassemblyjs/helper-numbers': 1.13.2
'@webassemblyjs/helper-wasm-bytecode': 1.13.2
'@webassemblyjs/floating-point-hex-parser@1.13.2': {}
'@webassemblyjs/helper-api-error@1.13.2': {}
'@webassemblyjs/helper-buffer@1.14.1': {}
'@webassemblyjs/helper-numbers@1.13.2':
dependencies:
'@webassemblyjs/floating-point-hex-parser': 1.13.2
'@webassemblyjs/helper-api-error': 1.13.2
'@xtuc/long': 4.2.2
'@webassemblyjs/helper-wasm-bytecode@1.13.2': {}
'@webassemblyjs/helper-wasm-section@1.14.1':
dependencies:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/helper-buffer': 1.14.1
'@webassemblyjs/helper-wasm-bytecode': 1.13.2
'@webassemblyjs/wasm-gen': 1.14.1
'@webassemblyjs/ieee754@1.13.2':
dependencies:
'@xtuc/ieee754': 1.2.0
'@webassemblyjs/leb128@1.13.2':
dependencies:
'@xtuc/long': 4.2.2
'@webassemblyjs/utf8@1.13.2': {}
'@webassemblyjs/wasm-edit@1.14.1':
dependencies:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/helper-buffer': 1.14.1
'@webassemblyjs/helper-wasm-bytecode': 1.13.2
'@webassemblyjs/helper-wasm-section': 1.14.1
'@webassemblyjs/wasm-gen': 1.14.1
'@webassemblyjs/wasm-opt': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
'@webassemblyjs/wast-printer': 1.14.1
'@webassemblyjs/wasm-gen@1.14.1':
dependencies:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/helper-wasm-bytecode': 1.13.2
'@webassemblyjs/ieee754': 1.13.2
'@webassemblyjs/leb128': 1.13.2
'@webassemblyjs/utf8': 1.13.2
'@webassemblyjs/wasm-opt@1.14.1':
dependencies:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/helper-buffer': 1.14.1
'@webassemblyjs/wasm-gen': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
'@webassemblyjs/wasm-parser@1.14.1':
dependencies:
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/helper-api-error': 1.13.2
'@webassemblyjs/helper-wasm-bytecode': 1.13.2
'@webassemblyjs/ieee754': 1.13.2
'@webassemblyjs/leb128': 1.13.2
'@webassemblyjs/utf8': 1.13.2
'@webassemblyjs/wast-printer@1.14.1':
dependencies:
'@webassemblyjs/ast': 1.14.1
'@xtuc/long': 4.2.2
'@webgpu/types@0.1.54': {}
'@xmldom/xmldom@0.7.13': {}
'@xmldom/xmldom@0.8.10': {}
'@xtuc/ieee754@1.2.0': {}
'@xtuc/long@4.2.2': {}
acorn-jsx@5.3.2(acorn@8.14.0):
dependencies:
acorn: 8.14.0
......@@ -6423,6 +6711,15 @@ snapshots:
dependencies:
humanize-ms: 1.2.1
ajv-formats@2.1.1(ajv@8.17.1):
optionalDependencies:
ajv: 8.17.1
ajv-keywords@5.1.0(ajv@8.17.1):
dependencies:
ajv: 8.17.1
fast-deep-equal: 3.1.3
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
......@@ -6430,6 +6727,13 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
ajv@8.17.1:
dependencies:
fast-deep-equal: 3.1.3
fast-uri: 3.0.6
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
ali-oss@6.22.0:
dependencies:
address: 1.2.2
......@@ -6698,6 +7002,8 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
chrome-trace-event@1.0.4: {}
ci-info@2.0.0: {}
classnames@2.5.1: {}
......@@ -6896,6 +7202,8 @@ snapshots:
dateformat@2.2.0: {}
db-react-helper@1.0.5: {}
debug@2.6.9:
dependencies:
ms: 2.0.0
......@@ -7075,6 +7383,8 @@ snapshots:
isarray: 2.0.5
stop-iteration-iterator: 1.1.0
es-module-lexer@1.7.0: {}
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
......@@ -7130,6 +7440,11 @@ snapshots:
dependencies:
eslint: 9.20.1(jiti@2.4.2)
eslint-scope@5.1.1:
dependencies:
esrecurse: 4.3.0
estraverse: 4.3.0
eslint-scope@8.2.0:
dependencies:
esrecurse: 4.3.0
......@@ -7194,12 +7509,16 @@ snapshots:
dependencies:
estraverse: 5.3.0
estraverse@4.3.0: {}
estraverse@5.3.0: {}
esutils@2.0.3: {}
eventemitter3@5.0.1: {}
events@3.3.0: {}
exif-parser@0.1.12: {}
extend-shallow@2.0.1:
......@@ -7220,6 +7539,8 @@ snapshots:
fast-levenshtein@2.0.6: {}
fast-uri@3.0.6: {}
fastq@1.19.0:
dependencies:
reusify: 1.0.4
......@@ -7389,6 +7710,8 @@ snapshots:
dependencies:
is-glob: 4.0.3
glob-to-regexp@0.4.1: {}
glob@10.4.5:
dependencies:
foreground-child: 3.3.1
......@@ -7665,6 +7988,12 @@ snapshots:
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
jest-worker@27.5.1:
dependencies:
'@types/node': 22.13.4
merge-stream: 2.0.0
supports-color: 8.1.1
jimp@0.3.11:
dependencies:
'@babel/polyfill': 7.12.1
......@@ -7703,8 +8032,12 @@ snapshots:
json-buffer@3.0.1: {}
json-parse-even-better-errors@2.3.1: {}
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
json-stable-stringify-without-jsonify@1.0.1: {}
json5@2.2.3: {}
......@@ -7731,6 +8064,11 @@ snapshots:
dependencies:
package-json: 6.5.0
less-loader@11.1.4(less@4.3.0)(webpack@5.99.9(esbuild@0.25.3)):
dependencies:
less: 4.3.0
webpack: 5.99.9(esbuild@0.25.3)
less@4.3.0:
dependencies:
copy-anything: 2.0.6
......@@ -7814,6 +8152,8 @@ snapshots:
load-tsconfig@0.2.5: {}
loader-runner@4.3.0: {}
locate-path@5.0.0:
dependencies:
p-locate: 4.1.0
......@@ -7882,6 +8222,8 @@ snapshots:
merge-descriptors@1.0.3: {}
merge-stream@2.0.0: {}
merge2@1.4.1: {}
merge@2.1.1: {}
......@@ -8432,6 +8774,10 @@ snapshots:
queue-microtask@1.2.3: {}
randombytes@2.1.0:
dependencies:
safe-buffer: 5.1.2
rc@1.2.8:
dependencies:
deep-extend: 0.6.0
......@@ -8515,6 +8861,8 @@ snapshots:
require-directory@2.1.1: {}
require-from-string@2.0.2: {}
require-main-filename@2.0.0: {}
resolve-from@4.0.0: {}
......@@ -8581,6 +8929,13 @@ snapshots:
dependencies:
loose-envify: 1.4.0
schema-utils@4.3.2:
dependencies:
'@types/json-schema': 7.0.15
ajv: 8.17.1
ajv-formats: 2.1.1(ajv@8.17.1)
ajv-keywords: 5.1.0(ajv@8.17.1)
sdk-base@2.0.1:
dependencies:
get-ready: 1.0.0
......@@ -8595,6 +8950,10 @@ snapshots:
semver@7.7.1: {}
serialize-javascript@6.0.2:
dependencies:
randombytes: 2.1.0
set-blocking@2.0.0: {}
set-function-length@1.2.2:
......@@ -8764,6 +9123,10 @@ snapshots:
dependencies:
has-flag: 4.0.0
supports-color@8.1.1:
dependencies:
has-flag: 4.0.0
supports-preserve-symlinks-flag@1.0.0: {}
svg2ttf@6.0.3:
......@@ -8804,6 +9167,17 @@ snapshots:
term-size@4.0.0: {}
terser-webpack-plugin@5.3.14(esbuild@0.25.3)(webpack@5.99.9(esbuild@0.25.3)):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 4.3.2
serialize-javascript: 6.0.2
terser: 5.39.0
webpack: 5.99.9(esbuild@0.25.3)
optionalDependencies:
esbuild: 0.25.3
terser@5.39.0:
dependencies:
'@jridgewell/source-map': 0.3.6
......@@ -9019,6 +9393,44 @@ snapshots:
lightningcss: 1.29.1
terser: 5.39.0
watchpack@2.4.3:
dependencies:
glob-to-regexp: 0.4.1
graceful-fs: 4.2.11
webpack-sources@3.2.3: {}
webpack@5.99.9(esbuild@0.25.3):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.7
'@types/json-schema': 7.0.15
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
acorn: 8.14.0
browserslist: 4.24.4
chrome-trace-event: 1.0.4
enhanced-resolve: 5.18.1
es-module-lexer: 1.7.0
eslint-scope: 5.1.1
events: 3.3.0
glob-to-regexp: 0.4.1
graceful-fs: 4.2.11
json-parse-even-better-errors: 2.3.1
loader-runner: 4.3.0
mime-types: 2.1.35
neo-async: 2.6.2
schema-utils: 4.3.2
tapable: 2.2.1
terser-webpack-plugin: 5.3.14(esbuild@0.25.3)(webpack@5.99.9(esbuild@0.25.3))
watchpack: 2.4.3
webpack-sources: 3.2.3
transitivePeerDependencies:
- '@swc/core'
- esbuild
- uglify-js
which-boxed-primitive@1.1.1:
dependencies:
is-bigint: 1.1.0
......
......@@ -2,14 +2,17 @@ import { generateAPI } from "./utils"
const API = generateAPI({
/** 获取活动规则 */
getRule: 'projectRule.query',
getRule: "projectRule.query",
/** 获取前端配置项 */
getFrontVariable: 'coop_frontVariable.query',
// getShareInfo: '/wechatShare/getShareInfo/v2',
getShareInfo: '/wechatMiniApp/ticket/info',
getFrontVariable: "coop_frontVariable.query",
/** 参与接口 post请求 */
doJoin: {
uri: "join.do",
method: "post"
},
/** 签到 */
doSign: {
uri: 'checkin_1/doSign.do',
uri: "checkin_1/doSign.do",
withToken: true, // 携带token
},
......
import React, { ComponentType, Component } from "react";
import styles from "./ModalCtrl.module.less";
import SignSucPanel from "@/panels/SignSucPanel/SignSucPanel.tsx";
import TipPanel from "@/panels/TipPanel/TipPanel.tsx";
// 弹窗优先级配置Map,key为弹窗组件名(建议用组件.displayName或组件名字符串),value为优先级数值
// 数值越大优先级越高,未配置的默认0
const modalPriorityMap = new Map<ComponentType<any>, number>([
[SignSucPanel, 15],
[TipPanel, 15],
]);
interface ModalItem {
......
'use strict';
"use strict";
import React from "react";
import { observer } from "mobx-react";
import "./DrawPage.less";
import { _asyncThrottle, _throttle } from "../../utils/utils.ts";
import store from "../../store/store.ts";
import { CHANNEL_PARAMS } from "../../utils/constants.ts";
import { CircleTurntable } from "@spark/circle-turntable";
import { isWeiXin } from "../../AppTools.ts";
import API from "../../api/index.ts";
import { Button, Toast } from "@grace/ui";
import { PageCtrl } from "@/core/ctrls/PageCtrl";
import { ModalCtrl } from "@/core/ctrls/ModalCtrl";
<<<<<<< HEAD
=======
import React from 'react';
import { observer } from 'mobx-react';
import './DrawPage.less';
......@@ -10,25 +25,23 @@ import { CircleTurntable } from '@spark/circle-turntable'
// import { Button } from '@src/components/Button';
// import { Marquee, Toast } from '@spark/ui';
// import { isWeChat } from '@src/utils/share';
>>>>>>> 9220288db04479c19dd6c72d8df036f6453c36b0
// import { LOG_KEY, pageView, sensorLog } from '@src/utils/sensors';
import { isWeiXin } from '../../AppTools.ts';
import API from '../../api';
import { Button, Toast } from '@grace/ui';
@observer
class Drawpage extends React.Component {
constructor(props) {
super(props);
this.state = {
drawInfo: {}
}
this.btnStarting = false // 转盘是否启动
this.turntableRef = null // 大转盘
this.drawResultInfo = {}
drawInfo: {},
};
this.btnStarting = false; // 转盘是否启动
this.turntableRef = null; // 大转盘
this.drawResultInfo = {};
}
componentDidMount() {
this.getDrawInfo()
this.getDrawInfo();
// pageView("b12842", {
// page_name: "抽奖大转盘",
// });
......@@ -48,13 +61,13 @@ class Drawpage extends React.Component {
/** 获取转盘信息 */
getDrawInfo = async () => {
const { success, data } = await API.drawIndex()
const { success, data } = await API.drawIndex();
if (success && data) {
this.setState({
drawInfo: data || {}
})
drawInfo: data || {},
});
}
}
};
// 开始抽奖
lottteryHandle = _asyncThrottle(async () => {
......@@ -66,49 +79,51 @@ class Drawpage extends React.Component {
if (isWeiXin()) {
// 友客小程序
if (CFG.channel == CHANNEL_PARAMS.YK_MINI) {
return Toast.show("请前往人保寿险管家app活动抽奖~")
return Toast.show("请前往人保寿险管家app活动抽奖~");
}
// 其他微信端 提醒唤端弹窗
else {
return modalStore.pushPop("CodePop")
return modalStore.pushPop("CodePop");
}
}
const { prizeVOs, remainDrawTimes } = this.state.drawInfo
const { prizeVOs, remainDrawTimes } = this.state.drawInfo;
// 抽奖次数为0
if (!remainDrawTimes) {
return Toast("抽奖次数不足,快去做任务赚次数吧~")
return Toast("抽奖次数不足,快去做任务赚次数吧~");
}
if (this.btnStarting) return false
this.btnStarting = true
const { success, data } = await API.drawJoin()
if (this.btnStarting) return false;
this.btnStarting = true;
const { success, data } = await API.drawJoin();
if (success && data) {
// 转盘转动开始抽奖
this.turntableRef.launch()
this.drawResultInfo = data || {}
this.turntableRef.launch();
this.drawResultInfo = data || {};
// 转盘停止转动,指针停在index
const index = prizeVOs?.findIndex(item => item.prizeId === (this.drawResultInfo.prizeId || 'thanks'))
console.info('index', index)
const index = prizeVOs?.findIndex(
(item) => item.prizeId === (this.drawResultInfo.prizeId || "thanks")
);
console.info("index", index);
this.turntableRef.braking(index);
} else {
this.btnStarting = false
this.getDrawInfo()
this.btnStarting = false;
this.getDrawInfo();
}
})
});
// 转盘停止处理
stopOkHandle = () => {
this.btnStarting = false
this.btnStarting = false;
if (!this.drawResultInfo?.prizeId) {
// modalStore.pushPop("NoPrizeCard", { data: this.drawResultInfo })
} else {
// modalStore.pushPop("Pop_winprize", { data: this.drawResultInfo })
}
this.getDrawInfo()
}
this.getDrawInfo();
};
/** 返回 */
backHome = _throttle(() => {
......@@ -116,9 +131,9 @@ class Drawpage extends React.Component {
// page_name: "抽奖大转盘",
// button_name: "返回按钮",
// });
if (this.btnStarting) return false
if (this.btnStarting) return false;
// store.changePage(PAGE_MAP.HOME_PAGE)
})
});
goTask = _throttle(() => {
// sensorLog(LOG_KEY.click, "b12842", "d12844", {
......@@ -126,12 +141,12 @@ class Drawpage extends React.Component {
// button_name: "做任务,赚次数按钮",
// });
if (this.btnStarting) return false
if (this.btnStarting) return false;
// modalStore.pushPop("Taskpop", { onClose: () => this.getDrawInfo() })
})
});
render() {
const { prizeVOs, remainDrawTimes } = this.state.drawInfo
const { prizeVOs, remainDrawTimes } = this.state.drawInfo;
return (
<div className="drawpage modal_center">
<span className="bg"></span>
......@@ -144,23 +159,23 @@ class Drawpage extends React.Component {
<div className="turantable">
<CircleTurntable
className="turantable_box"
ref={ref => this.turntableRef = ref}
ref={(ref) => (this.turntableRef = ref)}
options={prizeVOs || []}
angleOffset={30} // 角度偏移量
radian={100} // 奖项半径
launchDuration={1000} // 启动时间
angleOffset={30} // 角度偏移量
radian={100} // 奖项半径
launchDuration={1000} // 启动时间
// 大转盘背景
renderBackground={<div className="turantable_bg"></div>}
// 大转盘指针
renderStartButton={<></>}
// 渲染奖品信息
renderOption={(option) => {
return <div className="prize_item">
<div className="prize_name">{option.prizeName}</div>
<img className="prize_img"
src={option.prizeImg}
alt="" />
</div>
return (
<div className="prize_item">
<div className="prize_name">{option.prizeName}</div>
<img className="prize_img" src={option.prizeImg} alt="" />
</div>
);
}}
didStop={this.stopOkHandle}
/>
......
......@@ -26,6 +26,7 @@ class Homepage extends React.Component {
componentDidMount() {
store.updateIndex()
}
handleButtonClick = _asyncThrottle(async (number) => {
// 活动时间判断
// 规则 奖品始终可以点击 我的排名结束可以点击 其余常规逻辑
......@@ -39,12 +40,12 @@ class Homepage extends React.Component {
// 0 我的排名
case 0:
// TODO 换成我的排名页面 记得引用
PageCtrl.changePage(RankPage);
// PageCtrl.changePage();
break;
// 1 抽奖
case 1:
// PageCtrl.changePage(DrawPage);
PageCtrl.changePage(DrawPage);
break;
// 2 做任务
......@@ -52,6 +53,7 @@ class Homepage extends React.Component {
// TODO
ModalCtrl.showModal(Taskpop);
break;
// 3 答题
case 3:
// TODO
......
"use strict";
import React from "react";
import { observer } from "mobx-react";
import "./DrawPage.less";
import { _asyncThrottle, _throttle } from "../../utils/utils.ts";
import store from "../../store/store.ts";
import { CHANNEL_PARAMS } from "../../utils/constants.ts";
import { CircleTurntable } from "@spark/circle-turntable";
import { isWeiXin } from "../../AppTools.ts";
import API from "../../api/index.ts";
import { Button, Toast } from "@grace/ui";
import { PageCtrl } from "@/core/ctrls/PageCtrl";
import { ModalCtrl } from "@/core/ctrls/ModalCtrl";
<<<<<<< HEAD
=======
import React from 'react';
import { observer } from 'mobx-react';
import './DrawPage.less';
import { _asyncThrottle } from '../../utils/utils.ts';
import store from '../../store/store.ts';
import { CHANNEL_PARAMS } from '@/utils/constants';
import { CircleTurntable } from '@spark/circle-turntable'
// import { Button } from '@src/components/Button';
// import { Marquee, Toast } from '@spark/ui';
// import { isWeChat } from '@src/utils/share';
>>>>>>> 9220288db04479c19dd6c72d8df036f6453c36b0
// import { LOG_KEY, pageView, sensorLog } from '@src/utils/sensors';
@observer
class Drawpage extends React.Component {
constructor(props) {
super(props);
this.state = {
drawInfo: {},
};
this.btnStarting = false; // 转盘是否启动
this.turntableRef = null; // 大转盘
this.drawResultInfo = {};
}
componentDidMount() {
this.getDrawInfo();
// pageView("b12842", {
// page_name: "抽奖大转盘",
// });
// sensorLog(LOG_KEY.exposure, "b12842", "d12843", {
// page_name: "抽奖大转盘",
// button_name: "立即抽奖按钮",
// });
// sensorLog(LOG_KEY.exposure, "b12842", "d12844", {
// page_name: "抽奖大转盘",
// button_name: "做任务,赚次数按钮",
// });
// sensorLog(LOG_KEY.exposure, "b12842", "d12845", {
// page_name: "抽奖大转盘",
// button_name: "返回按钮",
// });
}
/** 获取转盘信息 */
getDrawInfo = async () => {
const { success, data } = await API.drawIndex();
if (success && data) {
this.setState({
drawInfo: data || {},
});
}
};
// 开始抽奖
lottteryHandle = _asyncThrottle(async () => {
// sensorLog(LOG_KEY.click, "b12842", "d12843", {
// page_name: "抽奖大转盘",
// button_name: "立即抽奖按钮",
// });
// 微信端拦截
if (isWeiXin()) {
// 友客小程序
if (CFG.channel == CHANNEL_PARAMS.YK_MINI) {
return Toast.show("请前往人保寿险管家app活动抽奖~");
}
// 其他微信端 提醒唤端弹窗
else {
return modalStore.pushPop("CodePop");
}
}
const { prizeVOs, remainDrawTimes } = this.state.drawInfo;
// 抽奖次数为0
if (!remainDrawTimes) {
return Toast("抽奖次数不足,快去做任务赚次数吧~");
}
if (this.btnStarting) return false;
this.btnStarting = true;
const { success, data } = await API.drawJoin();
if (success && data) {
// 转盘转动开始抽奖
this.turntableRef.launch();
this.drawResultInfo = data || {};
// 转盘停止转动,指针停在index
const index = prizeVOs?.findIndex(
(item) => item.prizeId === (this.drawResultInfo.prizeId || "thanks")
);
console.info("index", index);
this.turntableRef.braking(index);
} else {
this.btnStarting = false;
this.getDrawInfo();
}
});
// 转盘停止处理
stopOkHandle = () => {
this.btnStarting = false;
if (!this.drawResultInfo?.prizeId) {
// modalStore.pushPop("NoPrizeCard", { data: this.drawResultInfo })
} else {
// modalStore.pushPop("Pop_winprize", { data: this.drawResultInfo })
}
this.getDrawInfo();
};
/** 返回 */
backHome = _throttle(() => {
// sensorLog(LOG_KEY.click, "b12842", "d12845", {
// page_name: "抽奖大转盘",
// button_name: "返回按钮",
// });
if (this.btnStarting) return false;
// store.changePage(PAGE_MAP.HOME_PAGE)
});
goTask = _throttle(() => {
// sensorLog(LOG_KEY.click, "b12842", "d12844", {
// page_name: "抽奖大转盘",
// button_name: "做任务,赚次数按钮",
// });
if (this.btnStarting) return false;
// modalStore.pushPop("Taskpop", { onClose: () => this.getDrawInfo() })
});
render() {
const { prizeVOs, remainDrawTimes } = this.state.drawInfo;
return (
<div className="drawpage modal_center">
<span className="bg"></span>
<Button className="back_btn md19" onClick={this.backHome} />
<Button className="task_btn md21" onClick={this.goTask} />
<Button className="draw_btn_box md20" onClick={this.lottteryHandle}>
<span className="draw_btn"></span>
<span className="left_num">剩余次数:{remainDrawTimes || 0}</span>
</Button>
<div className="turantable">
<CircleTurntable
className="turantable_box"
ref={(ref) => (this.turntableRef = ref)}
options={prizeVOs || []}
angleOffset={30} // 角度偏移量
radian={100} // 奖项半径
launchDuration={1000} // 启动时间
// 大转盘背景
renderBackground={<div className="turantable_bg"></div>}
// 大转盘指针
renderStartButton={<></>}
// 渲染奖品信息
renderOption={(option) => {
return (
<div className="prize_item">
<div className="prize_name">{option.prizeName}</div>
<img className="prize_img" src={option.prizeImg} alt="" />
</div>
);
}}
didStop={this.stopOkHandle}
/>
<span className="pointer"></span>
</div>
<span className="cover"></span>
</div>
);
}
}
export default Drawpage;
import React from "react";
import {observer} from "mobx-react";
import "./SignSucPanel.less";
import "./TipPanel.less";
import {Button} from "@grace/ui";
import {_asyncThrottle} from "@/utils/utils.ts";
import { ModalCtrl } from "@/core/ctrls/ModalCtrl.tsx";
import { PageCtrl } from "@/core/ctrls/PageCtrl.tsx";
import HomePage from "@/pages/HomePage/HomePage.tsx";
import { SvgaPlayer } from "@grace/svgaplayer";
import bgEffectSvga from "@/assets/svga/2输出签到成功弹窗.svga";
export interface ISignSucPanelProps {
signCredits: number;
extraCredits: number;
boolLimit: boolean;
multipleValue: number;
url: string;
taskId: string;
newLuckCreditsNum: number;
export interface ITipPanelProps {
tip: string;
}
@observer
class SignSucPanel extends React.Component<ISignSucPanelProps> {
class TipPanel extends React.Component<ITipPanelProps> {
componentDidMount() {
}
......@@ -35,33 +24,15 @@ class SignSucPanel extends React.Component<ISignSucPanelProps> {
});
render() {
const { signCredits, extraCredits } = this.props;
const { tip } = this.props;
return <div className="SignSucPanel modal_center">
<SvgaPlayer className="bgEffect" src={bgEffectSvga}/>
<div className="bg"/>
<div className="title"/>
{
!!extraCredits
? <div className="vip">
<div className="tip">获得</div>
<div className="left">{signCredits}积分</div>
<div className="right">{extraCredits}积分</div>
<div className="img"/>
</div>
: <div className="normal">
<div className="tip">获得{signCredits}积分</div>
<div className="img"/>
</div>
}
<div className="com_banner"/>
<div></div>
<Button className="btn" onClick={this.clickBtn}/>
<Button className="close" onClick={this.clickClose}/>
</div>;
}
}
export default SignSucPanel;
export default TipPanel;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment