9 Commits

Author SHA1 Message Date
anonymous 47212a83e9 fix: bug 2025-01-16 14:58:33 +08:00
anonymous cb1f1b460a fix: 修复安卓手机异常 2025-01-16 14:17:01 +08:00
anonymous f3d9613e8a refactor: 修改下载链接 2025-01-15 13:57:28 +08:00
anonymous 04e7e7bf2e refactor: 修改官方社群为后台配置 2025-01-15 13:56:38 +08:00
anonymous 250a675cee fix: 修改身份证规则 2025-01-15 09:59:52 +08:00
anonymous d9e889c65c chore: 移除unpackage 2025-01-09 08:16:34 +08:00
zzzzzak c1b03b5e44 chore: 更新环境 2025-01-08 19:38:37 +08:00
anonymous 853f679d0b feat: 上线前修改 2025-01-08 08:30:28 +08:00
anonymous 71862ec3d5 refactor:修改风格 2025-01-06 17:05:52 +08:00
121 changed files with 1155 additions and 2256 deletions
+1 -2
View File
@@ -97,7 +97,6 @@
"useId": true, "useId": true,
"useModel": true, "useModel": true,
"useTemplateRef": true, "useTemplateRef": true,
"useListPageRequest": true, "useListPageRequest": true
"useCaptcha": true
} }
} }
+1 -1
View File
@@ -40,8 +40,8 @@
"commitlint", "commitlint",
"dcloudio", "dcloudio",
"iconfont", "iconfont",
"Kefu",
"qrcode", "qrcode",
"realname",
"refresherrefresh", "refresherrefresh",
"scrolltolower", "scrolltolower",
"tabbar", "tabbar",
+9 -1
View File
@@ -1 +1,9 @@
<a href="https://hugo-x6.yhdmit.com/docs/api#/operations/index.invite" target="_blank">x-6 docs</a> <p align="center">
<a href="https://github.com/feige996/unibest">
<img width="160" src="./src/static/logo.svg">
</a>
</p>
<h1 align="center">
<a href="https://github.com/feige996/unibest" target="_blank">unibest - 最好的 uniapp 开发框架</a>
</h1>
Vendored
+4 -1
View File
@@ -1,5 +1,5 @@
VITE_APP_TITLE = 'unibest' VITE_APP_TITLE = 'unibest'
VITE_APP_PORT = 9001 VITE_APP_PORT = 9000
VITE_UNI_APPID = 'H57F2ACE4' VITE_UNI_APPID = 'H57F2ACE4'
VITE_WX_APPID = 'wxa2abb91f64032a2b' VITE_WX_APPID = 'wxa2abb91f64032a2b'
@@ -7,6 +7,9 @@ VITE_WX_APPID = 'wxa2abb91f64032a2b'
# h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base # h5部署网站的base,配置到 manifest.config.ts 里的 h5.router.base
VITE_APP_PUBLIC_BASE=/ VITE_APP_PUBLIC_BASE=/
VITE_SERVER_BASEURL = 'https://api.maldiveswallet.com'
VITE_UPLOAD_BASEURL = 'https://ukw0y1.laf.run/upload'
# h5是否需要配置代理 # h5是否需要配置代理
VITE_APP_PROXY=false VITE_APP_PROXY=false
VITE_APP_PROXY_PREFIX = '/api' VITE_APP_PROXY_PREFIX = '/api'
-3
View File
@@ -4,6 +4,3 @@ NODE_ENV = 'development'
VITE_DELETE_CONSOLE = false VITE_DELETE_CONSOLE = false
# 是否开启sourcemap # 是否开启sourcemap
VITE_SHOW_SOURCEMAP = true VITE_SHOW_SOURCEMAP = true
VITE_SERVER_BASEURL = 'https://hugo-x6.yhdmit.com'
VITE_UPLOAD_BASEURL = 'https://hugo-x6.yhdmit.com/api/common/upload'
-3
View File
@@ -4,6 +4,3 @@ NODE_ENV = 'development'
VITE_DELETE_CONSOLE = true VITE_DELETE_CONSOLE = true
# 是否开启sourcemap # 是否开启sourcemap
VITE_SHOW_SOURCEMAP = false VITE_SHOW_SOURCEMAP = false
VITE_SERVER_BASEURL = 'https://api.qmbz.cc'
VITE_UPLOAD_BASEURL = 'https://api.qmbz.cc/api/common/upload'
+35 -21
View File
@@ -1,9 +1,23 @@
{ {
"name": "全民参保", "name": "马尔代夫国际钱包",
"type": "commonjs", "type": "commonjs",
"version": "2.5.3", "version": "2.5.3",
"description": "全民参保", "description": "unibest - 最好的 uniapp 开发模板",
"author": {
"name": "feige996",
"zhName": "菲鸽",
"email": "1020103647@qq.com",
"github": "https://github.com/feige996",
"gitee": "https://gitee.com/feige996"
},
"license": "MIT", "license": "MIT",
"repository": "https://github.com/feige996/unibest",
"repository-gitee": "https://gitee.com/feige996/unibest",
"repository-deprecated": "https://github.com/codercup/unibest",
"bugs": {
"url": "https://github.com/feige996/unibest/issues"
},
"homepage": "https://feige996.github.io/unibest/",
"engines": { "engines": {
"node": ">=18", "node": ">=18",
"pnpm": ">=7.30" "pnpm": ">=7.30"
@@ -73,21 +87,21 @@
}, },
"dependencies": { "dependencies": {
"@chenfengyuan/vue-qrcode": "^2.0.0", "@chenfengyuan/vue-qrcode": "^2.0.0",
"@dcloudio/uni-app": "3.0.0-4020920240930001", "@dcloudio/uni-app": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-app-harmony": "3.0.0-4020920240930001", "@dcloudio/uni-app-harmony": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-app-plus": "3.0.0-4020920240930001", "@dcloudio/uni-app-plus": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-components": "3.0.0-4020920240930001", "@dcloudio/uni-components": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-h5": "3.0.0-4020920240930001", "@dcloudio/uni-h5": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-alipay": "3.0.0-4020920240930001", "@dcloudio/uni-mp-alipay": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-baidu": "3.0.0-4020920240930001", "@dcloudio/uni-mp-baidu": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-jd": "3.0.0-4020920240930001", "@dcloudio/uni-mp-jd": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-kuaishou": "3.0.0-4020920240930001", "@dcloudio/uni-mp-kuaishou": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-lark": "3.0.0-4020920240930001", "@dcloudio/uni-mp-lark": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-qq": "3.0.0-4020920240930001", "@dcloudio/uni-mp-qq": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-toutiao": "3.0.0-4020920240930001", "@dcloudio/uni-mp-toutiao": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-weixin": "3.0.0-4020920240930001", "@dcloudio/uni-mp-weixin": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-mp-xhs": "3.0.0-4020920240930001", "@dcloudio/uni-mp-xhs": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-quickapp-webview": "3.0.0-4020920240930001", "@dcloudio/uni-quickapp-webview": "3.0.0-alpha-4040320241223001",
"dayjs": "1.11.10", "dayjs": "1.11.10",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "2.0.36", "pinia": "2.0.36",
@@ -102,10 +116,10 @@
"@commitlint/cli": "^18.6.1", "@commitlint/cli": "^18.6.1",
"@commitlint/config-conventional": "^18.6.3", "@commitlint/config-conventional": "^18.6.3",
"@dcloudio/types": "^3.4.14", "@dcloudio/types": "^3.4.14",
"@dcloudio/uni-automator": "3.0.0-4020920240930001", "@dcloudio/uni-automator": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-cli-shared": "3.0.0-4020920240930001", "@dcloudio/uni-cli-shared": "3.0.0-alpha-4040320241223001",
"@dcloudio/uni-stacktracey": "3.0.0-4020920240930001", "@dcloudio/uni-stacktracey": "3.0.0-alpha-4040320241223001",
"@dcloudio/vite-plugin-uni": "3.0.0-4020920240930001", "@dcloudio/vite-plugin-uni": "3.0.0-alpha-4040320241223001",
"@esbuild/darwin-arm64": "0.20.2", "@esbuild/darwin-arm64": "0.20.2",
"@esbuild/darwin-x64": "0.20.2", "@esbuild/darwin-x64": "0.20.2",
"@iconify-json/carbon": "^1.2.4", "@iconify-json/carbon": "^1.2.4",
+8 -7
View File
@@ -18,7 +18,7 @@ export default defineUniPages({
}, },
tabBar: { tabBar: {
color: '#999999', color: '#999999',
selectedColor: '#BE805A', selectedColor: '#0E57A2',
backgroundColor: '#ffffff', backgroundColor: '#ffffff',
borderStyle: '#E7E7E7', borderStyle: '#E7E7E7',
height: '56px', height: '56px',
@@ -32,18 +32,19 @@ export default defineUniPages({
pagePath: 'pages/index/index', pagePath: 'pages/index/index',
text: '首页', text: '首页',
}, },
{ {
iconPath: 'static/tabbar/house.png', iconPath: 'static/tabbar/house.png',
selectedIconPath: 'static/tabbar/houseHL.png', selectedIconPath: 'static/tabbar/houseHL.png',
pagePath: 'pages/invite/index', pagePath: 'pages/invite/index',
text: '邀请好友', text: '邀请好友',
}, },
{ // {
iconPath: 'static/tabbar/invest.png', // iconPath: 'static/tabbar/invest.png',
selectedIconPath: 'static/tabbar/investHL.png', // selectedIconPath: 'static/tabbar/investHL.png',
pagePath: 'pages/invest/index', // pagePath: 'pages/invest/index',
text: '房产集团', // text: '理财',
}, // },
{ {
iconPath: 'static/tabbar/personal.png', iconPath: 'static/tabbar/personal.png',
selectedIconPath: 'static/tabbar/personalHL.png', selectedIconPath: 'static/tabbar/personalHL.png',
+261 -242
View File
@@ -15,50 +15,50 @@ importers:
specifier: ^2.0.0 specifier: ^2.0.0
version: 2.0.0(qrcode@1.5.4)(vue@3.4.21(typescript@5.7.2)) version: 2.0.0(qrcode@1.5.4)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-app': '@dcloudio/uni-app':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-app-harmony': '@dcloudio/uni-app-harmony':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-app-plus': '@dcloudio/uni-app-plus':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-components': '@dcloudio/uni-components':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-h5': '@dcloudio/uni-h5':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-alipay': '@dcloudio/uni-mp-alipay':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-baidu': '@dcloudio/uni-mp-baidu':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-jd': '@dcloudio/uni-mp-jd':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-kuaishou': '@dcloudio/uni-mp-kuaishou':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-lark': '@dcloudio/uni-mp-lark':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-qq': '@dcloudio/uni-mp-qq':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-toutiao': '@dcloudio/uni-mp-toutiao':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-weixin': '@dcloudio/uni-mp-weixin':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-xhs': '@dcloudio/uni-mp-xhs':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-quickapp-webview': '@dcloudio/uni-quickapp-webview':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
dayjs: dayjs:
specifier: 1.11.10 specifier: 1.11.10
version: 1.11.10 version: 1.11.10
@@ -97,17 +97,17 @@ importers:
specifier: ^3.4.14 specifier: ^3.4.14
version: 3.4.14 version: 3.4.14
'@dcloudio/uni-automator': '@dcloudio/uni-automator':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-cli-shared': '@dcloudio/uni-cli-shared':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-stacktracey': '@dcloudio/uni-stacktracey':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001 version: 3.0.0-alpha-4040320241223001
'@dcloudio/vite-plugin-uni': '@dcloudio/vite-plugin-uni':
specifier: 3.0.0-4020920240930001 specifier: 3.0.0-alpha-4040320241223001
version: 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2)) version: 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
'@esbuild/darwin-arm64': '@esbuild/darwin-arm64':
specifier: 0.20.2 specifier: 0.20.2
version: 0.20.2 version: 0.20.2
@@ -965,110 +965,113 @@ packages:
'@dcloudio/types@3.4.14': '@dcloudio/types@3.4.14':
resolution: {integrity: sha512-VolQeZfTh8pQFsr2IlfIVX93blfvGTuBoJuZUc7iWOqtHV8gDrq6fXLhzsVlgZyuhhRZLOxlo33rkEqnY+ucAw==} resolution: {integrity: sha512-VolQeZfTh8pQFsr2IlfIVX93blfvGTuBoJuZUc7iWOqtHV8gDrq6fXLhzsVlgZyuhhRZLOxlo33rkEqnY+ucAw==}
'@dcloudio/uni-app-harmony@3.0.0-4020920240930001': '@dcloudio/uni-app-harmony@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-YHAJSX1DCaLTr7MDc4mOJ/0JfECn2YS9b5EvMyl5WUy8CIDSupOxFpygnpcUHTlyExdQOivp35TerYfLa0BDew==} resolution: {integrity: sha512-ewRYBDyrTq7KBq61Kz9Fa44iVecXnLZb9pWsTRcsdOkijmlOdsaMWw4xvv93cm+NmHqyH8cN39+0JBx/1HrwrA==}
'@dcloudio/uni-app-plus@3.0.0-4020920240930001': '@dcloudio/uni-app-plus@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-0MQx5lAZ+y8E5/jjkjSfpyZvhUNaqRZbcD7u+cragHjE17PndQo+h7wmyGYgzGQYmuikiD8CX+o+NtTo4Z/TiA==} resolution: {integrity: sha512-4KhT8w4gxvcCqnO6+ejj1FskIn5MSErYOy+aA2MXKcBG/ZavMLyYXAC1dP6O4IHMZYAa1RomZr4Gk752NZ8+nQ==}
'@dcloudio/uni-app-uts@3.0.0-4020920240930001': '@dcloudio/uni-app-uts@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-OaEyI9hrjR6I8bNc9GdfOos/zWfiA0eIy4gLLVpkGxpMmAoqR9j5fs7g804SDAn3NtzNtzOJrAXx7sl5mJwsIw==} resolution: {integrity: sha512-t2uEagf/F1SwvDg+IBjg+rm/gYr8l6p+MsiqIvBye9bLv/7Y1urX5aAsiZ814MNqshCnBLpwmYadQRHhybnOeg==}
'@dcloudio/uni-app-vite@3.0.0-4020920240930001': '@dcloudio/uni-app-vite@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-hG7aTOb1Clgli8qeMVFItadlAT51Kbw2J7CpbWJ5Pkv8uv63QAo2ruRiHs2eYTWRpfXRqr7nZ3J7d74VbrUZ7A==} resolution: {integrity: sha512-CGgtuV6HJ3QHUxERcPnZj2Jz170IzNrsB3fpyk/9V8hwhDHf5xD+HaHQp8oOh0sqSj8NKrgix8dV+t8J8impgg==}
'@dcloudio/uni-app-vue@3.0.0-4020920240930001': '@dcloudio/uni-app-vue@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-GMmN0NJjyb0I/G3tE8kBN9DkvwTBKJjjnXzSCCPDbXJbH8YJiThjzyBBdyXb1cJwdgAhwTbwX8dWu7uyT+bllA==} resolution: {integrity: sha512-QGsAFq3Kg4YhSqH0wUds/i2YGmzzVWJ5dOaYYFi03l0BLQ/vgxApbBLQLEkpbGRqfpkDL7Fh/X6U17JHetgS7Q==}
'@dcloudio/uni-app@3.0.0-4020920240930001': '@dcloudio/uni-app@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-Er2pOCUTss7h5sYL32gLAWbYysYyhYzj8ZYKAjF/1aX+YkigD7beU1oX4M/m5yOo1RoogsQNTs5dyUn7R1sFrA==} resolution: {integrity: sha512-/IYlcA+vb3r9IVwC0Kssjq1DM6ADOd6E0lRYZiVo87U4/0wKJLLA4D+ac+e9O2r5HeZ/ltm4YJpK/cH2ncxIYw==}
peerDependencies: peerDependencies:
'@dcloudio/types': ^3.4.11 '@dcloudio/types': ^3.4.14
'@dcloudio/uni-automator@3.0.0-4020920240930001': '@dcloudio/uni-automator@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-HsCw/ulfiG8Kavn1cz1bCHOcUiBxCvyphOjMMjnNIJZb/cgQl7HpJQ7PThpQXDpEn2oNRKw/6fKsX2ZTLWfWZA==} resolution: {integrity: sha512-qrTqkU9jVOsZSxcoKBZc8pphWGtCnu6GMfTuO0Nh0c2/71z6cCgVluEk3nnKnCAfEB7Lk5fI1CEH5GUtoZJSFQ==}
peerDependencies: peerDependencies:
jest: 27.0.4 jest: 27.0.4
jest-environment-node: 27.5.1 jest-environment-node: 27.5.1
'@dcloudio/uni-cli-shared@3.0.0-4020920240930001': '@dcloudio/uni-cli-shared@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-DpKcXXtAiyZXX8WxDSSRjl/PuTYFPBvWDcS7UfWR3Vw13gM3TUEu3WPl1URgGlxmwr30x5YLv6ZA6UoXSZ6MNw==} resolution: {integrity: sha512-bgiEk2D6XWZlBrgslKQHYvNvv+8QOda9fl5Oa8GEJZwVgLf45/aIV/7gv8LcOPT30MEOVli7aaurbOaTFsWFNQ==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
'@dcloudio/uni-cloud@3.0.0-4020920240930001': '@dcloudio/uni-cloud@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-N4/4mv+PhtQkg3w0xrjBnir2SA5t23gOs8ZC3Mp3q2+iMS9Lo4puc/81mGaQxc2pZhdsV5MzxWCoquFdbyWCzA==} resolution: {integrity: sha512-1oWMaRh2o16uA9MQVw+wdkG59bZhDG0um4Swvn2IKt4qW+xAlK6ZCgUsNB8FeEh4pDlYKhn3tbhliNWohrC0tA==}
'@dcloudio/uni-components@3.0.0-4020920240930001': '@dcloudio/uni-components@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-ZC3z/RIeHtx3SkJtKwArKGAq+poDevzcQG3MV6gKLubwPAkri8UR4ptSjJwzvs7ESoGwGwqxy6aNndUIx6+fsw==} resolution: {integrity: sha512-8KznEO+PE7ddCcmiChYLymu3zehL8fv/UUSh++nXtorev4aXRjzxbVlvwo+F4aGKmnZogms/NXkaFK+9Mt1hUg==}
'@dcloudio/uni-h5-vite@3.0.0-4020920240930001': '@dcloudio/uni-console@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-9kZvdOmAl59vNcVDPH4doQRhnGhEB7oT+LEy6uW+BIDvkMZN/hw9MYUzv7WIysXCg51gY0vRJdIkU1OpDCz8tg==} resolution: {integrity: sha512-Ck4jo4wXy5qXkCFPbgqHF4tnJS1qLDmtXCFiDAldYXZ0bEP01aAiooAwzAC3XMcKzUJmmx6Gs/gNSvHZSQ8sIA==}
'@dcloudio/uni-h5-vue@3.0.0-4020920240930001': '@dcloudio/uni-h5-vite@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-kUfK+50xilnGJVQq35N8VHA5bb0q7JmT5Cc8I8mPVFuVdl38zpumsjG6Qg8dhS5E/9GqjjWqH3aWOn6ugTFMxQ==} resolution: {integrity: sha512-+VCt/K3ap4J3Eo/K3OtQXFb4X70jBiFSZz8iH2MI5Ui3QeVuoSGsOTsYDXz/5rZ1g2TRNO5hjWpvYVoQhx5qgA==}
'@dcloudio/uni-h5@3.0.0-4020920240930001': '@dcloudio/uni-h5-vue@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-9M7UqJVVC1KEP6mcmRzmdWX8+VWp3Y+FSKGQ4ymWJ+T0Xest4i3oggj2nLBDTfyhYMEZ3hNFI885o5cUoolMCw==} resolution: {integrity: sha512-foJJBivutwbF/kgvhgWdf5q0KxIfqQ7WL6AhYi+/seXUwBHSZVV0d6ga35LyIAo1YvKZbyPXEbdu82HceNjmgw==}
'@dcloudio/uni-i18n@3.0.0-4020920240930001': '@dcloudio/uni-h5@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-ltKiciML0ptWRytvbFt1dd4YglEjh4fsUc0D/dY+y5YKNxK7h/V2HT3qkQtP05T1kjEput4KrWNn23fczO3YFg==} resolution: {integrity: sha512-tscU2q7cQzu54BSGu9okqGEFCgOrYEc8GqsoiPth1nAnKLUooaRmCb0/IDdcc7ls9IHMqLawAQqHIuIi/NNPXA==}
'@dcloudio/uni-mp-alipay@3.0.0-4020920240930001': '@dcloudio/uni-i18n@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-52XHUPmZixd8TZQ9BKrme139Uq5wfYy6DjMdeSQRJ9DJRtVe4WsWxgJ6DoKdPJLtiG1OSljmZOjU5V35WuhsWA==} resolution: {integrity: sha512-J+fT4EZnCk/WNwQbLHSGuw2njWD79BE/58+iE1km2fJgCpwEAgJxKDfBbFU89YdBuiWVjzcqdzVSKngA3WJ4TA==}
'@dcloudio/uni-mp-baidu@3.0.0-4020920240930001': '@dcloudio/uni-mp-alipay@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-2MyZYMQdiU3Xog/f/HdRZLoQk5uVPICfysfnxirjdd4O/umhsRkdwMjq092mmmmkSEdTQIlwiQGK+8d3snLofQ==} resolution: {integrity: sha512-fZIjVTJmZF7j1vPFsC3Gft0PhmlxTwh5G2KNvjCIOrfWBtHWKonPuRrsP65pydNXl0FPWA1w+0iIoaabHK/R6A==}
'@dcloudio/uni-mp-compiler@3.0.0-4020920240930001': '@dcloudio/uni-mp-baidu@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-ngbbKTDWCzE8j3Xf5ezBRdV4NiXPTIS9GylIvL1quJVjcWEwbfoSvROTCBxLv+i8unu5+UbtRa1+KdsrUKtFOQ==} resolution: {integrity: sha512-yG21wR61Y3Y5EwmZlct0PvGJI3mfmYqNdLO2y4MHAIPQie2ZQlo/oGoHxcW3v3jnT9cTermrFJ72OkBQIzve3A==}
'@dcloudio/uni-mp-jd@3.0.0-4020920240930001': '@dcloudio/uni-mp-compiler@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-L9WncaToo27wZcmLbFFZGkIo7iBKEk53bOy6fntUhECPJe0076q2KUnWyFF8Mq9euOz9KESazBo8u6PyoZkwuA==} resolution: {integrity: sha512-3p8/THBvcFqCdl81OCbxcKJZz0epNWxDW8nIQb44apA1WjbAKSFdpl+E4ltbuihseMsNPi8fxdTgFoFyOhdQAA==}
'@dcloudio/uni-mp-kuaishou@3.0.0-4020920240930001': '@dcloudio/uni-mp-jd@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-y8xmnGZX1cjgx5A3V0g43+0LrNrafb6J7NjdYjjzvlelTalAICofMMxOB/TMY4kIvAcAO8pTrvJ8gsxQTj3Law==} resolution: {integrity: sha512-dnjiXCV70YexlTL1hgcSWtduUVXrF7ObAX/bwue8CB5GVwjcx/1EtThLwRl+Nayf8TGouLXnsuq9CgGFJfC6KQ==}
'@dcloudio/uni-mp-lark@3.0.0-4020920240930001': '@dcloudio/uni-mp-kuaishou@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-6siEc/tbZLGh3DDZin+3hEWtncUs+Nk6ttEsZgIyNwX+SPTf2pFDj23dZAq3h/Lc89EvIgSjyFOuKJ1yivrLdg==} resolution: {integrity: sha512-ZH7J+OiRZGRmVZJK9pncj+MmIb5pV6fMjvETi2ayiIgk1UXtHDieWafd3ifZcq8rELeh+PQ/IFYtJ6xh2Dc47w==}
'@dcloudio/uni-mp-qq@3.0.0-4020920240930001': '@dcloudio/uni-mp-lark@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-TD4HUZiXa/3pjhRFJo0uMygMCZZk09pbzmR9FPU/kMQk3pxfgrMrMAY3To9boMULKNJenT1pIVy/QxEXiTyH1Q==} resolution: {integrity: sha512-ow5qk75S7gQHpo+sdN+sMPkycC/yHPUsCdKhw424NzjSGFqXa8RnDzSOJmUiYpmnzssvA1QzYiS+4Kks+fWqCg==}
'@dcloudio/uni-mp-toutiao@3.0.0-4020920240930001': '@dcloudio/uni-mp-qq@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-eo0a+cwY9mgs/DxMplKpqTyIJmJUJpPr/hT2DPsqnPA8OXAbIKbhJBZbwC2z/EJDduOhzNpCkliHhv4Ahks2vQ==} resolution: {integrity: sha512-Xp62ct2rZjQAzkAp6GYHZ4Ios+5MIl9YiSxxCe1uUj2sHoo588RMYA5FuvcIvJyID6i//s16pjfBNDo4LEnEEA==}
'@dcloudio/uni-mp-vite@3.0.0-4020920240930001': '@dcloudio/uni-mp-toutiao@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-awTd9X+yZ67shjBVxZ02bJ5ImU4/mODprz2lmYHA19RjjhzfNrDsIYBWAtfWMZ2WP5z1OL7WnZNiwPHWiuh9mQ==} resolution: {integrity: sha512-bfM2k/xV2WsUp3BBnjJQwkqnkAWSzPFKbajSYsKo4rDcBA/0Fbc4l+XsUQbJGipRZMJ/C3csORmzsL6KHvWEXw==}
'@dcloudio/uni-mp-vue@3.0.0-4020920240930001': '@dcloudio/uni-mp-vite@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-65zNSA4jybW+sNRBLnR2Fni1dMNycJj0T6S1Lbhb/7ofJ7mosZdwjk8OFym3ZWjghov9x0Z3xAXGDIdWmSWNNw==} resolution: {integrity: sha512-tjo1zf6o6Wry4ykdMEIBwjYDvdWPTh6ZHQpQQHfwJ9GrPzjss3DfLjDWXx0tM4hMRQ/RxYWTr5oSestj6mAQyA==}
'@dcloudio/uni-mp-weixin@3.0.0-4020920240930001': '@dcloudio/uni-mp-vue@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-ip/OtXFLlnkztxOXMXPsjktp9rSo+c1OxlCase32xBVn+Jt0GyIFiA6Js9icz5uwIXtt14jWi4mRXfjncUV7QA==} resolution: {integrity: sha512-DkpOa2XQunLBVRJ+dMddAtHwXGPWDK/81Ix4Xxb/cAS/lXQ5iQU1K9WUVgBsUx/+LLDD++3bBNQ5QCL8BkX1Gw==}
'@dcloudio/uni-mp-xhs@3.0.0-4020920240930001': '@dcloudio/uni-mp-weixin@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-4+3qaWsqfbIentMmFCSUdf7ngpQXqt/2k/TqT6+6985tfzXUKoi0YrGwnZbf5e6b6RVDMuLMsokm2z7kfSXdXw==} resolution: {integrity: sha512-bMm1KBCweMnDPQZpxP9G2PVbz/RN1ZObAGQfSRh9FLsxapB4tSVQVmVSjDTC2zP7q2LO03z0qr0+8KQeO+semw==}
'@dcloudio/uni-nvue-styler@3.0.0-4020920240930001': '@dcloudio/uni-mp-xhs@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-bmMJKf4FoSQy6PfTfojOeskcc1239V38B3dtG/zFFll7pzBAVi68xYvgF9KgYDBkztTM0PmAukyVNRl1VAFOww==} resolution: {integrity: sha512-YhYUTVy3KzHcwzCqZooo93/LfsELTBgau6d7hebyZJygt9lr2Gt6BPei5pEbzDEu+/6+sfYSb/doodPgF+X67w==}
'@dcloudio/uni-push@3.0.0-4020920240930001': '@dcloudio/uni-nvue-styler@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-AL03ysBAi8d/VBQ0/UG0EqcC0Fiohb/pkzR88kNLxIn3VouMje3pw3h++zH5Oa/DppP4M47TTMDoGlcAqBpqrg==} resolution: {integrity: sha512-0DksXJ0YQMSNLR7ZIIxezUqljFG8HUBzF633RaOlsJnZ8hy8ZAs3CQ8ajmTVEL8g+azdsmjeHa55iAAHQPlCTg==}
'@dcloudio/uni-quickapp-webview@3.0.0-4020920240930001': '@dcloudio/uni-push@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-P0G/u/DSJyEw+Txnpxbg8fMOJE1nNcRLwdTCWe43KefPBQRiRVo4n/tWWxBgV+tnbryqolPivkxLsLDfi358+w==} resolution: {integrity: sha512-1PzDIgKIr7m1KrPwIk2myEMrxZQndyeKWhRkZcLATTpteyrmdjrhzJ6AB5YWzI1t8igSWyuvPRavtjPcy9kArw==}
'@dcloudio/uni-shared@3.0.0-4020920240930001': '@dcloudio/uni-quickapp-webview@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-8EEQAaY+Y9BRCZIqpoaI7ciQFTO/sggxPO1kJNVAkxvJs/GVb4mawPlW9UNsMiWEqRvOJlV7KldCu6eMYlyyfg==} resolution: {integrity: sha512-FXzqzQ90QYVvZsA9GQY5hYvXI4/oPpkc4lZ9uNYJy+A4DT0/Cw7awDerI2U1+56EDhoBXge6AfjmLDWRR3Xrsw==}
'@dcloudio/uni-stacktracey@3.0.0-4020920240930001': '@dcloudio/uni-shared@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-YBAHXAWsiZiG4DbIcfle0W0PfILxG8Pymx/Lp2A2+OzMYANRjs2M2kq4S9g73ZVkIyUVxgHqqQRRdGgAwOUbhg==} resolution: {integrity: sha512-yhoux9oDOoxbPh9y/WyspkKI+KiTfzwmBoTQxTwPCmXDJGKLNlUD6QTAcKsNDEc7xjbW/IFzbCJoxP8SJBsBBA==}
'@dcloudio/uni-stat@3.0.0-4020920240930001': '@dcloudio/uni-stacktracey@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-ZPn4WQPlZ3lObaZM9Q1fryewIsan1XD4qy+oWsqAuGop1kaHDQKUfg2D+jclAOCr4+95u4Jfn+RH0HNqrI0eqg==} resolution: {integrity: sha512-EFMvJItK1SalRl57aS5PTsSGpkfiTVODmsRmJnQhvkXvjcaEBoXaJlUsjsA7kiJJ5q1m6408G+HWLcZGwFry/A==}
'@dcloudio/vite-plugin-uni@3.0.0-4020920240930001': '@dcloudio/uni-stat@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-ZtV5x4Jj8d2FzaK8uamYdfYwzRbMseWY3l6MTUdc94uMNIvnb2fBhJccoY3xexSDYRFRElPKk7+ed6AQ7tYtuw==} resolution: {integrity: sha512-TP2RghH1P3qQ+DcXgby8Lz8ZGNjGMa/4KmIzGe8eCwYzWVG6Mx6ge+6mzhrLq7DVQ4Wmp5tt2LDEBVPTWFTuog==}
'@dcloudio/vite-plugin-uni@3.0.0-alpha-4040320241223001':
resolution: {integrity: sha512-0FqVmq2dnE2Wh2cPo2J2OTvEjfdIF69aILaWSkOnbX62C49nXuoXtlHFnjO59YdpYOx0hUGk7Vk3czwrsNnqAA==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@@ -5315,8 +5318,8 @@ packages:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
unplugin-auto-import@0.16.7: unplugin-auto-import@0.17.8:
resolution: {integrity: sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==} resolution: {integrity: sha512-CHryj6HzJ+n4ASjzwHruD8arhbdl+UXvhuAIlHDs15Y/IMecG3wrf7FVg4pVH/DIysbq/n0phIjNHAjl7TG7Iw==}
engines: {node: '>=14'} engines: {node: '>=14'}
peerDependencies: peerDependencies:
'@nuxt/kit': ^3.2.2 '@nuxt/kit': ^3.2.2
@@ -5327,8 +5330,8 @@ packages:
'@vueuse/core': '@vueuse/core':
optional: true optional: true
unplugin-auto-import@0.17.8: unplugin-auto-import@0.18.6:
resolution: {integrity: sha512-CHryj6HzJ+n4ASjzwHruD8arhbdl+UXvhuAIlHDs15Y/IMecG3wrf7FVg4pVH/DIysbq/n0phIjNHAjl7TG7Iw==} resolution: {integrity: sha512-LMFzX5DtkTj/3wZuyG5bgKBoJ7WSgzqSGJ8ppDRdlvPh45mx6t6w3OcbExQi53n3xF5MYkNGPNR/HYOL95KL2A==}
engines: {node: '>=14'} engines: {node: '>=14'}
peerDependencies: peerDependencies:
'@nuxt/kit': ^3.2.2 '@nuxt/kit': ^3.2.2
@@ -6577,9 +6580,9 @@ snapshots:
'@dcloudio/types@3.4.14': {} '@dcloudio/types@3.4.14': {}
'@dcloudio/uni-app-harmony@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-app-harmony@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-app-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-app-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
debug: 4.3.7 debug: 4.3.7
fs-extra: 10.1.0 fs-extra: 10.1.0
licia: 1.46.0 licia: 1.46.0
@@ -6594,11 +6597,11 @@ snapshots:
- vite - vite
- vue - vue
'@dcloudio/uni-app-plus@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-app-plus@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-app-uts': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-app-uts': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-app-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-app-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-app-vue': 3.0.0-4020920240930001 '@dcloudio/uni-app-vue': 3.0.0-alpha-4040320241223001
debug: 4.3.7 debug: 4.3.7
fs-extra: 10.1.0 fs-extra: 10.1.0
licia: 1.46.0 licia: 1.46.0
@@ -6613,14 +6616,14 @@ snapshots:
- vite - vite
- vue - vue
'@dcloudio/uni-app-uts@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-app-uts@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@babel/parser': 7.26.2 '@babel/parser': 7.26.2
'@babel/types': 7.26.0 '@babel/types': 7.26.0
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-i18n': 3.0.0-4020920240930001 '@dcloudio/uni-i18n': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-nvue-styler': 3.0.0-4020920240930001 '@dcloudio/uni-nvue-styler': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@jridgewell/gen-mapping': 0.3.5 '@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25 '@jridgewell/trace-mapping': 0.3.25
'@rollup/pluginutils': 5.1.3(rollup@4.28.0) '@rollup/pluginutils': 5.1.3(rollup@4.28.0)
@@ -6646,12 +6649,12 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-app-vite@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-app-vite@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-i18n': 3.0.0-4020920240930001 '@dcloudio/uni-i18n': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-nvue-styler': 3.0.0-4020920240930001 '@dcloudio/uni-nvue-styler': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@rollup/pluginutils': 5.1.3(rollup@4.28.0) '@rollup/pluginutils': 5.1.3(rollup@4.28.0)
'@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2)) '@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
'@vue/compiler-dom': 3.4.21 '@vue/compiler-dom': 3.4.21
@@ -6669,17 +6672,18 @@ snapshots:
- vite - vite
- vue - vue
'@dcloudio/uni-app-vue@3.0.0-4020920240930001': {} '@dcloudio/uni-app-vue@3.0.0-alpha-4040320241223001': {}
'@dcloudio/uni-app@3.0.0-4020920240930001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-app@3.0.0-alpha-4040320241223001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/types': 3.4.14 '@dcloudio/types': 3.4.14
'@dcloudio/uni-cloud': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cloud': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-components': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-components': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-i18n': 3.0.0-4020920240930001 '@dcloudio/uni-console': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-push': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-i18n': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-push': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-stat': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-stat': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
@@ -6690,9 +6694,9 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-automator@3.0.0-4020920240930001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-automator@3.0.0-alpha-4040320241223001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
address: 1.2.2 address: 1.2.2
cross-env: 7.0.3 cross-env: 7.0.3
debug: 4.3.7 debug: 4.3.7
@@ -6717,15 +6721,15 @@ snapshots:
- utf-8-validate - utf-8-validate
- vue - vue
'@dcloudio/uni-cli-shared@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-cli-shared@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.26.2 '@babel/code-frame': 7.26.2
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/parser': 7.26.2 '@babel/parser': 7.26.2
'@babel/types': 7.26.0 '@babel/types': 7.26.0
'@dcloudio/uni-i18n': 3.0.0-4020920240930001 '@dcloudio/uni-i18n': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@intlify/core-base': 9.1.9 '@intlify/core-base': 9.1.9
'@intlify/shared': 9.1.9 '@intlify/shared': 9.1.9
'@intlify/vue-devtools': 9.1.9 '@intlify/vue-devtools': 9.1.9
@@ -6764,7 +6768,7 @@ snapshots:
resolve: 1.22.8 resolve: 1.22.8
source-map-js: 1.2.1 source-map-js: 1.2.1
tapable: 2.2.1 tapable: 2.2.1
unplugin-auto-import: 0.16.7(rollup@4.28.0) unplugin-auto-import: 0.18.6(rollup@4.28.0)
xregexp: 3.1.0 xregexp: 3.1.0
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
@@ -6775,11 +6779,11 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-cloud@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-cloud@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-i18n': 3.0.0-4020920240930001 '@dcloudio/uni-i18n': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
fast-glob: 3.3.2 fast-glob: 3.3.2
transitivePeerDependencies: transitivePeerDependencies:
@@ -6791,11 +6795,11 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-components@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-components@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cloud': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cloud': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-h5': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-h5': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-i18n': 3.0.0-4020920240930001 '@dcloudio/uni-i18n': 3.0.0-alpha-4040320241223001
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
- '@vueuse/core' - '@vueuse/core'
@@ -6805,10 +6809,22 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-h5-vite@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-console@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-4020920240930001 transitivePeerDependencies:
- '@nuxt/kit'
- '@vueuse/core'
- postcss
- rollup
- supports-color
- ts-node
- vue
'@dcloudio/uni-h5-vite@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@rollup/pluginutils': 5.1.3(rollup@4.28.0) '@rollup/pluginutils': 5.1.3(rollup@4.28.0)
'@vue/compiler-dom': 3.4.21 '@vue/compiler-dom': 3.4.21
'@vue/compiler-sfc': 3.4.21 '@vue/compiler-sfc': 3.4.21
@@ -6827,19 +6843,19 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-h5-vue@3.0.0-4020920240930001(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-h5-vue@3.0.0-alpha-4040320241223001(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.7.2)) '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.7.2))
transitivePeerDependencies: transitivePeerDependencies:
- vue - vue
'@dcloudio/uni-h5@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-h5@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-h5-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-h5-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-h5-vue': 3.0.0-4020920240930001(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-h5-vue': 3.0.0-alpha-4040320241223001(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-i18n': 3.0.0-4020920240930001 '@dcloudio/uni-i18n': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.7.2)) '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.7.2))
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
debug: 4.3.7 debug: 4.3.7
@@ -6857,14 +6873,14 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-i18n@3.0.0-4020920240930001': {} '@dcloudio/uni-i18n@3.0.0-alpha-4040320241223001': {}
'@dcloudio/uni-mp-alipay@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-alipay@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/compiler-core': 3.4.21 '@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
transitivePeerDependencies: transitivePeerDependencies:
@@ -6876,14 +6892,15 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-mp-baidu@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-baidu@3.0.0-alpha-4040320241223001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-app': 3.0.0-alpha-4040320241223001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-compiler': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-weixin': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-mp-weixin': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/compiler-core': 3.4.21 '@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
jimp: 0.10.3 jimp: 0.10.3
@@ -6892,6 +6909,7 @@ snapshots:
qrcode-terminal: 0.12.0 qrcode-terminal: 0.12.0
ws: 8.18.0 ws: 8.18.0
transitivePeerDependencies: transitivePeerDependencies:
- '@dcloudio/types'
- '@nuxt/kit' - '@nuxt/kit'
- '@vueuse/core' - '@vueuse/core'
- bufferutil - bufferutil
@@ -6903,13 +6921,13 @@ snapshots:
- utf-8-validate - utf-8-validate
- vue - vue
'@dcloudio/uni-mp-compiler@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-compiler@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@babel/generator': 7.26.2 '@babel/generator': 7.26.2
'@babel/parser': 7.26.2 '@babel/parser': 7.26.2
'@babel/types': 7.26.0 '@babel/types': 7.26.0
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/compiler-core': 3.4.21 '@vue/compiler-core': 3.4.21
'@vue/compiler-dom': 3.4.21 '@vue/compiler-dom': 3.4.21
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
@@ -6923,13 +6941,13 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-mp-jd@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-jd@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-compiler': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
@@ -6940,14 +6958,14 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-mp-kuaishou@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-kuaishou@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-compiler': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-mp-weixin': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-weixin': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/compiler-core': 3.4.21 '@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
transitivePeerDependencies: transitivePeerDependencies:
@@ -6962,14 +6980,14 @@ snapshots:
- utf-8-validate - utf-8-validate
- vue - vue
'@dcloudio/uni-mp-lark@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-lark@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-compiler': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-toutiao': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-toutiao': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/compiler-core': 3.4.21 '@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
transitivePeerDependencies: transitivePeerDependencies:
@@ -6981,12 +6999,12 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-mp-qq@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-qq@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
fs-extra: 10.1.0 fs-extra: 10.1.0
transitivePeerDependencies: transitivePeerDependencies:
@@ -6998,13 +7016,13 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-mp-toutiao@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-toutiao@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-compiler': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/compiler-core': 3.4.21 '@vue/compiler-core': 3.4.21
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
transitivePeerDependencies: transitivePeerDependencies:
@@ -7016,13 +7034,14 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-mp-vite@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-vite@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-i18n': 3.0.0-4020920240930001 '@dcloudio/uni-i18n': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-compiler': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/compiler-dom': 3.4.21
'@vue/compiler-sfc': 3.4.21 '@vue/compiler-sfc': 3.4.21
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
debug: 4.3.7 debug: 4.3.7
@@ -7035,17 +7054,17 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-mp-vue@3.0.0-4020920240930001': '@dcloudio/uni-mp-vue@3.0.0-alpha-4040320241223001':
dependencies: dependencies:
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
'@dcloudio/uni-mp-weixin@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-weixin@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
jimp: 0.10.3 jimp: 0.10.3
licia: 1.46.0 licia: 1.46.0
@@ -7064,13 +7083,13 @@ snapshots:
- utf-8-validate - utf-8-validate
- vue - vue
'@dcloudio/uni-mp-xhs@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-mp-xhs@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-compiler': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-compiler': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
@@ -7081,14 +7100,14 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-nvue-styler@3.0.0-4020920240930001': '@dcloudio/uni-nvue-styler@3.0.0-alpha-4040320241223001':
dependencies: dependencies:
parse-css-font: 4.0.0 parse-css-font: 4.0.0
postcss: 8.4.49 postcss: 8.4.49
'@dcloudio/uni-push@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-push@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
- '@vueuse/core' - '@vueuse/core'
@@ -7098,12 +7117,12 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-quickapp-webview@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-quickapp-webview@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vite': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-mp-vite': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-mp-vue': 3.0.0-4020920240930001 '@dcloudio/uni-mp-vue': 3.0.0-alpha-4040320241223001
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
@@ -7114,16 +7133,16 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/uni-shared@3.0.0-4020920240930001': '@dcloudio/uni-shared@3.0.0-alpha-4040320241223001':
dependencies: dependencies:
'@vue/shared': 3.4.21 '@vue/shared': 3.4.21
'@dcloudio/uni-stacktracey@3.0.0-4020920240930001': {} '@dcloudio/uni-stacktracey@3.0.0-alpha-4040320241223001': {}
'@dcloudio/uni-stat@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))': '@dcloudio/uni-stat@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
debug: 4.3.7 debug: 4.3.7
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
@@ -7134,13 +7153,13 @@ snapshots:
- ts-node - ts-node
- vue - vue
'@dcloudio/vite-plugin-uni@3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))': '@dcloudio/vite-plugin-uni@3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))':
dependencies: dependencies:
'@babel/core': 7.26.0 '@babel/core': 7.26.0
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0)
'@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
'@dcloudio/uni-cli-shared': 3.0.0-4020920240930001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) '@dcloudio/uni-cli-shared': 3.0.0-alpha-4040320241223001(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2))
'@dcloudio/uni-shared': 3.0.0-4020920240930001 '@dcloudio/uni-shared': 3.0.0-alpha-4040320241223001
'@rollup/pluginutils': 5.1.3(rollup@4.28.0) '@rollup/pluginutils': 5.1.3(rollup@4.28.0)
'@vitejs/plugin-legacy': 5.3.2(terser@5.36.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0)) '@vitejs/plugin-legacy': 5.3.2(terser@5.36.0)(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))
'@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2)) '@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0))(vue@3.4.21(typescript@5.7.2))
@@ -7160,7 +7179,7 @@ snapshots:
magic-string: 0.30.14 magic-string: 0.30.14
picocolors: 1.1.1 picocolors: 1.1.1
terser: 5.36.0 terser: 5.36.0
unplugin-auto-import: 0.16.7(rollup@4.28.0) unplugin-auto-import: 0.18.6(rollup@4.28.0)
vite: 5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0) vite: 5.2.8(@types/node@20.17.9)(sass@1.77.8)(terser@5.36.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
@@ -12145,7 +12164,7 @@ snapshots:
unpipe@1.0.0: {} unpipe@1.0.0: {}
unplugin-auto-import@0.16.7(rollup@4.28.0): unplugin-auto-import@0.17.8(rollup@4.28.0):
dependencies: dependencies:
'@antfu/utils': 0.7.10 '@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.3(rollup@4.28.0) '@rollup/pluginutils': 5.1.3(rollup@4.28.0)
@@ -12158,7 +12177,7 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
unplugin-auto-import@0.17.8(rollup@4.28.0): unplugin-auto-import@0.18.6(rollup@4.28.0):
dependencies: dependencies:
'@antfu/utils': 0.7.10 '@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.3(rollup@4.28.0) '@rollup/pluginutils': 5.1.3(rollup@4.28.0)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

-5
View File
@@ -19,7 +19,6 @@ onLaunch((options) => {
}) })
onPageNotFound(() => { onPageNotFound(() => {
console.log(1)
uni.reLaunch({ uni.reLaunch({
url: '/', url: '/',
}) })
@@ -36,7 +35,6 @@ const userStore = useUserStore()
/* 覆盖 uniapp 自带rpx效果 */ /* 覆盖 uniapp 自带rpx效果 */
html { html {
font-family: 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-family: 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, sans-serif;
// font-size: 16px !important;
} }
/* stylelint-disable-next-line selector-type-no-unknown */ /* stylelint-disable-next-line selector-type-no-unknown */
#app { #app {
@@ -131,7 +129,4 @@ uni-modal {
} }
} }
} }
::-webkit-scrollbar {
display: none;
}
</style> </style>
+7 -2
View File
@@ -10,7 +10,12 @@ defineProps({
</script> </script>
<template> <template>
<div rounded-full p-4 shadow-lg btn-gradient> <div
rounded-full
p-4
shadow-lg
style="background: linear-gradient(45deg, #3b81f3 0%, #37e6ec 100%)"
>
<image <image
block block
overflow-hidden overflow-hidden
@@ -18,7 +23,7 @@ defineProps({
bg-gray-100 bg-gray-100
class="h-full w-full" class="h-full w-full"
mode="aspectFill" mode="aspectFill"
:src="src ? src : DefaultAavatar" :src="src ?? DefaultAavatar"
/> />
</div> </div>
</template> </template>
+2 -18
View File
@@ -15,27 +15,11 @@
<script lang="ts" setup> <script lang="ts" setup>
import { getLastPage } from '@/utils' import { getLastPage } from '@/utils'
const props = defineProps({ const title = getLastPage().$page.meta.navigationBar.titleText
titleColor: {
type: String,
default: '#fff',
},
title: {
type: String,
default: '',
},
})
const title = computed(() => {
return props.title || getLastPage().$page.meta.navigationBar.titleText
})
const showBack = getCurrentPages().length > 1 const showBack = getCurrentPages().length > 1
const handleClickLeft = () => { const handleClickLeft = () => {
uni.navigateBack() uni.navigateBack()
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss"></style>
:deep(.wd-navbar) {
--wot-navbar-color: v-bind('titleColor');
}
</style>
-56
View File
@@ -1,56 +0,0 @@
<template>
<wd-popup
v-model="showPopup"
position="bottom"
:safe-area-inset-bottom="true"
custom-style="border-radius: 30px 30px 0 0"
>
<view class="py-15">
<view class="grid grid-cols-3 gap-20 p-15">
<view
class="text-center rounded-full bg-#889BC61A py-10 text-#889BC6 text-15"
v-for="(item, index) of payTypeList"
@click="currPayTypeIndex = index"
:key="item.value"
:class="{
'text-white btn-gradient': currPayTypeIndex === index,
}"
>
{{ item.title }}
</view>
</view>
<view class="p-15">
<view class="text-15 text-#333">个人所得税金额</view>
<view class="text-15 p-15 bg-#F3F5F9 rounded-4 mt-12">400</view>
</view>
<view
class="text-15 btn-gradient mx-15 mt-100 text-white rounded-full py-15 text-center"
@click="onSubmit"
>
立即缴纳
</view>
</view>
</wd-popup>
</template>
<script setup>
const emits = defineEmits(['submit'])
const showPopup = ref(false)
const payTypeList = [
{ title: '支付宝', value: 1 },
{ title: '微信', value: 2 },
{ title: '银联', value: 3 },
{ title: '云闪付', value: 4 },
]
const currPayTypeIndex = ref(0)
const onSubmit = () => {
emits('submit', payTypeList[currPayTypeIndex.value])
}
defineExpose({
onShowPopup() {
showPopup.value = true
},
})
</script>
-16
View File
@@ -1,16 +0,0 @@
import { getCaptchaAPI } from '@/service'
export const useCaptcha = () => {
const codeUrl = ref('')
const codeKey = ref('')
const refreshCode = async () => {
const res = await getCaptchaAPI()
codeUrl.value = res.data.img
codeKey.value = res.data.key
}
onMounted(() => {
refreshCode()
})
return { codeUrl, codeKey, refreshCode }
}
+1 -11
View File
@@ -51,31 +51,21 @@ function useListPageRequest(
...customParams, ...customParams,
}) })
data.forEach((item: any) => { data.forEach((item: any) => {
if (String(item.createtime).length < 11) {
item.createtime = item.createtime * 1000
}
item.createtime = formatTime(item.createtime) item.createtime = formatTime(item.createtime)
item.image = getImageUrl(item.image) item.image = getImageUrl(item.image)
}) })
// totalPage.value = data.count ? Math.ceil(data.count / pagingParams.value.limit!) : 0 // totalPage.value = data.count ? Math.ceil(data.count / pagingParams.value.limit!) : 0
// 如果当前是第一页,则清空列表,否则追加数据
if (getPagingParams.value.page === 1) {
list.value = []
}
list.value.push(...data) list.value.push(...data)
} }
const onReload = async (params?: AnyObject) => { const onReload = async (params?: AnyObject) => {
// 如果当前是第一页,则清空列表
if (getPagingParams.value.page === 1) {
list.value = []
}
loading.value = true loading.value = true
pagingParams.value.page = 1 pagingParams.value.page = 1
if (params) { if (params) {
customParams = params customParams = params
} }
try { try {
list.value = []
await loadData() await loadData()
} finally { } finally {
loading.value = false loading.value = false
+1 -6
View File
@@ -56,12 +56,7 @@ function uploadFile<T>({ tempFilePath, formData, data, error, loading }) {
name: 'file', name: 'file',
formData, formData,
success: (uploadFileRes) => { success: (uploadFileRes) => {
try { data.value = uploadFileRes.data as T
data.value = JSON.parse(uploadFileRes.data).data.fullurl as T
} catch (e) {
console.log(e)
data.value = uploadFileRes.data as T
}
}, },
fail: (err) => { fail: (err) => {
console.error('uni.uploadFile err->', err) console.error('uni.uploadFile err->', err)
+1 -1
View File
@@ -52,7 +52,7 @@ const httpInterceptor = {
// 3. 添加 token 请求头标识 // 3. 添加 token 请求头标识
const userStore = useUserStore() const userStore = useUserStore()
if (userStore.token) { if (userStore.token) {
options.header.Authorization = `Bearer ${userStore.token}` options.header.token = userStore.token
} }
}, },
} }
+1 -1
View File
@@ -4,7 +4,7 @@
* 可以设置路由白名单,或者黑名单,看业务需要选哪一个 * 可以设置路由白名单,或者黑名单,看业务需要选哪一个
* 我这里应为大部分都可以随便进入,所以使用黑名单 * 我这里应为大部分都可以随便进入,所以使用黑名单
*/ */
import { getRealNameAuthAPI, getUserInfoAPI } from '@/service' import { getUserInfoAPI } from '@/service'
import { useUserStore } from '@/store' import { useUserStore } from '@/store'
import { import {
getNotNeedLoginPages as _getNotNeedLoginPages, getNotNeedLoginPages as _getNotNeedLoginPages,
-84
View File
@@ -1,84 +0,0 @@
<route lang="json5">
{
style: {
navigationBarTitleText: '股权流量提现明细',
navigationBarBackgroundColor: '#fff',
},
}
</route>
<script lang="ts" setup>
import NavBar from '@/components/NavBar.vue'
import { getMyAssetAPI } from '@/service'
import { useUserStore } from '@/store'
const { list: assetList } = useListPageRequest(getMyAssetAPI)
</script>
<template>
<view class="asset-page pt-15 relative">
<!-- <view class="flex justify-around">
<view
v-for="(tabItem, index) in tabList"
@click="tabIndex = index"
:key="tabItem.value"
class="flex items-center bg-#DEEBFF text-#3B81F3 rounded-full justify-center py-4 px-10"
:class="{ 'btn-gradient text-white': tabIndex === index }"
>
<view class="text-14">{{ tabItem.label }}</view>
</view>
</view> -->
<view class="text-white p-15 mt-15">
<view class="text-17">流量提现汇总</view>
<view class="text-30">
100
<text class="text-20">()</text>
</view>
</view>
<view class="relative z-1 mt-10 main-content pt-30 pb-30 rounded-t-15">
<view class="mb-15 px-25">资金明细</view>
<template v-if="assetList.length">
<view
class="flex px-25 py-12 border-b items-center border-#3333331A border-b-solid"
v-for="item in assetList"
:key="item.id"
>
<!-- <image src="/static/images/page-sub/invite-icon.png" class="w-48 h-48" /> -->
<view class="flex flex-col flex-1">
<view class="text-14 text-#333">{{ item.memo }}</view>
<view class="text-12 mt-4 text-#333">{{ item.createtime }}</view>
</view>
<view class="flex flex-col items-end">
<view class="text-17 font-bold text-gradient">{{ item.money }}</view>
</view>
</view>
</template>
<template v-else>
<wd-status-tip image="content" tip="暂无数据" />
</template>
</view>
<!-- <view class="mx-15 text-16 font-bold text-#333">我的资产</view>
<view
class="mt-15 mx-15 rounded-20 text-#476FFF main-content p-15 rounded-10 shadow-[0_5px_30px_rgba(149,195,255,0.4)]"
>
<view class="text-14 text-#6784C7">总投资金</view>
<view class="text-35 mt-10 font-bold">{{ detailInfo.suminvest }}</view>
</view>
<view class="text-16 mx-15 mb-15 font-bold text-#333 mt-30">资产记录</view>
-->
</view>
</template>
<style scoped>
.asset-page {
background-image: url('@/static/images/assets-bg.jpg');
background-repeat: no-repeat;
background-position: top -90px center;
background-size: 100%;
}
.main-content {
background-color: #ffffff;
/* backdrop-filter: blur(60px); */
}
</style>
+35 -78
View File
@@ -1,90 +1,35 @@
<route lang="json5"> <route lang="json5">
{ {
style: { style: {
navigationBarTitleText: '资金明细', navigationBarTitleText: '我的资产',
navigationBarBackgroundColor: '#fff', navigationBarBackgroundColor: '#fff',
navigationStyle: 'custom',
}, },
} }
</route> </route>
<script lang="ts" setup> <script lang="ts" setup>
import NavBar from '@/components/NavBar.vue'
import { getMyAssetAPI } from '@/service' import { getMyAssetAPI } from '@/service'
import { useUserStore } from '@/store' import { useUserStore } from '@/store'
const userStore = useUserStore() const userStore = useUserStore()
const tabList = computed(() => { const detailInfo = ref({
return [ point: 1,
{ label: '我的余额', value: 1, money: userStore.userInfo?.money }, score: 1000,
{ label: '社保金余额', value: 2, money: userStore.userInfo?.moneyjiu }, suminvest: '10000',
{ label: '养老金余额', value: 3, money: userStore.userInfo?.moneyold },
{ label: '团队佣金余额', value: 4, money: userStore.userInfo?.moneyyong },
]
}) })
const tabIndex = ref(0) const { list: assetList } = useListPageRequest((params) =>
getMyAssetAPI(params).then((res) => {
const { list: assetList, onReload } = useListPageRequest( detailInfo.value = res.data
(params) => res.data.data = res.data.list
getMyAssetAPI(params).then((res) => { return res.data
return res }),
}),
{
autoRequest: false,
},
) )
onLoad((options) => {
tabIndex.value = Number(options.tabIndex ?? 0)
onReload({
flagdata: unref(tabList)[tabIndex.value].value,
})
})
</script> </script>
<template> <template>
<view class="asset-page pt-15 relative"> <view class="min-h-screen py-15">
<NavBar :title="tabList[tabIndex].label" /> <view class="mx-15 text-16 font-bold text-#333">我的资产</view>
<!-- <view class="flex justify-around">
<view
v-for="(tabItem, index) in tabList"
@click="tabIndex = index"
:key="tabItem.value"
class="flex items-center bg-#DEEBFF text-#3B81F3 rounded-full justify-center py-4 px-10"
:class="{ 'btn-gradient text-white': tabIndex === index }"
>
<view class="text-14">{{ tabItem.label }}</view>
</view>
</view> -->
<view class="mt-30 p-15 text-white">
<view class="text-17">{{ tabList[tabIndex].label }}</view>
<view class="text-30">{{ tabList[tabIndex].money }}</view>
</view>
<view class="relative z-1 mt-10 main-content pt-30 pb-30 rounded-t-15">
<view class="mb-15 px-25">{{ tabList[tabIndex].label }}明细</view>
<template v-if="assetList.length">
<view
class="flex px-25 py-12 border-b items-center border-#3333331A border-b-solid"
v-for="item in assetList"
:key="item.id"
>
<image src="/static/images/page-sub/invite-icon.png" class="w-48 h-48" />
<view class="flex flex-col flex-1 ml-15">
<view class="text-14 text-#333">{{ item.memo }}</view>
<view class="text-12 mt-4 text-#333">{{ item.createtime }}</view>
</view>
<view class="flex flex-col items-end">
<view class="text-17 font-bold text-gradient">{{ item.money }}</view>
</view>
</view>
</template>
<template v-else>
<wd-status-tip image="content" tip="暂无数据" />
</template>
</view>
<!-- <view class="mx-15 text-16 font-bold text-#333">我的资产</view>
<view <view
class="mt-15 mx-15 rounded-20 text-#476FFF main-content p-15 rounded-10 shadow-[0_5px_30px_rgba(149,195,255,0.4)]" class="mt-15 mx-15 rounded-20 text-#476FFF main-content p-15 rounded-10 shadow-[0_5px_30px_rgba(149,195,255,0.4)]"
> >
@@ -92,19 +37,31 @@ onLoad((options) => {
<view class="text-35 mt-10 font-bold">{{ detailInfo.suminvest }}</view> <view class="text-35 mt-10 font-bold">{{ detailInfo.suminvest }}</view>
</view> </view>
<view class="text-16 mx-15 mb-15 font-bold text-#333 mt-30">资产记录</view> <view class="text-16 mx-15 mb-15 font-bold text-#333 mt-30">资产记录</view>
--> <view
class="flex px-15 py-8 border-b items-center border-#E5E5E5 border-b-solid"
v-for="item in assetList"
:key="item.id"
>
<image src="/static/images/page-sub/invite-icon.png" class="w-32 h-32 self-center" />
<view class="flex flex-col flex-1 ml-15">
<view class="text-14 text-#333">{{ item.memo }}</view>
<!-- <view class="text-12 mt-10 text-#999">奖励</view> -->
<view class="text-12 mt-10 text-#999">{{ item.createtime }}</view>
</view>
<view class="flex flex-col items-end">
<view class="text-14 font-bold text-#FF5F5F">{{ item.money }}</view>
<!-- <view class="text-14 mt-10 py-4 px-10 bg-#71C78A1A text-#71C78A">已到账</view> -->
</view>
</view>
</view> </view>
</template> </template>
<style scoped> <style>
.asset-page {
background-image: url('@/static/images/assets-bg.jpg');
background-repeat: no-repeat;
background-position: top center;
background-size: 100%;
}
.main-content { .main-content {
background-color: #ffffff; background-image: url('@/static/images/page-sub/team/main-bg.png');
/* backdrop-filter: blur(60px); */ background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
} }
</style> </style>
+14 -37
View File
@@ -8,7 +8,7 @@
</route> </route>
<template> <template>
<view class="min-h-screen pb-100"> <view class="min-h-screen pb-100">
<NavBar :title="title" title-color="#333"> <NavBar>
<template #right> <template #right>
<image <image
@click="onWithdrawalDetail" @click="onWithdrawalDetail"
@@ -17,39 +17,26 @@
/> />
</template> </template>
</NavBar> </NavBar>
<view <view class="p-15">
class="m-15 text-white flex rounded-tl-10 rounded-br-10 justify-between items-center p-15 bg-[linear-gradient(90deg,rgba(59,129,243,0.5),#3B81F3)]"
>
<view class="text-14">{{ type === 0 ? '养老金' : '团队佣金' }}余额</view>
<view class="text-17 font-bold">
{{ type === 0 ? userStore.userInfo?.moneyold : userStore.userInfo?.moneyyong }}
</view>
</view>
<view class="p-15 bg-white shadow-[0_-2px_3px_rgba(10,68,245,0.1)] rounded-10">
<view class="mt-15"> <view class="mt-15">
<view class="flex items-center justify-between">
<view class="text-14 text-#333">我的股数</view>
<view class="text-12 text-#999">可转换股数{{ userStore.userInfo.score }}</view>
</view>
<view <view
class="flex items-center text-14 mt-15 text-#333 p-16 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10" class="flex items-center text-14 mt-15 text-#333 p-16 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10"
> >
<input <input
v-model="convertNum" v-model="convertNum"
type="number" type="number"
placeholder="转出金额" placeholder="请输入股数"
class="text-14 text-#333 flex-1" class="text-14 text-#333 flex-1"
/> />
<view <view class="text-12 text-gradient" @click="convertNum = userStore.userInfo.score">
class="text-12 text-gradient"
@click="
convertNum = type === 0 ? userStore.userInfo?.moneyold : userStore.userInfo?.moneyyong
"
>
全部 全部
</view> </view>
</view> </view>
<view class="text-14 text-#889BC6 mt-30">提现说明TIPS</view> <view class="text-12 text-#889BC6 mt-15">马尔代夫股权每股价值500元</view>
<view class="text-12 text-#889BC6 mt-15">
<view>1如遇到系统结算繁忙转换将会延迟到账</view>
<view class="mt-4">2提现将会提现至您的工商银行卡;</view>
</view>
</view> </view>
</view> </view>
<view <view
@@ -60,7 +47,7 @@
class="btn-gradient flex-1 text-center text-white rounded-full text-14 px-30 py-10" class="btn-gradient flex-1 text-center text-white rounded-full text-14 px-30 py-10"
@click="onSubmit" @click="onSubmit"
> >
确认转换至{{ type === 0 ? '余额' : '养老金' }} 确认转换至余额
</view> </view>
</view> </view>
</view> </view>
@@ -69,7 +56,7 @@
<script setup lang="ts"> <script setup lang="ts">
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import { convertScoreAPI, getOldMoneyTransferAPI, getYongMoneyTransferAPI } from '@/service' import { convertScoreAPI } from '@/service'
import { useUserStore } from '@/store' import { useUserStore } from '@/store'
import { mergeStep, showModal } from '@/utils' import { mergeStep, showModal } from '@/utils'
@@ -79,29 +66,19 @@ const convertNum = ref('')
const onWithdrawalDetail = () => { const onWithdrawalDetail = () => {
uni.navigateTo({ uni.navigateTo({
url: `/pages-sub/asset/index?tabIndex=${type.value ? 3 : 2}`, url: '/pages-sub/asset/index',
}) })
} }
const onSubmit = mergeStep(async () => { const onSubmit = mergeStep(async () => {
await showModal('确认转换?') await showModal('确认转换?')
const request = type.value === 0 ? getOldMoneyTransferAPI : getYongMoneyTransferAPI await convertScoreAPI({
await request({ score: convertNum.value,
money: convertNum.value,
}) })
await showModal('转换成功') await showModal('转换成功')
userStore.loadUserInfo() userStore.loadUserInfo()
onWithdrawalDetail() onWithdrawalDetail()
}) })
const type = ref(0)
onLoad((options) => {
type.value = Number(options.type ?? 0)
})
const title = computed(() => {
return type.value === 0 ? '养老金转余额' : '团队佣金转养老金'
})
</script> </script>
<style scoped></style> <style scoped></style>
-94
View File
@@ -1,94 +0,0 @@
<route lang="json5">
{
style: {
navigationStyle: 'custom',
navigationBarTitleText: '股权提现',
},
}
</route>
<template>
<view class="min-h-screen pb-100">
<NavBar title-color="#333"></NavBar>
<view class="main-container w-345 h-100 mt-15 mx-auto flex p-15 items-center">
<view class="flex-1">
<view class="text-14 text-#ffffff99">可提现碧桂园股权</view>
<view class="text-20 text-white">
3521000
<text class="text-14">()</text>
</view>
</view>
<view class="ml-50 text-right flex-1">
<view class="text-14 text-#ffffff99">价值</view>
<view class="text-20 text-white">3521000</view>
</view>
</view>
<view class="p-15 mt-30 text-18 text-#333">提现信息</view>
<view class="bg-white rounded-10 m-15 px-15" style="box-shadow: 0px 0px 10px 0px #0a44f51a">
<view class="flex items-center text-14 text-#333 py-25">
<view class="">银行卡号</view>
<input class="text-14 text-#889BC6 text-right flex-1" placeholder="请输入银行卡号" />
</view>
<view class="flex items-center text-14 text-#333 py-25">
<view class="">开户银行</view>
<input class="text-14 text-#889BC6 text-right flex-1" placeholder="请输入开户银行" />
</view>
</view>
<view
class="bg-white fixed bottom-0 left-0 right-0 px-15 py-10 shadow-[0_0_10px_rgba(10,68,245,0.1)]"
>
<view class="pb-safe">
<view
class="btn-gradient text-center text-white rounded-full text-14 px-30 py-10"
@click="onSubmit"
>
立即提现
</view>
</view>
</view>
<WithdrawalTaxPopup ref="withdrawalTaxPopupRef" />
</view>
</template>
<script setup lang="ts">
import NavBar from '@/components/NavBar.vue'
import WithdrawalTaxPopup from '@/components/WithdrawalTaxPopup.vue'
import { submitWithdrawalAPI } from '@/service'
import { useUserStore } from '@/store'
import { showModal } from '@/utils'
const userStore = useUserStore()
const form = ref({
money: '',
})
const onWithdrawalDetail = () => {
uni.navigateTo({
url: '/pages-sub/withdrawal-detail/index',
})
}
const withdrawalTaxPopupRef = ref(null)
const onSubmit = async () => {
// if (!form.value.money) {
// return uni.showToast({
// title: '请输入提现金额',
// icon: 'none',
// })
// }
// await showModal('确认提现?')
// await submitWithdrawalAPI(form.value)
// await showModal('提交成功')
// onWithdrawalDetail()
withdrawalTaxPopupRef.value.onShowPopup()
}
</script>
<style scoped>
.main-container {
background-image: url('@/static/images/page-sub/withdrawal/main-bg.jpg');
background-size: 100%;
}
</style>
-46
View File
@@ -1,46 +0,0 @@
<route lang="json5" type="page">
{
style: {
navigationBarTitleText: '热点新闻',
},
}
</route>
<template>
<view class="hot-news-page min-h-screen p-15">
<view class="bg-#fff rounded-10 px-15 py-15" v-if="newsList.length > 0">
<view
class="flex mb-15"
v-for="item in newsList"
:key="item.id"
@click="handleNewsDetail(item.id)"
>
<image class="w-85 h-85 rounded-10" :src="item.image" mode="aspectFill" />
<view class="ml-15 flex-1 flex flex-col justify-between">
<view text-14>{{ item.name }}</view>
<view class="text-12 text-#999">{{ formatTime(item.createtime) }}</view>
</view>
</view>
</view>
<wd-status-tip v-else image="content" tip="暂无内容" />
</view>
</template>
<script setup lang="ts">
import { getIntroductionAPI } from '@/service'
import { formatTime } from '@/utils'
const { list: newsList } = useListPageRequest((params) =>
getIntroductionAPI({ type: 1, ...params }),
)
const handleNewsDetail = (id: number) => {
uni.navigateTo({
url: `/pages-sub/news-detail/index?id=${id}`,
})
}
</script>
<style scoped>
.hot-news-page {
background: #f7f7f7;
}
</style>
+6 -15
View File
@@ -3,36 +3,27 @@
style: { style: {
navigationBarTitleText: '投资记录', navigationBarTitleText: '投资记录',
navigationBarBackgroundColor: '#fff', navigationBarBackgroundColor: '#fff',
navigationStyle: 'custom',
}, },
} }
</route> </route>
<script setup lang="ts"> <script setup lang="ts">
import NavBar from '@/components/NavBar.vue'
import { getInvestmentRecordAPI } from '@/service' import { getInvestmentRecordAPI } from '@/service'
const { list: investmentRecordList } = useListPageRequest(getInvestmentRecordAPI) const { list: investmentRecordList } = useListPageRequest(getInvestmentRecordAPI)
function getType(item) {
return Number(item.typedata) === 2 ? '投保' : '投资'
}
</script> </script>
<template> <template>
<view <view class="min-h-screen pb-100">
class="min-h-screen pb-100" <template v-if="investmentRecordList.length">
style="background: linear-gradient(180deg, #3a90f2 0%, #f7f7f7 100%)"
>
<NavBar />
<view class="mt-15" v-if="investmentRecordList.length">
<view <view
class="flex px-15 py-8 mb-1 bg-#ffffff" class="flex px-15 py-8 border-b border-#E5E5E5 border-b-solid"
v-for="item in investmentRecordList" v-for="item in investmentRecordList"
:key="item.id" :key="item.id"
> >
<image src="/static/images/page-sub/money-icon.png" class="w-32 h-32 self-center" /> <image src="/static/images/page-sub/money-icon.png" class="w-32 h-32 self-center" />
<view class="flex flex-col flex-1 justify-between ml-15"> <view class="flex flex-col flex-1 justify-between ml-15">
<view class="text-14 text-#333">{{ item.name }}</view> <view class="text-14 text-#333">{{ item.name }}</view>
<view class="text-12 text-#999">{{ getType(item) }}</view> <view class="text-12 text-#999">投资</view>
<view class="text-12 text-#999">{{ item.createtime }}</view> <view class="text-12 text-#999">{{ item.createtime }}</view>
</view> </view>
@@ -42,11 +33,11 @@ function getType(item) {
class="text-14 mt-18 py-4 px-10 bg-#71C78A1A text-#71C78A" class="text-14 mt-18 py-4 px-10 bg-#71C78A1A text-#71C78A"
v-if="Number(item.status) === 1" v-if="Number(item.status) === 1"
> >
{{ getType(item) }}成功 投资成功
</view> </view>
</view> </view>
</view> </view>
</view> </template>
<template v-else> <template v-else>
<wd-status-tip image="content" tip="暂无内容" /> <wd-status-tip image="content" tip="暂无内容" />
</template> </template>
+1 -1
View File
@@ -66,7 +66,7 @@ const onLottery = () => {
<style lang="scss" scoped> <style lang="scss" scoped>
.invite-page { .invite-page {
background-image: url('@/static/images/page-sub/invite-bg.jpg'); background-image: url('@/static/images/page-sub/invite-bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: top; background-position: top;
background-size: 100%; background-size: 100%;
+118 -50
View File
@@ -1,7 +1,7 @@
<route lang="json5"> <route lang="json5">
{ {
style: { style: {
navigationBarTitleText: '抽奖', navigationBarTitleText: '转盘抽奖',
navigationBarBackgroundColor: '#fff', navigationBarBackgroundColor: '#fff',
navigationStyle: 'custom', navigationStyle: 'custom',
}, },
@@ -10,67 +10,135 @@
<script setup lang="ts"> <script setup lang="ts">
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import { showModal } from '@/utils' import GridLottery from '@/components/GridLottery.vue'
const onKefu = () => { import lotteryIcon from '@/static/images/home/nav-2.png'
uni.navigateTo({
url: '/pages-sub/official-community/index', const list = [
}) {
id: 1,
sort: 0,
title: '\u6BDB\u5DFE',
icon: lotteryIcon,
},
{
id: 2,
sort: 1,
title: '\u6BDB\u5DFE',
icon: lotteryIcon,
},
{
id: 3,
sort: 2,
title: '\u6BDB\u5DFE',
icon: lotteryIcon,
},
{
id: 4,
sort: 3,
title: '\u6BDB\u5DFE',
icon: lotteryIcon,
},
{
id: 5,
sort: 4,
title: '\u6BDB\u5DFE',
icon: lotteryIcon,
},
{
id: 6,
sort: 5,
title: '\u6BDB\u5DFE',
icon: lotteryIcon,
},
{
id: 7,
sort: 6,
title: '\u6BDB\u5DFE',
icon: lotteryIcon,
},
{
id: 8,
sort: 7,
title: '\u6BDB\u5DFE',
icon: lotteryIcon,
},
]
const gridLotteryRef = ref(null)
const onStart = () => {
// 中奖id,抽奖轮转时间毫秒
gridLotteryRef.value.start(3, 10000)
} }
const onEnd = () => {
const onLottery = () => { console.log('onEnd')
showModal('您有5次机会')
} }
</script> </script>
<template> <template>
<view class="min-h-screen lottery-page pb-50"> <view class="min-h-screen lottery-page">
<NavBar /> <NavBar />
<view class="text-26 text-center mt-500 text-#990E17 font-bold" @click="onLottery"> <view class="mt-240 w-315 h-315 flex items-center justify-center mx-auto lottery-container">
您有 <grid-lottery
<text class="text-36 text-white">5</text> :itemHeight="186"
次机会 ref="gridLotteryRef"
class="w-280 ml-8 mt-8"
:list="list"
@onStart="onStart"
@onEnd="onEnd"
>
<!-- <view slot="lottery-item" slot-scope="slotProps">{{ slotProps }}</view> -->
<template #lottery-item="{ data, index, currIndex }">
<view
class="overflow-hidden relative lottery-item flex flex-col items-center justify-center rounded-10 bg-[linear-gradient(180deg,#fffdf7,#fff1ca)] w-86 h-86"
:class="{
mask: currIndex !== index,
}"
>
<image :src="data.icon" class="w-30 h-30" />
<view class="text-14 text-#333 mt-8">{{ data.title }}</view>
</view>
</template>
<template #start-button>
<view
class="w-86 flex flex-col items-center justify-center h-86 bg-[linear-gradient(180deg,#FF8282,#D73434)] text-#FBEDC6 text-25 rounded-10"
>
<view>点击</view>
<view>抽奖</view>
</view>
</template>
<template #activity-box>
<view class="w-86 h-86 bg-red-500"></view>
</template>
</grid-lottery>
</view> </view>
<view class="text-25 text-center mt-50 text-#fff">中奖奖品</view> <view class="text-16 mx-auto w-315 mb-15 font-bold text-#fff mt-30">抽奖规则</view>
<view class="mt-10 text-#FFE1B1 text-14 underline text-center" @click="onKefu"> <view class="text-12 mx-auto w-315 mb-15 text-#fff mt-15">
中奖奖品请联系客服获取>> 1. 每轮抽奖消耗10000认购点每轮抽奖次数为3次每轮抽奖结束后消耗的认购点将恢复为0
</view>
<view class="mt-10 rounded-15 overflow-hidden mx-auto w-345 text-center">
<view class="flex bg-#FBE6CA text-#990E17 text-15 py-12">
<view class="flex-1">日期</view>
<view class="flex-1">奖品</view>
</view>
<view
class="flex bg-#F8CD96 text-#333333 text-15 py-12 border-t-solid border-t-#990E17 border-t-1"
>
<view class="flex-1">2025.01.058</view>
<view class="flex-1">物业费3年</view>
</view>
<view
class="flex bg-#F8CD96 text-#333333 text-15 py-12 border-t-solid border-t-#990E17 border-t-1"
>
<view class="flex-1">2025.01.058</view>
<view class="flex-1">物业费3年</view>
</view>
<view
class="flex bg-#F8CD96 text-#333333 text-15 py-12 border-t-solid border-t-#990E17 border-t-1"
>
<view class="flex-1">2025.01.058</view>
<view class="flex-1">物业费3年</view>
</view>
<view
class="flex bg-#F8CD96 text-#333333 text-15 py-12 border-t-solid border-t-#990E17 border-t-1"
>
<view class="flex-1">2025.01.058</view>
<view class="flex-1">物业费3年</view>
</view>
</view> </view>
</view> </view>
</template> </template>
<style scoped> <style>
.lottery-item {
&.mask {
&::after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: '';
background: rgba(0, 0, 0, 0.1);
}
}
}
.lottery-container {
background-image: url('@/static/images/lottery-bar.png');
background-size: 100% 100%;
}
.lottery-page { .lottery-page {
background-color: #8c201f; background-color: #517aae;
background-image: url('@/static/images/lottery-bg.jpg'); background-image: url('@/static/images/lottery-bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: top; background-position: top;
background-size: 100%; background-size: 100%;
@@ -1,38 +0,0 @@
<route lang="json5">
{
style: {
navigationBarTitleText: '我的房产',
},
}
</route>
<template>
<view class="bg-#F7F7F7 min-h-screen pt-15">
<view class="p-15 mb-15 mx-auto w-345 rounded-10 bg-white">
<image
class="w-315 h-189"
src="@/static/images/page-sub/red-real-estate-certificate/example.jpg"
mode="aspectFill"
/>
<view class="flex items-center pt-15">
<view class="flex-1">
<view class="text-17 font-500">碧桂园精装房</view>
<view class="text-14 text-#999999 mt-8">100</view>
</view>
<view class="btn-gradient text-15 text-white py-8 px-20 rounded-full" @click="onTransfer">
房产过户
</view>
</view>
</view>
</view>
</template>
<script setup>
const onTransfer = () => {
uni.navigateTo({
url: '/pages-sub/room-transfer/index',
})
}
</script>
<style lang="scss" scoped></style>
+1 -1
View File
@@ -27,6 +27,6 @@ onLoad(async (options) => {
</view> </view>
</view> </view>
<image class="w-full mt-15" mode="widthFix" :src="getImageUrl(newsDetail.image)" /> <image class="w-full mt-15" mode="widthFix" :src="getImageUrl(newsDetail.image)" />
<view class="text-14 text-gray-600 mt-15" v-html="newsDetail.content" /> <view class="text-14 text-gray-600 mt-15">{{ newsDetail.content }}</view>
</view> </view>
</template> </template>
-49
View File
@@ -1,49 +0,0 @@
<route lang="json5" type="page">
{
style: {
navigationBarTitleText: '最新时讯',
navigationStyle: 'custom',
},
}
</route>
<template>
<view class="news-page">
<NavBar />
<view class="py-15" v-if="newsList.length > 0">
<view
class="bg-white rounded-10 overflow-hidden p-15 mx-15 mb-15"
v-for="item in newsList"
:key="item.id"
@click="handleNewsDetail(item.id)"
>
<image class="rounded-10 w-full h-160" :src="item.image" mode="aspectFill" />
<view class="mt-10 flex-1 flex flex-col justify-between">
<view class="text-14">{{ item.name }}</view>
<view class="text-12 text-#999 mt-10">{{ item.source }}</view>
</view>
</view>
</view>
<wd-status-tip v-else image="content" tip="暂无内容" />
</view>
</template>
<script setup lang="ts">
import NavBar from '@/components/NavBar.vue'
import { getIntroductionAPI } from '@/service'
const { list: newsList } = useListPageRequest((params) =>
getIntroductionAPI({ type: 1, ...params }),
)
const handleNewsDetail = (id: number) => {
uni.navigateTo({
url: `/pages-sub/news-detail/index?id=${id}`,
})
}
</script>
<style scoped>
.news-page {
background: linear-gradient(180deg, #3a90f2 0%, #f7f7f7 100%);
}
</style>
+14 -32
View File
@@ -1,8 +1,3 @@
<script setup lang="ts">
import NavBar from '@/components/NavBar.vue'
import VueQrcode from '@chenfengyuan/vue-qrcode'
</script>
<route lang="json5"> <route lang="json5">
{ {
style: { style: {
@@ -12,41 +7,28 @@ import VueQrcode from '@chenfengyuan/vue-qrcode'
}, },
} }
</route> </route>
<script setup lang="ts">
import NavBar from '@/components/NavBar.vue'
import { getCustomerServiceAPI } from '@/service'
import VueQrcode from '@chenfengyuan/vue-qrcode'
const detail = ref('')
onLoad(async () => {
const { data } = await getCustomerServiceAPI()
detail.value = data
})
</script>
<template> <template>
<view class="official-community-page"> <view class="official-community-page">
<NavBar /> <NavBar />
<view <view class="p-15 text-center bg-white rounded-10 m-15 shadow-[0_0_10px_rgba(0,0,0,0.1)]">
class="relative px-15 text-center bg-white rounded-10 m-15 shadow-[0_0_10px_rgba(0,0,0,0.1)]" <view v-html="detail"></view>
>
<image
class="w-full mx-auto"
src="@/static/images/page-sub/official-community/image-1.jpg"
mode="widthFix"
/>
<a
href="https://doudlj.org/joinchat/Jol7Vt58a2aCrjsXm9D_LA"
class="absolute bottom-15 left-50% -translate-x-1/2"
>
点击进入
</a>
</view>
<view
class="relative px-15 text-center bg-white rounded-10 m-15 shadow-[0_0_10px_rgba(0,0,0,0.1)]"
>
<image
class="w-full mx-auto"
src="@/static/images/page-sub/official-community/image-2.jpg"
mode="widthFix"
/>
<a href="https://doudlj.org/NiPing95" class="absolute bottom-15 left-50% -translate-x-1/2">
点击进入
</a>
</view> </view>
</view> </view>
</template> </template>
<style scoped> <style>
.official-community-page { .official-community-page {
min-height: 100vh; min-height: 100vh;
padding-bottom: 50px; padding-bottom: 50px;
+57 -140
View File
@@ -9,126 +9,51 @@
<template> <template>
<view class="withdrawal-type-edit-page pb-100 min-h-screen"> <view class="withdrawal-type-edit-page pb-100 min-h-screen">
<template v-if="!realnameInfo"> <view class="p-15 m-15 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10">
<view class="p-15 m-15 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10"> <view class="flex items-center py-15 text-14">
<view class="flex items-center py-15 text-14"> <image src="@/static/images/page-sub/realname/realname-type.png" class="w-20 h-20" />
<image src="@/static/images/page-sub/realname/realname-type.png" class="w-20 h-20" /> <view class="ml-8">证件类型</view>
<view class="ml-8">件类型</view> <view class="flex-1 text-right text-14">身份</view>
<view class="flex-1 text-right text-14">身份证</view>
</view>
<view class="flex items-center py-15 text-14">
<image src="@/static/images/page-sub/realname/realname-name.png" class="w-20 h-20" />
<view class="ml-8">真实姓名</view>
<input
class="flex-1 text-right text-14"
placeholder-class=" text-#889BC6 text-right"
type="text"
placeholder="请输入真实姓名"
v-model="form.realname"
/>
</view>
<view class="flex items-center py-15 text-14">
<image src="@/static/images/page-sub/realname/realname-number.png" class="w-20 h-20" />
<view class="ml-8">身份证号</view>
<input
class="flex-1 text-right text-14"
placeholder-class=" text-#889BC6 text-right"
type="text"
placeholder="请输入身份证号"
v-model="form.cardnum"
/>
</view>
<!-- <view class="py-15 text-14">
<view class="flex items-center">
<image src="@/static/images/page-sub/realname/realname-card.png" class="w-20 h-20" />
<view class="ml-8">证件照片</view>
</view>
<view
class="flex items-center justify-center mt-15 rounded-10 bg-#F1F9FC h-168 w-full"
@click="onUploadZCardImage"
>
<view v-if="!zcardimage" class="text-center">
<image src="@/static/images/page-sub/realname/upload-icon.png" class="w-40 h-40" />
<view class="text-14 text-#999 mt-10">点击上传身份证正面</view>
</view>
<view v-else class="flex items-center">
<image :src="zcardimage" class="w-315 h-168" mode="aspectFit" />
</view>
</view>
<view
class="flex items-center justify-center mt-15 rounded-10 bg-#F1F9FC h-168 w-full"
@click="onUploadFCardImage"
>
<view v-if="!fcardimage" class="text-center">
<image src="@/static/images/page-sub/realname/upload-icon.png" class="w-40 h-40" />
<view class="text-14 text-#999 mt-10">点击上传身份证反面</view>
</view>
<view v-else class="flex items-center">
<image :src="fcardimage" class="w-315 h-168" mode="aspectFit" />
</view>
</view>
</view> -->
</view> </view>
<view class="fixed bottom-0 left-0 right-0 pb-safe"> <view class="flex items-center py-15 text-14">
<button class="btn-gradient text-white rounded-full m-15 text-16" @click="onSubmit"> <image src="@/static/images/page-sub/realname/realname-name.png" class="w-20 h-20" />
提交 <view class="ml-8">真实姓名</view>
</button> <input
class="flex-1 text-right text-14"
placeholder-class=" text-#889BC6 text-right"
type="text"
placeholder="请输入真实姓名"
v-model="form.realname"
/>
</view> </view>
</template> <view class="flex items-center py-15 text-14">
<image src="@/static/images/page-sub/realname/realname-number.png" class="w-20 h-20" />
<view v-else class="flex flex-col items-center"> <view class="ml-8">身份证号</view>
<template v-if="Number(realnameInfo.status) === 1"> <input
<image class="flex-1 text-right text-14"
src="@/static/images/page-sub/realname/realname-checking.png" placeholder-class=" text-#889BC6 text-right"
class="w-150 mx-auto h-150 block" type="text"
mode="aspectFit" placeholder="请输入身份证号"
v-model="form.cardnum"
/> />
<view class="text-center mt-15 text-14 text-#999">您的实名认证正在审核中请耐心等待</view> </view>
<button </view>
class="btn-gradient px-30 text-white rounded-full m-15 text-16" <view class="fixed bottom-0 left-0 right-0 pb-safe">
@click="userStore.logout" <button class="btn-gradient text-white rounded-full m-15 text-16" @click="onSubmit">
> {{ realnameInfo ? '修改' : '提交' }}
退出登录 </button>
</button>
</template>
<template v-else-if="Number(realnameInfo.status) === 2">
<image
src="@/static/images/page-sub/realname/realname-success.png"
class="w-150 h-150 block"
mode="aspectFit"
/>
<view class="text-center mt-15 text-14 text-#999">恭喜您实名认证成功</view>
<button class="btn-gradient px-30 text-white rounded-full m-15 text-16" @click="onGoHome">
返回
</button>
</template>
<template v-else>
<image
src="@/static/images/page-sub/realname/realname-checking.png"
class="w-150 h-150 block"
mode="aspectFit"
/>
<view class="text-center mt-15 text-14 text-#999">您的实名认证审核未通过请重新提交</view>
<button
@click="() => (realnameInfo = null)"
class="btn-gradient px-30 text-white rounded-full m-15 text-16"
>
重新提交
</button>
</template>
</view> </view>
</view> </view>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getRealNameAuthAPI, realNameAuthAPI } from '@/service' import { editRealNameAuthAPI, getRealNameAuthAPI, realNameAuthAPI } from '@/service'
import { useUserStore } from '@/store' import { useUserStore } from '@/store'
import { mergeStep, showModal } from '@/utils' import { showModal } from '@/utils'
import { ref } from 'vue' import { ref } from 'vue'
const userStore = useUserStore()
const form = ref({ const form = ref({
id: '',
realname: '', realname: '',
cardnum: '', cardnum: '',
}) })
@@ -137,46 +62,38 @@ const onBack = () => {
uni.navigateBack() uni.navigateBack()
} }
const onSubmit = mergeStep(async () => { const realnameInfo = ref(null)
if (!/^[\u4e00-\u9fa5·]{2,8}$/.test(form.value.realname)) { const loadRealnameInfo = async () => {
await showModal('姓名格式错误') realnameInfo.value = await getRealNameAuthAPI().then((res) => {
return res.data
})
if (realnameInfo.value) {
form.value.realname = realnameInfo.value.realname
form.value.cardnum = realnameInfo.value.cardnum
form.value.id = realnameInfo.value.id
}
}
const onSubmit = async () => {
if (!form.value.realname || !form.value.cardnum) {
await showModal('请填写完整信息')
return return
} }
if (!/^\d{17}[\d|x]$/i.test(form.value.cardnum)) { if (!/^\d{17}[\d|x]$/i.test(form.value.cardnum)) {
await showModal('身份证号格式错误') await showModal('身份证号格式错误')
return return
} }
// if (!zcardimage.value || !fcardimage.value) { if (form.value.id) {
// await showModal('请上传身份证照片') await editRealNameAuthAPI(form.value)
// return await showModal('修改成功')
// } } else {
await realNameAuthAPI({ await realNameAuthAPI(form.value)
...form.value, await showModal('实名认证成功')
// zcardimage: zcardimage.value, }
// fcardimage: fcardimage.value, loadRealnameInfo()
})
await showModal('提交成功,请耐心等待审核!')
realnameInfo.value = await getRealNameAuthAPI().then((res) => {
return res.data
})
})
const onGoHome = () => {
uni.reLaunch({
url: '/',
})
} }
// const { data: zcardimage, run: onUploadZCardImage } = useUpload() onLoad(loadRealnameInfo)
// const { data: fcardimage, run: onUploadFCardImage } = useUpload()
const realnameInfo = ref(null)
onLoad(async () => {
realnameInfo.value = await getRealNameAuthAPI().then((res) => {
return res.data
})
})
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.withdrawal-type-edit-page { .withdrawal-type-edit-page {
-38
View File
@@ -1,38 +0,0 @@
<route lang="json5">
{
style: {
navigationBarTitleText: '红本房产证',
},
}
</route>
<template>
<view class="bg-#F7F7F7 min-h-screen pt-15">
<view class="p-15 mb-15 mx-auto w-345 rounded-10 bg-white">
<image
class="w-315 h-189"
src="@/static/images/page-sub/red-real-estate-certificate/example.jpg"
mode="aspectFill"
/>
<view class="flex items-center pt-15">
<view class="flex-1">
<view class="text-17 font-500">碧桂园精装房</view>
<view class="text-14 text-#999999 mt-8">100~150</view>
</view>
<view class="btn-gradient text-15 text-white py-8 px-20 rounded-full" @click="onSendMail">
房本邮寄
</view>
</view>
</view>
</view>
</template>
<script setup>
const onSendMail = () => {
uni.navigateTo({
url: '/pages-sub/room-mail/index',
})
}
</script>
<style lang="scss" scoped></style>
-45
View File
@@ -1,45 +0,0 @@
<route lang="json5">
{
style: {
navigationBarTitleText: '房本邮寄',
},
}
</route>
<template>
<view class="min-h-screen pt-15">
<view
class="px-15 py-10 mb-15 mx-auto w-345 rounded-10 bg-white"
style="box-shadow: 0px 0px 10px 0px #0a44f51a"
>
<view class="flex items-center py-15">
<view class="text-gradient">手机号</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入手机号"
/>
</view>
<view class="flex items-center py-15">
<view class="text-gradient">邮寄地址</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入邮寄地址"
/>
</view>
</view>
<view
class="mt-50 text-center py-12 rounded-full mx-15 text-15 text-white btn-gradient"
@click="handleRegister"
>
邮寄
</view>
</view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
-114
View File
@@ -1,114 +0,0 @@
<route lang="json5">
{
style: {
navigationBarTitleText: '房产过户',
},
}
</route>
<template>
<view class="min-h-screen pt-15">
<view class="text-18 p-15">申请人信息</view>
<view
class="px-15 py-10 mb-15 mx-auto w-345 rounded-10 bg-white"
style="box-shadow: 0px 0px 10px 0px #0a44f51a"
>
<view class="flex items-center py-15">
<view class="text-14">申请人姓名</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入申请人姓名"
/>
</view>
<view class="flex items-center py-15">
<view class="text-14">身份证号码</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入身份证号码"
/>
</view>
<view class="flex items-center py-15">
<view class="text-14">联系电话</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入联系电话"
/>
</view>
<view class="flex items-center py-15">
<view class="text-14">家庭地址</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入家庭地址"
/>
</view>
</view>
<view class="text-18 p-15">过户人信息</view>
<view
class="px-15 py-10 mb-15 mx-auto w-345 rounded-10 bg-white"
style="box-shadow: 0px 0px 10px 0px #0a44f51a"
>
<view class="flex items-center py-15">
<view class="text-14">过户人姓名</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入过户人姓名"
/>
</view>
<view class="flex items-center py-15">
<view class="text-14">身份证号码</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入身份证号码"
/>
</view>
<view class="flex items-center py-15">
<view class="text-14">联系电话</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入联系电话"
/>
</view>
<view class="flex items-center py-15">
<view class="text-14">家庭地址</view>
<input
type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14"
placeholder="请输入家庭地址"
/>
</view>
</view>
<view class="flex mt-50 pb-15">
<view
class="flex-1 text-center py-12 rounded-full mx-15 text-15 text-white btn-gradient"
@click="handleRegister"
>
确认信息
</view>
<view
class="flex-1 text-center py-12 rounded-full mx-15 text-15 text-white btn-gradient"
@click="handleRegister"
>
邮寄
</view>
</view>
</view>
</template>
<script setup></script>
<style lang="scss" scoped></style>
+45 -50
View File
@@ -8,60 +8,55 @@
</route> </route>
<template> <template>
<view class="min-h-screen pb-100"> <view class="min-h-screen pb-100">
<template v-if="list.length > 0"> <view
<view class="flex px-15 py-8 border-b border-#E5E5E5 border-b-solid"
class="flex px-15 py-8 border-b border-#E5E5E5 border-b-solid" v-for="item in list"
v-for="item in list" :key="item.id"
:key="item.id" >
> <image
<image src="/static/images/invest/alipay-icon.png"
src="/static/images/invest/alipay-icon.png" class="w-32 h-32 self-center"
class="w-32 h-32 self-center" v-if="item.typedata === '支付宝'"
v-if="item.typedata === '支付宝'" />
/> <image
<image src="/static/images/invest/wechat-icon.png"
src="/static/images/invest/wechat-icon.png" class="w-32 h-32 self-center"
class="w-32 h-32 self-center" v-if="item.typedata === '微信'"
v-if="item.typedata === '微信'" />
/> <image
<image src="/static/images/invest/unionpay-icon.png"
src="/static/images/invest/unionpay-icon.png" class="w-32 h-32 self-center"
class="w-32 h-32 self-center" v-if="item.typedata === '银联'"
v-if="item.typedata === '银联'" />
/>
<view class="flex flex-col flex-1 justify-between ml-15"> <view class="flex flex-col flex-1 justify-between ml-15">
<view class="text-14 text-#333">{{ item.typedata }}</view> <view class="text-14 text-#333">{{ item.typedata }}</view>
<view class="text-12 text-#999">提现</view> <view class="text-12 text-#999">提现</view>
<view class="text-12 text-#999">{{ item.createtime }}</view> <view class="text-12 text-#999">{{ item.createtime }}</view>
</view>
<view class="flex flex-col items-end">
<view class="text-16 text-#FF5F5F">{{ item.money }}</view>
<view
class="text-14 mt-18 py-4 px-10 bg-#99999990 text-#fff"
v-if="Number(item.status) === 1"
>
审核中
</view> </view>
<view
<view class="flex flex-col items-end"> class="text-14 mt-18 py-4 px-10 bg-#71C78A1A text-#71C78A"
<view class="text-16 text-#FF5F5F">{{ item.money }}</view> v-if="Number(item.status) === 2"
<view >
class="text-14 mt-18 py-4 px-10 bg-#99999990 text-#fff" 提现成功
v-if="Number(item.status) === 1" </view>
> <view
审核中 class="text-14 mt-18 py-4 px-10 bg-#FF5F5F90 text-#fff"
</view> v-if="Number(item.status) === 3"
<view >
class="text-14 mt-18 py-4 px-10 bg-#71C78A1A text-#71C78A" 提现失败
v-if="Number(item.status) === 2"
>
提现成功
</view>
<view
class="text-14 mt-18 py-4 px-10 bg-#FF5F5F90 text-#fff"
v-if="Number(item.status) === 3"
>
提现失败
</view>
</view> </view>
</view> </view>
</template> </view>
<template v-else>
<wd-status-tip image="content" tip="暂无内容" />
</template>
</view> </view>
</template> </template>
+69 -39
View File
@@ -2,13 +2,13 @@
{ {
style: { style: {
navigationStyle: 'custom', navigationStyle: 'custom',
navigationBarTitleText: '流量提现', navigationBarTitleText: '提现',
}, },
} }
</route> </route>
<template> <template>
<view class="min-h-screen pb-100"> <view class="min-h-screen pb-100">
<NavBar title-color="#333"> <NavBar>
<template #right> <template #right>
<image <image
@click="onWithdrawalDetail" @click="onWithdrawalDetail"
@@ -17,14 +17,9 @@
/> />
</template> </template>
</NavBar> </NavBar>
<view <view class="p-15">
class="m-15 text-white flex rounded-tl-10 rounded-br-10 justify-between items-center p-15 bg-[linear-gradient(90deg,#E4C096,#BE805A)]"
>
<view class="text-14">流量余额</view>
<view class="text-17 font-bold">{{ userStore.userInfo?.money }}</view>
</view>
<view class="p-15 bg-white shadow-[0_-2px_3px_rgba(10,68,245,0.1)] rounded-10">
<view class="mt-15"> <view class="mt-15">
<view class="text-14 text-#333">提现金额</view>
<view <view
class="flex items-center text-14 mt-15 text-#333 p-16 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10" class="flex items-center text-14 mt-15 text-#333 p-16 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10"
> >
@@ -34,44 +29,56 @@
placeholder="请输入提现金额" placeholder="请输入提现金额"
class="text-14 text-#333 flex-1" class="text-14 text-#333 flex-1"
/> />
<view class="text-12 text-gradient" @click="form.money = userStore.userInfo?.money"> <view class="text-12 text-#04A9F9" @click="form.money = userStore.userInfo.money">
全部 全部
</view> </view>
</view> </view>
<view class="text-12 text-#889BC6 mt-15">当前余额{{ userStore.userInfo.money }}</view>
</view> </view>
<view class="mt-15">
<view class="py-15 text-18 text-#333">提现信息</view> <view class="mt-50">
<view class="bg-white rounded-10 px-15" style="box-shadow: 0px 0px 10px 0px #0a44f51a"> <view class="text-14 text-#333">收款方式</view>
<view class="flex items-center text-14 text-#333 py-25"> <view
<view class="">银行卡号</view> class="flex items-center text-14 mt-15 text-#333 p-16 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10"
<input class="text-14 text-#889BC6 text-right flex-1" placeholder="请输入银行卡号" /> @click="onSelectPayType"
</view> >
<view class="flex items-center text-14 text-#333 py-25"> <view class="flex-1">
<view class="">开户银行</view> {{ typeName ? `${typeName}${currentBank?.banknum}` : '请选择收款方式' }}
<input class="text-14 text-#889BC6 text-right flex-1" placeholder="请输入开户银行" />
</view> </view>
<wd-icon name="arrow-right" size="16px"></wd-icon>
</view>
</view>
<view class="mt-50">
<view class="text-14 text-#333">交易密码</view>
<view class="text-14 mt-15 text-#333 p-16 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10">
<input
v-model="form.tpassword"
type="password"
placeholder="请输入交易密码"
class="text-14 text-#333"
/>
</view> </view>
</view> </view>
</view> </view>
<view <view
class="bg-white fixed bottom-0 left-0 right-0 px-15 py-10 shadow-[0_0_10px_rgba(10,68,245,0.1)]" class="bg-white fixed bottom-0 left-0 right-0 px-15 py-10 shadow-[0_0_10px_rgba(10,68,245,0.1)]"
> >
<view class="pb-safe"> <view class="flex items-center pb-safe">
<view class="text-gradient flex-1 text-14">到账CNY:{{ form.money ?? '0' }}</view>
<view <view
class="btn-gradient text-center text-white rounded-full text-14 px-30 py-10" class="btn-gradient text-center text-white rounded-full text-14 px-30 py-10"
@click="onSubmit" @click="onSubmit"
> >
立即提现 申请提现
</view> </view>
</view> </view>
</view> </view>
<WithdrawalTaxPopup ref="withdrawalTaxPopupRef" @submit="onTaxSubmit" />
</view> </view>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import WithdrawalTaxPopup from '@/components/WithdrawalTaxPopup.vue'
import { submitWithdrawalAPI } from '@/service' import { submitWithdrawalAPI } from '@/service'
import { useUserStore } from '@/store' import { useUserStore } from '@/store'
import { showModal } from '@/utils' import { showModal } from '@/utils'
@@ -80,6 +87,8 @@ const userStore = useUserStore()
const form = ref({ const form = ref({
money: '', money: '',
bankid: '6',
tpassword: '',
}) })
const onWithdrawalDetail = () => { const onWithdrawalDetail = () => {
@@ -88,24 +97,45 @@ const onWithdrawalDetail = () => {
}) })
} }
const withdrawalTaxPopupRef = ref(null) const typeName = computed(() => {
const onSubmit = async () => { return ['支付宝', '微信', '银行卡'][Number(unref(currentBank)?.typedata) - 1]
// if (!form.value.money) { })
// return uni.showToast({
// title: '请输入提现金额',
// icon: 'none',
// })
// }
// await showModal('确认提现?') const currentBank = ref<any>(null)
// await submitWithdrawalAPI(form.value) const onSelectPayType = () => {
// await showModal('提交成功') uni.$once('withdrawal-type', (data: any) => {
// onWithdrawalDetail() form.value.bankid = data.id
withdrawalTaxPopupRef.value.onShowPopup() console.log(data)
currentBank.value = data
})
uni.navigateTo({
url: '/pages-sub/withdrawal-type/index?type=select',
})
} }
function onTaxSubmit(item) { const onSubmit = async () => {
console.log(item) if (!form.value.money) {
return uni.showToast({
title: '请输入提现金额',
icon: 'none',
})
}
if (!form.value.bankid) {
return uni.showToast({
title: '请选择收款方式',
icon: 'none',
})
}
if (!form.value.tpassword) {
return uni.showToast({
title: '请输入交易密码',
icon: 'none',
})
}
await showModal('确认提现?')
await submitWithdrawalAPI(form.value)
await showModal('提交成功')
onWithdrawalDetail()
} }
</script> </script>
+11 -78
View File
@@ -15,7 +15,7 @@
}, },
"tabBar": { "tabBar": {
"color": "#999999", "color": "#999999",
"selectedColor": "#BE805A", "selectedColor": "#0E57A2",
"backgroundColor": "#ffffff", "backgroundColor": "#ffffff",
"borderStyle": "#E7E7E7", "borderStyle": "#E7E7E7",
"height": "56px", "height": "56px",
@@ -35,12 +35,6 @@
"pagePath": "pages/invite/index", "pagePath": "pages/invite/index",
"text": "邀请好友" "text": "邀请好友"
}, },
{
"iconPath": "static/tabbar/invest.png",
"selectedIconPath": "static/tabbar/investHL.png",
"pagePath": "pages/invest/index",
"text": "房产集团"
},
{ {
"iconPath": "static/tabbar/personal.png", "iconPath": "static/tabbar/personal.png",
"selectedIconPath": "static/tabbar/personalHL.png", "selectedIconPath": "static/tabbar/personalHL.png",
@@ -55,7 +49,7 @@
"type": "home", "type": "home",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "云房产" "navigationBarTitleText": "首页"
} }
}, },
{ {
@@ -65,21 +59,21 @@
"navigationBarTitleText": "忘记密码", "navigationBarTitleText": "忘记密码",
"navigationStyle": "custom" "navigationStyle": "custom"
}, },
"notNeedLogin": true "notNeedLogin": false
}, },
{ {
"path": "pages/invest/index", "path": "pages/invest/index",
"type": "page", "type": "page",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "房产集团" "navigationBarTitleText": "投资理财"
} }
}, },
{ {
"path": "pages/invite/index", "path": "pages/invite/index",
"type": "page", "type": "page",
"style": { "style": {
"navigationBarTitleText": "邀请福利", "navigationBarTitleText": "邀请好友",
"navigationBarBackgroundColor": "#fff", "navigationBarBackgroundColor": "#fff",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
@@ -91,7 +85,7 @@
"navigationBarTitleText": "登录", "navigationBarTitleText": "登录",
"navigationStyle": "custom" "navigationStyle": "custom"
}, },
"notNeedLogin": true "notNeedLogin": false
}, },
{ {
"path": "pages/my/index", "path": "pages/my/index",
@@ -108,7 +102,7 @@
"navigationBarTitleText": "注册", "navigationBarTitleText": "注册",
"navigationStyle": "custom" "navigationStyle": "custom"
}, },
"notNeedLogin": true "notNeedLogin": false
} }
], ],
"subPackages": [ "subPackages": [
@@ -119,16 +113,7 @@
"path": "asset/index", "path": "asset/index",
"type": "page", "type": "page",
"style": { "style": {
"navigationBarTitleText": "资金明细", "navigationBarTitleText": "我的资产",
"navigationBarBackgroundColor": "#fff",
"navigationStyle": "custom"
}
},
{
"path": "asset-detail/index",
"type": "page",
"style": {
"navigationBarTitleText": "股权流量提现明细",
"navigationBarBackgroundColor": "#fff" "navigationBarBackgroundColor": "#fff"
} }
}, },
@@ -147,21 +132,6 @@
"navigationBarTitleText": "分包页面 标题" "navigationBarTitleText": "分包页面 标题"
} }
}, },
{
"path": "equity-withdrawal/index",
"type": "page",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "股权提现"
}
},
{
"path": "hot-news/index",
"type": "page",
"style": {
"navigationBarTitleText": "热点新闻"
}
},
{ {
"path": "introduction/index", "path": "introduction/index",
"type": "page", "type": "page",
@@ -175,8 +145,7 @@
"type": "page", "type": "page",
"style": { "style": {
"navigationBarTitleText": "投资记录", "navigationBarTitleText": "投资记录",
"navigationBarBackgroundColor": "#fff", "navigationBarBackgroundColor": "#fff"
"navigationStyle": "custom"
} }
}, },
{ {
@@ -208,26 +177,11 @@
"path": "lottery/index", "path": "lottery/index",
"type": "page", "type": "page",
"style": { "style": {
"navigationBarTitleText": "抽奖", "navigationBarTitleText": "转盘抽奖",
"navigationBarBackgroundColor": "#fff", "navigationBarBackgroundColor": "#fff",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{
"path": "my-room-certificate/index",
"type": "page",
"style": {
"navigationBarTitleText": "我的房产"
}
},
{
"path": "news/index",
"type": "page",
"style": {
"navigationBarTitleText": "最新时讯",
"navigationStyle": "custom"
}
},
{ {
"path": "news-detail/index", "path": "news-detail/index",
"type": "page", "type": "page",
@@ -253,27 +207,6 @@
"navigationBarBackgroundColor": "#fff" "navigationBarBackgroundColor": "#fff"
} }
}, },
{
"path": "room-certificate/index",
"type": "page",
"style": {
"navigationBarTitleText": "红本房产证"
}
},
{
"path": "room-mail/index",
"type": "page",
"style": {
"navigationBarTitleText": "房本邮寄"
}
},
{
"path": "room-transfer/index",
"type": "page",
"style": {
"navigationBarTitleText": "房产过户"
}
},
{ {
"path": "team/index", "path": "team/index",
"type": "page", "type": "page",
@@ -288,7 +221,7 @@
"type": "page", "type": "page",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "流量提现" "navigationBarTitleText": "提现"
} }
}, },
{ {
+60 -55
View File
@@ -4,78 +4,49 @@
navigationBarTitleText: '忘记密码', navigationBarTitleText: '忘记密码',
navigationStyle: 'custom', navigationStyle: 'custom',
}, },
notNeedLogin: true, notNeedLogin: false,
} }
</route> </route>
<template> <template>
<view class="login-container pb-50 relative"> <view class="login-container relative">
<NavBar /> <NavBar />
<view class="pt-45"> <view class="pt-45">
<view class="mx-15 px-15 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10"> <view class="mx-15 px-15 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10">
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<image class="w-24 h-24" src="@/static/images/login/phone.png" mode="aspectFit" /> <image class="w-24 h-24" src="@/static/images/login/phone.png" mode="aspectFit" />
<input <input
v-model="form.account"
@blur="handleBlur"
type="text" type="text"
placeholder-class="text-#889BC6" placeholder-class="text-#889BC6"
class="text-right flex-1 text-14" class="text-right flex-1 text-14"
placeholder="请输入用户名" placeholder="请输入手机号"
/> />
</view> </view>
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<image class="w-24 h-24" src="@/static/images/login/message.png" mode="aspectFit" /> <image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input <input
placeholder-class="text-#889BC6"
type="password"
v-model="form.newpassword"
class="text-right flex-1 text-14"
placeholder="请输入新密码"
/>
</view>
<view class="flex items-center py-15" v-if="form.nosuth">
<image class="w-24 h-24" src="@/static/images/login/invite.png" mode="aspectFit" />
<input
v-model="form.cardnum"
placeholder-class="text-#889BC6"
type="text" type="text"
placeholder-class="text-#889BC6"
class="text-right flex-1 text-14" class="text-right flex-1 text-14"
placeholder="请输入短信验证码" placeholder="请输入身份证号"
/>
<view
class="py-6 rounded-full ml-15 px-15 text-12 text-white btn-gradient text-14 text-#889BC6"
@click="handleGetCode"
>
获取验证码
</view>
</view>
<view class="flex items-center py-15">
<image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input
placeholder-class="text-#889BC6"
type="password"
class="text-right flex-1 text-14"
placeholder="请输入登录密码"
/>
</view>
<view class="flex items-center py-15">
<image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input
placeholder-class="text-#889BC6"
type="password"
class="text-right flex-1 text-14"
placeholder="请再次输入登录密码"
/>
</view>
<view class="flex items-center py-15">
<image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input
placeholder-class="text-#889BC6"
type="password"
class="text-right flex-1 text-14"
placeholder="请输入支付密码"
/>
</view>
<view class="flex items-center py-15">
<image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input
placeholder-class="text-#889BC6"
type="password"
class="text-right flex-1 text-14"
placeholder="请再次输入支付密码"
/> />
</view> </view>
</view> </view>
<view <view
class="mt-50 text-center py-12 rounded-full mx-15 text-15 text-white btn-gradient" class="mt-50 text-center py-12 rounded-full mx-15 text-15 text-white btn-gradient"
@click="handleRegister" @click="handleSubmit"
> >
确认 确认
</view> </view>
@@ -86,19 +57,52 @@
<script lang="ts" setup> <script lang="ts" setup>
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import { isLogged } from '@/interceptors/route' import { isLogged } from '@/interceptors/route'
import { editPasswordFirstAPI, editPasswordSecondAPI } from '@/service'
import { useUserStore } from '@/store/user' import { useUserStore } from '@/store/user'
import { showModal } from '@/utils'
const userStore = useUserStore() const userStore = useUserStore()
const form = ref({
account: '',
newpassword: '',
cardnum: '',
nosuth: 0,
})
let redirect = '/' let redirect = '/'
onLoad((options) => { onLoad((options) => {
redirect = options.redirect ?? '/' redirect = options.redirect ?? '/'
}) })
const handleRegister = () => { async function handleBlur() {
userStore.setUserInfo({ const account = form.value.account
token: '123456', if (account) {
}) const { data } = await editPasswordFirstAPI({
account,
})
form.value.nosuth = data?.nosuth ?? 0
}
}
const handleSubmit = async () => {
if (!form.value.account || !form.value.newpassword) {
uni.showToast({
title: '请填写完整信息',
icon: 'none',
})
return
}
if (form.value.nosuth) {
if (!form.value.cardnum) {
uni.showToast({
title: '请填写身份证号',
icon: 'none',
})
return
}
}
await editPasswordSecondAPI(form.value)
await showModal('修改成功')
uni.reLaunch({ uni.reLaunch({
url: redirect, url: redirect,
}) })
@@ -112,11 +116,12 @@ onLoad(() => {
}) })
</script> </script>
<style lang="scss" scoped> <style lang="scss">
.login-container { .login-container {
box-sizing: border-box; box-sizing: border-box;
min-height: 100vh; min-height: 100vh;
background-image: url('@/static/images/login-bg.jpg'); padding-bottom: 50px;
background-image: url('@/static/images/login-bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
} }
+81 -105
View File
@@ -3,99 +3,109 @@
{ {
style: { style: {
navigationStyle: 'custom', navigationStyle: 'custom',
navigationBarTitleText: '云房产', navigationBarTitleText: '首页',
}, },
} }
</route> </route>
<template> <template>
<view class="home-page pb-50"> <view class="home-page">
<NavBar /> <NavBar />
<image
<view class="mx-auto block w-345 h-170 mt-15 rounded-10 overflow-hidden"
class="flex bg-white py-15 rounded-10 mx-15 mb-15 mt-280 border-2 border-white border-solid" src="@/static/images/home/main-bg.png"
style="box-shadow: 0px 4px 10px 0px #cbcbcb4d" mode="aspectFill"
> />
<view class="flex-1 flex flex-col items-center" @click="handleInvite"> <view class="flex bg-#F5F9FF py-15 rounded-10 m-15 border-2 border-white border-solid">
<view class="flex-1 flex flex-col items-center" @click="handleIntroduction">
<image class="w-30 h-30" src="@/static/images/home/nav-1.png" mode="aspectFill" /> <image class="w-30 h-30" src="@/static/images/home/nav-1.png" mode="aspectFill" />
<text class="mt-8 text-14 text-#333">邀请好友</text> <text class="mt-8 text-14 text-#333">简介</text>
</view>
<!-- <view class="flex-1 flex flex-col items-center" @click="handleInvite">
<image class="w-30 h-30" src="@/static/images/home/nav-2.png" mode="aspectFill" />
<text class="mt-8 text-14 text-#333">抽奖转盘</text>
</view> -->
<view class="flex-1 flex flex-col items-center" @click="handleReward">
<image class="w-30 h-30" src="@/static/images/home/nav-2.png" mode="aspectFill" />
<text class="mt-8 text-14 text-#333">奖励制度</text>
</view> </view>
<view class="flex-1 flex flex-col items-center" @click="handleDownload"> <view class="flex-1 flex flex-col items-center" @click="handleDownload">
<image class="w-30 h-30" src="@/static/images/home/nav-4.png" mode="aspectFill" />
<text class="mt-8 text-14 text-#333">下载APP</text>
</view>
<view class="flex-1 flex flex-col items-center" @click="handleLottery">
<image class="w-30 h-30" src="@/static/images/home/nav-2.png" mode="aspectFill" /> <image class="w-30 h-30" src="@/static/images/home/nav-2.png" mode="aspectFill" />
<text class="mt-8 text-14 text-#333">抽奖福利</text> <text class="mt-8 text-14 text-#333">下载APP</text>
</view> </view>
<view class="flex-1 flex flex-col items-center" @click="handleOfficialCommunity"> <view class="flex-1 flex flex-col items-center" @click="handleOfficialCommunity">
<image class="w-30 h-30" src="@/static/images/home/nav-3.png" mode="aspectFill" /> <image class="w-30 h-30" src="@/static/images/home/nav-3.png" mode="aspectFill" />
<text class="mt-8 text-14 text-#333">在线客服</text> <text class="mt-8 text-14 text-#333">官方社群</text>
</view> </view>
</view> </view>
<view class="text-30 text-gradient my-30 text-center font-bold">云房产集团</view> <view class="flex bg-white py-8 px-15 rounded-10 m-15 items-center">
<view class="text-14 text-#333">系统公告</view>
<view class="flex-1">
<wd-notice-bar
color="#999999"
background-color="transparent"
:text="announcementList.map((item) => item.name)"
/>
</view>
</view>
<view class="bg-white w-345 mx-auto rounded-10"> <view class="bg-white py-15 px-15 rounded-10 m-15">
<view class="text-14 text-#333">热点新闻</view>
<view <view
class="mt-15" class="flex mt-15"
v-for="item in hotNewsList" v-for="item in newsList"
:key="item.id" :key="item.id"
@click="handleNewsDetail(item.id)" @click="handleNewsDetail(item.id)"
> >
<image class="w-345 h-207 rounded-10" :src="item.image" mode="aspectFill" /> <image class="w-85 h-85 rounded-10" :src="item.image" mode="aspectFill" />
<view class="mt-10 flex-1 flex flex-col justify-between"> <view class="ml-15 flex-1 flex flex-col justify-between">
<view class="text-14 text-#666">{{ item.name }}</view> <view text-14>{{ item.name }}</view>
<!-- <view class="text-12 text-#999">{{ item.source }}</view> --> <view class="text-12 text-#999">{{ item.source }}</view>
</view> </view>
</view> </view>
</view> </view>
<wd-popup :lockScroll="false" v-model="showNotice" custom-style="border-radius:0.2rem;"> <wd-popup
<view class="px-30 py-30 w-330 h-457 notice-container rounded-20 flex flex-col"> v-model="showRealName"
<view class="text-18 font-bold pb-15 text-center">系统公告</view> custom-style="border-radius:0.2rem;"
<view class="py-15 flex-1 overflow-y-auto"> :close-on-click-modal="false"
<view lockScroll
v-for="(item, index) in announcementList" >
:key="item.id" <image
class="border-b-1 border-b-gray-300 border-b-solid py-15" class="w-300 h-416"
> src="@/static/images/realname-popup.jpeg"
<view class="whitespace-nowrap text-14 font-bold text-gradient text-center"> mode="widthFix"
公告{{ ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十'][index] }} @click="handleRealName"
</view> />
<view class="mt-12 text-14 text-#333 flex-1" v-html="item.content"></view> </wd-popup>
</view> <wd-popup closable v-model="showReward" custom-style="border-radius:0.2rem;">
</view> <image
<view class="w-300 h-416"
@click="showNotice = false" src="@/static/images/reward-bg.jpg"
class="btn-gradient rounded-full text-center text-14 text-white py-8 mt-15" mode="widthFix"
> @click="showReward = false"
确定 />
</view>
</view>
</wd-popup> </wd-popup>
</view> </view>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import Avatar from '@/components/Avatar.vue'
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import { import { downloadAppAPI, getIntroductionAPI, getRealNameAuthAPI } from '@/service'
downloadAppAPI,
getIntroductionAPI,
getOpenPersonalAccountAPI,
getRealNameAuthAPI,
} from '@/service'
import { useUserStore } from '@/store'
import { showModal } from '@/utils' import { showModal } from '@/utils'
defineOptions({ defineOptions({
name: 'Home', name: 'Home',
}) })
// 热门咨询 const { list: newsList } = useListPageRequest((params) =>
const { list: hotNewsList } = useListPageRequest((params) =>
getIntroductionAPI({ type: 1, ...params }), getIntroductionAPI({ type: 1, ...params }),
) )
// 系统公告
const { list: announcementList } = useListPageRequest((params) =>
getIntroductionAPI({ type: 2, ...params }),
)
const handleIntroduction = () => { const handleIntroduction = () => {
uni.navigateTo({ uni.navigateTo({
url: '/pages-sub/introduction/index', url: '/pages-sub/introduction/index',
@@ -109,7 +119,7 @@ const handleNewsDetail = (id: number) => {
} }
const handleInvite = () => { const handleInvite = () => {
uni.switchTab({ uni.navigateTo({
url: '/pages/invite/index', url: '/pages/invite/index',
}) })
} }
@@ -120,70 +130,36 @@ const handleOfficialCommunity = () => {
}) })
} }
const handleLottery = () => {
uni.navigateTo({ url: '/pages-sub/lottery/index' })
}
const handleDownload = () => { const handleDownload = () => {
downloadAppAPI() downloadAppAPI()
} }
const showReward = ref(false)
const showNotice = ref(false) const handleReward = () => {
showReward.value = true
const handleNews = () => {
uni.navigateTo({
url: '/pages-sub/news/index',
})
} }
const handleHotNews = () => { const showRealName = ref(false)
const handleRealName = () => {
uni.navigateTo({ uni.navigateTo({
url: '/pages-sub/hot-news/index', url: '/pages-sub/realname/index',
}) })
showRealName.value = false
} }
// 系统公告 onShow(async () => {
const { list: announcementList } = useListPageRequest((params) => const res = await getRealNameAuthAPI()
getIntroductionAPI({ type: 2, ...params }), if (!res.data) {
) uni.hideTabBar()
// 最新时讯 showRealName.value = true
const { list: newsList } = useListPageRequest((params) =>
getIntroductionAPI({ type: 3, ...params }),
)
watch(
() => announcementList.value.length,
(newVal) => {
if (newVal > 0) {
showNotice.value = true
}
},
)
onShow(() => {
if (announcementList.value.length) {
showNotice.value = true
} }
}) })
const userStore = useUserStore()
const handleOpenAccount = async () => {
await getOpenPersonalAccountAPI()
await showModal('开通个人养老账户成功')
userStore.loadUserInfo()
// showModal('开通个人养老账户时,需邀请一名用户')
}
</script> </script>
<style scoped> <style>
.home-page { .home-page {
min-height: 100vh; min-height: 100vh;
background-image: url('@/static/images/home/bg.jpg'); padding-bottom: 50px;
background-repeat: no-repeat; background-image: url('@/static/images/bg.png');
background-position: top;
background-size: 100%;
}
.notice-container {
background-image: url('@/static/images/home/notice-bg.jpg');
background-position: top; background-position: top;
background-size: cover; background-size: cover;
} }
+71 -104
View File
@@ -3,111 +3,87 @@
{ {
style: { style: {
navigationStyle: 'custom', navigationStyle: 'custom',
navigationBarTitleText: '房产集团', navigationBarTitleText: '投资理财',
}, },
} }
</route> </route>
<template> <template>
<view class="invest-page"> <view class="invest-page">
<!-- <NavBar title-color="#46200B" /> --> <NavBar>
<template #right>
<view @click="onGoInvestDetail" class="text-14 text-#486CCF">投资明细</view>
</template>
</NavBar>
<view class="flex mt-30 flex-col mx-15 rounded-10 px-40 py-32 main-content">
<view class="text-14 text-#6784C7">我的投资金</view>
<view class="text-35 leading-35 mt-10 text-#BE7143 font-bold">
{{ userStore.userInfo?.money }}
</view>
</view>
<view class="pt-150"> <view class="mt-100">
<view <view
v-for="item in investmentList" v-for="item in investmentList"
:key="item.id" :key="item.id"
class="p-15 bg-white rounded-20 mx-auto w-345 relative mb-15" class="invest-item relative flex flex-col items-center pt-15"
> >
<view class="flex"> <view class="text-15 text-#3F88F6">{{ item.name }}</view>
<image <view class="flex w-full mt-15">
class="rounded-10 w-100 h-100"
mode="aspectFill"
:src="getImageUrl(item.leftimage)"
/>
<view class="flex-1 ml-15">
<view class="text-15 text-#333 font-bold">{{ item.name }}</view>
<view class="w-200 flex flex-wrap items-center mt-5">
<view
class="px-14 mr-5 mb-5 py-2 whitespace-nowrap text-12 text-#D6A165 rounded-2 bg-#FFEBD4"
v-for="(tag, index) in item.labeltag.split(',')"
:key="tag"
:class="{
'!text-#3B81F3 !bg-#D4E8FF': index % 2 === 1,
}"
>
{{ tag }}
</view>
</view>
<view class="text-12 mt-15 text-#999" v-html="item.content"></view>
</view>
</view>
<view class="flex items-center mt-15">
<view class="flex-1 text-center"> <view class="flex-1 text-center">
<view class="text-15 text-#FF3B30">100~150²m</view> <view class="text-22 text-#333 font-bold">{{ item.money }}</view>
<view class="text-12 mt-4 text-blue-red">投资金额</view>
</view> </view>
<view class="text-#D9D9D9">|</view>
<view class="flex-1 text-center"> <view class="flex-1 text-center">
<view class="text-15 text-#FF3B30">仅剩4969套</view> <view class="text-22 text-#FF3B30 font-bold">{{ item.dividend }}</view>
<view class="text-12 mt-4 text-blue-red">每日分红</view>
</view> </view>
</view> </view>
<view <view
class="mt-15 px-30 text-center text-15 text-white rounded-full py-8 btn-gradient" class="text-center px-50 absolute bottom-0 left-0 text-12 text-#fff rounded-full py-8 bg-blue-red"
@click="onInvest(item)" @click="onInvest(item)"
> >
免费领取 立即投资
</view>
<view
class="text-center px-16 absolute bottom-13 right-33 text-12 text-#fff rounded-br-10 rounded-tl-10 py-4 bg-blue-red"
>
{{ item.label }}
</view> </view>
</view> </view>
</view> </view>
<wd-popup <wd-action-sheet v-model="showPayType" :panels="panels" @select="onSelectPayType" />
v-model="showRightConfig.show"
:title="`${showRightConfig.data?.name}权益`"
custom-style="border-radius: 0.2rem"
>
<view>
<image
class="w-345 h-345"
:src="getImageUrl(showRightConfig.data?.rightimage)"
mode="widthFix"
/>
</view>
</wd-popup>
</view> </view>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import AlipayIcon from '@/static/images/invest/alipay-icon.png'
import WechatIcon from '@/static/images/invest/wechat-icon.png'
import UnionpayIcon from '@/static/images/invest/unionpay-icon.png'
import { getInvestmentListAPI, submitInvestAPI } from '@/service' import { getInvestmentListAPI, submitInvestAPI } from '@/service'
import { useUserStore } from '@/store' import { useUserStore } from '@/store'
import { getImageUrl, mergeStep, showModal } from '@/utils' import { mergeStep, showModal } from '@/utils'
defineOptions({ defineOptions({
name: 'Home', name: 'Home',
}) })
const showPayType = ref(false)
const tabList = [ const panels = ref([
{ {
value: 1, iconUrl: WechatIcon,
title: '养老', title: '微信支付',
}, },
{ {
value: 2, iconUrl: AlipayIcon,
title: '医疗', title: '支付宝支付',
}, },
] {
const tabValue = ref(1) iconUrl: UnionpayIcon,
title: '银联支付',
const { list: investmentList, onReload } = useListPageRequest((params) =>
getInvestmentListAPI({
...params,
type: tabValue.value,
}),
)
watch(
() => tabValue.value,
() => {
onReload()
}, },
) ])
const { list: investmentList } = useListPageRequest(getInvestmentListAPI)
const userStore = useUserStore() const userStore = useUserStore()
@@ -117,59 +93,50 @@ const onGoInvestDetail = () => {
}) })
} }
const showRightConfig = ref({ const onSelectPayType = ({ item, index }: any) => {
show: false, console.log(item, index)
data: null, alert(item.title)
})
watch(
() => showRightConfig.value.show,
(val) => {
if (!val) {
showRightConfig.value.data = null
}
},
)
const onShowRights = (item: any) => {
showRightConfig.value = {
show: true,
data: item,
}
} }
const onInvest = mergeStep(async (item: any) => { const onInvest = mergeStep(async (item: any) => {
try { await showModal('确认投资?')
await submitInvestAPI({ await submitInvestAPI({
investid: item.id, investid: item.id,
type: 3, type: 3,
}) })
} catch (error) {
if (error?.data?.msg.includes('邀请')) {
return uni.switchTab({
url: '/pages/invite/index',
})
}
return
}
await userStore.loadUserInfo() await userStore.loadUserInfo()
uni.showToast({ uni.showToast({
title: tabValue.value === 2 ? '投保成功' : '投资成功', title: '投资成功',
icon: 'none', icon: 'none',
}) })
}) })
</script> </script>
<style scoped> <style>
.invest-page { .invest-page {
min-height: 100vh; min-height: 100vh;
padding-bottom: 100px; padding-bottom: 100px;
background-color: #3e2417; background-color: #ebbf92;
background-image: url('@/static/images/invest/bg.jpg'); background-image: url('@/static/images/invest/bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: top; background-attachment: fixed;
background-position: top -40px center;
background-size: 100%;
}
.invest-item {
width: 345px;
height: 176px;
margin: 0 auto 15px;
background-image: url('@/static/images/invest/item-bg.png');
background-repeat: no-repeat;
background-position: center;
background-size: 100%; background-size: 100%;
} }
.main-content { .main-content {
background: linear-gradient(90deg, #71a4f8 0%, #3b81f3 103.83%); background-image: url('@/static/images/invest/main-bg.png');
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
} }
.bg-blue-red { .bg-blue-red {
background-image: linear-gradient(90.02deg, #8bb9ff 0.02%, #be4343 100.27%); background-image: linear-gradient(90.02deg, #8bb9ff 0.02%, #be4343 100.27%);
+31 -166
View File
@@ -1,7 +1,7 @@
<route lang="json5"> <route lang="json5">
{ {
style: { style: {
navigationBarTitleText: '邀请福利', navigationBarTitleText: '邀请好友',
navigationBarBackgroundColor: '#fff', navigationBarBackgroundColor: '#fff',
navigationStyle: 'custom', navigationStyle: 'custom',
}, },
@@ -12,190 +12,56 @@
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import VueQrcode from '@chenfengyuan/vue-qrcode' import VueQrcode from '@chenfengyuan/vue-qrcode'
import { useUserStore } from '@/store' import { useUserStore } from '@/store'
import Avatar from '@/components/Avatar.vue'
import {
getCommunityInviteFirstAPI,
getCommunityInviteRewardAPI,
getCommunityMyInviteAPI,
} from '@/service'
import { showModal } from '@/utils'
const userStore = useUserStore() const userStore = useUserStore()
const qrcodeValue = const qrcodeValue =
location.origin + '/#/pages/register/index?invite_code=' + userStore.userInfo?.invitecode location.origin + '/#/pages/register/index?invite=' + userStore.userInfo?.invitecode
const onCopy = (code: string) => { const onCopy = (code: string) => {
uni.setClipboardData({ uni.setClipboardData({
data: code, data: code,
}) })
} }
const inviteData = ref({ const onLottery = () => {
num: 0, uni.navigateTo({
performance: 0, url: '/pages-sub/lottery/index',
})
const { list } = useListPageRequest((params) => {
return getCommunityMyInviteAPI(params).then((res) => {
inviteData.value.num = res.data.num
inviteData.value.performance = res.data.performance
res.data.data = res.data.list
return res.data
}) })
})
const inviteInfo = ref<any>(null)
const loadInviteInfo = async () => {
const { data } = await getCommunityInviteFirstAPI()
inviteInfo.value = data
// inviteInfo.value = {
// num: 10,
// isuserauth: 1,
// realrewards: '200',
// jianglitiaojian: {
// '10': '3000',
// '20': '5000',
// '30': '15000',
// '40': '30000',
// '50': '50000',
// },
// open: 1,
// }
}
onShow(async () => {
await loadInviteInfo()
})
const taskList = computed(() => {
if (!inviteInfo.value) return []
// const inviteTask = Object.keys(inviteInfo.value.jianglitiaojian)
// const inviteTaskList = inviteTask.map((key) => ({
// title: `邀请${key}人(${inviteInfo.value.num}/${key})`,
// desc: `每月额外领取${inviteInfo.value.jianglitiaojian[key]}元社保金`,
// level: key,
// status: Number(inviteInfo.value.num) >= Number(key),
// open: false,
// }))
// // 查找最后一个完成的任务,并设置open为true
// const lastCompletedTask = inviteTaskList.findLast((item) => item.status)
// if (lastCompletedTask) {
// lastCompletedTask.open = inviteInfo.value.open
// }
return [
{
title: '注册实名',
desc: `领取${inviteInfo.value.realrewards}元社保金`,
// status: inviteInfo.value.isuserauth,
status: false,
open: false,
},
// {
// title: '签到有礼',
// desc: `每日签到送${inviteInfo.value.qiandaojiang}元社保金`,
// status: false,
// open: false,
// },
{
title: '邀请有礼',
desc: `每邀请1人并实名认证获得${inviteInfo.value.yaoqingjiang}元养老金`,
status: 0,
open: false,
},
// ...inviteTaskList,
]
})
async function onGetReward(level) {
await getCommunityInviteRewardAPI({ level })
showModal('领取成功')
await loadInviteInfo()
} }
</script> </script>
<template> <template>
<view class="pb-100 min-h-screen invite-page"> <view class="pb-100 min-h-screen invite-page">
<NavBar title-color="#46200B" /> <NavBar />
<view class="flex items-center mt-260 mx-auto w-345 bg-#FFFFFFE5 p-15 rounded-20"> <view class="flex justify-center mt-80">
<view class="text-center"> <view class="text-white btn-gradient rounded-full px-30 py-10 text-14">邀请好友</view>
<view class="mt-15 rounded-10 overflow-hidden flex bg-#FFFFFF50 p-10 shadow"> <!-- <view class="ml-15 bg-white rounded-full px-30 py-10 text-14" @click="onLottery">
<VueQrcode <text class="text-gradient">幸运大转盘</text>
class="!w-100 !h-100 rounded-10" </view> -->
:value="qrcodeValue"
:options="{ size: 200 }"
/>
</view>
<view class="text-10 text-#333 mt-4">分享二维码给好友</view>
</view>
<view class="text-center p-15">
<view class="text-14 text-#333">邀请码{{ userStore.userInfo?.invitecode }}</view>
<view
class="mt-8 btn-gradient text-white rounded-full px-15 w-160 py-8 text-14 text-center"
@click="onCopy(userStore.userInfo?.invitecode)"
>
复制邀请码
</view>
<view
class="mt-8 btn-gradient text-white rounded-full px-15 w-160 py-8 text-14 text-center"
@click="onCopy(qrcodeValue)"
>
复制推广链接
</view>
</view>
</view> </view>
<view class="mt-70 w-345 mx-auto"> <view class="flex flex-col items-center mt-180">
<view <view
class="bg-#F3F8FF rounded-10 border-#BE805A border-2 border-solid p-15 flex items-start" class="flex items-center text-16 text-#333 bg-[rgba(255,255,255,0.8)] rounded-full px-15 py-4 text-12 mt-8"
v-for="item of taskList"
:key="item.title"
> >
<view class="flex-1">
<view class="text-15 text-#333 font-500">{{ item.title }}</view>
<!-- <view class="text-12 text-#333 mt-8">{{ item.desc }}</view> -->
<view class="text-12 text-#333 mt-8">
赠送25000碧桂园股权
<br />
价值2500000万流量补贴30元
<br />
砸金蛋机会1次
</view>
</view>
<view> <view>
<view 邀请码
class="w-fit ml-auto mr-0 bg-#C4F7C4 rounded-4 px-10 py-4 leading-12 text-#62C162 text-12 mb-8" <text class="font-bold">{{ userStore.userInfo?.invitecode }}</text>
v-if="item.status" </view>
> <view
已完成 class="btn-gradient text-white rounded-full px-15 py-4 text-12 ml-10"
</view> @click="onCopy('99999')"
<view >
class="w-fit ml-auto mr-0 bg-#F3CB3B33 rounded-4 px-10 py-4 leading-12 text-#FFA600 text-12" 复制
v-if="item.open"
@click="onGetReward(item.level)"
>
领取社保金
</view>
</view> </view>
</view> </view>
</view> <view class="mt-15 rounded-10 overflow-hidden flex">
<view class="mt-15 w-345 mx-auto"> <VueQrcode :value="qrcodeValue" :options="{ size: 200 }" />
<view class="ml-15 text-18 text-white">团队成员{{ inviteData.num }}/</view> </view>
<view class="mt-15 bg-white px-15 pt-15 pb-4 rounded-10" v-for="item of list" :key="item.id"> <view
<view class="flex items-center"> class="btn-gradient text-white rounded-full text-14 px-30 py-8 mt-30"
<Avatar :src="item.avatar" class="w-50 h-50" mode="aspectFill" /> @click="onCopy(qrcodeValue)"
<view class="ml-15 flex-1"> >
<view class="text-15 text-#333">{{ item.nickname }}</view> 复制邀请链接
<view class="text-12 text-#333 mt-10">{{ item.jointime }}</view>
</view>
</view>
<view class="flex mt-16 py-8">
<view class="flex-1 text-center">
<view class="text-gradient">{{ item.yiliao }}</view>
<view class="text-15 text-#333">医疗</view>
</view>
<view class="flex-1 text-center">
<view class="text-gradient">{{ item.yanglao }}</view>
<view class="text-15 text-#333">养老</view>
</view>
</view>
</view> </view>
</view> </view>
</view> </view>
@@ -203,10 +69,9 @@ async function onGetReward(level) {
<style lang="scss" scoped> <style lang="scss" scoped>
.invite-page { .invite-page {
background-color: #3d2316; background-image: url('@/static/images/page-sub/invite-bg.png');
background-image: url('@/static/images/page-sub/invite-bg.jpg');
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: top -40px center; background-position: top;
background-size: 100%; background-size: 100%;
} }
</style> </style>
+28 -54
View File
@@ -4,56 +4,41 @@
navigationBarTitleText: '登录', navigationBarTitleText: '登录',
navigationStyle: 'custom', navigationStyle: 'custom',
}, },
notNeedLogin: true, notNeedLogin: false,
} }
</route> </route>
<template> <template>
<view class="login-container relative pt-220"> <view class="login-container relative">
<!-- <NavBar title-color="#333" /> --> <NavBar />
<!-- <view class="text-28 pl-32 text-gradient" style="-webkit-background-clip: text">登录</view> --> <view class="mt-44 text-28 pl-32 text-gradient" style="-webkit-background-clip: text">
<view class="py-45 bg-white mx-15 rounded-10"> 登录
<view class="mx-15 px-15"> </view>
<view class="pt-45">
<view class="mx-15 px-15 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10">
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<view class="text-gradient">手机号</view> <image class="w-24 h-24" src="@/static/images/login/phone.png" mode="aspectFit" />
<input <input
type="text" type="text"
v-model="formData.mobile" v-model="formData.account"
placeholder-class="text-#889BC6" placeholder-class="text-#889BC6"
class="text-right flex-1 text-14" class="text-right flex-1 text-14"
placeholder="请输入手机号" placeholder="请输入手机号"
/> />
</view> </view>
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<view class="text-gradient">密码</view> <image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input <input
placeholder-class="text-#889BC6" placeholder-class="text-#889BC6"
type="password" type="password"
v-model="formData.password" v-model="formData.password"
class="text-right flex-1 text-14" class="text-right flex-1 text-14"
placeholder="请输入密码" placeholder="请输入登录密码"
/>
</view>
<view class="flex items-center py-15">
<view class="text-gradient">验证码</view>
<input
v-model="formData.verify_code"
placeholder-class="text-#889BC6"
type="text"
class="text-right flex-1 text-14"
placeholder="请输入验证码"
/>
<img
:src="codeUrl"
class="w-100 h-30 ml-15 bg-gray-400"
mode="widthFix"
@click="refreshCode"
/> />
</view> </view>
</view> </view>
<!-- <view class="ml-auto mr-0 w-fit text-gradient text-14 p-15" @click="handleEditPassword"> <view class="ml-auto mr-0 w-fit text-gradient text-14 p-15" @click="handleEditPassword">
忘记密码 忘记密码
</view> --> </view>
<view <view
class="mt-30 text-center py-12 rounded-full mx-15 text-15 text-white btn-gradient" class="mt-30 text-center py-12 rounded-full mx-15 text-15 text-white btn-gradient"
@click="handleLogin" @click="handleLogin"
@@ -77,42 +62,31 @@ import { useUserStore } from '@/store/user'
const userStore = useUserStore() const userStore = useUserStore()
const formData = ref({ const formData = ref({
mobile: '', account: '',
password: '', password: '',
verify_code: '',
}) })
const { codeUrl, codeKey, refreshCode } = useCaptcha()
let redirect = '/' let redirect = '/'
onLoad((options) => { onLoad((options) => {
redirect = options.redirect ?? '/' redirect = options.redirect ?? '/'
}) })
const handleLogin = async () => { const handleLogin = async () => {
if (!formData.value.mobile || !formData.value.password) { if (!formData.value.account || !formData.value.password) {
return uni.showToast({ return uni.showToast({
title: '请输入用户名和密码', title: '请输入手机号和密码',
icon: 'none', icon: 'none',
}) })
} }
if (!formData.value.verify_code) { const {
return uni.showToast({ data: {
title: '请输入验证码', userinfo: { token },
icon: 'none', },
}) } = await loginUserAPI(formData.value)
} userStore.setToken(token)
try { uni.reLaunch({
const { url: redirect,
data: { token }, })
} = await loginUserAPI({ ...formData.value, verify_key: codeKey.value })
userStore.setToken(token)
uni.reLaunch({
url: redirect,
})
} catch (error) {
refreshCode()
}
} }
const handleRegister = () => { const handleRegister = () => {
@@ -136,12 +110,12 @@ onLoad(() => {
}) })
</script> </script>
<style lang="scss" scoped> <style lang="scss">
.login-container { .login-container {
box-sizing: border-box; box-sizing: border-box;
min-height: 100vh; min-height: 100vh;
padding-bottom: 50px; padding-bottom: 50px;
background-image: url('@/static/images/login-bg.jpg'); background-image: url('@/static/images/login-bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
} }
+92 -199
View File
@@ -8,108 +8,99 @@
</route> </route>
<template> <template>
<view class="my-page pt-50"> <view class="my-page">
<view class="flex text-white px-15 items-center"> <NavBar />
<!-- <Avatar class="w-60 h-60" :src="getImageUrl(userStore.userInfo?.avatar)" /> --> <view class="flex flex-col items-center justify-center mt-30">
<Avatar class="w-60 h-60" /> <Avatar class="w-80 h-80 mx-auto" :src="getImageUrl(userStore.userInfo.avatar)" />
<view class="ml-15 flex-1"> <view class="text-16 mt-10">{{ userStore.userInfo.nickname }}</view>
<view class="text-16"> <view class="text-12 mt-8">账号{{ userStore.userInfo.username }}</view>
{{ userStore.userInfo?.realname ?? userStore.userInfo?.nickname }} </view>
</view> <view class="flex justify-center text-center mt-30 items-center px-30">
<view class="text-12 mt-8">账号{{ userStore.userInfo?.username }}</view> <view class="flex-1">
<view class="text-30 font-bold">{{ Number(userStore.userInfo.money) }}</view>
<view class="text-14 mt-10 text-#3B81F3">我的余额</view>
</view> </view>
<!-- <view <view class="w-50 h-50 relative">
class="flex border-#50D0FF border-1 border-solid items-center justify-center h-32 w-100 btn-gradient rounded-full text-center text-14 text-white" <image
@click="handleSignIn" class="w-100 h-100 absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"
src="@/static/images/my/translate.png"
mode="aspectFit"
/>
</view>
<view class="flex-1">
<view class="text-30 font-bold">{{ Number(userStore.userInfo.score) }}</view>
<view class="text-14 mt-10 text-#3B81F3">我的股数</view>
</view>
</view>
<view class="flex px-15 mt-30">
<view
class="flex py-30 justify-center items-center rounded-tl-10 rounded-br-10 flex-1 bg-[linear-gradient(180deg,#D9EBFF,#9EDAFF)] border-1 border-#5FAEFF80 border-solid"
@click="handleWithdrawal"
> >
<image class="w-30 h-26 mt-5" src="@/static/images/my/sign-icon.png" mode="widthFix" /> <image class="w-40 h-40" src="@/static/images/my/withdrawal.png" mode="aspectFit" />
<view class="ml-5">签到</view> <view class="text-white text-14 px-15 py-5 ml-15 rounded-full btn-gradient">提现</view>
</view> --> </view>
<view
class="ml-10 flex py-30 justify-center items-center rounded-tl-10 rounded-br-10 flex-1 bg-[linear-gradient(180deg,#D9EBFF,#9EDAFF)] border-1 border-#5FAEFF80 border-solid"
@click="handleConvert"
>
<image class="w-40 h-40" src="@/static/images/my/top-up.png" mode="aspectFit" />
<view class="text-white text-14 px-15 py-5 ml-15 rounded-full btn-gradient">转换</view>
</view>
</view> </view>
<image class="w-66 h-23 ml-15 mt-15" src="@/static/images/my/myEquity.png" mode="widthFix" />
<view class="grid grid-cols-2 gap-10 px-15 mt-15">
<view class="px-15 py-10 rounded-10 bg-#FFFFFF33" @click="handleAsset(0)">
<view class="flex text-white text-12">我的股权</view>
<view class="text-15 text-#333 mt-4 font-bold">{{ userStore.userInfo?.money }}</view>
<view class="text-15 text-#333 font-bold">{{ userStore.userInfo?.money }}</view>
<view
class="btn-gradient w-fit rounded-full text-center text-12 text-white py-2 px-20 mt-8"
@click.stop="handleEquityWithdrawal"
>
提现
</view>
</view>
<view class="px-15 py-10 rounded-10 bg-#FFFFFF33" @click="handleAsset(0)">
<view class="flex text-white text-12">碧桂园股权</view>
<view class="text-15 text-#333 mt-4 font-bold">{{ userStore.userInfo?.money }}</view>
<view class="text-15 text-#333 font-bold">{{ userStore.userInfo?.money }}</view>
<view
class="btn-gradient w-fit rounded-full text-center text-12 text-white py-2 px-20 mt-8"
@click.stop="handleEquityWithdrawal"
>
提现
</view>
</view>
<view class="px-15 py-10 rounded-10 bg-#FFFFFF33" @click="handleAsset(0)">
<view class="flex text-white text-12">雅居乐股权</view>
<view class="text-15 text-#333 mt-4 font-bold">{{ userStore.userInfo?.money }}</view>
<view class="text-15 text-#333 font-bold">{{ userStore.userInfo?.money }}</view>
<view
class="btn-gradient w-fit rounded-full text-center text-12 text-white py-2 px-20 mt-8"
@click.stop="handleEquityWithdrawal"
>
提现
</view>
</view>
<view class="px-15 py-10 rounded-10 bg-#FFFFFF33" @click="handleAsset(0)">
<view class="flex text-white text-12">恒大股权</view>
<view class="text-15 text-#333 mt-4 font-bold">{{ userStore.userInfo?.money }}</view>
<view class="text-15 text-#333 font-bold">{{ userStore.userInfo?.money }}</view>
<view
class="btn-gradient w-fit rounded-full text-center text-12 text-white py-2 px-20 mt-8"
@click.stop="handleEquityWithdrawal"
>
提现
</view>
</view>
</view>
<image <image
class="w-96 h-23 ml-15 mt-15" class="w-330 h-123 mx-auto mt-15 block"
src="@/static/images/my/myFlowSubsidy.png" src="@/static/images/my/recommend.png"
mode="widthFix" mode="widthFix"
@click="handleInvite"
/> />
<view class="grid grid-cols-2 gap-10 px-15 mt-15">
<view class="px-15 py-10 rounded-10 bg-#FFFFFF33" @click="handleAsset(0)">
<view class="text-15 text-#333 mt-4 font-bold">{{ userStore.userInfo?.money }}</view>
<view
class="btn-gradient w-fit rounded-full text-center text-12 text-white py-2 px-20 mt-8"
@click.stop="handleWithdrawal"
>
提现
</view>
</view>
</view>
<view class="mt-15 rounded-t-30 bg-white p-15 min-h-50vh"> <view class="mt-15 grid grid-cols-2 gap-10 p-15">
<view class="mt-15 grid grid-cols-2 gap-10"> <view
<view @click="handleTeam"
@click="item.handle" class="flex items-center justify-center rounded-tl-10 rounded-br-10 bg-[linear-gradient(45deg,#EFF7FF,#D1E8FF)] p-15 border border-#BEDCFF border-solid"
class="flex items-center justify-center rounded-tl-10 rounded-br-10 bg-[linear-gradient(45deg,#FFF7F0,#FBE1D1)] p-15" >
v-for="item in commonList" <image class="w-24 h-24" src="@/static/images/my/team.png" mode="aspectFit" />
:key="item.title" <view class="text-14 text-#333 ml-10">我的邀请</view>
> </view>
<image class="w-24 h-24" :src="item.icon" mode="aspectFit" /> <view
<view class="text-14 text-#333 ml-10">{{ item.title }}</view> @click="handleAsset"
</view> class="flex items-center justify-center rounded-tl-10 rounded-br-10 bg-[linear-gradient(45deg,#EFF7FF,#D1E8FF)] p-15 border border-#BEDCFF border-solid"
>
<image class="w-24 h-24" src="@/static/images/my/house.png" mode="aspectFit" />
<view class="text-14 text-#333 ml-10">我的资产</view>
</view> </view>
<view <view
class="mt-50 mx-auto w-294 btn-gradient rounded-full text-center text-14 text-white py-15 mt-15" @click="handleRealName"
@click="handleLogout" class="flex items-center justify-center rounded-tl-10 rounded-br-10 bg-[linear-gradient(45deg,#EFF7FF,#D1E8FF)] p-15 border border-#BEDCFF border-solid"
> >
退出登录 <image class="w-24 h-24" src="@/static/images/my/realname.png" mode="aspectFit" />
<view class="text-14 text-#333 ml-10">实名认证</view>
</view> </view>
<view
@click="handleBankCard"
class="flex items-center justify-center rounded-tl-10 rounded-br-10 bg-[linear-gradient(45deg,#EFF7FF,#D1E8FF)] p-15 border border-#BEDCFF border-solid"
>
<image class="w-24 h-24" src="@/static/images/my/card.png" mode="aspectFit" />
<view class="text-14 text-#333 ml-10">我的银行卡</view>
</view>
<view
@click="downloadAppAPI"
class="flex items-center justify-center rounded-tl-10 rounded-br-10 bg-[linear-gradient(45deg,#EFF7FF,#D1E8FF)] p-15 border border-#BEDCFF border-solid"
>
<image class="w-24 h-24" src="@/static/images/my/download.png" mode="aspectFit" />
<view class="text-14 text-#333 ml-10">下载APP</view>
</view>
</view>
<view
class="mt-50 mx-auto w-294 btn-gradient rounded-full text-center text-14 text-white py-15 mt-15"
@click="handleLogout"
>
退出登录
</view> </view>
</view> </view>
</template> </template>
@@ -118,20 +109,10 @@
import Avatar from '@/components/Avatar.vue' import Avatar from '@/components/Avatar.vue'
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import { loginRoute } from '@/interceptors/route' import { loginRoute } from '@/interceptors/route'
import { downloadAppAPI, getCommunityInviteFirstAPI, getSignInAPI } from '@/service' import { downloadAppAPI } from '@/service'
import { useUserStore } from '@/store/user' import { useUserStore } from '@/store/user'
import { getImageUrl, showModal } from '@/utils' import { getImageUrl, showModal } from '@/utils'
import CommonIcon1 from '@/static/images/my/common-icon-1.png'
import CommonIcon2 from '@/static/images/my/common-icon-2.png'
import CommonIcon3 from '@/static/images/my/common-icon-3.png'
import CommonIcon4 from '@/static/images/my/common-icon-4.png'
import CommonIcon5 from '@/static/images/my/common-icon-5.png'
import CommonIcon6 from '@/static/images/my/common-icon-6.png'
import CommonIcon7 from '@/static/images/my/common-icon-7.png'
import CommonIcon8 from '@/static/images/my/common-icon-8.png'
import CommonIcon9 from '@/static/images/my/common-icon-9.png'
const userStore = useUserStore() const userStore = useUserStore()
const handleLogout = () => { const handleLogout = () => {
@@ -146,17 +127,11 @@ const handleWithdrawalDetail = () => {
}) })
} }
const handleEquityWithdrawal = () => {
uni.navigateTo({
url: '/pages-sub/equity-withdrawal/index',
})
}
const handleWithdrawal = () => { const handleWithdrawal = () => {
// return showModal('暂未开放') showModal('1月26号开放提现')
uni.navigateTo({ // uni.navigateTo({
url: '/pages-sub/withdrawal/index', // url: '/pages-sub/withdrawal/index',
}) // })
} }
const handleTeam = () => { const handleTeam = () => {
@@ -171,15 +146,9 @@ const handleRealName = () => {
}) })
} }
const handleAsset = (index = 0) => { const handleAsset = () => {
uni.navigateTo({ uni.navigateTo({
url: `/pages-sub/asset/index?tabIndex=${index}`, url: '/pages-sub/asset/index',
})
}
const handleAssetDetail = () => {
uni.navigateTo({
url: '/pages-sub/asset-detail/index',
}) })
} }
@@ -195,95 +164,19 @@ const handleInvite = () => {
}) })
} }
const handleConvert = (type) => { const handleConvert = () => {
if (type === 0) {
return showModal('提前申请领取养老金')
}
uni.navigateTo({ uni.navigateTo({
url: `/pages-sub/convert/index?type=${type}`, url: '/pages-sub/convert/index',
}) })
} }
const handleSignIn = async () => {
await getSignInAPI()
const { data } = await getCommunityInviteFirstAPI()
if (data.qiandaojiang) {
showModal('签到成功,获得' + data.qiandaojiang + '元社保金')
} else {
showModal('签到成功')
}
userStore.loadUserInfo()
}
const handleKefu = () => {
uni.navigateTo({
url: '/pages-sub/official-community/index',
})
}
const handleInvestDetail = () => {
uni.navigateTo({
url: '/pages-sub/invest-detail/index',
})
}
const commonList = [
{
title: '红本房产证',
icon: CommonIcon5,
handle: () => {
uni.navigateTo({
url: '/pages-sub/room-certificate/index',
})
},
},
{
title: '我的房产',
icon: CommonIcon8,
handle: () => {
uni.navigateTo({
url: '/pages-sub/my-room-certificate/index',
})
},
},
{
title: '股权提现明细',
icon: CommonIcon6,
handle: handleAssetDetail,
},
{
title: '流量提现明细',
icon: CommonIcon7,
handle: handleAssetDetail,
},
// {
// title: '我的社区',
// icon: CommonIcon4,
// handle: handleInvite,
// },
// {
// title: '在线客服',
// icon: CommonIcon9,
// handle: handleKefu,
// },
// {
// title: 'APP下载',
// icon: CommonIcon3,
// handle: downloadAppAPI,
// },
// {
// title: '官方群聊',
// icon: CommonIcon1,
// handle: handleKefu,
// },
]
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.my-page { .my-page {
min-height: 100vh; min-height: 100vh;
background-image: url('@/static/images/my/my-bg.jpg'); padding-bottom: 50px;
background-position: top -40px center; background-image: url('@/static/images/my/bg.jpg');
background-position: top;
background-size: cover; background-size: cover;
} }
</style> </style>
+57 -52
View File
@@ -4,7 +4,7 @@
navigationBarTitleText: '注册', navigationBarTitleText: '注册',
navigationStyle: 'custom', navigationStyle: 'custom',
}, },
notNeedLogin: true, notNeedLogin: false,
} }
</route> </route>
@@ -13,30 +13,27 @@ import NavBar from '@/components/NavBar.vue'
import { isLogged } from '@/interceptors/route' import { isLogged } from '@/interceptors/route'
import { registerUserAPI } from '@/service' import { registerUserAPI } from '@/service'
import { useUserStore } from '@/store/user' import { useUserStore } from '@/store/user'
import { mergeStep, showModal } from '@/utils' import { mergeStep } from '@/utils'
const userStore = useUserStore() const userStore = useUserStore()
const form = ref({ const form = ref({
mobile: '', username: '',
// member_nickname: '', // member_nickname: '',
password: '', password: '',
retpassword: '', retpassword: '',
invite_code: '', invitecode: '',
verify_code: '', tpassword: '',
// tpassword: '', rettpassword: '',
// rettpassword: '',
}) })
let redirect = '/' let redirect = '/'
onLoad((options) => { onLoad((options) => {
redirect = options.redirect ?? '/' redirect = options.redirect ?? '/'
form.value.invite_code = options.invite_code ?? '' form.value.invitecode = options.invitecode ?? ''
}) })
const { codeUrl, codeKey, refreshCode } = useCaptcha()
const handleRegister = mergeStep(async () => { const handleRegister = mergeStep(async () => {
if (!/^\d{11}$/.test(form.value.mobile)) { if (!/^\d{11}$/.test(form.value.username)) {
uni.showToast({ uni.showToast({
title: '请输入正确手机号(11位)', title: '请输入正确手机号(11位)',
icon: 'none', icon: 'none',
@@ -57,32 +54,36 @@ const handleRegister = mergeStep(async () => {
}) })
return return
} }
if (!form.value.tpassword) {
if (!form.value.invite_code) {
uni.showToast({ uni.showToast({
title: '请输入邀请码', title: '请输入支付密码',
icon: 'none', icon: 'none',
}) })
return return
} }
if (!form.value.verify_code) { if (form.value.tpassword !== form.value.rettpassword) {
return uni.showToast({ uni.showToast({
title: '请输入验证码', title: '两次输入的支付密码不一致',
icon: 'none', icon: 'none',
}) })
return
} }
// if (!form.value.invitecode) {
try { // uni.showToast({
await registerUserAPI({ ...form.value, verify_key: codeKey.value }) // title: '请输入邀请码',
await showModal('注册成功', { // icon: 'none',
confirmText: '立即登录', // })
}) // return
uni.reLaunch({ // }
url: '/pages/login/index', const {
}) data: {
} catch { userinfo: { token },
refreshCode() },
} } = await registerUserAPI(form.value)
userStore.setToken(token)
uni.reLaunch({
url: redirect,
})
}) })
onLoad(async (options) => { onLoad(async (options) => {
if (isLogged()) { if (isLogged()) {
@@ -90,27 +91,28 @@ onLoad(async (options) => {
url: redirect, url: redirect,
}) })
} }
form.value.invite_code = options.invite ?? '' form.value.invitecode = options.invite ?? ''
}) })
</script> </script>
<template> <template>
<view class="login-container relative"> <view class="login-container relative">
<NavBar /> <NavBar />
<view class="py-45 mt-180 mx-15 rounded-10 bg-white"> <view class="pt-45">
<view class="mx-15 px-15"> <view class="mx-15 px-15 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10">
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<view class="text-gradient">手机号</view> <image class="w-24 h-24" src="@/static/images/login/phone.png" mode="aspectFit" />
<input <input
v-model="form.mobile" v-model="form.username"
type="text" type="number"
maxlength="11"
placeholder-class="text-#889BC6" placeholder-class="text-#889BC6"
class="text-right flex-1 text-14" class="text-right flex-1 text-14"
placeholder="请输入手机号" placeholder="请输入手机号"
/> />
</view> </view>
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<view class="text-gradient">登录密码</view> <image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input <input
v-model="form.password" v-model="form.password"
placeholder-class="text-#889BC6" placeholder-class="text-#889BC6"
@@ -120,7 +122,7 @@ onLoad(async (options) => {
/> />
</view> </view>
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<view class="text-gradient">确认登录密码</view> <image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input <input
v-model="form.retpassword" v-model="form.retpassword"
placeholder-class="text-#889BC6" placeholder-class="text-#889BC6"
@@ -129,27 +131,30 @@ onLoad(async (options) => {
placeholder="请再次输入登录密码" placeholder="请再次输入登录密码"
/> />
</view> </view>
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<view class="text-gradient">验证码</view> <image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input <input
v-model="form.verify_code" v-model="form.tpassword"
placeholder-class="text-#889BC6" placeholder-class="text-#889BC6"
type="text" type="password"
class="text-right flex-1 text-14" class="text-right flex-1 text-14"
placeholder="请输入验证码" placeholder="请输入支付密码"
/>
<img
:src="codeUrl"
class="w-108 h-31 ml-15 bg-gray-400"
mode="widthFix"
@click="refreshCode"
/> />
</view> </view>
<view class="flex items-center py-15"> <view class="flex items-center py-15">
<view class="text-gradient">邀请码</view> <image class="w-24 h-24" src="@/static/images/login/password.png" mode="aspectFit" />
<input <input
v-model="form.invite_code" v-model="form.rettpassword"
placeholder-class="text-#889BC6"
type="password"
class="text-right flex-1 text-14"
placeholder="请再次输入支付密码"
/>
</view>
<view class="flex items-center py-15">
<image class="w-24 h-24" src="@/static/images/login/invite.png" mode="aspectFit" />
<input
v-model="form.invitecode"
placeholder-class="text-#889BC6" placeholder-class="text-#889BC6"
type="text" type="text"
class="text-right flex-1 text-14" class="text-right flex-1 text-14"
@@ -167,12 +172,12 @@ onLoad(async (options) => {
</view> </view>
</template> </template>
<style lang="scss" scoped> <style lang="scss">
.login-container { .login-container {
box-sizing: border-box; box-sizing: border-box;
min-height: 100vh; min-height: 100vh;
padding-bottom: 50px; padding-bottom: 50px;
background-image: url('@/static/images/login-bg.jpg'); background-image: url('@/static/images/login-bg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: cover; background-size: cover;
} }
+21 -48
View File
@@ -1,11 +1,5 @@
import { http } from '@/utils/http' import { http } from '@/utils/http'
// 获取验证码
export const getCaptchaAPI = () =>
http<any>({
url: '/api/user/captcha',
})
// 注册用户 // 注册用户
export const registerUserAPI = (data) => export const registerUserAPI = (data) =>
http({ http({
@@ -25,7 +19,7 @@ export const loginUserAPI = (data) =>
// 获取用户信息 // 获取用户信息
export const getUserInfoAPI = () => export const getUserInfoAPI = () =>
http({ http({
url: '/api/user/info', url: '/api/user/index',
method: 'GET', method: 'GET',
}) })
@@ -102,7 +96,7 @@ export const getMyTeamAPI = (data) =>
// 我的资产 // 我的资产
export const getMyAssetAPI = (data) => export const getMyAssetAPI = (data) =>
http({ http({
url: '/api/user/moneyloglist', url: '/api/user/myassets',
method: 'POST', method: 'POST',
data, data,
}) })
@@ -157,58 +151,37 @@ export const getWithdrawalRecordAPI = (data) =>
// 下载APP // 下载APP
export const downloadAppAPI = () => { export const downloadAppAPI = () => {
location.href = 'https://r2.maldiveswallet.vip/app/qmbz-3.apk' location.href = 'https://r2.maldiveswallet.vip/app/maldiveswallet.apk'
} }
// 社区我的邀请 // 修改密码第一步
export const getCommunityMyInviteAPI = (data) => export const editPasswordFirstAPI = (data) =>
http({ http({
url: '/api/user/inviteelist', url: '/api/user/forgetpassone',
method: 'POST',
data,
hideErrorToast: true,
})
// 修改密码第二步
export const editPasswordSecondAPI = (data) =>
http({
url: '/api/user/forgetpasstwo',
method: 'POST', method: 'POST',
data, data,
}) })
// 领取奖励第一步 // 修改实名认证信息
export const getCommunityInviteFirstAPI = () => export const editRealNameAuthAPI = (data) =>
http({ http({
url: '/api/user/rewardone', url: '/api/user/updateuserauth',
method: 'POST',
})
// 领取救济金
export const getCommunityInviteRewardAPI = (data) =>
http({
url: '/api/user/rewardtwo',
method: 'POST', method: 'POST',
data, data,
}) })
// 签到功能 // 获取客服信息
export const getSignInAPI = () => export const getCustomerServiceAPI = () =>
http({ http({
url: '/api/user/signin', url: '/api/index/kefu',
method: 'POST', method: 'POST',
}) })
// 开通个人养老账户
export const getOpenPersonalAccountAPI = () =>
http({
url: '/api/user/activateold',
method: 'POST',
})
// 养老金转入余额
export const getOldMoneyTransferAPI = (data) =>
http({
url: '/api/user/yangout',
method: 'POST',
data,
})
// 佣金转入养老金
export const getYongMoneyTransferAPI = (data) =>
http({
url: '/api/user/tuanduiout',
method: 'POST',
data,
})
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 985 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

Some files were not shown because too many files have changed in this diff Show More