hrjy 4 years ago
parent
commit
25efcb6c02

+ 1 - 1
api/wallet.js

@@ -139,4 +139,4 @@ export function getWallet(data) {
 		method: 'get',
 		data
 	});
-}
+}

+ 74 - 47
pages.json

@@ -260,6 +260,19 @@
 				}
 			}
 		},
+		{
+			"path": "pages/user/assets",
+			"style": {
+				"navigationBarBackgroundColor": "transparent",
+				"navigationBarTextStyle": "white",
+				"app-plus": {
+					"titleNView": {
+						"type": "float",
+						"titleText": "资产中心"
+					}
+				}
+			}
+		},
 		{
 			"path": "pages/assets/teamDetails",
 			"style": {
@@ -335,34 +348,47 @@
 		},
 		{
 			"path": "pages/user/user",
+			// "style": {
+			// 	"navigationBarBackgroundColor": "transparent",
+			// 	"navigationBarTextStyle": "white",
+			// 	"app-plus": {
+			// 		"titleNView": {
+			// 			"type": "float",
+			// 			"titleText": "我的"
+			// 		}
+			// 	}
+			// }
 			"style": {
 				// #ifndef MP-WEIXIN
 				"navigationStyle": "custom",
 				// #endif
-				"navigationBarTitleText": "个人中心"
+				"navigationBarTitleText": "我的"
 			}
 		},
 		//糖果
 		{
 			"path": "pages/money/award",
-			
+			"style": {
+				"navigationBarTitleText": "糖果",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/money/mallPoints",
 			"style": {
 				"navigationBarBackgroundColor": "transparent",
 				"navigationBarTextStyle": "white",
 				"app-plus": {
 					"titleNView": {
 						"type": "float",
-						"titleText": "我的糖果"
+						"titleText": "商城积分"
 					}
 				}
-				}
-			// "style": {
-			// 	"navigationBarTitleText": "奖励明细",
-			// 	"app-plus": {
-			// 		"titleNView": false
-			// 	}
-			// }
+			}
 		},
+		
 		{
 			"path": "pages/money/pay",
 			"style": {
@@ -417,66 +443,59 @@
 				"navigationBarTitleText": "搜索"
 			}
 		},
+		
 		// 佣金
 		{
 			"path": "pages/money/wallet",
 			"style": {
-				"navigationBarBackgroundColor": "transparent",
-				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "我的佣金",
 				"app-plus": {
-					"titleNView": {
-						"type": "float",
-						"titleText": "我的佣金"
-					}
+					"titleNView": false
 				}
 			}
-			// "style": {
-			// 	"navigationBarTitleText": "我的佣金",
-			// 	"app-plus": {
-			// 		"titleNView": false
-			// 	}
-			// }
 		},
 		// 拼团积分
 		{
 			"path": "pages/money/integralP",
 			"style": {
-				"navigationBarBackgroundColor": "transparent",
-				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "拼团积分",
 				"app-plus": {
-					"titleNView": {
-						"type": "float",
-						"titleText": "我的拼团积分"
-					}
+					"titleNView": false
 				}
 			}
-			// "style": {
-			// 	"navigationBarTitleText": "我的拼团积分",
-			// 	"app-plus": {
-			// 		"titleNView": false
-			// 	}
-			// }
 		},
-		// 购物积分
+		
+		// 我的贷款
 		{
 			"path": "pages/money/integralShopping",
 			"style": {
-				"navigationBarBackgroundColor": "transparent",
-				"navigationBarTextStyle": "white",
+				"navigationBarTitleText": "我的贷款",
 				"app-plus": {
-					"titleNView": {
-						"type": "float",
-						"titleText": "我的购物积分"
-					}
+					"titleNView": false
 				}
 			}
-			// "style": {
-			// 	"navigationBarTitleText": "我的购物积分",
-			// 	"app-plus": {
-			// 		"titleNView": false
-			// 	}
-			// }
 		},
+		//拼团冻结积分
+		{
+			"path": "pages/money/frozen",
+			"style": {
+				"navigationBarTitleText": "拼团冻结积分",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		//我的公益积分
+		{
+			"path": "pages/money/publicWelfare",
+			"style": {
+				"navigationBarTitleText": "我的公益积分",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		
 		// 兑换糖果
 		{
 			"path": "pages/conversion/candy",
@@ -491,6 +510,14 @@
 				"navigationBarTitleText": "积分转账"
 			}
 		},
+		
+		//兑换冻结积分
+		{
+			"path": "pages/conversion/frozen",
+			"style": {
+				"navigationBarTitleText": "兑换"
+			}
+		},
 		{
 			"path": "pages/money/account",
 			"style": {

+ 117 - 0
pages/conversion/frozen.vue

@@ -0,0 +1,117 @@
+<template>
+	<view class="frozen">
+		<view class="header">
+			<text>兑换规则</text><br>
+			<text class="explain">每1000拼团冻结积分+10拼团值可兑换2000拼团积分</text>
+		</view>
+		<view class="content">
+			<view class="title">
+				<view class="l"></view>
+				<view >福利兑换</view>
+			</view>
+			<view class="center">
+				<view class="left">
+					<view class="name">
+						<text class="num">1000</text><br>
+						<text>拼团冻结积分</text>
+					</view>
+					<view class="name">+</view>
+					<view class="name"><text class="num">10</text>拼团值</view>
+				</view>
+				<view class="img">
+					<image src="../../static/img/duhuanbg.png" mode=""></image>
+				</view>
+				<view class="right">
+					<text class="num">1000</text>拼团积分
+				</view>
+			</view>
+		</view>
+		<view class="footer">
+			当前剩余拼团冻结积分<text class="num">2000</text>拼团值<text class="num">50</text>
+		</view>
+		<view class="btn">
+			确认兑换
+		</view>
+	</view>
+</template>
+
+<script>
+</script>
+
+<style lang="scss">
+	.header {
+		font-size: 28rpx;
+		padding: 30rpx;
+		background-color: #fff;
+		font-family: PingFang-SC-Medium;
+		.explain {
+			color: #6D7C88;
+		}
+	}
+	.content {
+		margin-top: 10rpx;
+		background-color: #fff;
+		padding: 30rpx;
+		margin-bottom: 1rpx;
+		.title {
+			display: flex;
+			.l {
+				width: 4rpx;
+				border-radius: 30rpx;
+				margin-right: 10rpx;
+				background: linear-gradient(180deg, #32C6FF 0%,  #2E58FF 100%);
+			}
+		}
+		.center {
+			width: 100%;
+			display: flex;
+			justify-content: space-around;
+			padding: 30rpx;
+			view {
+				margin: auto 0;
+			}
+			.name {
+				font-family: PingFang-SC-Bold;
+				font-weight: bold;
+				font-size: 35rpx;
+				margin: 10rpx;
+			}
+			.left {
+				text-align: center;
+				display: grid;
+				align-content: space-around;
+			}
+			.img {
+				height: 80rpx;
+				line-height: 80rpx;
+				image {
+					width: 80rpx;
+					height: 100%;
+				}
+			}
+			.right {
+				font-family: PingFang-SC-Bold;
+				font-weight: bold;
+				font-size: 35rpx;
+			}
+		}
+	}
+	.footer {
+		padding: 20rpx;
+		color: #6D7C88;
+	}
+	.btn {
+		background: linear-gradient(180deg, #32C6FF 0%,  #2E58FF 100%);
+		color: #fff;
+		font-size: 30rpx;
+		width: 90%;
+		border-radius: 60rpx;
+		padding: 20rpx;
+		text-align: center;
+		margin: 120rpx auto;
+	}
+	.num {
+		color: #2E58FF;
+		margin-right: 5rpx;
+	}
+</style>

+ 9 - 3
pages/conversion/transfers.vue

@@ -10,9 +10,9 @@
 		</view>
 		<view class="main">
 			<view class="main-font">转账数量</view>
-			<input class="main-input" type="number" v-model="num > jf ? jf :num" placeholder="请输入转账数量" placeholder-class="main-input" />
+			<input class="main-input" type="number" v-model="num > jf ? jf : num" placeholder="请输入转账数量" placeholder-class="main-input" />
 		</view>
-		<view class="btn">
+		<view class="btn" @click="submit">
 			提交申请
 		</view>
 	</view>
@@ -22,16 +22,22 @@
 export default {
 	data() {
 		return {
-			// jf: 360, //可转账购物积分
 			uid: '', //收款人账户
 			num: '' //转账数量
 		};
 	},
 	computed: {
+		//可转账购物积分
 		jf() {
 			return this.$store.state.user.userInfo.integral
 		}
 	},
+	methods: {
+		//提交申请
+		submit() {
+			
+		}
+	}
 };
 </script>
 

+ 51 - 53
pages/message/message.vue

@@ -1,69 +1,66 @@
 <template>
-	<view class="message">
-		<view class="item" v-for="l in list">
-			<view class="img">
-				<image :src="l.img" mode=""></image>
-			</view>
-			<view class="right">
-				<view class="top">
-					<view class="title">{{ l.title }}</view><view class="time">{{ l.time }}</view>
+	<view class="center">
+		<view class="message">
+			<view class="item" v-for="l in list" @click="look(l.cate_id)">
+				<view class="img">
+					<image :src="l.image" mode=""></image>
 				</view>
-				<view class="bottom">
-					<view class="concent clamp2">{{ l.concent }}</view><view class="icon" v-show="l.lookAll"></view>
+				<view class="right">
+					<view class="top">
+						<view class="title">{{ l.name }}</view><view class="time">{{ time(l.last_message.add_time) }}</view>
+					</view>
+					<view class="bottom">
+						<view class="concent clamp2">{{ l.last_message.detail }}</view>
+						<view class="icon" v-show="l.unwatch_message > 0"></view>
+					</view>
 				</view>
 			</view>
+			
 		</view>
-		
 	</view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				list: [
-					{
-						img: require('../../static/icon/message1.png'),
-						title: "系统消息",
-						time: "2018-12-09 12:00:00",
-						concent: "恭喜你,你已从营长升级至团长!",
-						lookAll: true
-					},
-					{
-						img: require('../../static/icon/message2.png'),
-						title: "新增下线",
-						time: "2018-12-09 12:00:00",
-						concent: "恭喜你,[下线昵称]在[时间]成为你的下线!",
-						lookAll: false
-					},
-					{
-						img: require('../../static/icon/message3.png'),
-						title: "佣金通知",
-						time: "2018-12-09 12:00:00",
-						concent: "[下线昵称]在[时间]成功支付,恭喜你获得0.3元佣金!",
-						lookAll: false
-					},
-					{
-						img: require('../../static/icon/message4.png'),
-						title: "发货通知",
-						time: "2018-12-09 12:00:00",
-						concent: "您购买的[商品名称]在[时间]已成功发货!!",
-						lookAll: false
-					},
-					{
-						img: require('../../static/icon/message5.png'),
-						title: "开团通知",
-						time: "2018-12-09 12:00:00",
-						concent: "您于[时间]成功发起[商品名称]的拼购活动,快去邀请好友一起拼团吧!快去邀请好友一起拼团吧",
-						lookAll: true
-					}
-				]
-			}
+import { messageList } from '@/api/finance.js'
+export default {
+	data(){
+		return {
+			list:[],
+		}
+	},
+	onLoad() {
+		this.loadData()
+	},
+	methods: {
+		loadData() {
+			messageList({page:1,limit:10}).then(({data}) =>{
+				this.list = data
+				console.log(data)
+			})
+		},
+		look(id) {
+			console.log(id)
+		},
+		time (data) {
+			var date = new Date(data)
+			var Y = date.getFullYear() + '-'
+			var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
+			var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
+			var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'
+			var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'
+			var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds())
+			return Y + M + D + h + m + s
 		}
 	}
+}
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss">
+.center,page {
+	height: 100%;
+	width: 100%;
+	background: #F8F8F8;
+}
 	.message {
 		margin-top: 20rpx;
 		font-family: PingFangSC-Medium;
@@ -118,4 +115,5 @@
 			}
 		}
 	}
+
 </style>

+ 25 - 18
pages/money/award.vue

@@ -2,13 +2,13 @@
 	<view class="content">
 		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
-			<!-- <view class="body-title">
+			<view class="body-title">
 				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
 				<view class="header">我的糖果</view>
-			</view> -->
+			</view>
 			<view class="content-bg"><image src="../../static/img/user-award.png" mode=""></image></view>
 			<view class="money-box">
-				<view class="money">{{ money }}</view>
+				<view class="money">{{ money || 0 }}</view>
 			</view>
 		</view>
 		<view class="navbar">
@@ -31,7 +31,7 @@
 							</view>
 						</view>
 						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+							<text>{{ (item.pm == 0 ? '-' : '+') + item.number * 1 }}</text>
 						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
@@ -45,7 +45,7 @@
 </template>
 
 <script>
-import { spreadCommission, userBalance } from '@/api/wallet.js';
+import { moneyLog, recharge, wallet } from '@/api/finance.js';
 import { mapState, mapMutations } from 'vuex';
 import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
 import empty from '@/uview-ui/components/u-empty/u-empty.vue';
@@ -75,7 +75,7 @@ export default {
 			tabCurrentIndex: 0,
 			navList: [
 				{
-					state: 0,
+					state: 1,
 					text: '收入',
 					loadingType: 'more',
 					orderList: [],
@@ -83,7 +83,7 @@ export default {
 					limit: 10 //每次信息条数
 				},
 				{
-					state: 1,
+					state: 0,
 					text: '支出',
 					loadingType: 'more',
 					orderList: [],
@@ -96,12 +96,18 @@ export default {
 	},
 	onLoad(options) {},
 	onShow() {
+		wallet({}).then(({ data }) => {
+			const obj = this
+			const arr = Object.keys(data.back);
+			console.log(arr);
+			arr.forEach(e => {
+				if(e == 'LALA'){
+					obj.money = (data.back[e].money.money*1).toFixed(0)
+				}
+			});
+		});
 		this.loadData();
 		//获取用户余额
-		userBalance({}).then(({ data }) => {
-			console.log(data)
-			this.money = data.now_money;
-		});
 	},
 	methods: {
 		navto(e) {
@@ -131,16 +137,17 @@ export default {
 			//修改当前对象状态为加载中
 			navItem.loadingType = 'loading';
 
-			spreadCommission(
+			moneyLog(
 				{
 					page: navItem.page,
-					limit: navItem.limit
-				},
-				state
+					limit: navItem.limit,
+					pm:navItem.state
+				},'LALA'
 			)
 				.then(({ data }) => {
-					if (data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
+					console.log(data)
+					if (data.list.length > 0) {
+						navItem.orderList = navItem.orderList.concat(data.list);
 						console.log(navItem.orderList);
 						navItem.page++;
 					}
@@ -237,7 +244,7 @@ page {
 .money-box {
 	position: relative;
 	z-index: 100;
-	padding-top: 150rpx;
+	padding-top: 100rpx;
 	color: #ffffff;
 	text-align: center;
 	.money {

+ 438 - 0
pages/money/frozen.vue

@@ -0,0 +1,438 @@
+<template>
+	<view class="content">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
+		<view class="content-money">
+			<view class="body-title">
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
+				<view class="header">拼团冻结积分</view>
+			</view>
+			<view class="content-bg"><image src="../../static/img/user-integralP.png" mode=""></image></view>
+			<view class="money-box"><view class="money">{{ integral || 0 }}</view></view>
+			<view class="value">拼团值:200</view>
+			<!-- <view class="rule" @click="open()">转赠规则</view> -->
+		</view>
+		<view class="btn flex">
+			<view class="btn-item" @click="navto('/pages/conversion/candy')">兑换糖果</view>
+			<view class="btn-item" @click="navto('/pages/conversion/frozen')">兑换拼团积分</view>
+		</view>
+		<view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<!-- 订单列表 -->
+					<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
+						<view class="title-box">
+							<view class="title">
+								<text>{{ item.title }}</text>
+							</view>
+							<view class="time">
+								<text>{{ item.add_time }}</text>
+							</view>
+						</view>
+						<view class="money">
+							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+		<uni-popup ref="popup" type="center">
+			<view class="popup-box">
+				<view class="popup-title">转赠规则</view>
+				<view class="popup-main">
+					<view class="popup-little">一、活动时间</view>
+					<view class="popup-text">xxxx年xx月xx日xx时举办活动</view>
+					<view class="popup-little">二、规则</view>
+					<view class="popup-text">本次活动奖励共二挡,活动奖励按 最高档发放</view>
+					<view class="popup-little">一、活动时间</view>
+					<view class="popup-text">xxxx年xx月xx日xx时举办活动</view>
+					<view class="popup-little">二、规则</view>
+					<view class="popup-text">本次活动奖励共二挡,活动奖励按 最高档发放</view>
+				</view>
+			</view>
+			<view class="close" @click="close"><image src="../../static/img/Close.png" mode=""></image></view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+import { moneyLog, recharge, wallet } from '@/api/finance.js';
+import { mapState, mapMutations } from 'vuex';
+import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+import empty from '@/uview-ui/components/u-empty/u-empty.vue';
+import uniPopup from '@/components/uni-popup/uni-popup.vue';
+export default {
+	components: {
+		empty,
+		uniLoadMore,
+		uniPopup
+	},
+	onReady(res) {
+		var _this = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					_this.maxheight = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', _this.height);
+				});
+			},
+			fail: res => {}
+		});
+	},
+	data() {
+		return {
+			integral: 0,//我的积分
+			// 头部图高度
+			maxheight: '',
+			tabCurrentIndex: 0,
+			navList: [
+				{
+					state: 1,
+					text: '收入',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页面
+					limit: 10 //每次信息条数
+				},
+				{
+					state: 0,
+					text: '支出',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页面
+					limit: 10 //每次信息条数
+				}
+			],
+		};
+	},
+	onLoad(options) {},
+	onShow() {
+		wallet({}).then(({ data }) => {
+			const obj = this
+			const arr = Object.keys(data.back);
+			console.log(arr);
+			arr.forEach(e => {
+				if(e == 'USDC'){
+					obj.integral = (data.back[e].money.money*1)
+				}
+			});
+		});
+		this.loadData();
+	},
+	methods: {
+		navto(e) {
+			uni.navigateTo({
+				url: e
+			});
+		},
+		// 点击返回 我的页面
+		toBack() {
+			uni.navigateBack({});
+		},
+		async loadData(source) {
+			//这里时将订单挂载到tab列表下
+			let index = this.tabCurrentIndex;
+			let navItem = this.navList[index];
+			let state = navItem.state + 3;
+			if (source === 'tabChange' && navItem.loaded === true) {
+				//tab切换只有第一次需要加载数据
+				return;
+			}
+			if (navItem.loadingType === 'loading') {
+				//防止重复加载
+				return;
+			}
+			//修改当前对象状态为加载中
+			navItem.loadingType = 'loading';
+
+			moneyLog(
+				{
+					page: navItem.page,
+					limit: navItem.limit,
+					pm:navItem.state
+				},
+				'USDC'
+			)
+				.then(({ data }) => {
+					if (data.list.length > 0) {
+						navItem.orderList = navItem.orderList.concat(data.list);
+						console.log(navItem.orderList);
+						navItem.page++;
+					}
+					//判断是否还有数据, 有改为more, 没有改为noMore
+					if (navItem.limit == data.length) {
+						navItem.loadingType = 'more';
+						return;
+					} else {
+						navItem.loadingType = 'noMore';
+					}
+					uni.hideLoading();
+					this.$set(navItem, 'loaded', true);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		//swiper 切换
+		changeTab(e) {
+			this.tabCurrentIndex = e.target.current;
+			this.loadData('tabChange');
+		},
+		//顶部tab点击
+		tabClick(index) {
+			this.tabCurrentIndex = index;
+		},
+		open() {
+			this.$refs.popup.open();
+		},
+		close() {
+			this.$refs.popup.close();
+		},
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #f1f1f1;
+	height: 100%;
+}
+.status_bar {
+	height: var(--status-bar-height);
+	width: 100%;
+}
+.content-money {
+	padding-bottom: 30rpx;
+	position: relative;
+	height: 400rpx;
+	.content-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		height: 400rpx;
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.body-title {
+		height: 80rpx;
+		text-align: center;
+		font-size: 35rpx;
+		position: relative;
+		.header {
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: 100%;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #fffeff;
+			height: 80rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+			z-index: 2;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+		.goback-box {
+			position: absolute;
+			left: 18rpx;
+			top: 0;
+			height: 80rpx;
+			display: flex;
+			align-items: center;
+		}
+		
+		.goback {
+			z-index: 100;
+			width: 34rpx;
+			height: 34rpx;
+		}
+	}
+	.rule {
+		z-index: 11;
+		position: absolute;
+		top: 130rpx;
+		right: 0;
+		width: 140rpx;
+		height: 50rpx;
+		background: #ffffff;
+		border-top-left-radius: 8rpx;
+		border-bottom-left-radius: 8rpx;
+		text-align: center;
+		line-height: 50rpx;
+		font-size: 26rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #2e58ff;
+	}
+}
+.btn {
+	justify-content: center;
+	align-items: center;
+	position: relative;
+	z-index: 10;
+	.btn-item {
+		margin: 0 15rpx;
+		width: 330rpx;
+		height: 100rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 10rpx;
+		text-align: center;
+		line-height: 100rpx;
+		font-size: 34rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #3c77ff;
+		margin-top: -50rpx;
+	}
+}
+.money-box {
+	position: relative;
+	z-index: 10;
+	padding-top: 50rpx;
+	color: #ffffff;
+	text-align: center;
+	.money {
+		font-size: 86rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+	}
+}
+
+.value {
+	margin-top: 5rpx;
+	position: relative;
+	z-index: 10;
+	margin: 0 auto;
+	color: #333333;
+	text-align: center;
+	background-color: #fff;
+	width: 160rpx;
+	font-size: 25rpx;
+	padding: 5rpx;
+	border-radius: 30rpx;
+}
+
+.navbar {
+	margin-top: 20rpx;
+	display: flex;
+	height: 88rpx;
+	padding: 0 5px;
+	background: #fff;
+	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+	position: relative;
+	z-index: 10;
+	.nav-item {
+		flex: 1;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 100%;
+		font-size: 15px;
+		color: $font-color-dark;
+		position: relative;
+		&.current {
+			color: $base-color;
+			&:after {
+				content: '';
+				position: absolute;
+				left: 50%;
+				bottom: 0;
+				transform: translateX(-50%);
+				width: 44px;
+				height: 0;
+				border-bottom: 2px solid $base-color;
+			}
+		}
+	}
+}
+//列表
+
+.swiper-box {
+	.order-item {
+		padding: 20rpx 30rpx;
+		line-height: 1.5;
+		.title-box {
+			.title {
+				font-size: $font-lg;
+				color: $font-color-base;
+			}
+			.time {
+				font-size: $font-base;
+				color: $font-color-light;
+			}
+		}
+		.money {
+			color: #fd5b23;
+			font-size: $font-lg;
+		}
+	}
+}
+.list-scroll-content {
+	background: #ffffff;
+	height: 100%;
+}
+.content {
+	height: 100%;
+	.empty-content {
+		background-color: #ffffff;
+	}
+}
+.popup-box {
+	background: #FFFFFF;
+	border-radius: 10rpx;
+	width: 580rpx;
+	padding: 43rpx 60rpx 56rpx 34rpx;
+	.popup-title {
+		width: 100%;
+		text-align: center;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+	}
+	.popup-main {
+		margin-top: 48rpx;
+		.popup-little {
+			padding-top: 18rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #333333;
+		}
+		.popup-text {
+			padding-left: 60rpx;
+			padding-top: 18rpx;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #666666;
+		}
+	}
+}
+.close {
+	margin: 70rpx auto 0;
+	width: 84rpx;
+	height: 84rpx;
+	image {
+		width: 100%;
+		height: 100%;
+	}
+}
+</style>

+ 24 - 24
pages/money/integralP.vue

@@ -2,12 +2,12 @@
 	<view class="content">
 		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
-			<!-- <view class="body-title">
+			<view class="body-title">
 				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
 				<view class="header">我的拼团积分</view>
-			</view> -->
+			</view>
 			<view class="content-bg"><image src="../../static/img/user-integralP.png" mode=""></image></view>
-			<view class="money-box"><view class="money">{{ integral }}</view></view>
+			<view class="money-box"><view class="money">{{ integral || 0 }}</view></view>
 			<view class="rule" @click="open()">转赠规则</view>
 		</view>
 		<view class="btn flex">
@@ -61,7 +61,7 @@
 </template>
 
 <script>
-import { spreadCommission, userBalance } from '@/api/wallet.js';
+import { moneyLog, recharge, wallet } from '@/api/finance.js';
 import { mapState, mapMutations } from 'vuex';
 import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
 import empty from '@/uview-ui/components/u-empty/u-empty.vue';
@@ -88,12 +88,13 @@ export default {
 	},
 	data() {
 		return {
+			integral: 0,//我的积分
 			// 头部图高度
 			maxheight: '',
 			tabCurrentIndex: 0,
 			navList: [
 				{
-					state: 0,
+					state: 1,
 					text: '收入',
 					loadingType: 'more',
 					orderList: [],
@@ -101,7 +102,7 @@ export default {
 					limit: 10 //每次信息条数
 				},
 				{
-					state: 1,
+					state: 0,
 					text: '支出',
 					loadingType: 'more',
 					orderList: [],
@@ -109,23 +110,21 @@ export default {
 					limit: 10 //每次信息条数
 				}
 			],
-			money: 0,
 		};
 	},
 	onLoad(options) {},
 	onShow() {
-		this.loadData();
-		//获取用户余额
-		userBalance({}).then(({ data }) => {
-			console.log(data)
-			this.money = data.now_money;
+		wallet({}).then(({ data }) => {
+			const obj = this
+			const arr = Object.keys(data.back);
+			console.log(arr);
+			arr.forEach(e => {
+				if(e == 'USDC'){
+					obj.integral = (data.back[e].money.money*1)
+				}
+			});
 		});
-		console.log(this.jf)
-	},
-	computed: {
-		integral() {
-			return this.$store.state.user.userInfo.integral
-		}
+		this.loadData();
 	},
 	methods: {
 		navto(e) {
@@ -153,16 +152,17 @@ export default {
 			//修改当前对象状态为加载中
 			navItem.loadingType = 'loading';
 
-			spreadCommission(
+			moneyLog(
 				{
 					page: navItem.page,
-					limit: navItem.limit
+					limit: navItem.limit,
+					pm:navItem.state
 				},
-				state
+				'USDC'
 			)
 				.then(({ data }) => {
-					if (data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
+					if (data.list.length > 0) {
+						navItem.orderList = navItem.orderList.concat(data.list);
 						console.log(navItem.orderList);
 						navItem.page++;
 					}
@@ -303,7 +303,7 @@ page {
 .money-box {
 	position: relative;
 	z-index: 10;
-	padding-top: 150rpx;
+	padding-top: 100rpx;
 	color: #ffffff;
 	text-align: center;
 	.money {

+ 28 - 19
pages/money/integralShopping.vue

@@ -2,17 +2,12 @@
 	<view class="content">
 		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
-			<!-- <view class="body-title">
+			<view class="body-title">
 				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
-				<view class="header">我的拼团积分</view>
-			</view> -->
+				<view class="header">我的货款</view>
+			</view>
 			<view class="content-bg"><image src="../../static/img/user-integralP.png" mode=""></image></view>
-			<view class="money-box"><view class="money">{{ integral }}</view></view>
-			<view class="rule" @click="open()">转赠规则</view>
-		</view>
-		<view class="btn flex">
-			<view class="btn-item" @click="navto('/pages/conversion/candy')">转换为糖果</view>
-			<view class="btn-item" @click="navto('/pages/conversion/transfers')">积分转赠</view>
+			<view class="money-box"><view class="money">{{ userInfo.now_money*1 }}</view></view>
 		</view>
 		<view class="navbar">
 			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
@@ -41,6 +36,9 @@
 				</scroll-view>
 			</swiper-item>
 		</swiper>
+		<view class="btn-box" @click="navto('/pages/money/huodai')">
+			货款充值
+		</view>
 		<uni-popup ref="popup" type="center">
 			<view class="popup-box">
 				<view class="popup-title">转赠规则</view>
@@ -62,7 +60,6 @@
 
 <script>
 import { spreadCommission, userBalance } from '@/api/wallet.js';
-import { getSp } from '@/api/market.js';
 import { mapState, mapMutations } from 'vuex';
 import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
 import empty from '@/uview-ui/components/u-empty/u-empty.vue';
@@ -86,14 +83,6 @@ export default {
 			},
 			fail: res => {}
 		});
-		getSp({}).then(({ data }) => {
-			console.log(data)
-		});
-	},
-	computed: {
-		integral() {
-			return this.$store.state.user.userInfo.integral
-		}
 	},
 	data() {
 		return {
@@ -129,6 +118,9 @@ export default {
 			this.money = data.commissionCount;
 		});
 	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
 	methods: {
 		navto(e) {
 			uni.navigateTo({
@@ -305,7 +297,7 @@ page {
 .money-box {
 	position: relative;
 	z-index: 10;
-	padding-top: 150rpx;
+	padding-top: 100rpx;
 	color: #ffffff;
 	text-align: center;
 	.money {
@@ -381,6 +373,23 @@ page {
 		background-color: #ffffff;
 	}
 }
+.btn-box{
+	position: fixed;
+	bottom: 48rpx;
+	left: 0;
+	right: 0;
+	margin: auto;
+	width: 674rpx;
+	height: 88rpx;
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
+	border-radius: 44rpx;
+	text-align: center;
+	line-height: 88rpx;
+	font-size: 36rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #FFFFFF;
+}
 .popup-box {
 	background: #FFFFFF;
 	border-radius: 10rpx;

+ 402 - 0
pages/money/loan.vue

@@ -0,0 +1,402 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="content-bg"><image src="../../static/img/user-integralP.png" mode=""></image></view>
+			<view class="money-box"><view class="money"> 66 </view></view>
+			<view class="rule" @click="open()">转赠规则</view>
+		</view>
+		<view class="btn flex">
+			<view class="btn-item" @click="navto('/pages/conversion/candy')">转换为糖果</view>
+			<view class="btn-item" @click="navto('/pages/conversion/transfers')">贷款转赠</view>
+		</view>
+		<view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+					<!-- 订单列表 -->
+					<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
+						<view class="title-box">
+							<view class="title">
+								<text>{{ item.title }}</text>
+							</view>
+							<view class="time">
+								<text>{{ item.add_time }}</text>
+							</view>
+						</view>
+						<view class="money">
+							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+		<uni-popup ref="popup" type="center">
+			<view class="popup-box">
+				<view class="popup-title">转赠规则</view>
+				<view class="popup-main">
+					<view class="popup-little">一、活动时间</view>
+					<view class="popup-text">xxxx年xx月xx日xx时举办活动</view>
+					<view class="popup-little">二、规则</view>
+					<view class="popup-text">本次活动奖励共二挡,活动奖励按 最高档发放</view>
+					<view class="popup-little">一、活动时间</view>
+					<view class="popup-text">xxxx年xx月xx日xx时举办活动</view>
+					<view class="popup-little">二、规则</view>
+					<view class="popup-text">本次活动奖励共二挡,活动奖励按 最高档发放</view>
+				</view>
+			</view>
+			<view class="close" @click="close"><image src="../../static/img/Close.png" mode=""></image></view>
+		</uni-popup>
+		<view class="btn-box" @click="navto('/pages/money/recharge')">
+			立即充值
+		</view>
+	</view>
+</template>
+
+<script>
+	
+import { getSp,spExchange } from '@/api/market.js';
+import { spreadCommission, userBalance } from '@/api/wallet.js';
+import { mapState, mapMutations } from 'vuex';
+import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+import empty from '@/uview-ui/components/u-empty/u-empty.vue';
+import uniPopup from '@/components/uni-popup/uni-popup.vue';
+export default {
+	components: {
+		empty,
+		uniLoadMore,
+		uniPopup
+	},
+	onReady(res) {
+		var _this = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					_this.maxheight = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', _this.height);
+				});
+			},
+			fail: res => {}
+		});
+	},
+	data() {
+		return {
+			// 头部图高度
+			maxheight: '',
+			tabCurrentIndex: 0,
+			navList: [
+				{
+					state: 0,
+					text: '收入',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页面
+					limit: 10 //每次信息条数
+				},
+				{
+					state: 1,
+					text: '支出',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页面
+					limit: 10 //每次信息条数
+				}
+			],
+			money: 0,
+		};
+	},
+	onLoad(options) {},
+	onShow() {
+		this.loadData();
+		//获取用户余额
+		userBalance({}).then(({ data }) => {
+			console.log(data)
+			this.money = data.now_money;
+		});
+		console.log(this.jf)
+	},
+	computed: {
+		integral() {
+			return this.$store.state.user.userInfo.integral
+		}
+	},
+	methods: {
+		navto(e) {
+			uni.navigateTo({
+				url: e
+			});
+		},
+		// 点击返回 我的页面
+		toBack() {
+			uni.navigateBack({});
+		},
+		async loadData(source) {
+			//这里时将订单挂载到tab列表下
+			let index = this.tabCurrentIndex;
+			let navItem = this.navList[index];
+			let state = navItem.state + 3;
+			if (source === 'tabChange' && navItem.loaded === true) {
+				//tab切换只有第一次需要加载数据
+				return;
+			}
+			if (navItem.loadingType === 'loading') {
+				//防止重复加载
+				return;
+			}
+			//修改当前对象状态为加载中
+			navItem.loadingType = 'loading';
+
+			spreadCommission(
+				{
+					page: navItem.page,
+					limit: navItem.limit
+				},
+				state
+			)
+				.then(({ data }) => {
+					if (data.length > 0) {
+						navItem.orderList = navItem.orderList.concat(data[0].list);
+						console.log(navItem.orderList);
+						navItem.page++;
+					}
+					//判断是否还有数据, 有改为more, 没有改为noMore
+					if (navItem.limit == data.length) {
+						navItem.loadingType = 'more';
+						return;
+					} else {
+						navItem.loadingType = 'noMore';
+					}
+					uni.hideLoading();
+					this.$set(navItem, 'loaded', true);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		//swiper 切换
+		changeTab(e) {
+			this.tabCurrentIndex = e.target.current;
+			this.loadData('tabChange');
+		},
+		//顶部tab点击
+		tabClick(index) {
+			this.tabCurrentIndex = index;
+		},
+		open() {
+			this.$refs.popup.open();
+		},
+		close() {
+			this.$refs.popup.close();
+		},
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #f1f1f1;
+	height: 100%;
+}
+.status_bar {
+	height: var(--status-bar-height);
+	width: 100%;
+}
+.content-money {
+	padding-bottom: 30rpx;
+	position: relative;
+	height: 400rpx;
+	.content-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		height: 400rpx;
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.rule {
+		z-index: 11;
+		position: absolute;
+		top: 130rpx;
+		right: 0;
+		width: 140rpx;
+		height: 50rpx;
+		background: #ffffff;
+		border-top-left-radius: 8rpx;
+		border-bottom-left-radius: 8rpx;
+		text-align: center;
+		line-height: 50rpx;
+		font-size: 26rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #2e58ff;
+	}
+}
+.btn {
+	justify-content: center;
+	align-items: center;
+	position: relative;
+	z-index: 10;
+	.btn-item {
+		margin: 0 15rpx;
+		width: 330rpx;
+		height: 100rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 10rpx;
+		text-align: center;
+		line-height: 100rpx;
+		font-size: 34rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #3c77ff;
+		margin-top: -50rpx;
+	}
+}
+.money-box {
+	position: relative;
+	z-index: 10;
+	padding-top: 150rpx;
+	color: #ffffff;
+	text-align: center;
+	.money {
+		font-size: 86rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+	}
+}
+
+.navbar {
+	margin-top: 20rpx;
+	display: flex;
+	height: 88rpx;
+	padding: 0 5px;
+	background: #fff;
+	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+	position: relative;
+	z-index: 10;
+	.nav-item {
+		flex: 1;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 100%;
+		font-size: 15px;
+		color: $font-color-dark;
+		position: relative;
+		&.current {
+			color: $base-color;
+			&:after {
+				content: '';
+				position: absolute;
+				left: 50%;
+				bottom: 0;
+				transform: translateX(-50%);
+				width: 44px;
+				height: 0;
+				border-bottom: 2px solid $base-color;
+			}
+		}
+	}
+}
+//列表
+
+.swiper-box {
+	.order-item {
+		padding: 20rpx 30rpx;
+		line-height: 1.5;
+		.title-box {
+			.title {
+				font-size: $font-lg;
+				color: $font-color-base;
+			}
+			.time {
+				font-size: $font-base;
+				color: $font-color-light;
+			}
+		}
+		.money {
+			color: #fd5b23;
+			font-size: $font-lg;
+		}
+	}
+}
+.list-scroll-content {
+	background: #ffffff;
+	height: 100%;
+}
+.content {
+	height: 100%;
+	.empty-content {
+		background-color: #ffffff;
+	}
+}
+.popup-box {
+	background: #FFFFFF;
+	border-radius: 10rpx;
+	width: 580rpx;
+	padding: 43rpx 60rpx 56rpx 34rpx;
+	.popup-title {
+		width: 100%;
+		text-align: center;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+	}
+	.popup-main {
+		margin-top: 48rpx;
+		.popup-little {
+			padding-top: 18rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #333333;
+		}
+		.popup-text {
+			padding-left: 60rpx;
+			padding-top: 18rpx;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #666666;
+		}
+	}
+}
+.close {
+	margin: 70rpx auto 0;
+	width: 84rpx;
+	height: 84rpx;
+	image {
+		width: 100%;
+		height: 100%;
+	}
+}
+.btn-box {
+	width: 674rpx;
+	height: 88rpx;
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
+	border-radius: 44rpx;
+	font-size: 36rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #FFFFFF;
+	text-align: center;
+	line-height: 88rpx;
+	position: fixed;
+	bottom: 48rpx;
+	left: 0;
+	right: 0;
+	margin: 0 auto;
+}
+</style>

+ 276 - 0
pages/money/mallPoints.vue

@@ -0,0 +1,276 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="content-bg"><image src="../../static/img/user-award.png" mode=""></image></view>
+			<view class="money-box">
+				<view class="money"> 2000 </view>
+			</view>
+		</view>
+		<view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<!-- 订单列表 -->
+					<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
+						<view class="title-box">
+							<view class="title">
+								<text>{{ item.title }}</text>
+							</view>
+							<view class="time">
+								<text>{{ item.add_time }}</text>
+							</view>
+						</view>
+						<view class="money">
+							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+import { spreadCommission, userBalance,USDT,getWallet } from '@/api/wallet.js';
+import { mapState, mapMutations } from 'vuex';
+import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+import empty from '@/uview-ui/components/u-empty/u-empty.vue';
+export default {
+	components: {
+		empty,
+		uniLoadMore
+	},
+	onReady(res) {
+		var _this = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					_this.maxheight = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', _this.height);
+				});
+			},
+			fail: res => {}
+		});
+	},
+	data() {
+		return {
+			// 头部图高度
+			maxheight: '',
+			tabCurrentIndex: 0,
+			navList: [
+				{
+					state: 0,
+					text: '收入',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页面
+					limit: 10 //每次信息条数
+				},
+				{
+					state: 1,
+					text: '支出',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页面
+					limit: 10 //每次信息条数
+				}
+			],
+			money: 0
+		};
+	},
+	onLoad(options) {},
+	onShow() {
+		this.loadData();
+		this.getRecord()
+		//获取用户余额
+		userBalance({}).then(({ data }) => {
+			console.log(data)
+			this.money = data.now_money;
+		});
+		this.getMoneyLog()
+		this.getUSDT()
+	},
+	methods: {
+		async loadData(source) {
+			//这里时将订单挂载到tab列表下
+			let index = this.tabCurrentIndex;
+			let navItem = this.navList[index];
+			let state = navItem.state + 3;
+			if (source === 'tabChange' && navItem.loaded === true) {
+				//tab切换只有第一次需要加载数据
+				return;
+			}
+			if (navItem.loadingType === 'loading') {
+				//防止重复加载
+				return;
+			}
+			//修改当前对象状态为加载中
+			navItem.loadingType = 'loading';
+
+			spreadCommission(
+				{
+					page: navItem.page,
+					limit: navItem.limit
+				},
+				state
+			)
+				.then(({ data }) => {
+					if (data.length > 0) {
+						navItem.orderList = navItem.orderList.concat(data[0].list);
+						console.log(navItem.orderList);
+						navItem.page++;
+					}
+					//判断是否还有数据, 有改为more, 没有改为noMore
+					if (navItem.limit == data.length) {
+						navItem.loadingType = 'more';
+						return;
+					} else {
+						navItem.loadingType = 'noMore';
+					}
+					uni.hideLoading();
+					this.$set(navItem, 'loaded', true);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		//swiper 切换
+		changeTab(e) {
+			this.tabCurrentIndex = e.target.current;
+			this.loadData('tabChange');
+		},
+		//顶部tab点击
+		tabClick(index) {
+			this.tabCurrentIndex = index;
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #f1f1f1;
+	height: 100%;
+}
+.content-money {
+	padding-bottom: 30rpx;
+	position: relative;
+	height: 400rpx;
+	.content-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		height: 400rpx;
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+}
+.money-box {
+	position: relative;
+	z-index: 100;
+	padding-top: 150rpx;
+	color: #ffffff;
+	text-align: center;
+	.money {
+		font-size: 86rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #FFFFFF;
+	}
+}
+
+.navbar {
+	margin-top: 20rpx;
+	display: flex;
+	height: 88rpx;
+	padding: 0 5px;
+	background: #fff;
+	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+	position: relative;
+	z-index: 10;
+	.nav-item {
+		flex: 1;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 100%;
+		font-size: 15px;
+		color: $font-color-dark;
+		position: relative;
+		&.current {
+			color: $base-color;
+			&:after {
+				content: '';
+				position: absolute;
+				left: 50%;
+				bottom: 0;
+				transform: translateX(-50%);
+				width: 44px;
+				height: 0;
+				border-bottom: 2px solid $base-color;
+			}
+		}
+	}
+}
+//列表
+
+.swiper-box {
+	.order-item {
+		padding: 20rpx 30rpx;
+		line-height: 1.5;
+		.title-box {
+			.title {
+				font-size: $font-lg;
+				color: $font-color-base;
+			}
+			.time {
+				font-size: $font-base;
+				color: $font-color-light;
+			}
+		}
+		.money {
+			color: #EF3A55;
+			font-size: $font-lg + 5rpx;
+		}
+	}
+}
+.list-scroll-content {
+	background: #ffffff;
+	height: 100%;
+}
+.content {
+	height: 100%;
+	.empty-content {
+		background-color: #ffffff;
+	}
+}
+.btn-box {
+	width: 674rpx;
+	height: 88rpx;
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
+	border-radius: 44rpx;
+	font-size: 36rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #FFFFFF;
+	text-align: center;
+	line-height: 88rpx;
+	position: fixed;
+	bottom: 48rpx;
+	left: 0;
+	right: 0;
+	margin: 0 auto;
+}
+</style>

+ 454 - 0
pages/money/publicWelfare.vue

@@ -0,0 +1,454 @@
+<template>
+	<view class="content">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
+		<view class="content-money">
+			<view class="body-title">
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
+				<view class="header">我的公益积分</view>
+			</view>
+			<view class="content-bg"><image src="../../static/img/user-integralP.png" mode=""></image></view>
+			<view class="money-box"><view class="money">{{ integral || 0 }}</view></view>
+			<view class="value">公益奖励:200</view>
+			<!-- <view class="rule" @click="open()">转赠规则</view> -->
+		</view>
+		<view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<!-- 订单列表 -->
+					<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
+						<view class="title-box">
+							<view class="title">
+								<text>{{ item.title }}</text>
+							</view>
+							<view class="time">
+								<text>{{ item.add_time }}</text>
+							</view>
+						</view>
+						<view class="money">
+							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+		<uni-popup ref="popup" type="center">
+			<view class="popup-box">
+				<view class="popup-title">转赠规则</view>
+				<view class="popup-main">
+					<view class="popup-little">一、活动时间</view>
+					<view class="popup-text">xxxx年xx月xx日xx时举办活动</view>
+					<view class="popup-little">二、规则</view>
+					<view class="popup-text">本次活动奖励共二挡,活动奖励按 最高档发放</view>
+					<view class="popup-little">一、活动时间</view>
+					<view class="popup-text">xxxx年xx月xx日xx时举办活动</view>
+					<view class="popup-little">二、规则</view>
+					<view class="popup-text">本次活动奖励共二挡,活动奖励按 最高档发放</view>
+				</view>
+			</view>
+			<view class="close" @click="close"><image src="../../static/img/Close.png" mode=""></image></view>
+		</uni-popup>
+		<view class="btn-box" @click="navto('/pages/money/withdrawal')">
+			公益奖励提现
+		</view>
+	</view>
+</template>
+
+<script>
+import { moneyLog, recharge, wallet } from '@/api/finance.js';
+import { mapState, mapMutations } from 'vuex';
+import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+import empty from '@/uview-ui/components/u-empty/u-empty.vue';
+import uniPopup from '@/components/uni-popup/uni-popup.vue';
+export default {
+	components: {
+		empty,
+		uniLoadMore,
+		uniPopup
+	},
+	onReady(res) {
+		var _this = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					_this.maxheight = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', _this.height);
+				});
+			},
+			fail: res => {}
+		});
+	},
+	data() {
+		return {
+			integral: 0,//我的积分
+			// 头部图高度
+			maxheight: '',
+			tabCurrentIndex: 0,
+			navList: [
+				{
+					state: 1,
+					text: '收入',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页面
+					limit: 10 //每次信息条数
+				},
+				{
+					state: 0,
+					text: '支出',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页面
+					limit: 10 //每次信息条数
+				}
+			],
+		};
+	},
+	onLoad(options) {},
+	onShow() {
+		wallet({}).then(({ data }) => {
+			const obj = this
+			const arr = Object.keys(data.back);
+			console.log(arr);
+			arr.forEach(e => {
+				if(e == 'USDC'){
+					obj.integral = (data.back[e].money.money*1)
+				}
+			});
+		});
+		this.loadData();
+	},
+	methods: {
+		navto(e) {
+			uni.navigateTo({
+				url: e
+			});
+		},
+		// 点击返回 我的页面
+		toBack() {
+			uni.navigateBack({});
+		},
+		async loadData(source) {
+			//这里时将订单挂载到tab列表下
+			let index = this.tabCurrentIndex;
+			let navItem = this.navList[index];
+			let state = navItem.state + 3;
+			if (source === 'tabChange' && navItem.loaded === true) {
+				//tab切换只有第一次需要加载数据
+				return;
+			}
+			if (navItem.loadingType === 'loading') {
+				//防止重复加载
+				return;
+			}
+			//修改当前对象状态为加载中
+			navItem.loadingType = 'loading';
+
+			moneyLog(
+				{
+					page: navItem.page,
+					limit: navItem.limit,
+					pm:navItem.state
+				},
+				'USDC'
+			)
+				.then(({ data }) => {
+					if (data.list.length > 0) {
+						navItem.orderList = navItem.orderList.concat(data.list);
+						console.log(navItem.orderList);
+						navItem.page++;
+					}
+					//判断是否还有数据, 有改为more, 没有改为noMore
+					if (navItem.limit == data.length) {
+						navItem.loadingType = 'more';
+						return;
+					} else {
+						navItem.loadingType = 'noMore';
+					}
+					uni.hideLoading();
+					this.$set(navItem, 'loaded', true);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		//swiper 切换
+		changeTab(e) {
+			this.tabCurrentIndex = e.target.current;
+			this.loadData('tabChange');
+		},
+		//顶部tab点击
+		tabClick(index) {
+			this.tabCurrentIndex = index;
+		},
+		open() {
+			this.$refs.popup.open();
+		},
+		close() {
+			this.$refs.popup.close();
+		},
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #f1f1f1;
+	height: 100%;
+}
+.status_bar {
+	height: var(--status-bar-height);
+	width: 100%;
+}
+.content-money {
+	padding-bottom: 30rpx;
+	position: relative;
+	height: 400rpx;
+	.content-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		height: 400rpx;
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.body-title {
+		height: 80rpx;
+		text-align: center;
+		font-size: 35rpx;
+		position: relative;
+		.header {
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: 100%;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #fffeff;
+			height: 80rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+			z-index: 2;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+		.goback-box {
+			position: absolute;
+			left: 18rpx;
+			top: 0;
+			height: 80rpx;
+			display: flex;
+			align-items: center;
+		}
+		
+		.goback {
+			z-index: 100;
+			width: 34rpx;
+			height: 34rpx;
+		}
+	}
+	.rule {
+		z-index: 11;
+		position: absolute;
+		top: 130rpx;
+		right: 0;
+		width: 140rpx;
+		height: 50rpx;
+		background: #ffffff;
+		border-top-left-radius: 8rpx;
+		border-bottom-left-radius: 8rpx;
+		text-align: center;
+		line-height: 50rpx;
+		font-size: 26rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #2e58ff;
+	}
+}
+.btn {
+	justify-content: center;
+	align-items: center;
+	position: relative;
+	z-index: 10;
+	.btn-item {
+		margin: 0 15rpx;
+		width: 330rpx;
+		height: 100rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 10rpx;
+		text-align: center;
+		line-height: 100rpx;
+		font-size: 34rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #3c77ff;
+		margin-top: -50rpx;
+	}
+}
+.money-box {
+	position: relative;
+	z-index: 10;
+	padding-top: 50rpx;
+	color: #ffffff;
+	text-align: center;
+	.money {
+		font-size: 86rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+	}
+}
+
+.value {
+	margin-top: 5rpx;
+	position: relative;
+	z-index: 10;
+	margin: 0 auto;
+	color: #333333;
+	text-align: center;
+	background-color: #fff;
+	width: 160rpx;
+	font-size: 25rpx;
+	padding: 5rpx;
+	border-radius: 30rpx;
+}
+
+.navbar {
+	margin-top: 20rpx;
+	display: flex;
+	height: 88rpx;
+	padding: 0 5px;
+	background: #fff;
+	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+	position: relative;
+	z-index: 10;
+	.nav-item {
+		flex: 1;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 100%;
+		font-size: 15px;
+		color: $font-color-dark;
+		position: relative;
+		&.current {
+			color: $base-color;
+			&:after {
+				content: '';
+				position: absolute;
+				left: 50%;
+				bottom: 0;
+				transform: translateX(-50%);
+				width: 44px;
+				height: 0;
+				border-bottom: 2px solid $base-color;
+			}
+		}
+	}
+}
+//列表
+
+.swiper-box {
+	.order-item {
+		padding: 20rpx 30rpx;
+		line-height: 1.5;
+		.title-box {
+			.title {
+				font-size: $font-lg;
+				color: $font-color-base;
+			}
+			.time {
+				font-size: $font-base;
+				color: $font-color-light;
+			}
+		}
+		.money {
+			color: #fd5b23;
+			font-size: $font-lg;
+		}
+	}
+}
+.list-scroll-content {
+	background: #ffffff;
+	height: 100%;
+}
+.content {
+	height: 100%;
+	.empty-content {
+		background-color: #ffffff;
+	}
+}
+.popup-box {
+	background: #FFFFFF;
+	border-radius: 10rpx;
+	width: 580rpx;
+	padding: 43rpx 60rpx 56rpx 34rpx;
+	.popup-title {
+		width: 100%;
+		text-align: center;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+	}
+	.popup-main {
+		margin-top: 48rpx;
+		.popup-little {
+			padding-top: 18rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #333333;
+		}
+		.popup-text {
+			padding-left: 60rpx;
+			padding-top: 18rpx;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #666666;
+		}
+	}
+}
+.close {
+	margin: 70rpx auto 0;
+	width: 84rpx;
+	height: 84rpx;
+	image {
+		width: 100%;
+		height: 100%;
+	}
+}
+.btn-box {
+	width: 674rpx;
+	height: 88rpx;
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
+	border-radius: 44rpx;
+	font-size: 36rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #FFFFFF;
+	text-align: center;
+	line-height: 88rpx;
+	position: fixed;
+	bottom: 48rpx;
+	left: 0;
+	right: 0;
+	margin: 0 auto;
+}
+</style>

+ 8 - 12
pages/money/wallet.vue

@@ -2,13 +2,13 @@
 	<view class="content">
 		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
-			<!-- <view class="body-title">
+			<view class="body-title">
 				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
 				<view class="header">我的佣金</view>
-			</view> -->
+			</view>
 			<view class="content-bg"><image src="../../static/img/user-award.png" mode=""></image></view>
 			<view class="money-box">
-				<view class="money"><text>¥</text>{{ brokerage_price }}</view>
+				<view class="money"><text>¥</text>{{userInfo.brokerage_price}}</view>
 			</view>
 		</view>
 		<view class="navbar">
@@ -47,12 +47,16 @@
 <script>
 import { spreadCommission, userBalance } from '@/api/wallet.js';
 import { getMoneyStyle } from '@/utils/rocessor.js';
+import { mapState, mapMutations } from 'vuex';
 import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
 import empty from '@/uview-ui/components/u-empty/u-empty.vue';
 export default {
 	filters: {
 		getMoneyStyle
 	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
 	components: {
 		empty,
 		uniLoadMore
@@ -71,12 +75,6 @@ export default {
 			fail: res => {}
 		});
 	},
-	computed: {
-		//佣金
-		brokerage_price() {
-			return this.$store.state.user.userInfo.brokerage_price
-		}
-	},
 	data() {
 		return {
 			// 头部图高度
@@ -110,8 +108,6 @@ export default {
 		userBalance({}).then(({ data }) => {
 			this.money = data.now_money;
 		});
-		
-		
 	},
 	methods: {
 		// 页面跳转
@@ -251,7 +247,7 @@ page {
 .money-box {
 	position: relative;
 	z-index: 100;
-	padding-top: 150rpx;
+	padding-top: 100rpx;
 	color: #ffffff;
 	text-align: center;
 	.money {

+ 189 - 0
pages/user/assets.vue

@@ -0,0 +1,189 @@
+<template>
+	<view class="assets">
+		<view class="header">
+			<view class="img"><image :src="userInfo.avatar" mode=""></image></view>
+			{{ userInfo.nickname }}
+		</view>
+		<view class="numerical">
+			<view class="value">
+				<text>8555</text><br>
+				贡献值
+			</view>
+			<view class="l"></view>
+			<view class="value">
+				<text>788</text><br>
+				诚信值
+			</view>
+		</view>
+		<view class="main">
+			<view class="btn" @click="nav('/pages/money/wallet')">
+				<image src="../../static/icon/index1.png"></image>
+				<text>{{userInfo.brokerage_price * 1}}</text>
+				佣金
+			</view>
+			<view class="btn" @click="nav('/pages/money/award')">
+				<image src="../../static/icon/index2.png"></image>
+				<text>{{ candy||0 }}</text>
+				糖果
+			</view>
+			<view class="btn" @click="nav('/pages/money/integralShopping')">
+				<image src="../../static/icon/index3.png"></image>
+				<text>{{ userInfo.now_money*1 }}</text>
+				货款
+			</view>
+			<view class="btn" @click="nav('/pages/money/mallPoints')">
+				<image src="../../static/icon/index4.png"></image>
+				<text>2000</text>
+				商城积分
+			</view>
+			<view class="btn" @click="nav('/pages/money/integralP')">
+				<image src="../../static/icon/index5.png"></image>
+				<text>{{ jf||0 }}</text>
+				拼团积分
+			</view>
+			<view class="btn" @click="nav('/pages/money/frozen')">
+				<image src="../../static/icon/index6.png"></image>
+				<text>2000</text>
+				拼团冻结积分
+			</view>
+			<view class="btn" @click="nav('/pages/money/publicWelfare')">
+				<image src="../../static/icon/index7.png"></image>
+				<text>2000</text>
+				公益积分
+			</view>
+			
+		</view>
+	</view>
+</template>
+
+<script>
+import { wallet } from '@/api/finance.js';
+	export default {
+		mounted() {
+			console.log(this.userInfo)
+		},
+		data() {
+			return {
+				candy: '',
+				jf: ''
+			}
+		},
+		mounted() {
+			this.getWallet()
+		},
+		methods: {
+			getWallet() {
+				wallet({}).then(({ data }) => {
+					console.log(data)
+					const obj = this
+					const arr = Object.keys(data.back);
+					console.log(arr);
+					let ar = [];
+					arr.forEach(e => {
+						console.log(e,'11111')
+						if(e == 'LALA'){
+							obj.candy = (data.back[e].money.money*1).toFixed(0)
+						}
+						if(e == 'USDC'){
+							obj.jf = (data.back[e].money.money*1)
+						}
+						ar.push(data.back[e]);
+					});
+				});
+			},
+			nav(url) {
+				uni.navigateTo({
+					url: url,
+					fail() {
+						uni.switchTab({
+							url: url
+						});
+					}
+				});
+			},
+		},
+		computed: {
+			userInfo() {
+				return this.$store.state.user.userInfo
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.assets {
+		.header {
+			height: 480rpx;
+			background: linear-gradient(180deg, #32C6FF 0%,  #2E58FF 100%);
+			color: #fff;
+			font-size: 35rpx;
+			text-align: center;
+			font-family: PingFang-SC-Medium;
+			padding-top: 140rpx;
+			.img {
+				margin-bottom: 10rpx;
+				image {
+					border-radius: 50%;
+					width: 150rpx;
+					height: 150rpx;
+					border: solid 6rpx #fff;
+				}
+			}
+		}
+		.numerical {
+			box-shadow: 0 5rpx 10rpx 1rpx #e6e6e6;
+			margin: 30rpx;
+			color: #666666;
+			display: flex;
+			text-align: center;
+			background-color: #fff;
+			padding: 30rpx;
+			border-radius: 20rpx;
+			position: relative;
+			top: -120rpx;
+			.l {
+				background-color: #F8F8F8;
+				width: 5rpx;
+				height: 70rpx;
+				margin:  auto 0;
+			}
+			.value {
+				flex: 1;
+			}
+			text {
+				font-size: 40rpx;
+				color: #333333;
+			}
+		}
+		.main {
+			position: relative;
+			top: -140rpx;
+			display: flex;
+			flex-wrap: wrap;
+			text-align: center;
+			margin: 20rpx;
+			.btn {
+				padding: 40rpx;
+				box-shadow: 0 5rpx 10rpx 1rpx #e6e6e6;
+				border-radius: 20rpx;
+				width: calc(50% - 20rpx);
+				height: 240rpx;
+				background-color: #fff;
+				margin: 10rpx;
+				display: grid;
+				align-content: space-around;
+				color: #666666;
+				font-family: PingFang-SC-Medium;
+				image {
+					margin: 10rpx auto;
+					width: 80rpx;
+					height: 80rpx;
+				}
+				text {
+					color: #333333;
+					font-size: 35rpx;
+				}
+			}
+		}
+	}
+</style>

+ 41 - 26
pages/user/user.vue

@@ -11,7 +11,7 @@
 					<view class="name">{{ userInfo.nickname }}</view>
 					<view class="phone">{{ userInfo.phone }}</view>
 					<view class="vip-box">
-						<view class="vip">会员等级LV.5</view>
+						<view class="vip">会员等级LV.{{ userInfo.level }}</view>
 						<view class="pintuan">拼团等级LV.2</view>
 					</view>
 				</view>
@@ -20,47 +20,41 @@
 		<view class="box">
 			<view class="sweets-box">
 				<view class="sweets" @click="nav('/pages/money/award')">
-					<view class="limit">{{ userInfo.now_money }}</view>
+					<view class="limit">{{ candy || 0 }}</view>
 					<view class="sweets-name">糖果</view>
 				</view>
 				<view class="jiange"></view>
 				<view class="sweets" @click="nav('/pages/money/integralP')">
-					<view class="limit">{{ userInfo.integral }}</view>
+					<view class="limit">{{ jf || 0 }}</view>
 					<view class="sweets-name">拼团积分</view>
 				</view>
 				<view class="jiange"></view>
 				<view class="sweets" @click="nav('/pages/money/integralShopping')">
-					<view class="limit">{{ userInfo.integral }}</view>
-					<view class="sweets-name">购物积分</view>
+					<view class="limit">{{ userInfo.now_money*1 }}</view>
+					<view class="sweets-name">货款</view>
 				</view>
 				<view class="jiange"></view>
 				<view class="sweets" @click="nav('/pages/money/wallet')">
-					<view class="limit">{{ userInfo.broken_commission }}</view>
+					<view class="limit">{{userInfo.brokerage_price * 1}}</view>
 					<view class="sweets-name">佣金</view>
 				</view>
 			</view>
 			<view class="my-order">
 				<view class="box-title flex ">
-					<view class="title1"><text>我的订单</text></view>
+					<view class="title1"><text>商城订单</text></view>
 					<view class="link" @click="nav('/pages/order/order?state=0')" hover-class="common-hover"><text class="iconfont iconenter"></text></view>
 				</view>
 				<view class="order-section">
 					<view class="order-item" @click="nav('/pages/order/order?state=0')" hover-class="common-hover" :hover-stay-time="50">
-						<view class=" icon1 position-relative">
-							<image class="icon-img" src="/static/user/user01.png" mode="aspectFit"></image>
-						</view>
+						<view class=" icon1 position-relative"><image class="icon-img" src="/static/user/user01.png" mode="aspectFit"></image></view>
 						<text>待付款</text>
 					</view>
 					<view class="order-item" @click="nav('/pages/order/order?state=1')" hover-class="common-hover" :hover-stay-time="50">
-						<view class="icon1 position-relative">
-							<image class="icon-img" src="/static/user/user02.png" mode="aspectFit"></image>
-						</view>
+						<view class="icon1 position-relative"><image class="icon-img" src="/static/user/user02.png" mode="aspectFit"></image></view>
 						<text>待发货</text>
 					</view>
 					<view class="order-item" @click="nav('/pages/order/order?state=2')" hover-class="common-hover" :hover-stay-time="50">
-						<view class="icon1 position-relative">
-							<image class="icon-img" src="/static/user/user03.png" mode="aspectFit"></image>
-						</view>
+						<view class="icon1 position-relative"><image class="icon-img" src="/static/user/user03.png" mode="aspectFit"></image></view>
 						<text>待收货</text>
 					</view>
 					<view class="order-item" @click="nav('/pages/order/order?state=4')" hover-class="common-hover" :hover-stay-time="50">
@@ -75,8 +69,8 @@
 					<view class="link" hover-class="common-hover"></view>
 				</view>
 				<view class="order-section">
-					<view class="order-item" @click="nav('/pages/user/extension')" hover-class="common-hover" :hover-stay-time="50">
-						<view class=" icon1 position-relative"><image class="icon-img" src="../../static/user/myTeam.png" mode="aspectFit"></image></view>
+					<view class="order-item" @click="nav('/pages/user/assets')" hover-class="common-hover" :hover-stay-time="50">
+						<view class=" icon1 position-relative"><image class="icon-img" src="../../static/user/myMoney.png" mode="aspectFit"></image></view>
 						<text>我的资产</text>
 					</view>
 					<view class="order-item" @click="nav('/pages/user/extension')" hover-class="common-hover" :hover-stay-time="50">
@@ -91,8 +85,8 @@
 						<view class="icon1 position-relative"><image class="icon-img" src="../../static/user/myShare.png" mode="aspectFit"></image></view>
 						<text>团队邀请</text>
 					</view>
-					<view class="order-item" @click="nav('/pages/user/extension')" hover-class="common-hover" :hover-stay-time="50">
-						<view class=" icon1 position-relative"><image class="icon-img" src="../../static/user/myTeam.png" mode="aspectFit"></image></view>
+					<view class="order-item" @click="nav('/pages/collection/collection')" hover-class="common-hover" :hover-stay-time="50">
+						<view class=" icon1 position-relative"><image class="icon-img" src="../../static/user/bank.png" mode="aspectFit"></image></view>
 						<text>银行卡管理</text>
 					</view>
 					<view class="order-item" @click="nav('/pages/address/address')" hover-class="common-hover" :hover-stay-time="50">
@@ -114,7 +108,7 @@
 				</view>
 			</view>
 		</view>
-		<view class="my-order">
+		<view class="my-order" style="margin-top: 80rpx;">
 			<view class="box-title flex ">
 				<view class="title1"><text>拼购工具</text></view>
 				<view class="link" hover-class="common-hover"></view>
@@ -157,6 +151,7 @@
 	</view>
 </template>
 <script>
+import { wallet } from '@/api/finance.js';
 import uniCopy from '@/components/js_sdk/xb-copy/uni-copy.js';
 import { mapState, mapMutations } from 'vuex';
 import uniList from '@/components/uni-list/uni-list.vue';
@@ -173,7 +168,10 @@ export default {
 	data() {
 		return {
 			erweima: '',
-			weixin: ''
+			weixin: '',
+			wallet: '',
+			candy:'',//糖果数量
+			jf:'',//拼团积分
 		};
 	},
 	onShow() {
@@ -209,6 +207,23 @@ export default {
 				this.erweima = data.service_qr;
 				this.weixin = data.service_wechat;
 			});
+			wallet({}).then(({ data }) => {
+				console.log(data)
+				const obj = this
+				const arr = Object.keys(data.back);
+				console.log(arr);
+				let ar = [];
+				arr.forEach(e => {
+					console.log(e,'11111')
+					if(e == 'LALA'){
+						obj.candy = (data.back[e].money.money*1).toFixed(0)
+					}
+					if(e == 'USDC'){
+						obj.jf = (data.back[e].money.money*1)
+					}
+					ar.push(data.back[e]);
+				});
+			});
 		},
 		server() {
 			this.$refs.popup.open();
@@ -290,7 +305,7 @@ page,
 .content {
 	height: auto;
 	min-height: 100%;
-	background-color: #FFFFFF;
+	background-color: #ffffff;
 	padding-bottom: 44rpx;
 }
 .top {
@@ -434,7 +449,7 @@ page,
 			font-weight: bold;
 			color: #666666;
 		}
- 
+
 		.sweets-name {
 			font-size: 28rpx;
 			font-family: PingFang SC;
@@ -445,7 +460,7 @@ page,
 }
 
 .my-order {
-	margin: 80rpx auto 0;
+	margin: 20rpx auto 0;
 	display: flex;
 	justify-content: space-between;
 	flex-direction: column;
@@ -461,7 +476,7 @@ page,
 	background-color: #ffffff;
 	line-height: 1;
 	padding: 26rpx 34rpx 20rpx;
-	border-bottom: 1px solid #F5F5F5;;
+	border-bottom: 1px solid #f5f5f5;
 
 	.title1 {
 		font-size: 30rpx;

BIN
static/user/bank.png


BIN
static/user/myMoney.png