hwq 3 éve
szülő
commit
f5d0c870b2
100 módosított fájl, 3440 hozzáadás és 1234 törlés
  1. 18 0
      api/wallet.js
  2. 7 4
      components/ss-calendar/ss-calendar.vue
  3. 22 9
      manifest.json
  4. 62 22
      pages.json
  5. 1 7
      pages/assets/myPing.vue
  6. 2 0
      pages/cart/cart.vue
  7. 2 2
      pages/collection/collection.vue
  8. 10 14
      pages/conversion/candy.vue
  9. 0 117
      pages/conversion/frozen.vue
  10. 31 16
      pages/conversion/transfers.vue
  11. 1 1
      pages/index/appointmentD.vue
  12. 178 0
      pages/index/duihuanMore.vue
  13. 251 0
      pages/index/faquan.vue
  14. 70 27
      pages/index/index.vue
  15. 7 4
      pages/index/node.vue
  16. 11 4
      pages/index/sign.vue
  17. 26 0
      pages/index/video.vue
  18. 5 10
      pages/market/duihuan.vue
  19. 14 4
      pages/market/market.vue
  20. 1 1
      pages/market/myCalculation.vue
  21. 5 41
      pages/market/pay.vue
  22. 81 76
      pages/message/message.vue
  23. 138 0
      pages/message/messageDetail.vue
  24. 289 0
      pages/money/account.vue
  25. 32 23
      pages/money/award.vue
  26. 7 7
      pages/money/frozen.vue
  27. 59 1
      pages/money/huodai.vue
  28. 5 5
      pages/money/integralP.vue
  29. 4 8
      pages/money/integralShopping.vue
  30. 70 17
      pages/money/mallPoints.vue
  31. 55 36
      pages/money/pay.vue
  32. 1 1
      pages/money/paySuccess.vue
  33. 44 46
      pages/money/payment.vue
  34. 454 0
      pages/money/publicPing.vue
  35. 454 0
      pages/money/publicW.vue
  36. 7 7
      pages/money/publicWelfare.vue
  37. 62 7
      pages/money/recharge.vue
  38. 88 0
      pages/money/success.vue
  39. 10 14
      pages/money/wallet.vue
  40. 37 23
      pages/money/withdrawal.vue
  41. 19 18
      pages/order/createOrder.vue
  42. 7 7
      pages/order/evaluate.vue
  43. 72 32
      pages/order/order.vue
  44. 27 4
      pages/order/orderDetail.vue
  45. 1 1
      pages/product/list.vue
  46. 2 2
      pages/product/ping.vue
  47. 3 3
      pages/product/pingDetails.vue
  48. 26 20
      pages/product/pingOrder.vue
  49. 5 4
      pages/product/product.vue
  50. 25 17
      pages/product/productDuhuan.vue
  51. 6 6
      pages/public/forget.vue
  52. 2 2
      pages/public/login.vue
  53. 3 3
      pages/public/register.vue
  54. 8 9
      pages/set/password.vue
  55. 4 4
      pages/set/set.vue
  56. 8 7
      pages/user/approve.vue
  57. 154 129
      pages/user/assets.vue
  58. 424 392
      pages/user/extension.vue
  59. 5 8
      pages/user/fuli.vue
  60. 4 0
      pages/user/shareQrCode.vue
  61. 13 11
      pages/user/user.vue
  62. BIN
      static/icon/assent1.png
  63. BIN
      static/icon/assent2.png
  64. BIN
      static/icon/assent3.png
  65. BIN
      static/icon/assent4.png
  66. BIN
      static/icon/assent5.png
  67. BIN
      static/icon/assent6.png
  68. BIN
      static/icon/assent7.png
  69. BIN
      static/icon/assent8.png
  70. BIN
      static/icon/assent9.png
  71. BIN
      static/icon/qudai.png
  72. BIN
      static/icon/shengdai.png
  73. BIN
      static/icon/shidai.png
  74. BIN
      static/img/assets-bg.png
  75. BIN
      static/img/duhuanbg.png
  76. BIN
      static/img/log.png
  77. BIN
      static/img/myShang.png
  78. BIN
      static/img/myYong.png
  79. BIN
      static/img/phone.png
  80. BIN
      static/img/pwd.png
  81. BIN
      static/img/real_name.png
  82. BIN
      static/img/share-bg.png
  83. BIN
      static/img/start.gif
  84. BIN
      static/img/success.png
  85. BIN
      static/img/user-USDT.png
  86. BIN
      static/img/user-bg.png
  87. BIN
      static/img/user-dong.png
  88. BIN
      static/img/user-fil.png
  89. BIN
      static/img/user-ping.png
  90. BIN
      static/img/user-wallet.png
  91. BIN
      static/img/yan.png
  92. BIN
      static/img/zfpwd.png
  93. BIN
      static/img/zhuan.png
  94. BIN
      static/img/zhuanzhang-bg.png
  95. BIN
      static/user/jiedian1.png
  96. BIN
      unpackage/cache/apk/__UNI__3CDE968_cm.apk
  97. 1 1
      unpackage/cache/apk/apkurl
  98. 0 0
      unpackage/cache/apk/cmManifestCache.json
  99. BIN
      unpackage/cache/wgt/__UNI__3CDE968/.manifest/appstore.png
  100. BIN
      unpackage/cache/wgt/__UNI__3CDE968/.manifest/icon-android-hdpi.png

+ 18 - 0
api/wallet.js

@@ -71,6 +71,24 @@ export function rechargeRoutine(data) {
 	});
 }
 // #endif
+// #ifdef APP-PLUS
+// App微信充值
+export function rechargeApp(data) {
+	return request({
+		url: '/api/recharge/app',
+		method: 'post',
+		data
+	});
+}
+// App支付宝充值
+export function rechargeAli(data) {
+	return request({
+		url: '/api/recharge/ali',
+		method: 'post',
+		data
+	});
+}
+// #endif
 // 获取提现支付宝账号
 export function aliInfo(data) {
 	return request({

+ 7 - 4
components/ss-calendar/ss-calendar.vue

@@ -10,7 +10,7 @@
 			<view class="day__list">
 				<view class="day__item" v-for="(item, index) in dateData" :key="index">
 					<view class="checked-box" :class="[checksClass]" v-if="item === 'checked'">
-						<text class="checked iconfont iconfavor" v-if="!checksIcon"></text>
+						<text class="checked  iconfavor" v-if="!checksIcon"></text>
 						<image v-else :src="checksIcon" mode="aspectFit"></image>
 						<view class="check_text" v-if="checkTextShow">{{ dayLoad(index) }}</view>
 					</view>
@@ -183,7 +183,7 @@ export default {
 					display: flex;
 					align-items: center;
 					justify-content: center;
-					border-radius: 100%;
+					border-radius: 50%;
 					box-sizing: border-box;
 					position: relative;
 				}
@@ -202,9 +202,12 @@ export default {
 					left: 0;
 				}
 				.checked {
+					width: 100%;
+					height: 100%;
 					font-size: 40rpx;
-					background-color: #3f9dff;
-					color: #fff;
+					background-color: #32c8ff;
+					color: #2e5eff;
+					border-radius: 50%;
 				}
 				.current {
 					padding: 12rpx;

+ 22 - 9
manifest.json

@@ -1,9 +1,9 @@
 {
-    "name" : "Lala NFT",
+    "name" : "星拼乐",
     "appid" : "__UNI__3CDE968",
     "description" : "",
-    "versionName" : "1.3.9",
-    "versionCode" : 139,
+    "versionName" : "1.4.1",
+    "versionCode" : 141,
     "transformPx" : false,
     "app-plus" : {
         /* 5+App特有相关 */
@@ -14,16 +14,25 @@
             "autoclose" : true,
             "delay" : 0
         },
-        "modules" : {},
+        "modules" : {
+            "Payment" : {}
+        },
         /* 模块配置 */
         "distribute" : {
             /* 应用发布信息 */
             "android" : {
                 /* android打包配置 */
                 "permissions" : [
+                    "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
+                    "<uses-permission android:name=\"android.permission.INTERNET\"/>",
+                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>"
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
                 ],
                 "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
                 "autoSdkPermissions" : true
@@ -43,7 +52,11 @@
                 },
                 "ad" : {},
                 "geolocation" : {},
-                "payment" : {},
+                "payment" : {
+                    "alipay" : {
+                        "__platform__" : [ "ios", "android" ]
+                    }
+                },
                 "push" : {},
                 "share" : {},
                 "speech" : {
@@ -54,9 +67,9 @@
                 "androidStyle" : "default",
                 "iosStyle" : "storyboard",
                 "android" : {
-                    "hdpi" : "C:/Users/Administrator/Desktop/qidongtu.9.png",
-                    "xhdpi" : "C:/Users/Administrator/Desktop/qidongtu.9.png",
-                    "xxhdpi" : "C:/Users/Administrator/Desktop/qidongtu.9.png"
+                    "hdpi" : "unpackage/启动图/qidongtu1.9.png",
+                    "xhdpi" : "unpackage/启动图/qidongtu1.9.png",
+                    "xxhdpi" : "unpackage/启动图/qidongtu1.9.png"
                 },
                 "ios" : {
                     "iphone" : {

+ 62 - 22
pages.json

@@ -2,7 +2,16 @@
 	"easycom": {
 		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
 	},
-	"pages": [{
+	"pages": [
+		{
+			"path": "pages/index/video",
+			"style": {
+				"navigationBarTextStyle": "white",
+				"navigationBarBackgroundColor": "#000000",
+				"navigationStyle": "custom"
+			}
+		},
+		{
 			"path": "pages/index/index",
 			"style": {
 				"enablePullDownRefresh": false,
@@ -44,6 +53,18 @@
 				"navigationBarTitleText": "添加银行卡"
 			}
 		},
+		{
+			"path": "pages/index/faquan",
+			"style": {
+				"navigationBarTitleText": "素材分享"
+			}
+		},
+		{
+			"path": "pages/money/account",
+			"style": {
+				"navigationBarTitleText": "提现账号"
+			}
+		},
 		{
 			"path": "pages/collection/zfb",
 			"style": {
@@ -73,6 +94,12 @@
 				"navigationBarTitleText": "我的节点"
 			}
 		},
+		{
+			"path": "pages/money/success",
+			"style": {
+				"navigationBarTitleText": "提交成功"
+			}
+		},
 		{
 			"path": "pages/market/myCalculation",
 			"style": {
@@ -103,6 +130,12 @@
 				"navigationBarTitleText": "跳转"
 			}
 		},
+		{
+			"path": "pages/index/duihuanMore",
+			"style": {
+				"navigationBarTitleText": "兑换列表"
+			}
+		},
 		{
 			"path": "pages/market/duihuan",
 			"style": {
@@ -289,14 +322,7 @@
 		{
 			"path": "pages/user/assets",
 			"style": {
-				"navigationBarBackgroundColor": "transparent",
-				"navigationBarTextStyle": "white",
-				"app-plus": {
-					"titleNView": {
-						"type": "float",
-						"titleText": "资产中心"
-					}
-				}
+				"navigationBarTitleText": "我的资产"
 			}
 		},
 		{
@@ -318,7 +344,12 @@
 				"navigationBarTitleText": "消息"
 			}
 		},
-		
+		{
+			"path": "pages/message/messageDetail",
+			"style": {
+				"navigationBarTitleText": "消息"
+			}
+		},
 		
 		{
 			"path": "pages/category/category",
@@ -407,10 +438,7 @@
 				"navigationBarBackgroundColor": "transparent",
 				"navigationBarTextStyle": "white",
 				"app-plus": {
-					"titleNView": {
-						"type": "float",
-						"titleText": "商城积分"
-					}
+					"titleNView":false
 				}
 			}
 		},
@@ -527,7 +555,26 @@
 				}
 			}
 		},
-		
+		//我的拼团币
+		{
+			"path": "pages/money/publicPing",
+			"style": {
+				"navigationBarTitleText": "我的拼团币",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		//我的文件币
+		{
+			"path": "pages/money/publicW",
+			"style": {
+				"navigationBarTitleText": "我的文件币",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
 		// 兑换糖果
 		{
 			"path": "pages/conversion/candy",
@@ -543,13 +590,6 @@
 			}
 		},
 		
-		//兑换冻结积分
-		{
-			"path": "pages/conversion/frozen",
-			"style": {
-				"navigationBarTitleText": "兑换"
-			}
-		},
 		{
 			"path": "pages/order/order",
 			"style": {

+ 1 - 7
pages/assets/myPing.vue

@@ -1,13 +1,7 @@
 <template>
 	<view class="center">
 		<view class="bg"></view>
-		<view class="zong flex">
-			<view class="info" v-for="ls in listType">
-				<view class="info-num">{{ ls.num || '0.00' }}</view>
-				<view class="info-font">{{ ls.name }}奖金池</view>
-			</view>
-		</view>
-		<view class="zongbox flex">
+		<view class="zongbox flex" style="margin: -150rpx auto 0;">
 			<view class="info">
 				<view class="num">{{ yesterday.join }}</view>
 				<view class="info-font">昨日拼购数</view>

+ 2 - 0
pages/cart/cart.vue

@@ -349,6 +349,8 @@ export default {
 		flex-shrink: 0;
 		position: relative;
 		image {
+			width: 100%;
+			height: 100%;
 			border-radius: 8rpx;
 		}
 	}

+ 2 - 2
pages/collection/collection.vue

@@ -38,7 +38,7 @@
 					</view>
 				</view>
 			</view>
-			<view class="collection-item">
+			<!-- <view class="collection-item">
 				<view class="left">
 					<view class="img">
 						<image src="../../static/user/wx.png" mode=""></image>
@@ -55,7 +55,7 @@
 						<text class="iconfont iconenter"></text>
 					</view>
 				</view>
-			</view>
+			</view> -->
 		</view>
 	</view>
 </template>

+ 10 - 14
pages/conversion/candy.vue

@@ -3,14 +3,6 @@
 		<view class="content-money">
 			<view class="buttom">
 				<text class="text">可兑换积分</text>
-				<view class="icon"><text>¥</text>{{ integral }}</view>
-			</view>
-			<view class="interval"></view>
-			<view class="buttom">
-				<text class="text">申请兑换糖果</text>
-				<view class=" icon">
-				<input class="input" type="number" v-model="withdrawal > integral ? integral : withdrawal" 
-				placeholder="申请兑换糖果数量" placeholder-class="placeholder" /></view>
 				<view class="icon">{{ money }}</view>
 			</view>
 			<view class="interval"></view>
@@ -47,6 +39,7 @@ export default {
 			buying: false,
 			all:'',
 			add:'',
+			type: '',
 		}
 	},
 	computed: {
@@ -56,16 +49,16 @@ export default {
 			const obj = this.all;
 			return (this.withdrawal * +obj.usdt_price) / +this.add.usdt_price;
 		},
-		integral() {
-			return this.$store.state.user.userInfo.integral
-		}
 	},
-	onLoad() {
+	onLoad(option) {
+		if(option.type){
+			this.type = option.type
+		}
 		wallet({}).then(({ data }) => {
 			const obj = this
 			const arr = Object.keys(data.back);
 			arr.forEach(e => {
-				if(e == 'USDC'){
+				if(e == obj.type){
 					obj.money = (data.back[e].money.money*1)
 					obj.all = data.back[e]
 				}
@@ -94,7 +87,10 @@ export default {
 				}) => {
 					console.log(data)
 					this.buying = false
-					this.$api.msg("闪兑成功")
+					uni.navigateTo({
+						url:'/pages/money/success'
+					})
+					// this.$api.msg("闪兑成功")
 				}).catch(e => {
 					this.buying = false
 					console.log(e)

+ 0 - 117
pages/conversion/frozen.vue

@@ -1,117 +0,0 @@
-<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>

+ 31 - 16
pages/conversion/transfers.vue

@@ -1,8 +1,10 @@
 <template>
 	<view class="center">
 		<view class="top">
-			<view class="top-num">{{ jf }}</view>
-			<view class="top-font">可转账购物积分</view>
+			<view class="top-num" v-if="types == 'LALA'">{{ jf.toFixed(2) }}</view>
+			<view class="top-font" v-if="types == 'LALA'">可转糖果</view>
+			<view class="top-font" v-if="types == 'USDC'">{{ jf }}</view>
+			<view class="top-font" v-if="types == 'USDC'">可转账购物积分</view>
 		</view>
 		<view class="main">
 			<view class="main-font">收款人账户</view>
@@ -10,26 +12,25 @@
 		</view>
 		<view class="main">
 			<view class="main-font">收款人UID</view>
-			<input class="main-input" type="text" value="" v-model="uid" placeholder="请输入收款人UID" placeholder-class="main-input" />
+			<input class="main-input input" type="text" value="" v-model="uid" placeholder="请输入收款人UID" placeholder-class="main-input" />
 		</view>
 		<view class="main">
 			<view class="main-font">交易密码</view>
-			<input class="main-input" type="text" value="" v-model="password" placeholder="请输入交易密码" placeholder-class="main-input" />
+			<input class="main-input" type="password" value="" v-model="password" placeholder="请输入交易密码" placeholder-class="main-input" />
 		</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" />
 		</view>
-		<view class="btn" @click="submit">
 		<view class="btn" @click="transfer">
 			提交申请
 		</view>
 	</view>
-	</view>
 </template>
 
 <script>
-import { moneyLog, recharge, wallet } from '@/api/finance.js';
+import { goPay,moneyLog, recharge, wallet } from '@/api/finance.js';
+import { mapState, mapMutations } from 'vuex';
 export default {
 	data() {
 		return {
@@ -38,21 +39,28 @@ export default {
 			account:'',//收款人账号
 			password:'',//交易密码
 			num: '' ,//转账数量
-			type:'',//转账的类型0是拼团积分,1是货款
+			types:'',
 		};
 	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
 	onLoad(option) {
-		if(option.type == 1) {
+		if(option.type){
+			this.types = option.type;
+		}
+		if( this.types == 'LALA' ) {
 			uni.setNavigationBarTitle({
-				title: "货款转账"
-			});
+			  title: "糖果转账"
+			})
 		}
+		console.log(this.userInfo,'11111')
 		wallet({}).then(({ data }) => {
 			const obj = this
 			const arr = Object.keys(data.back);
 			console.log(arr);
 			arr.forEach(e => {
-				if(e == 'USDC'){
+				if(e == obj.types){
 					obj.jf = (data.back[e].money.money*1)
 				}
 			});
@@ -77,8 +85,12 @@ export default {
 				obj.$api.msg('请输入转账数量!');
 				return;
 			}
+			if (obj.uid == this.userInfo.uid){
+				obj.$api.msg('请勿转账给自己!');
+				return;
+			}
 			goPay({
-				type: 'USDC',
+				type: this.types,
 				num: obj.num,
 				to_uid: obj.uid,
 				trade_psw: obj.password,
@@ -88,7 +100,9 @@ export default {
 				obj.UID = '';
 				obj.password = '';
 				obj.account = '';
-				obj.$api.msg(data.msg);
+				uni.navigateTo({
+					url:'/pages/money/success'
+				})
 			});
 		},
 	}
@@ -129,13 +143,14 @@ page,
 		font-weight: 400;
 		color: #333333;
 	}
-	.main-input {
+	.input {
 		margin-top: 10rpx;
+	}
+	.main-input {
 		font-size: 28rpx;
 		font-family: PingFang SC;
 		font-weight: 400;
 		color: #999999;
-		line-height: 110px;
 	}
 }
 .btn {

+ 1 - 1
pages/index/appointmentD.vue

@@ -8,7 +8,7 @@
 						<view class="name-box">
 							<view class="name clamp">{{ userInfo.phone || userInfo.email || '游客' }}</view>
 							<template v-if="list.my">
-								<view class="tip" style="margin-top: 10rpx;" v-if="list.my.is_forever=1">永久开通</view>
+								<view class="tip" style="margin-top: 10rpx;" v-if="list.my.is_forever==1">永久开通</view>
 								<view class="tip" style="margin-top: 10rpx;" v-else>距离到期还有{{ list.js }}天</view>
 							</template>
 							<view class="tip" style="margin-top: 10rpx;" v-else>尚未开通</view>

+ 178 - 0
pages/index/duihuanMore.vue

@@ -0,0 +1,178 @@
+<template>
+	<view class="content">
+		<view class="recommend">
+			<view class="recommend-item" v-for="item in recommendList" :key="item.id">
+				<view class="image-wrapper"><image :src="item.image" mode="scaleToFill"></image></view>
+				<view class="info-wrapper">
+					<text class="title">{{ item.title }}</text>
+					<view class="price-box">
+						<view class="price-left">
+							<view class="price">
+								<view class="">{{ item.money * 1 }}</view>
+								<view class="ot_price" >
+									<view class="price-tip">{{ item.money_type }}</view>
+									<view class="price-tip" v-if="item.price != 0">+¥{{ item.price }}</view>
+								</view>
+							</view>
+						</view>
+						<view class="price-right" @click="navToDetailPage(item)">
+							<view class="buyNow">马上购</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<uni-load-more :status="loadingType"></uni-load-more>
+		</view>
+	</view>
+</template>
+
+<script>
+import { dhList } from '@/api/user.js';
+import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+export default {
+	components: {
+		uniLoadMore
+	},
+	data() {
+		return {
+			recommendList: [],
+			type: '',
+			page: 1,
+			limit: 10,
+			loadingType: 'more'
+		};
+	},
+	//监听页面是否滚动到底部加载更多
+	onReachBottom() {
+		this.loadData();
+	},
+	onLoad(option) {
+		if (option.type) {
+			this.type = option.type;
+		}
+		this.loadData();
+	},
+	methods: {
+		// 获取首页数据
+		loadData() {
+			const obj = this
+			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
+				return;
+			}
+			obj.loadingType == 'loading';
+			dhList({ page: obj.page, limit: obj.limit, money_type: this.type }).then(({ data }) => {
+				this.recommendList = data; // 为你推荐
+				obj.page++;
+				if (data.length == obj.limit) {
+					obj.loadingType == 'more';
+				} else {
+					obj.loadingType == 'nomore';
+				}
+			});
+		},
+		// 跳转热销商品
+		navToDetailPage(item){
+			uni.navigateTo({
+				url: '/pages/product/productDuhuan?id=' + item.id
+			});
+		},
+	}
+};
+</script>
+
+<style lang="scss">
+.content {
+	width: 100%;
+	height: 100%;
+}
+.recommend {
+	padding: 24rpx;
+	.recommend-item {
+		background-color: #FFFFFF;
+		display: flex;
+		width: 100%;
+		padding: 24rpx;
+		border-bottom: 1rpx solid #f0f0f0;
+		&:nth-last-child(1) {
+			border-bottom: none;
+		}
+	}
+}
+.image-wrapper {
+	width: 168rpx;
+	height: 168rpx;
+	border-radius: 3px;
+	image {
+		width: 168rpx;
+		height: 168rpx;
+		opacity: 1;
+	}
+}
+.info-wrapper {
+	width: 100%;
+	display: flex;
+	flex-direction: column;
+	margin-left: 20rpx;
+}
+.title {
+	font-size: 32rpx;
+	color: $font-color-dark;
+	word-break: break-all;
+	display: -webkit-box;
+	-webkit-line-clamp: 1;
+	-webkit-box-orient: vertical;
+	overflow: hidden;
+}
+.price-box {
+	margin-top: 10rpx;
+	display: flex;
+	justify-content: space-between;
+	.price-left {
+		display: flex;
+		flex-direction: column;
+		.price {
+			display: flex;
+			justify-content: flex-start;
+			align-items: center;
+			margin-top: 60rpx;
+			height: 56rpx;
+			line-height: 30rpx;
+			color: #ff0000;
+			font-size: 56rpx;
+			font-weight: 700;
+			.price-tip {
+				font-size: 28rpx;
+			}
+		}
+		.ot_price {
+			margin-left: 4rpx;
+			font-size: 28rpx;
+			color: #ff0000;
+			.price-tip {
+				font-size: 22rpx;
+			}
+		}
+	}
+	.price-right {
+		display: flex;
+		flex-direction: column;
+		.people {
+			margin-top: 32rpx;
+			font-weight: 700;
+			color: #999999;
+			font-size: 22rpx;
+			text-align: right;
+			margin-right: 4rpx;
+		}
+		.buyNow {
+			margin-top: 68rpx;
+			background: linear-gradient(180deg, #fd4646, #ff3535);
+			border-radius: 26rpx;
+			padding: 6rpx 18rpx;
+			font-size: 26rpx;
+			font-weight: 400;
+			color: #ffffff;
+		}
+	}
+}
+</style>

+ 251 - 0
pages/index/faquan.vue

@@ -0,0 +1,251 @@
+<template>
+	<view class="content">
+		<view class="title-box">
+			<view class="top">
+				<view class="title">
+					<view class="title-left">
+						<view class="img">
+							<!-- <image src="../../static/usdt/logo.png" mode=""></image> -->
+						</view>
+					</view>
+					<view class="title-right">
+						<view class="name">
+							岚儿
+						</view>
+						<view class="time">
+							1分钟前
+						</view>
+					</view>
+				</view>
+				<view class="share">
+					<view class="img">
+						<!-- <image src="../../static/user/share.png" mode=""></image> -->
+					</view>
+					<view class="ci">
+						985
+					</view>
+				</view>
+			</view>
+			<view class="text">
+				<text>
+					承包你大半年的洗衣液~【威露士】倍净洗衣液套装 消毒除异味,除螨除菌高达99%用心呵护一家子的 健康整整12斤,专享价【89】
+				</text>
+			</view>
+			<view class="share-img">
+				<view class="text-img" v-for="item in imgList">
+					<image :src="item.img" mode=""></image>
+				</view>
+			</view>
+			<view class="bottom">
+				<view class="pic">
+					下载图片
+				</view>
+				<view class="fuzhi">
+					复制文本
+				</view>
+			</view>
+		</view>
+		
+		<view class="title-box">
+			<view class="top">
+				<view class="title">
+					<view class="title-left">
+						<view class="img">
+							<!-- <image src="../../static/usdt/logo.png" mode=""></image> -->
+						</view>
+					</view>
+					<view class="title-right">
+						<view class="name">
+							岚儿
+						</view>
+						<view class="time">
+							1分钟前
+						</view>
+					</view>
+				</view>
+				<view class="share">
+					<view class="img">
+						<!-- <image src="../../static/user/share.png" mode=""></image> -->
+					</view>
+					<view class="ci">
+						985
+					</view>
+				</view>
+			</view>
+			<view class="text">
+				<text>
+					承包你大半年的洗衣液~【威露士】倍净洗衣液套装 消毒除异味,除螨除菌高达99%用心呵护一家子的 健康整整12斤,专享价【89】
+				</text>
+			</view>
+			<view class="share-img">
+				<view class="text-img" v-for="item in imgList">
+					<image :src="item.img" mode=""></image>
+				</view>
+			</view>
+			<view class="bottom">
+				<view class="pic">
+					下载图片
+				</view>
+				<view class="fuzhi">
+					复制文本
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				imgList:[
+					{img:"../../static/usdt/logo.png"},
+					{img:"../../static/usdt/logo.png"},
+					{img:"../../static/usdt/logo.png"},
+					{img:"../../static/usdt/logo.png"},
+					{img:"../../static/usdt/logo.png"},
+					{img:"../../static/usdt/logo.png"}
+				]
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+	page,
+	.content {
+		height: 100%;
+		padding: 0;
+		margin: 0;
+		background: #F8F8F8;
+	}
+
+	.title-box {
+		border-radius: 20px 20px 20px 20px;
+		background: #FFFFFF;
+		margin: 20rpx auto;
+		width: 700rpx;
+		
+		padding: 30rpx;
+		.top{
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+		}
+		.title {
+			display: flex;
+			.title-left {
+				display: flex;
+				height: 80rpx;
+				.img {
+					width: 80rpx;
+					height: 80rpx;
+					border-radius:50%;
+					
+					image {
+						height: 100%;
+						width: 100%;
+					}
+				}
+
+			}
+
+			.title-right {
+				margin-left: 16rpx;
+				display: flex;
+				flex-direction: column;
+				.name {
+					font-size: 32rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #444444;
+					
+				}
+
+				.time {
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #999999;
+					
+				}
+			}
+		}
+
+		.share {
+			padding: 10rpx;
+			display: flex;
+			justify-content: space-around;
+			align-items: center;
+			width: 120rpx;
+			height: 42rpx;
+			
+			background: #FAEBCF;
+			border-radius: 30rpx;
+			.img {
+				width: 33rpx;
+				height: 24rpx;
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+
+			.ci {
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #80420A;
+				
+				
+			}
+		}
+	}
+
+
+.text{
+	margin: 10rpx 0;
+	text{
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #666666;
+		line-height: 56rpx;
+	}
+}
+.share-img{
+	margin: 10rpx 0;
+	width: 100%;
+	display: flex;
+	justify-content: space-between;
+	flex-wrap: wrap;
+	
+	.text-img{
+		margin: 10rpx 0;
+		width: 200rpx;
+		height: 200rpx;
+		border-radius: 10rpx;
+		image{
+			width: 100%;
+			height: 100%;
+		}
+	}
+}
+.bottom{
+	display: flex;
+	.pic{
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #536893;
+	}
+	.fuzhi{
+		margin-left: 33rpx;
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #536893;
+	}
+}
+
+</style>

+ 70 - 27
pages/index/index.vue

@@ -43,27 +43,29 @@
 				</view>
 			</view>
 		</view>
-		<!-- 拼团积分商品 -->
-		<view class="recommend-box" v-if="ptjfList.length > 0">
+		<!-- 兑换专区 -->
+		<view class="recommend-box" v-for="(item,index) in list" v-if="item.children.length != 0">
 			<view class="f-header">
-				<view class="f-left-icon">拼团积分兑换专区</view>
+				<view class="f-left-icon">{{ item.name }}兑换专区</view>
 				<view class="tit-box"><text class="tit">超级好物 立即抢购</text></view>
-				<view @click="navTo('/pages/recommend/recommend')"><text class="iconfont iconenter">更多</text></view>
+				<view @click="navto(item)"><text class="iconfont iconenter">更多</text></view>
 			</view>
 			<view class="guess-section">
-				<view v-for="(item, index) in ptjfList" :key="index" class="guess-item" @click="navToDetailPage(item)">
+				<view v-for="(ls, ind) in item.children" :key="ls.id" class="guess-item" @click="navToDetailPage(ls)">
 					<view class="image-wrapper"><image :src="item.image" mode="scaleToFill"></image></view>
 					<view class="info-wrapper">
-						<text class="title">{{ item.title }}</text>
+						<text class="title">{{ ls.title }}</text>
 						<view class="price-box">
 							<view class="price-left">
 								<view class="price">
-									{{ item.money * 1 }}
-									<text class="price-tip">{{ item.money_type}}</text>
+									<view class="">{{ ls.money * 1 }}</view>
+									<view class="ot_price">
+										<view class="price-tip">{{ ls.money_type }}</view>
+										<view class="price-tip" v-if="ls.price != 0">+¥{{ ls.price }}</view>
+									</view>
 								</view>
 							</view>
 							<view class="price-right">
-								<!-- <view class="people">{{item.sales}}人购买</view> -->
 								<view class="buyNow">马上购</view>
 							</view>
 						</view>
@@ -78,7 +80,7 @@ import { getTime } from '@/utils/rocessor.js';
 import { loadIndexs, dhList } from '@/api/user.js';
 import { saveUrl, interceptor } from '@/utils/loginUtils.js';
 import { mapState, mapMutations } from 'vuex';
-
+import { wallet } from '@/api/finance.js';
 export default {
 	computed: {
 		...mapState('user', ['userInfo', 'baseURL', 'hasLogin', 'urlFile'])
@@ -105,7 +107,7 @@ export default {
 				{
 					name: '素材分享',
 					pic: '../../static/icon/index4.png',
-					url: ''
+					url: '/pages/index/faquan'
 				},
 				{
 					name: '邀请有礼',
@@ -140,8 +142,8 @@ export default {
 			],
 			swiperLength: 0,
 			swiperCurrent: 0,
-			commodityList: [],//普通商品列表
-			ptjfList:[],//拼团积分列表
+			commodityList: [], //普通商品列表
+			list: [] //拼团积分列表
 		};
 	},
 	//页面加载即刻发生
@@ -149,7 +151,10 @@ export default {
 		this.loadDate();
 	},
 	methods: {
-		async loadDate() {
+		loadDate() {
+			uni.showLoading({
+				title: '加载中'
+			});
 			const obj = this;
 			loadIndexs({}).then(({ data }) => {
 				console.log(data);
@@ -157,9 +162,24 @@ export default {
 				obj.swiperLength = data.banner.length;
 				obj.commodityList = data.likeInfo;
 			});
-			dhList({ page: 1, limit: 10, money_type: 'USDC' }).then(({ data }) => {
-				obj.ptjfList = data
-				console.log(obj.ptjfList,'1111')
+			wallet({}).then(({ data }) => {
+				const obj = this;
+				const arr = Object.keys(data.back);
+				obj.list=[];
+				arr.forEach(e => {
+					let ar = {};
+					ar.name = data.back[e].name;
+					ar.type = e
+					ar.children = []
+					obj.list.push(ar);
+				});
+				obj.list.forEach(e =>{
+					console.log(e)
+					dhList({ page: 1, limit: 6, money_type: e.type }).then(({ data }) => {
+						e.children = data;
+					});
+				})
+				uni.hideLoading();
 			});
 		},
 		//轮播图切换修改背景色
@@ -167,7 +187,7 @@ export default {
 			const index = e.detail.current;
 			this.swiperCurrent = index;
 		},
-		navToDetailPage(item){
+		navToDetailPage(item) {
 			if (!this.hasLogin) {
 				uni.showModal({
 					title: '登录',
@@ -231,6 +251,27 @@ export default {
 					});
 				}
 			});
+		},
+		navto(item) {
+			if (!this.hasLogin) {
+				uni.showModal({
+					title: '登录',
+					content: '您未登录,是否马上登陆?',
+					success: e => {
+						if (e.confirm) {
+							interceptor();
+						}
+					},
+					fail: e => {
+						console.log(e);
+					}
+				});
+				return;
+			}
+			console.log(item)
+			uni.navigateTo({
+				url:'/pages/index/duihuanMore?type=' + item.type
+			});
 		}
 	}
 };
@@ -239,7 +280,7 @@ export default {
 .center {
 	height: auto;
 	min-height: 100%;
-	background-color: #ffffff;
+	background-color: #f8f8f8;
 }
 .status_bar {
 	height: var(--status-bar-height);
@@ -421,9 +462,9 @@ export default {
 	}
 }
 .recommend-box {
-	background: linear-gradient(180deg, #ffffff, #f8f8f8);
 	width: 100%;
 	padding: 0 32rpx;
+	margin-top: 20rpx;
 }
 .f-header {
 	display: flex;
@@ -432,7 +473,7 @@ export default {
 	padding: 6rpx 30rpx 8rpx;
 	border-radius: 12rpx 12rpx 0 0;
 	color: #ffffff;
-	background: #2E58FF;
+	background: #2e58ff;
 	.tit-box {
 		@extend %font-title-box;
 		font-size: 20rpx;
@@ -456,6 +497,7 @@ export default {
 }
 
 .guess-section {
+	background-color: #FFFFFF;
 	width: 100%;
 	display: flex;
 	flex-direction: column;
@@ -504,22 +546,23 @@ export default {
 			display: flex;
 			flex-direction: column;
 			.price {
+				display: flex;
+				justify-content: flex-start;
+				align-items: center;
 				margin-top: 60rpx;
+				height: 56rpx;
 				line-height: 30rpx;
 				color: #ff0000;
-				font-size: 40rpx;
+				font-size: 56rpx;
 				font-weight: 700;
 				.price-tip {
 					font-size: 28rpx;
 				}
 			}
 			.ot_price {
-				margin-top: 8rpx;
-				line-height: 24rpx;
-				font-size: 28rpx;
 				margin-left: 4rpx;
-				text-decoration: line-through;
-				color: #aaaaaa;
+				font-size: 28rpx;
+				color: #ff0000;
 				.price-tip {
 					font-size: 22rpx;
 				}

+ 7 - 4
pages/index/node.vue

@@ -46,7 +46,7 @@ export default {
 			all: 0, //总量
 			id: '',
 			list: '',
-			password: ''
+			password: '',
 		};
 	},
 	onLoad() {
@@ -77,12 +77,14 @@ export default {
 			)
 				.then(e => {
 					this.password = '';
-					this.show1 = false;
-					this.$api.msg('购买节点成功');
+					this.$refs.popup.close();
+					uni.navigateTo({
+						url: '/pages/money/success'
+					})
 				})
 				.catch(e => {
 					this.password = '';
-					this.show1 = false;
+					this.$refs.popup.close();
 					console.log(e);
 				});
 		}
@@ -227,6 +229,7 @@ page {
 		margin: 50rpx auto 0;
 		padding: 20rpx 20rpx;
 		.pwd-font {
+			width: 80rpx;
 			font-size: 30rpx;
 			font-family: PingFang SC;
 			font-weight: 500;

+ 11 - 4
pages/index/sign.vue

@@ -11,7 +11,7 @@
 				<image class="sign-bg" src="../../static/img/sign-main.png" mode=""></image>
 				<view class="sign-font">{{ signTrue ? '已签到' : '签到' }}</view>
 			</view>
-			<view class="sign-tip">今日签到可得10购物积分</view>
+			<view class="sign-tip">今日签到可得{{ today_integral }}购物积分</view>
 		</view>
 		<view class="nav">
 			<view class="nav-item">
@@ -37,12 +37,12 @@
 				<view class="popup-dox"><image class="popup-logo" src="../../static/img/sign-popup.png"></image></view>
 				<view class="popup-title">
 					获得¥
-					<text>10</text>
+					<text>{{ today_integral }}</text>
 					现金
 				</view>
 				<view class="popup-tip">
 					明天签到可得¥
-					<text>10</text>
+					<text>{{ today_integral }}</text>
 					现金
 				</view>
 				<view class="popup-btn" @click="close">知道了</view>
@@ -70,10 +70,12 @@ export default {
 			actionDay: 0, //连续签到天数
 			allSign: 0, //累计签到
 			sum_integral: 0, //累计获得积分
+			today_integral:0,//今天签到可以获得积分
 			signTrue: false
 		};
 	},
 	onLoad() {
+		
 		this.signUser();
 		this.getData();
 		this.loadList();
@@ -94,7 +96,6 @@ export default {
 					this.signList.push(this.day);
 				})
 				.catch(e => {
-					this.$refs.popup.open();
 					console.log(e);
 				});
 		},
@@ -125,6 +126,7 @@ export default {
 				if (arr[0] == this.day) {
 					this.signTrue = true;
 				}
+				uni.hideLoading();
 			});
 		}, // 获取当前时间
 		getData(current) {
@@ -135,10 +137,15 @@ export default {
 		},
 		//获取签到用户信息
 		signUser() {
+			uni.showLoading({
+				title: '加载中'
+			});
 			signUser({ all: 1 }).then(({ data }) => {
+				console.log(111)
 				this.actionDay = data.sign_num; //连续签到天数
 				this.allSign = data.sum_sgin_day; //累计签到天数
 				this.sum_integral = data.sum_integral; //累计总积分
+				this.today_integral = data.today_integral; //今日签到可以获得多少积分
 			});
 		}
 	}

+ 26 - 0
pages/index/video.vue

@@ -0,0 +1,26 @@
+<template>
+	<view class="center"><image src="../../static/img/start.gif" mode=""></image></view>
+</template>
+
+<script>
+export default {
+	onLoad() {
+		setTimeout(() => {
+			uni.switchTab({
+				url: '/pages/index/index'
+			});
+		}, 2500);
+	}
+};
+</script>
+
+<style lang="scss">
+.center {
+	width: 100%;
+	height: 100vh;
+	image {
+		width: 100%;
+		height: 100%;
+	}
+}
+</style>

+ 5 - 10
pages/market/duihuan.vue

@@ -4,7 +4,7 @@
 			<view class="rule-title">兑换规则</view>
 			<view class="rule-main">
 				每{{ list.sp_exchange_origin_cost * 1 }}{{ list.sp_exchange_origin }}+{{ list.sp_exchange_bingo_time }}幸运值可兑换{{ list.sp_exchange_target_get * 1
-				}}{{ list.sp_exchange_target }}+{{ list.sp_exchange_bingo_time }}荣誉值
+				}}{{ list.sp_exchange_target }}
 			</view>
 		</view>
 		<view class="main">
@@ -21,7 +21,7 @@
 					<view class="zong font">+</view>
 					<view class="bottom font">
 						<span>{{ list.sp_exchange_bingo_time || 0 }}</span>
-						幸运
+						拼团
 					</view>
 				</view>
 				<view class="bg">
@@ -32,17 +32,12 @@
 						<span>{{ list.sp_exchange_target_get * 1 || 0 }}</span>
 						{{ list.sp_exchange_target }}
 					</view>
-					<view class="zong font">+</view>
-					<view class="bottom font">
-						<span>{{ list.sp_exchange_bingo_time || 0 }}</span>
-						荣誉值
-					</view>
 				</view>
 			</view>
 			<view class="sheng">
-				当前剩余USDL
+				当前剩余拼团积分
 				<span>{{ USDL || 0 }}</span>
-				幸运
+				拼团
 				<span>{{ lucky || 0 }}</span>
 			</view>
 			<view class="btn" @click="buy()">确认兑换</view>
@@ -98,7 +93,7 @@ export default {
 			// this.show1 = true;
 			spExchange({}, this.id).then(e => {
 				uni.navigateTo({
-					url:'/pages/money/paySuccess?type=1' 
+					url:'/pages/money/success' 
 				})
 			});
 		},

+ 14 - 4
pages/market/market.vue

@@ -8,9 +8,9 @@
 			</view>
 			<view class="content-bg"><image src="../../static/img/fwq-bg.png" mode=""></image></view>
 			<view class="money">
-				<view class="num">2600</view>
-				<view class="font">我的购物积分</view>
-				<view class="all" @click="nav('/pages/money/integralShopping')">查看明细</view>
+				<view class="num">{{ djjf }}</view>
+				<view class="font">我的拼团冻结积分</view>
+				<view class="all" @click="nav('/pages/money/frozen')">查看明细</view>
 			</view>
 		</view>
 		<view class="main">
@@ -48,10 +48,20 @@ export default {
 			list: [],
 			buyId: '',
 			password: '',
-			num: ''
+			num: '',
+			djjf:'',
 		};
 	},
 	onLoad(option) {
+		wallet({}).then(({ data }) => {
+			const obj = this
+			const arr = Object.keys(data.back);
+			arr.forEach(e => {
+				if(e == 'USDL'){
+					obj.djjf = (data.back[e].money.money*1)
+				}
+			});
+		});
 		this.loadData();
 	},
 	onShow() {},

+ 1 - 1
pages/market/myCalculation.vue

@@ -77,7 +77,7 @@
 		</u-popup>
 		<uni-popup ref="mation" type="center">
 			<view class="popup">
-				<view class="cancel flex" @click="close2"><view class="tip"></view></view>
+				<view class="cancel flex" @click="close"><view class="tip"></view></view>
 				<view class="list-boxs">
 					<view class="textBox flex">
 						<view class="font">质押金额:</view>

+ 5 - 41
pages/market/pay.vue

@@ -134,50 +134,14 @@ export default {
 		},
 		pay() {
 			let obj = this;
-			// if (obj.password == '') {
-			// 	obj.$api.msg('请输入交易密码!');
+			console.log();
+			// if (obj.list.cost_times > obj.list.luck_point - obj.list.exchange_point) {
+			// 	obj.$api.msg('所需荣誉值不足!');
 			// 	return;
 			// }
-			if (obj.checked == false) {
-				obj.$api.msg('请阅读并同意协议!');
-				return;
-			}
-			console.log();
-			if (obj.list.cost_times > obj.list.luck_point - obj.list.exchange_point) {
-				obj.$api.msg('所需荣誉值不足!');
-				return;
-			}
 			//弹出输入交易密码
 			this.isHiden = false;
-			// buyMining(
-			// 	{
-			// 		num: obj.num * obj.step,
-			// 		trade_psw: obj.password
-			// 	},
-			// 	obj.id
-			// )
-			// 	.then(data => {
-			// 		obj.$api.msg(data.msg);
-			// 		obj.password = '';
-			// 		obj.num = 1;
-			// 	})
-			// 	.catch(e => {
-			// 		obj.password = '';
-			// 		obj.num = 1;
-			// 		if (e.msg == '交易密码错误') {
-			// 			return;
-			// 		}
-			// 		console.log(e);
-			// 		var reg = new RegExp('购买矿机所需的');
-			// 		if (e.msg.match(reg) == -1) {
-			// 		} else {
-			// 			setTimeout(function() {
-			// 				uni.navigateTo({
-			// 					url: '/pages/finance/recharge'
-			// 				});
-			// 			}, 1000);
-			// 		}
-			// 	});
+			
 		},
 		numberChange(data) {
 			let obj = this;
@@ -375,7 +339,7 @@ page {
 			font-size: 35rpx;
 		}
 		.psw-qd {
-			color: #60bab0;
+			color: #2e58ff;
 		}
 	}
 }

+ 81 - 76
pages/message/message.vue

@@ -1,18 +1,17 @@
 <template>
 	<view class="center">
+		<empty v-if="loaded === true && list.length === 0"></empty>
 		<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="img"><image :src="l.image" mode=""></image></view>
 				<view class="right">
 					<view class="top">
-						<view class="title">{{ l.name }}</view><view class="time">{{ time(l.last_message.add_time) }}</view>
+						<view class="title">{{ l.name }}</view>
+						<view class="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 class="title">{{ l.name }}</view><view class="time">{{ l.time }}</view>
 					</view>
 				</view>
 			</view>
@@ -21,99 +20,105 @@
 </template>
 
 <script>
-import { messageList } from '@/api/finance.js'
+import { getTime } from '@/utils/rocessor.js';
+import { messageList } from '@/api/finance.js';
+import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+import empty from '@/uview-ui/components/u-empty/u-empty.vue';
 export default {
-	data(){
+	data() {
 		return {
-			list:[],
-		}
+			list: [],
+			loaded: false
+		};
+	},
+	components: {
+		empty,
+		uniLoadMore
 	},
 	onLoad() {
-		this.loadData()
+		this.loadData();
 	},
 	methods: {
 		loadData() {
-			messageList({page:1,limit:10}).then(({data}) =>{
-				this.list = data
-				console.log(data)
-			})
+			uni.showLoading({
+				title: '加载中'
+			});
+			messageList({ page: 1, limit: 10 }).then(({ data }) => {
+				this.list = data;
+				data.forEach(e => {
+					e.last_message.add_time = getTime(e.last_message.add_time);
+				});
+				uni.hideLoading();
+				this.loaded = true;
+			});
 		},
 		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
+			uni.navigateTo({
+				url: './messageDetail?id=' + id
+			});
 		}
 	}
-}
+};
 </script>
 
 <style lang="scss">
-.center,page {
+.center,
+page {
 	height: 100%;
 	width: 100%;
-	background: #F8F8F8;
+	background: #f8f8f8;
 }
-	.message {
-		margin-top: 20rpx;
-		font-family: PingFangSC-Medium;
-		background-color: #fff;
-		.item {
-			display: flex;
-			padding: 30rpx 0;
-			margin: 0 30rpx;
-			border-bottom: solid 1rpx #f8f8f8;
-			.img {
-				margin: auto 0;
-				width: 110rpx;
-				margin-left: 0rpx;
-				image {
-					width: 80rpx;
-					height: 80rpx;
+.message {
+	margin-top: 20rpx;
+	font-family: PingFangSC-Medium;
+	background-color: #fff;
+	.item {
+		display: flex;
+		padding: 30rpx 0;
+		margin: 0 30rpx;
+		border-bottom: solid 1rpx #f8f8f8;
+		.img {
+			margin: auto 0;
+			width: 110rpx;
+			margin-left: 0rpx;
+			image {
+				width: 80rpx;
+				height: 80rpx;
+			}
+		}
+		.right {
+			width: calc(100% - 110rpx);
+			display: grid;
+			align-content: space-between;
+			.top {
+				display: flex;
+				justify-content: space-between;
+				.title {
+					color: #000;
+					font-size: 30rpx;
+				}
+				.time {
+					color: #999999;
+					font-size: 25rpx;
 				}
 			}
-			.right {
-				width: calc(100% - 110rpx);
-				display: grid;
-				align-content: space-between;
-				.top {
-					display: flex;
-					justify-content: space-between;
-					.title {
-						color: #000;
-						font-size: 30rpx;
-					}
-					.time {
-						color: #999999;
-						font-size: 25rpx;
-					}
+			.bottom {
+				display: flex;
+				justify-content: space-between;
+				.concent {
+					width: calc(100% - 30rpx);
+					color: #999999;
+					font-size: 26rpx;
 				}
-				.bottom {
-					display: flex;
-					justify-content: space-between;
-					.concent {
-						width: calc(100% - 30rpx);
-						color: #999999;
-						font-size: 26rpx;
-					}
-					.icon {
-						margin: auto 0;
-						width: 10rpx;
-						height: 10rpx;
-						background-color: #FB555C;
-						border-radius: 50%;
-					}
+				.icon {
+					margin: auto 0;
+					width: 10rpx;
+					height: 10rpx;
+					background-color: #fb555c;
+					border-radius: 50%;
 				}
-				
 			}
 		}
 	}
-
+}
 </style>

+ 138 - 0
pages/message/messageDetail.vue

@@ -0,0 +1,138 @@
+<template>
+	<view class="center">
+		<view class="message">
+			<view class="item" v-for="l in list" @click="look(l.cate_id)">
+				<view class="img"><image :src="type.image" mode=""></image></view>
+				<view class="right">
+					<view class="top">
+						<view class="title">{{ type.name }}</view>
+						<view class="time">{{ l.add_time }}</view>
+					</view>
+					<view class="bottom">
+						<view class="concent clamp2">{{ l.detail }}</view>
+						<view class="icon" v-show="l.unwatch_message > 0"></view>
+					</view>
+				</view>
+			</view>
+			<uni-load-more :status="loadingType"></uni-load-more>
+		</view>
+	</view>
+</template>
+
+<script>
+import { getTime } from '@/utils/rocessor.js';
+import { message } from '@/api/finance.js';
+import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+export default {
+	components: {
+		uniLoadMore
+	},
+	data() {
+		return {
+			id: '',
+			page: 1,
+			limit: 10,
+			list: [],
+			type: {},
+			loadingType: 'more'
+		};
+	},
+	onLoad(option) {
+		if (option.id) {
+			this.id = option.id;
+		}
+		this.loadData();
+	},
+	//监听页面是否滚动到底部加载更多
+	onReachBottom() {
+		this.loadData();
+	},
+	methods: {
+		loadData() {
+			const obj = this;
+			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
+				return;
+			}
+			obj.loadingType == 'loading';
+			message({ page: obj.page, limit: obj.limit }, obj.id).then(({ data }) => {
+				console.log(data);
+				if (obj.page == 1) {
+					obj.type = data.cate;
+				}
+				data.list.forEach(e => {
+					e.add_time = getTime(e.add_time);
+				});
+				obj.list = obj.list.concat(data.list);
+				obj.page++;
+				if (data.list.length == obj.limit) {
+					obj.loadingType == 'more';
+				} else {
+					obj.loadingType == 'nomore';
+				}
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+.center,
+page {
+	height: 100%;
+	width: 100%;
+	background: #f8f8f8;
+}
+.message {
+	margin-top: 20rpx;
+	font-family: PingFangSC-Medium;
+	.item {
+		background-color: #fff;
+		display: flex;
+		padding: 30rpx;
+		width: 100%;
+		border-bottom: solid 1rpx #f8f8f8;
+		.img {
+			margin: auto 0;
+			width: 110rpx;
+			margin-left: 0rpx;
+			image {
+				width: 80rpx;
+				height: 80rpx;
+			}
+		}
+		.right {
+			width: calc(100% - 110rpx);
+			display: grid;
+			align-content: space-between;
+			.top {
+				display: flex;
+				justify-content: space-between;
+				.title {
+					color: #000;
+					font-size: 30rpx;
+				}
+				.time {
+					color: #999999;
+					font-size: 25rpx;
+				}
+			}
+			.bottom {
+				display: flex;
+				justify-content: space-between;
+				.concent {
+					width: calc(100% - 30rpx);
+					color: #999999;
+					font-size: 26rpx;
+				}
+				.icon {
+					margin: auto 0;
+					width: 10rpx;
+					height: 10rpx;
+					background-color: #fb555c;
+					border-radius: 50%;
+				}
+			}
+		}
+	}
+}
+</style>

+ 289 - 0
pages/money/account.vue

@@ -0,0 +1,289 @@
+<template>
+	<view class="content">
+		<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" class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<view class="row b-b">
+					<text class="tit">姓名</text>
+					<input class="input" v-model="tabItem.orderList.name" type="text" placeholder="提款人姓名" placeholder-class="placeholder" />
+				</view>
+				<view class="row b-b">
+					<text class="tit">{{ tabIndex == 0 ? '账号' : '银行卡号' }}</text>
+					<input class="input" v-model="tabItem.orderList.code" type="text" placeholder="请输入账号" placeholder-class="placeholder" />
+				</view>
+				<view class="row b-b" v-if="tabIndex == 1">
+					<text class="tit">所属银行</text>
+					<input class="input" v-model="tabItem.orderList.bankName" type="text" placeholder="请输入开户银行" placeholder-class="placeholder" />
+				</view>
+			</swiper-item>
+		</swiper>
+
+		<button class="add-btn up" @click="confirm">提交申请</button>
+	</view>
+</template>
+
+<script>
+import { aliInfo, bankInfo, setAliInfo, setBankInfo } from '@/api/wallet.js';
+export default {
+	data() {
+		return {
+			tabCurrentIndex: 0,
+			navList: [
+				{
+					state: 0,
+					text: '支付宝',
+					loadingType: 'more',
+					orderList: {
+						name: '',
+						code: '',
+						id: ''
+					}
+				},
+				{
+					state: 1,
+					text: '银行卡',
+					loadingType: 'more',
+					orderList: {
+						name: '',
+						code: '',
+						bankName: '',
+						id: ''
+					}
+				}
+			]
+		};
+	},
+
+	onLoad(options) {
+		this.tabCurrentIndex = +options.state || 0;
+		// this.loadAli();
+		// this.loadBank();
+	},
+
+	methods: {
+		//加载数据
+		loadAli(source) {
+			aliInfo({}).then(({ data }) => {
+				let order = this.navList[0].orderList;
+				this.$set(order, 'name', data.fullname);
+				this.$set(order, 'code', data.alino);
+				this.$set(order, 'id', data.id);
+			});
+		},
+		loadBank() {
+			bankInfo({}).then(({ data }) => {
+				let order = this.navList[1].orderList;
+				this.$set(order, 'name', data.fullname);
+				this.$set(order, 'code', data.bankno);
+				this.$set(order, 'bankName', data.bank);
+				this.$set(order, 'id', data.id);
+			});
+		},
+		//swiper 切换
+		changeTab(e) {
+			this.tabCurrentIndex = e.target.current;
+		},
+		//顶部tab点击
+		tabClick(index) {
+			this.tabCurrentIndex = index;
+		},
+		// 提交保存
+		confirm() {
+			let obj = this;
+			let arr = obj.navList[obj.tabCurrentIndex].orderList;
+			let pages = getCurrentPages(); //获取所有页面栈实例列表
+			console.log(pages);
+			let nowPage = pages[pages.length - 1]; //当前页页面实例
+			let prevPage = pages[pages.length - 2]; //上一页页面实例
+			console.log(prevPage);
+			// prevPage.$vm.sh = 100;   //修改上一页data里面的sh参数值为100
+			if (obj.tabCurrentIndex == 1) {
+				if (!arr.name) {
+					return this.$api.msg('请输入提款人姓名');
+				}
+				if (!arr.bankName) {
+					return this.$api.msg('请输入所属银行');
+				}
+				if (!arr.code) {
+					return this.$api.msg('请输入银行卡号');
+				}
+				let data = {
+					fullname: arr.name,
+					bank: arr.bankName,
+					bankno: arr.code
+				};
+				// #ifdef H5
+				prevPage.$vm.bankData = data;
+				// #endif
+				// #ifdef MP
+				prevPage.setData({
+					bankData: data
+				});
+				// #endif
+				// obj.setBankInfo({
+				// 	fullname: arr.name,
+				// 	bank: arr.bankName,
+				// 	bankno: arr.code,
+				// 	id:arr.id
+				// });
+				uni.navigateBack({
+					delta: 1
+				});
+			}
+			if (obj.tabCurrentIndex == 0) {
+				if (!arr.name) {
+					return this.$api.msg('请输入提款人姓名');
+				}
+				if (!arr.code) {
+					return this.$api.msg('请输入支付宝账号');
+				}
+				let data = {
+					fullname: arr.name,
+					alino: arr.code
+				};
+				// #ifdef H5
+				prevPage.$vm.aliData = data;
+				// #endif
+
+				// #ifdef MP
+				prevPage.setData({
+					bankData: data
+				});
+				// #endif
+				// obj.setAliInfo({
+				// 	fullname: arr.name,
+				// 	alino: arr.code,
+				// 	id:arr.id
+				// });
+				uni.navigateBack({
+					delta: 1
+				});
+			}
+		},
+		/* 保存银行卡详细 */
+		setBankInfo(obj) {
+			setBankInfo(obj)
+				.then(e => {
+					uni.showToast({
+						title: '修改成功',
+						duration: 2000,
+						position: 'top'
+					});
+					this.$api.prePage().dataUp();
+					setTimeout(() => {
+						uni.navigateBack();
+					}, 1500);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		// 修改支付宝信息
+		setAliInfo(obj) {
+			setAliInfo(obj)
+				.then(e => {
+					uni.showToast({
+						title: '修改成功',
+						duration: 2000,
+						position: 'top'
+					});
+					this.$api.prePage().dataUp();
+					setTimeout(() => {
+						uni.navigateBack();
+					}, 1500);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+.row {
+	display: flex;
+	align-items: center;
+	position: relative;
+	padding: 0 30rpx;
+	height: 110rpx;
+	background: #fff;
+	.tit {
+		flex-shrink: 0;
+		width: 120rpx;
+		font-size: 30rpx;
+		color: $font-color-dark;
+	}
+	.input {
+		flex: 1;
+		font-size: 30rpx;
+		color: $font-color-dark;
+	}
+	.iconlocation {
+		font-size: 36rpx;
+		color: $font-color-light;
+	}
+}
+page,
+.content {
+	background: $page-color-base;
+	height: 100%;
+}
+
+.swiper-box {
+	height: 750rpx;
+}
+
+.navbar {
+	display: flex;
+	height: 40px;
+	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;
+			}
+		}
+	}
+}
+
+.add-btn {
+	&.up {
+		background-color: $base-color;
+		color: #fff;
+	}
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 690rpx;
+	height: 80rpx;
+	margin: 0 auto;
+	margin-top: 30rpx;
+	font-size: $font-lg;
+	border-radius: 10rpx;
+	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+}
+</style>

+ 32 - 23
pages/money/award.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="content">
-		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<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>
@@ -11,6 +11,10 @@
 				<view class="money">{{ money || 0 }}</view>
 			</view>
 		</view>
+		<view class="btn flex">
+			<view class="btn-item" @click="navto('/pages/money/recharge')">充值糖果</view>
+			<view class="btn-item" @click="navto('/pages/conversion/transfers?type=LALA')">糖果转赠</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>
@@ -38,9 +42,9 @@
 				</scroll-view>
 			</swiper-item>
 		</swiper>
-		<view class="btn-box" @click="navto('/pages/money/recharge')">
+		<!-- <view class="btn-box" @click="navto('/pages/money/recharge')">
 			立即充值
-		</view>
+		</view> -->
 	</view>
 </template>
 
@@ -125,7 +129,7 @@ export default {
 			//这里时将订单挂载到tab列表下
 			let index = this.tabCurrentIndex;
 			let navItem = this.navList[index];
-			let state = navItem.state + 3;
+			let state = navItem.state;
 			if (source === 'tabChange' && navItem.loaded === true) {
 				//tab切换只有第一次需要加载数据
 				return;
@@ -190,14 +194,14 @@ page {
 .content-money {
 	padding-bottom: 30rpx;
 	position: relative;
-	height: 400rpx;
+	height: 480rpx;
 	.content-bg {
 		position: absolute;
 		top: 0;
 		left: 0;
 		right: 0;
 		width: 750rpx;
-		height: 400rpx;
+		height: 480rpx;
 		image {
 			width: 100%;
 			height: 100%;
@@ -244,7 +248,7 @@ page {
 .money-box {
 	position: relative;
 	z-index: 100;
-	padding-top: 100rpx;
+	padding-top: 60rpx;
 	color: #ffffff;
 	text-align: center;
 	.money {
@@ -320,21 +324,26 @@ page {
 		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;
+.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;
+	}
 }
+
 </style>

+ 7 - 7
pages/money/frozen.vue

@@ -1,19 +1,19 @@
 <template>
 	<view class="content">
-		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<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="content-bg"><image src="../../static/img/user-dong.png" mode=""></image></view>
 			<view class="money-box"><view class="money">{{ integral || 0 }}</view></view>
-			<view class="value">拼团值:200</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 class="btn-item" @click="navto('/pages/conversion/candy?type=USDL')">兑换糖果</view>
+			<view class="btn-item" @click="navto('/pages/user/fulilist')">兑换拼团积分</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>
@@ -120,7 +120,7 @@ export default {
 			const arr = Object.keys(data.back);
 			console.log(arr);
 			arr.forEach(e => {
-				if(e == 'USDC'){
+				if(e == 'USDL'){
 					obj.integral = (data.back[e].money.money*1)
 				}
 			});
@@ -159,7 +159,7 @@ export default {
 					limit: navItem.limit,
 					pm:navItem.state
 				},
-				'USDC'
+				'USDL'
 			)
 				.then(({ data }) => {
 					if (data.list.length > 0) {

+ 59 - 1
pages/money/huodai.vue

@@ -28,7 +28,7 @@
 							<view class="title-box">
 								<view class="title"><text>支付宝充值</text></view>
 							</view>
-							<view class="right"><radio value="alipay" color="#EB001C" :checked="type == 'alipay'" /></view>
+							<view class="right"><radio value="ali" color="#EB001C" :checked="type == 'ali'" /></view>
 						</view>
 					</label>
 					<label>
@@ -55,6 +55,9 @@ import { rechargeWechat } from '@/api/wallet.js';
 // #ifdef MP
 import { rechargeRoutine } from '@/api/wallet.js';
 // #endif
+// #ifdef APP-PLUS
+import { rechargeApp,rechargeAli } from '@/api/wallet.js';
+// #endif
 import { mapState } from 'vuex';
 export default {
 	filters: {
@@ -160,6 +163,61 @@ export default {
 					console.log(e);
 				});
 			// #endif
+			// #ifdef APP-PLUS
+			if(this.type == 'weixin'){
+				rechargeApp({ price: this.money })
+					.then(e => {
+						let da = e.data;
+						let data = {
+							appid:da.appid,
+							noncestr: da.noncestr,
+							package: da.package,
+							partnerid:da.partnerid,
+							prepayid:da.prepayid,
+							timestamp: da.timestamp,
+							sign:da.sign
+						};
+						uni.requestPayment({
+							provider: 'wxpay',
+							orderInfo: data,
+							success(res) {
+								console.log(res)
+							},
+							fail(res) {
+								console.log("微信掉起失败")
+								console.log(res,'失败')
+							}
+						})
+				
+						obj.payLoding = false;
+					})
+					.catch(e => {
+						obj.payLoding = false;
+						console.log(e);
+				});
+			}else {
+				rechargeAli({ price: this.money }).then(e =>{
+					console.log(e, 'url');
+					const url = e.msg;
+					uni.requestPayment({
+						provider: 'alipay',
+						orderInfo: url,
+						success: res => {
+							console.log(res);
+							uni.showToast({
+								title: '支付成功',
+								duration: 2000
+							});
+						},
+						fail: e => {
+							console.log(e);
+						},
+						complete: () => {}
+					});
+					obj.payLoding = false;
+				})
+			}
+			// #endif
 		},
 		//获取订单列表
 		loadData(source) {

+ 5 - 5
pages/money/integralP.vue

@@ -1,18 +1,18 @@
 <template>
 	<view class="content">
-		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<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="content-bg"><image src="../../static/img/user-ping.png" mode=""></image></view>
 			<view class="money-box"><view class="money">{{ integral || 0 }}</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="btn-item" @click="navto('/pages/conversion/candy?type=USDC')">转换为糖果</view>
+			<view class="btn-item" @click="navto('/pages/conversion/transfers?type=USDC')">积分转赠</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>
@@ -303,7 +303,7 @@ page {
 .money-box {
 	position: relative;
 	z-index: 10;
-	padding-top: 100rpx;
+	padding-top: 80rpx;
 	color: #ffffff;
 	text-align: center;
 	.money {

+ 4 - 8
pages/money/integralShopping.vue

@@ -1,12 +1,12 @@
 <template>
 	<view class="content">
-		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<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="content-bg"><image src="../../static/img/user-wallet.png" mode=""></image></view>
 			<view class="money-box"><view class="money">{{ userInfo.now_money*1 }}</view></view>
 		</view>
 		<view class="navbar">
@@ -91,7 +91,7 @@ export default {
 			tabCurrentIndex: 0,
 			navList: [
 				{
-					state: 0,
+					state: 2,
 					text: '收入',
 					loadingType: 'more',
 					orderList: [],
@@ -113,10 +113,6 @@ export default {
 	onLoad(options) {},
 	onShow() {
 		this.loadData();
-		//获取用户余额
-		userBalance({}).then(({ data }) => {
-			this.money = data.commissionCount;
-		});
 	},
 	computed: {
 		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
@@ -135,7 +131,7 @@ export default {
 			//这里时将订单挂载到tab列表下
 			let index = this.tabCurrentIndex;
 			let navItem = this.navList[index];
-			let state = navItem.state + 3;
+			let state = navItem.state;
 			if (source === 'tabChange' && navItem.loaded === true) {
 				//tab切换只有第一次需要加载数据
 				return;

+ 70 - 17
pages/money/mallPoints.vue

@@ -1,9 +1,14 @@
 <template>
 	<view class="content">
 		<view class="content-money">
-			<view class="content-bg"><image src="../../static/img/user-award.png" mode=""></image></view>
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
+			<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/myShang.png" mode=""></image></view>
 			<view class="money-box">
-				<view class="money"> 2000 </view>
+				<view class="money"> {{ money }} </view>
 			</view>
 		</view>
 		<view class="navbar">
@@ -37,7 +42,7 @@
 </template>
 
 <script>
-import { spreadCommission, userBalance,USDT,getWallet } 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';
@@ -67,7 +72,7 @@ export default {
 			tabCurrentIndex: 0,
 			navList: [
 				{
-					state: 0,
+					state: 1,
 					text: '收入',
 					loadingType: 'more',
 					orderList: [],
@@ -75,7 +80,7 @@ export default {
 					limit: 10 //每次信息条数
 				},
 				{
-					state: 1,
+					state: 2,
 					text: '支出',
 					loadingType: 'more',
 					orderList: [],
@@ -88,15 +93,17 @@ export default {
 	},
 	onLoad(options) {},
 	onShow() {
-		this.loadData();
-		this.getRecord()
-		//获取用户余额
-		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 == 'SCJF'){
+					obj.money = (data.back[e].money.money*1)
+				}
+			});
 		});
-		this.getMoneyLog()
-		this.getUSDT()
+		this.loadData();
 	},
 	methods: {
 		async loadData(source) {
@@ -115,12 +122,13 @@ export default {
 			//修改当前对象状态为加载中
 			navItem.loadingType = 'loading';
 
-			spreadCommission(
+			moneyLog(
 				{
 					page: navItem.page,
-					limit: navItem.limit
+					limit: navItem.limit,
+					pm:navItem.state
 				},
-				state
+				'SCJF'
 			)
 				.then(({ data }) => {
 					if (data.length > 0) {
@@ -142,6 +150,10 @@ export default {
 					console.log(e);
 				});
 		},
+		// 点击返回 我的页面
+		toBack() {
+			uni.navigateBack({});
+		},
 		//swiper 切换
 		changeTab(e) {
 			this.tabCurrentIndex = e.target.current;
@@ -160,6 +172,10 @@ page {
 	background: #f1f1f1;
 	height: 100%;
 }
+.status_bar {
+	height: var(--status-bar-height);
+	width: 100%;
+}
 .content-money {
 	padding-bottom: 30rpx;
 	position: relative;
@@ -176,11 +192,48 @@ page {
 			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;
+		}
+	}
 }
 .money-box {
 	position: relative;
 	z-index: 100;
-	padding-top: 150rpx;
+	padding-top: 80rpx;
 	color: #ffffff;
 	text-align: center;
 	.money {

+ 55 - 36
pages/money/pay.vue

@@ -9,7 +9,7 @@
 				<text class="icon iconfont iconweixin"></text>
 				<view class="con">
 					<text class="tit">微信支付</text>
-					<text>推荐使用微信支付</text>
+					<!-- <text>推荐使用微信支付</text> -->
 				</view>
 				<label class="radio"><radio value="" color="#5dbc7c" :checked="payType == 1"></radio></label>
 			</view>
@@ -24,7 +24,7 @@
 				<text class="icon iconfont iconyue"></text>
 				<view class="con">
 					<text class="tit">货款支付</text>
-					<text>可用货款 ¥{{ userInfo.now_money*1 }}</text>
+					<text>可用货款 ¥{{ (now_money * 1) || userInfo.now_money}}</text>
 				</view>
 				<label class="radio"><radio value="" color="#5dbc7c" :checked="payType == 3"></radio></label>
 			</view>
@@ -35,7 +35,7 @@
 
 <script>
 import { balance } from '@/api/wallet.js';
-import { createOrderkey,computedOrderkey,orderPay } from '@/api/order.js';
+import { createOrderkey, computedOrderkey, orderPay } from '@/api/order.js';
 import { mapState } from 'vuex';
 export default {
 	data() {
@@ -47,9 +47,12 @@ export default {
 			// #ifdef MP-WEIXIN
 			payName: 'weixin',
 			// #endif
+			// #ifdef APP-PLUS
+			payName: 'weixin',
+			//#endif
 			orderInfo: {},
 			money: 0.0, //订单金额
-			now_money: 0.0, //余额
+			now_money:'',//余额
 			orderKey: '',
 			orderId: '', //保存订单id
 			payLoding: false, //判断是否支付中
@@ -76,7 +79,7 @@ export default {
 			let prepage = this.$api.prePage();
 			computedOrderkey({
 				orderkey: this.orderKey,
-				couponId: prepage.couponChecked.id, //优惠券编号
+				// couponId: prepage.couponChecked.id, //优惠券编号
 				addressId: prepage.addressData.id, //地址编号
 				useIntegral: prepage.checkedPoints ? 1 : 0
 			}).then(({ data }) => {
@@ -88,10 +91,14 @@ export default {
 		if (options.pinkid) {
 			this.pinkid = options.pinkid;
 		}
+		uni.showLoading({
+			title: '加载中'
+		});
 		// 载入余额
 		balance({}).then(({ data }) => {
 			// 获取余额
 			this.now_money = data.now_money;
+			uni.hideLoading();
 		});
 	},
 	methods: {
@@ -135,36 +142,47 @@ export default {
 					}
 					if (obj.payName == 'weixin' || obj.payName == 'routine') {
 						let da = e.data.result.jsConfig;
+						console.log('--da--', da);
 						let data = {
-							// #ifdef H5
-							timestamp: da.timestamp,
-							// #endif
-							// #ifdef MP
-							timeStamp: da.timestamp,
-							// #endif
-							nonceStr: da.nonceStr,
+							appid: da.appid,
+							noncestr: da.noncestr,
 							package: da.package,
-							signType: da.signType,
-							paySign: da.paySign,
-							success: function(res) {
-								obj.paySuccessTo();
+							partnerid: da.partnerid,
+							prepayid: da.prepayid,
+							timestamp: da.timestamp,
+							sign: da.sign
+						};
+						console.log('--data--', data);
+						uni.requestPayment({
+							provider: 'wxpay',
+							orderInfo: data,
+							success(res) {
+								console.log(res);
 							},
-							fail: () => {
-								uni.navigateTo({
-									url: '/pages/order/order?state=0'
-								});
+							fail(res) {
+								console.log(res, '失败');
 							}
-						};
-						// #ifdef H5
-						if(obj.payName == 'weixin'){
-						obj.weichatObj.chooseWXPay(data);
-						}
-						// #endif
-						// #ifdef MP-WEIXIN
-						if(obj.payName == 'routine'){
-							wx.requestPayment(data);
-						}
-						// #endif
+						});
+					}
+					if (obj.payName == 'ali') {
+						const url = e.data.result.jsConfig;
+						console.log(url, 'url');
+						uni.requestPayment({
+							provider: 'alipay',
+							orderInfo: url,
+							success: res => {
+								console.log(res);
+								uni.showToast({
+									title: '支付成功',
+									duration: 2000
+								});
+							},
+							fail: e => {
+								console.log(e);
+							},
+							complete: () => {}
+						});
+						obj.payLoding = false;
 					}
 					uni.hideLoading();
 					obj.payLoding = false;
@@ -189,9 +207,10 @@ export default {
 			uni.showLoading({
 				title: '支付中',
 				mask: true
-			})
+			});
 			// 判断是否余额不足
-			if (obj.payName == 'yue' && +obj.now_money < obj.money) {
+			console.log(obj.money,+obj.now_money)
+			if (obj.payName == 'yue' && +obj.money > +obj.now_money) {
 				uni.showModal({
 					title: '提示',
 					content: '账户余额不足!',
@@ -222,11 +241,11 @@ export default {
 			let obj = this;
 			// 获取下单页面数据
 			let prepage = obj.$api.prePage();
-
+			console.log(obj.payName,'123456789')
 			let data = {
 				real_name: prepage.addressData.real_name, //联系人名称
 				phone: prepage.addressData.phone, //联系人号码
-				couponId: prepage.couponChecked.id, //优惠券编号
+				// couponId: prepage.couponChecked.id, //优惠券编号
 				addressId: prepage.addressData.id, //支付地址id
 				useIntegral: prepage.checkedPoints ? 1 : 0, //是否积分抵扣1为是0为否
 				payType: obj.payName, //支付类型  weixin-微信 yue-余额
@@ -277,7 +296,7 @@ export default {
 				.catch(e => {
 					uni.hideLoading();
 					obj.payLoding = false;
-					console.log(e);
+					console.log(e,"789456423");
 				});
 		}
 	}

+ 1 - 1
pages/money/paySuccess.vue

@@ -4,7 +4,7 @@
 		<text class="tit" v-if="type == 1">订单支付成功</text>
 		<text class="tit" v-else>订单预约成功</text>
 		<view class="btn-group">
-			<navigator url="/pages/order/order" open-type="redirect" class="mix-btn">查看订单</navigator>
+			<navigator url="/pages/order/order?state=1" open-type="redirect" class="mix-btn">查看订单</navigator>
 			<navigator url="/pages/index/index" open-type="switchTab" class="mix-btn hollow">返回首页</navigator>
 		</view>
 	</view>

+ 44 - 46
pages/money/payment.vue

@@ -32,21 +32,17 @@ export default {
 		return {
 			phone: '', //用户
 			code: '', //验证码
-			password2:'',
-			password:'',
+			password2: '',
+			password: '',
 			time: '', //保存倒计时对象
 			countDown: 0 //倒计时
 		};
 	},
-	onLoad(){
+	onLoad() {
 		let userInfo = uni.getStorageSync('userInfo') || '';
-		this.phone = userInfo.account
-		
-		
-	},
-	onShow() {
-		
+		this.phone = userInfo.account;
 	},
+	onShow() {},
 	watch: {
 		// 监听倒计时
 		countDown(i) {
@@ -80,18 +76,20 @@ export default {
 			}
 			registerReset({
 				account: obj.phone, //账号
-				password:obj.password,
-				password2:obj.password2,
-				type:2,
+				password: obj.password,
+				password2: obj.password2,
+				type: 2,
 				captcha: obj.code
-			}).then(function(e) {
-				obj.$api.msg(e.msg);
-				uni.switchTab({
-					url: '/pages/user/user'
+			})
+				.then(function(e) {
+					obj.$api.msg(e.msg);
+					uni.switchTab({
+						url: '/pages/user/user'
+					});
 				})
-			}).catch((e) => {
-				console.log(e);
-			});
+				.catch(e => {
+					console.log(e);
+				});
 		},
 		//发送验证码
 		verification() {
@@ -114,7 +112,7 @@ export default {
 						console.log(err);
 					});
 			}
-		},
+		}
 	}
 };
 </script>
@@ -122,49 +120,49 @@ export default {
 <style lang="scss">
 page {
 	min-height: 100%;
-	background-color: #ffffff;
 	.container {
 		width: 100%;
-		padding: 27rpx 31rpx;
-		
 	}
 }
-.list-box{
-	.list-title{
+.list-box {
+	margin-top: 20rpx;
+	padding: 27rpx 30rpx 10rpx;
+	background-color: #FFFFFF;
+	.list-title {
 		font-size: 30rpx;
 		font-weight: 500;
 		color: #333333;
 		margin-bottom: 61rpx;
-		.tip{
-			width: 2rpx;
+		.tip {
+			width: 2px;
 			height: 30rpx;
-			background: #4C5D97;
-			margin-right:17rpx ;
+			background: #2E58FF;
+			margin-right: 17rpx;
 		}
 	}
-	.list-cell{
+	.list-cell {
 		margin-bottom: 70rpx;
-		.cell-name{
+		.cell-name {
 			width: 30%;
 			font-size: 26rpx;
 			font-weight: 500;
 			color: #333333;
 		}
-		.nameCode{
+		.nameCode {
 			width: 42% !important;
 		}
-		.code-box{
+		.code-box {
 			width: 100% !important;
-			input{
+			input {
 				width: 50%;
 			}
-			.code{
+			.code {
 				font-size: 26rpx;
 				font-weight: 500;
-				color: #44969D;;
+				color: #2e58ff;
 			}
 		}
-		input{
+		input {
 			width: 60%;
 			text-align: left;
 			font-size: 26rpx;
@@ -172,13 +170,13 @@ page {
 		}
 	}
 }
-	.submit {
-		background: linear-gradient(90deg, #60BAB0, #60BAB0, #45969B);
-		margin-top: 20rpx;
-		color: #FFFFFF;
-		text-align: center;
-		padding: 20rpx 0rpx;
-		border-radius: 50rpx;
-		margin-top: 60rpx;
-	}
+.submit {
+	width: 690rpx;
+	background: linear-gradient(0deg, #2e58ff, #32c6ff);
+	color: #ffffff;
+	text-align: center;
+	padding: 20rpx 0rpx;
+	border-radius: 50rpx;
+	margin: 60rpx auto 0;
+}
 </style>

+ 454 - 0
pages/money/publicPing.vue

@@ -0,0 +1,454 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
+			<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-USDT.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 == 'USDT'){
+					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;
+			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
+				},
+				'USDT'
+			)
+				.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>

+ 454 - 0
pages/money/publicW.vue

@@ -0,0 +1,454 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
+			<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-fil.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 == 'FIL'){
+					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;
+			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
+				},
+				'FIL'
+			)
+				.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>

+ 7 - 7
pages/money/publicWelfare.vue

@@ -1,14 +1,14 @@
 <template>
 	<view class="content">
-		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<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="value">公益奖励:200</view> -->
 			<!-- <view class="rule" @click="open()">转赠规则</view> -->
 		</view>
 		<view class="navbar">
@@ -54,9 +54,9 @@
 			</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 class="btn-box" @click="navto('/pages/money/withdrawal')">
 			公益奖励提现
-		</view>
+		</view> -->
 	</view>
 </template>
 
@@ -119,7 +119,7 @@ export default {
 			const arr = Object.keys(data.back);
 			console.log(arr);
 			arr.forEach(e => {
-				if(e == 'USDC'){
+				if(e == 'GYJF'){
 					obj.integral = (data.back[e].money.money*1)
 				}
 			});
@@ -140,7 +140,7 @@ export default {
 			//这里时将订单挂载到tab列表下
 			let index = this.tabCurrentIndex;
 			let navItem = this.navList[index];
-			let state = navItem.state + 3;
+			let state = navItem.state ;
 			if (source === 'tabChange' && navItem.loaded === true) {
 				//tab切换只有第一次需要加载数据
 				return;
@@ -158,7 +158,7 @@ export default {
 					limit: navItem.limit,
 					pm:navItem.state
 				},
-				'USDC'
+				'GYJF'
 			)
 				.then(({ data }) => {
 					if (data.list.length > 0) {

+ 62 - 7
pages/money/recharge.vue

@@ -2,7 +2,7 @@
 	<view class="content">
 		<view class="row-box">
 			<view class="money-box">
-				<view class="money">{{ now_money }}</view>
+				<view class="money">{{ myMoney }}</view>
 				<view class="money-text">我的糖果数量</view>
 			</view>
 			<!-- <view class="chong">充值记录</view> -->
@@ -28,7 +28,7 @@
 							<view class="title-box">
 								<view class="title"><text>支付宝充值</text></view>
 							</view>
-							<view class="right"><radio value="alipay" color="#EB001C" :checked="type == 'alipay'" /></view>
+							<view class="right"><radio value="ali" color="#EB001C" :checked="type == 'ali'" /></view>
 						</view>
 					</label>
 					<label>
@@ -55,6 +55,9 @@ import { rechargeWechat } from '@/api/wallet.js';
 // #ifdef MP
 import { rechargeRoutine } from '@/api/wallet.js';
 // #endif
+// #ifdef APP-PLUS
+import { rechargeApp,rechargeAli } from '@/api/wallet.js';
+// #endif
 import { mapState } from 'vuex';
 export default {
 	filters: {
@@ -90,10 +93,6 @@ export default {
 		// #ifdef H5
 		...mapState(['weichatObj']),
 		// #endif
-		//我的糖果数
-		now_money() {
-			return this.$store.state.user.userInfo.now_money
-		}
 	},
 	methods: {
 		// 跳转
@@ -107,7 +106,8 @@ export default {
 		},
 		// 切换选中对象
 		tabRadio(e) {
-			this.type = e;
+			this.type = e.detail.value;
+			console.log(this.type,'选择支付方式')
 		},
 		// 提交
 		confirm() {
@@ -163,6 +163,61 @@ export default {
 					console.log(e);
 				});
 			// #endif
+			// #ifdef APP-PLUS
+			if(this.type == 'weixin'){
+				rechargeApp({ price: this.money })
+					.then(e => {
+						let da = e.data;
+						let data = {
+							appid:da.appid,
+							noncestr: da.noncestr,
+							package: da.package,
+							partnerid:da.partnerid,
+							prepayid:da.prepayid,
+							timestamp: da.timestamp,
+							sign:da.sign
+						};
+						uni.requestPayment({
+							provider: 'wxpay',
+							orderInfo: data,
+							success(res) {
+								console.log(res)
+							},
+							fail(res) {
+								console.log("微信掉起失败")
+								console.log(res,'失败')
+							}
+						})
+				
+						obj.payLoding = false;
+					})
+					.catch(e => {
+						obj.payLoding = false;
+						console.log(e);
+				});
+			}else {
+				rechargeAli({ price: this.money }).then(e =>{
+					console.log(e, 'url');
+					const url = e.msg;
+					uni.requestPayment({
+						provider: 'alipay',
+						orderInfo: url,
+						success: res => {
+							console.log(res);
+							uni.showToast({
+								title: '支付成功',
+								duration: 2000
+							});
+						},
+						fail: e => {
+							console.log(e);
+						},
+						complete: () => {}
+					});
+					obj.payLoding = false;
+				})
+			}
+			// #endif
 		},
 		//获取订单列表
 		loadData(source) {

+ 88 - 0
pages/money/success.vue

@@ -0,0 +1,88 @@
+<template>
+	<view class="container">
+		<view class="re-succ-box">
+			<image class="re-succ-img" src="../../static/img/success.png"></image>
+			<view class="re-succ-tit">提交成功</view>
+			<view class="re-tip" v-if="type == 1">
+				请耐心等待审核
+			</view>
+			<view class="re-succ-btn" @click="goBack()">返回首页</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data(){
+		return{
+			type:'',
+		}
+	},
+	onLoad(option) {
+		if(option.type){
+			this.type = option.type 
+		}
+	},
+	methods: {
+		goBack() {
+			uni.switchTab({
+				url: '/pages/index/index'
+			})
+		}
+	}
+}
+</script>
+
+<style lang="scss">
+page {
+	height: 100%;
+}
+.container {
+	height: 100%;
+	background: #FFFFFF;
+	.line-top {
+		width: 750rpx;
+		height: 20rpx;
+		background: #F5F5F5;
+	}
+	.re-succ-box {
+		padding-top: 170rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		.re-succ-img {
+			position: relative;
+			left: 16rpx;
+			width: 362rpx;
+			height: 267rpx;
+			display: block;
+		}
+		.re-succ-tit {
+			margin-top: -26rpx;
+			font-size: 40rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #333333;
+		}
+		.re-tip {
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #B3B3B3;
+		}
+		.re-succ-btn {
+			margin-top: 80rpx;
+			width: 300rpx;
+			height: 78rpx;
+			border: 2rpx solid #2E58FF;
+			border-radius: 10rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #2E58FF;
+			text-align: center;
+			line-height: 78rpx;
+		}
+	}
+}
+</style>

+ 10 - 14
pages/money/wallet.vue

@@ -1,12 +1,12 @@
 <template>
 	<view class="content">
-		<view class="status_bar"><!-- 这里是状态栏 --></view>
 		<view class="content-money">
+		<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<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-award.png" mode=""></image></view>
+			<view class="content-bg"><image src="../../static/img/myYong.png" mode=""></image></view>
 			<view class="money-box">
 				<view class="money"><text>¥</text>{{userInfo.brokerage_price}}</view>
 			</view>
@@ -82,16 +82,16 @@ export default {
 			tabCurrentIndex: 0,
 			navList: [
 				{
-					state: 1,
-					text: '支出',
+					state: 0,
+					text: '收入',
 					loadingType: 'more',
 					orderList: [],
 					page: 1, //当前页数
 					limit: 10 //每次信息条数
 				},
 				{
-					state: 2,
-					text: '收入',
+					state: 1,
+					text: '支出',
 					loadingType: 'more',
 					orderList: [],
 					page: 1, //当前页数
@@ -104,10 +104,6 @@ export default {
 	onLoad(options) {},
 	onShow() {
 		this.loadData();
-		// 获取用户余额
-		userBalance({}).then(({ data }) => {
-			this.money = data.now_money;
-		});
 	},
 	methods: {
 		// 页面跳转
@@ -127,7 +123,7 @@ export default {
 			//这里是将订单挂载到tab列表下
 			let index = this.tabCurrentIndex;
 			let navItem = this.navList[index];
-			let state = navItem.state;
+			let state = navItem.state + 3;
 			if (source === 'tabChange' && navItem.loaded === true) {
 				//tab切换只有第一次需要加载数据
 				return;
@@ -193,14 +189,14 @@ page {
 .content-money {
 	padding-bottom: 30rpx;
 	position: relative;
-	height: 400rpx;
+	height: 480rpx;
 	.content-bg {
 		position: absolute;
 		top: 0;
 		left: 0;
 		right: 0;
 		width: 750rpx;
-		height: 400rpx;
+		height: 480rpx;
 		image {
 			width: 100%;
 			height: 100%;
@@ -247,7 +243,7 @@ page {
 .money-box {
 	position: relative;
 	z-index: 100;
-	padding-top: 100rpx;
+	padding-top: 80rpx;
 	color: #ffffff;
 	text-align: center;
 	.money {

+ 37 - 23
pages/money/withdrawal.vue

@@ -20,7 +20,7 @@
 		<!-- #ifndef MP-WEIXIN -->
 		<view class="list" v-if="!weichatBsrowser">
 			<radio-group @change="tabRadio">
-				<label>
+				<!-- <label>
 					<view class="box">
 						<view class="icon iconfont iconweixin1"></view>
 						<view class="title-box">
@@ -28,17 +28,17 @@
 						</view>
 						<view class="right"><radio value="weixin" color="#5dbc7c" :checked="type == 'weixin'" /></view>
 					</view>
-				</label>
+				</label> -->
 				<label>
 					<view class="box">
 						<view class="icon iconfont iconzhifubao"></view>
 						<view class="title-box">
 							<view class="title">
-								<text v-if="aliData.fullname">提现至支付宝</text>
+								<text v-if="aliData.fullname != null">提现至支付宝</text>
 								<text v-else>请创建支付宝账号</text>
 							</view>
 							<view class="node">
-								<text v-if="aliData.fullname">真实姓名({{ aliData.fullname }})</text>
+								<text v-if="aliData.fullname != null">真实姓名({{ aliData.fullname }})</text>
 							</view>
 						</view>
 						<view class="right"><radio value="alipay" color="#5dbc7c" :checked="type == 'alipay'" /></view>
@@ -46,14 +46,14 @@
 				</label>
 				<label>
 					<view class="box">
-						<view class="icon iconfont"><image class="icon-img" src="../../static/icon/i8.png" mode="aspectFit"></image></view>
+						<view class="icon iconfont"><image class="icon-img" src="/static/icon/i8.png" mode="aspectFit"></image></view>
 						<view class="title-box">
 							<view class="title">
-								<text v-if="bankData.bankno">{{ bankData.bank + ' ' + bankData.bankno }}</text>
+								<text v-if="bankData.bankno != null">{{ bankData.bank + ' ' + bankData.bankno }}</text>
 								<text v-else>请创建银行账号</text>
 							</view>
 							<view class="node">
-								<text v-if="bankData.fullname">真实姓名({{ bankData.fullname }})</text>
+								<text v-if="bankData.fullname != null">真实姓名({{ bankData.fullname}})</text>
 							</view>
 						</view>
 						<view class="right"><radio value="bank" color="#5dbc7c" :checked="type == 'bank'" /></view>
@@ -70,36 +70,47 @@
 <script>
 import { getMoneyStyle } from '@/utils/rocessor.js';
 import { extractCash, extractBank, aliInfo, bankInfo } from '@/api/wallet.js';
+import { mapState, mapMutations } from 'vuex';
 export default {
 	data() {
 		return {
-			type: 'weixin', //提现方式
+			type: 'alipay', //提现方式
 			money: 0, //可提现金额
 			withdrawal: '', //提现金额
 			minPrice: '', //最少提现金额
-			aliData: {},
-			bankData: {},
+			aliData: {fullname:'',alino:''},
+			bankData: {fullname:'',bank:'',bankno:''},
 			// #ifdef H5
 			weichatBsrowser: false
 			// #endif
 		};
 	},
-	onLoad(options) {
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
+		moneyMin() {
+			return '最低提现金额' + this.minPrice + '元'
+		}
+	},
+	onShow(options) {
 		// #ifdef H5
 		this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
 		// #endif
 		//加载提现信息
 		this.loadData();
 		// 加载提款账号信息
-		this.loadAli();
-		this.loadBank();
+		this.aliData.fullname = this.userInfo.alipay_name;
+		console.log(this.aliData.fullname);
+		this.aliData.alino = this.userInfo.alipay_code
+		this.bankData.fullname = this.userInfo.bank_user_name;
+		this.bankData.bank = this.userInfo.bank_name;
+		this.bankData.bankno = this.userInfo.bank_code;
 	},
 	methods: {
 		// 更新数据
-		dataUp() {
-			this.loadAli();
-			this.loadBank();
-		},
+		// dataUp() {
+		// 	this.loadAli();
+		// 	this.loadBank();
+		// },
 		//加载数据
 		async loadAli(source) {
 			aliInfo({}).then(e => {
@@ -139,7 +150,7 @@ export default {
 			let data = {
 				extract_type: this.type, //bank -银行卡 alipay-支付宝 weixin-微信
 				money: this.withdrawal, //金额
-				money_type: 1 //0佣金1余额
+				money_type: "brokerage" //0佣金1余额
 			};
 			if (this.type == 'alipay') {
 				data.name = this.aliData.fullname;
@@ -153,11 +164,14 @@ export default {
 
 			extractCash(data)
 				.then(e => {
-					uni.showToast({
-						title: '提交成功',
-						duration: 2000,
-						position: 'top'
-					});
+					uni.navigateTo({
+						url:'/pages/money/success?type=1'
+					})
+					// uni.showToast({
+					// 	title: '提交成功',
+					// 	duration: 2000,
+					// 	position: 'top'
+					// });
 				})
 				.catch(e => {
 					console.log();

+ 19 - 18
pages/order/createOrder.vue

@@ -31,7 +31,7 @@
 					<text class="title clamp">{{ ls.productInfo.store_name }}</text>
 					<text class="spec">{{ ls.productInfo.attrInfo ? ls.productInfo.attrInfo.suk : '默认' }}</text>
 					<view class="price-box" v-if="goodsType != 0">
-						<text class="price">{{ ls.productInfo.attrInfo ? ls.productInfo.attrInfo.money * 1 + ls.productInfo.attrInfo.money_type  : ls.productInfo.money * 1 + ls.productInfo.money_type }}</text>
+						<text class="price">{{ ls.productInfo.attrInfo ? ls.productInfo.attrInfo.money * 1 + ls.money_type_name  : ls.productInfo.money * 1 + ls.money_type_name }}</text>
 						<text class="number">{{ 'x ' + ls.cart_num + (ls.productInfo.unit_name || '') }}</text>
 					</view>
 					<view class="price-box" v-else>
@@ -44,14 +44,6 @@
 
 		<!-- 优惠明细 -->
 		<view class="yt-list">
-			<view class="yt-list-cell b-b" @click="couponListshow ? toggleMask('show') : ''">
-				<view class="cell-icon">券</view>
-				<text class="cell-tit clamp">优惠券</text>
-				<text class="cell-tip active" v-if="couponListshow && !couponChecked.coupon_price">选择优惠券</text>
-				<text class="cell-tip red" v-if="couponChecked.coupon_price">-¥{{ couponChecked.coupon_price }}</text>
-				<text class="cell-tip disabled" v-if="!couponListshow && !couponChecked.coupon_price">没有优惠券</text>
-				<text class="cell-more wanjia wanjia-gengduo-d"></text>
-			</view>
 			<view class="yt-list-cell b-b" v-if="moneyAll.storeFreePostage > 0">
 				<view class="cell-icon hb">减</view>
 				<text class="cell-tit clamp">商家促销</text>
@@ -59,8 +51,8 @@
 			</view>
 		</view>
 		<!-- 金额明细 -->
-		<view class="yt-list" v-if="goodsType == 0">
-			<view class="yt-list-cell b-b">
+		<view class="yt-list">
+			<view class="yt-list-cell b-b" v-if="goodsType == 0">
 				<text class="cell-tit clamp">积分抵扣{{ '(当前积分:' + integralAll + ')' }}</text>
 				<view class="cell-tip"><radio @click="checkedPoints = !checkedPoints" color=" #5dbc7c" :checked="checkedPoints" /></view>
 			</view>
@@ -73,12 +65,12 @@
 				<input class="desc" type="text" v-model="desc" placeholder="请填写备注信息" placeholder-class="placeholder" />
 			</view>
 		</view>
-		<view class="yt-list" v-if="goodsType == 0">
+		<view class="yt-list" >
 			<view class="yt-list-cell b-b">
-				<text class="cell-tit clamp">商品金额</text>
+				<text class="cell-tit clamp">还需支付</text>
 				<text class="cell-tip">¥{{ payAllMoney }}</text>
 			</view>
-			<view class="yt-list-cell b-b" v-if="checkedPoints && integralShow">
+			<view class="yt-list-cell b-b"  v-if="checkedPoints && integralShow">
 				<text class="cell-tit clamp">积分抵扣</text>
 				<text class="cell-tip">-¥{{ integralMoney }}</text>
 			</view>
@@ -162,7 +154,7 @@ export default {
 				totalPrice: 0, //总支付金额
 				vipPrice: 0 //vip优惠价
 			},
-			payPrice: 0, //总支付金额
+			payPrice: "", //总支付金额
 			orderKey: '', //订单id
 			checkedPoints: false, //判断是否积分抵扣
 			integralAll: 0, //可使用的积分
@@ -171,6 +163,7 @@ export default {
 			payType: true, //是否可支付
 			pinkid: '', //保存拼团商品id
 			goodsType:'',
+			money_type:[],//保存支付金额单位
 		};
 	},
 	onLoad(option) {
@@ -253,11 +246,18 @@ export default {
 						this.payPrice = +data.result.pay_price;
 					}else {
 						const arr = Object.keys(data.result.exchangeMoney);
+						const ar = Object.keys(obj.money_type);
 						arr.forEach(e => {
-							if(e == obj.goodsType){
-								obj.payPrice = data.result.exchangeMoney[e] * 1 + e
-							}
+							ar.forEach(b =>{
+								if (e == b){
+									obj.payPrice += data.result.exchangeMoney[e] * 1 + obj.money_type[b]
+								}
+							})
+							console.log(obj.money_type,'123456')
 						});
+						if(data.result.pay_price != 0){
+							obj.payPrice += "+¥" + data.result.pay_price
+						}
 					}
 					this.integralMoney = data.result.deduction_price;
 				})
@@ -305,6 +305,7 @@ export default {
 				obj.shopList = data.cartInfo; //商品列表
 				obj.moneyAll = data.priceGroup; //金额数据
 				obj.orderKey = data.orderKey; //订单key
+				obj.money_type = data.money_type; // 金额单位
 				// 计算金额
 				this.payMoneyNub();
 				// 加载优惠券

+ 7 - 7
pages/order/evaluate.vue

@@ -118,13 +118,13 @@ export default {
 		//提交评论
 		submit(e) {
 			let obj = this;
-			if (obj.imgList.length < 1) {
-				uni.showToast({
-					title: '请添加图片',
-					icon: 'none'
-				});
-				return;
-			}
+			// if (obj.imgList.length < 1) {
+			// 	uni.showToast({
+			// 		title: '请添加图片',
+			// 		icon: 'none'
+			// 	});
+			// 	return;
+			// }
 			for (let i = 0; i < obj.imgList.length; i++) {
 				obj.cloudimgList.push(obj.imgList[i].url);
 			}

+ 72 - 32
pages/order/order.vue

@@ -8,8 +8,7 @@
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
 				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
 					<!-- 空白页 -->
-					<!-- <empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty> -->
-
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
 					<!-- 订单列表 -->
 					<view @click="goToOrderDetail(item)" v-for="(item, index) in tabItem.orderList" :key="index" class="order-item">
 						<view class="i-top b-b">
@@ -35,12 +34,19 @@
 							<image class="goods-img" :src="goodsItem.productInfo.image" mode="scaleToFill"></image>
 							<view class="right">
 								<view class="flex-start">
-									<text class="title clamp">{{ goodsItem.productInfo.store_name }}</text>
-									<text class="price">{{ goodsItem.productInfo.price|moneyNum }}</text>
+									<text class="title clamp">{{ goodsItem.productInfo.store_name, }}</text>
+									<text class="price" v-if="goodsItem.productInfo.attrInfo.money_type == '' || goodsItem.productInfo.attrInfo.money_type == null">
+										{{ goodsItem.productInfo.price | moneyNum }}
+									</text>
+									<text class="price" v-else>
+										{{ goodsItem.productInfo.price | moneyNum }} +
+										<br />
+										{{ goodsItem.productInfo.attrInfo.money * 1 }}{{ goodsItem.productInfo.attrInfo.money_type_name }}
+									</text>
 								</view>
 								<view class="row flex">
 									<text class="row_title">{{ goodsItem.productInfo.attrInfo ? goodsItem.productInfo.attrInfo.suk : '' }}</text>
-									<text class="attr-box"> x {{ goodsItem.cart_num }}</text>
+									<text class="attr-box">x {{ goodsItem.cart_num }}</text>
 								</view>
 							</view>
 						</view>
@@ -49,19 +55,20 @@
 							<text class="num">{{ item.cartInfo.length }}</text>
 							件商品 邮费
-							<text class="price">{{ moneyNum(item.pay_postage)}}</text>
+							<text class="price">{{ moneyNum(item.pay_postage) }}</text>
+						</view>
+						<view class="price-box">
 							实付款
-							<text class="price">{{ moneyNum(item.pay_price)}}</text>
+							<text class="price">{{ item.pay_price }}</text>
 						</view>
 						<view class="action-box b-t" v-if="item.status != 5">
 							<button v-if="item._status._title == '未支付'" class="action-btn" @click.stop="cancelOrder(item)">取消订单</button>
 							<button v-if="item._status._title == '未支付'" @click.stop="orderPay(item)" class="action-btn recom">立即支付</button>
-							<button v-if="item._status._title == '待评价'" class="action-btn">评价</button>
+							<button v-if="item._status._title == '待评价'" class="action-btn" @click.stop="evaluate(item)">评价</button>
 							<button v-if="item._status._title == '待收货'" @click.stop="orderTake(item, index)" class="action-btn">确认收货</button>
 							<button v-if="item._status._title == '未发货'" class="action-btn" @click.stop="orderRefund(item)">申请退款</button>
 						</view>
 					</view>
-
 					<!-- <uni-load-more :status="tabItem.loadingType"></uni-load-more> -->
 				</scroll-view>
 			</swiper-item>
@@ -70,8 +77,14 @@
 </template>
 
 <script>
+import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
+import empty from '@/uview-ui/components/u-empty/u-empty.vue';
 import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
 export default {
+	components: {
+		empty,
+		uniLoadMore
+	},
 	data() {
 		return {
 			tabCurrentIndex: 0,
@@ -136,22 +149,22 @@ export default {
 		// #endif
 	},
 	// #ifdef APP-PLUS || H5
-	onBackPress(e){
+	onBackPress(e) {
 		uni.switchTab({
-			url: '/pages/user/user',
+			url: '/pages/user/user'
 		});
 		return true;
 	},
 	// #endif
 	filters: {
-		moneyNum(value){
-				return +value;
-		},
+		moneyNum(value) {
+			return +value;
+		}
 	},
 	methods: {
 		// 转换金额为数字
-		moneyNum(value){
-				return +value;
+		moneyNum(value) {
+			return +value;
 		},
 		// 确认收货
 		orderTake(item, index) {
@@ -159,18 +172,22 @@ export default {
 			uni.showModal({
 				title: '是否确认收货?',
 				success: () => {
-					orderTake({
-						uni: item.order_id
-					})
-						.then(e => {
-							obj.navList[obj.tabCurrentIndex].orderList.splice(index, 1);
-							uni.showToast({
-								title: '收货成功'
-							});
+					if (res.confirm) {
+						orderTake({
+							uni: item.order_id
 						})
-						.catch(e => {
-							console.log(e);
-						});
+							.then(e => {
+								obj.navList[obj.tabCurrentIndex].orderList.splice(index, 1);
+								uni.showToast({
+									title: '收货成功'
+								});
+							})
+							.catch(e => {
+								console.log(e);
+							});
+					} else if (res.cancel) {
+						console.log('用户点击取消');
+					}
 				}
 			});
 		},
@@ -192,6 +209,23 @@ export default {
 				url: '/pages/money/pay?type=1&ordid=' + e.order_id + '&money=' + e.pay_price
 			});
 		},
+		//跳转到评价页面
+		evaluate(e) {
+			console.log(e);
+			let unique = e.cartInfo[0].unique;
+			let is_reply = e.cartInfo[0].is_reply;
+			if (is_reply == 0) {
+				uni.navigateTo({
+					url: '/pages/order/evaluate?unique=' + unique
+				});
+			} else {
+				uni.showToast({
+					title: '已评价!',
+					duration: 1500,
+					icon: 'none'
+				});
+			}
+		},
 		//获取订单列表
 		loadData(source) {
 			//这里是将订单挂载到tab列表下
@@ -221,10 +255,16 @@ export default {
 				.then(({ data }) => {
 					let arr = data.map(e => {
 						let b = this.orderStateExp(e.status);
+						if (e.exchange_money != '' && e.exchange_money != null) {
+							e.exchange_money.forEach(d => {
+								e.pay_price += '+' + d.value * 1 + d.type;
+							});
+						}
 						e.stateTip = b.stateTip;
 						e.stateTipColor = b.stateTipColor;
 						return e;
 					});
+					console.log(data);
 					navItem.orderList = navItem.orderList.concat(arr);
 					// console.log(navItem.orderList);
 					navItem.page++;
@@ -447,11 +487,11 @@ page,
 			flex-direction: column;
 			padding: 0 30rpx 0 24rpx;
 			overflow: hidden;
-			.row{
+			.row {
 				margin-top: 10rpx;
 			}
-			.row_title{
-				padding:5rpx 10rpx;
+			.row_title {
+				padding: 5rpx 10rpx;
 				background-color: #dddddd;
 				border-radius: 10rpx;
 				font-size: 22rpx;
@@ -461,7 +501,7 @@ page,
 				font-size: $font-base + 2rpx;
 				color: $font-color-dark;
 				line-height: 1;
-				width: 80%;
+				width: 70%;
 			}
 			.attr-box {
 				display: flex;
@@ -470,13 +510,13 @@ page,
 				color: $font-color-light;
 			}
 			.price {
+				text-align: right;
 				display: inline;
 				font-size: $font-base + 2rpx;
 				color: $font-color-dark;
 				&:before {
 					content: '¥';
 					font-size: $font-sm;
-					
 				}
 			}
 		}

+ 27 - 4
pages/order/orderDetail.vue

@@ -36,10 +36,15 @@
 					<view class="flex">
 						<text class="title">{{ goodsItem.productInfo.store_name }}</text>
 						<view class="title-right">
-							<view class="price">{{ goodsItem.productInfo.price }}</view>
-							<view class="attr-box">
+							<text class="price" v-if="goodsItem.productInfo.attrInfo.money_type == ''">{{ goodsItem.productInfo.price }}</text>
+							<text class="price" v-else>
+								{{ goodsItem.productInfo.price }} +
+								<br />
+								{{ goodsItem.productInfo.attrInfo.money * 1 }}{{ goodsItem.productInfo.attrInfo.money_type_name }}
+							</text>
+							<!-- <view class="attr-box">
 								{{ goodsItem.attrInfo ? goodsItem.attrInfo.suk : '' }} x {{ goodsItem.cart_num + '' + (goodsItem.productInfo.unit_name ||'') }}
-							</view>
+							</view> -->
 							<view>
 								<view v-if="status._type ==  3">
 									<view @click="evaluate(goodsItem)" class="yesevaluate" v-if="goodsItem.is_reply > 0"><text>已评价</text></view>
@@ -193,7 +198,15 @@ export default {
 	},
 	computed: {
 		payAllMoney() {
-			return this.vipMoney + +this.item.total_price;
+			const obj = this
+			console.log(obj.item)
+			this.item.total_price = this.item.total_price*1
+			if (obj.item.exchange_money != '' && obj.item.exchange_money != null) {
+				obj.item.exchange_money.forEach(d => {
+					this.item.total_price += '+' + (d.value * 1) + d.type;
+				});
+			}
+			return this.vipMoney + this.item.total_price;
 		}
 	},
 	methods: {
@@ -205,15 +218,25 @@ export default {
 		},
 		// 载入订单详细
 		loadOrder() {
+			uni.showLoading({
+				title: '加载中'
+			});
 			let obj = this;
 			orderDetail({}, obj.orderId).then(e => {
+				if (e.data.exchange_money != '' && e.data.exchange_money != null) {
+					e.data.exchange_money.forEach(d => {
+						e.data.pay_price += '+' + (d.value * 1) + d.type;
+					});
+				}
 				obj.item = e.data;
+				
 				obj.item.cartInfo.forEach(e => {
 					// 计算vip优惠金额
 					obj.vipMoney += e.vip_truePrice;
 					
 				});
 				this.status = e.data._status;
+				uni.hideLoading();
 				console.log(e);
 			});
 		},

+ 1 - 1
pages/product/list.vue

@@ -317,7 +317,7 @@ page,
 	width: 100%;
 	height: 40px;
 	/* #ifdef MP ||APP-PLUS */
-	height: 84px;
+	height: 40px;
 	/* #endif */
 	background: #fff;
 	box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.06);

+ 2 - 2
pages/product/ping.vue

@@ -9,7 +9,7 @@
 						<view class="tuanF">
 							<view class="tuan">
 								<image class="tuan-image" src="../../static/img/fire.png" mode=""></image>
-								<view class="tuan-font">11人团1人中</view>
+								<view class="tuan-font">11人团2人中</view>
 							</view>
 						</view>
 						{{ item.name }}
@@ -154,7 +154,7 @@ page {
 				line-height: 56rpx;
 				text-align: center;
 				position: absolute;
-				bottom: 25rpx;
+				bottom: 15rpx;
 				right: 25rpx;
 			}
 		}

+ 3 - 3
pages/product/pingDetails.vue

@@ -11,15 +11,15 @@
 				<text class="price">
 					{{
 						list.data.cost_money_type === list.data.cost_2_money_type
-							? list.data.cost * 1 + list.data.cost_money_type
-							: list.data.cost * 1 + list.data.cost_money_type + '/' + list.data.cost_2 * 1 + list.data.cost_2_money_type
+							? list.data.cost * 1 + list.data.cost_money_type_name
+							: list.data.cost * 1 + list.data.cost_money_type_name + '/' + list.data.cost_2 * 1 + list.data.cost_2_money_type_name
 					}}
 				</text>
 				<!-- <text class="yuan">¥229</text> -->
 			</view>
 			<view class="name clamp">{{ list.data.name }}</view>
 			<view class="info">
-				<view class="info-item">门票:{{ list.data.ticket * 1 }}{{ list.data.ticket_money_type }}</view>
+				<view class="info-item">门票:{{ list.data.ticket * 1 }}{{ list.data.ticket_money_type_name }}</view>
 				<!-- <view class="info-item">销量:56件</view> -->
 				<!-- <view class="info-item">浙江省台州市</view> -->
 			</view>

+ 26 - 20
pages/product/pingOrder.vue

@@ -24,12 +24,16 @@
 
 		<view class="goods-section">
 			<!-- 商品列表 -->
-			<view class="g-item">
+			<view class="g-item" v-if="shopList.data">
 				<image :src="shopList.data.background_image"></image>
 				<view class="right">
 					<text class="title clamp">{{ shopList.data.name }}</text>
 					<view class="price-box">
-						<text class="price">{{ shopList.data.bingo * 1 }}{{ shopList.data.bingo_money_type }}</text>
+						<text class="price">{{
+						shopList.data.cost_money_type === shopList.data.cost_2_money_type
+							? shopList.data.cost * 1 + shopList.data.cost_money_type_name
+							: shopList.data.cost * 1 + shopList.data.cost_money_type_name + '/' + shopList.data.cost_2 * 1 + shopList.data.cost_2_money_type_name
+					}}</text>
 						<text class="number">{{ 'x ' + 1 }}</text>
 					</view>
 				</view>
@@ -37,20 +41,20 @@
 		</view>
 
 		<!-- 金额明细 -->
-		<view class="yt-list">
+		<view class="yt-list" v-if="shopList.data">
 			<view class="yt-list-cell b-b">
 				<text class="cell-tit clamp">门票</text>
-				<text class="cell-tip">{{ shopList.data.ticket * 1 }}{{ shopList.data.ticket_money_type }}</text>
+				<text class="cell-tip">{{ shopList.data.ticket * 1 }}{{ shopList.data.ticket_money_type_name }}</text>
 			</view>
 		</view>
-		<view class="yt-list">
+		<view class="yt-list" v-if="shopList.data">
 			<view class="yt-list-cell b-b">
 				<text class="cell-tit clamp">商品金额</text>
 				<text class="cell-tip">
 					{{
 						shopList.data.cost_money_type === shopList.data.cost_2_money_type
-							? shopList.data.cost * 1 + shopList.data.cost_money_type
-							: shopList.data.cost * 1 + shopList.data.cost_money_type + '/' + shopList.data.cost_2 * 1 + shopList.data.cost_2_money_type
+							? shopList.data.cost * 1 + shopList.data.cost_money_type_name
+							: shopList.data.cost * 1 + shopList.data.cost_money_type_name + '/' + shopList.data.cost_2 * 1 + shopList.data.cost_2_money_type_name
 					}}
 				</text>
 			</view>
@@ -61,7 +65,7 @@
 			<view class="price-content clamp"></view>
 			<text class="submit" :class="{ submitNo: !payType }" @click="payType ? submit(shopList) : ''">提交订单</text>
 		</view>
-		<u-popup v-model="show" mode="bottom" border-radius="40" height="868rpx" :closeable="true">
+		<u-popup v-model="numshow" mode="bottom" border-radius="40" height="868rpx" :closeable="true">
 			<view class="yugo">
 				<view class="Type flex">
 					<view class="moneyName clamp" @click="moneyshow = true">{{ moneyType[index].text }}</view>
@@ -100,7 +104,7 @@
 					<text class="psw-qd" @click="pswQd">确定</text>
 				</view>
 			</view>
-		</u-popup>
+		</u-popup> 
 		<u-action-sheet :list="moneyType" v-model="moneyshow" @click="changeIndex"></u-action-sheet>
 	</view>
 </template>
@@ -119,7 +123,7 @@ export default {
 			index: 0, //判断支付方式是那个
 			payType: true, //是否可支付
 			id: '',
-			show: false, //支付数量
+			numshow: false, //支付数量
 			show1: false, //支付密码
 			moneyType: [{ text: '' }], //支付方式选择
 			moneyshow: false, //支付方式开关
@@ -143,15 +147,18 @@ export default {
 				if (data.data.cost_money_type != data.data.cost_2_money_type) {
 					let type1 = {};
 					let type2 = {};
-					type1.text = data.data.cost_money_type;
+					type1.code = data.data.cost_money_type
+					type1.text = data.data.cost_money_type_name;
 					type1.money = data.data.cost;
 					obj.moneyType[0] = type1;
-					type2.text = data.data.cost_2_money_type;
+					type2.code = data.data.cost_2_money_type
+					type2.text = data.data.cost_2_money_type_name;
 					type2.money = data.data.cost_2;
 					obj.moneyType[1] = type2;
 				} else {
 					let type1 = '';
-					type1.text = data.data.cost_money_type;
+					type1.code = data.data.cost_money_type
+					type1.text = data.data.cost_money_type_name;
 					type1.money = data.data.cost;
 					obj.moneyType[0] = type1;
 				}
@@ -159,12 +166,11 @@ export default {
 			});
 		},
 		submit(item) {
-			console.log(item);
+			console.log(item,'123456');
 			this.money = 1 * item.data.cost + item.data.cost_money_type;
-			this.souxu = 1 * item.data.ticket + item.data.ticket_money_type;
-			this.index = 0;
-			this.id = item.id;
-			this.show = true;
+			this.souxu = 1 * item.data.ticket + item.data.ticket_money_type_name;
+			this.index = 1;
+			this.numshow = true;
 		},
 		changeIndex(e) {
 			console.log(e);
@@ -188,7 +194,7 @@ export default {
 			buylala(
 				{
 					trade_psw: this.password,
-					cost_type: this.moneyType[this.index].text
+					cost_type: this.moneyType[this.index].code
 				},
 				this.id
 			)
@@ -207,7 +213,7 @@ export default {
 			if (this.value == 0) {
 				this.$api.msg('预约份数不能为0');
 			} else {
-				this.show = false;
+				this.numshow = false;
 				this.show1 = true;
 			}
 		}

+ 5 - 4
pages/product/product.vue

@@ -129,10 +129,10 @@
 				<text class="iconfont iconcart"></text>
 				<text>购物车</text>
 			</navigator> -->
-			<view class="p-b-btn" :class="{ active: goodsObjact.userCollect }" @click="toFavorite(goodsObjact)">
+			<!-- <view class="p-b-btn" :class="{ active: goodsObjact.userCollect }" @click="toFavorite(goodsObjact)">
 				<text class="iconfont " :class="{ iconlike: !goodsObjact.userCollect, iconlikefill: goodsObjact.userCollect }"></text>
 				<text>收藏</text>
-			</view>
+			</view> -->
 
 			<view class="action-btn-group">
 				<button type="primary" class=" action-btn no-border buy-now-btn" @click="toggleSpec(2)">加入购物车</button>
@@ -962,11 +962,12 @@ page {
 		padding: 20rpx 0 0;
 		display: flex;
 		flex-wrap: wrap;
-		text {
+		.tit {
 			display: flex;
 			align-items: center;
 			justify-content: center;
 			background: #eee;
+			// margin-left: 10rpx;
 			margin-right: 20rpx;
 			margin-bottom: 20rpx;
 			border-radius: 100rpx;
@@ -1134,7 +1135,7 @@ page {
 			display: flex;
 			align-items: center;
 			justify-content: center;
-			width: 350rpx;
+			width: 375rpx;
 			height: 100%;
 			font-size: $font-base;
 			padding: 0;

+ 25 - 17
pages/product/productDuhuan.vue

@@ -13,6 +13,8 @@
 			<view class="price-box" v-if="goodsType == 0">
 				<text class="price">{{ goodsObjact.money * 1 }}</text>
 				<text class="price-tip">{{ goodsObjact.money_type }}</text>
+				<text class="price-tip" v-if="goodsObjact.price != 0" style="display: inline-block;margin-left: 10rpx;"> + ¥</text>
+				<text class="price" v-if="goodsObjact.price != 0">{{ goodsObjact.price * 1 }}</text>
 			</view>
 		</view>
 		<view class="c-list">
@@ -47,8 +49,8 @@
 				<view class="a-t">
 					<image :src="actionImage"></image>
 					<view class="right">
-						<view class="good-name clamp">{{ goodsObjact.store_name }}</view>
-						<text class="price">{{ actionPrice * 1 + actionType }}</text>
+						<view class="good-name clamp">{{ goodsObjact.title }}</view>
+						<view class="price">{{actionPrice !=0? actionMoney * 1 + actionType + ' +¥' + actionPrice : actionMoney * 1 + actionType}}</view>
 					</view>
 				</view>
 				<view v-for="(item, index) in specList" :key="index" class="attr-list">
@@ -119,6 +121,7 @@ export default {
 			// 对比对象
 			productValue: [],
 			actionPrice: 0, //默认选中商品价格
+			actionMoney: 0,//默认选中商品积分
 			actionType: '', //默认选中商品价格单位
 			actionImage: '', //默认选中图片
 			uniqueId: '', //选中的商品分类
@@ -231,9 +234,10 @@ export default {
 				obj.imgList = goods.slider_image; //保存轮播图
 				obj.specList = data.productAttr; //保存分类列表
 				obj.productValue = data.productValue; //保存分类查询数据
-				obj.actionPrice = goods.money; //保存默认选中商品价格
-				obj.actionType = goods.money_type; //保存默认选中商品价格
-				obj.actionImage = goods.image_base; //保存默认选中商品价格
+				// obj.actionMoney = goods.money; //保存默认选中商品积分
+				// obj.actionPrice = goods.price; //保存默认选中商品价格
+				// obj.actionType = goods.money_type; //保存默认选中商品价格
+				// obj.actionImage = goods.image_base; //保存默认选中商品图片
 				obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
 				obj.shopId = data.mer_id; //保存商店id
 				// 保存默认选中的对象
@@ -245,11 +249,14 @@ export default {
 					obj.specSelected.push(attrValue.attr);
 				
 				}
-				
 				//保存默认选中的对象字符串名称
 				let str = obj.specSelected.join(',');
 				// 设置默认值
 				obj.actionImage = obj.productValue[str].image;
+				obj.actionMoney = obj.productValue[str].money; //保存默认选中商品积分
+				obj.actionPrice = obj.productValue[str].price; //保存默认选中商品价格
+				obj.actionType = obj.productValue[str].money_type_name; //保存默认选中商品价格
+				obj.actionImage = obj.productValue[str].image_base; //保存默认选中商品图片
 				obj.uniqueId = obj.productValue[str].unique;
 				// #ifdef H5
 				// obj.shareDate();
@@ -306,8 +313,9 @@ export default {
 			this.specSelectedName = this.specSelected.join(' ');
 			if (this.productValue[str]) {
 				let data = this.productValue[str];
-				this.actionPrice = data.money;
-				this.actionType = data.money_type;
+				this.actionMoney = data.money;
+				this.actionPrice = data.price;
+				this.actionType = data.money_type_name;
 				this.goodsNumberMax = data.stock;
 				this.actionImage = data.image;
 				this.uniqueId = data.unique;
@@ -498,7 +506,7 @@ page {
 		height: 64rpx;
 		padding: 10rpx 0;
 		font-size: 26rpx;
-		color: $uni-color-primary;
+		color: #2e64ff;
 	}
 	.price {
 		font-size: $font-lg + 2rpx;
@@ -660,7 +668,6 @@ page {
 	}
 }
 .eva-box {
-	display: flex;
 	padding: 20rpx 0;
 	.portrait {
 		flex-shrink: 0;
@@ -762,12 +769,13 @@ page {
 
 /* 规格选择弹窗 */
 .attr-content {
-	padding: 10rpx 30rpx;
+	padding: 20rpx 30rpx;
 	.a-t {
 		display: flex;
+		align-items: center;
 		image {
-			width: 120rpx;
-			height: 120rpx;
+			width: 100rpx;
+			height: 100rpx;
 			flex-shrink: 0;
 			border-radius: 8rpx;
 		}
@@ -780,7 +788,7 @@ page {
 			line-height: 42rpx;
 			.good-name {
 				padding-top: 20rpx;
-				max-width: 320rpx;
+				max-width: 520rpx;
 				font-size: 30rpx;
 				font-family: PingFang SC;
 				font-weight: bold;
@@ -789,10 +797,10 @@ page {
 				margin-bottom: 15rpx;
 			}
 			.price {
-				font-size: 60rpx;
+				font-size: 30rpx;
 				font-family: PingFang SC;
 				font-weight: bold;
-				color: #ff6f0f;
+				color: #2f78ff;
 				// font-size: $font-lg;
 				// color: $uni-color-primary;
 				// margin-bottom: 10rpx;
@@ -814,7 +822,7 @@ page {
 		padding: 20rpx 0 0;
 		display: flex;
 		flex-wrap: wrap;
-		text {
+		.tit {
 			display: flex;
 			align-items: center;
 			justify-content: center;

+ 6 - 6
pages/public/forget.vue

@@ -1,18 +1,18 @@
 <template>
 	<view class="container">
 		<view class="logo-img"><image src="../../static/img/log.png" mode=""></image></view>
-		<view class="logo">LALA</view>
+		<view class="logo">星拼乐</view>
 		<view class="login_text">
 			<view class="login_input flex_item">
 				<view class="login_img"><image class="phone" src="/static/img/phone.png"></image></view>
 				<view class="login_name"><input class="uni-input" type="text" v-model="phone" focus placeholder="请输入邮箱或手机" /></view>
 			</view>
 			<view class="login_input flex_item">
-				<view class="login_img"><image src="/static/img/password.png"></image></view>
+				<view class="login_img"><image src="/static/img/zfpwd.png"></image></view>
 				<view class="login_name"><input class="uni-input" type="password" v-model="password" focus placeholder=" 请输入新的不少于6位的密码" /></view>
 			</view>
 			<view class="login_input flex_item">
-				<view class="login_img"><image src="/static/img/password.png"></image></view>
+				<view class="login_img"><image src="/static/img/zfpwd.png"></image></view>
 				<view class="login_name"><input class="uni-input" type="password" v-model="password2" focus placeholder="请重复输入新密码" /></view>
 			</view>
 			<view class="login_input flex">
@@ -160,7 +160,7 @@ page {
 .logo {
 	font-size: 36rpx;
 	font-weight: 400;
-	color: #44969d;
+	color: #2E58FF;
 	text-align: center;
 }
 .phone {
@@ -195,7 +195,7 @@ page {
 		.login_name {
 			color: #333333;
 			.code {
-				color: #60bab0;
+				color: #2E58FF;
 				font-size: 23rpx;
 				border-left: 1px solid #eeeeee;
 				width: 150rpx;
@@ -207,7 +207,7 @@ page {
 }
 
 .login {
-	background: linear-gradient(90deg, #60bab0, #60bab0, #45969b);
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
 	margin-top: 96rpx;
 	color: #ffffff;
 	text-align: center;

+ 2 - 2
pages/public/login.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="container">
-		<view class="loginTitle">WelcomeLALA</view>
+		<view class="loginTitle">Welcome星拼乐</view>
 		<view class="loginText">请使用您的账号登录</view>
 		<view class="login-box">
 			<view class="username">账号</view>
@@ -143,7 +143,7 @@ page {
 	}
 }
 .login {
-	background: linear-gradient(90deg, #60BAB0, #60BAB0, #45969B);
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
 	margin-top: 20rpx;
 	color: #ffffff;
 	text-align: center;

+ 3 - 3
pages/public/register.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="container">
 		<view class="status_bar"><!-- 这里是状态栏 --></view>
-		<view class="loginTitle">欢迎注册LALA</view>
+		<view class="loginTitle">欢迎注册星拼乐</view>
 		<view class="loginText">请认真填写个人信息</view>
 		<view class="login-box">
 			<view class="username">账号</view>
@@ -188,7 +188,7 @@ page {
 }
 
 .login {
-	background: linear-gradient(90deg, #60bab0, #60bab0, #45969b);
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
 	margin-top: 20rpx;
 	color: #ffffff;
 	text-align: center;
@@ -197,7 +197,7 @@ page {
 	margin-top: 60rpx;
 }
 .code {
-	background: linear-gradient(90deg, #60bab0, #60bab0, #45969b);
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
 	color: #ffffff;
 	border-radius: 10rpx;
 	font-weight: 500;

+ 8 - 9
pages/set/password.vue

@@ -1,18 +1,18 @@
 <template>
 	<view class="container">
 		<view class="logo-img"><image src="../../static/img/log.png" mode=""></image></view>
-		<view class="logo">LALA</view>
+		<view class="logo">星拼乐</view>
 		<view class="login_text">
 			<view class="login_input flex_item">
 				<view class="login_img"><image class="phone" src="/static/img/phone.png"></image></view>
 				<view class="login_name"><input class="uni-input" type="text" disabled="true" v-model="phone" focus placeholder="请输入邮箱" /></view>
 			</view>
 			<view class="login_input flex_item">
-				<view class="login_img"><image src="/static/img/password.png"></image></view>
+				<view class="login_img"><image src="/static/img/zfpwd.png"></image></view>
 				<view class="login_name"><input class="uni-input" type="password" v-model="password" focus placeholder=" 请输入新的密码" /></view>
 			</view>
 			<view class="login_input flex_item">
-				<view class="login_img"><image src="/static/img/password.png"></image></view>
+				<view class="login_img"><image src="/static/img/zfpwd.png"></image></view>
 				<view class="login_name"><input class="uni-input" type="password" v-model="password2" focus placeholder="请重复输入新密码" /></view>
 			</view>
 			<view class="login_input flex">
@@ -42,7 +42,7 @@ export default {
 	},
 	onLoad() {
 		let userInfo = uni.getStorageSync('userInfo') || '';
-		this.phone = userInfo.account
+		this.phone = userInfo.account;
 	},
 	watch: {
 		// 监听倒计时
@@ -149,10 +149,9 @@ page {
 .logo-img {
 	width: 161rpx;
 	height: 161rpx;
-	margin:auto;
+	margin: auto;
 	margin-top: 52rpx !important;
 	margin-bottom: 15rpx !important;
-	box-shadow: 0px 12rpx 13rpx 0px rgba(68, 150, 157, 0.47);
 	border-radius: 50%;
 	image {
 		width: 161rpx;
@@ -163,7 +162,7 @@ page {
 .logo {
 	font-size: 36rpx;
 	font-weight: 400;
-	color: #44969d;
+	color: #559aff;
 	text-align: center;
 }
 .phone {
@@ -198,7 +197,7 @@ page {
 		.login_name {
 			color: #333333;
 			.code {
-				color: #60bab0;
+				color: #559AFF;
 				font-size: 23rpx;
 				border-left: 1px solid #eeeeee;
 				width: 150rpx;
@@ -210,8 +209,8 @@ page {
 }
 
 .login {
-	background: linear-gradient(90deg, #60bab0, #60bab0, #45969b);
 	margin-top: 96rpx;
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
 	color: #ffffff;
 	text-align: center;
 	padding: 26rpx 0rpx;

+ 4 - 4
pages/set/set.vue

@@ -2,17 +2,17 @@
 	<view class="center">
 		<view class="tt">
 			<view class="tt-box" @click="nav('/pages/user/approve')">
-				<image src="../../static/img/real_name.png" class="tt-icon1" mode=""></image>
+				<!-- <image src="../../static/img/real_name.png" class="tt-icon1" mode=""></image> -->
 				<view class="tt-txt">实名认证</view>
 				<image src="../../static/img/jiantou.png" class="next-icon" mode=""></image>
 			</view>
 			<view class="tt-box" @click="nav('/pages/set/password')">
-				<image src="../../static/img/pwd.png" class="tt-icon1" mode=""></image>
+				<!-- <image src="../../static/img/pwd.png" class="tt-icon1" mode=""></image> -->
 				<view class="tt-txt">登录密码</view>
 				<image src="../../static/img/jiantou.png" class="next-icon" mode=""></image>
 			</view>
 			<view class="tt-box" @click="nav('/pages/money/payment')">
-				<image src="../../static/img/zfpwd.png" class="tt-icon4" mode=""></image>
+				<!-- <image src="../../static/img/zfpwd.png" class="tt-icon4" mode=""></image> -->
 				<view class="tt-txt">交易密码</view>
 				<image src="../../static/img/jiantou.png" class="next-icon" mode=""></image>
 			</view>
@@ -38,7 +38,7 @@ export default {
 							.catch(e => {
 								console.log(e);
 							});
-						obj.logout();
+						// obj.logout();
 					}
 				}
 			});

+ 8 - 7
pages/user/approve.vue

@@ -9,7 +9,7 @@
 			<view class="title">上传人脸正面照片</view>
 			<view class="imgUp" @click.stop="upImg"><image class="img" :src="form.img || '../../static/img/upImgbg.png'" mode="scaleToFill"></image></view>
 		</view>
-		<button class="add-btn" @click="pushData('add')">提交</button>
+		<button class="add-btn" @click="pushData('add')">立即认证</button>
 	</view>
 </template>
 
@@ -140,26 +140,27 @@ export default {
 .content {
 	height: 100%;
 	padding: 0 $page-row-spacing;
+	background: #fff;
+	padding-bottom: 20rpx;
 }
 .add-btn {
 	display: flex;
 	align-items: center;
 	justify-content: center;
-	width: 690rpx;
-	height: 80rpx;
+	width: 672rpx;
+	height: 90rpx;
 	margin: 60rpx auto;
 	font-size: $font-lg;
 	color: #fff;
-	background: $bg-green-gradual;
-	border-radius: 10rpx;
-	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+	background: linear-gradient(0deg, #2E58FF, #32C6FF);
+	border-radius: 46rpx;
 }
 .bgimg {
 	text-align: center;
 	width: 1200rpx;
 	margin-left: -260rpx;
 	height: 400rpx;
-	background: $bg-green-gradual;
+	background: linear-gradient(30deg, #2E58FF, #33EEFF);
 	border-bottom-right-radius: 999999rpx;
 	border-bottom-left-radius: 999999rpx;
 	.img {

+ 154 - 129
pages/user/assets.vue

@@ -4,186 +4,211 @@
 			<view class="img"><image :src="userInfo.avatar" mode=""></image></view>
 			{{ userInfo.nickname }}
 		</view>
-		<view class="numerical">
+		<!-- <view class="numerical">
 			<view class="value">
-				<text>8555</text><br>
+				<text>8555</text>
+				<br />
 				贡献值
 			</view>
 			<view class="l"></view>
 			<view class="value">
-				<text>788</text><br>
+				<text>788</text>
+				<br />
 				诚信值
 			</view>
-		</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>
+				<image src="../../static/icon/assent1.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>
+				<image src="../../static/icon/assent2.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>
+				<image src="../../static/icon/assent3.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>
+				<image src="../../static/icon/assent4.png"></image>
+				<text>{{ scjf || 0 }}</text>
 				商城积分
 			</view>
 			<view class="btn" @click="nav('/pages/money/integralP')">
-				<image src="../../static/icon/index5.png"></image>
-				<text>{{ jf||0 }}</text>
+				<image src="../../static/icon/assent5.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>
+				<image src="../../static/icon/assent6.png"></image>
+				<text>{{ ptdjjf || 0 }}</text>
 				拼团冻结积分
 			</view>
 			<view class="btn" @click="nav('/pages/money/publicWelfare')">
-				<image src="../../static/icon/index7.png"></image>
-				<text>2000</text>
+				<image src="../../static/icon/assent7.png"></image>
+				<text>{{ gyjf || 0 }}</text>
 				公益积分
 			</view>
-			
+			<view class="btn" @click="nav('/pages/money/publicPing')">
+				<image src="../../static/icon/assent8.png"></image>
+				<text>{{ ptb || 0 }}</text>
+				拼团币
+			</view>
+			<view class="btn" @click="nav('/pages/money/publicW')">
+				<image src="../../static/icon/assent9.png"></image>
+				<text>{{ wjb || 0 }}</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
-						});
+import { mapState, mapMutations } from 'vuex';
+export default {
+	data() {
+		return {
+			candy: '',
+			jf: '',
+			ptdjjf: '',
+			scjf: '',
+			gyjf: '',
+			ptb:'',
+			wjb:''
+		};
+	},
+	onLoad() {
+		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;
+					}
+					if (e == 'USDL') {
+						obj.ptdjjf = data.back[e].money.money * 1;
+					}
+					if (e == 'SCJF') {
+						obj.scjf = data.back[e].money.money * 1;
+					}
+					if (e == 'GYJF') {
+						obj.gyjf = data.back[e].money.money * 1;
+					}
+					if (e == 'USDT') {
+						obj.ptb = data.back[e].money.money * 1;
+					}
+					if (e == 'FIL') {
+						obj.wjb = data.back[e].money.money * 1;
 					}
 				});
-			},
+			});
 		},
-		computed: {
-			userInfo() {
-				return this.$store.state.user.userInfo
-			}
+		nav(url) {
+			uni.navigateTo({
+				url: url,
+				fail() {
+					uni.switchTab({
+						url: url
+					});
+				}
+			});
 		}
+	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	}
+};
 </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;
-				}
+.assets {
+	.header {
+		height: 400rpx;
+		background: linear-gradient(180deg, #32c6ff 0%, #2e58ff 100%);
+		color: #fff;
+		font-size: 35rpx;
+		text-align: center;
+		font-family: PingFang-SC-Medium;
+		padding-top: 100rpx;
+		.img {
+			margin-bottom:10rpx;
+			image {
+				border-radius: 50%;
+				width: 150rpx;
+				height: 150rpx;
+				border: solid 6rpx #fff;
 			}
 		}
-		.numerical {
+	}
+	.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;
+		display: flex;
+		flex-wrap: wrap;
+		text-align: center;
+		margin: 20rpx;
+		.btn {
+			padding: 40rpx;
 			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;
+			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 {
-				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;
-				}
+				font-size: 35rpx;
 			}
 		}
 	}
+}
 </style>

+ 424 - 392
pages/user/extension.vue

@@ -1,394 +1,396 @@
-<template>
-	<view class="content">
-		<view class="status_bar"><!-- 这里是状态栏 --></view>
-		<view class="content-money">
-			<view class="money-box">
-				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
-				<view class="header">我的团队</view>
-				<image class="tuiguang_bg" src="../../static/img/share-bg.png"></image>
-				<view class="money-frame">
-					<!-- <view class="money_name">我的推广</view> -->
-					<view class="money_num">
-						<text class="money_ren">共</text>
-						{{ all || '0' }}
-						<text class="money_ren">人</text>
-					</view>
-				</view>
-			</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 class="list-scroll-content" scroll-y @scrolltolower="loadData">
-					<!-- 空白页 -->
-					<!-- <empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty> -->
-
-					<!-- 订单列表 -->
-					<view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item flex">
-						<view class="title-box flex_item">
-							<view class="title-avatar"><image :src="item.avatar"></image></view>
-							<view class="list_tpl">
-								<view class="title">
-									<text>{{ item.nickname }}</text>
-								</view>
-								<view class="time">
-									<text>{{ item.account }}</text>
-								</view>
-							</view>
-						</view>
-					</view>
-					<!-- <uni-load-more :status="tabItem.loadingType"></uni-load-more> -->
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-<script>
-import { spread } from '@/api/finance.js';
-import { mapState, mapMutations } from 'vuex';
-export default {
-	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 //每次信息条数
-				},
-			],
-			all:'',
-			list:'',
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		this.loadData();
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		//获取收入支出信息
-		async loadData(source) {
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			if (navItem.loadingType === 'noMore') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-			spread(
-				{
-					page: navItem.page,
-					limit: navItem.limit,
-				},
-			)
-				.then(({ data }) => {
-					this.total = data.total;
-					this.totalLevel =data.totalLevel;
-					this.all = this.total + this.totalLevel;
-					if (data.list.length > 0) {
-						this.list = data.list;
-						navItem.orderList = navItem.orderList.concat(data.list);
-						navItem.page++;
-					}
-					this.$nextTick(function(){
-						if (navItem.limit == data.list.length) {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'more';
-							return;
-						} else {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'noMore';
-						}
-					})
-					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;
-		},
-		// 点击返回 我的页面
-		toBack(){
-			uni.switchTab({
-				url:'/pages/user/user'
-			})
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-	background: linear-gradient(90deg, #60bab0, #45969b);
-}
-page {
-	background: #f8f8f8;
-	height: 100%;
-}
-
-.content-money {
-	padding-bottom: 30rpx;
-	background: $page-color-base;
-
-	.buttom-box {
-		position: relative;
-		background-color: #ffffff;
-		text-align: center;
-		margin: 0 30rpx;
-		padding: 30rpx 0;
-		border-radius: $border-radius-sm;
-		margin-top: -80rpx;
-
-		.buttom {
-			font-size: $font-lg;
-			flex-grow: 1;
-
-			.money {
-				font-weight: bold;
-				font-size: 32rpx;
-				color: #ff0000;
-			}
-		}
-
-		.text {
-			color: #666666;
-		}
-
-		.interval {
-			width: 2rpx;
-			height: 60rpx;
-			background-color: #eeeeee;
-		}
-
-		.icon {
-			height: 50rpx;
-			width: 48rpx;
-			margin: 0 auto;
-
-			.icon-img {
-				width: 100%;
-				height: 100%;
-			}
-		}
-	}
-}
-
-.money-box {
-	// background: $base-color;
-	height: 424rpx;
-	color: #ffffff;
-	text-align: center;
-	font-size: 35rpx;
-	position: relative;
-
-	// padding-top: 60rpx;
-	.header {
-		position: absolute;
-		left: 0;
-		top: 0;
-		width: 100%;
-		height: 80rpx;
-		font-size: 32rpx;
-		font-weight: 700;
-		z-index: 99;
-		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;
-	}
-
-	.tuiguang_bg {
-		width: 750rpx;
-		height: 424rpx;
-		position: relative;
-	}
-	.right {
-		position: absolute;
-		top: 140rpx;
-		right: 40rpx;
-		text-align: right;
-		line-height: 1;
-		.right-num {
-			font-size: 50rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-
-			color: #ffffff;
-		}
-		.right-font {
-			margin-top: 10rpx;
-			font-size: 24rpx;
-			font-family: PingFang SC;
-			font-weight: 400;
-			color: #ffffff;
-		}
-		.time {
-			font-size: 26rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #ffffff;
-			line-height: 35px;
-		}
-	}
-	.user {
-		position: absolute;
-		top: 140rpx;
-		left: 34rpx;
-		display: flex;
-		justify-content: flex-start;
-		align-items: center;
-		z-index: 10;
-		.avtor {
-			width: 102rpx;
-			height: 102rpx;
-			border-radius: 50%;
-			position: relative;
-			.portrait {
-				width: 100%;
-				height: 100%;
-				border-radius: 50%;
-			}
-			.he {
-				position: absolute;
-				height: 30rpx;
-				bottom: -4rpx;
-				left: 0;
-				.image {
-					width: 102rpx;
-					height: 30rpx;
-				}
-			}
-		}
-		.name {
-			margin-left: 30rpx;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #ffffff;
-			display: flex;
-			justify-content: start;
-			.name-left {
-				width: 220rpx;
-			}
-			.name-right {
-				margin-left: 20rpx;
-				width: 50rpx;
-				height: 60rpx;
-				position: relative;
-				image {
-					width: 100%;
-					height: 100%;
-				}
-				.level {
-					position: absolute;
-					top: 35%;
-					left: 50%;
-					margin-left: -12rpx;
-					font-size: 20rpx;
-				}
-			}
-		}
-		.id {
-			margin-left: 30rpx;
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #ffffff;
-		}
-	}
-
-	.money_img {
-		width: 100%;
-		height: 120rpx;
-		text-align: center;
-		padding-top: 50rpx;
-		padding-bottom: 135rpx;
-
-		image {
-			width: 120rpx;
-			height: 120rpx;
-			border: 4rpx solid #fd5f6f;
-			border-radius: 50%;
-		}
-	}
-
-	.money-frame {
-		position: absolute;
-		top: 0;
-		width: 100%;
-		padding-top: 200rpx;
-	}
-	.money_num {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-
-		.money_ren {
-			font-size: 36rpx;
-		}
-	}
-}
-
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="status_bar"><!-- 这里是状态栏 --></view>
+				<image class="tuiguang_bg" src="../../static/img/share-bg.png"></image>
+			<view class="money-box">
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
+				<view class="header">我的团队</view>
+				<view class="money-frame">
+					<!-- <view class="money_name">我的推广</view> -->
+					<view class="money_num">
+						<text class="money_ren">共</text>
+						{{ all || '0' }}
+						<text class="money_ren">人</text>
+					</view>
+				</view>
+			</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 class="list-scroll-content" scroll-y @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<!-- <empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty> -->
+
+					<!-- 订单列表 -->
+					<view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item flex">
+						<view class="title-box flex_item">
+							<view class="title-avatar"><image :src="item.avatar"></image></view>
+							<view class="list_tpl">
+								<view class="title">
+									<view class="title-name clamp">{{ item.nickname }}</view>
+									<view class="dl" v-if="item.area_admin == 1"><image src="../../static/icon/qudai.png" mode=""></image></view>
+									<view class="dl" v-if="item.area_admin == 2"><image src="../../static/icon/shidai.png" mode=""></image></view>
+									<view class="dl" v-if="item.area_admin == 3"><image src="../../static/icon/shengdai.png" mode=""></image></view>
+									<view class="class" v-if="item.level != 0">会员LV.{{ item.level }}</view>
+								</view>
+								<view class="time">
+									<text>{{ item.account }}</text>
+								</view>
+							</view>
+						</view>
+					</view>
+					<!-- <uni-load-more :status="tabItem.loadingType"></uni-load-more> -->
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+<script>
+import { spread } from '@/api/finance.js';
+import { mapState, mapMutations } from 'vuex';
+export default {
+	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 //每次信息条数
+				}
+			],
+			all: '',
+			list: ''
+		};
+	},
+	onLoad(options) {},
+	onShow() {
+		this.loadData();
+	},
+	methods: {
+		// 页面跳转
+		navto(e) {
+			uni.navigateTo({
+				url: e
+			});
+		},
+		//获取收入支出信息
+		async loadData(source) {
+			//这里是将订单挂载到tab列表下
+			let index = this.tabCurrentIndex;
+			let navItem = this.navList[index];
+			let state = navItem.state;
+			if (source === 'tabChange' && navItem.loaded === true) {
+				//tab切换只有第一次需要加载数据
+				return;
+			}
+			if (navItem.loadingType === 'loading') {
+				//防止重复加载
+				return;
+			}
+			if (navItem.loadingType === 'noMore') {
+				//防止重复加载
+				return;
+			}
+			// 修改当前对象状态为加载中
+			navItem.loadingType = 'loading';
+			spread({
+				page: navItem.page,
+				limit: navItem.limit
+			})
+				.then(({ data }) => {
+					this.total = data.total;
+					this.totalLevel = data.totalLevel;
+					this.all = this.total + this.totalLevel;
+					if (data.list.length > 0) {
+						this.list = data.list;
+						navItem.orderList = navItem.orderList.concat(data.list);
+						navItem.page++;
+					}
+					this.$nextTick(function() {
+						if (navItem.limit == data.list.length) {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'more';
+							return;
+						} else {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'noMore';
+						}
+					});
+					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;
+		},
+		// 点击返回 我的页面
+		toBack() {
+			uni.switchTab({
+				url: '/pages/user/user'
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+.status_bar {
+	height: var(--status-bar-height);
+	width: 100%;
+}
+page {
+	background: #f8f8f8;
+	height: 100%;
+}
+
+.content-money {
+	background: $page-color-base;
+	position: relative;
+	.tuiguang_bg {
+		width: 750rpx;
+		height: 484rpx;
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+	}
+	.buttom-box {
+		position: relative;
+		background-color: #ffffff;
+		text-align: center;
+		margin: 0 30rpx;
+		padding: 30rpx 0;
+		border-radius: $border-radius-sm;
+		margin-top: -80rpx;
+
+		.buttom {
+			font-size: $font-lg;
+			flex-grow: 1;
+
+			.money {
+				font-weight: bold;
+				font-size: 32rpx;
+				color: #ff0000;
+			}
+		}
+
+		.text {
+			color: #666666;
+		}
+
+		.interval {
+			width: 2rpx;
+			height: 60rpx;
+			background-color: #eeeeee;
+		}
+
+		.icon {
+			height: 50rpx;
+			width: 48rpx;
+			margin: 0 auto;
+
+			.icon-img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+}
+
+.money-box {
+	// background: $base-color;
+	height: 484rpx;
+	color: #ffffff;
+	text-align: center;
+	font-size: 35rpx;
+	position: relative;
+
+	// padding-top: 60rpx;
+	.header {
+		position: absolute;
+		left: 0;
+		top: 0;
+		width: 100%;
+		height: 80rpx;
+		font-size: 32rpx;
+		font-weight: 700;
+		z-index: 99;
+		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;
+	}
+	.right {
+		position: absolute;
+		top: 140rpx;
+		right: 40rpx;
+		text-align: right;
+		line-height: 1;
+		.right-num {
+			font-size: 50rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+
+			color: #ffffff;
+		}
+		.right-font {
+			margin-top: 10rpx;
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: 400;
+			color: #ffffff;
+		}
+		.time {
+			font-size: 26rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ffffff;
+			line-height: 35px;
+		}
+	}
+	.user {
+		position: absolute;
+		top: 140rpx;
+		left: 34rpx;
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+		z-index: 10;
+		.avtor {
+			width: 102rpx;
+			height: 102rpx;
+			border-radius: 50%;
+			position: relative;
+			.portrait {
+				width: 100%;
+				height: 100%;
+				border-radius: 50%;
+			}
+			.he {
+				position: absolute;
+				height: 30rpx;
+				bottom: -4rpx;
+				left: 0;
+				.image {
+					width: 102rpx;
+					height: 30rpx;
+				}
+			}
+		}
+		.name {
+			margin-left: 30rpx;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ffffff;
+			display: flex;
+			justify-content: start;
+			.name-left {
+				width: 220rpx;
+			}
+			.name-right {
+				margin-left: 20rpx;
+				width: 50rpx;
+				height: 60rpx;
+				position: relative;
+				image {
+					width: 100%;
+					height: 100%;
+				}
+				.level {
+					position: absolute;
+					top: 35%;
+					left: 50%;
+					margin-left: -12rpx;
+					font-size: 20rpx;
+				}
+			}
+		}
+		.id {
+			margin-left: 30rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ffffff;
+		}
+	}
+
+	.money_img {
+		width: 100%;
+		height: 120rpx;
+		text-align: center;
+		padding-top: 50rpx;
+		padding-bottom: 135rpx;
+
+		image {
+			width: 120rpx;
+			height: 120rpx;
+			border: 4rpx solid #fd5f6f;
+			border-radius: 50%;
+		}
+	}
+
+	.money-frame {
+		position: absolute;
+		top: 0;
+		width: 100%;
+		padding-top: 200rpx;
+	}
+	.money_num {
+		font-size: 72rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+
+		.money_ren {
+			font-size: 36rpx;
+		}
+	}
+}
+
 .order-item {
 	padding: 20rpx 30rpx;
 	line-height: 1.5;
@@ -412,11 +414,41 @@ page {
 			width: 85%;
 
 			.title {
+				display: flex;
+				justify-content: flex-start;
 				font-size: $font-lg;
 				color: $font-color-base;
 				overflow: hidden; //超出的文本隐藏
 				text-overflow: ellipsis; //溢出用省略号显示
 				white-space: nowrap;
+				line-height: 1;
+				text-align: center;
+				.title-name {
+					max-width: 40%;
+				}
+				.dl {
+					margin-left: 10rpx;
+					width: 93rpx;
+					height: 32rpx;
+					border-radius: 16rpx;
+					image {
+						width: 93rpx;
+						height: 32rpx;
+						border-radius: 16rpx;
+					}
+				}
+				.class {
+					display: inline-block;
+					margin-left: 10rpx;
+					padding: 6rpx;
+					text-align: center;
+					border: 1px solid #2e58ff;
+					border-radius: 16rpx;
+					font-size: 20rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #2e58ff;
+				}
 			}
 
 			.time {
@@ -430,5 +462,5 @@ page {
 		color: #db1935;
 		font-size: $font-lg;
 	}
-}
+}
 </style>

+ 5 - 8
pages/user/fuli.vue

@@ -4,22 +4,18 @@
 		<view class="zong flex">
 			<view class="info">
 				<view class="info-num">{{ USDL || '0' }}</view>
-				<view class="info-font">USDL</view>
+				<view class="info-font">拼团冻结积分</view>
 			</view>
 			<view class="info">
 				<view class="info-num">{{ lucky || '0' }}</view>
-				<view class="info-font">幸运值</view>
-			</view>
-			<view class="info">
-				<view class="info-num">{{ honor || '0' }}</view>
-				<view class="info-font">荣誉值</view>
+				<view class="info-font">拼团值</view>
 			</view>
 		</view>
 		<view class="rule">
 			<view class="rule-title">福利兑换规则</view>
 			<view class="rule-main">
-				每{{ list.sp_exchange_origin_cost * 1 }}{{ list.sp_exchange_origin }}+{{ list.sp_exchange_bingo_time }}幸运值可兑换{{ list.sp_exchange_target_get * 1
-				}}{{ list.sp_exchange_target }}+{{ list.sp_exchange_bingo_time }}荣誉值
+				每{{ list.sp_exchange_origin_cost * 1 }}{{ list.sp_exchange_origin }}+{{ list.sp_exchange_bingo_time }}拼团值可兑换{{ list.sp_exchange_target_get * 1
+				}}{{ list.sp_exchange_target }}
 			</view>
 		</view>
 		<view class="main-title">
@@ -140,6 +136,7 @@ page {
 	justify-content: space-between;
 	padding: 0rpx 36rpx;
 	.info {
+		width: 50%;
 		display: flex;
 		flex-direction: column;
 		align-items: center;

+ 4 - 0
pages/user/shareQrCode.vue

@@ -30,12 +30,16 @@ export default {
 	},
 	methods: {
 		spread(){
+			uni.showLoading({
+				title: '加载中'
+			});
 			let obj = this;
 			spreadBanner({
 				type:2
 			}).then(({ data }) => {
 				console.log(data)
 				obj.backImg = data[0].wap_poster;
+				uni.hideLoading();
 			});
 		},
 		bc_code(){

+ 13 - 11
pages/user/user.vue

@@ -4,15 +4,16 @@
 			<view class="bg"><image class="imgBg" src="../../static/user/img17.png" mode=""></image></view>
 			<view class="title">
 				<view class="header">
-					<view class="tx"><image src="../../static/error/missing-face.png" mode=""></image></view>
-					<view class="dl"><image src="../../static/user/jiedian1.png" mode=""></image></view>
+					<view class="tx"><image :src="userInfo.avatar|| '../../static/error/missing-face.png'" mode=""></image></view>
+					<view class="dl" v-if="userInfo.area_admin == 1"><image src="../../static/icon/qudai.png" mode=""></image></view>
+					<view class="dl" v-if="userInfo.area_admin == 2"><image src="../../static/icon/shidai.png" mode=""></image></view>
+					<view class="dl" v-if="userInfo.area_admin == 3"><image src="../../static/icon/shengdai.png" mode=""></image></view>
 				</view>
 				<view class="message">
 					<view class="name">{{ userInfo.nickname }}</view>
 					<view class="phone">{{ userInfo.phone }}</view>
 					<view class="vip-box">
 						<view class="vip">会员等级LV.{{ userInfo.level }}</view>
-						<view class="pintuan">拼团等级LV.2</view>
 					</view>
 				</view>
 			</view>
@@ -24,11 +25,6 @@
 					<view class="sweets-name">糖果</view>
 				</view>
 				<view class="jiange"></view>
-				<view class="sweets" @click="nav('/pages/money/integralP')">
-					<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.now_money*1 }}</view>
 					<view class="sweets-name">货款</view>
@@ -38,6 +34,11 @@
 					<view class="limit">{{userInfo.brokerage_price * 1}}</view>
 					<view class="sweets-name">佣金</view>
 				</view>
+				<view class="jiange"></view>
+				<view class="sweets" @click="nav('/pages/money/integralP')">
+					<view class="limit">{{ jf || 0 }}</view>
+					<view class="sweets-name">拼团积分</view>
+				</view>
 			</view>
 			<view class="my-order">
 				<view class="box-title flex ">
@@ -126,10 +127,10 @@
 					<view class="icon1 position-relative"><image class="icon-img" src="../../static/user/myFu.png" mode="aspectFit"></image></view>
 					<text>我的服务器</text>
 				</view>
-				<view class="order-item" @click="nav('/pages/index/info')" hover-class="common-hover" :hover-stay-time="50">
+				<!-- <view class="order-item" @click="nav('/pages/index/info')" hover-class="common-hover" :hover-stay-time="50">
 					<view class=" icon1 position-relative"><image class="icon-img" src="../../static/user/data.png" mode="aspectFit"></image></view>
 					<text>汇总数据</text>
-				</view>
+				</view> -->
 			</view>
 		</view>
 		<uni-popup ref="popup" type="center">
@@ -337,10 +338,11 @@ page,
 			.tx {
 				width: 132rpx;
 				height: 132rpx;
-
+				border-radius: 50%;
 				image {
 					width: 100%;
 					height: 100%;
+					border-radius: 50%;
 				}
 			}
 

BIN
static/icon/assent1.png


BIN
static/icon/assent2.png


BIN
static/icon/assent3.png


BIN
static/icon/assent4.png


BIN
static/icon/assent5.png


BIN
static/icon/assent6.png


BIN
static/icon/assent7.png


BIN
static/icon/assent8.png


BIN
static/icon/assent9.png


BIN
static/icon/qudai.png


BIN
static/icon/shengdai.png


BIN
static/icon/shidai.png


BIN
static/img/assets-bg.png


BIN
static/img/duhuanbg.png


BIN
static/img/log.png


BIN
static/img/myShang.png


BIN
static/img/myYong.png


BIN
static/img/phone.png


BIN
static/img/pwd.png


BIN
static/img/real_name.png


BIN
static/img/share-bg.png


BIN
unpackage/release/apk/__UNI__3CDE968__20210807124603.apk → static/img/start.gif


BIN
static/img/success.png


BIN
static/img/user-USDT.png


BIN
static/img/user-bg.png


BIN
static/img/user-dong.png


BIN
static/img/user-fil.png


BIN
static/img/user-ping.png


BIN
static/img/user-wallet.png


BIN
static/img/yan.png


BIN
static/img/zfpwd.png


BIN
static/img/zhuan.png


BIN
static/img/zhuanzhang-bg.png


BIN
static/user/jiedian1.png


BIN
unpackage/cache/apk/__UNI__3CDE968_cm.apk


+ 1 - 1
unpackage/cache/apk/apkurl

@@ -1 +1 @@
-https://service.dcloud.net.cn/build/download/cc3ea320-f739-11eb-acda-5b652b64987e
+https://ide.dcloud.net.cn/build/download/6f851180-4061-11ec-9699-fdd3d3388746

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
unpackage/cache/apk/cmManifestCache.json


BIN
unpackage/cache/wgt/__UNI__3CDE968/.manifest/appstore.png


BIN
unpackage/cache/wgt/__UNI__3CDE968/.manifest/icon-android-hdpi.png


Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott