Browse Source

2021-11-23

hwq 3 years ago
parent
commit
4cb5feaa47
50 changed files with 1315 additions and 432 deletions
  1. 0 7
      api/finance.js
  2. 9 0
      api/functionalUnit.js
  3. 46 0
      api/wallet.js
  4. 10 5
      manifest.json
  5. 12 0
      pages.json
  6. 15 6
      pages/conversion/candy.vue
  7. 1 1
      pages/conversion/transfers.vue
  8. 8 5
      pages/index/index.vue
  9. 47 15
      pages/index/sign.vue
  10. 10 7
      pages/market/details.vue
  11. 2 2
      pages/message/messageDetail.vue
  12. 2 2
      pages/money/award.vue
  13. 7 1
      pages/money/frozen.vue
  14. 47 40
      pages/money/huodai.vue
  15. 7 1
      pages/money/integralP.vue
  16. 7 1
      pages/money/integralShopping.vue
  17. 10 4
      pages/money/mallPoints.vue
  18. 48 5
      pages/money/pay.vue
  19. 186 81
      pages/money/phone.vue
  20. 23 12
      pages/money/publicPing.vue
  21. 38 25
      pages/money/publicW.vue
  22. 23 9
      pages/money/publicWelfare.vue
  23. 40 38
      pages/money/recharge.vue
  24. 34 25
      pages/money/wallet.vue
  25. 22 2
      pages/money/withdrawal.vue
  26. 342 0
      pages/money/withdrawalJF.vue
  27. 1 1
      pages/order/order.vue
  28. 4 1
      pages/order/orderRefund.vue
  29. 29 13
      pages/redirect/redirect.vue
  30. 157 0
      pages/set/phone.vue
  31. 14 14
      pages/set/userinfo.vue
  32. 17 4
      pages/user/about.vue
  33. 1 0
      pages/user/extension.vue
  34. 3 1
      pages/user/fuli.vue
  35. 1 1
      pages/user/user.vue
  36. 1 1
      store/index.js
  37. BIN
      unpackage/cache/apk/__UNI__3CDE968_cm.apk
  38. 1 1
      unpackage/cache/apk/apkurl
  39. 0 0
      unpackage/cache/apk/cmManifestCache.json
  40. 0 0
      unpackage/cache/wgt/__UNI__3CDE968/app-config-service.js
  41. 0 0
      unpackage/cache/wgt/__UNI__3CDE968/app-service.js
  42. 0 0
      unpackage/cache/wgt/__UNI__3CDE968/app-view.js
  43. 0 0
      unpackage/cache/wgt/__UNI__3CDE968/manifest.json
  44. 0 0
      unpackage/cache/wgt/__UNI__3CDE968/view.css
  45. 0 0
      unpackage/cache/wgt/__UNI__3CDE968/view.umd.min.js
  46. BIN
      unpackage/release/apk/__UNI__3CDE968__20211107121421.apk
  47. BIN
      unpackage/release/apk/__UNI__3CDE968__20211123084516.apk
  48. 1 1
      utils/request.js
  49. 60 100
      utils/wxAuthorized.js
  50. 29 0
      utils/wxMinProgram.js

+ 0 - 7
api/finance.js

@@ -40,13 +40,6 @@ export function moneyLog(data,code) {
 		data
 	});
 }
-export function cash(data) {
-	return request({
-		url: '/api/extract/cash',
-		method: 'POST',
-		data
-	});
-}
 export function shan(data) {
 	return request({
 		url: '/api/money/exchange',

+ 9 - 0
api/functionalUnit.js

@@ -64,3 +64,12 @@ export function signUser(data) {
 		data
 	});
 }
+
+// 签到配置
+export function signConfig(data) {
+	return request({
+		url:'/api/sign/config',
+		method:'get',
+		data
+	})
+}

+ 46 - 0
api/wallet.js

@@ -141,6 +141,15 @@ export function lalaprice(data) {
 	});
 }
 
+//充值金额
+export function moneyChong(data){
+	return request({
+		url:'/api/recharge/index',
+		method:'get',
+		data
+	})
+}
+
 // 钱包流水
 export function USDT(data) {
 	return request({
@@ -157,4 +166,41 @@ export function getWallet(data) {
 		method: 'get',
 		data
 	});
+}
+
+//充值话费接口
+export function getPhone(data) {
+	return request({
+		url:'/api/mobile_recharge/index',
+		method:'get',
+		data
+	})
+}
+
+// #ifdef H5
+// 公众号话费充值
+export function rechargePhoneWechat(data) {
+	return request({
+		url: '/api/mobile_recharge/wechat',
+		method: 'post',
+		data
+	});
+}
+// #endif
+// #ifdef APP-PLUS
+// App微信话费充值
+export function rechargePhontApp(data) {
+	return request({
+		url: '/api/mobile_recharge/app',
+		method: 'post',
+		data
+	});
+}
+// App支付宝话费充值
+export function rechargePhoneAli(data) {
+	return request({
+		url: '/api/mobile_recharge/ali',
+		method: 'post',
+		data
+	});
 }

+ 10 - 5
manifest.json

@@ -2,8 +2,8 @@
     "name" : "星拼乐",
     "appid" : "__UNI__3CDE968",
     "description" : "",
-    "versionName" : "1.4.1",
-    "versionCode" : 141,
+    "versionName" : "1.4.6",
+    "versionCode" : 146,
     "transformPx" : false,
     "app-plus" : {
         /* 5+App特有相关 */
@@ -55,6 +55,11 @@
                 "payment" : {
                     "alipay" : {
                         "__platform__" : [ "ios", "android" ]
+                    },
+                    "weixin" : {
+                        "__platform__" : [ "android" ],
+                        "appid" : "wx1333838b316023e5",
+                        "UniversalLinks" : ""
                     }
                 },
                 "push" : {},
@@ -130,16 +135,16 @@
         }
     },
     "h5" : {
-        "title" : "商城",
+        "title" : "星拼乐商城",
         "domain" : "",
         "router" : {
             "base" : "/index/",
-            "mode" : "history"
+            "mode" : "hash"
         },
         "devServer" : {
             "proxy" : {
                 "/api" : {
-                    "target" : "http://lala.frp.liuniu946.com/api",
+                    "target" : "https://xingpinle.liuniu946.com/api",
                     // "changeOrigin": true,
                     "pathRewrite" : {
                         "/api" : "" // rewrite path

+ 12 - 0
pages.json

@@ -53,6 +53,12 @@
 				"navigationBarTitleText": "添加银行卡"
 			}
 		},
+		{
+			"path": "pages/set/phone",
+			"style": {
+				"navigationBarTitleText": "绑定手机号或邮箱"
+			}
+		},
 		{
 			"path": "pages/index/faquan",
 			"style": {
@@ -650,6 +656,12 @@
 				"navigationBarTitleText": "提现"
 			}
 		},
+		{
+			"path": "pages/money/withdrawalJF",
+			"style": {
+				"navigationBarTitleText": "提现"
+			}
+		},
 		//糖果充值
 		{
 			"path": "pages/money/recharge",

+ 15 - 6
pages/conversion/candy.vue

@@ -2,12 +2,12 @@
 	<view class="center">
 		<view class="content-money">
 			<view class="buttom">
-				<text class="text">可兑换积分</text>
+				<text class="text">可兑换{{ type_name }}数量</text>
 				<view class="icon">{{ money }}</view>
 			</view>
 			<view class="interval"></view>
 			<view class="buttom">
-				<text class="text">申请兑换积分数量</text>
+				<text class="text">申请兑换{{ type_name }}数量</text>
 				<view class=" icon"><input class="input" type="number" v-model="withdrawal" placeholder="申请兑换积分数量" placeholder-class="placeholder" /></view>
 			</view>
 			<view class="interval"></view>
@@ -30,7 +30,7 @@
 </template>
 
 <script>
-import { wallet } from '@/api/finance.js';
+import { wallet,shan } from '@/api/finance.js';
 export default {
 	data(){
 		return{
@@ -40,6 +40,7 @@ export default {
 			all:'',
 			add:'',
 			type: '',
+			type_name:'',
 		}
 	},
 	computed: {
@@ -60,6 +61,7 @@ export default {
 			arr.forEach(e => {
 				if(e == obj.type){
 					obj.money = (data.back[e].money.money*1)
+					obj.type_name = data.back[e].name
 					obj.all = data.back[e]
 				}
 				if(e == 'LALA'){
@@ -76,12 +78,17 @@ export default {
 		buy(){
 			if (this.buying) {
 			
+				console.log(1)
 			} else {
+				if(this.withdrawal == 0 ){
+					this.$api.msg('提币数量不能为0')
+					return
+				}
 				this.buying = true
 				shan({
-					origin_money_type: this.moneyType[this.index].name,
-					money_type: this.add.name,
-					num: this.pushMoney,
+					origin_money_type: this.type,
+					money_type: this.add.code,
+					num: this.withdrawal,
 				}).then(({
 					data
 				}) => {
@@ -121,6 +128,8 @@ page,.center {
 		background: #E6E6E6;
 	}
 	.icon {
+		text-align: right;
+		width: 50%;
 		font-size: 48rpx;
 		font-family: SourceHanSansCN;
 		font-weight: 500;

+ 1 - 1
pages/conversion/transfers.vue

@@ -4,7 +4,7 @@
 			<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 class="top-font" v-if="types == 'USDC'">可转拼团积分</view>
 		</view>
 		<view class="main">
 			<view class="main-font">收款人账户</view>

+ 8 - 5
pages/index/index.vue

@@ -1,7 +1,9 @@
 <template>
 	<view class="center">
 		<view class="top">
+			<!-- #ifdef APP-PLUS -->
 			<view class="status_bar"><!-- 这里是状态栏 --></view>
+			<!-- #endif -->
 			<view class="top-bg"><image src="../../static/img/index-bg.png" mode=""></image></view>
 		</view>
 		<view class="carousel">
@@ -104,11 +106,11 @@ export default {
 					pic: '../../static/icon/index3.png',
 					url: '/pages/index/node'
 				},
-				{
-					name: '素材分享',
-					pic: '../../static/icon/index4.png',
-					url: '/pages/index/faquan'
-				},
+				// {
+				// 	name: '素材分享',
+				// 	pic: '../../static/icon/index4.png',
+				// 	url: '/pages/index/faquan'
+				// },
 				{
 					name: '邀请有礼',
 					pic: '../../static/icon/index5.png',
@@ -307,6 +309,7 @@ export default {
 	height: 300rpx;
 	border-radius: 14rpx;
 	margin: -180rpx auto 0;
+	margin-top: calc(-260rpx + var(--status-bar-height));
 	.bor {
 		border-radius: 14rpx;
 		.carousel-item {

+ 47 - 15
pages/index/sign.vue

@@ -11,17 +11,17 @@
 				<image class="sign-bg" src="../../static/img/sign-main.png" mode=""></image>
 				<view class="sign-font">{{ signTrue ? '已签到' : '签到' }}</view>
 			</view>
-			<view class="sign-tip">今日签到可得{{ today_integral }}购物积分</view>
+			<view class="sign-tip">{{ signTrue ? '明日' : '今日' }}签到可得{{ today_integral }}{{today_type}}</view>
 		</view>
 		<view class="nav">
 			<view class="nav-item">
-				<view class="num">{{ sum_integral }}</view>
-				<view class="font">获得金额</view>
+				<view class="num">{{ allSign }}</view>
+				<view class="font">签到天数</view>
 			</view>
 			<view class="xian"></view>
 			<view class="nav-item">
-				<view class="num">{{ allSign }}</view>
-				<view class="font">签到天数</view>
+				<view class="num">{{ actionDay }}</view>
+				<view class="font">连续签到天数</view>
 			</view>
 		</view>
 		<view class="rili"><calendar class="sign-date-box" :checks="signList" checksClass="" :checkTextShow="true"></calendar></view>
@@ -36,14 +36,14 @@
 			<view class="popup">
 				<view class="popup-dox"><image class="popup-logo" src="../../static/img/sign-popup.png"></image></view>
 				<view class="popup-title">
-					获得
+					获得
 					<text>{{ today_integral }}</text>
-					现金
+					{{today_type}}
 				</view>
 				<view class="popup-tip">
-					明天签到可得
-					<text>{{ today_integral }}</text>
-					现金
+					明天签到可得
+					<text>{{ tom_integral }}</text>
+					{{tom_type}}
 				</view>
 				<view class="popup-btn" @click="close">知道了</view>
 			</view>
@@ -55,7 +55,7 @@
 <script>
 import uniPopup from '@/components/uni-popup/uni-popup.vue';
 import calendar from '../../components/ss-calendar/ss-calendar.vue';
-import { signList, integral, signUser } from '@/api/functionalUnit.js';
+import { signList, integral, signUser, signConfig } from '@/api/functionalUnit.js';
 export default {
 	components: {
 		calendar,
@@ -71,11 +71,16 @@ export default {
 			allSign: 0, //累计签到
 			sum_integral: 0, //累计获得积分
 			today_integral:0,//今天签到可以获得积分
+			today_type:'',//今日签到的单位
+			tom_type:'',//明天签到可以获得积分
+			tom_integral:0,//明天签到可以获得积分
 			signTrue: false
 		};
 	},
-	onLoad() {
-		
+	onShow() {
+		uni.showLoading({
+			title: '加载中'
+		});
 		this.signUser();
 		this.getData();
 		this.loadList();
@@ -85,21 +90,47 @@ export default {
 		toBack() {
 			uni.navigateBack({});
 		},
+		signConfig(){
+			signConfig().then(({data}) =>{
+				let lun = data.length;
+				console.log(this.actionDay)
+				let index = (this.actionDay + 1) % lun;
+				console.log(index,lun)
+				if (index == 0){
+					this.today_integral = data[lun-1].sign_num;
+					this.today_type = data[lun-1].money_type
+					this.tom_integral = data[0].sign_num;
+					this.tom_type = data[0].money_type
+				}else {
+					this.today_integral = data[index-1].sign_num;
+					this.today_type = data[index-1].money_type
+					console.log(this.today_integral)
+					this.tom_integral = data[index].sign_num;
+					this.tom_type = data[index].money_type
+				}
+			})
+			uni.hideLoading();
+		},
 		integral() {
+			if(this.signTrue) {
+				this.$api.msg('今天您已经签到了!')
+				return
+			}
 			integral({})
 				.then(e => {
-					this.$refs.popup.open();
 					// 改为已签到
 					this.signTrue = true;
 					this.actionDay++;
 					// 保存签到成功
 					this.signList.push(this.day);
+					this.$refs.popup.open();
 				})
 				.catch(e => {
 					console.log(e);
 				});
 		},
 		close() {
+			this.signConfig();
 			this.$refs.popup.close();
 		},
 		// 获取签到列表
@@ -122,11 +153,11 @@ export default {
 					}
 				});
 				this.signList = arr;
+				console.log(arr,this.day,"123456789")
 				// 判断今天是否已经签到
 				if (arr[0] == this.day) {
 					this.signTrue = true;
 				}
-				uni.hideLoading();
 			});
 		}, // 获取当前时间
 		getData(current) {
@@ -146,6 +177,7 @@ export default {
 				this.allSign = data.sum_sgin_day; //累计签到天数
 				this.sum_integral = data.sum_integral; //累计总积分
 				this.today_integral = data.today_integral; //今日签到可以获得多少积分
+				this.signConfig();
 			});
 		}
 	}

+ 10 - 7
pages/market/details.vue

@@ -1,11 +1,13 @@
 <template>
 	<view class="center">
-		<!-- <view class="top"><image :src="list.logo" mode=""></image></view> -->
-		<swiper :autoplay="true" :interval="3000" :duration="1000" class="top" indicator-color="rgba(0, 0, 0, .2)" indicator-dots indicator-active-color="#fff">
-			<swiper-item v-for="item in list.imgs.split(',')">
-				<image :src="item" mode="">
-			</swiper-item>
-		</swiper>
+		<view v-if="list.imgs != null">
+			<swiper :autoplay="true" :interval="3000" :duration="1000" class="top" indicator-color="rgba(0, 0, 0, .2)" indicator-dots indicator-active-color="#fff">
+				<swiper-item v-for="item in list.imgs.split(',')">
+					<image :src="item" mode="">
+				</swiper-item>
+			</swiper>
+		</view>
+		<view class="top" v-else><image :src="list.logo" mode=""></image></view>
 		<view class="name-box">
 			<view class="price-box">
 				兑换价:
@@ -68,7 +70,8 @@ export default {
 	methods: {
 		async loadData() {
 			let obj = this;
-			miningDateils({}, obj.id).then(({ data }) => {
+			miningDateils({}, obj.id).then(({ data }) => {
+				console.log(data,"123456789")
 				obj.list = data;
 				// obj.money = obj.list.cost_money;
 				obj.price = obj.list.cost_money;

+ 2 - 2
pages/message/messageDetail.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="center">
 		<view class="message">
-			<view class="item" v-for="l in list" @click="look(l.cate_id)">
+			<view class="item" v-for="l in list">
 				<view class="img"><image :src="type.image" mode=""></image></view>
 				<view class="right">
 					<view class="top">
@@ -9,7 +9,7 @@
 						<view class="time">{{ l.add_time }}</view>
 					</view>
 					<view class="bottom">
-						<view class="concent clamp2">{{ l.detail }}</view>
+						<view class="concent">{{ l.detail }}</view>
 						<view class="icon" v-show="l.unwatch_message > 0"></view>
 					</view>
 				</view>

+ 2 - 2
pages/money/award.vue

@@ -107,7 +107,7 @@ export default {
 			console.log(arr);
 			arr.forEach(e => {
 				if(e == 'LALA'){
-					obj.money = (data.back[e].money.money*1).toFixed(0)
+					obj.money = (data.back[e].money.money*1)
 				}
 			});
 		});
@@ -310,9 +310,9 @@ page {
 			}
 		}
 		.money {
-			text-align: right;
 			color: #fd5b23;
 			font-size: $font-lg;
+			text-align: right;
 			.status {
 				color: $font-color-light;
 				color: $font-color-light - 2rpx;

+ 7 - 1
pages/money/frozen.vue

@@ -35,7 +35,8 @@
 							</view>
 						</view>
 						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+							<view>{{ (item.pm == 0 ? '-' : '+') + item.number * 1 }}</view>
+							<view v-if="item.status == 0" class="status">待发放</view>
 						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
@@ -381,6 +382,11 @@ page {
 		.money {
 			color: #fd5b23;
 			font-size: $font-lg;
+			text-align: right;
+			.status {
+				color: $font-color-light;
+				color: $font-color-light - 2rpx;
+			}
 		}
 	}
 }

+ 47 - 40
pages/money/huodai.vue

@@ -2,26 +2,27 @@
 	<view class="content">
 		<view class="row-box">
 			<view class="money-box">
-				<view class="money">{{  userInfo.now_money*1 }}</view>
+				<view class="money">{{ userInfo.now_money * 1 }}</view>
 				<view class="money-text">我的货款</view>
 			</view>
 			<!-- <view class="chong">充值记录</view> -->
 		</view>
 		<view class="main-box">
 			<view class="main-top flex">
-				<view @click="change(item)" class="main-item" v-for="(item, index) in numList" :class="{check: money === item}" :key="index">
+				<view @click="change(item)" class="main-item" v-for="(item, index) in numList" :class="{ check: money === item }" :key="index">
 					<view class="item-top">
 						<view class="bg"><image src="../../static/icon/candy.png" mode=""></image></view>
-						<view class="item-name" :class="{checks: money === item}">{{ item }}货款</view>
+						<view class="item-name" :class="{ checks: money === item.price }">{{ item.price * 1 }}货款</view>
 					</view>
-					<view class="item-price" :class="{checks: money === item}">
+					<view class="item-price" :class="{ checks: money === item.price }">
-						<text>{{ item }}元</text>
+						<text>{{ item.price * 1 }}元</text>
 					</view>
 				</view>
 			</view>
 			<view class="list">
 				<radio-group @change="tabRadio">
+					<!-- #ifdef APP-PLUS -->
 					<label>
 						<view class="box">
 							<view class="icon iconfont iconzhifubao"></view>
@@ -31,6 +32,7 @@
 							<view class="right"><radio value="ali" color="#EB001C" :checked="type == 'ali'" /></view>
 						</view>
 					</label>
+					<!-- #endif -->
 					<label>
 						<view class="box">
 							<view class="icon iconfont iconweixin1"></view>
@@ -50,41 +52,46 @@
 <script>
 import { wallet } from '@/api/finance.js';
 // #ifdef H5
-import { rechargeWechat } from '@/api/wallet.js';
+import { rechargeWechat, moneyChong } from '@/api/wallet.js';
 // #endif
 // #ifdef MP
-import { rechargeRoutine } from '@/api/wallet.js';
+import { rechargeRoutine, moneyChong } from '@/api/wallet.js';
 // #endif
 // #ifdef APP-PLUS
-import { rechargeApp,rechargeAli } from '@/api/wallet.js';
+import { rechargeApp, rechargeAli, moneyChong } from '@/api/wallet.js';
 // #endif
 import { mapState } from 'vuex';
 export default {
 	filters: {
 		rule(i) {
-			console.log(i)
-			let j = (Math.floor(i*100)) / 100
-			return j
+			console.log(i);
+			let j = Math.floor(i * 100) / 100;
+			return j;
 		}
 	},
 	data() {
 		return {
 			type: 'weixin',
-			numList: ['10', '20', '50', '80', '100', '200'],
+			numList: [],
 			money: 10, //充值金额
 			payLoding: false, //是否加载中
 			myMoney: 0, //我的糖果数
-			all:'',//糖果的具体情况
+			all: '' //糖果的具体情况
 		};
 	},
 	onLoad(options) {
+		moneyChong({}).then(({ data }) => {
+			this.numList = data.recharge_quota;
+			this.money = data.recharge_quota[0].price;
+			console.log(data);
+		});
 		wallet({}).then(({ data }) => {
-			const obj = this
+			const obj = this;
 			const arr = Object.keys(data.back);
 			arr.forEach(e => {
-				if(e == 'LALA'){
-					obj.myMoney = (data.back[e].money.money*1).toFixed(0);
-					obj.all = data.back[e]
+				if (e == 'LALA') {
+					obj.myMoney = (data.back[e].money.money * 1).toFixed(0);
+					obj.all = data.back[e];
 				}
 			});
 		});
@@ -102,8 +109,8 @@ export default {
 				url: url
 			});
 		},
-		change(item){
-			this.money = item
+		change(item) {
+			this.money = item.price;
 		},
 		// 切换选中对象
 		tabRadio(e) {
@@ -113,7 +120,7 @@ export default {
 		confirm() {
 			let obj = this;
 			obj.payLoding = true;
-			console.log(this.money)
+			console.log(this.money);
 			// #ifdef H5
 			rechargeWechat({ price: this.money, from: this.type })
 				.then(e => {
@@ -164,39 +171,39 @@ export default {
 				});
 			// #endif
 			// #ifdef APP-PLUS
-			if(this.type == 'weixin'){
+			if (this.type == 'weixin') {
 				rechargeApp({ price: this.money })
 					.then(e => {
 						let da = e.data;
 						let data = {
-							appid:da.appid,
+							appid: da.appid,
 							noncestr: da.noncestr,
 							package: da.package,
-							partnerid:da.partnerid,
-							prepayid:da.prepayid,
+							partnerid: da.partnerid,
+							prepayid: da.prepayid,
 							timestamp: da.timestamp,
-							sign:da.sign
+							sign: da.sign
 						};
 						uni.requestPayment({
 							provider: 'wxpay',
 							orderInfo: data,
 							success(res) {
-								console.log(res)
+								console.log(res);
 							},
 							fail(res) {
-								console.log("微信掉起失败")
-								console.log(res,'失败')
+								console.log('微信掉起失败');
+								console.log(res, '失败');
 							}
-						})
-				
+						});
+
 						obj.payLoding = false;
 					})
 					.catch(e => {
 						obj.payLoding = false;
 						console.log(e);
-				});
-			}else {
-				rechargeAli({ price: this.money }).then(e =>{
+					});
+			} else {
+				rechargeAli({ price: this.money }).then(e => {
 					console.log(e, 'url');
 					const url = e.msg;
 					uni.requestPayment({
@@ -215,7 +222,7 @@ export default {
 						complete: () => {}
 					});
 					obj.payLoding = false;
-				})
+				});
 			}
 			// #endif
 		},
@@ -321,15 +328,15 @@ page {
 	padding-top: 46rpx;
 	.main-top {
 		flex-wrap: wrap;
-		justify-content: space-around;
+		justify-content: flex-start;
 		align-items: center;
 		.check {
-			background: #FFF6F6 !important;
-			border: 1px solid #D7272B;
+			background: #fff6f6 !important;
+			border: 1px solid #d7272b;
 		}
 		.main-item {
 			text-align: center;
-			margin-top: 30rpx;
+			margin: 30rpx 14rpx 0;
 			width: 220rpx;
 			background: #ffffff;
 			box-shadow: 0px 2rpx 20rpx 0px rgba(215, 39, 43, 0.12);
@@ -354,8 +361,8 @@ page {
 					color: #333333;
 				}
 			}
-			.checks{
-				color: #D7272B !important;
+			.checks {
+				color: #d7272b !important;
 			}
 			.item-price {
 				padding-top: 14rpx;

+ 7 - 1
pages/money/integralP.vue

@@ -34,7 +34,8 @@
 							</view>
 						</view>
 						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+							<view>{{ (item.pm == 0 ? '-' : '+') + item.number * 1 }}</view>
+							<view v-if="item.status == 0" class="status">待发放</view>
 						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
@@ -366,6 +367,11 @@ page {
 		.money {
 			color: #fd5b23;
 			font-size: $font-lg;
+			text-align: right;
+			.status {
+				color: $font-color-light;
+				color: $font-color-light - 2rpx;
+			}
 		}
 	}
 }

+ 7 - 1
pages/money/integralShopping.vue

@@ -29,7 +29,8 @@
 							</view>
 						</view>
 						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+							<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
+							<view v-if="item.status == 0" class="status">待发放</view>
 						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
@@ -356,6 +357,11 @@ page {
 		.money {
 			color: #fd5b23;
 			font-size: $font-lg;
+			text-align: right;
+			.status {
+				color: $font-color-light;
+				color: $font-color-light - 2rpx;
+			}
 		}
 	}
 }

+ 10 - 4
pages/money/mallPoints.vue

@@ -31,7 +31,8 @@
 							</view>
 						</view>
 						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+							<view>{{ (item.pm == 0 ? '-' : '+') + item.number * 1 }}</view>
+							<view v-if="item.status == 0" class="status">待发放</view>
 						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
@@ -131,9 +132,9 @@ export default {
 				'SCJF'
 			)
 				.then(({ data }) => {
-					if (data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
-						console.log(navItem.orderList);
+						console.log(data,"数据");
+					if (data.count > 0) {
+						navItem.orderList = navItem.orderList.concat(data.list);
 						navItem.page++;
 					}
 					//判断是否还有数据, 有改为more, 没有改为noMore
@@ -296,6 +297,11 @@ page {
 		.money {
 			color: #EF3A55;
 			font-size: $font-lg + 5rpx;
+			text-align: right;
+			.status {
+				color: $font-color-light;
+				color: $font-color-light - 2rpx;
+			}
 		}
 	}
 }

+ 48 - 5
pages/money/pay.vue

@@ -24,7 +24,7 @@
 				<text class="icon iconfont iconyue"></text>
 				<view class="con">
 					<text class="tit">货款支付</text>
-					<text>可用货款 ¥{{ (now_money * 1) || userInfo.now_money}}</text>
+					<text>可用货款 ¥{{ now_money * 1 || userInfo.now_money }}</text>
 				</view>
 				<label class="radio"><radio value="" color="#5dbc7c" :checked="payType == 3"></radio></label>
 			</view>
@@ -52,7 +52,7 @@ export default {
 			//#endif
 			orderInfo: {},
 			money: 0.0, //订单金额
-			now_money:'',//余额
+			now_money: '', //余额
 			orderKey: '',
 			orderId: '', //保存订单id
 			payLoding: false, //判断是否支付中
@@ -140,6 +140,42 @@ export default {
 							obj.$api.msg(msg);
 						}
 					}
+					//#ifndef APP-PLUS
+					if (obj.payName == 'weixin' || obj.payName == 'routine') {
+						let da = e.data.result.jsConfig;
+						let data = {
+							// #ifdef H5
+							timestamp: da.timestamp,
+							// #endif
+							// #ifdef MP
+							timeStamp: da.timestamp,
+							// #endif
+							nonceStr: da.nonceStr,
+							package: da.package,
+							signType: da.signType,
+							paySign: da.paySign,
+							success: function(res) {
+								obj.paySuccessTo();
+							},
+							fail: () => {
+								uni.navigateTo({
+									url: '/pages/order/order?state=0'
+								});
+							}
+						};
+						// #ifdef H5
+						if (obj.payName == 'weixin') {
+							obj.weichatObj.chooseWXPay(data);
+						}
+						// #endif
+						// #ifdef MP-WEIXIN
+						if (obj.payName == 'routine') {
+							wx.requestPayment(data);
+						}
+						// #endif
+					}
+					//#endif
+					//#ifdef APP-PLUS
 					if (obj.payName == 'weixin' || obj.payName == 'routine') {
 						let da = e.data.result.jsConfig;
 						console.log('--da--', da);
@@ -158,6 +194,11 @@ export default {
 							orderInfo: data,
 							success(res) {
 								console.log(res);
+								uni.showToast({
+									title: '支付成功',
+									duration: 2000
+								});
+								obj.paySuccessTo();
 							},
 							fail(res) {
 								console.log(res, '失败');
@@ -176,6 +217,7 @@ export default {
 									title: '支付成功',
 									duration: 2000
 								});
+								obj.paySuccessTo();
 							},
 							fail: e => {
 								console.log(e);
@@ -184,6 +226,7 @@ export default {
 						});
 						obj.payLoding = false;
 					}
+					//#endif
 					uni.hideLoading();
 					obj.payLoding = false;
 				})
@@ -209,7 +252,7 @@ export default {
 				mask: true
 			});
 			// 判断是否余额不足
-			console.log(obj.money,+obj.now_money)
+			console.log(obj.money, +obj.now_money);
 			if (obj.payName == 'yue' && +obj.money > +obj.now_money) {
 				uni.showModal({
 					title: '提示',
@@ -241,7 +284,7 @@ export default {
 			let obj = this;
 			// 获取下单页面数据
 			let prepage = obj.$api.prePage();
-			console.log(obj.payName,'123456789')
+			console.log(obj.payName, '123456789');
 			let data = {
 				real_name: prepage.addressData.real_name, //联系人名称
 				phone: prepage.addressData.phone, //联系人号码
@@ -296,7 +339,7 @@ export default {
 				.catch(e => {
 					uni.hideLoading();
 					obj.payLoding = false;
-					console.log(e,"789456423");
+					console.log(e, '789456423');
 				});
 		}
 	}

+ 186 - 81
pages/money/phone.vue

@@ -15,9 +15,9 @@
 		<view class="main-box">
 			<view class="main-title">请选择充值套餐</view>
 			<view class="main">
-				<view class="main-item" v-for="(item, index) in moneyList" :class="{ current: money === item.price }" :key="index" @click="change(item.price)">
+				<view class="main-item" v-for="(item, index) in moneyList" :class="{ current: id === item.id }" :key="index" @click="change(item)">
 					<view class="num">
-						{{ item.money }}
+						{{ item.get_money }}
 						<text>元</text>
 					</view>
 					<view class="yuan">售价{{ item.price }}元</view>
@@ -32,73 +32,181 @@
 				</view>
 			</view>
 		</view>
-		<view class="explain">
+		<view class="list">
+			<radio-group @change="tabRadio">
+				<!-- #ifdef APP-PLUS -->
+				<label>
+					<view class="box">
+						<view class="icon iconfont iconzhifubao"></view>
+						<view class="title-box">
+							<view class="title"><text>支付宝充值</text></view>
+						</view>
+						<view class="right"><radio value="ali" color="#EB001C" :checked="type == 'ali'" /></view>
+					</view>
+				</label>
+				<!-- #endif -->
+				<label>
+					<view class="box">
+						<view class="icon iconfont iconweixin1"></view>
+						<view class="title-box">
+							<view class="title"><text>微信充值</text></view>
+						</view>
+						<view class="right"><radio value="weixin" color=" #EB001C" :checked="type == 'weixin'" /></view>
+					</view>
+				</label>
+			</radio-group>
+		</view>
+		<!-- <view class="explain">
 			<view class="explain-left">
 				充值说明
 			</view>
 			<view class="explain-right">
 			</view>
-		</view>
-		<view class="btn">
+		</view> -->
+		<view class="btn" @click="!payLoding ? confirm() : ''">
 			立即充值
 		</view>
 	</view>
 </template>
 
 <script>
+// #ifdef H5
+import { rechargePhoneWechat, getPhone } from '@/api/wallet.js';
+// #endif
+// #ifdef APP-PLUS
+import { rechargePhontApp, rechargePhoneAli, getPhone } from '@/api/wallet.js';
+// #endif
+import { mapState } from 'vuex';
 export default {
 	data() {
 		return {
 			phone: '',
-			money: 9.9,
-			moneyList: [
-				{
-					money: 10,
-					price: 9.9
-				},
-				{
-					money: 20,
-					price: 19.9
-				},
-				{
-					money: 30,
-					price: 29.9
-				},
-				{
-					money: 50,
-					price: 49.9
-				},
-				{
-					money: 100,
-					price: 99.9
-				},
-				{
-					money: 200,
-					price: 199.9
-				},
-				{
-					money: 300,
-					price: 299.9
-				},
-				{
-					money: 500,
-					price: 499.9
-				},
-				{
-					money: 1000,
-					price: 999.9
-				}
-			]
+			id: '',
+			money:'',
+			payLoding: false, //是否加载中
+			type: 'weixin',
+			moneyList: []
 		};
 	},
+	onLoad() {
+		this.loadData();
+	},
+	computed: {
+		// #ifdef H5
+		...mapState(['weichatObj']),
+		// #endif
+	},
 	methods: {
 		// 点击返回 我的页面
 		toBack() {
 			uni.navigateBack({});
 		},
+		loadData() {
+			getPhone({}).then(({data}) =>{
+				this.moneyList = data.recharge_quota;
+				this.id = data.recharge_quota[0].id;
+				this.money = data.recharge_quota[0].get_money;
+				console.log(data);
+			})
+		},
 		change(money){
-			this.money = money
-		}
+			this.money = money.get_money;
+			this.id = money.id;
+		},
+		// 切换选中对象
+		tabRadio(e) {
+			this.type = e;
+		},
+		confirm() {
+			let obj = this;
+			if(obj.phone == ''){
+				obj.$api.msg("请填写要充值的号码")
+				return;
+			}
+			obj.payLoding = true;
+			// #ifdef H5
+			rechargePhoneWechat({ rechar_id: this.id, mobile: this.phone })
+				.then(e => {
+					let da = e.data.data;
+					obj.weichatObj.chooseWXPay({
+						timestamp: da.timestamp,
+						nonceStr: da.nonceStr,
+						package: da.package,
+						signType: da.signType,
+						paySign: da.paySign,
+						success: function(res) {
+							uni.showToast({
+								title: '充值成功',
+								duration: 2000,
+								position: 'top'
+							});
+						}
+					});
+					obj.payLoding = false;
+				})
+				.catch(e => {
+					obj.payLoding = false;
+					console.log(e);
+				});
+			// #endif
+			// #ifdef APP-PLUS
+			if (this.type == 'weixin') {
+				rechargePhontApp({ rechar_id: this.id, mobile: this.phone })
+					.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 {
+				rechargePhoneAli({ rechar_id: this.id, mobile: this.phone }).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;
+				}).catch(e =>{
+					obj.payLoding = false;
+				});
+			}
+			// #endif
+		},
 	}
 };
 </script>
@@ -263,41 +371,38 @@ page,.center {
 		}
 	}
 }
-.explain {
-	margin: 20rpx auto 0;
-	padding: 24rpx 28rpx;
-	display: flex;
-	align-items: center;
-	justify-content: space-between;
-	width: 694rpx;
-	background: #FFFFFF;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	.explain-left {
-		font-size: 28rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #333333;
-	}
-	.explain-right {
-		position: relative;
-		bottom: 14rpx;
-		right: 28rpx;
-	}
-	.explain-right:after,.explain-right:before {
-	  border: 12rpx solid transparent;
-	  border-left: 12rpx solid #fff;
-	  width: 0;
-	  height: 0;
-	  position: absolute;
-	  top: 0;
-	  right: -20px;
-	  content: ' ';
-	}
-	
-	.explain-right:before {
-	  border-left-color: #333333;
-	  right: -21px;
+.list {
+	padding-left: 30rpx;
+	margin-top: 30rpx;
+	background-color: #ffffff;
+	.box {
+		display: flex;
+		align-items: center;
+		width: 100%;
+		height: 120rpx;
+		border-bottom: 1px solid $border-color-light;
+		.icon {
+			font-size: 48rpx;
+			padding-right: 20rpx;
+		}
+		.iconweixin1 {
+			color: #18bf16;
+		}
+		.iconzhifubao {
+			color: #08aaec;
+		}
+		.title-box {
+			flex-grow: 1;
+			text-align: left;
+			.title {
+				font-size: $font-base + 2rpx;
+				color: $font-color-base;
+			}
+			.node {
+				font-size: $font-sm;
+				color: $font-color-light;
+			}
+		}
 	}
 }
 .btn {

+ 23 - 12
pages/money/publicPing.vue

@@ -21,23 +21,29 @@
 					<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="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="time">
-								<text>{{ item.add_time }}</text>
+							<view class="money">
+								<view>{{ (item.pm == 0 ? '-' : '+') + item.number * 1 }}</view>
+								<view v-if="item.status == 0" class="status">待发放</view>
 							</view>
 						</view>
-						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
-						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
+		<view class="btn-box" @click="navto('/pages/money/withdrawalJF?type=USDT')">
+			提现
+		</view>
 		<uni-popup ref="popup" type="center">
 			<view class="popup-box">
 				<view class="popup-title">转赠规则</view>
@@ -54,9 +60,6 @@
 			</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>
 
@@ -364,6 +367,9 @@ page {
 //列表
 
 .swiper-box {
+	.order-item:last-child {
+		margin-bottom: 60rpx;
+	}
 	.order-item {
 		padding: 20rpx 30rpx;
 		line-height: 1.5;
@@ -380,6 +386,11 @@ page {
 		.money {
 			color: #fd5b23;
 			font-size: $font-lg;
+			text-align: right;
+			.status {
+				color: $font-color-light;
+				color: $font-color-light - 2rpx;
+			}
 		}
 	}
 }

+ 38 - 25
pages/money/publicW.vue

@@ -1,13 +1,15 @@
 <template>
 	<view class="content">
 		<view class="content-money">
-		<view class="status_bar"><!-- 这里是状态栏 --></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/user-fil.png" mode=""></image></view>
-			<view class="money-box"><view class="money">{{ integral || 0 }}</view></view>
+			<view class="money-box">
+				<view class="money">{{ integral || 0 }}</view>
+			</view>
 			<!-- <view class="value">公益奖励:200</view> -->
 			<!-- <view class="rule" @click="open()">转赠规则</view> -->
 		</view>
@@ -21,23 +23,29 @@
 					<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="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="time">
-								<text>{{ item.add_time }}</text>
+							<view class="money">
+								<view>{{ (item.pm == 0 ? '-' : '+') + item.number * 1 }}</view>
+								<view v-if="item.status == 0" class="status">待发放</view>
 							</view>
 						</view>
-						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
-						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
+		<view class="btn-box" @click="navto('/pages/money/withdrawalJF?type=FIL')">
+			提现
+		</view>
 		<uni-popup ref="popup" type="center">
 			<view class="popup-box">
 				<view class="popup-title">转赠规则</view>
@@ -54,9 +62,6 @@
 			</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>
 
@@ -88,7 +93,7 @@ export default {
 	},
 	data() {
 		return {
-			integral: 0,//我的积分
+			integral: 0, //我的积分
 			// 头部图高度
 			maxheight: '',
 			tabCurrentIndex: 0,
@@ -109,18 +114,18 @@ export default {
 					page: 1, //当前页面
 					limit: 10 //每次信息条数
 				}
-			],
+			]
 		};
 	},
 	onLoad(options) {},
 	onShow() {
 		wallet({}).then(({ data }) => {
-			const obj = this
+			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)
+				if (e == 'FIL') {
+					obj.integral = data.back[e].money.money * 1;
 				}
 			});
 		});
@@ -156,7 +161,7 @@ export default {
 				{
 					page: navItem.page,
 					limit: navItem.limit,
-					pm:navItem.state
+					pm: navItem.state
 				},
 				'FIL'
 			)
@@ -194,7 +199,7 @@ export default {
 		},
 		close() {
 			this.$refs.popup.close();
-		},
+		}
 	}
 };
 </script>
@@ -254,7 +259,7 @@ page {
 			display: flex;
 			align-items: center;
 		}
-		
+
 		.goback {
 			z-index: 100;
 			width: 34rpx;
@@ -364,6 +369,9 @@ page {
 //列表
 
 .swiper-box {
+	.order-item:last-child {
+		margin-bottom: 60rpx;
+	}
 	.order-item {
 		padding: 20rpx 30rpx;
 		line-height: 1.5;
@@ -380,6 +388,11 @@ page {
 		.money {
 			color: #fd5b23;
 			font-size: $font-lg;
+			text-align: right;
+			.status {
+				color: $font-color-light;
+				color: $font-color-light - 2rpx;
+			}
 		}
 	}
 }
@@ -394,7 +407,7 @@ page {
 	}
 }
 .popup-box {
-	background: #FFFFFF;
+	background: #ffffff;
 	border-radius: 10rpx;
 	width: 580rpx;
 	padding: 43rpx 60rpx 56rpx 34rpx;
@@ -437,12 +450,12 @@ page {
 .btn-box {
 	width: 674rpx;
 	height: 88rpx;
-	background: linear-gradient(0deg, #2E58FF, #32C6FF);
+	background: linear-gradient(0deg, #2e58ff, #32c6ff);
 	border-radius: 44rpx;
 	font-size: 36rpx;
 	font-family: PingFang SC;
 	font-weight: 500;
-	color: #FFFFFF;
+	color: #ffffff;
 	text-align: center;
 	line-height: 88rpx;
 	position: fixed;

+ 23 - 9
pages/money/publicWelfare.vue

@@ -21,23 +21,29 @@
 					<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 class="">
+						<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="time">
-								<text>{{ item.add_time }}</text>
+							<view class="money">
+								<view>{{ (item.pm == 0 ? '-' : '+') + item.number * 1 }}</view>
+								<view v-if="item.status == 0" class="status">待发放</view>
 							</view>
 						</view>
-						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
-						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
+		<view class="btn-box" @click="navto('/pages/money/withdrawalJF?type=GYJF')">
+			提现
+		</view>
 		<uni-popup ref="popup" type="center">
 			<view class="popup-box">
 				<view class="popup-title">转赠规则</view>
@@ -364,6 +370,9 @@ page {
 //列表
 
 .swiper-box {
+	.order-item:last-child {
+		margin-bottom: 60rpx;
+	}
 	.order-item {
 		padding: 20rpx 30rpx;
 		line-height: 1.5;
@@ -380,6 +389,11 @@ page {
 		.money {
 			color: #fd5b23;
 			font-size: $font-lg;
+			text-align: right;
+			.status {
+				color: $font-color-light;
+				color: $font-color-light - 2rpx;
+			}
 		}
 	}
 }

+ 40 - 38
pages/money/recharge.vue

@@ -9,12 +9,12 @@
 		</view>
 		<view class="main-box">
 			<view class="main-top flex">
-				<view @click="change(item)" class="main-item" v-for="(item, index) in numList" :class="{check: money === item}" :key="index">
+				<view @click="change(item)" class="main-item" v-for="(item, index) in numList" :class="{ check: money === item }" :key="index">
 					<view class="item-top">
 						<view class="bg"><image src="../../static/icon/candy.png" mode=""></image></view>
-						<view class="item-name" :class="{checks: money === item}">{{ (item / all.rmb_price) * 1 | rule }}糖果</view>
+						<view class="item-name" :class="{ checks: money === item }">{{ ((item / all.rmb_price) * 1) | rule }}糖果</view>
 					</view>
-					<view class="item-price" :class="{checks: money === item}">
+					<view class="item-price" :class="{ checks: money === item }">
 						<text>{{ item }}元</text>
 					</view>
@@ -22,6 +22,7 @@
 			</view>
 			<view class="list">
 				<radio-group @change="tabRadio">
+					<!-- #ifdef APP-PLUS -->
 					<label>
 						<view class="box">
 							<view class="icon iconfont iconzhifubao"></view>
@@ -31,6 +32,7 @@
 							<view class="right"><radio value="ali" color="#EB001C" :checked="type == 'ali'" /></view>
 						</view>
 					</label>
+					<!-- #endif -->
 					<label>
 						<view class="box">
 							<view class="icon iconfont iconweixin1"></view>
@@ -56,15 +58,15 @@ import { rechargeWechat } from '@/api/wallet.js';
 import { rechargeRoutine } from '@/api/wallet.js';
 // #endif
 // #ifdef APP-PLUS
-import { rechargeApp,rechargeAli } from '@/api/wallet.js';
+import { rechargeApp, rechargeAli } from '@/api/wallet.js';
 // #endif
 import { mapState } from 'vuex';
 export default {
 	filters: {
 		rule(i) {
-			console.log(i)
-			let j = (Math.floor(i*100)) / 100
-			return j
+			console.log(i);
+			let j = Math.floor(i * 100) / 100;
+			return j;
 		}
 	},
 	data() {
@@ -74,24 +76,24 @@ export default {
 			money: 10, //充值金额
 			payLoding: false, //是否加载中
 			myMoney: 0, //我的糖果数
-			all:'',//糖果的具体情况
+			all: '' //糖果的具体情况
 		};
 	},
 	onLoad(options) {
 		wallet({}).then(({ data }) => {
-			const obj = this
+			const obj = this;
 			const arr = Object.keys(data.back);
 			arr.forEach(e => {
-				if(e == 'LALA'){
-					obj.myMoney = (data.back[e].money.money*1).toFixed(0);
-					obj.all = data.back[e]
+				if (e == 'LALA') {
+					obj.myMoney = data.back[e].money.money * 1;
+					obj.all = data.back[e];
 				}
 			});
 		});
 	},
 	computed: {
 		// #ifdef H5
-		...mapState(['weichatObj']),
+		...mapState(['weichatObj'])
 		// #endif
 	},
 	methods: {
@@ -101,21 +103,21 @@ export default {
 				url: url
 			});
 		},
-		change(item){
-			this.money = item
+		change(item) {
+			this.money = item;
 		},
 		// 切换选中对象
 		tabRadio(e) {
 			this.type = e.detail.value;
-			console.log(this.type,'选择支付方式')
+			console.log(this.type, '选择支付方式');
 		},
 		// 提交
 		confirm() {
 			let obj = this;
 			obj.payLoding = true;
-			console.log(this.money)
+			console.log(this.money);
 			// #ifdef H5
-			rechargeWechat({ price: this.money, from: this.type,get_money_type:'LALA' })
+			rechargeWechat({ price: this.money, from: this.type, get_money_type: 'LALA' })
 				.then(e => {
 					let da = e.data.data;
 					obj.weichatObj.chooseWXPay({
@@ -140,7 +142,7 @@ export default {
 				});
 			// #endif
 			// #ifdef MP
-			rechargeRoutine({ price: this.money })
+			rechargeRoutine({ price: this.money, get_money_type: 'LALA' })
 				.then(e => {
 					let da = e.data;
 					wx.requestPayment({
@@ -164,39 +166,39 @@ export default {
 				});
 			// #endif
 			// #ifdef APP-PLUS
-			if(this.type == 'weixin'){
-				rechargeApp({ price: this.money })
+			if (this.type == 'weixin') {
+				rechargeApp({ price: this.money, get_money_type: 'LALA' })
 					.then(e => {
 						let da = e.data;
 						let data = {
-							appid:da.appid,
+							appid: da.appid,
 							noncestr: da.noncestr,
 							package: da.package,
-							partnerid:da.partnerid,
-							prepayid:da.prepayid,
+							partnerid: da.partnerid,
+							prepayid: da.prepayid,
 							timestamp: da.timestamp,
-							sign:da.sign
+							sign: da.sign
 						};
 						uni.requestPayment({
 							provider: 'wxpay',
 							orderInfo: data,
 							success(res) {
-								console.log(res)
+								console.log(res);
 							},
 							fail(res) {
-								console.log("微信掉起失败")
-								console.log(res,'失败')
+								console.log('微信掉起失败');
+								console.log(res, '失败');
 							}
-						})
-				
+						});
+
 						obj.payLoding = false;
 					})
 					.catch(e => {
 						obj.payLoding = false;
 						console.log(e);
-				});
-			}else {
-				rechargeAli({ price: this.money }).then(e =>{
+					});
+			} else {
+				rechargeAli({ price: this.money, get_money_type: 'LALA' }).then(e => {
 					console.log(e, 'url');
 					const url = e.msg;
 					uni.requestPayment({
@@ -215,7 +217,7 @@ export default {
 						complete: () => {}
 					});
 					obj.payLoding = false;
-				})
+				});
 			}
 			// #endif
 		},
@@ -324,8 +326,8 @@ page {
 		justify-content: space-around;
 		align-items: center;
 		.check {
-			background: #FFF6F6 !important;
-			border: 1px solid #D7272B;
+			background: #fff6f6 !important;
+			border: 1px solid #d7272b;
 		}
 		.main-item {
 			text-align: center;
@@ -354,8 +356,8 @@ page {
 					color: #333333;
 				}
 			}
-			.checks{
-				color: #D7272B !important;
+			.checks {
+				color: #d7272b !important;
 			}
 			.item-price {
 				padding-top: 14rpx;

+ 34 - 25
pages/money/wallet.vue

@@ -1,14 +1,17 @@
 <template>
 	<view class="content">
 		<view class="content-money">
-		<view class="status_bar"><!-- 这里是状态栏 --></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/myYong.png" mode=""></image></view>
 			<view class="money-box">
-				<view class="money"><text>¥</text>{{userInfo.brokerage_price}}</view>
+				<view class="money">
+					<text>¥</text>
+					{{ userInfo.brokerage_price }}
+				</view>
 			</view>
 		</view>
 		<view class="navbar">
@@ -19,28 +22,29 @@
 				<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="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="time">
-								<text>{{ item.add_time }}</text>
+							<view class="money">
+								<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
+								<view v-if="item.status == 0" class="status">待发放</view>
 							</view>
 						</view>
-						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
-						</view>
 					</view>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
-		<view class="btn-box" @click="navto('/pages/money/withdrawal')">
-			立即提现
-		</view>
+		<view class="btn-box" @click="navto('/pages/money/withdrawal')">立即提现</view>
 	</view>
 </template>
 
@@ -78,7 +82,7 @@ export default {
 	data() {
 		return {
 			// 头部图高度
-			maxheight:'',
+			maxheight: '',
 			tabCurrentIndex: 0,
 			navList: [
 				{
@@ -114,9 +118,7 @@ export default {
 		},
 		// 点击返回 我的页面
 		toBack() {
-			uni.navigateBack({
-				
-			})
+			uni.navigateBack({});
 		},
 		//获取收入支出信息
 		async loadData(source) {
@@ -232,7 +234,7 @@ page {
 			display: flex;
 			align-items: center;
 		}
-		
+
 		.goback {
 			z-index: 100;
 			width: 34rpx;
@@ -250,8 +252,8 @@ page {
 		font-size: 86rpx;
 		font-family: PingFang SC;
 		font-weight: bold;
-		color: #FFFFFF;
-		text{
+		color: #ffffff;
+		text {
 			font-size: 42rpx;
 		}
 	}
@@ -291,8 +293,10 @@ page {
 	}
 }
 //列表
-
 .swiper-box {
+	.order-item:last-child {
+		margin-bottom: 60rpx;
+	}
 	.order-item {
 		padding: 20rpx 30rpx;
 		line-height: 1.5;
@@ -309,6 +313,11 @@ page {
 		.money {
 			color: #fd5b23;
 			font-size: $font-lg;
+			text-align: right;
+			.status {
+				color: $font-color-light;
+				color: $font-color-light - 2rpx;
+			}
 		}
 	}
 }
@@ -325,12 +334,12 @@ page {
 .btn-box {
 	width: 674rpx;
 	height: 88rpx;
-	background: linear-gradient(0deg, #2E58FF, #32C6FF);
+	background: linear-gradient(0deg, #2e58ff, #32c6ff);
 	border-radius: 44rpx;
 	font-size: 36rpx;
 	font-family: PingFang SC;
 	font-weight: 500;
-	color: #FFFFFF;
+	color: #ffffff;
 	text-align: center;
 	line-height: 88rpx;
 	position: fixed;

+ 22 - 2
pages/money/withdrawal.vue

@@ -1,6 +1,11 @@
 <template>
 	<view class="content">
 		<view class="content-money">
+			<view class="buttom">
+				<text class="text">冻结金额</text>
+				<view class="icon"><text>¥</text>{{ coldMoney }}</view>
+			</view>
+			<view class="interval"></view>
 			<view class="buttom">
 				<text class="text">可提现金额</text>
 				<view class="icon"><text>¥</text>{{ money }}</view>
@@ -75,9 +80,10 @@ export default {
 	data() {
 		return {
 			type: 'alipay', //提现方式
-			money: 0, //可提现金额
+			money: '', //可提现金额
 			withdrawal: '', //提现金额
 			minPrice: '', //最少提现金额
+			coldMoney:'',//冻结中的金额
 			aliData: {fullname:'',alino:''},
 			bankData: {fullname:'',bank:'',bankno:''},
 			// #ifdef H5
@@ -127,7 +133,8 @@ export default {
 		async loadData() {
 			extractBank({}).then(({ data }) => {
 				console.log(data)
-				this.money = data.brokerage_price; //可提现余额
+				this.coldMoney = data.brokerage_price;//冻结中金额
+				this.money = data.commissionCount*1; //可提现余额
 				this.minPrice = data.minPrice; //最小提现
 				this.freeze = data.inmoneyCount; //提现中的余额
 			});
@@ -147,6 +154,19 @@ export default {
 		},
 		// 提交
 		confirm() {
+			console.log(this.withdrawal);
+			if(this.withdrawal === ''){
+				this.$api.msg("请填写需要提现的佣金")
+				return
+			}
+			if(this.withdrawal == 0){
+				this.$api.msg("提现佣金不能为0")
+				return
+			}
+			if(this.withdrawal < this.minPrice){
+				this.$api.msg("提现金额不能低于最小金额")
+				return
+			}
 			let data = {
 				extract_type: this.type, //bank -银行卡 alipay-支付宝 weixin-微信
 				money: this.withdrawal, //金额

+ 342 - 0
pages/money/withdrawalJF.vue

@@ -0,0 +1,342 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="buttom">
+				<text class="text">可提现{{money_type}}</text>
+				<view class="icon">
+					{{ money }}
+				</view>
+			</view>
+			<view class="interval"></view>
+			<view class="buttom">
+				<text class="text">申请提现{{money_type}}</text>
+				<view class=" icon"><input class="input" type="number" v-model="withdrawal" placeholder="请输入提现金额" placeholder-class="placeholder" /></view>
+			</view>
+			<view class="interval"></view>
+			<view class="buttom">
+				<text class="text">支付密码</text>
+				<view class=" icon"><input class="input" type="password" v-model="pwd" placeholder="请输入支付密码" placeholder-class="placeholder" /></view>
+			</view>
+			<view class="interval"></view>
+			<view class="tip">
+				<view class="tip-text" v-show="showText == false"></view>
+				<view class="tip-text" v-show="showText == true">提先数量最低为{{ minPrice }},手续费为{{ data.service*1 }}{{ data._money_type }}</view>
+				<view class=" tip-icon" @click="all()">全部提现</view>
+			</view>
+		</view>
+
+		<!-- #ifndef MP-WEIXIN -->
+		<view class="list" v-if="!weichatBsrowser">
+			<radio-group @change="tabRadio">
+				<!-- <label>
+					<view class="box">
+						<view class="icon iconfont iconweixin1"></view>
+						<view class="title-box">
+							<view class="title"><text>提现至微信</text></view>
+						</view>
+						<view class="right"><radio value="weixin" color="#5dbc7c" :checked="type == 'weixin'" /></view>
+					</view>
+				</label> -->
+				<label>
+					<view class="box">
+						<view class="icon iconfont iconzhifubao"></view>
+						<view class="title-box">
+							<view class="title">
+								<text v-if="aliData.fullname != null">提现至支付宝</text>
+								<text v-else>请创建支付宝账号</text>
+							</view>
+							<view class="node">
+								<text v-if="aliData.fullname != null">真实姓名({{ aliData.fullname }})</text>
+							</view>
+						</view>
+						<view class="right"><radio value="alipay" color="#5dbc7c" :checked="type == 'alipay'" /></view>
+					</view>
+				</label>
+				<label>
+					<view class="box">
+						<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 != null">{{ bankData.bank + ' ' + bankData.bankno }}</text>
+								<text v-else>请创建银行账号</text>
+							</view>
+							<view class="node">
+								<text v-if="bankData.fullname != null">真实姓名({{ bankData.fullname }})</text>
+							</view>
+						</view>
+						<view class="right"><radio value="bank" color="#5dbc7c" :checked="type == 'bank'" /></view>
+					</view>
+				</label>
+			</radio-group>
+		</view>
+		<!-- #endif -->
+		<button class="add-btn up" @click="confirm">提交申请</button>
+		<button class="add-btn modified" v-if="!weichatBsrowser" @click="navTo('/pages/collection/collection')">账号管理</button>
+	</view>
+</template>
+
+<script>
+import { cashmoney_type, calculator, wallet } from '@/api/finance.js';
+import { extractCash } from '@/api/wallet.js';
+import { mapState, mapMutations } from 'vuex';
+export default {
+	data() {
+		return {
+			type: 'alipay', //提现方式
+			moneyType:'',
+			money: '', //可提现金额
+			money_type:'',//提现单位
+			withdrawal: '', //提现金额
+			minPrice: '', //最少提现金额
+			coldMoney: '', //冻结中的金额
+			pwd:'',//交易密码
+			data:'',
+			showText: false,
+			aliData: { fullname: '', alino: '' },
+			bankData: { fullname: '', bank: '', bankno: '' },
+			// #ifdef H5
+			weichatBsrowser: false
+			// #endif
+		};
+	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
+	onLoad(option) {
+		this.moneyType = option.type;
+	},
+	onShow() {
+		// #ifdef H5
+		this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
+		// #endif
+		//加载提现信息
+		this.loadData();
+		// 加载提款账号信息
+		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;
+	},
+	watch: {
+		withdrawal(newVal, oldVal) {
+			this.calculator();
+		}
+	},
+	methods: {
+		// 加载余额信息
+		async loadData() {
+			wallet({}).then(({ data }) => {
+				const obj = this
+				const arr = Object.keys(data.back);
+				console.log(arr);
+				let ar = [];
+				arr.forEach(e => {
+					console.log(e,'11111')
+					if(e == obj.moneyType){
+						obj.money = data.back[e].money.money*1;
+						obj.minPrice = data.back[e].less;
+						obj.money_type = data.back[e].name;
+					}
+				});
+			});
+		},
+		// 跳转
+		navTo(url) {
+			uni.navigateTo({
+				url: url
+			});
+		},
+		all() {
+			this.withdrawal = this.money;
+		},
+		// 切换选中对象
+		tabRadio(e) {
+			this.type = e.detail.value;
+		},
+		calculator() {
+			let obj = this;
+			calculator({
+				money_type: obj.moneyType,
+				money: obj.withdrawal
+			}).then(({ data }) => {
+				console.log(data);
+				obj.data = data;
+				obj.showText = true;
+			});
+		},
+		// 提交
+		confirm() {
+			console.log(this.withdrawal);
+			if (this.withdrawal === '') {
+				this.$api.msg('请填写需要提现的佣金');
+				return;
+			}
+			if (this.withdrawal == 0) {
+				this.$api.msg('提现佣金不能为0');
+				return;
+			}
+			if (this.withdrawal < this.minPrice) {
+				this.$api.msg('提现金额不能低于最小金额');
+				return;
+			}
+			let data = {
+				extract_type: this.type, //bank -银行卡 alipay-支付宝 weixin-微信
+				password: this.pwd,
+				money: this.withdrawal, //金额
+				money_type: this.moneyType
+			};
+			if (this.type == 'alipay') {
+				data.name = this.aliData.fullname;
+				data.alipay_code = this.aliData.alino;
+			}
+			if (this.type == 'bank') {
+				data.name = this.bankData.fullname;
+				data.bankname = this.bankData.bank;
+				data.cardnum = this.bankData.bankno;
+			}
+
+			extractCash(data)
+				.then(e => {
+					uni.navigateTo({
+						url: '/pages/money/success?type=1'
+					});
+					// uni.showToast({
+					// 	title: '提交成功',
+					// 	duration: 2000,
+					// 	position: 'top'
+					// });
+				})
+				.catch(e => {
+					console.log();
+				});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	height: 100%;
+}
+.content-money {
+	padding: 0 20rpx;
+	background-color: #ffffff;
+	.buttom {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		height: 110rpx;
+	}
+	.interval {
+		width: 100%;
+		height: 1px;
+		background: #e6e6e6;
+	}
+	.icon {
+		font-size: 48rpx;
+		font-family: SourceHanSansCN;
+		font-weight: 500;
+		color: #333333;
+		.input {
+			text-align: right;
+			flex: 1;
+			font-size: 30rpx;
+			color: $font-color-dark;
+		}
+		.iconlocation {
+			text-align: right;
+			font-size: 36rpx;
+			color: $font-color-light;
+		}
+	}
+	.text {
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #333333;
+	}
+	.tip {
+		height: 74rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		.tip-text {
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #999999;
+		}
+		.tip-icon {
+			font-size: 26rpx;
+			font-family: SourceHanSansCN;
+			font-weight: 400;
+			color: #438bed;
+		}
+	}
+}
+
+.add-btn {
+	&.modified {
+		color: $base-color;
+	}
+	&.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);
+}
+
+.list {
+	padding-left: 30rpx;
+	margin-top: 30rpx;
+	background-color: #ffffff;
+	.box {
+		display: flex;
+		align-items: center;
+		width: 100%;
+		height: 120rpx;
+		border-bottom: 1px solid $border-color-light;
+		.icon {
+			font-size: 48rpx;
+			padding-right: 20rpx;
+			.icon-img {
+				height: 50rpx;
+				width: 50rpx;
+			}
+		}
+		.iconweixin1 {
+			color: #18bf16;
+		}
+		.iconzhifubao {
+			color: #08aaec;
+		}
+		.title-box {
+			flex-grow: 1;
+			text-align: left;
+			.title {
+				font-size: $font-base + 2rpx;
+				color: $font-color-base;
+			}
+			.node {
+				font-size: $font-sm;
+				color: $font-color-light;
+			}
+		}
+	}
+}
+/deep/ .uni-radio-input {
+	width: 45rpx;
+	height: 45rpx;
+}
+</style>

+ 1 - 1
pages/order/order.vue

@@ -171,7 +171,7 @@ export default {
 			let obj = this;
 			uni.showModal({
 				title: '是否确认收货?',
-				success: () => {
+				success: (res) => {
 					if (res.confirm) {
 						orderTake({
 							uni: item.order_id

+ 4 - 1
pages/order/orderRefund.vue

@@ -88,6 +88,7 @@ export default {
 		},
 		//提交
 		confirm() {
+			let obj = this;
 			if (!obj.refund) {
 				uni.showModal({
 					title: '错误',
@@ -96,7 +97,6 @@ export default {
 				});
 				return false;
 			}
-			let obj = this;
 			refund({
 				text: obj.refund,
 				uni: obj.orderId,
@@ -106,6 +106,9 @@ export default {
 					title:'提交成功',
 					duration:1500
 				})
+				uni.navigateTo({
+					url:'/pages/money/success'
+				})
 			});
 		}
 	}

+ 29 - 13
pages/redirect/redirect.vue

@@ -95,19 +95,35 @@ export default {
 				if (ur=='pages/product/product') {
 					ur = '/pages/index/index'
 				}
-				uni.switchTab({
-					url: ur,
-					fail(e) {
-						uni.navigateTo({
-							url: ur,
-							fail(e) {
-								uni.navigateTo({
-									url: '/pages/index/index',
-								});
-							}
-						});
-					}
-				});
+				if (e.data.phone || e.data.email) {
+					uni.switchTab({
+						url: ur,
+						fail(e) {
+							uni.navigateTo({
+								url: ur,
+								fail(e) {
+									uni.navigateTo({
+										url: '/pages/index/index',
+									});
+								}
+							});
+						}
+					});
+				}else {
+					uni.showModal({
+						title: '提示',
+						content: '请先绑定手机号或邮箱',
+						showCancel: false,
+						success: res => {
+							uni.navigateTo({
+								url: '/pages/set/phone'
+							});
+						},
+						fail(e) {
+							console.log(e);
+						}
+					});
+				}
 			}).catch((e) => {
 				uni.showModal({
 					title: '错误',

+ 157 - 0
pages/set/phone.vue

@@ -0,0 +1,157 @@
+<template>
+	<view class="container">
+		<view class="row b-b">
+			<text class="tit">手机号或邮箱</text>
+			<input class="input" v-model="account" type="text" placeholder="请填写手机号或邮箱" placeholder-class="placeholder" />
+		</view>
+		<view>
+			<view class="row b-b">
+				<text class="tit">验证码</text>
+				<input class="input" v-model="captcha" type="text" placeholder="请填写验证码" placeholder-class="placeholder" />
+				<view class="code" @click="verification">{{ countDown == 0 ? '验证码' : countDown }}</view>
+			</view>
+			<button class="add-btn" :class="{ 'bg-gray': loding }" @click="loding ? '' : confirm()">提交</button>
+		</view>
+	</view>
+</template>
+
+<script>
+import { verify } from '@/api/login.js';
+import { mapState } from 'vuex';
+import { registerReset, binding } from '@/api/set.js';
+export default {
+	data() {
+		return {
+			time: '', //保存倒计时对象
+			countDown: 0, //倒计时
+			account: '', //手机号
+			captcha: '', //验证码
+			password: '', //新密码
+			loding: false //是否载入中
+		};
+	},
+	watch: {
+		// 监听倒计时
+		countDown(i) {
+			if (i == 0) {
+				clearInterval(this.time);
+			}
+		}
+	},
+	computed: {
+		...mapState(['userInfo'])
+	},
+	onLoad() {
+		if (this.userInfo.phone == null) {
+			this.account = '';
+		} else {
+			this.account = this.userInfo.phone;
+			this.show = false;
+		}
+	},
+	methods: {
+		//发送验证码
+		verification() {
+			let obj = this;
+			if (this.account == '') {
+				this.$api.msg('请输入电话号码或邮箱');
+				return;
+			}
+			// 判断是否在倒计时
+			if (obj.countDown > 0) {
+				return false;
+			} else {
+				obj.countDown = 60;
+				obj.time = setInterval(() => {
+					obj.countDown--;
+				}, 1000);
+				//调用验证码接口
+				verify({
+					phone: obj.account,
+					type: 'BDING_CODE'
+				})
+					.then(({ data }) => {})
+					.catch(err => {
+						console.log(err);
+					});
+			}
+		},
+		confirm(e) {
+			let obj = this;
+			obj.loding = true;
+			binding({
+				phone: obj.account,
+				captcha: obj.captcha
+			})
+				.then(({ data }) => {
+					obj.$api.msg('绑定成功!');
+					setTimeout(function() {
+						obj.loding = false;
+						uni.switchTab({
+							url: '/pages/user/user'
+						});
+					}, 1000);
+				})
+				.catch(err => {
+					obj.loding = false;
+					console.log(err);
+				});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: $page-color-base;
+}
+.row {
+	display: flex;
+	align-items: center;
+	position: relative;
+	padding: 0 30rpx;
+	height: 110rpx;
+	background: #fff;
+
+	.tit {
+		flex-shrink: 0;
+		width: 200rpx;
+		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;
+	}
+}
+.add-btn {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 690rpx;
+	height: 80rpx;
+	margin: 60rpx auto;
+	font-size: $font-lg;
+	color: #fff;
+	background-color: $base-color;
+	border-radius: 10rpx;
+	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+}
+
+.bg-gray {
+	background-color: $color-gray;
+}
+.code {
+	color: #32baff;
+	font-size: 23rpx;
+	border-left: 1px solid #eeeeee;
+	width: 150rpx;
+	flex-shrink: 0;
+	text-align: center;
+}
+</style>

+ 14 - 14
pages/set/userinfo.vue

@@ -17,7 +17,7 @@
 			<input class="input" type="text"  disabled="true" v-model="userInfo.account" placeholder-class="placeholder" />
 		</view>
 		<view class="add-btn" @click="confirm">提交</view>
-		<view class="out" @click="toLogout">退出登录</view>
+		<!-- <view class="out" @click="toLogout">退出登录</view> -->
 	</view>
 </template>
 
@@ -135,20 +135,20 @@ export default{
 		margin: 158rpx auto 30rpx;
 		width: 560rpx;
 		height: 80rpx;
-		background: linear-gradient(90deg, #58BAB0, #60BAB0, #45969B);
+		background: linear-gradient(0deg, #2E58FF, #32C6FF);
 		border-radius: 40px;
 		color: #FFFFFF;
 	}
-	.out {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		margin: 0 auto 30rpx;
-		width: 560rpx;
-		height: 80rpx;
-		border: 1px solid #58BAB0;
-		background: #FFFFFF;
-		border-radius: 40px;
-		color: #58BAB0;
-	}
+	// .out {
+	// 	display: flex;
+	// 	align-items: center;
+	// 	justify-content: center;
+	// 	margin: 0 auto 30rpx;
+	// 	width: 560rpx;
+	// 	height: 80rpx;
+	// 	border: 1px solid #58BAB0;
+	// 	background: #FFFFFF;
+	// 	border-radius: 40px;
+	// 	color: #58BAB0;
+	// }
 </style>

+ 17 - 4
pages/user/about.vue

@@ -3,7 +3,7 @@
 		<view class="box">
 			<!-- <image src="../../static/img/about.png" class="image" mode=""></image> -->
 			<view class="image">
-				
+				<image src="../../static/img/log.png" mode=""></image>
 			</view>
 			<view class="title">
 				V1.1.1.0
@@ -13,6 +13,9 @@
 			<text>六牛科技,2014年创立于浙江台州 ,公司以网站建设、微信公众号、微信商城以及O2O商城为核心业务 专注于创意设计和传播应用 ,探索并实现商业价值最大化 ,为所有谋求长远发展的企业机构贡献全力。
 浙江六牛科技有限公司注重专业探索,摒弃虚浮夸张,在更深远的认知中,将不断修正服务导向,完善制作品格,以探求精品塑造与理念升华,勇做推动行业发展的中坚力量</text>
 		</view>
+		<view class="tip">
+			浙江六牛科技有限公司<br>版权所有
+		</view>
 	</view>
 </template>
 
@@ -21,7 +24,7 @@
 
 <style lang="scss">
 .conter,page {
-	background: #FFFFFF;
+	background: #f1f1f1;
 	height: 100%;
 }
 .box {
@@ -32,6 +35,10 @@
 		height: 162rpx;
 		margin: 0 auto;
 		margin-top: 88rpx;
+		image {
+			width: 100%;
+			height: 100%;
+		}
 	}
 	.title{
 		font-size: 30rpx;
@@ -41,12 +48,18 @@
 	}
 }
 .main {
-	padding: 0 50rpx;
+	background-color: #FFFFFF;
+	padding: 20rpx 50rpx;
 	margin-top: 70rpx;
 	font-size: 30rpx;
 	font-family: PingFangSC;
 	font-weight: 500;
-	color: #666666;
+	color: #000000;
 	line-height: 54rpx;
 }
+.tip {
+	margin-top: 100rpx;
+	text-align: center;
+	color: #666666;
+}
 </style>

+ 1 - 0
pages/user/extension.vue

@@ -119,6 +119,7 @@ export default {
 				limit: navItem.limit
 			})
 				.then(({ data }) => {
+					console.log(data)
 					this.total = data.total;
 					this.totalLevel = data.totalLevel;
 					this.all = this.total + this.totalLevel;

+ 3 - 1
pages/user/fuli.vue

@@ -28,6 +28,7 @@
 				<view class="list-left">
 					<view class="list-title">福利兑换</view>
 					<view class="time">{{ item.time }}</view>
+					<view class="time">{{ item.origin * 1 }}{{ item.origin_money_type }}+{{item.cost_time}}拼团值兑换{{item.target*1}}{{item.target_money_type}}</view>
 				</view>
 				<view class="list-right">已兑换</view>
 			</view>
@@ -94,7 +95,8 @@ export default {
 						e.time = getTime(e.add_time);
 					});
 				}
-				this.exchange = data.list;
+				this.exchange = this.exchange.concat(data.data);
+				console.log(this.exchange);
 				if (data.length != this.limit) {
 					this.loadingType = 'nomore';
 				} else {

+ 1 - 1
pages/user/user.vue

@@ -2,7 +2,7 @@
 	<view class="content">
 		<view class="top">
 			<view class="bg"><image class="imgBg" src="../../static/user/img17.png" mode=""></image></view>
-			<view class="title">
+			<view class="title" @click="nav('/pages/set/userinfo')">
 				<view class="header">
 					<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>

+ 1 - 1
store/index.js

@@ -5,7 +5,7 @@ Vue.use(Vuex)
 
 const store = new Vuex.Store({
 	state: {
-		baseURL:"http://lala.frp.liuniu946.com",//请求地址配置 
+		baseURL:"https://xingpinle.liuniu946.com",//请求地址配置 
 		// baseURL:"http://www.lalanft.net",//请求地址配置 
 		urlFile:'/index',//项目部署所在文件夹
 		userInfo: {}, //登录信息

BIN
unpackage/cache/apk/__UNI__3CDE968_cm.apk


+ 1 - 1
unpackage/cache/apk/apkurl

@@ -1 +1 @@
-https://ide.dcloud.net.cn/build/download/6f851180-4061-11ec-9699-fdd3d3388746
+https://ide.dcloud.net.cn/build/download/a07a21e0-4bf6-11ec-8cfa-5d479bfce6f2

File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/apk/cmManifestCache.json


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__3CDE968/app-config-service.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__3CDE968/app-service.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__3CDE968/app-view.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__3CDE968/manifest.json


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__3CDE968/view.css


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__3CDE968/view.umd.min.js


BIN
unpackage/release/apk/__UNI__3CDE968__20211107121421.apk


BIN
unpackage/release/apk/__UNI__3CDE968__20211108145936.apk → unpackage/release/apk/__UNI__3CDE968__20211123084516.apk


+ 1 - 1
utils/request.js

@@ -12,7 +12,7 @@ service.interceptors.response(
 			let res = response.data;
 			// 解析字符串为数字
 			if (res.status !== 200) {
-				console.log(res.status);
+				console.log(res);
 				if (res.status == 410000) {
 					// 调用退出登录方法清空用户信息
 					store.commit('user/logout');

+ 60 - 100
utils/wxAuthorized.js

@@ -2,8 +2,6 @@ import {
 	wechatConfig,
 	share
 } from '@/api/wx';
-// 加载日志
-import * as log from './log.js'
 import {
 	isAndroid
 } from './platform.js'
@@ -21,12 +19,11 @@ let router = '';
  * @param {string} 当前页面地址信息
  */
 export async function loginWinxin() {
-	console.log('1');
 	let pages, page, path;
-	if (!router) {
-		router = await setRouter();
-	}
 	try {
+		if (!router) {
+			router = await setRouter();
+		}
 		pages = getCurrentPages();
 		// 获取跳转前页面
 		page = pages[pages.length - 1];
@@ -34,11 +31,9 @@ export async function loginWinxin() {
 		path = page.route;
 	} catch (e) {
 		console.log(e);
-		//TODO handle the exception
 	}
 	// 判断是否在登录页
 	if (path != 'pages/redirect/redirect') {
-		log.addLog('开始注册微信')
 		weixindata().then(() => {
 			// 调用
 			try {
@@ -51,13 +46,13 @@ export async function loginWinxin() {
 	}
 };
 // 微信授权登录
-function weixinSq() {
+function weixinSq(data, path) {
 	// 微信授权后跳转页面
 	try {
-		// 判断是否真实路由模式
-		const type = router.mode === "history"?'':'/#'
-		let ul = encodeURIComponent(store.state.baseURL + store.state.urlFile +type+ '/pages/redirect/redirect');
+		let ul = encodeURIComponent(store.state.baseURL + store.state.urlFile + '/#/pages/redirect/redirect');
+		console.log(ul, "ul")
 		// 打开微信授权页面
+		
 		let url =
 			'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' +
 			appId +
@@ -66,10 +61,10 @@ function weixinSq() {
 			'&response_type=code&scope=snsapi_userinfo&state=' +
 			new Date().getTime() +
 			'#wechat_redirect';
+			console.log(url, "url")
 		window.location.href = url;
 	} catch (e) {
 		console.log(e);
-		//TODO handle the exception
 	}
 };
 
@@ -91,9 +86,7 @@ export async function weixindata(config) {
 		if (router.mode === "hash") {
 			url = location.href.split('#')[0];
 		}
-		log.addLog('注册开始', url)
 		console.log('开始注册', url);
-
 	} catch (e) {
 		console.log('错误', e);
 	}
@@ -119,9 +112,9 @@ export async function weixindata(config) {
 							jsApiList: data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
 						});
 						weixinObj.ready((e) => {
-							log.addLog("注册完毕", data)
 							console.log('注册完毕');
-							ok(data)
+							store.commit('setWeiChatObj', weixinObj)
+							ok(weixinObj)
 						})
 					} catch (e) {
 						console.log(e)
@@ -137,106 +130,74 @@ export async function weixindata(config) {
 		}
 	})
 }
-
-// 判断分享调用方法
-export function shareLoad(config) {
-	console.log('开始调用分享')
-	try {
-		weixindata().then((e) => {
-			// 判断有无自定义数据
-			if (config) {
-				shareFun(config)
-			} else {
-				// 判断是否已经缓存了默认数据
-				if (shareData) {
-					shareFun()
-				} else {
-					// 请求获取默认数据
-					share({}).then(({
-						data
-					}) => {
-						shareData = data.data
-						shareFun()
-					});
-				}
-			}
-		})
-	} catch (e) {
-		console.log('报错', e)
-		//TODO handle the exception
-	}
-}
-// 配置分享数据
-function shareFun(config) {
-	try {
-		console.log('再付分享内容', config);
-		let mess;
-		if (config) {
-			mess = {
-				link: config.link, // 分享链接
-				imgUrl: config.imgUrl,
-				desc: config.desc,
-				title: config.title,
-				success: config.success || function(e) {
-					console.log(e);
-				},
-				fail: config.fail || function(e) {
-					console.log(e);
-				}
+// 加载分享数据
+function shareLoad(config) {
+	let mess;
+	if (config) {
+		mess = {
+			link: config.link, // 分享链接
+			imgUrl: config.imgUrl,
+			desc: config.desc,
+			title: config.title,
+			success: config.success,
+			fail: config.fail||function (e) {
+				console.log(e);
 			}
-		} else {
-			const userInfo = uni.getStorageSync('userInfo')
-			console.log(userInfo);
-			const url = window.location.href + '?spread=' + userInfo.uid;
-			url = url.replace(/[\?,&]{0,1}from=singlemessage/g, '');
-			mess = {
-				title: shareData.title,
-				link: url, // 分享链接
-				imgUrl: shareData.img, // 分享图标
-				desc: shareData.synopsis,
-				success: function() {
-					// uni.showModal({
-					// 	title: '分享',
-					// 	content: '分享成功',
-					// 	showCancel: false,
-					// 	success: res => {
-					//    console.log('分享成功回调接口');
-					// 	},
-					// 	fail: () => {},
-					// 	complete: () => {}
-					// });
-				}
+		}
+	} else {
+		// console.log(window.location.href, 55)
+		// let url = window.location.href + '?spread=' + store.state.userInfo.uid;
+		let url = window.location.href;
+		url = url.replace(/[\?,&]{0,1}from=singlemessage/g, '');
+		mess = {
+			title: shareData.title,
+			link: url, // 分享链接
+			imgUrl: shareData.img, // 分享图标
+			desc: shareData.synopsis,
+			success: function() {
+			},
+			fail:function (e) {
+				console.log(e);
 			}
 		}
-		// 获取仓库数据
-		// 分享好友
-		weixinObj.updateAppMessageShareData(mess);
-
-		// 分享朋友圈
-		weixinObj.updateTimelineShareData(mess)
-	} catch (e) {
-		console.log(e);
-		//TODO handle the exception
 	}
+	// 获取仓库数据
+	// 分享好友
+	// weixinObj.updateAppMessageShareData(mess);
+	weixinObj.onMenuShareAppMessage(mess);// 即将废弃
+	// 分享朋友圈
+	// weixinObj.updateTimelineShareData(mess)
+	weixinObj.onMenuShareTimeline(mess);// 即将废弃
+}
+
+// 隐藏功能按钮
+export function weixinhideMenu(config) {
+	console.log(config)
+	weixinObj.ready((e) => {
+		weixinObj.hideMenuItems({
+			menuList: config, // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
+		});
+	})
+	
 }
 
 // 保存路由对象
 export function setRouter(route) {
 	return new Promise((ok, err) => {
 		router = getApp().$router;
-		// console.log(router,'开始数据');
+		console.log(router,'开始数据');
 		if (!router) {
 			const set = setInterval(() => {
 				router = getApp().$router;
-				// console.log(router,'返回数据');
+				console.log(router,'返回数据');
 				if (router) {
-					// console.log(router,'结束');
+					console.log(router,'结束');
 					clearInterval(set)
 					ok(router)
 				}
 			}, 100);
 		}else{
-			// console.log(router,'成功');
+			console.log(router,'成功');
 			ok(router)
 		}
 	})
@@ -246,6 +207,5 @@ export default {
 	weixinObj,
 	shareData,
 	appId,
-	setRouter,
-	shareLoad
+	setRouter
 }

+ 29 - 0
utils/wxMinProgram.js

@@ -0,0 +1,29 @@
+import store from '../store';
+//微信登录
+/**
+ * @param {string} 当前页面地址信息
+ */
+export function loginWinxinMp() {
+	let pages = getCurrentPages();
+	// 获取跳转前页面
+	let page = pages[pages.length - 2];
+	let queryUrl = '';
+	for (let key in page.options) {
+		queryUrl += key + '=' + page.options[key] + "&";
+	}
+	// 获取当页面路由地址
+	let path ='/' + page.route + '?' + queryUrl;
+	// 保存跳转前页面
+	uni.setStorageSync('present', path);
+	return new Promise(function (resolve,reject) {
+		wx.login({
+			success(e) {
+				console.log(e);
+				resolve(e)
+			},
+			fill:function (e) {
+				reject(e);
+			}
+		})
+	})
+};

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