...
 
Commits (3)
    https://gitcode.net/ai100/ai100-activity/-/commit/00bd038c661dfec01ebb5f00a9e0582b6642e78f fix:h5活动页 2023-09-18T11:18:16+08:00 张峻 zhangjun@zhangjundeMacBook-Pro.local https://gitcode.net/ai100/ai100-activity/-/commit/426f60f78004461de1d680d9e23beacbbc78e1be fix:更新代码 2023-09-18T11:40:03+08:00 张峻 zhangjun@zhangjundeMacBook-Pro.local https://gitcode.net/ai100/ai100-activity/-/commit/22a5723983f647a8537913439d27280d7a63ca6e fix:h5活动 2023-09-18T11:44:41+08:00 张峻 zhangjun@zhangjundeMacBook-Pro.local
{
"name": "ai00-avtivity",
"version": "0.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/parser": {
"version": "7.22.16",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.16.tgz",
"integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA=="
},
"@esbuild/android-arm": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
"integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
"dev": true,
"optional": true
},
"@esbuild/android-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
"integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
"dev": true,
"optional": true
},
"@esbuild/android-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
"integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
"dev": true,
"optional": true
},
"@esbuild/darwin-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
"integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
"dev": true,
"optional": true
},
"@esbuild/darwin-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
"integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
"integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
"integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
"integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
"integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
"dev": true,
"optional": true
},
"@esbuild/linux-ia32": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
"integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
"dev": true,
"optional": true
},
"@esbuild/linux-loong64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
"integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
"dev": true,
"optional": true
},
"@esbuild/linux-mips64el": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
"integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-ppc64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
"integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
"dev": true,
"optional": true
},
"@esbuild/linux-riscv64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
"integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
"dev": true,
"optional": true
},
"@esbuild/linux-s390x": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
"integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
"integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
"dev": true,
"optional": true
},
"@esbuild/netbsd-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
"integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
"dev": true,
"optional": true
},
"@esbuild/openbsd-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
"integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
"dev": true,
"optional": true
},
"@esbuild/sunos-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
"integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
"dev": true,
"optional": true
},
"@esbuild/win32-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
"integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
"dev": true,
"optional": true
},
"@esbuild/win32-ia32": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
"integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
"dev": true,
"optional": true
},
"@esbuild/win32-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
"integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
"dev": true,
"optional": true
},
"@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"@vitejs/plugin-vue": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.3.4.tgz",
"integrity": "sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==",
"dev": true
},
"@vue/compiler-core": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
"integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
"requires": {
"@babel/parser": "^7.21.3",
"@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
}
},
"@vue/compiler-dom": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
"integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
"requires": {
"@vue/compiler-core": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"@vue/compiler-sfc": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
"integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
"requires": {
"@babel/parser": "^7.20.15",
"@vue/compiler-core": "3.3.4",
"@vue/compiler-dom": "3.3.4",
"@vue/compiler-ssr": "3.3.4",
"@vue/reactivity-transform": "3.3.4",
"@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.0",
"postcss": "^8.1.10",
"source-map-js": "^1.0.2"
}
},
"@vue/compiler-ssr": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
"integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
"requires": {
"@vue/compiler-dom": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"@vue/reactivity": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.4.tgz",
"integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
"requires": {
"@vue/shared": "3.3.4"
}
},
"@vue/reactivity-transform": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
"integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
"requires": {
"@babel/parser": "^7.20.15",
"@vue/compiler-core": "3.3.4",
"@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.0"
}
},
"@vue/runtime-core": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
"integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
"requires": {
"@vue/reactivity": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"@vue/runtime-dom": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
"integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
"requires": {
"@vue/runtime-core": "3.3.4",
"@vue/shared": "3.3.4",
"csstype": "^3.1.1"
}
},
"@vue/server-renderer": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
"integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
"requires": {
"@vue/compiler-ssr": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"@vue/shared": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz",
"integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"axios": {
"version": "1.5.0",
"resolved": "https://registry.npmmirror.com/axios/-/axios-1.5.0.tgz",
"integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==",
"requires": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"csstype": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
},
"esbuild": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.18.20.tgz",
"integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
"dev": true,
"requires": {
"@esbuild/android-arm": "0.18.20",
"@esbuild/android-arm64": "0.18.20",
"@esbuild/android-x64": "0.18.20",
"@esbuild/darwin-arm64": "0.18.20",
"@esbuild/darwin-x64": "0.18.20",
"@esbuild/freebsd-arm64": "0.18.20",
"@esbuild/freebsd-x64": "0.18.20",
"@esbuild/linux-arm": "0.18.20",
"@esbuild/linux-arm64": "0.18.20",
"@esbuild/linux-ia32": "0.18.20",
"@esbuild/linux-loong64": "0.18.20",
"@esbuild/linux-mips64el": "0.18.20",
"@esbuild/linux-ppc64": "0.18.20",
"@esbuild/linux-riscv64": "0.18.20",
"@esbuild/linux-s390x": "0.18.20",
"@esbuild/linux-x64": "0.18.20",
"@esbuild/netbsd-x64": "0.18.20",
"@esbuild/openbsd-x64": "0.18.20",
"@esbuild/sunos-x64": "0.18.20",
"@esbuild/win32-arm64": "0.18.20",
"@esbuild/win32-ia32": "0.18.20",
"@esbuild/win32-x64": "0.18.20"
}
},
"estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
},
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
},
"fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"optional": true
},
"magic-string": {
"version": "0.30.3",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.3.tgz",
"integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==",
"requires": {
"@jridgewell/sourcemap-codec": "^1.4.15"
}
},
"mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
},
"mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"requires": {
"mime-db": "1.52.0"
}
},
"nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
},
"postcss": {
"version": "8.4.29",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.29.tgz",
"integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==",
"requires": {
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
},
"proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"rollup": {
"version": "3.29.1",
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.29.1.tgz",
"integrity": "sha512-c+ebvQz0VIH4KhhCpDsI+Bik0eT8ZFEVZEYw0cGMVqIP8zc+gnwl7iXCamTw7vzv2MeuZFZfdx5JJIq+ehzDlg==",
"dev": true,
"requires": {
"fsevents": "~2.3.2"
}
},
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
},
"vite": {
"version": "4.4.9",
"resolved": "https://registry.npmmirror.com/vite/-/vite-4.4.9.tgz",
"integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
"dev": true,
"requires": {
"esbuild": "^0.18.10",
"fsevents": "~2.3.2",
"postcss": "^8.4.27",
"rollup": "^3.27.1"
}
},
"vue": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.4.tgz",
"integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
"requires": {
"@vue/compiler-dom": "3.3.4",
"@vue/compiler-sfc": "3.3.4",
"@vue/runtime-dom": "3.3.4",
"@vue/server-renderer": "3.3.4",
"@vue/shared": "3.3.4"
}
}
}
}
<template> <template>
<div class="acvitity-page"> <div class="acvitity-page">
<img class="img-top" src="./assets/imgs/top.png" alt="" /> <img class="img-top" src="./assets/imgs/top.png" alt />
<img class="img-pc" src="./assets/imgs/top-pc.png" alt="" /> <img class="img-pc" src="./assets/imgs/top-pc.png" alt />
<div class="register-box"> <div class="register-box">
<img class="title" src="./assets/imgs/title.png" alt="" /> <img class="title" src="./assets/imgs/title.png" alt />
<div class="phone"> <div class="phone">
<span class="phone-prex">+86</span> <span class="phone-prex">+86</span>
<input <input
...@@ -13,9 +13,11 @@ ...@@ -13,9 +13,11 @@
maxlength="11" maxlength="11"
:disabled="!isActive" :disabled="!isActive"
/> />
<span class="err-msg" :class="{ show: phoneConfig.show }">{{ <span class="err-msg" :class="{ show: phoneConfig.show }">
{{
phoneConfig.text phoneConfig.text
}}</span> }}
</span>
</div> </div>
<div class="code"> <div class="code">
<input <input
...@@ -25,10 +27,12 @@ ...@@ -25,10 +27,12 @@
placeholder="请输入验证码" placeholder="请输入验证码"
:disabled="!isActive" :disabled="!isActive"
/> />
<span class="code-btn" @click="getMsgCode"> {{ btnText }} </span> <span class="code-btn" @click="getMsgCode">{{ btnText }}</span>
<span class="err-msg" :class="{ show: codeConfig.show }">{{ <span class="err-msg" :class="{ show: codeConfig.show }">
{{
codeConfig.text codeConfig.text
}}</span> }}
</span>
</div> </div>
<img <img
...@@ -36,7 +40,7 @@ ...@@ -36,7 +40,7 @@
class="register-btn" class="register-btn"
:class="{ disabled: !isActive }" :class="{ disabled: !isActive }"
src="./assets/imgs/register-button.png" src="./assets/imgs/register-button.png"
alt="" alt
/> />
<span v-if="!isActive" class="finish-tip">该活动已结束</span> <span v-if="!isActive" class="finish-tip">该活动已结束</span>
</div> </div>
...@@ -44,14 +48,9 @@ ...@@ -44,14 +48,9 @@
<div class="rules"> <div class="rules">
<div class="rules-title">活动规则</div> <div class="rules-title">活动规则</div>
<ul> <ul>
<li>本次活动仅限新用户参与领取,即未注册过AI100网站的用户;</li> <li>本活动仅限部分用户参加;</li>
<li>电量的功能消耗以实际消耗为主,电量消耗描述仅做参考;</li> <li>电量领取后在活动有效期内使用,过期无效;</li>
<li>
用户可使用电量进行Prompt机器人制作&对话、文档工具、视频工具等所有站内可使用电量完成的功能;
</li>
<li>电量领取后即日生效,有效期为终身有效;</li>
<li>AI100网站建议PC端使用,体验更佳。</li> <li>AI100网站建议PC端使用,体验更佳。</li>
<li>电量的功能消耗以实际消耗为主,电量消耗描述仅做参考;</li>
</ul> </ul>
<div>本次活动规则最终解释权归AI100所有。</div> <div>本次活动规则最终解释权归AI100所有。</div>
</div> </div>
...@@ -63,13 +62,9 @@ ...@@ -63,13 +62,9 @@
<span class="dialog-url">AI100.com.cn</span> <span class="dialog-url">AI100.com.cn</span>
<span class="copy-btn" @click="copyLink">{{ copyText }}</span> <span class="copy-btn" @click="copyLink">{{ copyText }}</span>
</div> </div>
<img class="img-pc" src="./assets/imgs/dialog-pc.png" alt="" /> <img class="img-pc" src="./assets/imgs/dialog-pc.png" alt />
<img class="img-top" src="./assets/imgs/dialog.png" alt="" /> <img class="img-top" src="./assets/imgs/dialog.png" alt />
<a <a @click="clickLink" :href="`https://ai100.com.cn` + params" class="link-btn"></a>
@click="clickLink"
:href="`https://ai100.com.cn` + params"
class="link-btn"
></a>
<span class="close-btn" @click="showDialog = false"></span> <span class="close-btn" @click="showDialog = false"></span>
</div> </div>
</div> </div>
...@@ -84,7 +79,7 @@ axios.defaults.baseURL = "https://api.devbit.cn/ai"; ...@@ -84,7 +79,7 @@ axios.defaults.baseURL = "https://api.devbit.cn/ai";
const showDialog = ref(false); const showDialog = ref(false);
const params = ref(location.search); const params = ref(location.search);
const isRegisted = ref();
const form = reactive({ const form = reactive({
telNumber: "", telNumber: "",
msgCode: "" msgCode: ""
...@@ -98,22 +93,23 @@ const codeConfig = reactive({ ...@@ -98,22 +93,23 @@ const codeConfig = reactive({
show: false show: false
}); });
const activityId = "4ea820b97ee144128972d43c81eb3ea3"; const activityId = "aff8262a9118428cafdab1416e54f624";
const isActive = ref(true); const isActive = ref(true);
const getActivityList = () => { // const getActivityList = () => {
axios // axios
.get("/activity/list", { // .get("/activity/list", {
params: { // params: {
activityType: "REG_ELE" // activityType: "REG_ELE"
} // }
}) // })
.then(({ data: res }) => { // .then(({ data: res }) => {
isActive.value = res?.data?.find(item => { // isActive.value = res?.data?.find(item => {
return item.id === activityId; // return item.id === activityId;
}); // });
}); // console.log(isActive.value);
}; // });
// };
const utm_source = const utm_source =
new URL(location.href)?.searchParams?.get("utm_source") || "默认渠道"; new URL(location.href)?.searchParams?.get("utm_source") || "默认渠道";
...@@ -141,12 +137,12 @@ const checkPhone = async () => { ...@@ -141,12 +137,12 @@ const checkPhone = async () => {
telNumber: form.telNumber telNumber: form.telNumber
} }
}); });
const isRegisted = res.data; isRegisted.value = res.data;
if (isRegisted) { // if (isRegisted.value) {
phoneConfig.text = "该手机号已注册"; // phoneConfig.text = "该手机号已注册";
phoneConfig.show = true; // phoneConfig.show = true;
return false; // return false;
} // }
phoneConfig.show = false; phoneConfig.show = false;
return true; return true;
}; };
...@@ -190,31 +186,74 @@ const getMsgCode = async () => { ...@@ -190,31 +186,74 @@ const getMsgCode = async () => {
}; };
const submit = async () => { const submit = async () => {
console.log("AAA", isRegisted.value);
const phoneChecked = await checkPhone(); const phoneChecked = await checkPhone();
const codeChecked = checkCode(); const codeChecked = checkCode();
if (!phoneChecked || !codeChecked) return;
const formData = new FormData(); const formData = new FormData();
formData.append("activityId", activityId); formData.append("activityId", activityId);
formData.append("activityType", "REG_ELE"); formData.append("activityType", "CHECK_IN");
formData.append("telNumber", form.telNumber); formData.append("telNumber", form.telNumber);
formData.append("msgCode", form.msgCode); formData.append("msgCode", form.msgCode);
axios.post("/user/register", formData).then(({ data: res }) => { const requestData = {
if (res.code !== 200) { activityId: activityId,
codeConfig.text = "验证码不正确"; activityType: "CHECK_IN"
codeConfig.show = true; };
return; if (isRegisted.value) {
} if (!phoneChecked || !codeChecked) return;
showDialog.value = true;
formData.append("loginType", "TEL_CODE"); formData.append("loginType", "TEL_CODE");
axios.post("/user/login", formData).then(({ data: res }) => { axios.post("/user/login", formData).then(({ data: res }) => {
if (res.code !== 200) return; if (res.code !== 200) {
codeConfig.text = "验证码不正确";
codeConfig.show = true;
return;
}
showDialog.value = true;
const { token, username } = res.data; const { token, username } = res.data;
const str = `t=${token}&n=${username}`; const str = `t=${token}&n=${username}`;
axios
.post("/activity/take_activity", requestData, {
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " + token
}
})
.then(({ data: res }) => {
console.log(res);
});
params.value = params.value ? params.value + `&${str}` : `?${str}`; params.value = params.value ? params.value + `&${str}` : `?${str}`;
window._czc && window._czc &&
window._czc.push(["_trackEvent", "点击", "H5活动页注册", utm_source]); window._czc.push(["_trackEvent", "点击", "H5活动页注册", utm_source]);
}); });
}); } else {
if (!phoneChecked || !codeChecked) return;
axios.post("/user/register", formData).then(({ data: res }) => {
if (res.code !== 200) {
codeConfig.text = "验证码不正确";
codeConfig.show = true;
return;
}
formData.append("loginType", "TEL_CODE");
axios.post("/user/login", formData).then(({ data: res }) => {
if (res.code !== 200) return;
const { token, username } = res.data;
const str = `t=${token}&n=${username}`;
axios
.post("/activity/take_activity", requestData, {
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " + token
}
})
.then(({ data: res }) => {
console.log(res);
});
showDialog.value = true;
params.value = params.value ? params.value + `&${str}` : `?${str}`;
window._czc &&
window._czc.push(["_trackEvent", "点击", "H5活动页注册", utm_source]);
});
});
}
}; };
const copyText = ref("复制"); const copyText = ref("复制");
......
src/assets/imgs/register-button.png

17.2 KB | W: | H:

src/assets/imgs/register-button.png

25.2 KB | W: | H:

src/assets/imgs/register-button.png
src/assets/imgs/register-button.png
src/assets/imgs/register-button.png
src/assets/imgs/register-button.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/top-pc.png

147.3 KB | W: | H:

src/assets/imgs/top-pc.png

687.9 KB | W: | H:

src/assets/imgs/top-pc.png
src/assets/imgs/top-pc.png
src/assets/imgs/top-pc.png
src/assets/imgs/top-pc.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/top.png

606.3 KB | W: | H:

src/assets/imgs/top.png

687.9 KB | W: | H:

src/assets/imgs/top.png
src/assets/imgs/top.png
src/assets/imgs/top.png
src/assets/imgs/top.png
  • 2-up
  • Swipe
  • Onion skin