py vor 1 Jahr
Ursprung
Commit
48278239bf

+ 8 - 0
api/common.js

@@ -5,6 +5,14 @@ const commonUrl = '/api/common/'
 export const getSts = (data) => request(commonUrl + 'sts', 'post', { ...data })
 // 获取协议
 export const getAgreement = (data) => request(commonUrl + 'agreement', 'post', { ...data })
+
+// 获取所有协议
+export const commonProtocol = (data) => request(commonUrl + 'protocol', 'post', { ...data })
+// 获取平台资质
+export const commonCredential = (data) => request(commonUrl + 'credential', 'post', { ...data })
+// 获取协议详情
+export const commonProtocolInfo = (data) => request(commonUrl + 'protocol_info', 'post', { ...data })
+
 // 获取学校
 export const getSchoolList = (data) => request(commonUrl + 'school', 'post', { ...data })
 // 获取首页公告

+ 5 - 1
api/member.js

@@ -29,4 +29,8 @@ export const getAddressDorm = (data) => request(newsUrl + 'dorm', 'post', { ...d
 // 获取用户是否有未读消息
 export const membeRmessage = (data) => request(newsUrl + 'message', 'post', { ...data },false)
 // 用户手机号注册
-export const membeRphoneLogin = (data) => request(newsUrl + 'phoneLogin', 'post', { ...data },false)
+export const membeRphoneLogin = (data) => request(newsUrl + 'phoneLogin', 'post', { ...data },false)
+
+
+//获取推广二维码
+export const memberShare = (data) => request(newsUrl + 'share', 'post', { ...data },false)

+ 7 - 0
api/memberClan.js

@@ -0,0 +1,7 @@
+import {request} from '../service/ajax.js'
+
+const newsUrl = '/api/memberClan/'
+// 获取团队列表
+export const memberClanList = (data) => request(newsUrl + 'list', 'post', { ...data },false)
+// 获取团队统计
+export const memberClanTotal = (data) => request(newsUrl + 'total', 'post', { ...data },false)

+ 7 - 0
api/money.js

@@ -0,0 +1,7 @@
+import {request} from '../service/ajax.js'
+
+const newsUrl = '/api/money/'
+// 获取流水类型状态
+export const moneyStatus = (data) => request(newsUrl + 'status', 'post', { ...data },false)
+// 获取资金流水
+export const moneyList = (data) => request(newsUrl + 'list', 'post', { ...data },false)

+ 17 - 4
common/css/common.css

@@ -256,7 +256,9 @@ image {
 .fs-64 {
 	font-size: 64rpx;
 }
-
+.fs-52{
+	font-size: 52rpx
+}
 /* 字体下面横线 */
 .text-underline {
 	text-decoration: underline;
@@ -376,6 +378,10 @@ image {
 	color: #F43D04;
 }
 
+.fc-F0372F {
+	color: #F0372F;
+}
+
 .fc-F75820 {
 	color: #F75820;
 }
@@ -437,7 +443,9 @@ image {
 .bgc-9 {
 	background-color: #999;
 }
-
+.bgc-D9D9D9 {
+	background-color: #D9D9D9;
+}
 .bgc-4FB3EF {
 	background-color: #4FB3EF;
 }
@@ -490,7 +498,7 @@ image {
 	background-color: #F6F6F6;
 }
 
-.bgc-F5811E {
+.bgc-F5541E {
 	background: linear-gradient(-90deg, #F5811E, #F5541E);
 }
 
@@ -518,7 +526,9 @@ image {
 .bgc-EB5127 {
 	background-color: #EB5127;
 }
-
+.bgc-FAE5E2 {
+	background-color: #FAE5E2;
+}
 .bgc-F5811E {
 	background-color: #F5811E;
 }
@@ -529,6 +539,9 @@ image {
 .bgc-FDF3EC {
 	background-color: #FDF3EC;
 }
+.bgc-16BB5D {
+	background-color: #16BB5D;
+}
 
 
 .bgc-F5F4F9 {

+ 1 - 1
pages-buy/group-goods-info.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="flex-common-css iPhone-bottom box-border-box">
 		<Nav :title="shop_name" :bgckgroundBox='"transparent"' leftColor="#fff" titleColor="#fff"></Nav>
-		<image src="https://sjz-school.oss-cn-chengdu.aliyuncs.com/webImages/bg-2.pngs" mode="" class="bg-img"></image>
+		<image src="https://sjz-school.oss-cn-chengdu.aliyuncs.com/webImages/bg-2.png" mode="" class="bg-img"></image>
 		<uni-popup ref="popup" type="top" border-radius="0 0 10px 10px">
 			<view class="pop-box bgc-f" :style="[{'padding-top': popTop + 'px'}]">
 				<view class="p-24 box-border-box">

+ 25 - 64
pages-my/about-us.vue

@@ -3,39 +3,13 @@
 		<Nav title="关于我们" titleColor="#333" bgckgroundBox='#fff'></Nav>
 		<scroll-view :scroll-y="true" class="scroll-view-css content-box box-sizing-border">
 			<view class="module-box box-sizing-border bgc-f b-rad-20 mb-20">
-				<view class="item-box align-items-center flex-justify-space b-b-F9F9F9" @click="goToUrl(1)">
-					<view class="fs-30 fc-3">
-						用户使用协议
-					</view>
-					<uni-icons type="right" color="#999" size="16"></uni-icons>
-				</view>
-				<view class="item-box align-items-center flex-justify-space b-b-F9F9F9" @click="goToUrl(2)">
-					<view class="fs-30 fc-3">
-						个人信息保护政策
-					</view>
-					<uni-icons type="right" color="#999" size="16"></uni-icons>
-				</view>
-				<!-- 				<view class="item-box align-items-center flex-justify-space" @click="goToUrl()">
-					<view class="fs-30 fc-3">
-						个人信息保护政策概要
-					</view>
-					<uni-icons type="right" color="#999" size="16"></uni-icons>
-				</view> -->
-			</view>
-			<view class="module-box box-sizing-border bgc-f b-rad-20 mb-20">
-				<!-- 				<view class="item-box align-items-center flex-justify-space b-b-F9F9F9" @click="goToUrl(6)">
-					<view class="fs-30 fc-3">
-						平台规则
-					</view>
-					<uni-icons type="right" color="#999" size="16"></uni-icons>
-				</view> -->
-				<view class="item-box align-items-center flex-justify-space" @click="goToUrl(3)">
+				<view class="item-box align-items-center flex-justify-space" @click="goToUrl(1,1)">
 					<view class="fs-30 fc-3">
 						平台资质
 					</view>
 					<uni-icons type="right" color="#999" size="16"></uni-icons>
 				</view>
-				<view class="item-box align-items-center flex-justify-space" @click="goToUrl(6)">
+				<view class="item-box align-items-center flex-justify-space" @click="goToUrl(1,2)">
 					<view class="fs-30 fc-3">
 						增值电信业务经营许可证
 					</view>
@@ -43,15 +17,10 @@
 				</view>
 			</view>
 			<view class="module-box box-sizing-border bgc-f b-rad-20 mb-20">
-				<view class="item-box align-items-center flex-justify-space b-b-F9F9F9" @click="goToUrl(4)">
+				<view class="item-box align-items-center flex-justify-space b-b-F9F9F9"
+					v-for="(item,index) in protocolData" :key="index" @click="goToUrl(2,item.id)">
 					<view class="fs-30 fc-3">
-						校友圈使用规范说明
-					</view>
-					<uni-icons type="right" color="#999" size="16"></uni-icons>
-				</view>
-				<view class="item-box align-items-center flex-justify-space" @click="goToUrl(5)">
-					<view class="fs-30 fc-3">
-						定金声明
+						{{item.title}}
 					</view>
 					<uni-icons type="right" color="#999" size="16"></uni-icons>
 				</view>
@@ -71,40 +40,32 @@
 </template>
 
 <script>
+	import {
+		commonProtocol
+	} from "@/api/common.js"
 	export default {
 		components: {},
 		data() {
-			return {};
+			return {
+				protocolData: []
+			};
 		},
 		onLoad(data) {},
-		mounted() {},
+		mounted() {
+			this.commonProtocol()
+		},
 		methods: {
-			goToUrl(num) {
-				if (num == 1) {
-					uni.navigateTo({
-						url: '/pages-my/protocol?num=' + 1
-					})
-				} else if (num == 2) {
-					uni.navigateTo({
-						url: '/pages-my/protocol?num=' + 2
-					})
-				} else if (num == 3) {
-					uni.navigateTo({
-						url: '/pages-my/protocol?num=' + 3
-					})
-				} else if (num == 4) {
-					uni.navigateTo({
-						url: '/pages-my/protocol?num=' + 4
-					})
-				} else if (num == 5) {
-					uni.navigateTo({
-						url: '/pages-my/protocol?num=' + 5
-					})
-				} else if (num == 6) {
-					uni.navigateTo({
-						url: '/pages-my/protocol?num=' + 6
-					})
-				}
+			commonProtocol() {
+				commonProtocol().then((res) => {
+					if (res.code === 1) {
+						this.protocolData = res.data
+					}
+				})
+			},
+			goToUrl(type, num) {
+				uni.navigateTo({
+					url: `/pages-my/protocol?type=${type}&num=${num}`
+				})
 			}
 		},
 	}

+ 208 - 0
pages-my/my-balance.vue

@@ -0,0 +1,208 @@
+<template>
+	<view class="flex-common-css iPhone-bottom  box-border-box seckill-box">
+		<Nav title="我的余额" bgckgroundBox='transparent' leftColor='#fff' titleColor='#fff'></Nav>
+		<view class="p-24 box-border-box">
+			<view class="zzc-box b-rad-20 bgc-f flex-direction align-items-center flex-justify-center">
+				<view class="fs-28 fc-9 mb-8">
+					总资产(元)
+				</view>
+				<view class="fs-52 fc-3 fw-b">
+					<text class="fs-40 fw-600">¥</text>{{Number(moneyNum).toFixed(2)}}
+				</view>
+			</view>
+		</view>
+		<view class="plr-24 box-border-box mb-24">
+			<view class="b-rad-200 bgc-f box-border-box">
+				<scroll-view class="scroll-view_H" scroll-x="true">
+					<view class="title-box b-rad-200 box-border-box text-align-center" v-for="(item,index) in titleData"
+						@click="titleBut(item)" :class="item.water_key === titleId?'bgc-4FB3EF fc-f':''">
+						{{item.water_name}}
+					</view>
+				</scroll-view>
+			</view>
+		</view>
+		<view class="plr-24 box-border-box">
+			<view class="p-24 box-border-box bgc-f sx-box">
+				<picker mode="date" :value="tiem" :start="startDate" :end="endDate" @change="bindDateChange">
+					<view class="align-items-center">
+						<view class=" fs-28 fc-0 fw-400 align-items-center mr-8">
+							{{tiem}}
+						</view>
+						<image class="right" src="@/static/img/toRight.png" mode=""></image>
+					</view>
+				</picker>
+			</view>
+		</view>
+		<scroll-view :scroll-y="true" class="scroll-view-css plr-24 box-border-box" @scrolltolower="scrolltolower">
+			<view class="bgc-f plr-32 box-border-box">
+				<view v-if="listData.length == 0" class="scroll-view-css">
+					<EnBlank :customSrc='true'>
+						<template v-slot:blankImg>
+							<image class="black-custom-img" src="@/static/img/common/no-order.png" mode=""></image>
+						</template>
+					</EnBlank>
+				</view>
+				<view class="ptb-24 item-box" v-for="(item,index) in listData" :key="index">
+					<view class="align-items-center flex-justify-space mb-4">
+						<view class="fs-32 fc-3">
+							{{item.mark}}
+						</view>
+						<view class="fs-32 fw-600" :class="item.add_reduce === 0?'fc-3':'fc-FE9E11'">
+							{{item.price}}
+						</view>
+					</view>
+					<view class="align-items-center flex-justify-space">
+						<view class="fs-24 fc-9">
+							{{item.created_at}}
+						</view>
+						<view class="fs-24 fc-9">
+							当前余额{{Number(item.remainder).toFixed(2)}}
+						</view>
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	import {
+		moneyStatus,
+		moneyList
+	} from "@/api/money.js"
+	import EnBlank from "@/components/en-utils/en-blank/en-blank";
+	export default {
+		components: {
+			EnBlank
+		},
+		data() {
+			const currentDate = this.getDate({
+				format: true
+			})
+			return {
+				titleId: "0",
+				titleData: [],
+				listData: [],
+				tiem: currentDate,
+				page: 1,
+				total: 0,
+				moneyNum: ''
+			};
+		},
+		computed: {
+			startDate() {
+				return this.getDate('start');
+			},
+			endDate() {
+				return this.getDate('end');
+			}
+		},
+		onLoad(data) {
+			if(data) {
+				this.moneyNum = data.money
+			}
+		},
+		mounted() {
+			this.moneyStatus()
+			this.moneyList()
+		},
+		methods: {
+			moneyList() {
+				moneyList({
+					status: this.titleId,
+					monthDate: this.tiem,
+					page: this.page
+				}).then((res) => {
+					if (res.code === 1) {
+						this.listData.push(...res.data.list)
+						this.total = res.data.total
+					}
+				})
+			},
+			bindDateChange(e) {
+				this.tiem = e.detail.value
+				this.page = 1;
+				this.listData = [];
+				this.moneyList();
+			},
+			titleBut(item) {
+				if (item.water_key === this.titleId) {
+					return
+				}
+				this.titleId = item.water_key
+				this.page = 1;
+				this.listData = [];
+				this.moneyList();
+			},
+			moneyStatus() {
+				moneyStatus().then((res) => {
+					if (res.code === 1) {
+						this.titleData = res.data
+					}
+				})
+			},
+			getDate(type) {
+				const date = new Date();
+				let year = date.getFullYear();
+				let month = date.getMonth() + 1;
+				let day = date.getDate();
+
+				if (type === 'start') {
+					year = year - 60;
+				} else if (type === 'end') {
+					year = year + 2;
+				}
+				month = month > 9 ? month : '0' + month;
+				day = day > 9 ? day : '0' + day;
+				return `${year}-${month}-${day}`;
+			},
+			scrolltolower() {
+				if (this.listData.length < this.total) {
+					++this.page
+					this.moneyList()
+				}
+			}
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.item-box {
+		border-bottom: 1rpx solid #EEEEEE;
+	}
+
+	.item-box:last-child {
+		border: none;
+	}
+
+	.right {
+		width: 32rpx;
+		height: 32rpx;
+	}
+
+	.sx-box {
+		border-radius: 20rpx 20rpx 0 0;
+	}
+
+	.seckill-box {
+		background: linear-gradient(to bottom, #4FB3EF, #F5F5F5, #F5F5F5);
+	}
+
+	.zzc-box {
+		width: 100%;
+		height: 268rpx;
+	}
+
+	.scroll-view_H {
+		white-space: nowrap;
+		width: 100%;
+	}
+
+	.title-box {
+		min-width: 33.3%;
+		display: inline-block;
+		height: 70rpx;
+		line-height: 70rpx;
+		padding: 0 50rpx;
+	}
+</style>

+ 311 - 0
pages-my/my-team.vue

@@ -0,0 +1,311 @@
+<template>
+	<view class="flex-common-css iPhone-bottom  box-border-box seckill-box">
+		<Nav title="我的团队" bgckgroundBox='transparent' leftColor='#fff' titleColor='#fff'></Nav>
+		<view class="p-24 box-border-box">
+			<view class="zzc-box b-rad-20 bgc-f">
+				<view class="flex-direction align-items-center flex-justify-center user-box">
+					<image class="user-image mb-20 b-rad-50" :src="userImg" mode=""></image>
+					<view class="fs-32 fc-3 fw-400">
+						{{userName}}
+					</view>
+				</view>
+				<view class="ewm-box bgc-FAE5E2 align-items-center" @click="openPop">
+					<uni-icons type="image" size="18" color="#F0372F" class="mr-8"></uni-icons>
+					<view class="fc-F0372F fs-28">
+						推广码
+					</view>
+				</view>
+				<view class="total-box align-items-center box-border-box">
+					<view class="fs-28 fc-9 mr-40">
+						一级人数:<text class="fs-28 fc-3">{{one_num || 0}}人</text>
+					</view>
+					<view class="fs-28 fc-9">
+						二级人数:<text class="fs-28 fc-3">{{two_num || 0}}人</text>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="plr-24 box-border-box">
+			<view class="p-24 box-border-box bgc-f sx-box align-items-center flex-justify-space">
+				<view class="fs-32 fc-3 fw-600">
+					团队列表
+				</view>
+				<view class="b-rad-200 bgc-F2F2F2 box-border-box align-items-center">
+					<view class="title-box b-rad-200 box-border-box text-align-center" @click="titleBut(1)"
+						:class="titleId === 1?'bgc-4FB3EF fc-f':'fc-9'">
+						一级
+					</view>
+					<view class="title-box b-rad-200 box-border-box text-align-center" @click="titleBut(2)"
+						:class="titleId === 2?'bgc-4FB3EF fc-f':'fc-9'">
+						二级
+					</view>
+				</view>
+			</view>
+		</view>
+		<scroll-view :scroll-y="true" class="scroll-view-css plr-24 box-border-box" @scrolltolower="scrolltolower">
+			<view class="bgc-f plr-32 box-border-box">
+				<view v-if="listData.length == 0" class="scroll-view-css">
+					<EnBlank :customSrc='true'>
+						<template v-slot:blankImg>
+							<image class="black-custom-img" src="@/static/img/common/no-order.png" mode=""></image>
+						</template>
+					</EnBlank>
+				</view>
+				<view class="ptb-24 item-box align-items-center" v-for="(item,index) in listData" :key="index">
+					<image class="item-img mr-16 b-rad-50" :src="item.head_img" mode=""></image>
+					<view class="">
+						<view class="fs-30 fc-3 mb-8">
+							{{item.nickname}}
+						</view>
+						<view class="fs-24 fc-9">
+							{{item.created_at}}
+						</view>
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+		<uni-popup ref="popup" type="center" border-radius="10px 10px 10px 10px">
+			<image class="code-image mb-20" :src="codeImg" mode="aspectFit"></image>
+			<view class="plr-24 box-border-box">
+				<view class="pop-but fs-30 fc-f b-rad-200 bgc-4FB3EF text-align-center b-r-ccc" @click="saveImg">
+					保存推广码
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import {
+		memberShare
+	} from "@/api/member.js"
+	import {
+		memberClanList,
+		memberClanTotal
+	} from "@/api/memberClan.js"
+	import EnBlank from "@/components/en-utils/en-blank/en-blank";
+	export default {
+		components: {
+			EnBlank
+		},
+		data() {
+			const currentDate = this.getDate({
+				format: true
+			})
+			return {
+				userImg: '',
+				userName: '',
+				codeImg: '',
+				titleId: 1,
+				listData: [],
+				page: 1,
+				total: 0,
+				one_num: 0,
+				two_num: 0
+			};
+		},
+		onLoad(data) {
+			if (data) {
+				this.userImg = data.img
+				this.userName = data.name
+			}
+		},
+		mounted() {
+			this.memberShare()
+			this.memberClanList()
+			this.memberClanTotal()
+		},
+		methods: {
+			memberClanTotal() {
+				memberClanTotal().then((res) => {
+					if (res.code === 1) {
+						this.one_num = res.data.one_num
+						this.two_num = res.data.two_num
+					}
+				})
+			},
+			saveImg() {
+				// 调用 uni.downloadFile 下载图片
+				uni.downloadFile({
+					url: this.codeImg,
+					success: (downloadRes) => {
+						if (downloadRes.statusCode === 200) {
+							// 下载成功,将临时文件保存到相册
+							uni.saveImageToPhotosAlbum({
+								filePath: downloadRes.tempFilePath,
+								success: () => {
+									uni.showToast({
+										title: '图片保存成功',
+										icon: 'success',
+										duration: 2000
+									});
+								},
+								fail: (saveErr) => {
+									uni.showToast({
+										title: '保存图片到相册失败',
+										icon: 'none',
+										duration: 2000
+									});
+								}
+							});
+						} else {
+							uni.showToast({
+								title: '图片下载失败',
+								icon: 'none',
+								duration: 2000
+							});
+						}
+					},
+					fail: (downloadErr) => {
+						uni.showToast({
+							title: '图片下载失败',
+							icon: 'none',
+							duration: 2000
+						});
+					}
+				});
+			},
+			openPop() {
+				this.$refs.popup.open()
+			},
+			memberShare() {
+				memberShare().then((res) => {
+					if (res.code === 1) {
+						this.codeImg = res.data.share_img
+					}
+				})
+			},
+			memberClanList() {
+				memberClanList({
+					type: this.titleId,
+					page: this.page
+				}).then((res) => {
+					if (res.code === 1) {
+						this.listData.push(...res.data.list)
+						this.total = res.data.total
+					}
+				})
+			},
+			bindDateChange(e) {
+				this.tiem = e.detail.value
+				this.page = 1;
+				this.listData = [];
+				this.memberClanList();
+			},
+			titleBut(item) {
+				if (item.water_key === this.titleId) {
+					return
+				}
+				this.titleId = item.water_key
+				this.page = 1;
+				this.listData = [];
+				this.memberClanList();
+			},
+			getDate(type) {
+				const date = new Date();
+				let year = date.getFullYear();
+				let month = date.getMonth() + 1;
+				let day = date.getDate();
+
+				if (type === 'start') {
+					year = year - 60;
+				} else if (type === 'end') {
+					year = year + 2;
+				}
+				month = month > 9 ? month : '0' + month;
+				day = day > 9 ? day : '0' + day;
+				return `${year}-${month}-${day}`;
+			},
+			scrolltolower() {
+				if (this.listData.length < this.total) {
+					++this.page
+					this.memberClanList()
+				}
+			}
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.item-img {
+		width: 88rpx;
+		height: 88rpx;
+	}
+
+	.user-box {
+		padding: 40rpx 0;
+	}
+
+	.total-box {
+		padding: 32rpx 24rpx;
+		border-top: 1rpx solid #E6E7E9;
+	}
+
+	.pop-but {
+		width: 100%;
+		height: 70rpx;
+		line-height: 70rpx;
+	}
+
+	.pop-box {
+		width: 70vw;
+		max-height: 60vh;
+	}
+
+	.user-image {
+		width: 112rpx;
+		height: 112rpx;
+	}
+
+	.item-box {
+		border-bottom: 1rpx solid #EEEEEE;
+	}
+
+	.item-box:last-child {
+		border: none;
+	}
+
+	.right {
+		width: 32rpx;
+		height: 32rpx;
+	}
+
+	.sx-box {
+		border-radius: 20rpx 20rpx 0 0;
+	}
+
+	.seckill-box {
+		background: linear-gradient(to bottom, #4FB3EF, #F5F5F5, #F5F5F5);
+	}
+
+	.zzc-box {
+		width: 100%;
+		height: auto;
+		position: relative;
+	}
+
+	.ewm-box {
+		position: absolute;
+		right: 0;
+		top: 65rpx;
+		border-radius: 200rpx 0 0 200rpx;
+		padding: 10rpx 20rpx 10rpx 27rpx;
+	}
+
+	.scroll-view_H {
+		white-space: nowrap;
+		width: 100%;
+	}
+
+	.title-box {
+		min-width: 104rpx;
+		height: 52rpx;
+		line-height: 52rpx;
+	}
+
+	.code-image {
+		width: 80vw;
+		height: 60vh;
+		border-radius: 20rpx;
+	}
+</style>

+ 45 - 35
pages-my/protocol.vue

@@ -2,58 +2,68 @@
 	<view class="flex-common-css bgc-f">
 		<Nav :title="title" leftIconColor="#333" titleColor="#333"></Nav>
 		<scroll-view :scroll-y="true" class="scroll-view-css p-24 box-border-box" @scrolltolower="scrolltolower">
-			<view v-if="numType == 1 || numType == 2 || numType == 4 || numType == 5" class="" v-html="text"></view>
-			<view v-else class="align-items-center flex-wrap-wrap">
-				<image class="image-c" :src="imageData" mode="widthFix"></image>
+			<view v-if="type === 1 && num === 1" class="align-items-center flex-wrap-wrap">
+				<image class="image-c" :src="business_license" mode="widthFix"></image>
 			</view>
+			<view v-else-if="type === 1 && num === 2" class="align-items-center flex-wrap-wrap">
+				<image class="image-c" :src="permit" mode="widthFix"></image>
+			</view>
+			<view v-else class="" v-html="text"></view>
 		</scroll-view>
 	</view>
 </template>
 
 <script>
 	import {
-		getAgreement
+		commonCredential,
+		commonProtocolInfo
 	} from "@/api/common.js"
 	export default {
 		components: {},
 		data() {
 			return {
-				numType: '',
+				type: '',
+				num: '',
 				title: '',
 				text: '',
-				imageData: ''
+				permit: '',
+				business_license: ''
 			};
 		},
 		onLoad(data) {
-			if(data) {
-				this.numType = data.num
-				this.getAgreement(data.num)
+			console.log(data, '000000000000');
+			if (data) {
+				this.type = Number(data.type)
+				this.num = Number(data.num)
+				if (this.type === 1) {
+					if (this.num === 1) {
+						this.title = '平台资质'
+					} else {
+						this.title = '经营许可证'
+					}
+					this.commonCredential()
+				} else {
+					this.commonProtocolInfo(this.num)
+				}
 			}
 		},
 		mounted() {},
 		methods: {
-			getAgreement(num){
-				getAgreement().then((res) => {
-					if(res.code == 1) {
-						if(num == 1) {
-							this.title = '用户协议'
-							this.text = res.data.member_agreement
-						}else if(num == 2) {
-							this.title = '隐私协议'
-							this.text = res.data.privacy_protocol
-						} else if(num == 3) {
-							this.title = '平台资质'
-							this.imageData = res.data.business_license
-						}else if(num == 4) {
-							this.title = '校友圈使用规范说明'
-							this.text = res.data.alumni_using_standards
-						}else if(num == 5) {
-							this.title = '定金声明'
-							this.text = res.data.deposit_statement
-						}else if(num == 6) {
-							this.title = '增值电信业务经营许可证'
-							this.imageData = res.data.permit
-						}
+			commonCredential() {
+				commonCredential().then((res) => {
+					if (res.code === 1) {
+						this.permit = res.data.permit
+						this.business_license = res.data.business_license
+					}
+				})
+			},
+			commonProtocolInfo(num) {
+				commonProtocolInfo({
+					id: num
+				}).then((res) => {
+					if (res.code == 1) {
+						this.title = res.data.title
+						this.text = res.data.content
 					}
 				})
 			}
@@ -62,8 +72,8 @@
 </script>
 
 <style lang="scss" scoped>
-.image-c{
-	width: 100%;
-	height: auto;
-}
+	.image-c {
+		width: 100%;
+		height: auto;
+	}
 </style>

+ 5 - 18
pages-takeout/group-goods.vue

@@ -17,7 +17,7 @@
 							</view>
 						</view>
 					</view>
-					<view class="item-but align-items-center flex-justify-space bgc-FDF3EC box-border-box">
+					<view class="item-but align-items-center flex-justify-space bgc-FDF3EC box-border-box b-rad-20">
 						<view class="align-items-center">
 							<view class="fs-28 fw-600 fc-F43D04 mr-14">
 								¥ <text class="fs-30 fw-600 fc-F43D04">{{Number(item.seckill_money).toFixed(2)}}</text>
@@ -40,9 +40,6 @@
 	import {
 		seckillAllGroup
 	} from "@/api/seckill.js"
-	import {
-		shopInfo,
-	} from "@/api/shop.js"
 	export default {
 		components: {},
 		data() {
@@ -58,17 +55,10 @@
 		},
 		methods: {
 			goToUrl(item) {
-				shopInfo({
-					shop_id: item.shop_id
-				}).then((res) => {
-					if (res.code == 1) {
-						uni.navigateTo({
-							url: '/pages-takeout/shop?shop_id=' + item.shop_id + '&category_id=' + item
-								.category_id + '&goods_id=' + item.goods_id
-						})
-					} else {
-						tools.error(res.msg)
-					}
+				uni.navigateTo({
+					url: '/pages-buy/group-goods-info?shop_id=' + item.shop_id + '&goods_id=' +
+						item.goods_id +
+						'&shop_name=' + item.shop_name
 				})
 			},
 			scrolltolower() {
@@ -109,9 +99,6 @@
 		width: 100%;
 		height: 70rpx;
 		line-height: 70rpx;
-		border-radius: 5rpx 20rpx 20rpx 5rpx;
 		padding: 0 0 0 24rpx;
 	}
-
-	.msq-but {}
 </style>

+ 1 - 2
pages-takeout/seckill.vue

@@ -25,7 +25,7 @@
 							</view>
 						</view>
 					</view>
-					<view class="item-but align-items-center flex-justify-space bgc-FDF3EC box-border-box">
+					<view class="item-but align-items-center flex-justify-space bgc-FDF3EC box-border-box b-rad-20">
 						<view class="align-items-center">
 							<view class="fs-28 fw-600 fc-F43D04 mr-14">
 								¥ <text class="fs-30 fw-600 fc-F43D04">{{Number(item.seckill_money).toFixed(2)}}</text>
@@ -123,7 +123,6 @@
 		width: 100%;
 		height: 70rpx;
 		line-height: 70rpx;
-		border-radius: 5rpx 20rpx 20rpx 5rpx;
 		padding: 0 0 0 24rpx;
 	}
 

+ 15 - 4
pages.json

@@ -88,8 +88,7 @@
 		},
 		{
 			"root": "pages-buy",
-			"pages": [
-				{
+			"pages": [{
 					"path": "group",
 					"style": {
 						"navigationBarTitleText": "团购",
@@ -380,6 +379,18 @@
 						"navigationBarTitleText": "评价"
 					}
 				},
+				{
+					"path": "my-team",
+					"style": {
+						"navigationBarTitleText": "我的团队"
+					}
+				},
+				{
+					"path": "my-balance",
+					"style": {
+						"navigationBarTitleText": "我的余额"
+					}
+				},
 				{
 					"path": "info-centre",
 					"style": {
@@ -478,8 +489,8 @@
 		"current": 0,
 		"list": [{
 				"name": "列表调试",
-				"path": "pages-takeout/shop",
-				"query": "shop_id=2"
+				"path": "pages-my/my-team",
+				"query": "balance=2"
 			},
 			{
 				"name": "店铺详情",

+ 20 - 8
pages/index/index.vue

@@ -16,7 +16,8 @@
 			</Nav>
 		</view>
 		<!-- 搜索 -->
-		<view class="index-search box-border-box mt-20" @click="toUrl(1)" :style="[{'top': BarH + 'px','background':bgckgroundSearch}]">
+		<view class="index-search box-border-box mt-20" @click="toUrl(1)"
+			:style="[{'top': BarH + 'px','background':bgckgroundSearch}]">
 			<view class="index-search-box box-border-box align-items-center bgc-f">
 				<image class="wh27" src="@/static/img/index/ss.png" mode=""></image>
 				<view class="fs-24 fc-a ml-10">搜索店铺名称或商品名称</view>
@@ -56,7 +57,7 @@
 						<view class="align-items-center" v-for="(item,i) in noticeList" :key="i"
 							@click="toNoticeDet(item)">
 							<view class="serial-num mr-10 fs-18 fc-f text-align-center"
-								:class="i + 1 === 1?'bgc-F75C2B':i + 1 === 2?'bgc-FC8E17':'bgc-47B0F0'">
+								:class="i + 1 === 1?'bgc-F5541E':i + 1 === 2?'bgc-FF5555':'bgc-4db8ff'">
 								{{ i + 1}}
 							</view>
 							<view class="fs-24 fc-0 text-overflow-ellipsis-one max-w-358">
@@ -150,8 +151,7 @@
 				<view class="yztg-box p-30 box-border-box">
 					<image class="tj-bg" src="@/static/img/index/tj-bg.png" mode=""></image>
 					<image class="qwzd-img z-2" src="@/static/img/index/qwzd.png" mode=""></image>
-					<view class="z-2 ptp-24 b-b-F0 align-items-center flex-justify-space mb-12"
-						v-for="(item,index) in group_goods_List" :key="index">
+					<view class="z-2 ptp-24 b-b-F0 align-items-center flex-justify-space mb-12" v-for="(item,index) in group_goods_List" :key="index" @click="goGroup(item)">
 						<view class="align-items-center">
 							<image v-show="index === 0" class="pm-img mr-20" src="@/static/img/index/1.png" mode="">
 							</image>
@@ -486,9 +486,15 @@
 			uni.removeStorageSync('orderInfoType')
 		},
 		onLoad(data) {
-			if (data.iCode !== undefined) {
-				uni.setStorageSync('inviteCode', data.iCode)
-			}
+			// scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
+			let scene = decodeURIComponent(data.scene)
+			scene = scene.split('&')
+			scene.forEach(item => {
+				let arr = item.split('=')
+				if (arr.length === 2) {
+					uni.setStorageSync(arr[0], arr[1]) 
+				}
+			})
 			this.page = 1;
 			this.goodsList = [];
 			this.getGoodsList();
@@ -530,6 +536,12 @@
 			})
 		},
 		methods: {
+			goGroup(item) {
+				uni.navigateTo({
+					url: '/pages-buy/group-goods-info?shop_id=' + item.shop_id + '&goods_id=' + item.goods_id +
+						'&shop_name=' + item.shop_name
+				});
+			},
 			goFeedback() {
 				// 问题反馈
 				uni.navigateTo({
@@ -849,7 +861,7 @@
 					})
 				} else if (type === 9) {
 					// 平台客服
-					
+
 				} else {
 					tools.error('暂未开放')
 				}

+ 1 - 1
pages/login/index.vue

@@ -192,7 +192,7 @@
 				});
 			},
 			async getUserInfo() {
-				this.from.invite_code = uni.getStorageSync('inviteCode');
+				this.from.invite_code = uni.getStorageSync('iCode');
 				const res = await membeRphoneLogin(this.from);
 				if (res.code == 1) {
 					uni.setStorageSync('token', res.data.token)

+ 59 - 1
pages/me/index.vue

@@ -41,6 +41,32 @@
 					</view>
 				</view>
 			</view>
+			<view class="align-items-center mb-24">
+				<view class="b-rad-20 bgc-f flex-1 mr-18 tdgl-box p-32 box-border-box" @click="goToUrl(13)">
+					<view class="align-items-center mb-8">
+						<view class="fs-32 fw-600 fc-3 mr-10">
+							团队管理
+						</view>
+						<image class="icons" src="@/static/img/toRight.png" mode=""></image>
+					</view>
+					<view class="fs-26 fc-6">
+						共{{userInfoData.clan_count || 0}}人
+					</view>
+					<image class="rdgl" src="@/static/img/my/tdgl.png" mode=""></image>
+				</view>
+				<view class="b-rad-20 bgc-f flex-1 tdgl-box p-32 box-border-box" @click="goToUrl(14)">
+					<view class="align-items-center mb-8">
+						<view class="fs-32 fw-600 fc-3 mr-10">
+							我的余额
+						</view>
+						<image class="icons" src="@/static/img/toRight.png" mode=""></image>
+					</view>
+					<view class="fs-26 fc-6">
+						余额:¥{{userInfoData.money || 0.00}}
+					</view>
+					<image class="rdgl" src="@/static/img/my/wdsy.png" mode=""></image>
+				</view>
+			</view>
 			<view class="function-two b-rad-20 box-border-box flex-justify-space mb-22" @click="goToUrl(5)">
 				<view class="function-two-left">
 					<view class="align-items-center mb-12 p-t-10">
@@ -54,7 +80,7 @@
 				<image class="function-two-right" src="@/static/img/my/q.png" mode=""></image>
 			</view>
 		</view>
-		<scroll-view class="" :scroll-y="true" class="scroll-view-css" @scrolltolower="scrolltolower">
+		<scroll-view class="" :scroll-y="false" class="" @scrolltolower="scrolltolower">
 			<view class="list-box function-one-box box-border-box">
 				<view class="list bgc-f b-rad-20">
 					<view class="item-box align-items-center flex-justify-space mb-64" @click="goToUrl(6)">
@@ -288,6 +314,16 @@
 					uni.navigateTo({
 						url: '/pages-my/notice/list'
 					})
+				} else if (type == 13) {
+					// 团队
+					uni.navigateTo({
+						url: `/pages-my/my-team?img=${this.userInfoData.head_img}&name=${this.userInfoData.nickname}`
+					})
+				} else if (type == 14) {
+					// 余额
+					uni.navigateTo({
+						url: `/pages-my/my-balance?money=${this.userInfoData.money}`
+					})
 				}
 			}
 		},
@@ -295,6 +331,28 @@
 </script>
 
 <style lang="scss" scoped>
+	.icons {
+		width: 32rpx;
+		height: 32rpx;
+	}
+
+	.z-2 {
+		position: relative;
+		z-index: 2;
+	}
+
+	.tdgl-box {
+		position: relative;
+	}
+
+	.rdgl {
+		width: 92rpx;
+		height: 92rpx;
+		position: absolute;
+		right: 0;
+		bottom: 0;
+	}
+
 	.item-right {
 		position: relative;
 	}

BIN
static/img/my/tdgl.png


BIN
static/img/my/wdsy.png