Compare commits
8 Commits
x-6
..
1741f255d0
| Author | SHA1 | Date | |
|---|---|---|---|
| 1741f255d0 | |||
| 302dfdf203 | |||
| 9b89ff64b3 | |||
| 2f997b491b | |||
| c46283de7f | |||
| 8a2789f119 | |||
| 28d48c3323 | |||
| 2b43b95fdb |
@@ -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>
|
||||||
|
|||||||
@@ -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://yapi.foxmail555.cc'
|
||||||
|
VITE_UPLOAD_BASEURL = 'https://yapi.foxmail555.cc/api/common/upload'
|
||||||
|
|
||||||
# h5是否需要配置代理
|
# h5是否需要配置代理
|
||||||
VITE_APP_PROXY=false
|
VITE_APP_PROXY=false
|
||||||
VITE_APP_PROXY_PREFIX = '/api'
|
VITE_APP_PROXY_PREFIX = '/api'
|
||||||
|
|||||||
@@ -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'
|
|
||||||
|
|||||||
@@ -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'
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ export default defineUniPages({
|
|||||||
},
|
},
|
||||||
tabBar: {
|
tabBar: {
|
||||||
color: '#999999',
|
color: '#999999',
|
||||||
selectedColor: '#BE805A',
|
selectedColor: '#D3B389',
|
||||||
backgroundColor: '#ffffff',
|
backgroundColor: '#ffffff',
|
||||||
borderStyle: '#E7E7E7',
|
borderStyle: '#E7E7E7',
|
||||||
height: '56px',
|
height: '56px',
|
||||||
@@ -26,23 +26,30 @@ export default defineUniPages({
|
|||||||
iconWidth: '20px',
|
iconWidth: '20px',
|
||||||
spacing: '3px',
|
spacing: '3px',
|
||||||
list: [
|
list: [
|
||||||
|
// {
|
||||||
|
// iconPath: 'static/tabbar/home.png',
|
||||||
|
// selectedIconPath: 'static/tabbar/homeHL.png',
|
||||||
|
// pagePath: 'pages/index/index',
|
||||||
|
// text: '首页',
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
iconPath: 'static/tabbar/home.png',
|
iconPath: 'static/tabbar/bank.png',
|
||||||
selectedIconPath: 'static/tabbar/homeHL.png',
|
selectedIconPath: 'static/tabbar/bankHL.png',
|
||||||
pagePath: 'pages/index/index',
|
pagePath: 'pages/bank/index',
|
||||||
text: '首页',
|
text: '首页',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
iconPath: 'static/tabbar/invite.png',
|
||||||
|
selectedIconPath: 'static/tabbar/inviteHL.png',
|
||||||
|
pagePath: 'pages/invite/index',
|
||||||
|
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',
|
|
||||||
text: '邀请好友',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
iconPath: 'static/tabbar/invest.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',
|
||||||
|
|||||||
@@ -36,7 +36,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 {
|
||||||
@@ -134,4 +133,8 @@ uni-modal {
|
|||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'FARRINGTON-7B';
|
||||||
|
src: url('@/static/FARRINGTON-7B.ttf');
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -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, #ffdd99 0%, #efb85a 100%)"
|
||||||
|
>
|
||||||
<image
|
<image
|
||||||
block
|
block
|
||||||
overflow-hidden
|
overflow-hidden
|
||||||
|
|||||||
@@ -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>
|
|
||||||
@@ -1,16 +1,15 @@
|
|||||||
import { getCaptchaAPI } from '@/service'
|
const baseUrl = import.meta.env.VITE_SERVER_BASEURL
|
||||||
|
|
||||||
export const useCaptcha = () => {
|
export const useCaptcha = () => {
|
||||||
const codeUrl = ref('')
|
const t = ref(Date.now())
|
||||||
const codeKey = ref('')
|
|
||||||
|
|
||||||
const refreshCode = async () => {
|
const codeUrl = computed(() => {
|
||||||
const res = await getCaptchaAPI()
|
return baseUrl + '/api/index/captcha?t=' + t.value
|
||||||
codeUrl.value = res.data.img
|
})
|
||||||
codeKey.value = res.data.key
|
const refreshCode = () => {
|
||||||
|
t.value = Date.now()
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
refreshCode()
|
refreshCode()
|
||||||
})
|
})
|
||||||
return { codeUrl, codeKey, refreshCode }
|
return { codeUrl, t, refreshCode }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
* 可以设置路由白名单,或者黑名单,看业务需要选哪一个
|
* 可以设置路由白名单,或者黑名单,看业务需要选哪一个
|
||||||
* 我这里应为大部分都可以随便进入,所以使用黑名单
|
* 我这里应为大部分都可以随便进入,所以使用黑名单
|
||||||
*/
|
*/
|
||||||
import { getRealNameAuthAPI, getUserInfoAPI } from '@/service'
|
|
||||||
import { useUserStore } from '@/store'
|
import { useUserStore } from '@/store'
|
||||||
import {
|
import {
|
||||||
getNotNeedLoginPages as _getNotNeedLoginPages,
|
getNotNeedLoginPages as _getNotNeedLoginPages,
|
||||||
|
|||||||
@@ -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>
|
|
||||||
@@ -37,15 +37,23 @@ const { list: assetList, onReload } = useListPageRequest(
|
|||||||
|
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
tabIndex.value = Number(options.tabIndex ?? 0)
|
tabIndex.value = Number(options.tabIndex ?? 0)
|
||||||
onReload({
|
|
||||||
flagdata: unref(tabList)[tabIndex.value].value,
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
watch(
|
||||||
|
() => tabIndex.value,
|
||||||
|
(index) => {
|
||||||
|
onReload({
|
||||||
|
type: unref(tabList)[index].value,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
{
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
|
)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="asset-page pt-15 relative">
|
<view class="asset-page pt-15 relative">
|
||||||
<NavBar :title="tabList[tabIndex].label" />
|
<NavBar title-color="#333" :title="tabList[tabIndex].label" />
|
||||||
<!-- <view class="flex justify-around">
|
<!-- <view class="flex justify-around">
|
||||||
<view
|
<view
|
||||||
v-for="(tabItem, index) in tabList"
|
v-for="(tabItem, index) in tabList"
|
||||||
@@ -57,19 +65,18 @@ onLoad((options) => {
|
|||||||
<view class="text-14">{{ tabItem.label }}</view>
|
<view class="text-14">{{ tabItem.label }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="mt-30 p-15 text-white">
|
<view class="py-30 pt-80 px-25">
|
||||||
<view class="text-17">{{ tabList[tabIndex].label }}</view>
|
<view class="text-17">{{ tabList[tabIndex].label }}</view>
|
||||||
<view class="text-30">¥{{ tabList[tabIndex].money }}</view>
|
<view class="text-30">¥{{ tabList[tabIndex].money }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="relative z-1 mt-10 main-content pt-30 pb-30 rounded-t-15">
|
<view class="relative z-1 main-content pt-40 pb-30 rounded-t-15">
|
||||||
<view class="mb-15 px-25">【{{ tabList[tabIndex].label }}】明细</view>
|
<view class="mb-15 px-15 text-18">【{{ tabList[tabIndex].label }}】明细</view>
|
||||||
<template v-if="assetList.length">
|
<template v-if="assetList.length">
|
||||||
<view
|
<view
|
||||||
class="flex px-25 py-12 border-b items-center border-#3333331A border-b-solid"
|
class="flex px-15 py-12 border-b items-center border-#3333331A border-b-solid"
|
||||||
v-for="item in assetList"
|
v-for="item in assetList"
|
||||||
:key="item.id"
|
: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="flex flex-col flex-1 ml-15">
|
||||||
<view class="text-14 text-#333">{{ item.memo }}</view>
|
<view class="text-14 text-#333">{{ item.memo }}</view>
|
||||||
<view class="text-12 mt-4 text-#333">{{ item.createtime }}</view>
|
<view class="text-12 mt-4 text-#333">{{ item.createtime }}</view>
|
||||||
@@ -98,13 +105,12 @@ onLoad((options) => {
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.asset-page {
|
.asset-page {
|
||||||
background-image: url('@/static/images/assets-bg.jpg');
|
background-image: url('@/static/images/page-sub/assets-bg.jpg');
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: top center;
|
background-position: top center;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
.main-content {
|
.main-content {
|
||||||
background-color: #ffffff;
|
backdrop-filter: blur(60px);
|
||||||
/* backdrop-filter: blur(60px); */
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -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>
|
|
||||||
@@ -2,12 +2,15 @@
|
|||||||
{
|
{
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '热点新闻',
|
navigationBarTitleText: '热点新闻',
|
||||||
|
navigationStyle: 'custom',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</route>
|
</route>
|
||||||
<template>
|
<template>
|
||||||
<view class="hot-news-page min-h-screen p-15">
|
<view class="hot-news-page min-h-screen px-15 pb-100">
|
||||||
<view class="bg-#fff rounded-10 px-15 py-15" v-if="newsList.length > 0">
|
<NavBar title-color="#333" />
|
||||||
|
|
||||||
|
<view class="bg-#fff rounded-10 px-15 py-15 mt-15" v-if="newsList.length > 0">
|
||||||
<view
|
<view
|
||||||
class="flex mb-15"
|
class="flex mb-15"
|
||||||
v-for="item in newsList"
|
v-for="item in newsList"
|
||||||
@@ -26,6 +29,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
import { getIntroductionAPI } from '@/service'
|
import { getIntroductionAPI } from '@/service'
|
||||||
import { formatTime } from '@/utils'
|
import { formatTime } from '@/utils'
|
||||||
|
|
||||||
@@ -41,6 +45,6 @@ const handleNewsDetail = (id: number) => {
|
|||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.hot-news-page {
|
.hot-news-page {
|
||||||
background: #f7f7f7;
|
background: linear-gradient(180deg, #fff3eb 0%, #ffffff 100%);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -15,9 +15,7 @@
|
|||||||
:src="introductionDetail.image"
|
:src="introductionDetail.image"
|
||||||
mode="aspectFill"
|
mode="aspectFill"
|
||||||
/>
|
/>
|
||||||
<view class="text-gray-500 mx-16 text-14 mt-15 break-all">
|
<view class="text-gray-500 mx-16 text-14 mt-15 break-all" v-html="introductionDetail.content" />
|
||||||
{{ introductionDetail.content }}
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -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 class="min-h-screen pb-100">
|
||||||
|
<template v-if="investmentRecordList.length">
|
||||||
<view
|
<view
|
||||||
class="min-h-screen pb-100"
|
class="flex px-15 py-8 border-b border-#E5E5E5 border-b-solid"
|
||||||
style="background: linear-gradient(180deg, #3a90f2 0%, #f7f7f7 100%)"
|
|
||||||
>
|
|
||||||
<NavBar />
|
|
||||||
<view class="mt-15" v-if="investmentRecordList.length">
|
|
||||||
<view
|
|
||||||
class="flex px-15 py-8 mb-1 bg-#ffffff"
|
|
||||||
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,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"
|
||||||
</view>
|
class="w-280 ml-8 mt-8"
|
||||||
<view class="text-25 text-center mt-50 text-#fff">中奖奖品</view>
|
:list="list"
|
||||||
<view class="mt-10 text-#FFE1B1 text-14 underline text-center" @click="onKefu">
|
@onStart="onStart"
|
||||||
中奖奖品请联系客服获取>>
|
@onEnd="onEnd"
|
||||||
</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 slot="lottery-item" slot-scope="slotProps">{{ slotProps }}</view> -->
|
||||||
<view class="flex-1">物业费3年</view>
|
<template #lottery-item="{ data, index, currIndex }">
|
||||||
</view>
|
|
||||||
<view
|
<view
|
||||||
class="flex bg-#F8CD96 text-#333333 text-15 py-12 border-t-solid border-t-#990E17 border-t-1"
|
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,
|
||||||
|
}"
|
||||||
>
|
>
|
||||||
<view class="flex-1">2025.01.058</view>
|
<image :src="data.icon" class="w-30 h-30" />
|
||||||
<view class="flex-1">物业费3年</view>
|
<view class="text-14 text-#333 mt-8">{{ data.title }}</view>
|
||||||
</view>
|
</view>
|
||||||
|
</template>
|
||||||
|
<template #start-button>
|
||||||
<view
|
<view
|
||||||
class="flex bg-#F8CD96 text-#333333 text-15 py-12 border-t-solid border-t-#990E17 border-t-1"
|
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 class="flex-1">2025.01.058</view>
|
<view>点击</view>
|
||||||
<view class="flex-1">物业费3年</view>
|
<view>抽奖</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
</template>
|
||||||
class="flex bg-#F8CD96 text-#333333 text-15 py-12 border-t-solid border-t-#990E17 border-t-1"
|
<template #activity-box>
|
||||||
>
|
<view class="w-86 h-86 bg-red-500"></view>
|
||||||
<view class="flex-1">2025.01.058</view>
|
</template>
|
||||||
<view class="flex-1">物业费3年</view>
|
</grid-lottery>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="text-16 mx-auto w-315 mb-15 font-bold text-#fff mt-30">抽奖规则</view>
|
||||||
|
<view class="text-12 mx-auto w-315 mb-15 text-#fff mt-15">
|
||||||
|
1. 每轮抽奖消耗10000认购点,每轮抽奖次数为3次,每轮抽奖结束后,消耗的认购点将恢复为0。
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.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>
|
|
||||||
@@ -16,32 +16,21 @@ import VueQrcode from '@chenfengyuan/vue-qrcode'
|
|||||||
<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 class="text-16 font-bold text-#333">扫码进入</view>
|
||||||
>
|
<wd-icon name="arrow-down" color="#333" size="18px"></wd-icon>
|
||||||
<image
|
<view class="btn-gradient rounded-full w-fit mx-auto text-16 text-white py-10 px-15">
|
||||||
class="w-full mx-auto"
|
微聊总群:50101011
|
||||||
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>
|
||||||
<view
|
<VueQrcode class="!w-270 !h-270 mx-auto" :value="'qrcodeValue'" :options="{ size: 600 }" />
|
||||||
class="relative px-15 text-center bg-white rounded-10 m-15 shadow-[0_0_10px_rgba(0,0,0,0.1)]"
|
</view>
|
||||||
>
|
<view class="p-15 text-center bg-white rounded-10 m-15 shadow-[0_0_10px_rgba(0,0,0,0.1)]">
|
||||||
<image
|
<view class="text-16 font-bold text-#333">扫码进入</view>
|
||||||
class="w-full mx-auto"
|
<wd-icon name="arrow-down" color="#333" size="18px"></wd-icon>
|
||||||
src="@/static/images/page-sub/official-community/image-2.jpg"
|
<view class="btn-gradient rounded-full w-fit mx-auto text-16 text-white py-10 px-15">
|
||||||
mode="widthFix"
|
QQ群2群:1011101011
|
||||||
/>
|
</view>
|
||||||
<a href="https://doudlj.org/NiPing95" class="absolute bottom-15 left-50% -translate-x-1/2">
|
<VueQrcode class="!w-270 !h-270 mx-auto" :value="'qrcodeValue'" :options="{ size: 600 }" />
|
||||||
点击进入
|
|
||||||
</a>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -3,19 +3,21 @@
|
|||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '实名认证',
|
navigationBarTitleText: '实名认证',
|
||||||
navigationBarBackgroundColor: '#fff',
|
navigationBarBackgroundColor: '#fff',
|
||||||
|
navigationStyle: 'custom',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</route>
|
</route>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="withdrawal-type-edit-page pb-100 min-h-screen">
|
<view class="realname-page min-h-screen">
|
||||||
|
<NavBar title-color="#333" />
|
||||||
<template v-if="!realnameInfo">
|
<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 bg-white 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> -->
|
||||||
<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-name.png" class="w-20 h-20" />
|
<image src="@/static/images/page-sub/realname/realname-name.png" class="w-20 h-20" />
|
||||||
<view class="ml-8">真实姓名</view>
|
<view class="ml-8">真实姓名</view>
|
||||||
@@ -92,11 +94,12 @@
|
|||||||
</button>
|
</button>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="Number(realnameInfo.status) === 2">
|
<template v-else-if="Number(realnameInfo.status) === 2">
|
||||||
<image
|
<!-- <image
|
||||||
src="@/static/images/page-sub/realname/realname-success.png"
|
src="@/static/images/page-sub/realname/realname-success.png"
|
||||||
class="w-150 h-150 block"
|
class="w-150 h-150 block"
|
||||||
mode="aspectFit"
|
mode="aspectFit"
|
||||||
/>
|
/> -->
|
||||||
|
<wd-status-tip image="comment" />
|
||||||
<view class="text-center mt-15 text-14 text-#999">恭喜您,实名认证成功</view>
|
<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 class="btn-gradient px-30 text-white rounded-full m-15 text-16" @click="onGoHome">
|
||||||
返回
|
返回
|
||||||
@@ -121,6 +124,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
import { getRealNameAuthAPI, realNameAuthAPI } from '@/service'
|
import { getRealNameAuthAPI, realNameAuthAPI } from '@/service'
|
||||||
import { useUserStore } from '@/store'
|
import { useUserStore } from '@/store'
|
||||||
import { mergeStep, showModal } from '@/utils'
|
import { mergeStep, showModal } from '@/utils'
|
||||||
@@ -151,12 +155,12 @@ const onSubmit = mergeStep(async () => {
|
|||||||
// await showModal('请上传身份证照片')
|
// await showModal('请上传身份证照片')
|
||||||
// return
|
// return
|
||||||
// }
|
// }
|
||||||
await realNameAuthAPI({
|
const res = await realNameAuthAPI({
|
||||||
...form.value,
|
...form.value,
|
||||||
// zcardimage: zcardimage.value,
|
// zcardimage: zcardimage.value,
|
||||||
// fcardimage: fcardimage.value,
|
// fcardimage: fcardimage.value,
|
||||||
})
|
})
|
||||||
await showModal('提交成功,请耐心等待审核!')
|
await showModal(res.msg ? res.msg : '提交成功,请耐心等待审核!')
|
||||||
realnameInfo.value = await getRealNameAuthAPI().then((res) => {
|
realnameInfo.value = await getRealNameAuthAPI().then((res) => {
|
||||||
return res.data
|
return res.data
|
||||||
})
|
})
|
||||||
@@ -179,8 +183,16 @@ onLoad(async () => {
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.withdrawal-type-edit-page {
|
.realname-page {
|
||||||
--wot-input-placeholder-color: #889bc6;
|
--wot-input-placeholder-color: #889bc6;
|
||||||
--wot-cell-wrapper-padding: 0;
|
--wot-cell-wrapper-padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
min-height: 100vh;
|
||||||
|
padding-bottom: 50px;
|
||||||
|
// background-repeat: no-repeat;
|
||||||
|
// background-size: cover;
|
||||||
|
background:
|
||||||
|
url('@/static/images/brand-person.png') right 20px bottom / 60% no-repeat,
|
||||||
|
linear-gradient(180deg, #fff3eb 0%, #ffffff 100%);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -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(m²)</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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -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>
|
|
||||||
@@ -31,7 +31,9 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<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.kaihuhang }}({{ item.banknum.slice(0, 4) }}****{{ item.banknum.slice(-4) }})
|
||||||
|
</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>
|
||||||
|
|||||||
@@ -11,18 +11,6 @@
|
|||||||
<view class="withdrawal-type-edit-page pb-100 min-h-screen">
|
<view class="withdrawal-type-edit-page pb-100 min-h-screen">
|
||||||
<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">
|
||||||
<view>收款类型</view>
|
|
||||||
<wd-select-picker
|
|
||||||
type="radio"
|
|
||||||
custom-class="!p-0"
|
|
||||||
custom-value-class="text-14 text-#889BC6 text-right"
|
|
||||||
class="flex-1"
|
|
||||||
placeholder="请选择收款类型"
|
|
||||||
v-model="form.typedata"
|
|
||||||
:columns="columns"
|
|
||||||
></wd-select-picker>
|
|
||||||
</view>
|
|
||||||
<view class="flex items-center py-15 text-14" v-if="form.typedata === 3">
|
|
||||||
<view>开户行</view>
|
<view>开户行</view>
|
||||||
<input
|
<input
|
||||||
class="flex-1 text-right text-14"
|
class="flex-1 text-right text-14"
|
||||||
@@ -33,25 +21,15 @@
|
|||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex items-center py-15 text-14">
|
<view class="flex items-center py-15 text-14">
|
||||||
<view>{{ typeName }}账号</view>
|
<view>银行卡账号</view>
|
||||||
<input
|
<input
|
||||||
class="flex-1 text-right text-14"
|
class="flex-1 text-right text-14"
|
||||||
placeholder-class=" text-#889BC6 text-right"
|
placeholder-class=" text-#889BC6 text-right"
|
||||||
type="text"
|
type="text"
|
||||||
:placeholder="`请输入${typeName}账号`"
|
placeholder="请输入银行卡账号"
|
||||||
v-model="form.banknum"
|
v-model="form.banknum"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex items-center py-15 text-14">
|
|
||||||
<view>{{ form.typedata === 3 ? '持卡人' : '' }}姓名</view>
|
|
||||||
<input
|
|
||||||
class="flex-1 text-right text-14"
|
|
||||||
placeholder-class=" text-#889BC6 text-right"
|
|
||||||
type="text"
|
|
||||||
:placeholder="`请输入${form.typedata === 3 ? '持卡人' : ''}姓名`"
|
|
||||||
v-model="form.name"
|
|
||||||
/>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<!-- <view class="flex items-center py-15 text-14">
|
<!-- <view class="flex items-center py-15 text-14">
|
||||||
<view>备注</view>
|
<view>备注</view>
|
||||||
@@ -83,24 +61,6 @@ const form = ref({
|
|||||||
name: '',
|
name: '',
|
||||||
banknum: '',
|
banknum: '',
|
||||||
})
|
})
|
||||||
const columns = [
|
|
||||||
{
|
|
||||||
label: '支付宝',
|
|
||||||
value: 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '微信',
|
|
||||||
value: 2,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '银行卡',
|
|
||||||
value: 3,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
const typeName = computed(() => {
|
|
||||||
return ['支付宝', '微信', '银行卡'][Number(form.value.typedata) - 1]
|
|
||||||
})
|
|
||||||
|
|
||||||
const onAddType = mergeStep(async () => {
|
const onAddType = mergeStep(async () => {
|
||||||
if (form.value.typedata === 3) {
|
if (form.value.typedata === 3) {
|
||||||
@@ -113,13 +73,7 @@ const onAddType = mergeStep(async () => {
|
|||||||
}
|
}
|
||||||
if (!form.value.banknum) {
|
if (!form.value.banknum) {
|
||||||
return uni.showToast({
|
return uni.showToast({
|
||||||
title: '请输入账号',
|
title: '请输入银行卡账号',
|
||||||
icon: 'none',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (!form.value.name) {
|
|
||||||
return uni.showToast({
|
|
||||||
title: '请输入姓名',
|
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<route lang="json5" type="page">
|
<route lang="json5" type="page">
|
||||||
{
|
{
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '收款方式',
|
navigationBarTitleText: '银行卡列表',
|
||||||
navigationBarBackgroundColor: '#fff',
|
navigationBarBackgroundColor: '#fff',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -16,27 +16,12 @@
|
|||||||
@click="onSelectType(item)"
|
@click="onSelectType(item)"
|
||||||
>
|
>
|
||||||
<image
|
<image
|
||||||
v-if="Number(item.typedata) === 3"
|
|
||||||
class="w-45 h-45"
|
class="w-45 h-45"
|
||||||
src="@/static/images/invest/unionpay-icon.png"
|
src="@/static/images/invest/unionpay-icon.png"
|
||||||
mode="aspectFit"
|
mode="aspectFit"
|
||||||
/>
|
/>
|
||||||
<image
|
|
||||||
v-if="Number(item.typedata) === 1"
|
|
||||||
class="w-45 h-45"
|
|
||||||
src="@/static/images/invest/alipay-icon.png"
|
|
||||||
mode="aspectFit"
|
|
||||||
/>
|
|
||||||
<image
|
|
||||||
v-if="Number(item.typedata) === 2"
|
|
||||||
class="w-45 h-45"
|
|
||||||
src="@/static/images/invest/wechat-icon.png"
|
|
||||||
mode="aspectFit"
|
|
||||||
/>
|
|
||||||
<view class="flex-1 ml-15">
|
<view class="flex-1 ml-15">
|
||||||
<view class="text-16 font-bold">
|
<view class="text-16 font-bold">{{ item.kaihuhang }}</view>
|
||||||
{{ ['支付宝', '微信', '银行卡'][Number(item.typedata) - 1] }}
|
|
||||||
</view>
|
|
||||||
<view class="mt-10 text-14 text-#889BC6">{{ item.banknum }}</view>
|
<view class="mt-10 text-14 text-#889BC6">{{ item.banknum }}</view>
|
||||||
</view>
|
</view>
|
||||||
<wd-icon v-if="isSelect" name="arrow-right" size="14px"></wd-icon>
|
<wd-icon v-if="isSelect" name="arrow-right" size="14px"></wd-icon>
|
||||||
|
|||||||
@@ -2,29 +2,22 @@
|
|||||||
{
|
{
|
||||||
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 title-color="#333" />
|
||||||
<template #right>
|
|
||||||
<image
|
|
||||||
@click="onWithdrawalDetail"
|
|
||||||
src="/static/images/page-sub/recharge.png"
|
|
||||||
class="w-24 h-24"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</NavBar>
|
|
||||||
<view
|
<view
|
||||||
class="m-15 text-white flex rounded-tl-10 rounded-br-10 justify-between items-center p-15 bg-[linear-gradient(90deg,#E4C096,#BE805A)]"
|
class="m-15 text-white flex rounded-tl-10 rounded-br-10 justify-between items-center p-15 btn-gradient"
|
||||||
>
|
>
|
||||||
<view class="text-14">流量余额</view>
|
<view class="text-14">钱包余额</view>
|
||||||
<view class="text-17 font-bold">{{ userStore.userInfo?.money }}</view>
|
<view class="text-17 font-bold">{{ userStore.userInfo?.money }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="p-15 bg-white shadow-[0_-2px_3px_rgba(10,68,245,0.1)] rounded-10">
|
<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,23 +27,30 @@
|
|||||||
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>
|
|
||||||
<view class="mt-15">
|
<view class="mt-15">
|
||||||
<view class="py-15 text-18 text-#333">提现信息</view>
|
<view class="text-14 text-#333">收款方式</view>
|
||||||
<view class="bg-white rounded-10 px-15" style="box-shadow: 0px 0px 10px 0px #0a44f51a">
|
<view
|
||||||
<view class="flex items-center text-14 text-#333 py-25">
|
class="flex items-center text-14 mt-15 text-#333 p-16 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10"
|
||||||
<view class="">银行卡号</view>
|
@click="onSelectPayType"
|
||||||
<input class="text-14 text-#889BC6 text-right flex-1" placeholder="请输入银行卡号" />
|
>
|
||||||
|
<view class="flex-1">
|
||||||
|
{{
|
||||||
|
currentBank ? `${currentBank.kaihuhang}:${currentBank.banknum}` : '请选择收款方式'
|
||||||
|
}}
|
||||||
</view>
|
</view>
|
||||||
<view class="flex items-center text-14 text-#333 py-25">
|
<wd-icon name="arrow-right" size="16px"></wd-icon>
|
||||||
<view class="">开户银行</view>
|
|
||||||
<input class="text-14 text-#889BC6 text-right flex-1" placeholder="请输入开户银行" />
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view class="text-14 text-#889BC6 mt-30">提现说明(TIPS)</view>
|
||||||
|
<view class="text-12 text-#889BC6 mt-15">
|
||||||
|
<view>1、如遇到系统结算繁忙,结算将会延迟到账</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
@@ -61,17 +61,15 @@
|
|||||||
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'
|
||||||
@@ -88,24 +86,29 @@ const onWithdrawalDetail = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const withdrawalTaxPopupRef = ref(null)
|
const currentBank = ref<any>(null)
|
||||||
const onSubmit = async () => {
|
const onSelectPayType = () => {
|
||||||
// if (!form.value.money) {
|
uni.$once('withdrawal-type', (data: any) => {
|
||||||
// return uni.showToast({
|
form.value.bankid = data.id
|
||||||
// title: '请输入提现金额',
|
currentBank.value = data
|
||||||
// icon: 'none',
|
})
|
||||||
// })
|
uni.navigateTo({
|
||||||
// }
|
url: '/pages-sub/withdrawal-type/index?type=select',
|
||||||
|
})
|
||||||
// await showModal('确认提现?')
|
|
||||||
// await submitWithdrawalAPI(form.value)
|
|
||||||
// await showModal('提交成功')
|
|
||||||
// onWithdrawalDetail()
|
|
||||||
withdrawalTaxPopupRef.value.onShowPopup()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTaxSubmit(item) {
|
const onSubmit = async () => {
|
||||||
console.log(item)
|
if (!form.value.money) {
|
||||||
|
return uni.showToast({
|
||||||
|
title: '请输入提现金额',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
await showModal('确认提现?')
|
||||||
|
const res = await submitWithdrawalAPI(form.value)
|
||||||
|
await showModal(res.msg ? res.msg : '提交成功')
|
||||||
|
onWithdrawalDetail()
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
},
|
},
|
||||||
"tabBar": {
|
"tabBar": {
|
||||||
"color": "#999999",
|
"color": "#999999",
|
||||||
"selectedColor": "#BE805A",
|
"selectedColor": "#D3B389",
|
||||||
"backgroundColor": "#ffffff",
|
"backgroundColor": "#ffffff",
|
||||||
"borderStyle": "#E7E7E7",
|
"borderStyle": "#E7E7E7",
|
||||||
"height": "56px",
|
"height": "56px",
|
||||||
@@ -24,22 +24,22 @@
|
|||||||
"spacing": "3px",
|
"spacing": "3px",
|
||||||
"list": [
|
"list": [
|
||||||
{
|
{
|
||||||
"iconPath": "static/tabbar/home.png",
|
"iconPath": "static/tabbar/bank.png",
|
||||||
"selectedIconPath": "static/tabbar/homeHL.png",
|
"selectedIconPath": "static/tabbar/bankHL.png",
|
||||||
"pagePath": "pages/index/index",
|
"pagePath": "pages/bank/index",
|
||||||
"text": "首页"
|
"text": "首页"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"iconPath": "static/tabbar/invite.png",
|
||||||
|
"selectedIconPath": "static/tabbar/inviteHL.png",
|
||||||
|
"pagePath": "pages/invite/index",
|
||||||
|
"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",
|
|
||||||
"text": "邀请好友"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"iconPath": "static/tabbar/invest.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",
|
||||||
@@ -51,11 +51,12 @@
|
|||||||
},
|
},
|
||||||
"pages": [
|
"pages": [
|
||||||
{
|
{
|
||||||
"path": "pages/index/index",
|
"path": "pages/bank/index",
|
||||||
"type": "home",
|
"type": "home",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationStyle": "custom",
|
"navigationBarTitleText": "银行卡",
|
||||||
"navigationBarTitleText": "云房产"
|
"navigationBarBackgroundColor": "#fff",
|
||||||
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -67,19 +68,27 @@
|
|||||||
},
|
},
|
||||||
"notNeedLogin": true
|
"notNeedLogin": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/index/index",
|
||||||
|
"type": "page",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom",
|
||||||
|
"navigationBarTitleText": "首页"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"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"
|
||||||
}
|
}
|
||||||
@@ -124,14 +133,6 @@
|
|||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "asset-detail/index",
|
|
||||||
"type": "page",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "股权流量提现明细",
|
|
||||||
"navigationBarBackgroundColor": "#fff"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "convert/index",
|
"path": "convert/index",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
@@ -147,19 +148,12 @@
|
|||||||
"navigationBarTitleText": "分包页面 标题"
|
"navigationBarTitleText": "分包页面 标题"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "equity-withdrawal/index",
|
|
||||||
"type": "page",
|
|
||||||
"style": {
|
|
||||||
"navigationStyle": "custom",
|
|
||||||
"navigationBarTitleText": "股权提现"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "hot-news/index",
|
"path": "hot-news/index",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "热点新闻"
|
"navigationBarTitleText": "热点新闻",
|
||||||
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -175,8 +169,7 @@
|
|||||||
"type": "page",
|
"type": "page",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "投资记录",
|
"navigationBarTitleText": "投资记录",
|
||||||
"navigationBarBackgroundColor": "#fff",
|
"navigationBarBackgroundColor": "#fff"
|
||||||
"navigationStyle": "custom"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -208,18 +201,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",
|
"path": "news/index",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
@@ -250,28 +236,8 @@
|
|||||||
"type": "page",
|
"type": "page",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "实名认证",
|
"navigationBarTitleText": "实名认证",
|
||||||
"navigationBarBackgroundColor": "#fff"
|
"navigationBarBackgroundColor": "#fff",
|
||||||
}
|
"navigationStyle": "custom"
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "room-certificate/index",
|
|
||||||
"type": "page",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "红本房产证"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "room-mail/index",
|
|
||||||
"type": "page",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "房本邮寄"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "room-transfer/index",
|
|
||||||
"type": "page",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "房产过户"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -288,7 +254,7 @@
|
|||||||
"type": "page",
|
"type": "page",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationStyle": "custom",
|
"navigationStyle": "custom",
|
||||||
"navigationBarTitleText": "流量提现"
|
"navigationBarTitleText": "提现"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -311,7 +277,7 @@
|
|||||||
"path": "withdrawal-type/index",
|
"path": "withdrawal-type/index",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "收款方式",
|
"navigationBarTitleText": "银行卡列表",
|
||||||
"navigationBarBackgroundColor": "#fff"
|
"navigationBarBackgroundColor": "#fff"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,117 @@
|
|||||||
|
<route lang="json5" type="home">
|
||||||
|
{
|
||||||
|
style: {
|
||||||
|
navigationBarTitleText: '银行卡',
|
||||||
|
navigationBarBackgroundColor: '#fff',
|
||||||
|
navigationStyle: 'custom',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view class="bank-page min-h-screen pb-50">
|
||||||
|
<NavBar title-color="#333" />
|
||||||
|
<view class="bank-card mx-auto mt-24 relative w-300 h-182 rounded-15">
|
||||||
|
<view class="absolute text-18 top-100 left-20 text-white" style="font-family: FARRINGTON-7B">
|
||||||
|
{{ userStore.userInfo.banknum.replace(/(\d{4})(?=\d)/g, '$1 ') }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view
|
||||||
|
class="rounded-15 mx-auto mt-15 w-345 flex items-center justify-center text-12 px-30 py-20 text-#E5A200"
|
||||||
|
border="1px solid #FFDD99"
|
||||||
|
style="
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
rgba(255, 221, 153, 0.2) 0%,
|
||||||
|
rgba(239, 184, 90, 0.2) 100%
|
||||||
|
);
|
||||||
|
"
|
||||||
|
>
|
||||||
|
云家银行专属卡是由全球各地银行联合发行的银行
|
||||||
|
完成卡。首批发行仅限五万张,云家人的资产将全部到账到此卡,一人一卡,此专属卡无任何限制,可在全球210个国家及地区进行使用!
|
||||||
|
</view>
|
||||||
|
<view
|
||||||
|
class="rounded-full mx-auto mt-15 w-345 h-45 flex items-center justify-center text-15"
|
||||||
|
style="
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
rgba(255, 221, 153, 0.2) 0%,
|
||||||
|
rgba(239, 184, 90, 0.2) 100%
|
||||||
|
);
|
||||||
|
border: 1px solid #ffdd99;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
卡内余额:{{ userStore.userInfo.money }}
|
||||||
|
</view>
|
||||||
|
<view
|
||||||
|
class="btn-gradient rounded-full text-white mx-auto mt-10 w-345 h-40 flex items-center justify-center text-15"
|
||||||
|
@click="onWithdraw"
|
||||||
|
>
|
||||||
|
提现
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view
|
||||||
|
class="flex bg-white py-15 rounded-10 mt-150 w-345 mx-auto border-2 border-#FFDD99 border-solid"
|
||||||
|
>
|
||||||
|
<view class="flex-1 flex flex-col items-center" @click="handleOfficialCommunity">
|
||||||
|
<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="handleOfficialCommunity">
|
||||||
|
<image class="w-30 h-30" src="@/static/images/home/nav-3.png" mode="aspectFill" />
|
||||||
|
<text class="mt-8 text-14 text-#333">在线客服</text>
|
||||||
|
</view>
|
||||||
|
<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>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import { downloadAppAPI, getBankCardAPI } from '@/service'
|
||||||
|
import { useUserStore } from '@/store'
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
|
||||||
|
const list = ref([])
|
||||||
|
const loadData = async () => {
|
||||||
|
list.value = (await getBankCardAPI({
|
||||||
|
limit: 1000,
|
||||||
|
page: 1,
|
||||||
|
}).then((res) => res.data)) as any
|
||||||
|
}
|
||||||
|
onShow(async () => {
|
||||||
|
loadData()
|
||||||
|
})
|
||||||
|
|
||||||
|
function onWithdraw() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages-sub/withdrawal/index',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleOfficialCommunity = () => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages-sub/official-community/index',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDownload = () => {
|
||||||
|
downloadAppAPI()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.bank-page {
|
||||||
|
background:
|
||||||
|
url('@/static/images/home/bg.jpg') no-repeat top -40px center / cover,
|
||||||
|
linear-gradient(180deg, #fff3eb 0%, #ffffff 100%);
|
||||||
|
}
|
||||||
|
.bank-card {
|
||||||
|
background-image: url('@/static/images/bank/card.jpg');
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
}
|
}
|
||||||
</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">
|
||||||
@@ -116,6 +116,7 @@ onLoad(() => {
|
|||||||
.login-container {
|
.login-container {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
padding-bottom: 50px;
|
||||||
background-image: url('@/static/images/login-bg.jpg');
|
background-image: url('@/static/images/login-bg.jpg');
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
|
|||||||
@@ -1,66 +1,102 @@
|
|||||||
<!-- 使用 type="home" 属性设置首页,其他页面不需要设置,默认为page;推荐使用json5,更强大,且允许注释 -->
|
<!-- 使用 type="home" 属性设置首页,其他页面不需要设置,默认为page;推荐使用json5,更强大,且允许注释 -->
|
||||||
<route lang="json5" type="home">
|
<route lang="json5" type="page">
|
||||||
{
|
{
|
||||||
style: {
|
style: {
|
||||||
navigationStyle: 'custom',
|
navigationStyle: 'custom',
|
||||||
navigationBarTitleText: '云房产',
|
navigationBarTitleText: '首页',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</route>
|
</route>
|
||||||
<template>
|
<template>
|
||||||
<view class="home-page pb-50">
|
<view class="home-page">
|
||||||
<NavBar />
|
<NavBar />
|
||||||
|
|
||||||
<view
|
<swiper
|
||||||
class="flex bg-white py-15 rounded-10 mx-15 mb-15 mt-280 border-2 border-white border-solid"
|
indicator-active-color="#EFB85A"
|
||||||
style="box-shadow: 0px 4px 10px 0px #cbcbcb4d"
|
indicator-color="rgba(0,0,0,0.1)"
|
||||||
|
indicator-dots
|
||||||
|
autoplay
|
||||||
|
circular
|
||||||
|
class="w-345 h-170 mx-auto mt-10"
|
||||||
>
|
>
|
||||||
<view class="flex-1 flex flex-col items-center" @click="handleInvite">
|
<swiper-item v-for="item in bannerList" :key="item.id">
|
||||||
|
<image
|
||||||
|
class="block w-345 h-170 rounded-10 overflow-hidden"
|
||||||
|
:src="getImageUrl(item.image)"
|
||||||
|
mode="aspectFill"
|
||||||
|
/>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
|
||||||
|
<view class="flex bg-white 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>
|
||||||
<view class="flex-1 flex flex-col items-center" @click="handleDownload">
|
<!-- <view class="flex-1 flex flex-col items-center" @click="handleInvite">
|
||||||
<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">抽奖转盘</text>
|
||||||
|
</view> -->
|
||||||
|
<view class="flex-1 flex flex-col items-center" @click="handleOfficialCommunity">
|
||||||
|
<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="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 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>
|
</view>
|
||||||
|
|
||||||
<view class="text-30 text-gradient my-30 text-center font-bold">云房产集团</view>
|
<view class="bg-white pt-15 px-15 rounded-10 m-15">
|
||||||
|
<view class="flex justify-center items-center">
|
||||||
|
<view class="text-14 text-#333">最新时讯</view>
|
||||||
|
<!-- <view class="text-12 text-#999" @click="handleNews">查看全部</view> -->
|
||||||
|
</view>
|
||||||
|
<swiper
|
||||||
|
indicator-active-color="#3B81F3"
|
||||||
|
indicator-color="rgba(0,0,0,0.1)"
|
||||||
|
indicator-dots
|
||||||
|
autoplay
|
||||||
|
circular
|
||||||
|
class="h-200 mt-10"
|
||||||
|
>
|
||||||
|
<swiper-item v-for="item in newsList" :key="item.id">
|
||||||
|
<video class="w-full h-160" :src="item.image" mode="aspectFill" />
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
</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="flex justify-between items-center">
|
||||||
|
<view class="text-14 text-#333">热点新闻</view>
|
||||||
|
<view class="text-12 text-#999" @click="handleHotNews">查看全部</view>
|
||||||
|
</view>
|
||||||
<view
|
<view
|
||||||
class="mt-15"
|
class="flex mt-15"
|
||||||
v-for="item in hotNewsList"
|
v-for="item in hotNewsList"
|
||||||
: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
|
||||||
<view class="mt-10 flex-1 flex flex-col justify-between">
|
class="w-85 h-85 rounded-10 bg-gray-100"
|
||||||
<view class="text-14 text-#666">{{ item.name }}</view>
|
:src="getImageUrl(item.image)"
|
||||||
<!-- <view class="text-12 text-#999">{{ item.source }}</view> -->
|
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">{{ item.createtime }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<wd-popup :lockScroll="false" v-model="showNotice" custom-style="border-radius:0.2rem;">
|
<wd-popup :lockScroll="false" v-model="showNotice" custom-style="border-radius:0.2rem;">
|
||||||
<view class="px-30 py-30 w-330 h-457 notice-container rounded-20 flex flex-col">
|
<view class="px-30 py-30 w-330 h-457 notice-container rounded-20 flex flex-col">
|
||||||
<view class="text-18 font-bold pb-15 text-center">系统公告</view>
|
<view class="text-18 font-bold pb-15 text-center">系统公告</view>
|
||||||
<view class="py-15 flex-1 overflow-y-auto">
|
<view class="flex-1 overflow-y-auto">
|
||||||
<view
|
<view v-for="(item, index) in announcementList" :key="item.id" class="mb-15">
|
||||||
v-for="(item, index) in announcementList"
|
|
||||||
:key="item.id"
|
|
||||||
class="border-b-1 border-b-gray-300 border-b-solid py-15"
|
|
||||||
>
|
|
||||||
<view class="whitespace-nowrap text-14 font-bold text-gradient text-center">
|
|
||||||
公告{{ ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十'][index] }}
|
|
||||||
</view>
|
|
||||||
<view class="mt-12 text-14 text-#333 flex-1" v-html="item.content"></view>
|
<view class="mt-12 text-14 text-#333 flex-1" v-html="item.content"></view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -80,12 +116,12 @@ import Avatar from '@/components/Avatar.vue'
|
|||||||
import NavBar from '@/components/NavBar.vue'
|
import NavBar from '@/components/NavBar.vue'
|
||||||
import {
|
import {
|
||||||
downloadAppAPI,
|
downloadAppAPI,
|
||||||
|
getBannerAPI,
|
||||||
getIntroductionAPI,
|
getIntroductionAPI,
|
||||||
getOpenPersonalAccountAPI,
|
getOpenPersonalAccountAPI,
|
||||||
getRealNameAuthAPI,
|
|
||||||
} from '@/service'
|
} from '@/service'
|
||||||
import { useUserStore } from '@/store'
|
import { useUserStore } from '@/store'
|
||||||
import { showModal } from '@/utils'
|
import { getImageUrl, showModal } from '@/utils'
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'Home',
|
name: 'Home',
|
||||||
@@ -109,7 +145,7 @@ const handleNewsDetail = (id: number) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const handleInvite = () => {
|
const handleInvite = () => {
|
||||||
uni.switchTab({
|
uni.navigateTo({
|
||||||
url: '/pages/invite/index',
|
url: '/pages/invite/index',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -120,10 +156,6 @@ const handleOfficialCommunity = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleLottery = () => {
|
|
||||||
uni.navigateTo({ url: '/pages-sub/lottery/index' })
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleDownload = () => {
|
const handleDownload = () => {
|
||||||
downloadAppAPI()
|
downloadAppAPI()
|
||||||
}
|
}
|
||||||
@@ -159,12 +191,6 @@ watch(
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
onShow(() => {
|
|
||||||
if (announcementList.value.length) {
|
|
||||||
showNotice.value = true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const handleOpenAccount = async () => {
|
const handleOpenAccount = async () => {
|
||||||
await getOpenPersonalAccountAPI()
|
await getOpenPersonalAccountAPI()
|
||||||
@@ -172,15 +198,21 @@ const handleOpenAccount = async () => {
|
|||||||
userStore.loadUserInfo()
|
userStore.loadUserInfo()
|
||||||
// showModal('开通个人养老账户时,需邀请一名用户')
|
// showModal('开通个人养老账户时,需邀请一名用户')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取轮播图
|
||||||
|
const bannerList = ref([])
|
||||||
|
const getBanner = async () => {
|
||||||
|
const res = await getBannerAPI()
|
||||||
|
bannerList.value = res.data
|
||||||
|
}
|
||||||
|
onLoad(getBanner)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.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: linear-gradient(180deg, #fff3da 0%, #f8f8f8 100%);
|
||||||
background-position: top;
|
|
||||||
background-size: 100%;
|
|
||||||
}
|
}
|
||||||
.notice-container {
|
.notice-container {
|
||||||
background-image: url('@/static/images/home/notice-bg.jpg');
|
background-image: url('@/static/images/home/notice-bg.jpg');
|
||||||
|
|||||||
@@ -3,180 +3,66 @@
|
|||||||
{
|
{
|
||||||
style: {
|
style: {
|
||||||
navigationStyle: 'custom',
|
navigationStyle: 'custom',
|
||||||
navigationBarTitleText: '房产集团',
|
navigationBarTitleText: '资产平移',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</route>
|
</route>
|
||||||
<template>
|
<template>
|
||||||
<view class="invest-page">
|
<view class="invest-page min-h-screen">
|
||||||
<!-- <NavBar title-color="#46200B" /> -->
|
<NavBar title-color="#333" />
|
||||||
|
<view class="mt-320 pl-15 text-24 text-white" style="text-shadow: 0 0 2px #ff5153">
|
||||||
<view class="pt-150">
|
银行卡恢复列表
|
||||||
|
</view>
|
||||||
|
<view class="mt-15 px-15 pb-15">
|
||||||
<view
|
<view
|
||||||
v-for="item in investmentList"
|
class="flex items-center mt-10 text-#333 p-15 rounded-10 bg-#FFF9F2 border-2 border-#FFDD99 border-solid"
|
||||||
|
v-for="item in list"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
class="p-15 bg-white rounded-20 mx-auto w-345 relative mb-15"
|
|
||||||
>
|
>
|
||||||
<view class="flex">
|
<view class="flex-1">
|
||||||
<image
|
<view class="text-15">{{ item.name }}</view>
|
||||||
class="rounded-10 w-100 h-100"
|
<view class="text-12 mt-8">邀请1人</view>
|
||||||
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="text-15 text-#FF3B30">100~150²m</view>
|
|
||||||
</view>
|
|
||||||
<view class="text-#D9D9D9">|</view>
|
|
||||||
<view class="flex-1 text-center">
|
|
||||||
<view class="text-15 text-#FF3B30">仅剩4969套</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="mt-15 px-30 text-center text-15 text-white rounded-full py-8 btn-gradient"
|
class="btn-gradient text-white text-12 border-1 border-#EFB85A border-solid py-4 px-30 rounded-4 px-10"
|
||||||
@click="onInvest(item)"
|
v-if="item.ishuifu"
|
||||||
>
|
>
|
||||||
免费领取
|
已恢复
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view
|
||||||
</view>
|
class="text-12 text-#EFB85A border-1 border-#EFB85A border-solid py-4 px-30 rounded-4 px-10"
|
||||||
<wd-popup
|
@click="handleRecover(item)"
|
||||||
v-model="showRightConfig.show"
|
v-else
|
||||||
:title="`${showRightConfig.data?.name}权益`"
|
|
||||||
custom-style="border-radius: 0.2rem"
|
|
||||||
>
|
>
|
||||||
<view>
|
恢复
|
||||||
<image
|
</view>
|
||||||
class="w-345 h-345"
|
</view>
|
||||||
:src="getImageUrl(showRightConfig.data?.rightimage)"
|
|
||||||
mode="widthFix"
|
|
||||||
/>
|
|
||||||
</view>
|
</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 { getInvestmentListAPI, submitInvestAPI } from '@/service'
|
import { getBankCardRecoverAPI, getBankCardRecoverListAPI } from '@/service'
|
||||||
import { useUserStore } from '@/store'
|
import { getImageUrl, showModal } from '@/utils'
|
||||||
import { getImageUrl, mergeStep, showModal } from '@/utils'
|
|
||||||
|
|
||||||
defineOptions({
|
const { list, onReload } = useListPageRequest(getBankCardRecoverListAPI)
|
||||||
name: 'Home',
|
|
||||||
})
|
|
||||||
|
|
||||||
const tabList = [
|
const handleRecover = async (item: any) => {
|
||||||
{
|
const res = await getBankCardRecoverAPI({ id: item.id })
|
||||||
value: 1,
|
showModal(res.msg ? res.msg : '恢复成功')
|
||||||
title: '养老',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 2,
|
|
||||||
title: '医疗',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
const tabValue = ref(1)
|
|
||||||
|
|
||||||
const { list: investmentList, onReload } = useListPageRequest((params) =>
|
|
||||||
getInvestmentListAPI({
|
|
||||||
...params,
|
|
||||||
type: tabValue.value,
|
|
||||||
}),
|
|
||||||
)
|
|
||||||
|
|
||||||
watch(
|
|
||||||
() => tabValue.value,
|
|
||||||
() => {
|
|
||||||
onReload()
|
onReload()
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
const userStore = useUserStore()
|
|
||||||
|
|
||||||
const onGoInvestDetail = () => {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages-sub/invest-detail/index',
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const showRightConfig = ref({
|
|
||||||
show: false,
|
|
||||||
data: null,
|
|
||||||
})
|
|
||||||
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) => {
|
|
||||||
try {
|
|
||||||
await submitInvestAPI({
|
|
||||||
investid: item.id,
|
|
||||||
type: 3,
|
|
||||||
})
|
|
||||||
} catch (error) {
|
|
||||||
if (error?.data?.msg.includes('邀请')) {
|
|
||||||
return uni.switchTab({
|
|
||||||
url: '/pages/invite/index',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
await userStore.loadUserInfo()
|
|
||||||
uni.showToast({
|
|
||||||
title: tabValue.value === 2 ? '投保成功' : '投资成功',
|
|
||||||
icon: 'none',
|
|
||||||
})
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style lang="scss" scoped>
|
||||||
.invest-page {
|
.invest-page {
|
||||||
min-height: 100vh;
|
background-image: url('@/static/images/invest/bg.png'),
|
||||||
padding-bottom: 100px;
|
linear-gradient(to right, #e4c198, #e3bd93);
|
||||||
background-color: #3e2417;
|
|
||||||
background-image: url('@/static/images/invest/bg.jpg');
|
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: top;
|
background-position:
|
||||||
|
top -80px center,
|
||||||
|
top center;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
.main-content {
|
|
||||||
background: linear-gradient(90deg, #71a4f8 0%, #3b81f3 103.83%);
|
|
||||||
}
|
|
||||||
.bg-blue-red {
|
|
||||||
background-image: linear-gradient(90.02deg, #8bb9ff 0.02%, #be4343 100.27%);
|
|
||||||
}
|
|
||||||
.text-blue-red {
|
|
||||||
background-image: linear-gradient(90.02deg, #8bb9ff 0.02%, #be4343 100.27%);
|
|
||||||
background-clip: text;
|
|
||||||
-webkit-text-fill-color: transparent;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<route lang="json5">
|
<route lang="json5" type="page">
|
||||||
{
|
{
|
||||||
style: {
|
style: {
|
||||||
navigationBarTitleText: '邀请福利',
|
navigationBarTitleText: '社区',
|
||||||
navigationBarBackgroundColor: '#fff',
|
navigationBarBackgroundColor: '#fff',
|
||||||
navigationStyle: 'custom',
|
navigationStyle: 'custom',
|
||||||
},
|
},
|
||||||
@@ -23,7 +23,7 @@ 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({
|
||||||
@@ -68,40 +68,40 @@ onShow(async () => {
|
|||||||
const taskList = computed(() => {
|
const taskList = computed(() => {
|
||||||
if (!inviteInfo.value) return []
|
if (!inviteInfo.value) return []
|
||||||
|
|
||||||
// const inviteTask = Object.keys(inviteInfo.value.jianglitiaojian)
|
const inviteTask = Object.keys(inviteInfo.value.jianglitiaojian)
|
||||||
// const inviteTaskList = inviteTask.map((key) => ({
|
const inviteTaskList = inviteTask.map((key) => ({
|
||||||
// title: `邀请${key}人(${inviteInfo.value.num}/${key})`,
|
title: `邀请${key}人(${inviteInfo.value.num}/${key})`,
|
||||||
// desc: `每月额外领取${inviteInfo.value.jianglitiaojian[key]}元社保金`,
|
desc: `赠送${inviteInfo.value.jianglitiaojian[key]}元`,
|
||||||
// level: key,
|
level: key,
|
||||||
// status: Number(inviteInfo.value.num) >= Number(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,
|
open: false,
|
||||||
},
|
}))
|
||||||
|
// 查找最后一个完成的任务,并设置open为true
|
||||||
|
const lastCompletedTask = inviteTaskList.findLast((item) => item.status)
|
||||||
|
if (lastCompletedTask) {
|
||||||
|
lastCompletedTask.open = inviteInfo.value.open
|
||||||
|
}
|
||||||
|
return [
|
||||||
// {
|
// {
|
||||||
// title: '签到有礼',
|
// title: '注册实名',
|
||||||
// desc: `每日签到送${inviteInfo.value.qiandaojiang}元社保金`,
|
// desc: `领取${inviteInfo.value.realrewards}元`,
|
||||||
|
// // status: inviteInfo.value.isuserauth,
|
||||||
// status: false,
|
// status: false,
|
||||||
// open: false,
|
// open: false,
|
||||||
// },
|
// },
|
||||||
{
|
// {
|
||||||
title: '邀请有礼',
|
// title: '签到有礼',
|
||||||
desc: `每邀请1人并实名认证获得${inviteInfo.value.yaoqingjiang}元养老金`,
|
// desc: `每日签到送${inviteInfo.value.qiandaojiang}元`,
|
||||||
status: 0,
|
// status: false,
|
||||||
open: false,
|
// open: false,
|
||||||
},
|
// },
|
||||||
// ...inviteTaskList,
|
// {
|
||||||
|
// title: '邀请有礼',
|
||||||
|
// desc: `每邀请1人并实名认证获得${inviteInfo.value.yaoqingjiang}元养老金`,
|
||||||
|
// status: 0,
|
||||||
|
// open: false,
|
||||||
|
// },
|
||||||
|
...inviteTaskList,
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -114,8 +114,8 @@ async function onGetReward(level) {
|
|||||||
|
|
||||||
<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 items-center mt-286 mx-auto w-345 bg-#FFFFFFE5 p-15 rounded-20">
|
||||||
<view class="text-center">
|
<view class="text-center">
|
||||||
<view class="mt-15 rounded-10 overflow-hidden flex bg-#FFFFFF50 p-10 shadow">
|
<view class="mt-15 rounded-10 overflow-hidden flex bg-#FFFFFF50 p-10 shadow">
|
||||||
<VueQrcode
|
<VueQrcode
|
||||||
@@ -144,41 +144,53 @@ async function onGetReward(level) {
|
|||||||
</view>
|
</view>
|
||||||
<view class="mt-70 w-345 mx-auto">
|
<view class="mt-70 w-345 mx-auto">
|
||||||
<view
|
<view
|
||||||
class="bg-#F3F8FF rounded-10 border-#BE805A border-2 border-solid p-15 flex items-start"
|
class="bg-#FFF9F2 mt-5 rounded-10 border-#FFDD99 border-2 border-solid p-15 flex items-start"
|
||||||
v-for="item of taskList"
|
v-for="item of taskList"
|
||||||
:key="item.title"
|
:key="item.title"
|
||||||
>
|
>
|
||||||
<view class="flex-1">
|
<view class="flex-1">
|
||||||
<view class="text-15 text-#333 font-500">{{ item.title }}</view>
|
<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">{{ item.desc }}</view>
|
||||||
<view class="text-12 text-#333 mt-8">
|
|
||||||
赠送25000碧桂园股权
|
|
||||||
<br />
|
|
||||||
价值2500000万流量补贴30元
|
|
||||||
<br />
|
|
||||||
砸金蛋机会1次
|
|
||||||
</view>
|
|
||||||
</view>
|
</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"
|
class="w-fit ml-auto mr-0 rounded-4 px-10 py-4 leading-12 text-white text-12 mb-8"
|
||||||
|
style="background: linear-gradient(90deg, #ffdd99 0%, #efb85a 100%)"
|
||||||
v-if="item.status"
|
v-if="item.status"
|
||||||
>
|
>
|
||||||
已完成
|
已获取
|
||||||
</view>
|
</view>
|
||||||
<view
|
<!-- <view
|
||||||
class="w-fit ml-auto mr-0 bg-#F3CB3B33 rounded-4 px-10 py-4 leading-12 text-#FFA600 text-12"
|
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"
|
v-if="item.open"
|
||||||
@click="onGetReward(item.level)"
|
@click="onGetReward(item.level)"
|
||||||
>
|
>
|
||||||
领取社保金
|
领取
|
||||||
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="bg-#FFFFFFE5 rounded-20 mt-30 w-345 mx-auto p-15 flex">
|
||||||
|
<view class="flex-1 text-center">
|
||||||
|
<view class="text-18 text-#333">团队人数</view>
|
||||||
|
<view class="text-gradient text-18 mt-8">{{ inviteData.num }}</view>
|
||||||
|
<view class="font-500 text-14 mt-4">直推人数</view>
|
||||||
|
</view>
|
||||||
|
<view class="flex-1 text-center">
|
||||||
|
<view class="text-18 text-#333">我的佣金</view>
|
||||||
|
<!-- <view class="text-18 text-#333 h-25"></view> -->
|
||||||
|
<view class="text-gradient text-18 mt-8">{{ inviteData.performance }}</view>
|
||||||
|
<view class="font-500 text-14 mt-4">直推业绩</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="mt-15 w-345 mx-auto">
|
<view class="mt-15 w-345 mx-auto">
|
||||||
<view class="ml-15 text-18 text-white">团队成员({{ inviteData.num }}/人)</view>
|
<view class="ml-15 text-18 text-#DE9859">团队成员({{ inviteData.num }}/人)</view>
|
||||||
<view class="mt-15 bg-white px-15 pt-15 pb-4 rounded-10" v-for="item of list" :key="item.id">
|
<template v-if="list.length">
|
||||||
|
<view
|
||||||
|
class="mt-15 bg-white px-15 pt-15 pb-15 rounded-10"
|
||||||
|
v-for="item of list"
|
||||||
|
:key="item.id"
|
||||||
|
>
|
||||||
<view class="flex items-center">
|
<view class="flex items-center">
|
||||||
<Avatar :src="item.avatar" class="w-50 h-50" mode="aspectFill" />
|
<Avatar :src="item.avatar" class="w-50 h-50" mode="aspectFill" />
|
||||||
<view class="ml-15 flex-1">
|
<view class="ml-15 flex-1">
|
||||||
@@ -186,16 +198,10 @@ async function onGetReward(level) {
|
|||||||
<view class="text-12 text-#333 mt-10">{{ item.jointime }}</view>
|
<view class="text-12 text-#333 mt-10">{{ item.jointime }}</view>
|
||||||
</view>
|
</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>
|
||||||
|
</template>
|
||||||
|
<view class="mt-15 bg-white rounded-10 p-15" v-else>
|
||||||
|
<wd-status-tip image="content" tip="暂无内容" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -203,10 +209,10 @@ 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.jpg'),
|
||||||
background-image: url('@/static/images/page-sub/invite-bg.jpg');
|
linear-gradient(to right, #f1dbc3, #e8c5a3);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: top -40px center;
|
background-position: top center;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -8,16 +8,15 @@
|
|||||||
}
|
}
|
||||||
</route>
|
</route>
|
||||||
<template>
|
<template>
|
||||||
<view class="login-container relative pt-220">
|
<view class="login-container relative pt-44">
|
||||||
<!-- <NavBar title-color="#333" /> -->
|
<view class="text-28 pl-32 text-gradient" style="-webkit-background-clip: text">登录</view>
|
||||||
<!-- <view class="text-28 pl-32 text-gradient" style="-webkit-background-clip: text">登录</view> -->
|
<view class="pt-45">
|
||||||
<view class="py-45 bg-white mx-15 rounded-10">
|
<view class="bg-white mx-15 px-15 shadow-[0_0_10px_rgba(10,68,245,0.1)] rounded-10">
|
||||||
<view class="mx-15 px-15">
|
|
||||||
<view class="flex items-center py-15">
|
<view class="flex items-center py-15">
|
||||||
<view class="text-gradient">手机号</view>
|
<view class="text-gradient">手机号</view>
|
||||||
<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="请输入手机号"
|
||||||
@@ -37,7 +36,7 @@
|
|||||||
<view class="flex items-center py-15">
|
<view class="flex items-center py-15">
|
||||||
<view class="text-gradient">验证码</view>
|
<view class="text-gradient">验证码</view>
|
||||||
<input
|
<input
|
||||||
v-model="formData.verify_code"
|
v-model="formData.captcha"
|
||||||
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"
|
||||||
@@ -77,26 +76,27 @@ import { useUserStore } from '@/store/user'
|
|||||||
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const formData = ref({
|
const formData = ref({
|
||||||
mobile: '',
|
account: '',
|
||||||
password: '',
|
password: '',
|
||||||
verify_code: '',
|
captcha: '',
|
||||||
})
|
})
|
||||||
|
|
||||||
const { codeUrl, codeKey, refreshCode } = useCaptcha()
|
const { codeUrl, t: captchaT, refreshCode } = useCaptcha()
|
||||||
|
|
||||||
let redirect = '/'
|
let redirect = '/'
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
redirect = options.redirect ?? '/'
|
redirect = options.redirect ?? '/'
|
||||||
})
|
})
|
||||||
|
onShow(refreshCode)
|
||||||
|
|
||||||
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) {
|
if (!formData.value.captcha) {
|
||||||
return uni.showToast({
|
return uni.showToast({
|
||||||
title: '请输入验证码',
|
title: '请输入验证码',
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
@@ -104,8 +104,10 @@ const handleLogin = async () => {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const {
|
const {
|
||||||
data: { token },
|
data: {
|
||||||
} = await loginUserAPI({ ...formData.value, verify_key: codeKey.value })
|
userinfo: { token },
|
||||||
|
},
|
||||||
|
} = await loginUserAPI({ ...formData.value, t: captchaT.value })
|
||||||
userStore.setToken(token)
|
userStore.setToken(token)
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: redirect,
|
url: redirect,
|
||||||
@@ -141,8 +143,8 @@ onLoad(() => {
|
|||||||
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:
|
||||||
background-repeat: no-repeat;
|
url('@/static/images/brand-person.png') right 20px bottom / 60% no-repeat,
|
||||||
background-size: cover;
|
url('@/static/images/login-bg.jpg') top center / cover no-repeat;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -8,8 +8,9 @@
|
|||||||
</route>
|
</route>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="my-page pt-50">
|
<view class="my-page">
|
||||||
<view class="flex text-white px-15 items-center">
|
<NavBar />
|
||||||
|
<view class="flex mt-50 text-white px-15 items-center">
|
||||||
<!-- <Avatar class="w-60 h-60" :src="getImageUrl(userStore.userInfo?.avatar)" /> -->
|
<!-- <Avatar class="w-60 h-60" :src="getImageUrl(userStore.userInfo?.avatar)" /> -->
|
||||||
<Avatar class="w-60 h-60" />
|
<Avatar class="w-60 h-60" />
|
||||||
<view class="ml-15 flex-1">
|
<view class="ml-15 flex-1">
|
||||||
@@ -18,84 +19,26 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="text-12 mt-8">账号:{{ userStore.userInfo?.username }}</view>
|
<view class="text-12 mt-8">账号:{{ userStore.userInfo?.username }}</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view
|
<view
|
||||||
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"
|
class="flex border-#FFDD99 border-1 border-solid items-center justify-center h-32 w-100 btn-gradient rounded-full text-center text-14 text-white"
|
||||||
@click="handleSignIn"
|
@click="handleSignIn"
|
||||||
>
|
>
|
||||||
<image class="w-30 h-26 mt-5" src="@/static/images/my/sign-icon.png" mode="widthFix" />
|
|
||||||
<view class="ml-5">签到</view>
|
<view class="ml-5">签到</view>
|
||||||
</view> -->
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<image class="w-66 h-23 ml-15 mt-15" src="@/static/images/my/myEquity.png" mode="widthFix" />
|
<view class="mt-15 rounded-t-30 bg-white p-15 min-h-90vh">
|
||||||
<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-345 h-146 mx-auto block"
|
||||||
src="@/static/images/my/myFlowSubsidy.png"
|
src="@/static/images/my/recommend.jpg"
|
||||||
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">
|
<view class="mt-15 grid grid-cols-2 gap-10">
|
||||||
<view
|
<view
|
||||||
@click="item.handle"
|
@click="item.handle"
|
||||||
class="flex items-center justify-center rounded-tl-10 rounded-br-10 bg-[linear-gradient(45deg,#FFF7F0,#FBE1D1)] p-15"
|
class="flex items-center justify-center rounded-tl-10 rounded-br-10 bg-[linear-gradient(45deg,#FFDD9933,#EFB85A33)] p-15 border border-#EFB85A33 border-solid"
|
||||||
v-for="item in commonList"
|
v-for="item in commonList"
|
||||||
:key="item.title"
|
:key="item.title"
|
||||||
>
|
>
|
||||||
@@ -126,11 +69,6 @@ import CommonIcon1 from '@/static/images/my/common-icon-1.png'
|
|||||||
import CommonIcon2 from '@/static/images/my/common-icon-2.png'
|
import CommonIcon2 from '@/static/images/my/common-icon-2.png'
|
||||||
import CommonIcon3 from '@/static/images/my/common-icon-3.png'
|
import CommonIcon3 from '@/static/images/my/common-icon-3.png'
|
||||||
import CommonIcon4 from '@/static/images/my/common-icon-4.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()
|
||||||
|
|
||||||
@@ -146,17 +84,11 @@ const handleWithdrawalDetail = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleEquityWithdrawal = () => {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages-sub/equity-withdrawal/index',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleWithdrawal = () => {
|
const handleWithdrawal = () => {
|
||||||
// return showModal('暂未开放')
|
return showModal('暂未开放')
|
||||||
uni.navigateTo({
|
// uni.navigateTo({
|
||||||
url: '/pages-sub/withdrawal/index',
|
// url: '/pages-sub/withdrawal/index',
|
||||||
})
|
// })
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleTeam = () => {
|
const handleTeam = () => {
|
||||||
@@ -177,12 +109,6 @@ const handleAsset = (index = 0) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleAssetDetail = () => {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages-sub/asset-detail/index',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleBankCard = () => {
|
const handleBankCard = () => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages-sub/withdrawal-type/index',
|
url: '/pages-sub/withdrawal-type/index',
|
||||||
@@ -205,10 +131,9 @@ const handleConvert = (type) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const handleSignIn = async () => {
|
const handleSignIn = async () => {
|
||||||
await getSignInAPI()
|
const res = await getSignInAPI()
|
||||||
const { data } = await getCommunityInviteFirstAPI()
|
if (res.msg) {
|
||||||
if (data.qiandaojiang) {
|
showModal(res.msg.replace('元', '') + '元')
|
||||||
showModal('签到成功,获得' + data.qiandaojiang + '元社保金')
|
|
||||||
} else {
|
} else {
|
||||||
showModal('签到成功')
|
showModal('签到成功')
|
||||||
}
|
}
|
||||||
@@ -217,7 +142,7 @@ const handleSignIn = async () => {
|
|||||||
|
|
||||||
const handleKefu = () => {
|
const handleKefu = () => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages-sub/official-community/index',
|
url: '/pages-sub/withdrawal-type/index',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,53 +154,25 @@ const handleInvestDetail = () => {
|
|||||||
|
|
||||||
const commonList = [
|
const commonList = [
|
||||||
{
|
{
|
||||||
title: '红本房产证',
|
title: '资金明细',
|
||||||
icon: CommonIcon5,
|
icon: CommonIcon1,
|
||||||
handle: () => {
|
handle: () => handleAsset(0),
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages-sub/room-certificate/index',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '我的房产',
|
title: '提现明细',
|
||||||
icon: CommonIcon8,
|
icon: CommonIcon2,
|
||||||
handle: () => {
|
handle: handleWithdrawalDetail,
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages-sub/my-room-certificate/index',
|
|
||||||
})
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '股权提现明细',
|
|
||||||
icon: CommonIcon6,
|
|
||||||
handle: handleAssetDetail,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '流量提现明细',
|
|
||||||
icon: CommonIcon7,
|
|
||||||
handle: handleAssetDetail,
|
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// title: '我的社区',
|
// title: '修改密码',
|
||||||
// icon: CommonIcon4,
|
|
||||||
// handle: handleInvite,
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: '在线客服',
|
|
||||||
// icon: CommonIcon9,
|
|
||||||
// handle: handleKefu,
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: 'APP下载',
|
|
||||||
// icon: CommonIcon3,
|
// icon: CommonIcon3,
|
||||||
// handle: downloadAppAPI,
|
// // handle: handleChangePassword,
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// title: '官方群聊',
|
|
||||||
// icon: CommonIcon1,
|
|
||||||
// handle: handleKefu,
|
|
||||||
// },
|
// },
|
||||||
|
{
|
||||||
|
title: '银行卡',
|
||||||
|
icon: CommonIcon4,
|
||||||
|
handle: handleKefu,
|
||||||
|
},
|
||||||
]
|
]
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -284,6 +181,6 @@ const commonList = [
|
|||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
background-image: url('@/static/images/my/my-bg.jpg');
|
background-image: url('@/static/images/my/my-bg.jpg');
|
||||||
background-position: top -40px center;
|
background-position: top -40px center;
|
||||||
background-size: cover;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -13,16 +13,15 @@ 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: '',
|
||||||
})
|
})
|
||||||
@@ -30,13 +29,11 @@ const form = ref({
|
|||||||
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',
|
||||||
@@ -58,31 +55,22 @@ const handleRegister = mergeStep(async () => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!form.value.invite_code) {
|
if (!form.value.invitecode) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '请输入邀请码',
|
title: '请输入邀请码',
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!form.value.verify_code) {
|
const {
|
||||||
return uni.showToast({
|
data: {
|
||||||
title: '请输入验证码',
|
userinfo: { token },
|
||||||
icon: 'none',
|
},
|
||||||
})
|
} = await registerUserAPI(form.value)
|
||||||
}
|
userStore.setToken(token)
|
||||||
|
|
||||||
try {
|
|
||||||
await registerUserAPI({ ...form.value, verify_key: codeKey.value })
|
|
||||||
await showModal('注册成功', {
|
|
||||||
confirmText: '立即登录',
|
|
||||||
})
|
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: '/pages/login/index',
|
url: redirect,
|
||||||
})
|
})
|
||||||
} catch {
|
|
||||||
refreshCode()
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
onLoad(async (options) => {
|
onLoad(async (options) => {
|
||||||
if (isLogged()) {
|
if (isLogged()) {
|
||||||
@@ -90,19 +78,19 @@ 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="register-container relative">
|
||||||
<NavBar />
|
<NavBar title-color="#333" />
|
||||||
<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 bg-white 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>
|
<view class="text-gradient">手机号</view>
|
||||||
<input
|
<input
|
||||||
v-model="form.mobile"
|
v-model="form.username"
|
||||||
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"
|
||||||
@@ -129,27 +117,21 @@ 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>
|
<view class="text-gradient">验证码</view>
|
||||||
<input
|
<input
|
||||||
v-model="form.verify_code"
|
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"
|
||||||
placeholder="请输入验证码"
|
placeholder="请输入验证码"
|
||||||
/>
|
/>
|
||||||
<img
|
<image class="w-60 h-24 ml-15 bg-gray-400" mode="aspectFit" />
|
||||||
:src="codeUrl"
|
</view> -->
|
||||||
class="w-108 h-31 ml-15 bg-gray-400"
|
|
||||||
mode="widthFix"
|
|
||||||
@click="refreshCode"
|
|
||||||
/>
|
|
||||||
</view>
|
|
||||||
<view class="flex items-center py-15">
|
<view class="flex items-center py-15">
|
||||||
<view class="text-gradient">邀请码</view>
|
<view class="text-gradient">邀请码</view>
|
||||||
<input
|
<input
|
||||||
v-model="form.invite_code"
|
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"
|
||||||
@@ -168,12 +150,14 @@ onLoad(async (options) => {
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.login-container {
|
.register-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-repeat: no-repeat;
|
||||||
background-repeat: no-repeat;
|
// background-size: cover;
|
||||||
background-size: cover;
|
background:
|
||||||
|
url('@/static/images/brand-person.png') right 20px bottom / 60% no-repeat,
|
||||||
|
url('@/static/images/login-bg.jpg') top center / cover no-repeat;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
|
import { mergeStep } from '@/utils'
|
||||||
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 +20,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',
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -77,11 +72,12 @@ export const getInvestmentRecordAPI = (data) =>
|
|||||||
})
|
})
|
||||||
|
|
||||||
// 查询实名认证
|
// 查询实名认证
|
||||||
export const getRealNameAuthAPI = () =>
|
export const getRealNameAuthAPI = mergeStep(() =>
|
||||||
http({
|
http({
|
||||||
url: '/api/user/finduserauth',
|
url: '/api/user/finduserauth',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
})
|
}),
|
||||||
|
)
|
||||||
|
|
||||||
// 实名认证
|
// 实名认证
|
||||||
export const realNameAuthAPI = (data) =>
|
export const realNameAuthAPI = (data) =>
|
||||||
@@ -157,7 +153,7 @@ 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/yjyh.apk'
|
||||||
}
|
}
|
||||||
|
|
||||||
// 社区我的邀请
|
// 社区我的邀请
|
||||||
@@ -212,3 +208,24 @@ export const getYongMoneyTransferAPI = (data) =>
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
data,
|
data,
|
||||||
})
|
})
|
||||||
|
// 轮播图
|
||||||
|
export const getBannerAPI = () =>
|
||||||
|
http({
|
||||||
|
url: '/api/index/bannerlist',
|
||||||
|
method: 'POST',
|
||||||
|
})
|
||||||
|
|
||||||
|
// 银行卡资产恢复列表
|
||||||
|
export const getBankCardRecoverListAPI = () =>
|
||||||
|
http({
|
||||||
|
url: '/api/user/bankassetslist',
|
||||||
|
method: 'POST',
|
||||||
|
})
|
||||||
|
|
||||||
|
// 银行卡资产恢复
|
||||||
|
export const getBankCardRecoverAPI = (data) =>
|
||||||
|
http({
|
||||||
|
url: '/api/user/userbankassets',
|
||||||
|
method: 'POST',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 179 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 999 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 860 KiB |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 857 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 951 B |
|
Before Width: | Height: | Size: 892 B After Width: | Height: | Size: 867 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 860 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 600 B |
|
Before Width: | Height: | Size: 371 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 863 B After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 676 B After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -19,7 +19,7 @@ export const useUserStore = defineStore(
|
|||||||
url: '/pages-sub/realname/index',
|
url: '/pages-sub/realname/index',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
userInfo.value.realname = res.data.realname
|
userInfo.value.realname = res.data?.realname
|
||||||
return res.data
|
return res.data
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -4,18 +4,17 @@
|
|||||||
// Generated by vite-plugin-uni-pages
|
// Generated by vite-plugin-uni-pages
|
||||||
|
|
||||||
interface NavigateToOptions {
|
interface NavigateToOptions {
|
||||||
url: "/pages/index/index" |
|
url: "/pages/bank/index" |
|
||||||
"/pages/edit-password/index" |
|
"/pages/edit-password/index" |
|
||||||
|
"/pages/index/index" |
|
||||||
"/pages/invest/index" |
|
"/pages/invest/index" |
|
||||||
"/pages/invite/index" |
|
"/pages/invite/index" |
|
||||||
"/pages/login/index" |
|
"/pages/login/index" |
|
||||||
"/pages/my/index" |
|
"/pages/my/index" |
|
||||||
"/pages/register/index" |
|
"/pages/register/index" |
|
||||||
"/pages-sub/asset/index" |
|
"/pages-sub/asset/index" |
|
||||||
"/pages-sub/asset-detail/index" |
|
|
||||||
"/pages-sub/convert/index" |
|
"/pages-sub/convert/index" |
|
||||||
"/pages-sub/demo/index" |
|
"/pages-sub/demo/index" |
|
||||||
"/pages-sub/equity-withdrawal/index" |
|
|
||||||
"/pages-sub/hot-news/index" |
|
"/pages-sub/hot-news/index" |
|
||||||
"/pages-sub/introduction/index" |
|
"/pages-sub/introduction/index" |
|
||||||
"/pages-sub/invest-detail/index" |
|
"/pages-sub/invest-detail/index" |
|
||||||
@@ -23,14 +22,10 @@ interface NavigateToOptions {
|
|||||||
"/pages-sub/invest-result/index" |
|
"/pages-sub/invest-result/index" |
|
||||||
"/pages-sub/invite/index" |
|
"/pages-sub/invite/index" |
|
||||||
"/pages-sub/lottery/index" |
|
"/pages-sub/lottery/index" |
|
||||||
"/pages-sub/my-room-certificate/index" |
|
|
||||||
"/pages-sub/news/index" |
|
"/pages-sub/news/index" |
|
||||||
"/pages-sub/news-detail/index" |
|
"/pages-sub/news-detail/index" |
|
||||||
"/pages-sub/official-community/index" |
|
"/pages-sub/official-community/index" |
|
||||||
"/pages-sub/realname/index" |
|
"/pages-sub/realname/index" |
|
||||||
"/pages-sub/room-certificate/index" |
|
|
||||||
"/pages-sub/room-mail/index" |
|
|
||||||
"/pages-sub/room-transfer/index" |
|
|
||||||
"/pages-sub/team/index" |
|
"/pages-sub/team/index" |
|
||||||
"/pages-sub/withdrawal/index" |
|
"/pages-sub/withdrawal/index" |
|
||||||
"/pages-sub/withdrawal-detail/index" |
|
"/pages-sub/withdrawal-detail/index" |
|
||||||
@@ -40,7 +35,7 @@ interface NavigateToOptions {
|
|||||||
interface RedirectToOptions extends NavigateToOptions {}
|
interface RedirectToOptions extends NavigateToOptions {}
|
||||||
|
|
||||||
interface SwitchTabOptions {
|
interface SwitchTabOptions {
|
||||||
url: "/pages/index/index" | "/pages/invite/index" | "/pages/invest/index" | "/pages/my/index"
|
url: "/pages/bank/index" | "/pages/invite/index" | "/pages/invest/index" | "/pages/my/index"
|
||||||
}
|
}
|
||||||
|
|
||||||
type ReLaunchOptions = NavigateToOptions | SwitchTabOptions;
|
type ReLaunchOptions = NavigateToOptions | SwitchTabOptions;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
type IResData<T> = {
|
type IResData<T> = {
|
||||||
code: number
|
code: number
|
||||||
message: string
|
msg: string
|
||||||
data: T
|
data: T
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,6 @@
|
|||||||
import { CustomRequestOptions } from '@/interceptors/request'
|
import { CustomRequestOptions } from '@/interceptors/request'
|
||||||
import { loginRoute } from '@/interceptors/route'
|
import { loginRoute } from '@/interceptors/route'
|
||||||
import { useUserStore } from '@/store'
|
import { useUserStore } from '@/store'
|
||||||
import { mergeStep, showModal } from '.'
|
|
||||||
|
|
||||||
const realnameJump = mergeStep(async (message) => {
|
|
||||||
if (location.href.includes('realname/index')) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
await showModal(message, {
|
|
||||||
confirmText: '立即认证',
|
|
||||||
})
|
|
||||||
uni.reLaunch({
|
|
||||||
url: '/pages-sub/realname/index',
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
export const http = <T>(options: CustomRequestOptions) => {
|
export const http = <T>(options: CustomRequestOptions) => {
|
||||||
// 1. 返回 Promise 对象
|
// 1. 返回 Promise 对象
|
||||||
@@ -33,16 +20,13 @@ export const http = <T>(options: CustomRequestOptions) => {
|
|||||||
const data = res.data as IResData<T>
|
const data = res.data as IResData<T>
|
||||||
if (data.code === 1) {
|
if (data.code === 1) {
|
||||||
resolve(data as IResData<T>)
|
resolve(data as IResData<T>)
|
||||||
} else if (data.code === 1002) {
|
} else if (data.code === 401) {
|
||||||
realnameJump(data.message)
|
|
||||||
reject(res)
|
|
||||||
} else if (data.code === 1001) {
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
userStore.logout()
|
userStore.logout()
|
||||||
!options.hideErrorToast &&
|
!options.hideErrorToast &&
|
||||||
(await uni.showModal({
|
(await uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: data.message || '请求错误',
|
content: data.msg || '请求错误',
|
||||||
showCancel: false,
|
showCancel: false,
|
||||||
}))
|
}))
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
@@ -54,7 +38,7 @@ export const http = <T>(options: CustomRequestOptions) => {
|
|||||||
!options.hideErrorToast &&
|
!options.hideErrorToast &&
|
||||||
(await uni.showModal({
|
(await uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: data.message || '请求错误',
|
content: data.msg || '请求错误',
|
||||||
showCancel: false,
|
showCancel: false,
|
||||||
}))
|
}))
|
||||||
reject(res)
|
reject(res)
|
||||||
@@ -68,7 +52,7 @@ export const http = <T>(options: CustomRequestOptions) => {
|
|||||||
!options.hideErrorToast &&
|
!options.hideErrorToast &&
|
||||||
(await uni.showModal({
|
(await uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: res.data.message || '请求错误',
|
content: res.data.msg || '请求错误',
|
||||||
showCancel: false,
|
showCancel: false,
|
||||||
}))
|
}))
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
@@ -81,7 +65,7 @@ export const http = <T>(options: CustomRequestOptions) => {
|
|||||||
!options.hideErrorToast &&
|
!options.hideErrorToast &&
|
||||||
(await uni.showModal({
|
(await uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: (res.data as IResData<T>).message || '请求错误',
|
content: (res.data as IResData<T>).msg || '请求错误',
|
||||||
showCancel: false,
|
showCancel: false,
|
||||||
}))
|
}))
|
||||||
reject(res)
|
reject(res)
|
||||||
|
|||||||
@@ -78,11 +78,11 @@ export default defineConfig({
|
|||||||
],
|
],
|
||||||
['pt-safe', { 'padding-top': 'env(safe-area-inset-top)' }],
|
['pt-safe', { 'padding-top': 'env(safe-area-inset-top)' }],
|
||||||
['pb-safe', { 'padding-bottom': 'env(safe-area-inset-bottom)' }],
|
['pb-safe', { 'padding-bottom': 'env(safe-area-inset-bottom)' }],
|
||||||
['btn-gradient', { background: 'linear-gradient(90deg,#E4C096,#BE805A)' }],
|
['btn-gradient', { background: 'linear-gradient(90deg,#FFDD99,#EFB85A)' }],
|
||||||
[
|
[
|
||||||
'text-gradient',
|
'text-gradient',
|
||||||
{
|
{
|
||||||
'background-image': 'linear-gradient(180deg,#B2926B,#F5CB97)',
|
'background-image': 'linear-gradient(90deg,#FFDD99,#EFB85A)',
|
||||||
'background-clip': 'text',
|
'background-clip': 'text',
|
||||||
color: 'transparent',
|
color: 'transparent',
|
||||||
},
|
},
|
||||||
|
|||||||