diff --git a/.env.example b/.env.example
deleted file mode 100644
index 5af588bb..00000000
--- a/.env.example
+++ /dev/null
@@ -1,2 +0,0 @@
-HOST=https://wejh.zjutjh.com
-ELECTRICITY_SUBSCRIBE_TEMPLID=xxxxxxxxxxxxx
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5d531ced..a9e6494a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -2889,7 +2889,7 @@ packages:
'@babel/core': ^7.0.0
dependencies:
'@babel/compat-data': registry.npmmirror.com/@babel/compat-data@7.21.0
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-validator-option': registry.npmmirror.com/@babel/helper-validator-option@7.21.0
browserslist: registry.npmmirror.com/browserslist@4.21.5
lru-cache: registry.npmmirror.com/lru-cache@5.1.1
@@ -3375,7 +3375,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
'@babel/helper-skip-transparent-expression-wrappers': registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers@7.20.0
'@babel/plugin-syntax-optional-chaining': registry.npmmirror.com/@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.0)
@@ -3433,7 +3433,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.0):
@@ -3456,7 +3456,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.21.0):
@@ -3479,7 +3479,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-export-default-from@7.18.6(@babel/core@7.21.0):
@@ -3503,7 +3503,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-flow@7.18.6(@babel/core@7.21.0):
@@ -3539,7 +3539,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.21.0):
@@ -3563,7 +3563,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.0):
@@ -3574,7 +3574,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.0):
@@ -3585,7 +3585,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.0):
@@ -3596,7 +3596,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.0):
@@ -3607,7 +3607,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.0):
@@ -3618,7 +3618,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.0):
@@ -3630,7 +3630,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.0):
@@ -3970,7 +3970,7 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.21.0
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
'@babel/helper-plugin-utils': registry.npmmirror.com/@babel/helper-plugin-utils@7.20.2
registry.npmmirror.com/@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.0):
@@ -4437,6 +4437,127 @@ packages:
stackframe: registry.npmmirror.com/stackframe@1.3.4
dev: true
+ registry.npmmirror.com/@esbuild/aix-ppc64@0.19.12:
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz}
+ name: '@esbuild/aix-ppc64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/android-arm64@0.19.12:
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz}
+ name: '@esbuild/android-arm64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/android-arm@0.19.12:
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz}
+ name: '@esbuild/android-arm'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/android-x64@0.19.12:
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz}
+ name: '@esbuild/android-x64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/darwin-arm64@0.19.12:
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz}
+ name: '@esbuild/darwin-arm64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/darwin-x64@0.19.12:
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz}
+ name: '@esbuild/darwin-x64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/freebsd-arm64@0.19.12:
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz}
+ name: '@esbuild/freebsd-arm64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/freebsd-x64@0.19.12:
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz}
+ name: '@esbuild/freebsd-x64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-arm64@0.19.12:
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz}
+ name: '@esbuild/linux-arm64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-arm@0.19.12:
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz}
+ name: '@esbuild/linux-arm'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-ia32@0.19.12:
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz}
+ name: '@esbuild/linux-ia32'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@esbuild/linux-loong64@0.14.54:
resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz}
name: '@esbuild/linux-loong64'
@@ -4447,6 +4568,138 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@esbuild/linux-loong64@0.19.12:
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz}
+ name: '@esbuild/linux-loong64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-mips64el@0.19.12:
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz}
+ name: '@esbuild/linux-mips64el'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-ppc64@0.19.12:
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz}
+ name: '@esbuild/linux-ppc64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-riscv64@0.19.12:
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz}
+ name: '@esbuild/linux-riscv64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-s390x@0.19.12:
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz}
+ name: '@esbuild/linux-s390x'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/linux-x64@0.19.12:
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz}
+ name: '@esbuild/linux-x64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/netbsd-x64@0.19.12:
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz}
+ name: '@esbuild/netbsd-x64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/openbsd-x64@0.19.12:
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz}
+ name: '@esbuild/openbsd-x64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/sunos-x64@0.19.12:
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz}
+ name: '@esbuild/sunos-x64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/win32-arm64@0.19.12:
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz}
+ name: '@esbuild/win32-arm64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/win32-ia32@0.19.12:
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz}
+ name: '@esbuild/win32-ia32'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
+ registry.npmmirror.com/@esbuild/win32-x64@0.19.12:
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz}
+ name: '@esbuild/win32-x64'
+ version: 0.19.12
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@eslint-community/eslint-utils@4.2.0(eslint@8.36.0):
resolution: {integrity: sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz}
id: registry.npmmirror.com/@eslint-community/eslint-utils/4.2.0
@@ -4738,6 +4991,17 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-darwin-arm64@1.3.96:
+ resolution: {integrity: sha512-8hzgXYVd85hfPh6mJ9yrG26rhgzCmcLO0h1TIl8U31hwmTbfZLzRitFQ/kqMJNbIBCwmNH1RU2QcJnL3d7f69A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.96.tgz}
+ name: '@swc/core-darwin-arm64'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-darwin-x64@1.3.23:
resolution: {integrity: sha512-eQSN+JJqx/5Dk2C5uet2l7HifGsDBorQHD3PAVnge5jxl+rXU/zbzX9Un56+uuUB0QYeS4Dyr8cN7NHuIKGxBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.23.tgz}
name: '@swc/core-darwin-x64'
@@ -4748,6 +5012,17 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-darwin-x64@1.3.96:
+ resolution: {integrity: sha512-mFp9GFfuPg+43vlAdQZl0WZpZSE8sEzqL7sr/7Reul5McUHP0BaLsEzwjvD035ESfkY8GBZdLpMinblIbFNljQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.96.tgz}
+ name: '@swc/core-darwin-x64'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-linux-arm-gnueabihf@1.3.23:
resolution: {integrity: sha512-zxYvggbw6R/sTNey0qgsigFMY59DYepm1+JNojxOKjbnvxmgyeIa5sPdu/5gLj0TtJOiWvSGrpMPNUIVreUSGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.23.tgz}
name: '@swc/core-linux-arm-gnueabihf'
@@ -4758,6 +5033,17 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-linux-arm-gnueabihf@1.3.96:
+ resolution: {integrity: sha512-8UEKkYJP4c8YzYIY/LlbSo8z5Obj4hqcv/fUTHiEePiGsOddgGf7AWjh56u7IoN/0uEmEro59nc1ChFXqXSGyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.96.tgz}
+ name: '@swc/core-linux-arm-gnueabihf'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-linux-arm64-gnu@1.3.23:
resolution: {integrity: sha512-l8UWhcNvZ6RzNZBBToMYuKYijF0h7mbw2RuFV5rpCYF/k/Wh85PaDHPQIQ6qjMHJsIBHYXUt0HLAP+fiAfBiDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.23.tgz}
name: '@swc/core-linux-arm64-gnu'
@@ -4769,6 +5055,18 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-linux-arm64-gnu@1.3.96:
+ resolution: {integrity: sha512-c/IiJ0s1y3Ymm2BTpyC/xr6gOvoqAVETrivVXHq68xgNms95luSpbYQ28rqaZC8bQC8M5zdXpSc0T8DJu8RJGw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.96.tgz}
+ name: '@swc/core-linux-arm64-gnu'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-linux-arm64-musl@1.3.23:
resolution: {integrity: sha512-TZDPp1wUE1ynVyY0vwIToyOULKEQ91H49R+p6Iu/2YY+UQQwUamhX0Gp8O85RT+j72/iHyhbQkz7yRg6v+GB5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.23.tgz}
name: '@swc/core-linux-arm64-musl'
@@ -4780,6 +5078,18 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-linux-arm64-musl@1.3.96:
+ resolution: {integrity: sha512-i5/UTUwmJLri7zhtF6SAo/4QDQJDH2fhYJaBIUhrICmIkRO/ltURmpejqxsM/ye9Jqv5zG7VszMC0v/GYn/7BQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.96.tgz}
+ name: '@swc/core-linux-arm64-musl'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-linux-x64-gnu@1.3.23:
resolution: {integrity: sha512-rKqWnOmUyQfoKZuuXs/S0RNobN+kcUyMtwoCdRdCNqOlk1XZRCMpjGc9Aqn73K3xlZ6JXX6oLrXKn375b2dydw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.23.tgz}
name: '@swc/core-linux-x64-gnu'
@@ -4791,6 +5101,18 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-linux-x64-gnu@1.3.96:
+ resolution: {integrity: sha512-USdaZu8lTIkm4Yf9cogct/j5eqtdZqTgcTib4I+NloUW0E/hySou3eSyp3V2UAA1qyuC72ld1otXuyKBna0YKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.96.tgz}
+ name: '@swc/core-linux-x64-gnu'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-linux-x64-musl@1.3.23:
resolution: {integrity: sha512-1MK9eocIhuIr/+yUKnTNHpYovMQvfKTJQbU4UMfQLg2qyCGKAvO+jOy5JIGR9x04MWqz9U3EHHS/7Id35ekhFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.23.tgz}
name: '@swc/core-linux-x64-musl'
@@ -4802,6 +5124,18 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-linux-x64-musl@1.3.96:
+ resolution: {integrity: sha512-QYErutd+G2SNaCinUVobfL7jWWjGTI0QEoQ6hqTp7PxCJS/dmKmj3C5ZkvxRYcq7XcZt7ovrYCTwPTHzt6lZBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.96.tgz}
+ name: '@swc/core-linux-x64-musl'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-win32-arm64-msvc@1.3.23:
resolution: {integrity: sha512-3nmdugj0SJIGWeCJBhvPWIfnE2Ax8H2KZsJfcaWmWg0SDh19aAt48Ncyd8WHHBandJmVm2fSjaANSjp+cS2S9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.23.tgz}
name: '@swc/core-win32-arm64-msvc'
@@ -4812,6 +5146,17 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-win32-arm64-msvc@1.3.96:
+ resolution: {integrity: sha512-hjGvvAduA3Un2cZ9iNP4xvTXOO4jL3G9iakhFsgVhpkU73SGmK7+LN8ZVBEu4oq2SUcHO6caWvnZ881cxGuSpg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.96.tgz}
+ name: '@swc/core-win32-arm64-msvc'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-win32-ia32-msvc@1.3.23:
resolution: {integrity: sha512-2AlGRhys1BsfLjXyWOd+5J/Ko2kkVQVuy3ZR8OBGy7XI54p0PpepabloYI9irr+4bi9vtyxoc5rS21PmJxB83Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.23.tgz}
name: '@swc/core-win32-ia32-msvc'
@@ -4822,6 +5167,17 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-win32-ia32-msvc@1.3.96:
+ resolution: {integrity: sha512-Far2hVFiwr+7VPCM2GxSmbh3ikTpM3pDombE+d69hkedvYHYZxtTF+2LTKl/sXtpbUnsoq7yV/32c9R/xaaWfw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.96.tgz}
+ name: '@swc/core-win32-ia32-msvc'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core-win32-x64-msvc@1.3.23:
resolution: {integrity: sha512-qYKP8sIM7VVLuDb5BkRBoHy28OHZWrUhPTO7WgpErhVVM9wnzmMi/Jgg8SyfMy6oheBjO0QiwWbXONxBwByjnQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.23.tgz}
name: '@swc/core-win32-x64-msvc'
@@ -4832,6 +5188,17 @@ packages:
requiresBuild: true
optional: true
+ registry.npmmirror.com/@swc/core-win32-x64-msvc@1.3.96:
+ resolution: {integrity: sha512-4VbSAniIu0ikLf5mBX81FsljnfqjoVGleEkCQv4+zRlyZtO3FHoDPkeLVoy6WRlj7tyrRcfUJ4mDdPkbfTO14g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.96.tgz}
+ name: '@swc/core-win32-x64-msvc'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: false
+ optional: true
+
registry.npmmirror.com/@swc/core@1.3.23:
resolution: {integrity: sha512-Aa7yw5+7ErOxr+G0J1eU2hkb9nEMSdt1Ye3isdAgg9mrsPuttk+cfLp6nP/Lux/VUnu5k4eOxeTy9UhjJhRAFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core/-/core-1.3.23.tgz}
name: '@swc/core'
@@ -4851,6 +5218,39 @@ packages:
'@swc/core-win32-ia32-msvc': registry.npmmirror.com/@swc/core-win32-ia32-msvc@1.3.23
'@swc/core-win32-x64-msvc': registry.npmmirror.com/@swc/core-win32-x64-msvc@1.3.23
+ registry.npmmirror.com/@swc/core@1.3.96:
+ resolution: {integrity: sha512-zwE3TLgoZwJfQygdv2SdCK9mRLYluwDOM53I+dT6Z5ZvrgVENmY3txvWDvduzkV+/8IuvrRbVezMpxcojadRdQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/core/-/core-1.3.96.tgz}
+ name: '@swc/core'
+ version: 1.3.96
+ engines: {node: '>=10'}
+ requiresBuild: true
+ peerDependencies:
+ '@swc/helpers': ^0.5.0
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+ dependencies:
+ '@swc/counter': registry.npmmirror.com/@swc/counter@0.1.3
+ '@swc/types': registry.npmmirror.com/@swc/types@0.1.5
+ optionalDependencies:
+ '@swc/core-darwin-arm64': registry.npmmirror.com/@swc/core-darwin-arm64@1.3.96
+ '@swc/core-darwin-x64': registry.npmmirror.com/@swc/core-darwin-x64@1.3.96
+ '@swc/core-linux-arm-gnueabihf': registry.npmmirror.com/@swc/core-linux-arm-gnueabihf@1.3.96
+ '@swc/core-linux-arm64-gnu': registry.npmmirror.com/@swc/core-linux-arm64-gnu@1.3.96
+ '@swc/core-linux-arm64-musl': registry.npmmirror.com/@swc/core-linux-arm64-musl@1.3.96
+ '@swc/core-linux-x64-gnu': registry.npmmirror.com/@swc/core-linux-x64-gnu@1.3.96
+ '@swc/core-linux-x64-musl': registry.npmmirror.com/@swc/core-linux-x64-musl@1.3.96
+ '@swc/core-win32-arm64-msvc': registry.npmmirror.com/@swc/core-win32-arm64-msvc@1.3.96
+ '@swc/core-win32-ia32-msvc': registry.npmmirror.com/@swc/core-win32-ia32-msvc@1.3.96
+ '@swc/core-win32-x64-msvc': registry.npmmirror.com/@swc/core-win32-x64-msvc@1.3.96
+ dev: false
+
+ registry.npmmirror.com/@swc/counter@0.1.3:
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/counter/-/counter-0.1.3.tgz}
+ name: '@swc/counter'
+ version: 0.1.3
+ dev: false
+
registry.npmmirror.com/@swc/register@0.1.10(@swc/core@1.3.23):
resolution: {integrity: sha512-6STwH/q4dc3pitXLVkV7sP0Hiy+zBsU2wOF1aXpXR95pnH3RYHKIsDC+gvesfyB7jxNT9OOZgcqOp9RPxVTx9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/register/-/register-0.1.10.tgz}
id: registry.npmmirror.com/@swc/register/0.1.10
@@ -4865,6 +5265,27 @@ packages:
pirates: registry.npmmirror.com/pirates@4.0.5
source-map-support: registry.npmmirror.com/source-map-support@0.5.21
+ registry.npmmirror.com/@swc/register@0.1.10(@swc/core@1.3.96):
+ resolution: {integrity: sha512-6STwH/q4dc3pitXLVkV7sP0Hiy+zBsU2wOF1aXpXR95pnH3RYHKIsDC+gvesfyB7jxNT9OOZgcqOp9RPxVTx9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/register/-/register-0.1.10.tgz}
+ id: registry.npmmirror.com/@swc/register/0.1.10
+ name: '@swc/register'
+ version: 0.1.10
+ hasBin: true
+ peerDependencies:
+ '@swc/core': ^1.0.46
+ dependencies:
+ '@swc/core': registry.npmmirror.com/@swc/core@1.3.96
+ lodash.clonedeep: registry.npmmirror.com/lodash.clonedeep@4.5.0
+ pirates: registry.npmmirror.com/pirates@4.0.5
+ source-map-support: registry.npmmirror.com/source-map-support@0.5.21
+ dev: false
+
+ registry.npmmirror.com/@swc/types@0.1.5:
+ resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/types/-/types-0.1.5.tgz}
+ name: '@swc/types'
+ version: 0.1.5
+ dev: false
+
registry.npmmirror.com/@szmarczak/http-timer@1.1.2:
resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz}
name: '@szmarczak/http-timer'
@@ -5016,6 +5437,43 @@ packages:
- '@types/webpack-dev-server'
- react
+ registry.npmmirror.com/@tarojs/helper@3.6.23:
+ resolution: {integrity: sha512-0Fce1QlsON93eMMqOQSQjY1OO1N6mWvVvwOvbrDbysRvJEOis1+XZ1zsGcagInsyksKVYQaPX021+MRU7IjKgw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tarojs/helper/-/helper-3.6.23.tgz}
+ name: '@tarojs/helper'
+ version: 3.6.23
+ dependencies:
+ '@babel/core': registry.npmmirror.com/@babel/core@7.21.0
+ '@babel/parser': registry.npmmirror.com/@babel/parser@7.21.2
+ '@babel/plugin-proposal-decorators': registry.npmmirror.com/@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.21.0)
+ '@babel/plugin-proposal-object-rest-spread': registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.0)
+ '@babel/plugin-transform-runtime': registry.npmmirror.com/@babel/plugin-transform-runtime@7.21.0(@babel/core@7.21.0)
+ '@babel/preset-env': registry.npmmirror.com/@babel/preset-env@7.20.2(@babel/core@7.21.0)
+ '@babel/preset-typescript': registry.npmmirror.com/@babel/preset-typescript@7.21.0(@babel/core@7.21.0)
+ '@babel/register': registry.npmmirror.com/@babel/register@7.21.0(@babel/core@7.21.0)
+ '@babel/runtime': registry.npmmirror.com/@babel/runtime@7.21.0
+ '@babel/traverse': registry.npmmirror.com/@babel/traverse@7.21.2
+ '@swc/core': registry.npmmirror.com/@swc/core@1.3.96
+ '@swc/register': registry.npmmirror.com/@swc/register@0.1.10(@swc/core@1.3.96)
+ ansi-escapes: registry.npmmirror.com/ansi-escapes@4.3.2
+ chalk: registry.npmmirror.com/chalk@3.0.0
+ chokidar: registry.npmmirror.com/chokidar@3.5.3
+ cross-spawn: registry.npmmirror.com/cross-spawn@7.0.3
+ debug: registry.npmmirror.com/debug@4.3.4
+ dotenv: registry.npmmirror.com/dotenv@16.0.3
+ dotenv-expand: registry.npmmirror.com/dotenv-expand@9.0.0
+ esbuild: registry.npmmirror.com/esbuild@0.19.12
+ find-yarn-workspace-root: registry.npmmirror.com/find-yarn-workspace-root@2.0.0
+ fs-extra: registry.npmmirror.com/fs-extra@8.1.0
+ lodash: registry.npmmirror.com/lodash@4.17.21
+ require-from-string: registry.npmmirror.com/require-from-string@2.0.2
+ resolve: registry.npmmirror.com/resolve@1.22.1
+ supports-hyperlinks: registry.npmmirror.com/supports-hyperlinks@2.3.0
+ yauzl: registry.npmmirror.com/yauzl@2.10.0
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - supports-color
+ dev: false
+
registry.npmmirror.com/@tarojs/helper@3.6.7:
resolution: {integrity: sha512-6NkeufZQSUWeIflF4e17FSudKkNjTJVcSMVeaDE8dhA7YxnSy8P5Qj/KjkyOGMh0u/Zhl6AMPIpnbamdk8FHEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tarojs/helper/-/helper-3.6.7.tgz}
name: '@tarojs/helper'
@@ -5201,6 +5659,44 @@ packages:
- vue
dev: true
+ registry.npmmirror.com/@tarojs/plugin-framework-react@3.6.23(@tarojs/runtime@3.6.8)(@tarojs/shared@3.6.8)(@tarojs/taro@3.6.8):
+ resolution: {integrity: sha512-jM9Y/T/nwHLlqUoV8LEpC/cop4horJYVnde34G3XYSO80ltFl0c6RNLO3fooG4j+5mrqbifqMJ7rH/FCi5fwoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tarojs/plugin-framework-react/-/plugin-framework-react-3.6.23.tgz}
+ id: registry.npmmirror.com/@tarojs/plugin-framework-react/3.6.23
+ name: '@tarojs/plugin-framework-react'
+ version: 3.6.23
+ peerDependencies:
+ '@pmmmwh/react-refresh-webpack-plugin': '*'
+ '@prefresh/webpack': '*'
+ '@tarojs/runtime': ~3.6.23
+ '@tarojs/shared': ~3.6.23
+ preact: '*'
+ react: '>=17'
+ react-refresh: '*'
+ peerDependenciesMeta:
+ '@pmmmwh/react-refresh-webpack-plugin':
+ optional: true
+ '@prefresh/webpack':
+ optional: true
+ preact:
+ optional: true
+ react:
+ optional: true
+ react-refresh:
+ optional: true
+ dependencies:
+ '@tarojs/helper': registry.npmmirror.com/@tarojs/helper@3.6.23
+ '@tarojs/runtime': registry.npmmirror.com/@tarojs/runtime@3.6.8
+ '@tarojs/service': registry.npmmirror.com/@tarojs/service@3.6.23(@tarojs/shared@3.6.8)(@tarojs/taro@3.6.8)
+ '@tarojs/shared': registry.npmmirror.com/@tarojs/shared@3.6.8
+ acorn: registry.npmmirror.com/acorn@8.8.2
+ acorn-walk: registry.npmmirror.com/acorn-walk@8.2.0
+ lodash: registry.npmmirror.com/lodash@4.17.21
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - '@tarojs/taro'
+ - supports-color
+ dev: false
+
registry.npmmirror.com/@tarojs/plugin-framework-vue3@3.6.8(vue@3.2.47):
resolution: {integrity: sha512-ud0bZmIbTbvAtSMWGFmmI9gRg39tnCJFlqtLUwAYyqOORDCLinrSErFJ+8xC4TrzfqYCB33l64KTU3qxYw3Ttg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tarojs/plugin-framework-vue3/-/plugin-framework-vue3-3.6.8.tgz}
id: registry.npmmirror.com/@tarojs/plugin-framework-vue3/3.6.8
@@ -5395,6 +5891,29 @@ packages:
'@tarojs/shared': registry.npmmirror.com/@tarojs/shared@3.6.8
lodash-es: registry.npmmirror.com/lodash-es@4.17.21
+ registry.npmmirror.com/@tarojs/service@3.6.23(@tarojs/shared@3.6.8)(@tarojs/taro@3.6.8):
+ resolution: {integrity: sha512-lRxgioi1ALKpFySs8pZLAnqT1Jk1wygHGVQ4JDpaMrP4XMVaKLARX/1VmeVxgDJQ82IlP3++LsJEKOdwqL3usQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tarojs/service/-/service-3.6.23.tgz}
+ id: registry.npmmirror.com/@tarojs/service/3.6.23
+ name: '@tarojs/service'
+ version: 3.6.23
+ peerDependencies:
+ '@tarojs/shared': ~3.6.23
+ '@tarojs/taro': ~3.6.23
+ dependencies:
+ '@tarojs/helper': registry.npmmirror.com/@tarojs/helper@3.6.23
+ '@tarojs/shared': registry.npmmirror.com/@tarojs/shared@3.6.8
+ '@tarojs/taro': registry.npmmirror.com/@tarojs/taro@3.6.8(vue@3.2.47)
+ joi: registry.npmmirror.com/joi@17.8.4
+ lodash: registry.npmmirror.com/lodash@4.17.21
+ ora: registry.npmmirror.com/ora@5.4.1
+ resolve: registry.npmmirror.com/resolve@1.22.1
+ tapable: registry.npmmirror.com/tapable@1.1.3
+ webpack-merge: registry.npmmirror.com/webpack-merge@4.2.2
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ - supports-color
+ dev: false
+
registry.npmmirror.com/@tarojs/service@3.6.7(vue@3.2.47):
resolution: {integrity: sha512-UMdhW91Hrwj4X+ixLIar1UdncGrsV552ITe3zuDnXlKtqzpVmSjaIiSiRcOcsAzntrbR3XhYElvnKFkC49Pa3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@tarojs/service/-/service-3.6.7.tgz}
id: registry.npmmirror.com/@tarojs/service/3.6.7
@@ -6241,7 +6760,6 @@ packages:
name: acorn-walk
version: 8.2.0
engines: {node: '>=0.4.0'}
- dev: true
registry.npmmirror.com/acorn@8.8.2:
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz}
@@ -6249,7 +6767,6 @@ packages:
version: 8.8.2
engines: {node: '>=0.4.0'}
hasBin: true
- dev: true
registry.npmmirror.com/address@1.2.2:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/address/-/address-1.2.2.tgz}
@@ -8559,14 +9076,12 @@ packages:
name: dotenv-expand
version: 9.0.0
engines: {node: '>=12'}
- dev: true
registry.npmmirror.com/dotenv@16.0.3:
resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dotenv/-/dotenv-16.0.3.tgz}
name: dotenv
version: 16.0.3
engines: {node: '>=12'}
- dev: true
registry.npmmirror.com/download-git-repo@2.0.0:
resolution: {integrity: sha512-al8ZOwpm/DvCd7XC8PupeuNlC2TrvsMxW3FOx1bCbHNBhP1lYjOn9KnPqnZ3o/jz1vxCC5NHGJA7LT+GYMLcHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/download-git-repo/-/download-git-repo-2.0.0.tgz}
@@ -8977,6 +9492,39 @@ packages:
esbuild-windows-64: registry.npmmirror.com/esbuild-windows-64@0.14.54
esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64@0.14.54
+ registry.npmmirror.com/esbuild@0.19.12:
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.19.12.tgz}
+ name: esbuild
+ version: 0.19.12
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': registry.npmmirror.com/@esbuild/aix-ppc64@0.19.12
+ '@esbuild/android-arm': registry.npmmirror.com/@esbuild/android-arm@0.19.12
+ '@esbuild/android-arm64': registry.npmmirror.com/@esbuild/android-arm64@0.19.12
+ '@esbuild/android-x64': registry.npmmirror.com/@esbuild/android-x64@0.19.12
+ '@esbuild/darwin-arm64': registry.npmmirror.com/@esbuild/darwin-arm64@0.19.12
+ '@esbuild/darwin-x64': registry.npmmirror.com/@esbuild/darwin-x64@0.19.12
+ '@esbuild/freebsd-arm64': registry.npmmirror.com/@esbuild/freebsd-arm64@0.19.12
+ '@esbuild/freebsd-x64': registry.npmmirror.com/@esbuild/freebsd-x64@0.19.12
+ '@esbuild/linux-arm': registry.npmmirror.com/@esbuild/linux-arm@0.19.12
+ '@esbuild/linux-arm64': registry.npmmirror.com/@esbuild/linux-arm64@0.19.12
+ '@esbuild/linux-ia32': registry.npmmirror.com/@esbuild/linux-ia32@0.19.12
+ '@esbuild/linux-loong64': registry.npmmirror.com/@esbuild/linux-loong64@0.19.12
+ '@esbuild/linux-mips64el': registry.npmmirror.com/@esbuild/linux-mips64el@0.19.12
+ '@esbuild/linux-ppc64': registry.npmmirror.com/@esbuild/linux-ppc64@0.19.12
+ '@esbuild/linux-riscv64': registry.npmmirror.com/@esbuild/linux-riscv64@0.19.12
+ '@esbuild/linux-s390x': registry.npmmirror.com/@esbuild/linux-s390x@0.19.12
+ '@esbuild/linux-x64': registry.npmmirror.com/@esbuild/linux-x64@0.19.12
+ '@esbuild/netbsd-x64': registry.npmmirror.com/@esbuild/netbsd-x64@0.19.12
+ '@esbuild/openbsd-x64': registry.npmmirror.com/@esbuild/openbsd-x64@0.19.12
+ '@esbuild/sunos-x64': registry.npmmirror.com/@esbuild/sunos-x64@0.19.12
+ '@esbuild/win32-arm64': registry.npmmirror.com/@esbuild/win32-arm64@0.19.12
+ '@esbuild/win32-ia32': registry.npmmirror.com/@esbuild/win32-ia32@0.19.12
+ '@esbuild/win32-x64': registry.npmmirror.com/@esbuild/win32-x64@0.19.12
+ dev: false
+
registry.npmmirror.com/escalade@3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz}
name: escalade
@@ -13536,6 +14084,7 @@ packages:
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz}
name: prr
version: 1.0.1
+ requiresBuild: true
dev: true
optional: true
diff --git a/src/app.config.ts b/src/app.config.ts
index ed180501..15862523 100644
--- a/src/app.config.ts
+++ b/src/app.config.ts
@@ -24,6 +24,11 @@ export default {
"pages/electricity/subscribe/index",
"pages/lostfound/index",
"pages/information/index",
+ "pages/suit/index",
+ "pages/suit/faq/index",
+ "pages/suit/information/index",
+ "pages/suit/apply/index",
+ "pages/suit/myapplication/index"
],
darkmode: true,
themeLocation: "theme.json",
diff --git a/src/assets/photos/faq.svg b/src/assets/photos/faq.svg
new file mode 100755
index 00000000..6ed08874
--- /dev/null
+++ b/src/assets/photos/faq.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/photos/suit.svg b/src/assets/photos/suit.svg
new file mode 100755
index 00000000..bafd92d3
--- /dev/null
+++ b/src/assets/photos/suit.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/photos/suitapply-suitInformation.svg b/src/assets/photos/suitapply-suitInformation.svg
new file mode 100644
index 00000000..39cb9d1d
--- /dev/null
+++ b/src/assets/photos/suitapply-suitInformation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/components/AppList/index.scss b/src/components/AppList/index.scss
index d3d79e56..edd64ba7 100644
--- a/src/components/AppList/index.scss
+++ b/src/components/AppList/index.scss
@@ -5,7 +5,7 @@ $applit-padding-top: .8rem;
.applist {
display: grid;
justify-content: center;
- grid-template-columns: repeat(4, 25%);
+ grid-template-columns: repeat(3, 33.3333%);
width: 90%;
margin: 0 auto;
padding-bottom: calc($nav-bar-height + $nav-bar-padding-top + $applit-padding-top);
diff --git a/src/constants/copywriting.ts b/src/constants/copywriting.ts
index 9635ea0a..71e24010 100644
--- a/src/constants/copywriting.ts
+++ b/src/constants/copywriting.ts
@@ -74,4 +74,10 @@ export const helpText = {
"因各学院实际绩点计算标准不一,微精弘绩点算法将特殊科目(包括通识课和体育课)成绩也纳入计算,且缓考、补考、重修、免修的成绩不纳入计算,计算结果仅供参考,数据来源于正方教务系统。",
lostfound:
"首页“失物寻物”模块是由“For You”工程与精弘网络合作共同开发的一项学生服务功能,若丢失或拾得物品请联系界面底部上拉列表的组织管理员。您的参与是对我们工作的最大支持,让我们携手共同营造温暖、团结的校园氛围。",
+ suit: {
+ main: "“正装借用”是由学生事务大厅与精弘网络合作共同开发的一项学生服务功能,您的参与是对我们工作的最大支持,让我们携手共同营造温暖、团结的校园氛围。",
+ help: "感谢您使用由学生事务大厅与精弘网络合作共同开发的“正装借用”,使用时如有疑问请点击您所在的校区,查看详情中“学生事务大厅”的联系方式咨询工作人员。",
+ information: "感谢您使用由学生事务大厅与精弘网络合作共同开发的“正装借用”,请在使用前正确填写您的真实个人信息,以便后续工作的开展。",
+ warn: "请您再次确认是否提交申请!另外,申请完成后,如果您所申请的正装的尺码目前标注“余量不足”,请您尽早前往学生事务大厅领取。\n “余量不足”的正装可能会被线下借用的同学优先借完,从而导致在“微精弘线上借用”已经申请过的同学无正装可借,微精弘对此概不负责!"
+ }
};
diff --git a/src/constants/suitFaq.ts b/src/constants/suitFaq.ts
new file mode 100644
index 00000000..98a63de2
--- /dev/null
+++ b/src/constants/suitFaq.ts
@@ -0,0 +1,11 @@
+/**
+ * 正装借用 借用须知
+ * 默认须知
+ */
+
+export const faqText = [
+ "① -- 确定正装需求\n\n",
+ "② -- 联系管理员\n\n",
+ "③ -- 填写正装申请表\n\n",
+ "④ -- 线下确定尺寸\n\n"
+];
diff --git a/src/pages/bind/ZF/index.vue b/src/pages/bind/ZF/index.vue
index 30504d65..08ca6617 100644
--- a/src/pages/bind/ZF/index.vue
+++ b/src/pages/bind/ZF/index.vue
@@ -8,7 +8,7 @@ import { ref, computed } from "vue";
const zfpass = ref("");
const user = computed(() => serviceStore.user);
-const helpContent = helpText.bind.zf;
+const helpContent = helpText.suit;
const isShowHelp = ref(false);
async function bindZFClick() {
diff --git a/src/pages/suit/ContactMe/index.module.scss b/src/pages/suit/ContactMe/index.module.scss
new file mode 100644
index 00000000..30e4fb96
--- /dev/null
+++ b/src/pages/suit/ContactMe/index.module.scss
@@ -0,0 +1,34 @@
+@import "@/style/theme.scss";
+
+.container {
+ text-align: center;
+ padding: 8Px;
+ font-size: 1.0rem;
+ color: var(--wjh-color-text-secondary);
+ background-color: var(--wjh-color-primary-light);
+ display: flex;
+ justify-content: center;
+ gap: 8Px;
+ align-items: center;
+ z-index: 1000;
+ @include shadow;
+
+ .arrow {
+ rotate: 90deg;
+ width: 0;
+ height: 0;
+ border: 7Px solid transparent;
+ border-bottom: 12Px solid var(--wjh-color-primary-dark);
+ }
+
+ .helpicon {
+ font-size: 1.2rem;
+ color: var(--wjh-color-primary-dark);
+ line-height: 150%;
+ }
+}
+
+.ios {
+ padding-bottom: 2rem;
+}
+
diff --git a/src/pages/suit/ContactMe/index.vue b/src/pages/suit/ContactMe/index.vue
new file mode 100644
index 00000000..f75e0477
--- /dev/null
+++ b/src/pages/suit/ContactMe/index.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+ 点击查看学生事务大厅的联系方式
+
+
+
diff --git a/src/pages/suit/apply/dark.scss b/src/pages/suit/apply/dark.scss
new file mode 100644
index 00000000..90dcbeb0
--- /dev/null
+++ b/src/pages/suit/apply/dark.scss
@@ -0,0 +1,5 @@
+.dark {
+ .record-list-item {
+ color: var(--wjh-color-primary);
+ }
+}
diff --git a/src/pages/suit/apply/index.config.ts b/src/pages/suit/apply/index.config.ts
new file mode 100644
index 00000000..7c8f0ff3
--- /dev/null
+++ b/src/pages/suit/apply/index.config.ts
@@ -0,0 +1,6 @@
+export default {
+ navigationBarTitleText: "正装查看与申请",
+ backgroundColor: "#F9D8BE",
+ disableScroll: true,
+ navigationStyle: "custom"
+};
diff --git a/src/pages/suit/apply/index.module.scss b/src/pages/suit/apply/index.module.scss
new file mode 100644
index 00000000..8b4e53f9
--- /dev/null
+++ b/src/pages/suit/apply/index.module.scss
@@ -0,0 +1,183 @@
+@import "@/style/theme.scss";
+
+.campus-selector {
+ padding: 12Px;
+
+ .container {
+ display: flex;
+ height: 100%;
+ gap: 16Px;
+ }
+
+ .campus {
+ @include shadow;
+ flex: 0 calc(100% / 3);
+ padding: 6Px 16Px;
+ border-radius: 100Px;
+ background-color: var(--wjh-color-primary-light);
+ color: var(--wjh-color-primary-dark);
+ text-align: center;
+ transition: all .1s;
+ }
+
+ .campus:active {
+ transform: scale(1.05);
+ }
+
+ .active {
+ background-color: var(--wjh-color-primary);
+ color: var(--wjh-color-white);
+ }
+}
+
+.suit-selector {
+ display: flex;
+ flex: 0 0 auto;
+ margin-bottom: 6Px;
+ padding: 6Px;
+ overflow-x: scroll;
+ white-space: nowrap;
+
+ .suits {
+ @include shadow;
+ position: relative;
+ height: 178Px;
+ // height: 142Px;
+ margin: 0 6Px;
+ padding: 0Px 62Px;
+ border-radius: 12Px;
+ background-color: var(--wjh-color-week);
+ background-size:100% 100%;
+
+ .suit-name {
+ height: 36Px;
+ width: 124Px;
+ line-height: 65px;
+ position: absolute;
+ top: 142Px;
+ left: 0Px;
+ text-align: center;
+ border-radius: 0 0 9Px 9Px;
+ background-color: var(--wjh-color-background-container);
+ }
+ }
+
+ .active {
+ border: solid 4Px var(--wjh-color-primary);
+ }
+}
+
+.suit-panel {
+ background-color: var(--wjh-color-background-popup);
+ height: 100%;
+ width: 100%;
+ margin: 0;
+ border-top-right-radius: 20Px;
+ border-top-left-radius: 20Px;
+
+ .container {
+ padding: 12Px 33Px;
+
+ .title {
+ margin: 24Px 0;
+ padding-left: .6rem;
+ border-left: 2Px solid;
+ font-size: 1.1rem;
+ line-height: 100%;
+ color: var(--wjh-color-primary);
+ }
+
+ .size-scroll {
+ display: flex;
+ overflow-x: auto;
+
+ .size-card {
+ @include shadow;
+ display: flex;
+ flex: 0 0 auto;
+ height: 40Px;
+ padding: 0 25Px;
+ margin-right: 16Px;
+ border: solid 2Px var(--wjh-color-week);
+ border-radius: 10Px;
+ color: var(--wjh-color-text-secondary);
+ text-align: center;
+ line-height: 40Px;
+ }
+
+ .active {
+ border: solid 2Px var(--wjh-color-primary);
+ color: var(--wjh-color-primary);
+ }
+ }
+
+ .remain-suit-num {
+ // display: inline-flex;
+ position: relative;
+ }
+
+ .warning {
+ position: absolute;
+ top: -12Px;
+ left: 100Px;
+ display: inline-flex;
+ // margin: -12Px 0 0 40Px;
+ padding: 9Px 13Px 9Px 13Px;
+ border-radius: 8Px;
+ color: var(--wjh-color-orange-600);
+ background-color: var(--wjh-color-orange-400);
+
+ .text {
+ margin-left: 12Px;
+ }
+ }
+
+ .rent-suit-number {
+ transition: all 0.1s; //need test
+
+ .number-symbal {
+ @include shadow;
+ display: inline-block;
+ height: 35Px;
+ width: 35Px;
+ border: solid 1Px var(--wjh-color-week);
+ border-radius: 5Px;
+ color: var(--wjh-color-week);
+ font-size: 1.6rem;
+ font-weight: var(--wjh-font-weight-medium);
+ text-align: center;
+ line-height: 35Px;
+ }
+
+ .number-symbal:hover {
+ color: var(--wjh-color-text-secondary);
+ background-color: var(--wjh-color-light);
+ border: solid 1Px var(--wjh-color-light);
+ }
+
+ .number-num {
+ display: inline-block;
+ margin: 0 30Px;
+ }
+ }
+ }
+
+ .confirm {
+ @include shadow;
+ height: 40Px;
+ margin: 12Px;
+ border-radius: 7Px;
+ text-align: center;
+ line-height: 40Px;
+ background-color: var(--wjh-color-primary);
+ color: var(--wjh-color-white);
+ }
+
+ .unactive {
+ background-color: var(--wjh-color-week);
+ }
+}
+
+.card-alarm {
+ margin: 0 30Px;
+}
diff --git a/src/pages/suit/apply/index.vue b/src/pages/suit/apply/index.vue
new file mode 100644
index 00000000..d76f32e4
--- /dev/null
+++ b/src/pages/suit/apply/index.vue
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+
+ handleSelectCampus(item)"
+ >
+ {{ item }}
+
+
+
+
+ {selectSuitStyle(suit)}"
+ >
+ {{ suit.name }}
+
+
+
+
+ 尺码
+
+ selectSuitSize(spec)"
+ >{{ spec.spec }}
+
+ 剩余数量
+
+ {{ suitStock === -1 ? "-" : suitStock }}
+ 余量不足
+
+ 数量
+
+ -
+ {{ rentSuitNumber }}
+ +
+
+
+ 库存不足,无法申请
+ 提交申请
+
+
+ 该校区不存在可借用正装
+
+
+
+
diff --git a/src/pages/suit/faq/dark.scss b/src/pages/suit/faq/dark.scss
new file mode 100644
index 00000000..90dcbeb0
--- /dev/null
+++ b/src/pages/suit/faq/dark.scss
@@ -0,0 +1,5 @@
+.dark {
+ .record-list-item {
+ color: var(--wjh-color-primary);
+ }
+}
diff --git a/src/pages/suit/faq/index.config.ts b/src/pages/suit/faq/index.config.ts
new file mode 100644
index 00000000..9d857e0c
--- /dev/null
+++ b/src/pages/suit/faq/index.config.ts
@@ -0,0 +1,6 @@
+export default {
+ navigationBarTitleText: "借用须知",
+ backgroundColor: "#F9D8BE",
+ disableScroll: true,
+ navigationStyle: "custom"
+};
diff --git a/src/pages/suit/faq/index.module.scss b/src/pages/suit/faq/index.module.scss
new file mode 100644
index 00000000..6a189914
--- /dev/null
+++ b/src/pages/suit/faq/index.module.scss
@@ -0,0 +1,41 @@
+@import "@/style/theme.scss";
+
+.header {
+ height: 200Px;
+ background-color: var(--wjh-color-primary);
+ display: flex;
+
+ image {
+ height: 100%;
+ margin: 0 auto;
+ }
+}
+
+.title {
+ font-size: 1.35rem;
+ word-break: break-word;
+ font-weight: var(--wjh-font-weight-medium);
+ justify-content: center;
+ text-align: center;
+ padding: 12Px 0;
+ border-bottom: 1Px solid var(--wjh-color-border);
+}
+
+.text {
+ font-weight: normal;
+ font-size: 1rem;
+ color: var(--wjh-color-text);
+ line-height: 1.2;
+ padding: 0 1rem 1rem;
+
+ border-bottom: 1Px solid var(--wjh-color-border);
+}
+
+
+.footer {
+ padding: 12Px 0;
+ color: var(--wjh-color-week);
+ text-align: center;
+ font-size: .8rem;
+ font-weight: normal;
+}
diff --git a/src/pages/suit/faq/index.vue b/src/pages/suit/faq/index.vue
new file mode 100644
index 00000000..ed1321f0
--- /dev/null
+++ b/src/pages/suit/faq/index.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+ {{ faq.title }}
+
+ {{faq.content}}
+
+
+ {{ faq.publisher }} · {{ timeFormat(faq.publish_time) }}
+
+
+
+ 当前暂无借用须知,敬请期待
+
+
+
+
+
+
+
diff --git a/src/pages/suit/index.config.ts b/src/pages/suit/index.config.ts
new file mode 100644
index 00000000..25d2f53f
--- /dev/null
+++ b/src/pages/suit/index.config.ts
@@ -0,0 +1,6 @@
+export default {
+ navigationBarTitleText: "正装借用",
+ backgroundColor: "#F9D8BE",
+ disableScroll: true,
+ navigationStyle: "custom"
+};
diff --git a/src/pages/suit/index.scss b/src/pages/suit/index.scss
new file mode 100644
index 00000000..34317c44
--- /dev/null
+++ b/src/pages/suit/index.scss
@@ -0,0 +1,53 @@
+@import '@/style/theme.scss';
+
+.header-view {
+ height: 200Px;
+ background-color: var(--wjh-color-primary);
+ display: flex;
+
+ image {
+ height: 100%;
+ margin: 0 auto;
+ }
+
+ .extra {
+ position: absolute;
+ color: var(--wjh-color-white);
+ right: 16Px;
+ top: 145Px;
+ text-align: center;
+
+ .icon-wrapper {
+ width: 32Px;
+ height: 32Px;
+ background-color: var(--wjh-color-white);
+ text-align: center;
+ border-radius: 50%;
+
+ .extra-icon {
+ color: var(--wjh-color-primary);
+ font-size: 1.5rem;
+ }
+ }
+
+ .label {
+ font-size: 0.75rem;
+ }
+ }
+}
+
+.flex-column {
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+ padding: 1.2rem 1rem;
+}
+
+.suit-list-item {
+
+ .text-wrapper {
+ display: flex;
+ gap: 16rpx;
+ flex: auto;
+ }
+}
diff --git a/src/pages/suit/index.vue b/src/pages/suit/index.vue
new file mode 100644
index 00000000..70713870
--- /dev/null
+++ b/src/pages/suit/index.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+ 借用须知
+
+
+
+
+
+
+
+ 查看正装/借用正装
+
+
+
+
+
+
+
+ 我的申请
+
+
+
+
+
+
+
+ 我的信息
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/suit/information/dark.scss b/src/pages/suit/information/dark.scss
new file mode 100644
index 00000000..90dcbeb0
--- /dev/null
+++ b/src/pages/suit/information/dark.scss
@@ -0,0 +1,5 @@
+.dark {
+ .record-list-item {
+ color: var(--wjh-color-primary);
+ }
+}
diff --git a/src/pages/suit/information/index.config.ts b/src/pages/suit/information/index.config.ts
new file mode 100644
index 00000000..68a05f07
--- /dev/null
+++ b/src/pages/suit/information/index.config.ts
@@ -0,0 +1,6 @@
+export default {
+ navigationBarTitleText: "我的信息",
+ backgroundColor: "#F9D8BE",
+ disableScroll: true,
+ navigationStyle: "custom"
+};
diff --git a/src/pages/suit/information/index.module.scss b/src/pages/suit/information/index.module.scss
new file mode 100644
index 00000000..951aab29
--- /dev/null
+++ b/src/pages/suit/information/index.module.scss
@@ -0,0 +1,48 @@
+@import "@/style/theme.scss";
+
+.header {
+ height: 200Px;
+ background-color: var(--wjh-color-primary);
+ display: flex;
+
+ image {
+ height: 100%;
+ margin: 0 auto;
+ }
+}
+
+.input {
+ border: 2Px solid var(--wjh-color-light);
+ padding: 0.3rem 0.5rem;
+ margin: 0.5rem 0;
+ border-radius: 0.2rem;
+ box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
+}
+
+.button {
+ display: flex;
+ justify-content: space-around;
+
+ .button_cancle {
+ background-color: var(--wjh-color-primary-light) !important;
+ color: var(--wjh-color-primary-dark);
+ flex: 1;
+ }
+ .button_save {
+ flex: 1;
+ }
+
+}
+
+.line{
+ display: flex;
+ justify-content: space-around;
+ .name{
+ flex: 3;
+ padding-right: 10Px;
+ }
+ .sex{
+ flex: 2;
+ }
+}
+
diff --git a/src/pages/suit/information/index.vue b/src/pages/suit/information/index.vue
new file mode 100644
index 00000000..f040ddcb
--- /dev/null
+++ b/src/pages/suit/information/index.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+
+
+
+ | 我的信息
+
+ (isShowHelp = !isShowHelp)">
+
+
+
+
+ 学号
+
+
+
+
+
+
+ 姓名
+
+
+
+
+
+
+ 性别
+
+
+
+
+
+ 学院
+
+
+
+ 寝室
+
+
+
+ 手机号码
+
+
+
+
+
+ 取消
+
+ 保存
+
+ 编辑
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/suit/myapplication/PreviewCard/Modal/index.scss b/src/pages/suit/myapplication/PreviewCard/Modal/index.scss
new file mode 100644
index 00000000..292805a6
--- /dev/null
+++ b/src/pages/suit/myapplication/PreviewCard/Modal/index.scss
@@ -0,0 +1,84 @@
+@import "@/style/mixin.scss";
+
+.wjh-modal-mask {
+ position: fixed;
+ background: rgba(0, 0, 0, 0.65);
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+}
+
+.wjh-modal {
+ position: fixed;
+ z-index: 2000;
+ width: 100vw;
+ height: 100vh;
+ top: 0;
+ left: 0;
+}
+
+.wjh-modal-container {
+ @include radius;
+ position: relative;
+ background-color: var(--wjh-color-background-container);
+ z-index: 2100;
+ width: 80%;
+ max-width: 300Px;
+ top: 30vh;
+ margin: 0 auto;
+}
+
+.wjh-modal-header {
+ position: relative;
+ text-align: center;
+ border-bottom: 1px solid var(--wjh-color-border);
+ font-size: 1.125rem;
+ font-weight: var(--wjh-font-weight-medium);
+ padding: 16Px 0;
+ margin: 0 16Px;
+}
+
+.wjh-modal-body {
+ padding: 16Px;
+ font-size: 1rem;
+ color: var(--wjh-color-week);
+ min-height: auto;
+ line-height: 2rem;
+ white-space: break-spaces;
+ text-align: center;
+}
+
+.wjh-modal-footer {
+ border-top: 1px solid var(--wjh-color-border);
+}
+
+.hidden {
+ display: none;
+}
+
+.actions {
+ border-top: 1Px solid var(--wjh-color-border);
+
+ .button {
+ flex: 50%;
+ padding: 16Px 0;
+ transition: all .1s;
+ background-color: var(--wjh-color-background-container);
+
+ &:last-child {
+ border-bottom-right-radius: 8Px;
+ }
+
+ &:first-child {
+ border-right: 1Px solid var(--wjh-color-border);
+ border-bottom-left-radius: 8Px;
+ }
+
+ &:active {
+ filter: brightness(.9);
+ }
+
+ }
+
+}
diff --git a/src/pages/suit/myapplication/PreviewCard/Modal/index.vue b/src/pages/suit/myapplication/PreviewCard/Modal/index.vue
new file mode 100644
index 00000000..94cc447b
--- /dev/null
+++ b/src/pages/suit/myapplication/PreviewCard/Modal/index.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+ {{ props.content }}
+
+
+
+
+
+
+ {{ actions?.cancel.label }}
+
+
+ {{ actions?.confirm.label }}
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/suit/myapplication/PreviewCard/index.module.scss b/src/pages/suit/myapplication/PreviewCard/index.module.scss
new file mode 100644
index 00000000..67cb64aa
--- /dev/null
+++ b/src/pages/suit/myapplication/PreviewCard/index.module.scss
@@ -0,0 +1,115 @@
+@import "@/style/theme.scss";
+
+.container {
+ width: 100%;
+ padding: 0 18Px;
+ box-sizing: border-box;
+ background: var(--wjh-color-background-container);
+ border-radius: 8Px;
+ margin-bottom: 12Px;
+}
+
+.header {
+ display: flex;
+ padding-top: 14Px;
+ padding-bottom: 10Px;
+ justify-content: space-between;
+ align-items: center;
+ border-bottom: 2Px solid var(--wjh-color-border);
+
+ .title {
+ padding-left: .6rem;
+ border-left: 2Px solid;
+ font-size: 1.1rem;
+ line-height: 100%;
+ }
+ .icon-box {
+ display: flex;
+ border-radius: 8Px;
+ color: var(--wjh-color-orange-600);
+ background-color: var(--wjh-color-orange-400);
+ font-size: 0.8rem;
+ line-height: 80%;
+ margin-left: auto;
+ align-items: center;
+ }
+ .time{
+ font-size: 0.8rem;
+ line-height: 80%;
+ margin-left: auto;
+ }
+}
+
+.body {
+ border-bottom: 2Px solid var(--wjh-color-border);
+
+ .flex-container{
+ padding: 50px 0;
+ display: flex;
+ .content {
+ max-width: 30%;
+ padding: 6Px 0;
+ white-space: pre-wrap;
+ margin-left: auto;
+ gap: 1.5rem;
+ .text {
+ margin-top: -20px;
+ text-indent: -4em;
+ font-weight: normal;
+ }
+ }
+
+ .img-list {
+ display: flex;
+ overflow-x: auto;
+ gap: 6Px;
+ padding-bottom: 6Px;
+ margin-right: auto;
+ .img-container {
+ flex: 1; // dynamic
+ display: flex;
+ gap: 16Px;
+ width: 100%;
+
+ .img-wrapper {
+ position: relative;
+
+ .image {
+ box-sizing: border-box;
+ border: 1Px solid var(--wjh-color-border);
+ border-radius: 12px;
+ }
+
+ }
+ }
+ }
+ }
+}
+
+.loan {
+ .header{
+ color: var(--wjh-color-green-700);
+ }
+}
+
+.pend {
+ .header {
+ color: var(--wjh-color-orange-600);
+ }
+}
+
+.complete {
+ .header {
+ color: var(--wjh-color-blue-700);
+ }
+}
+
+.button{
+ margin-left: auto;
+ width: 200px;
+ font-size: 0.9rem;
+}
+
+.wjh-modal-body{
+ min-height: auto !important;
+}
diff --git a/src/pages/suit/myapplication/PreviewCard/index.vue b/src/pages/suit/myapplication/PreviewCard/index.vue
new file mode 100644
index 00000000..71c7b801
--- /dev/null
+++ b/src/pages/suit/myapplication/PreviewCard/index.vue
@@ -0,0 +1,282 @@
+
+
+
+
+ 我的申请
+
+
+
+ 被驳回
+
+
+ {{ timeFormat(source.apply_time) }}
+
+
+
+
+ 我的申请
+
+
+
+ 超时
+
+
+ 借用时间:{{ timeFormat(source.borrow_time) }}
+
+
+
+
+ 我的申请
+
+
+ 归还时间:{{ timeFormat(source.return_time) }}
+
+
+
+
+
+
+
+ handlePreviewImages(item)"
+ :onLoad="handleLoadFinish"
+ />
+
+
+
+
+
+ ID {{ source.id }}
+
+
+ 类别 {{ source.kind }}
+
+
+ 名称 {{ source.name }}
+
+
+ 规格 {{ source.spec }}
+
+
+ 数量 {{ source.count }}
+
+ handleClick()">取消申请
+
+
+
+
+
+
+
+
+
+ handlePreviewImages(item)"
+ :onLoad="handleLoadFinish"
+ />
+
+
+
+
+
+ ID {{ source.id }}
+
+
+ 类别 {{ source.kind }}
+
+
+ 名称 {{ source.name }}
+
+
+ 规格 {{ source.spec }}
+
+
+ 数量 {{ source.count }}
+
+
+ 剩余时间 {{ timeCount(source.borrow_time)}}
+
+
+ 超时时间 {{ timeCount(source.borrow_time)}}
+
+
+
+
+
+
+
+
+
+ handlePreviewImages(item)"
+ :onLoad="handleLoadFinish"
+ />
+
+
+
+
+
+ ID {{ source.id }}
+
+
+ 类别 {{ source.kind }}
+
+
+ 名称 {{ source.name }}
+
+
+ 规格 {{ source.spec }}
+
+
+ 数量 {{ source.count }}
+
+
+ 借用时长 {{ timeDuring(source.borrow_time ,source.return_time) }}
+
+
+
+
+
+
+
diff --git a/src/pages/suit/myapplication/dark.scss b/src/pages/suit/myapplication/dark.scss
new file mode 100644
index 00000000..90dcbeb0
--- /dev/null
+++ b/src/pages/suit/myapplication/dark.scss
@@ -0,0 +1,5 @@
+.dark {
+ .record-list-item {
+ color: var(--wjh-color-primary);
+ }
+}
diff --git a/src/pages/suit/myapplication/index.config.ts b/src/pages/suit/myapplication/index.config.ts
new file mode 100644
index 00000000..f16981d4
--- /dev/null
+++ b/src/pages/suit/myapplication/index.config.ts
@@ -0,0 +1,6 @@
+export default {
+ navigationBarTitleText: "我的申请",
+ backgroundColor: "#F9D8BE",
+ disableScroll: true,
+ navigationStyle: "custom"
+};
diff --git a/src/pages/suit/myapplication/index.module.scss b/src/pages/suit/myapplication/index.module.scss
new file mode 100644
index 00000000..911a4b45
--- /dev/null
+++ b/src/pages/suit/myapplication/index.module.scss
@@ -0,0 +1,66 @@
+@import "@/style/theme.scss";
+
+.campus-selector {
+ background-color: var(--wjh-color-background-container);
+ padding: 12Px;
+
+ .container {
+ display: flex;
+ height: 100%;
+ gap: 16Px;
+ }
+
+ .campus {
+ flex: 0 calc(100% / 3);
+ padding: 6Px 16Px;
+ border-radius: 100Px;
+ background-color: var(--wjh-color-primary-light);
+ color: var(--wjh-color-primary-dark);
+ text-align: center;
+ transition: all .1s;
+ }
+
+ .campus:active {
+ transform: scale(1.05);
+ }
+
+ .active {
+ background-color: var(--wjh-color-primary);
+ color: var(--wjh-color-white);
+ }
+}
+
+.kind-selector {
+ display: flex;
+ font-size: 1.1rem;
+ color: var(--wjh-color-week);
+ background-color: var(--wjh-color-primary-light);
+
+ .scroll-view {
+ margin-top: -9px;
+ font-size: 0.9em;
+ display: flex;
+ overflow-x: auto;
+ align-items: center;
+ padding-right: 16Px;
+ flex: 1;
+ white-space: nowrap;
+
+ text {
+ transition: all .1s;
+ padding: 2Px 6Px;
+ }
+
+ text:active {
+ background-color: rgba(0, 0, 0, .06);
+ }
+
+ .active {
+ color: var(--wjh-color-primary-dark);
+ }
+ }
+}
+
+.record-list {
+ padding: 16Px;
+}
diff --git a/src/pages/suit/myapplication/index.vue b/src/pages/suit/myapplication/index.vue
new file mode 100644
index 00000000..467b3290
--- /dev/null
+++ b/src/pages/suit/myapplication/index.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+ handleSelectCampus(item)">
+ {{ item }}
+
+
+
+
+
+
+ 状态 |
+
+ handleSelectStatus(item)">
+ {{ item }}
+
+
+
+
+
+
+
+
+ 该分类下暂无申请记录
+
+
+
+
+
+
+
diff --git a/src/services/api/apiList.ts b/src/services/api/apiList.ts
index 0086cfbe..29021c13 100644
--- a/src/services/api/apiList.ts
+++ b/src/services/api/apiList.ts
@@ -48,10 +48,18 @@ const api = {
record: "/api/func/lost",
kind: "/api/func/lost/kind_list"
},
+ announcement: "/api/announcement",
+ information: "/api/func/information",
applist: "/api/applist",
info: "/api/info",
- information: "/api/func/information",
- announcement: "/api/announcement"
+ suit: {
+ getFaq: "/api/func/supplies-borrow/qa",
+ getInformation: "/api/func/supplies-borrow/info",
+ changeInformation: "/api/func/supplies-borrow/info",
+ check: "/api/func/supplies-borrow/supplies",
+ submit: "/api/func/supplies-borrow/borrow",
+ record: "/api/func/supplies-borrow/borrow"
+ },
};
const defDevHost = "http://0.0.0.0:8080";
diff --git a/src/services/index.ts b/src/services/index.ts
index ae10b56c..0b781a1c 100644
--- a/src/services/index.ts
+++ b/src/services/index.ts
@@ -5,6 +5,7 @@ import LibraryService from "./services/libraryService";
import CanteenService from "./services/canteenService";
import YxyService from "./services/yxyService";
import LostfoundService from "./services/lostfoundService";
+import SuitService from "./services/suitService";
import { LoginByTaro } from "./services/authService";
import errCodeHandler from "./utils/errHandler";
import { api } from "./api/apiList";
@@ -17,6 +18,7 @@ export {
CanteenService,
YxyService,
LostfoundService,
+ SuitService,
LoginByTaro,
errCodeHandler,
api
diff --git a/src/services/services/suitService.ts b/src/services/services/suitService.ts
new file mode 100644
index 00000000..fd11b2a6
--- /dev/null
+++ b/src/services/services/suitService.ts
@@ -0,0 +1,120 @@
+import request from "../request";
+import { api } from "../api/apiList";
+import { serviceStore } from "@/store";
+import {SuitFaq} from "@/types/Suit";
+import { SuitApplyRecord } from "@/types/Suit";
+
+export default class suitService {
+ static getFaq = (data: {
+ publisher: string
+ }) => {
+ return request(
+ api.suit.getFaq, {
+ method: "GET",
+ header: { "Cookie": serviceStore.sessionID },
+ data
+ }
+ );
+ };
+
+ static getInformation = () => {
+ return request<{
+ id: number,
+ name: string,
+ gender: string,
+ student_id: string,
+ college: string,
+ dormitory: string,
+ contact: string;
+ }>(
+ api.suit.getInformation, {
+ method: "GET",
+ header: { "Cookie": serviceStore.sessionID },
+ }
+ );
+ };
+
+ static changeInformation = (data:{
+ name: string,
+ gender: string,
+ college: string,
+ dormitory: string,
+ contact: string;
+ }) => {
+ return request<{
+ code: number,
+ msg: string,
+ data: null;
+ }>(
+ api.suit.changeInformation, {
+ method: "POST",
+ header: { "Cookie": serviceStore.sessionID },
+ data
+ }
+ );
+ };
+
+ static getSuitInfo = (data: {
+ campus?: number
+ }) => {
+ return request<{
+ name: string,
+ img: string,
+ specs: {
+ id: number;
+ spec: string;
+ stock: number;
+ }[]
+ }[]>(
+ api.suit.check, {
+ method: "GET",
+ header: { "Cookie": serviceStore.sessionID },
+ data
+ }
+ );
+ };
+
+ static pushRentSuitInfo = (data: {
+ supplies_id: number,
+ count: number,
+ }) => {
+ return request<{
+ code: number,
+ msg: string,
+ data: null
+ }>(
+ api.suit.submit, {
+ method: "POST",
+ header: { "Cookie": serviceStore.sessionID },
+ data
+ }
+ );
+ };
+
+ static getRecords = (data:{
+ campus?:number,
+ status?:number,
+ }) => {
+ return request<{
+ data: SuitApplyRecord[],
+ }>(
+ api.suit.record, {
+ method: "GET",
+ header: { "Cookie": serviceStore.sessionID },
+ data
+ }
+ );
+ };
+ static deleteRecords = (data:{
+ borrow_id?:number,
+ }) => {
+ return request(
+ `${api.suit.record}?borrow_id=${data.borrow_id}`,
+ {
+ method:"DELETE",
+ header: {"Cookie":serviceStore.sessionID},
+ data
+ }
+ );
+ };
+}
diff --git a/src/store/service/index.ts b/src/store/service/index.ts
index 9694aa73..b578ee1c 100644
--- a/src/store/service/index.ts
+++ b/src/store/service/index.ts
@@ -14,6 +14,7 @@ import { WebviewStore, WebviewStoreType } from "./webview";
import { LostfoundStoreType, LostfoundStore } from "./lostfound";
import { NotificationStoreType, NotificationStore } from "./notification";
import { ThemeStore,ThemeStoreType } from "./theme";
+import { SuitStoreType,SuitStore } from "./suit";
export interface ServiceStoreType {
appList?: AppListItem[];
@@ -57,6 +58,7 @@ export interface ServiceStoreType {
homecard: HomeCardServiceType;
notification: NotificationStoreType;
theme: ThemeStoreType;
+ suit: SuitStoreType;
}
export const ServiceStore = {
@@ -74,7 +76,8 @@ export const ServiceStore = {
electricity: ElectricityServiceStore,
lostfound: LostfoundStore,
notification: NotificationStore,
- theme: ThemeStore
+ theme: ThemeStore,
+ suit: SuitStore
},
state: () => ({
sessionID: undefined
diff --git a/src/store/service/suit.ts b/src/store/service/suit.ts
new file mode 100644
index 00000000..49d8a0fe
--- /dev/null
+++ b/src/store/service/suit.ts
@@ -0,0 +1,34 @@
+type suitItem = {
+ name: string;
+ img: string;
+ specs: {
+ id: number;
+ spec: string;
+ stock: number;
+ }[];
+}[];
+
+export interface SuitStoreType {
+ lastOpenCampus?: string;
+ campusSuitInfo?: suitItem;
+ lastOpenStatus?: string;
+}
+
+export const SuitStore = {
+ state: () => ({
+ lastOpenCampus: "屏峰",
+ campusSuitInfo: [],
+ lastOpenMain: "待处理"
+ }),
+ mutations: {
+ setLastOpenCampus(state: SuitStoreType, value: string) {
+ state.lastOpenCampus = value;
+ },
+ setCampusSuitInfo(state: SuitStoreType, value: suitItem) {
+ state.campusSuitInfo = value;
+ },
+ setLastOpenStatus(state: SuitStoreType, value: string) {
+ state.lastOpenStatus = value;
+ }
+ }
+};
diff --git a/src/style/icons.scss b/src/style/icons.scss
index 621c320b..96aa11d2 100644
--- a/src/style/icons.scss
+++ b/src/style/icons.scss
@@ -1,6 +1,6 @@
@font-face {
font-family: 'iconfont';
- src: url('data:font/ttf;charset=utf-8;base64,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') format('truetype');
+ src: url('data:font/ttf;charset=utf-8;base64,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') format('truetype');
}
.iconfont {
@@ -8,6 +8,10 @@
font-style: normal;
}
+.icon-suit:before {
+ content: "\e604";
+}
+
.icon-schoolbus:before {
content: "\e67b";
}
diff --git a/src/types/Suit.ts b/src/types/Suit.ts
new file mode 100644
index 00000000..4ec4b7f1
--- /dev/null
+++ b/src/types/Suit.ts
@@ -0,0 +1,32 @@
+/**
+ * 用户查看对应发布组织的问答
+ * id 序号
+ * title 标题
+ * content 内容
+ * publish_time 发布时间(2023-08-06T00:55:50+08:00 格式)
+ * publisher 发布组织(“学生事务大厅”)
+ */
+export interface SuitFaq {
+ id: number;
+ title: string;
+ content: string;
+ publish_time: string,
+ publisher: string
+}
+
+export interface SuitApplyRecord {
+ id: number
+ /* 状态 未审核 1 被驳回 2 借用中 3 已归还 4 */
+ status: number
+ /* 校区 */
+ campus: number;
+ /* 数量 */
+ count: number;
+ apply_time: string;
+ borrow_time: string;
+ return_time: string;
+ name: string;
+ kind: string;
+ spec: string;
+ img: string;
+}