1.虚拟币开发--首页开发

2024.3.6 sws
master
sws 2024-03-06 18:13:00 +08:00
parent e6e25d3fa4
commit b9cc3e2420
17 changed files with 1369 additions and 82 deletions

View File

@ -7,10 +7,13 @@
data: {
//
//
request_url: 'https://d1.shopxo.vip/',
// request_url: 'https://d1.shopxo.vip/',
request_url: 'http://shopxo.com/',
// publicpublichttps://d1.shopxo.vip/public/
static_url: 'https://d1.shopxo.vip/',
// static_url: 'https://d1.shopxo.vip/',
static_url: 'http://shopxo.com/',
// default
system_type: 'default',

View File

@ -31,7 +31,7 @@
}
.margin-xxxl {
margin: 48rpx;
}
}
.margin-xxxxl {
margin: 56rpx;
}
@ -62,7 +62,7 @@
}
.margin-top-xxxl {
margin-top: 48rpx;
}
}
.margin-top-xxxxl {
margin-top: 56rpx;
}
@ -93,7 +93,7 @@
}
.margin-right-xxxl {
margin-right: 48rpx;
}
}
.margin-right-xxxxl {
margin-right: 56rpx;
}
@ -124,7 +124,7 @@
}
.margin-left-xxxl {
margin-left: 48rpx;
}
}
.margin-left-xxxxl {
margin-left: 56rpx;
}
@ -155,7 +155,7 @@
}
.margin-bottom-xxxl {
margin-bottom: 48rpx;
}
}
.margin-bottom-xxxxl {
margin-bottom: 56rpx;
}
@ -199,9 +199,9 @@
.margin-vertical-xxxl {
margin-top: 48rpx;
margin-bottom: 48rpx;
}
.margin-vertical-xxxxl {
margin-top: 56rpx;
}
.margin-vertical-xxxxl {
margin-top: 56rpx;
margin-bottom: 56rpx;
}
.margin-horizontal-0 {
@ -244,9 +244,9 @@
.margin-horizontal-xxxl {
margin-left: 48rpx;
margin-right: 48rpx;
}
.margin-horizontal-xxxxl {
margin-left: 56rpx;
}
.margin-horizontal-xxxxl {
margin-left: 56rpx;
margin-right: 56rpx;
}
.padding-0 {
@ -279,8 +279,8 @@
}
.padding-xxxl {
padding: 48rpx;
}
.padding-xxxxl {
}
.padding-xxxxl {
padding: 56rpx;
}
.padding-top-xsss {
@ -310,8 +310,8 @@
}
.padding-top-xxxl {
padding-top: 48rpx;
}
.padding-top-xxxxl {
}
.padding-top-xxxxl {
padding-top: 56rpx;
}
.padding-right-xsss {
@ -341,8 +341,8 @@
}
.padding-right-xxxl {
padding-right: 48rpx;
}
.padding-right-xxxxl {
}
.padding-right-xxxxl {
padding-right: 56rpx;
}
.padding-left-xsss {
@ -372,8 +372,8 @@
}
.padding-left-xxxl {
padding-left: 48rpx;
}
.padding-left-xxxxl {
}
.padding-left-xxxxl {
padding-left: 56rpx;
}
.padding-bottom-xsss {
@ -403,8 +403,8 @@
}
.padding-bottom-xxxl {
padding-bottom: 48rpx;
}
.padding-bottom-xxxxl {
}
.padding-bottom-xxxxl {
padding-bottom: 56rpx;
}
.padding-vertical-0 {
@ -447,9 +447,9 @@
.padding-vertical-xxxl {
padding-top: 48rpx;
padding-bottom: 48rpx;
}
.padding-vertical-xxxxl {
padding-top: 56rpx;
}
.padding-vertical-xxxxl {
padding-top: 56rpx;
padding-bottom: 56rpx;
}
.padding-horizontal-0 {
@ -492,9 +492,9 @@
.padding-horizontal-xxxl {
padding-left: 48rpx;
padding-right: 48rpx;
}
.padding-horizontal-xxxxl {
padding-left: 56rpx;
}
.padding-horizontal-xxxxl {
padding-left: 56rpx;
padding-right: 56rpx;
}
@ -532,43 +532,47 @@
}
.text-size-xxxl {
font-size: 84rpx !important;
}
/**
*
*/
.lh-il {
line-height: initial;
}
}
.text-size-40 {
font-size: 80rpx !important;
}
/**
*
*/
.lh-il {
line-height: initial;
}
.lh-0 {
line-height: 0 !important;
}
.lh-xs {
line-height: 24rpx;
}
.lh-sm {
line-height: 26rpx;
}
.lh-md {
line-height: 28rpx;
}
.lh,
.lh-default {
line-height: 32rpx;
}
.lh-lg {
line-height: 36rpx;
}
.lh-xl {
line-height: 48rpx;
}
.lh-xxl {
line-height: 64rpx;
}
.lh-xxxl {
line-height: 84rpx;
}
}
.lh-xs {
line-height: 24rpx;
}
.lh-sm {
line-height: 26rpx;
}
.lh-md {
line-height: 28rpx;
}
.lh,
.lh-default {
line-height: 32rpx;
}
.lh-lg {
line-height: 36rpx;
}
.lh-xl {
line-height: 48rpx;
}
.lh-xxl {
line-height: 64rpx;
}
.lh-xxxl {
line-height: 84rpx;
}
/**
*
*/
@ -589,16 +593,16 @@
}
.top-xl {
top: 10rpx;
}
}
.top-xxl {
top: 12rpx;
}
}
.top-xxxl {
top: 16rpx;
}
}
.top-xxxxl {
top: 20rpx;
}
}
.top-xxxxxl {
top: 24rpx;
}
@ -619,16 +623,16 @@
}
.left-xl {
left: 10rpx;
}
}
.left-xxl {
left: 12rpx;
}
}
.left-xxxl {
left: 16rpx;
}
}
.left-xxxxl {
left: 20rpx;
}
}
.left-xxxxxl {
left: 24rpx;
}
@ -649,16 +653,16 @@
}
.bottom-xl {
bottom: 10rpx;
}
}
.bottom-xxl {
bottom: 12rpx;
}
}
.bottom-xxxl {
bottom: 16rpx;
}
}
.bottom-xxxxl {
bottom: 20rpx;
}
}
.bottom-xxxxxl {
bottom: 24rpx;
}
@ -679,16 +683,16 @@
}
.right-xl {
right: 10rpx;
}
}
.right-xxl {
right: 12rpx;
}
}
.right-xxxl {
right: 16rpx;
}
}
.right-xxxxl {
right: 20rpx;
}
}
.right-xxxxxl {
right: 24rpx;
}

View File

@ -225,6 +225,9 @@ button:before {
.radius {
border-radius: 10rpx !important;
}
.radius-lg {
border-radius: 32rpx !important;
}
.round {
border-radius: 50rpx !important;
}

View File

@ -31,7 +31,7 @@
/* iconfont.css全局注册需要将src切换成绝对路径 */
/* @/static/icon/ */
@import url('@/static/icon/iconfont.css');
/* @import url('https://at.alicdn.com/t/c/font_4227145_r2jv37yqfec.css'); */
/* @import url('https://at.alicdn.com/t/c/font_4227145_kbr2f9jt68b.css'); */
.iconfont {
display: inline-block;

View File

@ -1232,6 +1232,80 @@
}
}
]
},
{
"root": "pages/plugins/coin",
"pages": [{
"path": "user/user",
"style": {
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
"navigationStyle": "custom",
// #endif
// #ifdef MP-ALIPAY
"transparentTitle": "auto",
"titlePenetrate":"YES",
// #endif
"enablePullDownRefresh": true,
"navigationBarTitleText": "虚拟币"
}
},
{
"path": "recharge/recharge",
"style": {
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
"navigationStyle": "custom",
// #endif
// #ifdef MP-ALIPAY
"transparentTitle": "auto",
"titlePenetrate":"YES",
// #endif
"enablePullDownRefresh": true,
"navigationBarTitleText": "充值"
}
},
{
"path": "convert/convert",
"style": {
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
"navigationStyle": "custom",
// #endif
// #ifdef MP-ALIPAY
"transparentTitle": "auto",
"titlePenetrate":"YES",
// #endif
"enablePullDownRefresh": true,
"navigationBarTitleText": "转换"
}
},
{
"path": "withdrawal/withdrawal",
"style": {
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
"navigationStyle": "custom",
// #endif
// #ifdef MP-ALIPAY
"transparentTitle": "auto",
"titlePenetrate":"YES",
// #endif
"enablePullDownRefresh": true,
"navigationBarTitleText": "提现"
}
},
{
"path": "detail/detail",
"style": {
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
"navigationStyle": "custom",
// #endif
// #ifdef MP-ALIPAY
"transparentTitle": "auto",
"titlePenetrate":"YES",
// #endif
"enablePullDownRefresh": true,
"navigationBarTitleText": "明细"
}
}
]
}
],
"globalStyle": {

View File

View File

@ -0,0 +1,230 @@
<template>
<view :class="theme_view">
<component-nav-back></component-nav-back>
<view>
<scroll-view :scroll-y="true" class="scroll-box" lower-threshold="60" @scroll="scroll_event">
<view class="coin-title flex-col padding-lg" :style="'background-image:url(' + wallet_static_url + 'title-bg.png)'">
<view class="margin-bottom-main flex-row jc-sb align-c margin-top-xl">
<view>
<view class="cr-base text-size-md">总数量</view>
<view class="text-size-40 fw-b">{{ is_price_show ? '5410.00' : '***' }}</view>
</view>
<view @tap="price_change">
<iconfont :name="is_price_show ? 'icon-wodeqianbao-eye' : 'icon-wodeqianbao-eyeclo2'" size="44rpx"></iconfont>
</view>
</view>
<view class="flex-row jc-sb padding-bottom-main">
<view v-for="(item, index) in coin_oprate_list" class="tc text-size-xs" :key="index" :data-value="item.url" @tap="url_event">
<view class="coin-oprate-list bg-white flex-row align-c jc-c margin-bottom-main">
<iconfont :name="item.icon" size="44rpx" color="#635BFF"></iconfont>
</view>
<view>{{ item.name }}</view>
</view>
</view>
</view>
<view class="coin-content padding-lg">
<view class="bg-white radius-lg padding-lg">
<view v-for="(item, index) in coin_data" :key="index" class="flex-row jc-sb align-c" :class="coin_data.length == index + 1 ? '' : 'br-b-f5 margin-bottom-lg padding-bottom-lg'">
<view class="flex-1 flex-width flex-row align-c padding-right-main">
<image :src="item.img" mode="widthFix" class="coin-content-list-img round" />
<text class="fw-b single-text margin-left-main">{{ item.name }}</text>
</view>
<view class="flex-col">
<view class="margin-bottom-xss">{{ item.num }}</view>
<view class="cr-grey-9">{{ item.price }}</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
const app = getApp();
import componentNavBack from '@/components/nav-back/nav-back';
import componentNoData from '@/components/no-data/no-data';
var wallet_static_url = app.globalData.get_static_url('coin', true) + 'app/';
//
var bar_height = parseInt(app.globalData.get_system_info('statusBarHeight', 0, true));
// #ifdef MP-TOUTIAO
bar_height = 0;
// #endif
export default {
data() {
return {
theme_view: app.globalData.get_theme_value_view(),
wallet_static_url: wallet_static_url,
status_bar_height: bar_height,
//
is_price_show: false,
//
coin_oprate_list: [
{
name: '充值',
icon: 'icon-recharge',
url: '/pages/plugins/coin/recharge/recharge',
},
{
name: '转换',
icon: 'icon-convert',
url: '/pages/plugins/coin/convert/convert',
},
{
name: '提现',
icon: 'icon-withdrawal',
url: '/pages/plugins/coin/withdrawal/withdrawal',
},
{
name: '明细',
icon: 'icon-detail',
url: '/pages/plugins/coin/detail/detail',
},
],
coin_data: [
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
],
};
},
components: {
componentNavBack,
componentNoData,
},
props: {},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
this.init();
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
app.globalData.page_share_handle();
},
//
onPullDownRefresh() {
this.get_data();
},
methods: {
init(e) {
var user = app.globalData.get_user_info(this, 'init');
if (user != false) {
//
if (app.globalData.user_is_need_login(user)) {
uni.navigateTo({
url: '/pages/login/login?event_callback=init',
});
} else {
this.get_data();
}
}
},
//
get_data() {},
//
price_change() {
this.setData({
is_price_show: !this.is_price_show,
});
},
//
scroll_event(e) {
uni.$emit('onPageScroll', e.detail);
},
// url
url_event(e) {
app.globalData.url_event(e);
},
},
};
</script>
<style>
@import './convert.css';
</style>

View File

View File

@ -0,0 +1,230 @@
<template>
<view :class="theme_view">
<component-nav-back></component-nav-back>
<view>
<scroll-view :scroll-y="true" class="scroll-box" lower-threshold="60" @scroll="scroll_event">
<view class="coin-title flex-col padding-lg" :style="'background-image:url(' + wallet_static_url + 'title-bg.png)'">
<view class="margin-bottom-main flex-row jc-sb align-c margin-top-xl">
<view>
<view class="cr-base text-size-md">总数量</view>
<view class="text-size-40 fw-b">{{ is_price_show ? '5410.00' : '***' }}</view>
</view>
<view @tap="price_change">
<iconfont :name="is_price_show ? 'icon-wodeqianbao-eye' : 'icon-wodeqianbao-eyeclo2'" size="44rpx"></iconfont>
</view>
</view>
<view class="flex-row jc-sb padding-bottom-main">
<view v-for="(item, index) in coin_oprate_list" class="tc text-size-xs" :key="index" :data-value="item.url" @tap="url_event">
<view class="coin-oprate-list bg-white flex-row align-c jc-c margin-bottom-main">
<iconfont :name="item.icon" size="44rpx" color="#635BFF"></iconfont>
</view>
<view>{{ item.name }}</view>
</view>
</view>
</view>
<view class="coin-content padding-lg">
<view class="bg-white radius-lg padding-lg">
<view v-for="(item, index) in coin_data" :key="index" class="flex-row jc-sb align-c" :class="coin_data.length == index + 1 ? '' : 'br-b-f5 margin-bottom-lg padding-bottom-lg'">
<view class="flex-1 flex-width flex-row align-c padding-right-main">
<image :src="item.img" mode="widthFix" class="coin-content-list-img round" />
<text class="fw-b single-text margin-left-main">{{ item.name }}</text>
</view>
<view class="flex-col">
<view class="margin-bottom-xss">{{ item.num }}</view>
<view class="cr-grey-9">{{ item.price }}</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
const app = getApp();
import componentNavBack from '@/components/nav-back/nav-back';
import componentNoData from '@/components/no-data/no-data';
var wallet_static_url = app.globalData.get_static_url('coin', true) + 'app/';
//
var bar_height = parseInt(app.globalData.get_system_info('statusBarHeight', 0, true));
// #ifdef MP-TOUTIAO
bar_height = 0;
// #endif
export default {
data() {
return {
theme_view: app.globalData.get_theme_value_view(),
wallet_static_url: wallet_static_url,
status_bar_height: bar_height,
//
is_price_show: false,
//
coin_oprate_list: [
{
name: '充值',
icon: 'icon-recharge',
url: '/pages/plugins/coin/recharge/recharge',
},
{
name: '转换',
icon: 'icon-convert',
url: '/pages/plugins/coin/convert/convert',
},
{
name: '提现',
icon: 'icon-withdrawal',
url: '/pages/plugins/coin/withdrawal/withdrawal',
},
{
name: '明细',
icon: 'icon-detail',
url: '/pages/plugins/coin/detail/detail',
},
],
coin_data: [
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
],
};
},
components: {
componentNavBack,
componentNoData,
},
props: {},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
this.init();
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
app.globalData.page_share_handle();
},
//
onPullDownRefresh() {
this.get_data();
},
methods: {
init(e) {
var user = app.globalData.get_user_info(this, 'init');
if (user != false) {
//
if (app.globalData.user_is_need_login(user)) {
uni.navigateTo({
url: '/pages/login/login?event_callback=init',
});
} else {
this.get_data();
}
}
},
//
get_data() {},
//
price_change() {
this.setData({
is_price_show: !this.is_price_show,
});
},
//
scroll_event(e) {
uni.$emit('onPageScroll', e.detail);
},
// url
url_event(e) {
app.globalData.url_event(e);
},
},
};
</script>
<style>
@import './detail.css';
</style>

View File

View File

@ -0,0 +1,230 @@
<template>
<view :class="theme_view">
<component-nav-back></component-nav-back>
<view>
<scroll-view :scroll-y="true" class="scroll-box" lower-threshold="60" @scroll="scroll_event">
<view class="coin-title flex-col padding-lg" :style="'background-image:url(' + wallet_static_url + 'title-bg.png)'">
<view class="margin-bottom-main flex-row jc-sb align-c margin-top-xl">
<view>
<view class="cr-base text-size-md">总数量</view>
<view class="text-size-40 fw-b">{{ is_price_show ? '5410.00' : '***' }}</view>
</view>
<view @tap="price_change">
<iconfont :name="is_price_show ? 'icon-wodeqianbao-eye' : 'icon-wodeqianbao-eyeclo2'" size="44rpx"></iconfont>
</view>
</view>
<view class="flex-row jc-sb padding-bottom-main">
<view v-for="(item, index) in coin_oprate_list" class="tc text-size-xs" :key="index" :data-value="item.url" @tap="url_event">
<view class="coin-oprate-list bg-white flex-row align-c jc-c margin-bottom-main">
<iconfont :name="item.icon" size="44rpx" color="#635BFF"></iconfont>
</view>
<view>{{ item.name }}</view>
</view>
</view>
</view>
<view class="coin-content padding-lg">
<view class="bg-white radius-lg padding-lg">
<view v-for="(item, index) in coin_data" :key="index" class="flex-row jc-sb align-c" :class="coin_data.length == index + 1 ? '' : 'br-b-f5 margin-bottom-lg padding-bottom-lg'">
<view class="flex-1 flex-width flex-row align-c padding-right-main">
<image :src="item.img" mode="widthFix" class="coin-content-list-img round" />
<text class="fw-b single-text margin-left-main">{{ item.name }}</text>
</view>
<view class="flex-col">
<view class="margin-bottom-xss">{{ item.num }}</view>
<view class="cr-grey-9">{{ item.price }}</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
const app = getApp();
import componentNavBack from '@/components/nav-back/nav-back';
import componentNoData from '@/components/no-data/no-data';
var wallet_static_url = app.globalData.get_static_url('coin', true) + 'app/';
//
var bar_height = parseInt(app.globalData.get_system_info('statusBarHeight', 0, true));
// #ifdef MP-TOUTIAO
bar_height = 0;
// #endif
export default {
data() {
return {
theme_view: app.globalData.get_theme_value_view(),
wallet_static_url: wallet_static_url,
status_bar_height: bar_height,
//
is_price_show: false,
//
coin_oprate_list: [
{
name: '充值',
icon: 'icon-recharge',
url: '/pages/plugins/coin/recharge/recharge',
},
{
name: '转换',
icon: 'icon-convert',
url: '/pages/plugins/coin/convert/convert',
},
{
name: '提现',
icon: 'icon-withdrawal',
url: '/pages/plugins/coin/withdrawal/withdrawal',
},
{
name: '明细',
icon: 'icon-detail',
url: '/pages/plugins/coin/detail/detail',
},
],
coin_data: [
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
],
};
},
components: {
componentNavBack,
componentNoData,
},
props: {},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
this.init();
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
app.globalData.page_share_handle();
},
//
onPullDownRefresh() {
this.get_data();
},
methods: {
init(e) {
var user = app.globalData.get_user_info(this, 'init');
if (user != false) {
//
if (app.globalData.user_is_need_login(user)) {
uni.navigateTo({
url: '/pages/login/login?event_callback=init',
});
} else {
this.get_data();
}
}
},
//
get_data() {},
//
price_change() {
this.setData({
is_price_show: !this.is_price_show,
});
},
//
scroll_event(e) {
uni.$emit('onPageScroll', e.detail);
},
// url
url_event(e) {
app.globalData.url_event(e);
},
},
};
</script>
<style>
@import './recharge.css';
</style>

View File

@ -0,0 +1,25 @@
.coin-title {
background-size: 100% auto;
padding-top: 130rpx;
/* #ifndef H5 */
padding-top: calc(var(--status-bar-height) + 5px + 130rpx);
/* #endif */
border-bottom-left-radius: 60rpx;
border-bottom-right-radius: 60rpx;
}
.coin-oprate-list {
--size: 96rpx;
width: var(--size);
height: var(--size);
border-radius: 32rpx;
}
.coin-content {
}
.coin-content-list-img {
--size: 80rpx;
width: var(--size);
height: var(--size) !important;
}

View File

@ -0,0 +1,230 @@
<template>
<view :class="theme_view">
<component-nav-back></component-nav-back>
<view>
<scroll-view :scroll-y="true" class="scroll-box" lower-threshold="60" @scroll="scroll_event">
<view class="coin-title flex-col padding-lg" :style="'background-image:url(' + wallet_static_url + 'title-bg.png)'">
<view class="margin-bottom-main flex-row jc-sb align-c margin-top-xl">
<view>
<view class="cr-base text-size-md">总数量</view>
<view class="text-size-40 fw-b">{{ is_price_show ? '5410.00' : '***' }}</view>
</view>
<view @tap="price_change">
<iconfont :name="is_price_show ? 'icon-wodeqianbao-eye' : 'icon-wodeqianbao-eyeclo2'" size="44rpx"></iconfont>
</view>
</view>
<view class="flex-row jc-sb padding-bottom-main">
<view v-for="(item, index) in coin_oprate_list" class="tc text-size-xs" :key="index" :data-value="item.url" @tap="url_event">
<view class="coin-oprate-list bg-white flex-row align-c jc-c margin-bottom-main">
<iconfont :name="item.icon" size="44rpx" color="#635BFF"></iconfont>
</view>
<view>{{ item.name }}</view>
</view>
</view>
</view>
<view class="coin-content padding-lg">
<view class="bg-white radius-lg padding-lg">
<view v-for="(item, index) in coin_data" :key="index" class="flex-row jc-sb align-c" :class="coin_data.length == index + 1 ? '' : 'br-b-f5 margin-bottom-lg padding-bottom-lg'">
<view class="flex-1 flex-width flex-row align-c padding-right-main">
<image :src="item.img" mode="widthFix" class="coin-content-list-img round" />
<text class="fw-b single-text margin-left-main">{{ item.name }}</text>
</view>
<view class="flex-col">
<view class="margin-bottom-xss">{{ item.num }}</view>
<view class="cr-grey-9">{{ item.price }}</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
const app = getApp();
import componentNavBack from '@/components/nav-back/nav-back';
import componentNoData from '@/components/no-data/no-data';
var wallet_static_url = app.globalData.get_static_url('coin', true) + 'app/';
//
var bar_height = parseInt(app.globalData.get_system_info('statusBarHeight', 0, true));
// #ifdef MP-TOUTIAO
bar_height = 0;
// #endif
export default {
data() {
return {
theme_view: app.globalData.get_theme_value_view(),
wallet_static_url: wallet_static_url,
status_bar_height: bar_height,
//
is_price_show: false,
//
coin_oprate_list: [
{
name: '充值',
icon: 'icon-recharge',
url: '/pages/plugins/coin/recharge/recharge',
},
{
name: '转换',
icon: 'icon-convert',
url: '/pages/plugins/coin/convert/convert',
},
{
name: '提现',
icon: 'icon-withdrawal',
url: '/pages/plugins/coin/withdrawal/withdrawal',
},
{
name: '明细',
icon: 'icon-detail',
url: '/pages/plugins/coin/detail/detail',
},
],
coin_data: [
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
],
};
},
components: {
componentNavBack,
componentNoData,
},
props: {},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
this.init();
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
app.globalData.page_share_handle();
},
//
onPullDownRefresh() {
this.get_data();
},
methods: {
init(e) {
var user = app.globalData.get_user_info(this, 'init');
if (user != false) {
//
if (app.globalData.user_is_need_login(user)) {
uni.navigateTo({
url: '/pages/login/login?event_callback=init',
});
} else {
this.get_data();
}
}
},
//
get_data() {},
//
price_change() {
this.setData({
is_price_show: !this.is_price_show,
});
},
//
scroll_event(e) {
uni.$emit('onPageScroll', e.detail);
},
// url
url_event(e) {
app.globalData.url_event(e);
},
},
};
</script>
<style>
@import './user.css';
</style>

View File

@ -0,0 +1,230 @@
<template>
<view :class="theme_view">
<component-nav-back></component-nav-back>
<view>
<scroll-view :scroll-y="true" class="scroll-box" lower-threshold="60" @scroll="scroll_event">
<view class="coin-title flex-col padding-lg" :style="'background-image:url(' + wallet_static_url + 'title-bg.png)'">
<view class="margin-bottom-main flex-row jc-sb align-c margin-top-xl">
<view>
<view class="cr-base text-size-md">总数量</view>
<view class="text-size-40 fw-b">{{ is_price_show ? '5410.00' : '***' }}</view>
</view>
<view @tap="price_change">
<iconfont :name="is_price_show ? 'icon-wodeqianbao-eye' : 'icon-wodeqianbao-eyeclo2'" size="44rpx"></iconfont>
</view>
</view>
<view class="flex-row jc-sb padding-bottom-main">
<view v-for="(item, index) in coin_oprate_list" class="tc text-size-xs" :key="index" :data-value="item.url" @tap="url_event">
<view class="coin-oprate-list bg-white flex-row align-c jc-c margin-bottom-main">
<iconfont :name="item.icon" size="44rpx" color="#635BFF"></iconfont>
</view>
<view>{{ item.name }}</view>
</view>
</view>
</view>
<view class="coin-content padding-lg">
<view class="bg-white radius-lg padding-lg">
<view v-for="(item, index) in coin_data" :key="index" class="flex-row jc-sb align-c" :class="coin_data.length == index + 1 ? '' : 'br-b-f5 margin-bottom-lg padding-bottom-lg'">
<view class="flex-1 flex-width flex-row align-c padding-right-main">
<image :src="item.img" mode="widthFix" class="coin-content-list-img round" />
<text class="fw-b single-text margin-left-main">{{ item.name }}</text>
</view>
<view class="flex-col">
<view class="margin-bottom-xss">{{ item.num }}</view>
<view class="cr-grey-9">{{ item.price }}</view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
const app = getApp();
import componentNavBack from '@/components/nav-back/nav-back';
import componentNoData from '@/components/no-data/no-data';
var wallet_static_url = app.globalData.get_static_url('coin', true) + 'app/';
//
var bar_height = parseInt(app.globalData.get_system_info('statusBarHeight', 0, true));
// #ifdef MP-TOUTIAO
bar_height = 0;
// #endif
export default {
data() {
return {
theme_view: app.globalData.get_theme_value_view(),
wallet_static_url: wallet_static_url,
status_bar_height: bar_height,
//
is_price_show: false,
//
coin_oprate_list: [
{
name: '充值',
icon: 'icon-recharge',
url: '/pages/plugins/coin/recharge/recharge',
},
{
name: '转换',
icon: 'icon-convert',
url: '/pages/plugins/coin/convert/convert',
},
{
name: '提现',
icon: 'icon-withdrawal',
url: '/pages/plugins/coin/withdrawal/withdrawal',
},
{
name: '明细',
icon: 'icon-detail',
url: '/pages/plugins/coin/detail/detail',
},
],
coin_data: [
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
{
img: wallet_static_url + 'title-bg.png',
name: 'BTC',
price: '¥20000',
num: '200000',
},
],
};
},
components: {
componentNavBack,
componentNoData,
},
props: {},
onLoad(params) {
//
app.globalData.page_event_onload_handle(params);
this.init();
},
onShow() {
//
app.globalData.page_event_onshow_handle();
//
app.globalData.page_share_handle();
},
//
onPullDownRefresh() {
this.get_data();
},
methods: {
init(e) {
var user = app.globalData.get_user_info(this, 'init');
if (user != false) {
//
if (app.globalData.user_is_need_login(user)) {
uni.navigateTo({
url: '/pages/login/login?event_callback=init',
});
} else {
this.get_data();
}
}
},
//
get_data() {},
//
price_change() {
this.setData({
is_price_show: !this.is_price_show,
});
},
//
scroll_event(e) {
uni.$emit('onPageScroll', e.detail);
},
// url
url_event(e) {
app.globalData.url_event(e);
},
},
};
</script>
<style>
@import './withdrawal.css';
</style>

View File

@ -14,6 +14,34 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-zhuanzhang:before {
content: "\e71b";
}
.icon-shoukuan:before {
content: "\e71c";
}
.icon-zhuanhuan2:before {
content: "\e71d";
}
.icon-withdrawal:before {
content: "\e717";
}
.icon-recharge:before {
content: "\e718";
}
.icon-convert:before {
content: "\e719";
}
.icon-detail:before {
content: "\e71a";
}
.icon-store:before {
content: "\e6f3";
}
@ -158,7 +186,7 @@
content: "\e6d1";
}
.icon-mendian-sousuosm:before {
.icon-scan:before {
content: "\e6cf";
}

Binary file not shown.