李万涛 1 gadu atpakaļ
vecāks
revīzija
52a74e7697
100 mainītis faili ar 2124 papildinājumiem un 1105 dzēšanām
  1. 87 1
      api/index/index.js
  2. 2 2
      main.js
  3. 1 1
      manifest.json
  4. 6 0
      pages.json
  5. 37 6
      pages/index/genHuiBen/index.scss
  6. 82 13
      pages/index/genHuiBen/index.vue
  7. 21 14
      pages/index/genRes/index.scss
  8. 140 49
      pages/index/genRes/index.vue
  9. 87 74
      pages/index/index.scss
  10. 146 50
      pages/index/index.vue
  11. 14 1
      pages/my/aboutUs/index.scss
  12. 30 4
      pages/my/aboutUs/index.vue
  13. 107 8
      pages/my/cash/index.vue
  14. 46 27
      pages/my/cashRecord/index.vue
  15. 4 1
      pages/my/charge/index.scss
  16. 133 15
      pages/my/charge/index.vue
  17. 0 33
      pages/my/huiBen_record - 副本/index.vue
  18. 3 2
      pages/my/huiBen_record/index.scss
  19. 118 20
      pages/my/huiBen_record/index.vue
  20. 17 10
      pages/my/index.scss
  21. 97 32
      pages/my/index.vue
  22. 0 91
      pages/my/index2.scss
  23. 0 215
      pages/my/index2.vue
  24. 37 5
      pages/my/jiangli/index.scss
  25. 44 30
      pages/my/jiangli/index.vue
  26. 39 16
      pages/my/kefu/index.vue
  27. 10 3
      pages/my/myRecord/index.scss
  28. 100 100
      pages/my/myRecord/index.vue
  29. 1 0
      pages/my/protocol/index.scss
  30. 75 0
      pages/my/protocol/index.vue
  31. 39 19
      pages/my/pubCenter/index.scss
  32. 50 28
      pages/my/pubCenter/index.vue
  33. 27 13
      pages/my/team/index.scss
  34. 50 24
      pages/my/team/index.vue
  35. 89 43
      pages/my/tuiguangDashi/index.scss
  36. 81 16
      pages/my/tuiguangDashi/index.vue
  37. 8 1
      pages/my/tuiguangHaibao/index.scss
  38. 60 42
      pages/my/tuiguangHaibao/index.vue
  39. 26 26
      pages/my/userInfo/index.vue
  40. 45 19
      pages/my/yongjinDetail/index.scss
  41. 76 29
      pages/my/yongjinDetail/index.vue
  42. BIN
      static/other/arrR.png
  43. BIN
      static/other/arrR2.png
  44. BIN
      static/other/biyan.png
  45. BIN
      static/other/c_arrR.png
  46. BIN
      static/other/defaultAvatar.png
  47. BIN
      static/other/edit.png
  48. BIN
      static/other/edit2.png
  49. BIN
      static/other/haibao_bg.png
  50. BIN
      static/other/huangguan.png
  51. BIN
      static/other/icon1.png
  52. BIN
      static/other/icon2.png
  53. BIN
      static/other/icon3.png
  54. BIN
      static/other/icon4.png
  55. BIN
      static/other/icon5.png
  56. BIN
      static/other/kefu.png
  57. BIN
      static/other/liujiaoxing.png
  58. BIN
      static/other/loading.gif
  59. BIN
      static/other/logo.png
  60. BIN
      static/other/logo_b.png
  61. BIN
      static/other/upCamera.png
  62. BIN
      static/other/wechat.png
  63. BIN
      static/other/yhk.png
  64. BIN
      static/other/zhifubao.png
  65. BIN
      static/other/zyan.png
  66. BIN
      static/tabbar/index_a.png
  67. BIN
      static/tabbar/my.png
  68. BIN
      static/tabbar/my_a.png
  69. 5 1
      uni_modules/uview-ui/components/u-picker/u-picker.vue
  70. 23 16
      unpackage/dist/build/mp-weixin/app.json
  71. 0 0
      unpackage/dist/build/mp-weixin/common/main.js
  72. 0 0
      unpackage/dist/build/mp-weixin/common/main.wxss
  73. 0 0
      unpackage/dist/build/mp-weixin/common/runtime.js
  74. 0 0
      unpackage/dist/build/mp-weixin/common/vendor.js
  75. 0 1
      unpackage/dist/build/mp-weixin/components/navBar/index.js
  76. 1 1
      unpackage/dist/build/mp-weixin/components/navBar/index.wxml
  77. 1 1
      unpackage/dist/build/mp-weixin/components/navBar/index.wxss
  78. 10 0
      unpackage/dist/build/mp-weixin/components/privacyPopup/index.js
  79. 6 0
      unpackage/dist/build/mp-weixin/components/privacyPopup/index.json
  80. 1 0
      unpackage/dist/build/mp-weixin/components/privacyPopup/index.wxml
  81. 1 0
      unpackage/dist/build/mp-weixin/components/privacyPopup/index.wxss
  82. 10 0
      unpackage/dist/build/mp-weixin/components/tabBar/index.js
  83. 4 0
      unpackage/dist/build/mp-weixin/components/tabBar/index.json
  84. 1 0
      unpackage/dist/build/mp-weixin/components/tabBar/index.wxml
  85. 1 0
      unpackage/dist/build/mp-weixin/components/tabBar/index.wxss
  86. 0 0
      unpackage/dist/build/mp-weixin/components/wike-painter/wike-painter.js
  87. 4 0
      unpackage/dist/build/mp-weixin/components/wike-painter/wike-painter.json
  88. 1 0
      unpackage/dist/build/mp-weixin/components/wike-painter/wike-painter.wxml
  89. 2 0
      unpackage/dist/build/mp-weixin/components/wike-painter/wike-painter.wxss
  90. 0 0
      unpackage/dist/build/mp-weixin/pages/index/genHuiBen/index.js
  91. 7 0
      unpackage/dist/build/mp-weixin/pages/index/genHuiBen/index.json
  92. 0 0
      unpackage/dist/build/mp-weixin/pages/index/genHuiBen/index.wxml
  93. 0 0
      unpackage/dist/build/mp-weixin/pages/index/genHuiBen/index.wxss
  94. 0 0
      unpackage/dist/build/mp-weixin/pages/index/genRes/index.js
  95. 6 0
      unpackage/dist/build/mp-weixin/pages/index/genRes/index.json
  96. 1 0
      unpackage/dist/build/mp-weixin/pages/index/genRes/index.wxml
  97. 0 0
      unpackage/dist/build/mp-weixin/pages/index/genRes/index.wxss
  98. 0 0
      unpackage/dist/build/mp-weixin/pages/index/index.js
  99. 4 1
      unpackage/dist/build/mp-weixin/pages/index/index.json
  100. 0 1
      unpackage/dist/build/mp-weixin/pages/index/index.wxml

+ 87 - 1
api/index/index.js

xqd xqd
@@ -17,7 +17,21 @@ export const getConsumerRecord = (params, config = {}) => http.get('/user/myCons
 
 
 
-export const getJingxuan = (params, config = {}) => http.get('/getHandpick', params, config)
+// export const getJingxuan = (params, config = {}) => http.get('/getHandpick', params, config)
+
+export const getJingxuan = (params, config = {}) => {
+
+	let apiUrl = '/getHandpick'
+	Object.keys(params).forEach((item, index) => {
+		if (index == 0) {
+			apiUrl += `?${item}=${params[item]}`
+		} else {
+			apiUrl += `&${item}=${params[item]}`
+		}
+	})
+	console.log('处理后的apiUrl', apiUrl);
+	return http.get(apiUrl, params, config)
+}
 
 
 
@@ -43,3 +57,75 @@ export const getGenRes = (params, config = {}) => {
 	console.log('处理后的apiUrl', apiUrl);
 	return http.get(apiUrl, params, config)
 }
+
+
+
+export const getbanner = (params, config = {}) => http.get('/banner', params, config)
+
+
+export const getyonghu = (params, config = {}) => http.get('/agreement', params, config)
+export const getyinsi = (params, config = {}) => http.get('/privacy', params, config)
+
+
+// 暂无接口--隐私协议
+export const getabout = (params, config = {}) => http.get('/privacy', params, config)
+
+
+
+
+// export const genPdf = (params, config = {}) => http.post('/ai/generate_pdf', params, config)
+
+export const genPdf = (params, config = {}) => {
+
+	let apiUrl = '/ai/downloadPdf'
+	Object.keys(params).forEach((item, index) => {
+		if (index == 0) {
+			apiUrl += `?${item}=${params[item]}`
+		} else {
+			apiUrl += `&${item}=${params[item]}`
+		}
+	})
+	console.log('处理后的apiUrl', apiUrl);
+	return http.get(apiUrl, params, config)
+}
+
+
+
+export const postZhaomu = (params, config = {}) => http.post('/user/applyShare', params, config)
+
+
+
+export const payConfig = (params, config = {}) => http.get('/payConfig', params, config)
+
+
+
+// 下单接口待实现
+export const submitOrder = (params, config = {}) => http.post('/user/recharge/create/order', params, config)
+
+
+
+
+export const getTeam = (params, config = {}) => http.get('/user/myTeam', params, config)
+
+
+export const getYongjinList = (params, config = {}) => http.get('/user/myGiveaway', params, config)
+
+
+
+
+export const userWithdraw = (params, config = {}) => http.post('/user/userWithdraw', params, config)
+
+
+
+export const cashList = (params, config = {}) => http.get('/user/userWithdrawList', params, config)
+
+
+
+
+export const getKefu = (params, config = {}) => http.get('/getServiceConfig', params, config)
+
+
+export const addTeam = (params, config = {}) => http.post('/user/userWithdraw', params, config)
+
+
+export const getCode = (params, config = {}) => http.get('/user/getUserRqCode', params, config)

+ 2 - 2
main.js

xqd
@@ -14,8 +14,8 @@ Vue.use(uView)
 import store from 'store/index.js'
 Vue.prototype.$store = store
 
-Vue.prototype.$picBase = '../../static/other/'
-Vue.prototype.$picBase2 = '../../../static/other/'
+Vue.prototype.$picBase = 'https://t18.9026.com/static/other/'
+Vue.prototype.$picBase2 = 'https://t18.9026.com/static/other/'
 
 import uploadUrl from '@/common/config.js'
 // Vue.prototype.$picUrl = uploadUrl.picUrl

+ 1 - 1
manifest.json

xqd
@@ -49,7 +49,7 @@
     "quickapp" : {},
     /* 快应用特有相关 */
     "mp-weixin" : {
-        "appid" : "wx98ab2939999e13de",
+        "appid" : "wxa7481605ea99a9a0",
         "setting" : {
             "urlCheck" : false
         },

+ 6 - 0
pages.json

xqd
@@ -127,6 +127,12 @@
 			"style": {
 				"navigationBarTitleText": "关于我们"
 			}
+		},
+		{
+			"path": "pages/my/protocol/index",
+			"style": {
+				"navigationBarTitleText": "使用协议"
+			}
 		}
 	],
 	"globalStyle": {

+ 37 - 6
pages/index/genHuiBen/index.scss

xqd xqd xqd xqd xqd
@@ -38,13 +38,16 @@
 	.container {
  .topBox{
 	height: 194rpx;
-	background: deepskyblue;
+	// background: deepskyblue;
 	border-radius: 0 0 40rpx 0;
 	
 	padding-top: 48rpx;
 	padding-left: 48rpx;
 	display: flex;
 	
+	background-size: cover;
+	background-repeat: no-repeat;
+	
 	.left{
 		.aiIcon{
 			width: 62rpx;
@@ -54,10 +57,12 @@
 	.right{
 		margin-left: 15rpx;
 		.label1{
-			font-size: 40rpx;
-			font-family: DOUYUFont;
-			color: #FFFFFF;
-			text-shadow: 0px 4px 8px rgba(0,67,181,0.16);
+			// font-size: 40rpx;
+			// font-family: DOUYUFont;
+			// color: #FFFFFF;
+			// text-shadow: 0px 4px 8px rgba(0,67,181,0.16);
+			width: 222rpx;
+			height: 54rpx;
 		}
 		.label2{
 			font-size: 32rpx;
@@ -85,6 +90,16 @@
 				display: flex;
 				align-items: center;
 				padding-left: 32rpx;
+				
+				position: relative;
+				
+				.starIcon{
+					width: 24rpx;
+					height: 24rpx;
+					position: absolute;
+					right: 0;
+					top: 0;
+				}
 			}
 			.uploadBox{
 				padding: 40rpx 32rpx;
@@ -157,6 +172,15 @@
 					display: flex;
 					align-items: center;
 					padding-left: 32rpx;
+					position: relative;
+					
+					.starIcon{
+						width: 24rpx;
+						height: 24rpx;
+						position: absolute;
+						right: 150rpx;
+						top: 0;
+					}
 				}
 			
 			
@@ -344,4 +368,11 @@
 			margin-bottom: 0rpx;
 		}
 	
-	}
+	}
+	
+	
+	// .my-picker .active{
+	//     background-color:#007AFF;
+	//     color:#007AFF;
+	// }
+	

+ 82 - 13
pages/index/genHuiBen/index.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -2,14 +2,15 @@
 	<view class="container">
 		<navBar title="绘本生成" :back="true" color="#333333" background="#FFFFFF" />
 
-		<view class="topBox">
+		<view class="topBox" :style="{'background-image':`url(${picBase+'hb_bg.png'})`}">
 			<view class="left">
-				<image :src="picBase+'upCamera.png'" mode="heightFix" class="aiIcon" @click="upload"></image>
+				<image :src="picBase+'hb_ai.png'" mode="heightFix" class="aiIcon" @click="upload"></image>
 			</view>
 			<view class="right">
-				<view class="label1">
+				<!-- <view class="label1">
 					纯AI制作
-				</view>
+				</view> -->
+				<image :src="picBase+'hb_txt.png'" mode="heightFix" class="label1" @click="upload"></image>
 				<view class="label2">
 					创作独一无二的绘本
 				</view>
@@ -17,11 +18,12 @@
 		</view>
 		<view class="mainBox">
 			<view class="titleBox">
+				<image :src="picBase+'s_star.png'" mode="heightFix" class="starIcon" @click="upload"></image>
 				上传一张故事主角的照片
 			</view>
 			<view class="uploadBox">
 				<view class="tipBox">
-					<image :src="picBase+'upCamera.png'" mode="heightFix" class="tipIcon" @click="upload"></image>
+					<image :src="picBase+'hb_tips.png'" mode="heightFix" class="tipIcon" @click="upload"></image>
 					绘本内容会根据您所上传的照片进行创作
 				</view>
 
@@ -40,6 +42,7 @@
 
 		<view class="parmasBox">
 			<view class="titleBox">
+				<image :src="picBase+'s_star.png'" mode="heightFix" class="starIcon" @click="upload"></image>
 				故事主角信息
 			</view>
 			<view class="inputBox">
@@ -80,7 +83,7 @@
 		<view class="pos">
 		</view>
 		<view class="btnBox">
-			<view class="left">
+			<view class="left" @click="toKefu">
 				<image :src="picBase+'kefu.png'" mode="heightFix" class="kfIcon">
 				</image>
 				客服
@@ -90,12 +93,12 @@
 					立即生成
 				</view>
 				<view class="bot">
-					绘本生成剩余次数:8
+					绘本生成剩余次数:{{diamond}}
 				</view>
 			</view>
 		</view>
 
-		<u-picker :show="show" title="性别选择" aColor="#007AFF" :columns="columns" confirmColor="#007AFF"
+		<u-picker :show="show" class="my-picker" title="性别选择" aColor="#007AFF" :columns="columns" confirmColor="#007AFF"
 			@confirm="confirm1" @cancel="show=false"></u-picker>
 		<u-picker :show="show2" title="年龄选择" keyName="label" aColor="#007AFF" :columns="columns2" confirmColor="#007AFF"
 			@confirm="confirm2" @cancel="show2=false"></u-picker>
@@ -117,6 +120,7 @@
 	import uploadUrl from '@/common/config.js'
 
 	import {
+		getUserInfo,
 		getRoleparmas,
 		postTask
 	} from '@/api/index/index.js'
@@ -145,7 +149,21 @@
 				columns2: [
 					[
 						'1岁',
-						'2岁'
+						'2岁',
+						'3岁',
+						'4岁',
+						'5岁',
+						'6岁',
+						'7岁',
+						'8岁',
+						'9岁',
+						'10岁',
+						'11岁',
+						'12岁',
+						'13岁',
+						'14岁',
+						'15岁',
+						'16岁',
 					]
 
 				],
@@ -163,16 +181,58 @@
 				columns5: [
 
 				],
-				roleId: -1
+				roleId: -1,
+
+				diamond: 0
 
 
 			}
 		},
-		onLoad() {
+		onLoad() {},
+		onShow() {
+			this.getUserInfo()
 			this.getRoleparmas()
 		},
 		methods: {
+
+			async getUserInfo() {
+				let res1 = await getUserInfo()
+				console.log('用户信息返回值--------', res1);
+				if (res1.code == 0) {
+					uni.setStorageSync('userInfo', res1.data)
+					this.diamond = res1.data.diamond
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
+			toKefu() {
+				uni.navigateTo({
+					url: '/pages/my/kefu/index'
+				})
+			},
 			async gen() {
+				if (this.diamond <= 0) {
+					wx.showModal({
+						title: '提示',
+						content: '您的剩余次数为' + this.diamond + ',请充值!',
+						confirmText: '去充值',
+						confirmColor: "#017EFF",
+						cancelText: '稍后',
+						success(res) {
+							if (res.confirm) {
+								console.log('用户点击确定')
+								uni.navigateTo({
+									url: '/pages/my/charge/index?from=gen'
+								})
+							} else if (res.cancel) {
+								console.log('用户点击取消')
+							}
+						}
+					})
+
+					return
+				}
 
 				// console.log('fileList1',this.fileList1[0].url);
 				// return
@@ -213,7 +273,7 @@
 				let res1 = await postTask(p)
 				console.log('生成任务提交返回值--------2', res1);
 				if (res1.code == 0) {
-					this.$toast('生成任务提交成功')
+					this.$toast('任务提交成功', 'success')
 					setTimeout(() => {
 						uni.navigateTo({
 							url: '/pages/index/genRes/index?taskId=' + res1.data.id
@@ -229,7 +289,11 @@
 				let res1 = await getRoleparmas()
 				console.log('角色列表返回值--------2', res1);
 				if (res1.code == 0) {
-					this.columns5[0] = res1.data.data
+					if (res1.data.data.length != 0) {
+						this.columns5[0] = res1.data.data
+					} else {
+						this.columns5[0] = ['暂无']
+					}
 					// this.chargeList=[]
 				} else {
 					this.$toast(res1.message)
@@ -256,6 +320,11 @@
 				this.show4 = false
 			},
 			confirm5(e) {
+
+				if (e.value[0] == '暂无') {
+					this.show5 = false
+					return
+				}
 				console.log('e-----5', e.indexs[0], e.value[0]);
 				this.formData.class = e.value[0].level
 				this.formData.nickName = e.value[0].name

+ 21 - 14
pages/index/genRes/index.scss

xqd xqd xqd
@@ -31,9 +31,12 @@
 		 padding: 0 40rpx;
 		 
 		 .bgTag{
-		 			 width: 434rpx;
-		 			 height: 54rpx;
-		 			 background: linear-gradient(132deg, #4FDDFF 0%, #5ECFFF 49%, #017AFF 100%);
+		 			width: 434rpx;
+		 			 // max-width:60vw;
+		 			 min-height:54rpx;
+					 
+					 padding: 0 20rpx;
+		 			 // background: linear-gradient(132deg, #4FDDFF 0%, #5ECFFF 49%, #017AFF 100%);
 		 			 // filter: blur(0.5px);
 		 			 font-size: 36rpx;
 		 			 font-family: SourceHanSansCN, SourceHanSansCN;
@@ -45,13 +48,26 @@
 		 			 
 		 			 margin-left: 50%;
 		 			 transform: translate(-50%,-50%);
+					 
+					 background-size: 100% 100%;
+					 background-repeat: no-repeat;
 		 }
 		 
 			 .storeBox{
 		
 			// overflow: hidden;
 			position: relative;
-			 overflow: auto; /* 清除float的影响 */
+			 // overflow: auto; /* 清除float的影响 */
+
+				 .loadingImg{
+				 	position: absolute;
+				 	top: 150rpx;
+				 	left: 50%;
+				 	width: 500rpx;
+				 	height: 500rpx;
+					transform: translate(-50%,0%);
+					
+				 }
 			
 				 text{
 					 font-size: 28rpx;
@@ -141,13 +157,4 @@
 	}
 	
 	
-	.loadingBox{
-		// background: red;
-		.loadingImg{
-			// width: 50%;
-			margin-top: 40%;
-			// transform: translateY(-50%);
-			// margin-left: 50%;
-			// transform: translate(-50%,-50%);
-		}
-	}
+		

+ 140 - 49
pages/index/genRes/index.vue

xqd xqd xqd
@@ -6,16 +6,17 @@
 			</view>
 
 			<view class="contentBox">
-				<view class="bgTag">
+				<view class="bgTag" :style="{'background-image':`url(${picBase+'resBg.png'})`}">
 					{{huibenRes.title?huibenRes.title:'内容生成中...'}}
 				</view>
 				<view class="storeBox">
 
-					<view class="loadingBox" v-if="showLoading">
-						<image class="loadingImg" mode="widthFix" :src="picBase+'loading.gif'"></image>
-					</view>
+					<image class="loadingImg" mode="widthFix" :src="picBase+'loading.gif'" v-if="showLoading">
+					</image>
 
-					<u-parse v-else :content="huibenRes.pinyin_content"></u-parse>
+
+					<u-parse :content="huibenRes.pinyin_content" @ready="loaded"></u-parse>
+					<!-- <u-parse :content="huibenRes.pinyin_content" @load="loaded"></u-parse> -->
 
 					<!-- <u-parse :content="content"></u-parse> -->
 				</view>
@@ -24,56 +25,22 @@
 		</view>
 
 		<view class="btnBox">
-			<view class="btn b1">
+			<view class="btn b1" @click="downPdf">
 				下载PDF
 			</view>
-			<view class="btn b2">
+			<view class="btn b2" @click="downPic">
 				下载图片
 			</view>
 		</view>
 	</view>
 </template>
 
-<script>
-	export default {
-		data() {
-			return {
-				webviewStyles: {
-					progress: {
-						color: '#FF3333'
-					}
-				}
-			}
-		}
-	}
-</script>
-
-<style>
-
-</style>
-复制代码
-
-</view>
-</view>
-</view>
-
-
-
-<view class="btnBox">
-	<view class="btn b1">
-		下载PDF
-	</view>
-	<view class="btn b2">
-		下载图片
-	</view>
-</view>
-</view>
-</template>
 
 <script>
-	import content from "../../../utils/pinyin.js"
+	// import content from "../../../utils/pinyin.js"
 	import {
-		getGenRes
+		getGenRes,
+		genPdf
 	} from '@/api/index/index.js'
 	// import navBar from '@/components/navBar/index.vue'
 	export default {
@@ -87,24 +54,148 @@
 				huibenRes: null,
 				showLoading: true,
 				timer: null,
-				content: ''
+				content: '',
+
+				huibenDetail: null
 			}
 		},
 		onLoad(o) {
 
-			console.log('content', content);
-			this.content = content.content
+			// console.log('content', content);
+			// this.content = content.content
 			if (o.taskId) {
 				this.taskId = o.taskId
-
+				this.showLoading = true
 				console.log('this.taskId', this.taskId);
 
 				this.timer = setInterval(() => {
 					this.getGenRes()
-				}, 1000)
+				}, 2000)
+			}
+
+			if (getApp().huibenDetail) {
+				// this.showLoading = false
+				// this.huibenDetail = getApp().huibenDetail
+
+				this.huibenRes = getApp().huibenDetail
+				this.content = `${getApp().huibenDetail.pinyin_content}`
+
+				// setTimeout(() => {
+				// 	this.showLoading = false
+				// }, 5000);
+
+				console.log('接收的绘本详情', getApp().huibenDetail);
+				getApp().huibenDetail = null
 			}
+
 		},
 		methods: {
+
+			downPic() {
+				if (!uni.getStorageSync('token')) {
+					return this.$toast('请登录后操作')
+				}
+				console.log('img-path', this.huibenRes.image_path);
+				// this.pictureReview(this.huibenRes.image_path)
+				this.download(this.huibenRes.image_path, 2)
+			},
+
+			pictureReview(arr) {
+				uni.previewImage({
+					urls: [arr],
+					longPressActions: {
+						itemList: ['发送给朋友', '保存图片', '收藏'],
+						success: function(data) {
+							console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+						},
+						fail: function(err) {
+							console.log(err.errMsg);
+						}
+					}
+				});
+			},
+			loaded() {
+				this.showLoading = false
+				console.log('loaded()------');
+			},
+			async downPdf() {
+				if (!uni.getStorageSync('token')) {
+					return this.$toast('请登录后操作')
+				}
+				console.log('downPdf-------------', {
+					id: this.taskId != -1 ? this.taskId : this.huibenRes.id
+					// id: 4
+				});
+				let res1 = await genPdf({
+					id: this.taskId != -1 ? this.taskId : this.huibenRes.id
+					// id: 4
+				})
+				console.log('获取pdfurl返回值--------2', res1);
+
+				if (res1.code == 0) {
+
+					console.log('pdf地址:', res1.data.url);
+					this.download(res1.data.url, 1)
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
+			download(file, type) {
+				let _this = this
+				uni.showLoading({
+					title: '下载中'
+				});
+				//下载文件
+				uni.downloadFile({ //只能是GET请求
+					url: file, //请求地址(后台返回的码流地址)
+					success: (res) => {
+						//下载成功
+						if (res.statusCode === 200) {
+							//保存文件
+							let tempFile = res.tempFilePath;
+
+							if (type == 2) {
+								uni.hideLoading()
+								return _this.pictureReview(tempFile)
+							}
+							//保存成功之后 打开文件
+							uni.getFileSystemManager().saveFile({
+								tempFilePath: tempFile,
+								// filePath: wx.env.USER_DATA_PATH + '/' + '上传成员.pdf',//自定义文件名
+								success(res) {
+									console.log(res)
+									uni.openDocument({
+										filePath: res.savedFilePath,
+										showMenu: true, //是否可以分享
+										success: (res) => {
+											uni.hideLoading()
+											console.log(res);
+										},
+										fail: (e) => {
+											uni.showToast({
+												title: '打开失败',
+												icon: "error"
+											})
+										}
+									})
+
+								}
+							})
+						}
+					},
+					fail: (e) => {
+						console.log(e, '文件下载失败')
+						uni.showToast({
+							title: '文件下载失败',
+							icon: "error",
+						})
+					}
+				});
+
+
+			},
+
 			onBack() {
 
 				console.log('onBack()-----------');

+ 87 - 74
pages/index/index.scss

xqd xqd
@@ -19,121 +19,132 @@
 	
 }
 .mainContent{
-	padding-top: 32rpx;
-	padding-right: 32rpx;
-	padding-left: 20rpx;
+	padding-top: 14rpx;
+	
 	
 	margin-top:-38rpx;
 	position: relative;
 	z-index: 9;
-	background:#CCDBE9;
+	// background:#CCDBE9;
+	// border: 4rpx solid #FFFFFF;
 	min-height:calc(100vh - 450rpx);
 	border-radius: 0rpx 56rpx 0rpx 0rpx;
+	padding-bottom: 180rpx;
 	
-	border: 4rpx solid #FFFFFF;
+	background-size: 100% 1392rpx;
 	
-	padding-bottom: 180rpx;
+	background-repeat: no-repeat;
 	.topBox{
-		height: 220rpx;
-		background: white;
-		border-radius: 32rpx;
+		height: 260rpx;
+		// background: white;
+		// border-radius: 32rpx;
 		display: flex;
-		border: 4rpx solid #FFFFFF;
-		.left{
-			width: 60%;
-			height: 100%;
-			display: flex;
-			align-items: center;
-			flex-wrap: nowrap;
-			overflow-x: scroll;
-			.item{
-				width: 164rpx;
-				height: 164rpx;
-				border-radius: 32rpx;
-				margin-right: 20rpx;
-				flex-shrink:0
-			}
-			.item:last-child{
-				margin-right: 32rpx;
-			}
-		}
+		background-size: 100% 100%;
+		
+		background-repeat: no-repeat;
+		// border: 4rpx solid #FFFFFF;
 		
-		.right{
-			height: 220rpx;
-			width: 42%;
-			background: linear-gradient(132deg, #0298FF 0%, #017AFF 100%);
-			border-radius: 0rpx 32rpx 32rpx 0rpx;
+		
+		display: flex;
+		flex-direction: column;
+		padding-left: 110rpx;
+		padding-top: 36rpx;
+		
+		.top{
+			font-size: 24rpx;
+			font-family: SourceHanSansCN, SourceHanSansCN;
+			font-weight: bold;
+			color: #007AFF;
 			
-			padding-left: 32rpx;
-			padding-top: 50rpx;
-			box-sizing: border-box;
-			.t1{
-				font-size: 20rpx;
+			// width: 100%;
+			text-align: right;
+			padding-right: 88rpx;
+		}
+		.bot{
+			.center{
+				font-size: 30rpx;
 				font-family: SourceHanSansCN, SourceHanSansCN;
 				font-weight: 500;
 				color: #FFFFFF;
-			}
-			.t2{
-				font-size: 32rpx;
-				font-family: SourceHanSansCN, SourceHanSansCN;
-				font-weight: 800;
-				color: #FFFFFF;
-				// margin-top: 6rpx;
-			}
-			.btnBox{
-				width: 198rpx;
-				height: 54rpx;
-				background: linear-gradient(180deg, #90E5FF 0%, #4EDCFF 100%);
-				border-radius: 8rpx;
+				
+				width: 250rpx;
+				height: 44rpx;
+				background: linear-gradient(90deg, #007AFF 0%, rgba(1,136,255,0) 100%);
+				border-radius: 26rpx;
+				
+				padding-left: 20rpx;
 				display: flex;
 				align-items: center;
-				justify-content: center;
-				
-				font-size: 32rpx;
-				font-family: SourceHanSansCN, SourceHanSansCN;
-				font-weight: 500;
+			}
+			.slogn{
+				font-size: 44rpx;
+				font-family: FZLANTY_TEK--GBK1, FZLANTY_TEK--GBK1;
+				font-weight: normal;
 				color: #FFFFFF;
-				margin-top: 24rpx;
-				
-				// .txt{
-				// 	width: 100%;
-				// }
-				.arrIcon{
-					width: 28rpx;
-					height: 28rpx;
-					background: #FFFFFF;
-					opacity: 0.19;
-					margin-left: 8rpx;
+				line-height: 44rpx;
+				margin-top: 12rpx;
+				.wArr{
+					width: 14rpx;
+					height: 24rpx;
+					margin-left: 16rpx;
 				}
 			}
 		}
+		
+		
 	}
 	.botBox{
+		padding-right: 32rpx;
+		padding-left: 20rpx;
+		background-size: 100% 366rpx;
+		
+		background-repeat: no-repeat;
+		padding-top: 24rpx;
+		
 		.title{
+			padding-left: 30rpx;
 			font-size: 36rpx;
 			font-family: SourceHanSansCN, SourceHanSansCN;
 			font-weight: 800;
 			color: #333333;
+			display: flex;
+			align-items: center;
 			.bookIcon{
 				width: 35rpx;
 				height: 35rpx;
+				margin-left: 12rpx;
 			}
+			margin-bottom: 32rpx;
 		}
 		.list{
-			display: flex;
-			flex-wrap: wrap;
-			justify-content:space-between;
+			// display: flex;
+			// flex-wrap: wrap;
+			// justify-content:space-between;
+			
+			// justify-content: space-between;
+			column-count: 2; /* 列数 */
+			    column-gap: 4vw; /* 列间距 */
+			
 			
 			.item{
-				width: 48%;
-				// height: 408rpx;
+				 // display: inline-block;
+				 //    box-sizing: border-box;
+				break-inside: avoid; 
+				width: 45vw;
 				background: #FFFFFF;
 				box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(0,14,83,0.02);
 				border-radius: 16rpx;
 				margin-bottom: 18rpx;
+				height: auto;
+				
+				// flex-shrink: 0;
+				
+				// display: flex;
+				//   flex-direction: column;
+				//   align-items: start;
 				.pic{
 					width: 100%;
-					min-height: 336rpx;
+					// min-height: 336rpx;
 					border-radius: 20rpx;
 					
 				}
@@ -142,10 +153,12 @@
 					font-family: PingFang-SC, PingFang-SC;
 					font-weight: bold;
 					color: #333333;
-					height: 72rpx;
+					min-height: 72rpx;
+					// height: 72rpx;
 					display: flex;
 					align-items: center;
 					padding-left: 20rpx;
+					padding-bottom: 24rpx;
 				}
 			}
 		}

+ 146 - 50
pages/index/index.vue

xqd xqd xqd xqd
@@ -4,65 +4,84 @@
 
 		<!-- 轮播图 -->
 		<view class="swiperBox">
-			<u-swiper height="514rpx" :autoplay="false" :list="list1" @change="change" @click="click">
+			<u-swiper height="514rpx" imgMode="heightFix" :autoplay="false" :list="list1" @change="change"
+				@click="click">
 			</u-swiper>
 		</view>
 
 
 
-		<view class="mainContent">
-			<view class="topBox">
-				<view class="left">
-					<image class="item" v-for="(item,index) in list1" :src="item"
-						:style="{'margin-left':index==0?'32rpx':'0'}">
-					</image>
+		<view class="mainContent" :style="{'background-image':`url(${picBase+'indexBg.png'})`}">
+			<view class="topBox" :style="{'background-image':`url(${picBase+'indexCardBg.png'})`}" @click="toGen">
+				<view class="top">
+					即 刻 生 成
 				</view>
-
-				<view class="right">
-					<view class="t1">
-						CHILDREN PICTURE BOO
+				<view class="bot">
+					<view class="center">
+						给孩子一个
 					</view>
-					<view class="t2">
-						专属故事
-					</view>
-					<view class="btnBox" @click="toGen">
-						即刻代写
-						<image class="arrIcon">
-						</image>
+					<view class="slogn">
+						独一无二的故事礼物
+						<image class="wArr" :src="picBase+'wArr.png'" mode=""></image>
 					</view>
 				</view>
+
+
+
 			</view>
 
-			<view class="botBox">
+			<view class="botBox" :style="{'background-image':`url(${picBase+'indexBg2.png'})`}">
 				<view class="title">
 					精选绘本故事
-					<image class="bookIcon">
+					<image class="bookIcon" :src="picBase+'indexBook.png'">
 					</image>
 				</view>
-				<view class="list">
-					<view class="item" v-for="(item,index) in jingxuanList">
-						<image class="pic" :src="item.sd_image.replace('localhost:8000',baseUrl)" mode="widthFix">
+				<view class="empty" style="margin-top: 50%;" v-if="jingxuanList.length==0">
+					<u-empty mode="data" />
+				</view>
+				<!-- <view class="" v-else>
+					
+				</view> -->
+				<view class="list" v-else>
+					<view v-if="index % 2==0" class="item" v-for="(item,index) in jingxuanList"
+						@click="toHuibenDetail(item)" :key="index">
+						<image class="pic" :src="'https://'+item.sd_image" mode="widthFix">
 						</image>
 						<view class="des">
 							{{item.title}}
 						</view>
 					</view>
+
+					<view v-if="index % 2==1" class="item" v-for="(item,index) in jingxuanList"
+						@click="toHuibenDetail(item)" :key="index">
+						<image class="pic" :src="'https://'+item.sd_image" mode="widthFix">
+						</image>
+						<view class="des">
+							{{item.title}}
+						</view>
+					</view>
+
+
 				</view>
-			</view>
-			<tabBar :tabBarList="tabBarList" :routePath="routePath" @onTabBar="onTabBar" />
 
-			<!-- 隐私弹框 -->
-			<privacy-popup @confirmP="confirmP" :urlTitle="urlTitle" @cancleP="cancleP"
-				:showPrivateBox="showPop"></privacy-popup>
-		</view>
+				<u-loadmore :status="status" />
+				<tabBar :tabBarList="tabBarList" :routePath="routePath" @onTabBar="onTabBar" />
+
+				<!-- 隐私弹框 -->
+				<privacy-popup @confirmP="confirmP" :urlTitle="urlTitle" @cancleP="cancleP"
+					:showPrivateBox="showPop"></privacy-popup>
+			</view>
 
 
+		</view>
 	</view>
 </template>
 
 <script>
 	import {
-		getJingxuan
+		getJingxuan,
+		getbanner,
+		addTeam
 	} from '@/api/index/index.js'
 	import PrivacyPopup from "@/components/privacyPopup/index.vue";
 	import uploadUrl from '@/common/config.js'
@@ -72,10 +91,12 @@
 		},
 		data() {
 			return {
-				baseUrl:uploadUrl.baseUrl,
-				jingxuanList:[],
-				
-				navImg: require('@/static/other/logo.png'),
+				status: 'nomore',
+				picBase: this.$picBase,
+				baseUrl: uploadUrl.baseUrl,
+				jingxuanList: [],
+
+				navImg: this.$picBase + 'logo.png',
 				showPop: false,
 				urlTitle: '',
 
@@ -99,13 +120,29 @@
 					}
 				],
 				routePath: '',
+				// bannerList: [],
+
+
+				total: 0,
+				page: 1,
+
 			}
 		},
 
-		onLoad(o) {
-			
-			
-			
+		async onLoad(o) {
+			// 处理团队推广逻辑
+			console.log('index----onload参数', o);
+			if (o.scene) {
+				uni.setStorageSync('inviteInfo', o.scene)
+				// this.addTeam({
+				// 	id: o.scen
+				// })
+			}
+			//  else {
+			// 	uni.setStorageSync('inviteInfo', o.scen)
+			// }
+
+
 			uni.hideTabBar()
 			let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
 			let curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由
@@ -115,25 +152,84 @@
 		},
 		onShow() {
 			this.handlePrivate()
-			
+			this.getbanner()
+
+		},
+		onReachBottom() {
+			console.log('onReachBottom()------------------------');
+
+			if (this.jingxuanList.length < this.total) {
+				this.status = 'loading'
+				this.getJingxuan()
+			}
 		},
 		methods: {
-			async getJingxuan() {
-						let res1 = await getJingxuan()
-						console.log('首页精选返回值--------2', res1);
-						if (res1.code == 0) {
-							this.jingxuanList=res1.data.data
-							// this.chargeList=[]
-						} else {
-						this.$toast(res1.message)
-						}
-					},
-			
 			toGen() {
+				uni.navigateTo({
+					url: '/pages/index/genHuiBen/index'
+				})
+			},
+
+			toHuibenDetail(item) {
+				getApp().huibenDetail = item
 				uni.navigateTo({
 					url: '/pages/index/genRes/index'
 				})
 			},
+			async addTeam(p) {
+				let res1 = await addTeam(p)
+				console.log('加入团队返回值--------2', res1);
+				if (res1.code == 0) {
+					console.log('加入团队成功--------------------------------');
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+			async getbanner() {
+				let res1 = await getbanner()
+				console.log('首页轮播图返回值--------2', res1);
+				if (res1.code == 0) {
+					let tempList = []
+
+					res1.data.forEach((item, index) => {
+						tempList.push(uploadUrl.baseUrl + '/' + item.image_path)
+					})
+
+					// this.list1 = tempList
+					console.log('list1', this.list1);
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+			async getJingxuan() {
+
+				let res1 = await getJingxuan({
+					page: this.page,
+					// size: 2
+				})
+				console.log('首页精选返回值--------2', res1.data.data);
+				if (res1.code == 0) {
+					this.total = res1.data.total
+					// this.jingxuanList = [1]
+
+					this.jingxuanList = this.jingxuanList.concat(res1.data.data)
+					this.status = 'nomore'
+
+					console.log('page', this.page, 'this.jingxuanList', this.jingxuanList);
+					this.page++
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
+			toGen() {
+				if (!uni.getStorageSync('token')) {
+					return this.$toast('请登录后操作')
+				}
+				uni.navigateTo({
+					url: '/pages/index/genHuiBen/index'
+				})
+			},
 			handlePrivate() {
 				let _this = this
 				if (uni.getPrivacySetting) {

+ 14 - 1
pages/my/aboutUs/index.scss

xqd
@@ -3,7 +3,20 @@
 	}
  
 	.container {
+		padding: 30rpx;
  .topBox{
-	
+		min-height: 75vh;
+		}
+		
+		.btnBox{
+			display: flex;
+			align-items: center;
+			justify-content: space-around;
+			margin-top: 50rpx;
+			.item{
+				color: #017CFF;
+				border-bottom: 2rpx solid #017CFF;
+				padding-bottom: 10rpx;
+			}
 		}
 	}

+ 30 - 4
pages/my/aboutUs/index.vue

xqd
@@ -3,27 +3,53 @@
 		<navBar title="关于我们" :back="true" color="#333333" background="#FFFFFF" />
 
 		<view class="topBox">
-			关于我们
+			<u-parse :content="content"></u-parse>
+		</view>
+
+		<view class="btnBox">
+			<view class="item" @click="toProtocol(1)">
+				使用协议
+			</view>
+			<view class="item" @click="toProtocol(2)">
+				隐私协议
+			</view>
 		</view>
 	</view>
 </template>
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		getKefu,
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
-
+				content: ''
 			}
 		},
 		onLoad() {
-
+			this.getabout()
 		},
 		methods: {
-
+			async getabout() {
+				let res1 = await getKefu()
+				console.log('关于我们返回值--------2', res1);
+				if (res1.code == 0) {
+					this.content = res1.data.about.value
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+			toProtocol(type) {
+				uni.navigateTo({
+					url: '/pages/my/protocol/index?type=' + type
+				})
+			}
 		}
 	}
 </script>

+ 107 - 8
pages/my/cash/index.vue

xqd xqd xqd xqd xqd
@@ -10,9 +10,9 @@
 					</view>
 					<view class='right' @click="handleOpen">
 						<image class='icon' mode=""
-							:src="currWayIndex[0]==0?'../../../static/other/wechat.png':currWayIndex[0]==1?'../../../static/other/zhifubao.png':'../../../static/other/yhk.png'" />
+							:src="currWayIndex[0]==0?picBase+'wechat.png':currWayIndex[0]==1?picBase+'zhifubao.png':picBase+'yhk.png'" />
 						{{currWay}}
-						<image class='icon_arrR' mode="" src="../../../static/other/c_arrR.png" />
+						<image class='icon_arrR' mode="" :src="picBase+ 'c_arrR.png'" />
 					</view>
 				</view>
 
@@ -65,7 +65,7 @@
 
 				<view class='botTxt'>
 					<!-- <image class='icon' mode="" src="{{picBaseUrl+'winfo.png'}}"/> -->
-					<image class='icon' mode="" src="../../../static/other/wechat.png" />
+					<image class='icon' mode="" :src="picBase+'info_b.png'" />
 
 					<view class='right'>
 						<view class='item' @click="toCashRecord">
@@ -96,12 +96,18 @@
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		userWithdraw,
+		getYongjinList
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
+				picBase: this.$picBase2,
 				wayList: [
 					[
 						'微信余额',
@@ -122,10 +128,103 @@
 				showPopup: false,
 			}
 		},
-		onLoad() {
-
+		onLoad(o) {
+			// if (getApp().availMoney) {
+			// this.availMoney = Number(o.availMoney || 0)
+			// console.log('传递过来的可提现余额', o.availMoney)
+			// }
+			this.getYongjinList()
 		},
 		methods: {
+			async getYongjinList() {
+				let res1 = await getYongjinList()
+				console.log('佣金明细返回值--------', res1);
+				if (res1.code == 0) {
+					this.availMoney = Number(res1.data.withdrawIncome || 0)
+					console.log('可提现佣金--------', this.availMoney);
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+			async post() {
+				if (Number(this.formData.money) > this.availMoney) {
+					return wx.showToast({
+						title: '可提现余额不足',
+						icon: 'none'
+					})
+				} else
+				if (!this.formData.money) {
+					return wx.showToast({
+						title: '请输入提现金额',
+						icon: 'none'
+					})
+				}
+				// else if (Number(this.formData.money) < Number(this.tipInfo.minAmount.slice(0, -1)) ) {
+				//     return wx.showToast({
+				//       title: '单次最低提现金额为' + this.tipInfo.minAmount,
+				//       icon: 'none'
+				//     })
+				//   } 
+				else if (!this.formData.name) {
+					return wx.showToast({
+						title: '请输入名字',
+						icon: 'none'
+					})
+				} else if (!this.formData.bankName && this.currWay == '银行卡') {
+					return wx.showToast({
+						title: '请输入开户行名称',
+						icon: 'none'
+					})
+				} else if (!this.formData.account) {
+					return wx.showToast({
+						title: '请输入账号',
+						icon: 'none'
+					})
+				}
+
+				let p = {}
+
+				if (this.currWayIndex[0] == 0) {
+					p = {
+						type: this.currWayIndex[0] + 1,
+						amount: this.formData.money,
+						name: this.formData.name,
+						number: this.formData.account,
+					}
+				} else if (this.currWayIndex[0] == 1) {
+					p = {
+						type: this.currWayIndex[0] + 1,
+						amount: this.formData.money,
+						name: this.formData.name,
+						number: this.formData.account,
+					}
+				} else {
+					p = {
+						type: this.currWayIndex[0] + 1,
+						amount: this.formData.money,
+						name: this.formData.name,
+						number: this.formData.account,
+						bank_name: this.formData.bankName,
+					}
+				}
+				console.log('提现参数', p, this.formData, this.currWayIndex[0]);
+
+				// return
+				let res1 = await userWithdraw(p)
+				console.log('提现返回值--------', res1);
+				if (res1.code == 0) {
+					this.$toast('提交成功', 'success')
+					setTimeout(() => {
+						uni.navigateTo({
+							url: '/pages/my/cashRecord/index'
+						})
+					}, 1500)
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
+
 			handleConfirm(e) {
 				console.log('e', e, );
 				this.currWay = e.value[0]
@@ -135,9 +234,9 @@
 			handleOpen() {
 				this.showPopup = true
 			},
-			post() {
-				console.log('提现参数', this.formData, this.currWayIndex);
-			},
+			// post() {
+			// 	console.log('提现参数', this.formData, this.currWayIndex);
+			// },
 			toCashRecord() {
 				uni.navigateTo({
 					url: '/pages/my/cashRecord/index'

+ 46 - 27
pages/my/cashRecord/index.vue

xqd xqd
@@ -3,34 +3,41 @@
 		<navBar title="提现记录" :back="true" color="#333333" background="#FFFFFF" />
 
 		<view class="list">
-			<view class="item" v-for="i in 4">
-				<view class="top">
-					<view class="name">
-						提现至微信
-					</view>
-					<view class="money">
-						¥100
-					</view>
-				</view>
-				<view class="bot">
-					<view class="item1">
-						<view class="left">
-							申请状态
+			<view class="empty" style="margin-top: 50%;" v-if="list.length==0">
+				<u-empty mode="data" />
+			</view>
+
+			<view class="" v-else>
+				<view class="item" v-for="(item,index) in list">
+					<view class="top">
+						<view class="name">
+							提现至{{item.type==1?'微信':item.type==2?'支付宝':'银行卡'}}
 						</view>
-						<view class="right">
-							申请中
+						<view class="money">
+							¥{{item.amount}}
 						</view>
 					</view>
-					
-					<view class="refuseBox">
-						拒绝原因:这是一个拒绝提现,具体为什么拒绝,账号有问题
-					</view>
-					<view class="item1">
-						<view class="left">
-							申请时间
+					<view class="bot">
+						<view class="item1">
+							<view class="left">
+								申请状态
+							</view>
+							<view class="right"
+								:style="{color:item.state==0?'#EF8116':item.state==1?'#1BD03B':'#EC1E1E'}">
+								{{item.state==0?'待审核':item.state==1?'审核通过':'拒绝'}}
+							</view>
 						</view>
-						<view class="right rb">
-							2023-10-20 12:21
+
+						<view class="refuseBox" v-if="item.state==2">
+							拒绝原因:{{item.not_desc}}
+						</view>
+						<view class="item1">
+							<view class="left">
+								申请时间
+							</view>
+							<view class="right rb">
+								{{item.created_at}}
+							</view>
 						</view>
 					</view>
 				</view>
@@ -41,20 +48,32 @@
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		cashList,
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
-
+				list: []
 			}
 		},
 		onLoad() {
-
+			this.cashList()
 		},
 		methods: {
-
+			async cashList() {
+				let res1 = await cashList()
+				console.log('提现记录返回值--------', res1);
+				if (res1.code == 0) {
+					this.list = res1.data.data
+				} else {
+					this.$toast(res1.message)
+				}
+			},
 		}
 	}
 </script>

+ 4 - 1
pages/my/charge/index.scss

xqd
@@ -4,11 +4,14 @@
  
 	.container {
 		.addBg{
-			background: skyblue;
+			// background: skyblue;
 			
 			min-height: 100vh;
 			
 			padding: 38rpx 30rpx;
+			
+			background-size: 100% 410rpx;
+			background-repeat: no-repeat;
 			.topBox{
 				display: flex;
 				align-items: center;

+ 133 - 15
pages/my/charge/index.vue

xqd xqd xqd xqd
@@ -2,18 +2,19 @@
 	<view class="container">
 		<navBar title="充值次数" :back="true" color="#333333" background="#FFFFFF" />
 
-		<view class="addBg">
+		<view class="addBg" :style="{'background-image':`url(${picBase+'chargeBg.png'})`}">
 			<view class="topBox">
 				<view class="userBox">
-					<image class="avatar" :src="picBase+'edit.png'" mode=""></image>
+					<image class="avatar" :src="!userInfo.avatar?picBase+'defaultAvatar.png':userInfo.avatar" mode="">
+					</image>
 
 					<view class="right">
 						<view class="nickname">
-							刘晓艺
+							{{userInfo.name?userInfo.name:'默认用户'}}
 						</view>
 						<view class="bot">
-							<image class="icon" :src="picBase+'edit.png'" mode=""></image>
-							绘画次数:3
+							<image class="icon" :src="picBase+'charge_yibiao.png'" mode=""></image>
+							绘画次数:{{userInfo.diamond}}
 						</view>
 					</view>
 				</view>
@@ -29,25 +30,25 @@
 				<view class="tagLine">
 
 				</view>
-				<view class="carItem " :class="[index==curIndex?'bor':'']" v-for="(item,index) in 8"
-					@click="selTaocan(index)">
+				<view class="carItem " :class="[index==curIndex?'bor':'']" v-for="(item,index) in list"
+					@click="selTaocan(index,item.id)">
 					<view class="left">
 						<view class="name">
-							新用户专享套餐
+							{{item.title}}
 						</view>
 						<view class="count">
-							次数:1
+							次数:{{item.diamond}}
 						</view>
 					</view>
 					<view class="right">
-						¥1
+						¥{{item.amount}}
 					</view>
 				</view>
 			</view>
 
 		</view>
 		<view class="btnBox">
-			<view class="btn">
+			<view class="btn" @click="goumai">
 				立即购买
 			</view>
 		</view>
@@ -56,6 +57,13 @@
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		payConfig,
+		getUserInfo,
+
+		submitOrder
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
@@ -64,19 +72,129 @@
 			return {
 				picBase: this.$picBase2,
 				curIndex: 0,
+				list: [],
+				userInfo: null,
+				seledId: -1,
+
+
+				from: ''
 			}
 		},
-		onLoad() {
-
+		onLoad(o) {
+			if (o.from) {
+				this.from = o.from
+			}
+			this.payConfig()
+			this.getUserInfo()
 		},
 		methods: {
-			selTaocan(i) {
+			async getUserInfo() {
+				let res1 = await getUserInfo()
+				console.log('用户信息返回值--------2', res1);
+				if (res1.code == 0) {
+					uni.setStorageSync('userInfo', res1.data)
+					this.userInfo = res1.data
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+			async payConfig() {
+				let res1 = await payConfig()
+				console.log('套餐配置返回值--------2', res1);
+
+				if (res1.code == 0) {
+					this.list = res1.data
+
+					this.seledId = res1.data[0].id
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
+
+			selTaocan(i, id) {
 				this.curIndex = i
+				this.seledId = id
 			},
-			toRecord(){
+			toRecord() {
 				uni.navigateTo({
 					url: '/pages/my/myRecord/index?tabIndex=0'
 				})
+			},
+			async goumai() {
+				// this.$toast('购买成功')
+				// setTimeout(() => {
+				// 	uni.navigateTo({
+				// 		url: '/pages/my/myRecord/index?tabIndex=0'
+				// 	})
+				// }, 1500)
+				// return console.log('套餐下单参数', {
+				// 	id: this.seledId
+				// });
+				let res1 = await submitOrder({
+					id: this.seledId
+				})
+				console.log('套餐下单返回值--------2', res1);
+				if (res1.code == 0) {
+					console.log('微信支付参数:', res1.data.config);
+
+
+					// this.$toast('购买成功', 'success')
+					// setTimeout(() => {
+					// 	uni.navigateTo({
+					// 		url: '/pages/my/myRecord/index?tabIndex=0'
+					// 	})
+					// }, 1500)
+					this.pay(res1.data.config)
+				} else {
+					this.$toast(res1.message)
+				}
+
+			},
+
+			pay(p) {
+
+				let _this = this
+				console.log('pay---p', p);
+				wx.requestPayment({
+					"timeStamp": p.timeStamp,
+					"nonceStr": p.nonceStr,
+					"package": p.package,
+					"signType": p.signType,
+					"paySign": p.paySign,
+					"success": function(res) {
+						wx.showToast({
+							title: '支付成功',
+							icon: 'success'
+						})
+						setTimeout(res => {
+							if (_this.from == 'gen') {
+								// wx.navigateTo({
+								// 	url: '/pages/my/myRecord/index?tabIndex=0',
+								// })
+								uni.navigateBack()
+							} else {
+								wx.redirectTo({
+									url: '/pages/my/myRecord/index?tabIndex=0',
+								})
+							}
+						}, 1500)
+					},
+					"fail": function(res) {
+
+						console.log('res', res);
+						wx.showToast({
+							title: '支付失败',
+							icon: 'error'
+						})
+						// setTimeout(res => {
+						// 	wx.navigateTo({
+						// 		url: '/pages/order/order?status=0',
+						// 	})
+						// }, 2000)
+					},
+					"complete": function(res) {}
+				})
 			}
 		}
 	}

+ 0 - 33
pages/my/huiBen_record - 副本/index.vue

xqd
@@ -1,33 +0,0 @@
-<template>
-	<view class="container">
-		<navBar title="推荐奖励" :back="true" color="#333333" background="#FFFFFF" />
-
-		<view class="topBox">
-			hbjl
-		</view>
-	</view>
-</template>
-
-<script>
-	// import navBar from '@/components/navBar/index.vue'
-	export default {
-		// components: {
-		// 	navBar
-		// },
-		data() {
-			return {
-
-			}
-		},
-		onLoad() {
-
-		},
-		methods: {
-
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	@import "./index.scss";
-</style>

+ 3 - 2
pages/my/huiBen_record/index.scss

xqd
@@ -4,14 +4,15 @@
  
 	.container {
  .bgBox{
-	background: skyblue;
+	background: #F7F8FB;
 	min-height: 100vh;
 	
 	padding-top: 54rpx;
 	padding-left: 30rpx;
 	padding-right: 30rpx;
 	
-	
+	background-size: 100% 466rpx;
+	background-repeat: no-repeat;
 	.item{
 		background: #FFFFFF;
 		box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);

+ 118 - 20
pages/my/huiBen_record/index.vue

xqd xqd
@@ -1,27 +1,32 @@
 <template>
 	<view class="container">
 		<navBar title="绘本记录" :back="true" color="#333333" background="#FFFFFF" />
+		<view class="bgBox" :style="{'background-image':`url(${picBase+'jl_bg.png'})`}">
+			<view class="empty" style="margin-top: 50%;" v-if="cusumerList.length==0">
+				<u-empty mode="data" />
+			</view>
 
-		<view class="bgBox">
-			<view class="item" v-for="i in 3">
-				<image class="mainPic" src="../../../static/other/logo.png" mode="widthFix"></image>
-				<view class="name">
-					图图与大橡树的其妙冒险
-				</view>
-				<view class="des">
-					主角:图图
-				</view>
-				<view class="time">
-					创建时间:2023-12-01 12:3
-				</view>
+			<view class="" v-else>
+				<view class="item" v-for="(item,index) in cusumerList">
+					<image class="mainPic" :src="'https://'+item.sd_image" mode="widthFix"></image>
+					<view class="name">
+						{{item.title}}
+					</view>
+					<view class="des">
+						主角:{{item.role.name}}
+					</view>
+					<view class="time">
+						创建时间:{{item.created_at}}
+					</view>
 
 
-				<view class="btnBox">
-					<view class="item1">
-						绘本下载
-					</view>
-					<view class="item1 bg">
-						绘本详情
+					<view class="btnBox">
+						<view class="item1" @click="downPdf(item.id)">
+							绘本下载
+						</view>
+						<view class="item1 bg" @click="toDetail(item)">
+							绘本详情
+						</view>
 					</view>
 				</view>
 			</view>
@@ -31,20 +36,113 @@
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		// getChargeRecord,
+		getConsumerRecord,
+		genPdf
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
-
+				picBase: this.$picBase2,
+				cusumerList: []
 			}
 		},
 		onLoad() {
-
+			this.getConsumerRecord()
 		},
 		methods: {
+			async downPdf(id) {
+				console.log('downPdf-------------');
+				let res1 = await genPdf({
+					// id:this.taskId
+					id
+				})
+				console.log('获取pdfurl返回值--------2', res1);
+
+				if (res1.code == 0) {
+
+					console.log('pdf地址:', res1.data.url);
+					this.download(res1.data.url, 1)
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+			toDetail(item) {
+				getApp().huibenDetail = item
+				uni.navigateTo({
+					url: '/pages/index/genRes/index'
+				})
+			},
+			download(file, type) {
+				let _this = this
+				uni.showLoading({
+					title: '下载中'
+				});
+				//下载文件
+				uni.downloadFile({ //只能是GET请求
+					url: file, //请求地址(后台返回的码流地址)
+					success: (res) => {
+						//下载成功
+						if (res.statusCode === 200) {
+							//保存文件
+							let tempFile = res.tempFilePath;
+
+							if (type == 2) {
+								uni.hideLoading()
+								return _this.pictureReview(tempFile)
+							}
+							//保存成功之后 打开文件
+							uni.getFileSystemManager().saveFile({
+								tempFilePath: tempFile,
+								// filePath: wx.env.USER_DATA_PATH + '/' + '上传成员.pdf',//自定义文件名
+								success(res) {
+									console.log(res)
+									uni.openDocument({
+										filePath: res.savedFilePath,
+										showMenu: true, //是否可以分享
+										success: (res) => {
+											uni.hideLoading()
+											console.log(res);
+										},
+										fail: (e) => {
+											uni.showToast({
+												title: '打开失败',
+												icon: "error"
+											})
+										}
+									})
+
+								}
+							})
+						}
+					},
+					fail: (e) => {
+						console.log(e, '文件下载失败')
+						uni.showToast({
+							title: '文件下载失败',
+							icon: "error",
+						})
+					}
+				});
+
+
+			},
 
+			async getConsumerRecord() {
+				let res1 = await getConsumerRecord()
+				console.log('绘画记录返回值--------2', res1);
+				if (res1.code == 0) {
+					this.cusumerList = res1.data.data
+					// this.cusumerList = [1]
+				} else {
+					this.$toast(res1.message)
+				}
+			},
 		}
 	}
 </script>

+ 17 - 10
pages/my/index.scss

xqd xqd xqd xqd
@@ -12,6 +12,9 @@
 	display: flex;
 	flex-direction: column;
 	justify-content:space-between;
+	
+	background-size: 100% 100%;
+	background-repeat: no-repeat;
 	 
 	 .userBox{
 		 display: flex;
@@ -38,11 +41,11 @@
 		
 	 }
 	 .infoBox{
-	 		background: rgba(31,48,69,0.7);
-	 		box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
-	 		border-radius: 32rpx 32rpx 0rpx 0rpx;
-	 		border: 2rpx solid rgba(112,193,255,0.81);
-	 		backdrop-filter: blur(10px);	
+	 		// background: rgba(31,48,69,0.7);
+	 		// box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
+	 		// border-radius: 32rpx 32rpx 0rpx 0rpx;
+	 		// border: 2rpx solid rgba(112,193,255,0.81);
+	 		// backdrop-filter: blur(10px);	
 			font-size: 30rpx;
 			font-family: SourceHanSansCN, SourceHanSansCN;
 			font-weight: bold;
@@ -56,6 +59,9 @@
 			justify-content: space-between;
 			position: relative;
 			z-index: 1;
+			
+			background-size: 100% 100%;
+			background-repeat: no-repeat;
 			.left{
 				display: flex;
 				align-items: center;
@@ -89,17 +95,18 @@
 	
 	.contentBox{
 		min-height: 970rpx;
-		background: #F7F8FB;
-		box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
-		border-radius: 30rpx 30rpx 0 0;
+		// background: #F7F8FB;
+		// box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
+		// border-radius: 30rpx 30rpx 0 0;
 		// background: red;
-		margin-top: -20rpx;
+		margin-top: -32rpx;
 		position: relative;
 		z-index: 2;
 		padding-top: 40rpx;
 		padding-left:30rpx;
 		padding-right: 30rpx;
-		
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
 		
 		
 		.tabBox{

+ 97 - 32
pages/my/index.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -4,11 +4,12 @@
 		<tabBar :tabBarList="tabBarList" :routePath="routePath" @onTabBar="onTabBar" />
 
 
-		<view class="topBox">
+		<view class="topBox" :style="{'background-image':`url(${picBase+'my_bg.png'})`}">
 			<view class="userBox">
-				<image class="avatar" @click="toUserInfo" :src="!userInfo?picBase+'defaultAvatar.png':userInfo.avatar" mode=""></image>
+				<image class="avatar" @click="toUserInfo"
+					:src="!userInfo.avatar?picBase+'defaultAvatar.png':userInfo.avatar" mode=""></image>
 				<view class="nickname" @click="toUserInfo" v-if="userInfo">
-				{{!userInfo.name?'默认用户':userInfo.name}}
+					{{!userInfo.name?'默认用户':userInfo.name}}
 				</view>
 				<view class="nickname" @click="login" v-else>
 					立即登录
@@ -16,10 +17,10 @@
 				<image class="icon" @click="toUserInfo" :src="picBase+'edit.png'" mode="" v-if="userInfo"></image>
 			</view>
 
-			<view class="infoBox">
+			<view class="infoBox" :style="{'background-image':`url(${picBase+'user_bg.png'})`}">
 				<view class="left">
-					<image class="icon" :src="picBase+'edit.png'" mode=""></image>
-					当前剩余次数:2
+					<image class="icon" :src="picBase+'charge_yibiao.png'" mode=""></image>
+					当前剩余次数:{{userInfo.diamond?userInfo.diamond:0}}
 				</view>
 
 				<view class="btn" @click="toCharge">
@@ -29,10 +30,10 @@
 		</view>
 
 
-		<view class="contentBox">
+		<view class="contentBox" :style="{'background-image':`url(${picBase+'my_b_bg.png'})`}">
 			<view class="tabBox">
 				<view class="item" @click="toHuibenJilu">
-					<image class="icon" :src="picBase+'edit.png'" mode=""></image>
+					<image class="icon" :src="picBase+'my_hbjl.png'" mode=""></image>
 					<view class="right">
 						<view class="t1">
 							绘本记录
@@ -44,7 +45,7 @@
 				</view>
 
 				<view class="item" @click="toTuguangDashi">
-					<image class="icon" :src="picBase+'edit.png'" mode=""></image>
+					<image class="icon" :src="picBase+'my_tgds.png'" mode=""></image>
 					<view class="right">
 						<view class="t1">
 							推广大使
@@ -59,10 +60,10 @@
 			<view class="serListBox">
 				<view class="item" v-for="(item,index) in serList" @click="toPage(index)">
 					<view class="left">
-						<image class="icon" src="../../static/other/edit.png" mode=""></image>
+						<image class="icon" :src="item.icon" mode=""></image>
 						{{item.name}}
 					</view>
-					<image class="icon_r" src="../../static/other/arrR.png" mode=""></image>
+					<image class="icon_r" :src="picBase+'arrR.png'" mode=""></image>
 				</view>
 			</view>
 		</view>
@@ -70,23 +71,27 @@
 </template>
 
 <script>
+	// import navBar from '@/components/navBar/index.vue'
+
 	import {
+		getUserInfo,
 		login,
-		getUserInfo
+		addTeam
 	} from '@/api/index/index.js'
-	// import navBar from '@/components/navBar/index.vue'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
-				userInfo:null,
-				
-				
+				userInfo: null,
+
+
 				picBase: this.$picBase,
-				navImg: require('@/static/other/logo.png'),
-				tabBarList: [{
+				navImg: this.$picBase + 'logo.png',
+				tabBarList: [
+
+					{
 						"pagePath": "pages/index/index",
 						"iconPath": "../../static/tabbar/index.png",
 						"selectedIconPath": "../../static/tabbar/index_a.png",
@@ -104,25 +109,31 @@
 
 
 				serList: [{
+						name: '推广中心',
+						icon: this.$picBase + 'my_jl.png',
+					},
+					{
 						name: '推荐奖励',
-						icon: this.$picBase + 'edit.png',
+						icon: this.$picBase + 'my_jl.png',
 					},
 					{
 						name: '消费记录',
-						icon: this.$picBase + 'edit.png',
+						icon: this.$picBase + 'my_xfjl.png',
 					},
 					{
 						name: '客服中心',
-						icon: this.$picBase + 'edit.png',
+						icon: this.$picBase + 'my_kfzx.png',
 					},
 					{
 						name: '关于我们',
-						icon: this.$picBase + 'edit.png',
+						icon: this.$picBase + 'my_gywm.png',
 					},
 				]
 			}
 		},
 		onLoad() {
+
+			// console.log(this.picBase + 'defaultAvatar.png');
 			uni.hideTabBar()
 			let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
 			let curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由
@@ -130,22 +141,32 @@
 			console.log('routePath', this.routePath);
 
 		},
-		async onShow(){
-			
-			if(uni.getStorageSync('token')){
+		async onShow() {
+
+			if (uni.getStorageSync('token')) {
 				this.getUserInfo()
 			}
-			
+
 		},
 		methods: {
+			async addTeam(p) {
+				let res1 = await addTeam(p)
+				console.log('我的-加入团队返回值--------2', res1);
+				if (res1.code == 0) {
+					console.log('我的--加入团队成功--------------------------------');
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
 			async getUserInfo() {
 				let res1 = await getUserInfo()
 				console.log('用户信息返回值--------', res1);
 				if (res1.code == 0) {
 					uni.setStorageSync('userInfo', res1.data)
-					this.userInfo=res1.data
+					this.userInfo = res1.data
 				} else {
-				this.$toast(res1.message)
+					this.$toast(res1.message)
 				}
 			},
 			login() {
@@ -159,16 +180,24 @@
 						if (res.errMsg == 'login:ok') {
 							let parmas = {
 								code: res.code,
+								helpId: uni.getStorageSync('inviteInfo') ? uni.getStorageSync(
+									'inviteInfo') : ''
 							}
 							console.log('登录所传的parmas参数:', parmas);
 							let res1 = await login(parmas)
-			
+
 							console.log('登录返回值--------', res1);
 							if (res1.code == 0) {
+								// 处理加入团队逻辑
+								// _this.addTeam({
+								// 	id: uni.getStorageSync('inviteInfo')
+								// })
+
+
 								uni.hideLoading()
 								uni.setStorageSync('token', res1.data.token)
 								uni.setStorageSync('userInfo', res1.data.user_info)
-								_this.userInfo=res1.data.user_info
+								_this.userInfo = res1.data.user_info
 								_this.$toast('登录成功')
 								// setTimeout(() => {
 								// 	uni.reLaunch({
@@ -177,7 +206,7 @@
 								// }, 1500)
 							} else {
 								uni.hideLoading()
-							_this.$toast(res1.message)
+								_this.$toast(res1.message)
 							}
 						}
 					}
@@ -185,21 +214,48 @@
 			},
 			toPage(i) {
 				if (i == 0) {
+					if (!uni.getStorageSync('token')) {
+						return this.$toast('请登录后操作')
+					}
 					uni.navigateTo({
-						url: '/pages/my/jiangli/index'
+						url: '/pages/my/pubCenter/index'
 					})
 				} else if (i == 1) {
+					if (!uni.getStorageSync('token')) {
+						return this.$toast('请登录后操作')
+					}
+					uni.navigateTo({
+						url: '/pages/my/jiangli/index'
+					})
+				} else if (i == 2) {
+					if (!uni.getStorageSync('token')) {
+						return this.$toast('请登录后操作')
+					}
 					uni.navigateTo({
 						url: '/pages/my/myRecord/index?tabIndex=1'
 					})
+				} else if (i == 3) {
+					uni.navigateTo({
+						url: '/pages/my/kefu/index'
+					})
+				} else if (i == 4) {
+					uni.navigateTo({
+						url: '/pages/my/aboutUs/index'
+					})
 				}
 			},
 			toTuguangDashi() {
+				if (!uni.getStorageSync('token')) {
+					return this.$toast('请登录后操作')
+				}
 				uni.navigateTo({
 					url: '/pages/my/tuiguangDashi/index'
 				})
 			},
 			toTuguangCenter() {
+				if (!uni.getStorageSync('token')) {
+					return this.$toast('请登录后操作')
+				}
 				uni.navigateTo({
 					url: '/pages/my/pubCenter/index'
 				})
@@ -212,16 +268,25 @@
 			},
 
 			toCharge() {
+				if (!uni.getStorageSync('token')) {
+					return this.$toast('请登录后操作')
+				}
 				uni.navigateTo({
 					url: '/pages/my/charge/index'
 				})
 			},
 			toHuibenJilu() {
+				if (!uni.getStorageSync('token')) {
+					return this.$toast('请登录后操作')
+				}
 				uni.navigateTo({
 					url: '/pages/my/huiBen_record/index'
 				})
 			},
 			toUserInfo() {
+				if (!uni.getStorageSync('token')) {
+					return this.$toast('请登录后操作')
+				}
 				uni.navigateTo({
 					url: '/pages/my/userInfo/index'
 				})

+ 0 - 91
pages/my/index2.scss

xqd
@@ -1,91 +0,0 @@
-	view {
-		box-sizing: border-box;
-	}
- 
-	.container {
- 
-		width: 100%;
-		height: 100%;
-		position: absolute;
-		left: 0;
-		bottom: 0;
-		padding: 0 20px;
-		box-sizing: border-box;
-		display: flex;
-		flex-direction: column;
-		background-color: #fff;
-		border-top-left-radius: 10px;
-		border-top-right-radius: 10px;
- 
-		.title {
-			width: 100%;
-			height: 12%;
-			font-size: 20px;
-			font-weight: bold;
-			padding-top: 20px;
- 
-			text:nth-child(2) {
-				display: block;
-				font-size: 14px;
-				font-weight: normal;
-				margin-top: 5px;
-			}
-		}
- 
-		.choose-avatar-row,
-		.choose-nickname-row {
-			width: 100%;
-			height: 9%;
-			display: flex;
-			justify-content: flex-start;
-			align-items: center;
-			padding: 10px 2px;
-			font-size: 14px;
-			border-top: 1px solid #ccc;
-			border-bottom: 1px solid #ccc;
- 
-			.avatar-wrapper {
-				width: 40px;
-				height: 40px;
-				margin: 0;
-				padding: 0;
-				margin-right: 10px;
- 
-				.avatar {
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
- 
-		.choose-nickname-row {
-			border-top: none;
- 
-			text {
-				width: 45px;
-				margin-right: 10px;
-			}
-		}
- 
-		.login-row {
-			width: 100%;
-			height: 30%;
-			padding-top: 20px;
-			display: flex;
- 
-			button {
-				font-size: 14px;
-				width: 30%;
-				height: 40px;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				border-color: transparent;
-				color: #07c160;
-			}
- 
-			.inactive {
-				color: #ccc;
-			}
-		}
-	}

+ 0 - 215
pages/my/index2.vue

xqd
@@ -1,215 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 标题 -->
-		<view class="title">
-			<text>获取昵称头像</text>
-			<text>未选择头像则为默认头像</text>
-		</view>
-		<!-- 选择头像 -->
-		<view class="choose-avatar-row">
-			<button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
-				<image class="avatar" :src="avatarUrl"></image>
-			</button>
-			<text>点击选择头像</text>
-		</view>
-
-		<!-- 选择昵称 -->
-		<view class="choose-nickname-row">
-			<text>昵称</text>
-			<input v-model="nickName" @input="inputName" type="nickname" placeholder="请输入昵称" />
-		</view>
-
-		<!-- 选择电话 -->
-		<view class="choose-nickname-row" style="border: 0;">
-			<button class="avatar-wrapper" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber"
-				style="width: 100%;">
-				<text style="width: 100%;">点击授权获取手机号</text>
-			</button>
-		</view>
-		<view v-if="isPhone" style="text-align: center;">
-			<text>已获取手机号</text>
-		</view>
-
-		<!-- 按钮 -->
-		<view class="login-row">
-			<button @click="submit">登录</button>
-		</view>
-	</view>
-</template>
-
-<script>
-	// import {
-	// 	get,
-	// 	post
-	// } from '@/utils/request.js'
-	// import localStorage from '@/utils/localStorage.js'
-	export default {
-		data() {
-			return {
-				avatarUrl: '',
-				nickName: '',
-				PhoneCode: '',
-				imgUrl: '',
-				isPhone: false
-			}
-		},
-		mounted() {
-			uni.showToast({
-				title: '未登录请先注册',
-				icon: 'none'
-			})
-		},
-		methods: {
-			getPhoneNumber(e) {
-				this.PhoneCode = e.detail.code
-				console.log(e.detail.code)
-				this.isPhone = true
-			},
-			onChooseAvatar(e) {
-				this.avatarUrl = e.detail.avatarUrl
-				this.upImg(this.avatarUrl)
-			},
-			inputName(e) {
-				this.nickName = e.detail.value
-			},
-			upImg(file) {
-				let _this = this
-				uni.uploadFile({
-					url: 'http://xxxxxx:xxxx/lgb/upload/upload', // 上传的 URL 地址
-					filePath: file, // 要上传的图片本地路径
-					name: 'file', // 上传图片时使用的字段名
-					header: { // 自定义请求头
-						'Content-Type': 'multipart/form-data'
-					},
-					formData: {
-						'fileType': 'images',
-						'dirName': 'cert'
-					},
-					success: function(uploadRes) {
-						let result = JSON.parse(uploadRes.data)
-						localStorage.set('imgUrl', result.data.fileUrl)
-						console.log(this.imgUrl)
-					},
-					fail: function(err) {
-						console.log('upload failed:', err)
-					}
-				})
-			},
-			async submit() {
-				if (!this.nickName || !this.PhoneCode || !localStorage.get('imgUrl')) {
-					uni.showToast({
-						title: '请将数据填写完整',
-						icon: 'none'
-					})
-					return
-				}
-				let result = await post('/lgb/user/register', {
-					openId: localStorage.get('openid'),
-					job: 0,
-					name: this.nickName,
-					code: this.PhoneCode,
-					avatar: localStorage.get('imgUrl')
-				}, {});
-				setTimeout(() => {
-					uni.showToast({
-						title: '注册成功',
-						icon: 'none'
-					})
-				}, 800)
-			}
-		}
-	}
-</script>
-<style lang="scss">
-	view {
-		box-sizing: border-box;
-	}
-
-	.container {
-
-		width: 100%;
-		height: 100%;
-		position: absolute;
-		left: 0;
-		bottom: 0;
-		padding: 0 20px;
-		box-sizing: border-box;
-		display: flex;
-		flex-direction: column;
-		background-color: #fff;
-		border-top-left-radius: 10px;
-		border-top-right-radius: 10px;
-
-		.title {
-			width: 100%;
-			height: 12%;
-			font-size: 20px;
-			font-weight: bold;
-			padding-top: 20px;
-
-			text:nth-child(2) {
-				display: block;
-				font-size: 14px;
-				font-weight: normal;
-				margin-top: 5px;
-			}
-		}
-
-		.choose-avatar-row,
-		.choose-nickname-row {
-			width: 100%;
-			height: 9%;
-			display: flex;
-			justify-content: flex-start;
-			align-items: center;
-			padding: 10px 2px;
-			font-size: 14px;
-			border-top: 1px solid #ccc;
-			border-bottom: 1px solid #ccc;
-
-			.avatar-wrapper {
-				width: 40px;
-				height: 40px;
-				margin: 0;
-				padding: 0;
-				margin-right: 10px;
-
-				.avatar {
-					width: 100%;
-					height: 100%;
-				}
-			}
-		}
-
-		.choose-nickname-row {
-			border-top: none;
-
-			text {
-				width: 45px;
-				margin-right: 10px;
-			}
-		}
-
-		.login-row {
-			width: 100%;
-			height: 30%;
-			padding-top: 20px;
-			display: flex;
-
-			button {
-				font-size: 14px;
-				width: 30%;
-				height: 40px;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				border-color: transparent;
-				color: #07c160;
-			}
-
-			.inactive {
-				color: #ccc;
-			}
-		}
-	}
-</style>

+ 37 - 5
pages/my/jiangli/index.scss

xqd xqd xqd xqd xqd xqd
@@ -8,25 +8,31 @@
 	padding-top: 84rpx;
 
 	min-height: 100vh;
+	
+	background-size: 100% 466rpx;
+	background-repeat: no-repeat;
 	.addPd{
 		padding-left: 30rpx;
 		padding-right: 30rpx;
 		.countBox{
 			
 			height: 290rpx;
-			background:#0489F9;
+			// background:#0489F9;
 			// border: 2rpx solid;
 			
-			border-top: 2rpx solid #FBFDFE;
+			// border-top: 2rpx solid #FBFDFE;
 			// border-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)) 2 2;
 			
-			border-radius: 30rpx;
+			border-radius: 30rpx 30rpx 0 0;
 			padding-top: 48rpx;
 			padding-left: 102rpx;
 			padding-right: 102rpx;
 			
 			display: flex;
 			justify-content: space-between;
+			
+			background-size: 100% 372rpx;
+			background-repeat: no-repeat;
 			.left,.right{
 				display: flex;
 				flex-direction: column;
@@ -89,6 +95,19 @@
 		// background: skyblue;
 		box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
 		border-radius: 40rpx 40rpx 0 0;
+		position: relative;
+		.sanjiaoxing{
+			position:absolute;
+			top: 0;
+			left: 50%;
+			transform: translateX(-50%);
+			 width: 0;
+			    height: 0;
+			    border-left: 20rpx solid transparent;
+			    border-right: 20rpx solid transparent;
+			    border-top: 20rpx  solid #0381F9;
+				
+		}
 		.tipBox{
 			// height: 182rpx;
 			background: #F0F1F4;
@@ -97,6 +116,8 @@
 			padding-bottom: 40rpx;
 			padding-left: 20rpx;
 			padding-right: 20rpx;
+			
+			
 			.top{
 				display: flex;
 				align-items: center;
@@ -107,8 +128,8 @@
 				.tag{
 					width: 78rpx;
 					height: 34rpx;
-					background: linear-gradient(132deg, #4FDDFF 0%, #5ECFFF 49%, #017AFF 100%);
-					filter: blur(0.5px);
+					// background: linear-gradient(132deg, #4FDDFF 0%, #5ECFFF 49%, #017AFF 100%);
+					// filter: blur(0.5px);
 					
 					font-size: 32rpx;
 					font-family: DIN, DIN;
@@ -145,6 +166,15 @@
 			display: flex;
 			align-items: center;
 			padding-left: 32rpx;
+			position: relative;
+			
+			.starIcon{
+				width: 24rpx;
+				height: 24rpx;
+				position: absolute;
+				right: 150rpx;
+				top: 0;
+			}
 		}
 		.list{
 			display: flex;
@@ -156,6 +186,8 @@
 				justify-content: space-between;
 				align-items: center;
 				margin-bottom: 40rpx;
+				
+				
 				.left{
 					display: flex;
 					align-items: center;

+ 44 - 30
pages/my/jiangli/index.vue

xqd xqd xqd xqd
@@ -2,12 +2,12 @@
 	<view class="container">
 		<navBar title="推荐奖励" :back="true" color="#333333" background="#FFFFFF" />
 
-		<view class="outerBox">
+		<view class="outerBox" :style="{'background-image':`url(${picBase+'jl_bg2.png'})`}">
 			<view class="addPd">
-				<view class="countBox">
+				<view class="countBox" :style="{'background-image':`url(${picBase+'jl_c_bg.png'})`}">
 					<view class="left">
 						<view class="num">
-{{jiangli.currentDiamondCount}}
+							{{jiangli.currentDiamondCount}}
 						</view>
 						<view class="tip">
 							剩余次数
@@ -26,11 +26,15 @@
 
 
 			<view class="mianContent">
+				<view class="sanjiaoxing">
+				</view>
+
 				<view class="tipBox">
 					<view class="top">
-						<view class="tag">
+						<!-- <view class="tag">
 							TIPS
-						</view>
+						</view> -->
+						<image :src="picBase+'hb_tips.png'" mode="" class="tag"></image>
 						推荐奖励说明
 					</view>
 					<view class="bot">
@@ -39,23 +43,31 @@
 				</view>
 
 				<view class="titleBox">
+					<image :src="picBase+'s_star.png'" mode="heightFix" class="starIcon" @click=""></image>
 					推荐奖励明细
 				</view>
 				<view class="list">
-					<view class="item" v-for="(item,index) in jiangli.data">
-						<view class="left">
-							<image :src="item.user.avatar?item.user.avatar:picBase+'defaultAvatar.png'" mode="" class="avatar"></image>
-							<view class="des">
-								<view class="name">
-									{{item.user.name}}
-								</view>
-								<view class="time">
-									{{item.updated_at}}
+					<view class="empty" style="margin-top: 20%;" v-if="jiangli.data.length==0">
+						<u-empty mode="data" />
+					</view>
+
+					<view class="" v-else>
+						<view class="item" v-for="(item,index) in jiangli.data">
+							<view class="left">
+								<image :src="item.user.avatar?item.user.avatar:picBase+'defaultAvatar.png'" mode=""
+									class="avatar"></image>
+								<view class="des">
+									<view class="name">
+										{{item.user.name}}
+									</view>
+									<view class="time">
+										{{item.updated_at}}
+									</view>
 								</view>
 							</view>
-						</view>
-						<view class="right">
-							奖励次数:{{item.diamond}}
+							<view class="right">
+								奖励次数:{{item.diamond}}
+							</view>
 						</view>
 					</view>
 				</view>
@@ -83,27 +95,29 @@
 		data() {
 			return {
 				picBase: this.$picBase2,
-			jiangli:null,
+				jiangli: {
+					data: []
+				},
 			}
 		},
 		onLoad() {
-		this.getTuijian()
+			this.getTuijian()
 		},
 		methods: {
-			toTuijian(){
+			toTuijian() {
 				uni.navigateTo({
-					url:'/'
+					url: '/pages/my/tuiguangDashi/index'
 				})
 			},
-async getTuijian() {
-			let res1 = await getTuijian()
-			console.log('推荐奖励返回值--------2', res1);
-			if (res1.code == 0) {
-				this.jiangli=res1.data
-			} else {
-			this.$toast(res1.message)
-			}
-		},
+			async getTuijian() {
+				let res1 = await getTuijian()
+				console.log('推荐奖励返回值--------2', res1);
+				if (res1.code == 0) {
+					this.jiangli = res1.data
+				} else {
+					this.$toast(res1.message)
+				}
+			},
 		}
 	}
 </script>

+ 39 - 16
pages/my/kefu/index.vue

xqd xqd xqd
@@ -1,23 +1,23 @@
 <template>
 	<view class="container">
 		<navBar title="客服中心" :back="true" color="#333333" background="#FFFFFF" />
-		
-		
+
+
 		<view class="server">
-			<image src="../../../static/other/yhk.png" mode=""></image>
+			<image :src="picBase+'kefuAvatar.png'" mode=""></image>
 		</view>
 		<view v-if="phone" class="kefu">
 			<view class="dian"></view>
 			<view class="">客服手机号:{{phone}}</view>
-			<view class="yijian"><u-button @click="call(phone)" color="#207CF7" size="mini" type="primary" shape="circle"
-					text="一键拨号"></u-button></view>
+			<view class="yijian"><u-button @click="call(phone)" color="#207CF7" size="mini" type="primary"
+					shape="circle" text="一键拨号"></u-button></view>
 		</view>
 		<view v-if="weiChat" class="kefu">
 			<view class="dian"></view>
 			<view>客服微信号:{{weiChat}}</view>
 			<view class="yijian"><u-button @click="fhuzhi" color="#207CF7" size="mini" type="primary" shape="circle"
 					text="一键复制"></u-button></view>
-		
+
 		</view>
 		<!-- <view class="sds">dfhsfsdh25</view> -->
 		<block v-if="code">
@@ -30,27 +30,50 @@
 				<!-- <image src="@/static/images/head.jpg" mode="widthFix"></image> -->
 			</view>
 		</block>
-		
+
 	</view>
 </template>
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		getKefu,
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
-			phone:'15609038522',
-			weiChat:'qweqwe',
-			code:'https://img0.baidu.com/it/u=3232582821,3516640051&fm=253&fmt=auto&app=138&f=JPEG?w=625&h=500'
+				picBase: this.$picBase2,
+
+
+				phone: '',
+				weiChat: '',
+				code: ''
 			}
+
+			info: null
 		},
 		onLoad() {
-
+			this.getKefu()
 		},
 		methods: {
+			async getKefu() {
+				let res1 = await getKefu()
+				console.log('客服信息返回值--------', res1);
+				if (res1.code == 0) {
+					this.phone = res1.data.service_phone.value
+					this.weiChat = res1.data.service_wx.value
+					this.code = res1.data.service_qrcode.value
+
+					console.log(this.phone, this.weiChat, this.code);
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
 			viewsave(e) {
 				uni.previewImage({
 					urls: [e],
@@ -68,11 +91,11 @@
 					}
 				});
 			},
- call(e){
-    wx.makePhoneCall({
-      phoneNumber: e //仅为示例,并非真实的电话号码
-    })
-  },
+			call(e) {
+				wx.makePhoneCall({
+					phoneNumber: e //仅为示例,并非真实的电话号码
+				})
+			},
 		}
 	}
 </script>

+ 10 - 3
pages/my/myRecord/index.scss

xqd xqd
@@ -15,13 +15,16 @@ background:#F7F8FB ;
 	padding-top: 110rpx;
 	.item{
 		// height: 154rpx;
-		background: #FFFFFF;
-		box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
-		border-radius: 32rpx;
+		// background: #FFFFFF;
+		// box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
+		// border-radius: 32rpx;
 		
 		padding: 40rpx 32rpx;
 		position: relative;
 		margin-bottom: 24rpx;
+		
+		background-repeat: no-repeat;
+		background-size: 100% 100%;
 		.water{
 			width: 114rpx;
 			height: 120rpx;
@@ -93,4 +96,8 @@ background:#F7F8FB ;
 		position: fixed;
 		width: 100%;
 		z-index: 3;
+	}
+	
+	::v-deep .u-tabs__wrapper__nav__item__text{
+		font-size: 28rpx!important;
 	}

+ 100 - 100
pages/my/myRecord/index.vue

xqd xqd
@@ -1,76 +1,74 @@
 <template>
 	<view class="container">
 		<navBar title="我的记录" :back="true" color="#333333" background="#FFFFFF" />
-<view class="mainBox">
-	 <!-- <u-sticky bgColor="#fff"> -->
-	   <u-tabs :current="tabIndex" :list="list1" :scrollable="false" @click="tabclick" lineColor="#007AFF" :activeStyle="activeStyle" :itemStyle="itemStyle" lineWidth="24"></u-tabs>
-	  <!-- </u-sticky> -->
-	
-<view class="list" v-if="tabIndex==0">
-	
-	<view class="empty" style="margin-top: 50%;" v-if="chargeList.length==0">
-		<u-empty
-		        mode="data"		
-		/>
-	</view>
-	<view class="item" v-for="(item,index) in chargeList" v-else>
-		<!-- <image src="../../../static/other/icon2.png" mode="" class="water"></image> -->
-		<view class="top">
-			<view class="name">
-				{{item.config_data.title}}
-			</view>
-			<view class="money">
-				¥{{item.amount}}
-			</view>
-		</view>
-		<view class="bot">
-			<view class="count">
-				次数+{{item.diamond}}
-			</view>
-			<view class="time">
-				{{item.created_at}}
+		<view class="mainBox">
+			<!-- <u-sticky bgColor="#fff"> -->
+			<u-tabs :current="tabIndex" :list="list1" :scrollable="false" @click="tabclick" lineColor="#007AFF"
+				:activeStyle="activeStyle" :itemStyle="itemStyle" lineWidth="24"></u-tabs>
+			<!-- </u-sticky> -->
+
+			<view class="list" v-if="tabIndex==0">
+
+				<view class="empty" style="margin-top: 50%;" v-if="chargeList.length==0">
+					<u-empty mode="data" />
+				</view>
+				<view class="item" v-for="(item,index) in chargeList" v-else>
+					<!-- <image src="../../../static/other/icon2.png" mode="" class="water"></image> -->
+					<view class="top">
+						<view class="name">
+							{{item.config_data.title}}
+						</view>
+						<view class="money">
+							¥{{item.amount}}
+						</view>
+					</view>
+					<view class="bot">
+						<view class="count">
+							次数+{{item.diamond}}
+						</view>
+						<view class="time">
+							{{item.created_at}}
+						</view>
+					</view>
+				</view>
 			</view>
-		</view>
-	</view>
-</view>
 
 
 
-<view class="list" v-else>
-	<view class="empty" style="margin-top: 50%;" v-if="cusumerList.length==0">
-		<u-empty
-		        mode="data"		
-		/>
-	</view>
-	
-	<view class="item" v-for="(item,index) in cusumerList" v-else>
-		<!-- <image src="../../../static/other/icon2.png" mode="" class="water"></image> -->
-		<view class="top">
-			<view class="name">
-				{{item.nickname}}
-			</view>
-			<view class="money">
-				剩余{{item.surplus_diamond}}
-			</view>
-		</view>
-		<view class="bot">
-			<view class="count">
-				次数-{{item.plot}}
-			</view>
-			<view class="time">
-				{{item.created_at}}
+			<view class="list" v-else>
+				<view class="empty" style="margin-top: 50%;" v-if="cusumerList.length==0">
+					<u-empty mode="data" />
+				</view>
+
+				<view class="item" v-for="(item,index) in cusumerList" v-else
+					:style="{'background-image':`url(${picBase+'mjl_c_bg.png'})`}">
+					<!-- <image src="../../../static/other/icon2.png" mode="" class="water"></image> -->
+					<view class="top">
+						<view class="name">
+							{{item.nickname}}
+						</view>
+						<view class="money">
+							剩余{{item.surplus_diamond}}
+						</view>
+					</view>
+					<view class="bot">
+						<view class="count">
+							次数-{{item.plot}}
+						</view>
+						<view class="time">
+							{{item.created_at}}
+						</view>
+					</view>
+				</view>
 			</view>
 		</view>
-	</view>
-</view>
-</view>
-	
+
 	</view>
 </template>
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
-	
+
 	import {
 		getChargeRecord,
 		getConsumerRecord
@@ -81,65 +79,67 @@
 		// },
 		data() {
 			return {
-				tabIndex:0,
-				activeStyle:{
-					color:'#007AFF',
+				picBase: this.$picBase2,
+
+				tabIndex: 0,
+				activeStyle: {
+					color: '#007AFF',
 					'font-size': '28rpx',
 					'font-family': 'PingFang-SC, PingFang-SC',
 					'font-weight': 'bold'
 				},
-				itemStyle:{
-					width:'50%',
+				itemStyle: {
+					width: '50%',
 					// background:'#fff',
 					display: 'flex',
 					'justify-content': 'center',
 					'align-items': 'center',
 					height: '80rpx'
 				},
-list1: [{
-                    name: '充值记录',
-                }, {
-                    name: '消费记录',
-                }],
-				chargeList:[],
-				cusumerList:[]
+				list1: [{
+					name: '充值记录',
+				}, {
+					name: '消费记录',
+				}],
+				chargeList: [],
+				cusumerList: []
 			}
 		},
 		onLoad(o) {
-if(o.tabIndex){
-	this.tabIndex=Number(o.tabIndex)
-}
+			if (o.tabIndex) {
+				this.tabIndex = Number(o.tabIndex)
+			}
 
-this.getChargeRecord()
-this.getConsumerRecord()
+			this.getChargeRecord()
+			this.getConsumerRecord()
 		},
 		methods: {
-			
+
 			async getChargeRecord() {
-						let res1 = await getChargeRecord()
-						console.log('充值记录返回值--------2', res1);
-						if (res1.code == 0) {
-							this.chargeList=res1.data.data
-							// this.chargeList=[]
-						} else {
-						this.$toast(res1.message)
-						}
-					},
+				let res1 = await getChargeRecord()
+				console.log('充值记录返回值--------2', res1);
+				if (res1.code == 0) {
+					this.chargeList = res1.data.data
+					// this.chargeList = [1, 1]
+				} else {
+					this.$toast(res1.message)
+				}
+			},
 
-async getConsumerRecord() {
-						let res1 = await getConsumerRecord()
-						console.log('消耗记录返回值--------2', res1);
-						if (res1.code == 0) {
-							this.cusumerList=res1.data.data
-							// this.cusumerList=[]
-						} else {
-						this.$toast(res1.message)
-						}
-					},
-tabclick(e){
-	console.log(e,e.index);
-	this.tabIndex=e.index
-}
+			async getConsumerRecord() {
+				let res1 = await getConsumerRecord()
+				console.log('消耗记录返回值--------2', res1);
+				if (res1.code == 0) {
+					this.cusumerList = res1.data.data
+					// this.cusumerList = [1, 1]
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+			tabclick(e) {
+				console.log(e, e.index);
+				this.tabIndex = e.index
+			}
 		}
 	}
 </script>

+ 1 - 0
pages/my/huiBen_record - 副本/index.scss → pages/my/protocol/index.scss

xqd
@@ -3,6 +3,7 @@
 	}
  
 	.container {
+		padding: 30rpx;
  .topBox{
 	
 		}

+ 75 - 0
pages/my/protocol/index.vue

xqd
@@ -0,0 +1,75 @@
+<template>
+	<view class="container">
+		<navBar :title="title" :back="true" color="#333333" background="#FFFFFF" />
+
+		<view class="topBox">
+			<u-parse :content="content"></u-parse>
+		</view>
+	</view>
+</template>
+
+<script>
+	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		getyonghu,
+		getyinsi,
+		getKefu
+	} from '@/api/index/index.js'
+	export default {
+		// components: {
+		// 	navBar
+		// },
+		data() {
+			return {
+				title: '使用协议',
+				content: ''
+			}
+		},
+		onLoad(o) {
+			if (o.type == 1) {
+				// this.title='使用协议'
+			} else if (o.type == 2) {
+				this.title = '隐私协议'
+			} else {
+				this.title = '推广员功能服务协议'
+			}
+			this.getxieyi(o.type)
+		},
+		methods: {
+			async getxieyi(type) {
+				if (type == 1) {
+					let res1 = await getyonghu()
+					console.log('用户协议返回值--------2', res1);
+					if (res1.code == 0) {
+						this.content = res1.data.desc
+					} else {
+						this.$toast(res1.message)
+					}
+				} else if (type == 2) {
+					let res1 = await getyonghu()
+					console.log('隐私协议返回值--------2', res1);
+					if (res1.code == 0) {
+						this.content = res1.data.desc
+					} else {
+						this.$toast(res1.message)
+					}
+				} else {
+					// this.content = '推广员功能服务协议'
+					let res1 = await getKefu()
+					console.log('推广协议返回值--------2', res1);
+					if (res1.code == 0) {
+						this.content = res1.data.push.value
+					} else {
+						this.$toast(res1.message)
+					}
+
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	@import "./index.scss";
+</style>

+ 39 - 19
pages/my/pubCenter/index.scss

xqd xqd xqd xqd xqd
@@ -33,15 +33,19 @@
 			
 			width: 128rpx;
 			height: 28rpx;
-			background: linear-gradient(90deg, #FFEDDD 0%, #C7977A 100%);
-			border: 1rpx solid;
-			border-image: linear-gradient(251deg, rgba(255, 255, 255, 0.32), rgba(255, 249, 237, 0.4)) 1 1;
+			// background: linear-gradient(90deg, #FFEDDD 0%, #C7977A 100%);
+			// border: 1rpx solid;
+			// border-image: linear-gradient(251deg, rgba(255, 255, 255, 0.32), rgba(255, 249, 237, 0.4)) 1 1;
 			
 			display: flex;
 			align-items: center;
-			justify-content: center;
+			justify-content: flex-start;
 			
 			margin-left: 16rpx;
+			
+			background-size: 100% 100%;
+			background-repeat: no-repeat;
+			padding-left: 14rpx;
 			.hg_i{
 				width: 23rpx;
 				height: 17rpx;
@@ -52,14 +56,23 @@
 	
 	
 	.card{
-		height: 296rpx;
-		background: #2A79CF;
-		border-radius: 20rpx;
 		
+		margin-top: -160rpx;
+		height: 486rpx;
+		// border-radius: 20rpx;
 		position: relative;
 		
-		margin-top: 32rpx;
+		// margin-top: 32rpx;
 		padding: 48rpx;
+		// padding-top: 0;
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
+		
+		// background: #007AFF;
+		
+		.imgPos{
+			height: 128rpx;
+		}
 		
 		.ljx_i{
 			width: 236rpx;
@@ -76,6 +89,8 @@
 			font-family: SourceHanSansCN, SourceHanSansCN;
 			font-weight: bold;
 			color: #FFFFFF;
+			motion-path: none;
+			margin-top: 48rpx;
 			
 			.eye{
 				width: 34rpx;
@@ -134,12 +149,12 @@
 			
 			
 			.iconBox{
-				display: flex;
-				align-items: center;
-				justify-content: center;
+				// display: flex;
+				// align-items: center;
+				// justify-content: center;
 				width: 96rpx;
 				height: 96rpx;
-				background: rgba(14,100,235,0.2);
+				// background: rgba(14,100,235,0.2);
 				border-radius: 50%;
 				margin-bottom: 20rpx;
 				
@@ -152,14 +167,19 @@
 	}
 	
 	.bLogo{
-		font-size: 24rpx;
-		font-family: DOUYUFont;
-		color: #007AFF;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
+		// font-size: 24rpx;
+		// font-family: DOUYUFont;
+		// color: #007AFF;
+		// display: flex;
+		// flex-direction: column;
+		// align-items: center;
+		// justify-content: center;
 		margin-top: 284rpx;
+		width: 166rpx;
+		height: 116rpx;
+		margin-left: 50%;
+		transform: translateX(-50%);
+		
 		
 		.logo{
 			width: 80rpx;

+ 50 - 28
pages/my/pubCenter/index.vue

xqd xqd xqd xqd xqd
@@ -4,16 +4,21 @@
 
 		<view class="outerBox">
 			<view class="userBox">
-				<image class="avatar" :src="!userInfo?picBase+'defaultAvatar.png':userInfo.avatar" mode=""></image>
-				{{userInfo.name}}
-				<view class="flag">
+				<image class="avatar" :src="!userInfo.avatar?picBase+'defaultAvatar.png':userInfo.avatar" mode="">
+				</image>
+				{{userInfo.name?userInfo.name:'默认用户'}}
+				<view class="flag" :style="{'background-image':`url(${picBase+'dashi_bg.png'})`}">
 					推广大使
-					<image src="../../../static/other/huangguan.png" mode="" class="hg_i"></image>
+					<!-- <image src="../../../static/other/huangguan.png" mode="" class="hg_i"></image> -->
 				</view>
 			</view>
 
-			<view class="card">
-				<image src="../../../static/other/liujiaoxing.png" mode="widthFix" class="ljx_i"></image>
+			<view class="card" :style="{'background-image':`url(${picBase+'center_c_bg.png'})`}">
+				<!-- <image src="../../../static/other/liujiaoxing.png" mode="widthFix" class="ljx_i"></image> -->
+
+				<view class="imgPos">
+
+				</view>
 
 				<view class="labelBox">
 					推广收入.
@@ -22,10 +27,10 @@
 
 				<view class="shouRu">
 					<view class="left">
-						累计收入:{{state?'¥ 999':'******'}}
+						累计收入:{{state?'¥'+info.totalIncome:'******'}}
 					</view>
 					<view class="right">
-						可提现收入: {{state?'¥ 999':'******'}}
+						可提现收入: {{state?'¥'+info.withdrawIncome:'******'}}
 					</view>
 				</view>
 			</view>
@@ -36,16 +41,16 @@
 			</view>
 			<view class="list">
 				<view class="item" v-for="(item,index) in serList" @click="toPage(index)">
-					<view class="iconBox">
-						<image :src="item.icon" mode="widthFix" class="icon"></image>
-					</view>
+					<!-- <view class="iconBox"> -->
+					<image :src="item.icon" mode="widthFix" class="iconBox"></image>
+					<!-- </view> -->
 					{{item.txt}}
 				</view>
 			</view>
-			<view class="bLogo">
-				<image src="../../../static/other/biyan.png" mode="" class="logo"></image>
-				短腿鹤伴读
-			</view>
+			<!-- <view class="bLogo"> -->
+			<image :src="picBase+'logo_b.png'" mode="" class="bLogo"></image>
+			<!-- 短腿鹤伴读
+			</view> -->
 		</view>
 	</view>
 </template>
@@ -53,7 +58,8 @@
 <script>
 	// import navBar from '@/components/navBar/index.vue'
 	import {
-		getUserInfo
+		getUserInfo,
+		getYongjinList
 	} from '@/api/index/index.js'
 	export default {
 		// components: {
@@ -62,45 +68,61 @@
 		data() {
 			return {
 				picBase: this.$picBase2,
-				userInfo:null,
+				userInfo: null,
 				state: true,
-				eyeSrc: '../../../static/other/zyan.png',
-				eyeSrc2: '../../../static/other/biyan.png',
+				eyeSrc: this.$picBase2 + 'zyan.png',
+				eyeSrc2: this.$picBase2 + 'biyan.png',
 				serList: [{
 						txt: '推广团队',
-						icon: '../../../static/other/icon1.png'
+						icon: this.$picBase2 + 'icon1.png'
 					},
 					{
 						txt: '佣金明细',
-						icon: '../../../static/other/icon2.png'
+						icon: this.$picBase2 + 'icon2.png'
 					},
 					{
 						txt: '佣金提现',
-						icon: '../../../static/other/icon3.png'
+						icon: this.$picBase2 + 'icon3.png'
 					},
 					{
 						txt: '提现明细',
-						icon: '../../../static/other/icon4.png'
+						icon: this.$picBase2 + 'icon2.png'
 					},
 					{
 						txt: '分享海报',
-						icon: '../../../static/other/icon5.png'
+						icon: this.$picBase2 + 'icon5.png'
 					},
-				]
+				],
+				info: {
+					totalIncome: 0,
+					withdrawIncome: 0,
+					// data: []
+				}
 			}
 		},
 		onLoad() {
-this.getUserInfo()
+			this.getUserInfo(),
+				this.getYongjinList()
 		},
 		methods: {
+
+			async getYongjinList() {
+				let res1 = await getYongjinList()
+				console.log('佣金明细返回值--------', res1);
+				if (res1.code == 0) {
+					this.info = res1.data
+				} else {
+					this.$toast(res1.message)
+				}
+			},
 			async getUserInfo() {
 				let res1 = await getUserInfo()
 				console.log('用户信息返回值--------', res1);
 				if (res1.code == 0) {
 					uni.setStorageSync('userInfo', res1.data)
-					this.userInfo=res1.data
+					this.userInfo = res1.data
 				} else {
-				this.$toast(res1.message)
+					this.$toast(res1.message)
 				}
 			},
 			handleShow() {

+ 27 - 13
pages/my/team/index.scss

xqd xqd xqd xqd xqd xqd
@@ -9,6 +9,9 @@
 	padding-top: 24rpx;
 	padding-left: 30rpx;
 	padding-right: 30rpx;
+	
+	background-size: 100% 466rpx;
+	background-repeat: no-repeat;
 	.bar{
 		height: 64rpx;
 		background: #E2F0FF;
@@ -23,12 +26,12 @@
 		.tag{
 			width: 78rpx;
 			height: 34rpx;
-			background: linear-gradient(132deg, #4FDDFF 0%, #5ECFFF 49%, #017AFF 100%);
-			filter: blur(0.5px);
-			display: flex;
-			align-items: center;
-			// justify-content: center;
-			font-style: italic;
+			// background: linear-gradient(132deg, #4FDDFF 0%, #5ECFFF 49%, #017AFF 100%);
+			// filter: blur(0.5px);
+			// display: flex;
+			// align-items: center;
+			// // justify-content: center;
+			// font-style: italic;
 			margin-right: 12rpx;
 		}
 	}
@@ -40,12 +43,18 @@
 			padding-right: 30rpx;
 			padding-top: 48rpx;
 			min-height:calc(100vh - 140rpx);
-			background: #FFFFFF;
+			background: #fff;
 			// background: skyblue;
 			box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
 			border-radius: 40rpx 40rpx 0 0;
 			position: relative;
 			margin-top: -30rpx;
+			
+			// background-size: 100% 1332rpx;
+			// background-size: contain;
+			// background-repeat: no-repeat;
+			
+			// background-blend-mode: overlay;
 			.sanjiaoxing{
 				position:absolute;
 				top: 0;
@@ -55,13 +64,13 @@
 				    height: 0;
 				    border-left: 20rpx solid transparent;
 				    border-right: 20rpx solid transparent;
-				    border-top: 20rpx solid #56AAFB; 
+				    border-top: 20rpx solid #5FADFC; 
 			}
 			
 			.list{
 				display: flex;
 				flex-direction: column;
-				padding-top: 34rpx;
+				// padding-top: 34rpx;
 				// background: red;
 				height: 100%;
 				
@@ -72,10 +81,10 @@
 					margin-bottom:24rpx;
 					
 					height: 176rpx;
-					background: linear-gradient(287deg, #E5F1FF 0%, #FFFFFF 100%);
-					box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
-					border-radius: 32rpx;
-					border: 2rpx solid rgba(102, 178, 255, 1);
+					// background: linear-gradient(287deg, #E5F1FF 0%, #FFFFFF 100%);
+					// box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
+					// border-radius: 32rpx;
+					// border: 2rpx solid rgba(102, 178, 255, 1);
 					// border-image: linear-gradient(90deg, rgba(102, 178, 255, 1), rgba(255, 255, 255, 0)) 2 2;
 					// border-image-repeat: round;
 					// border-image-slice: 1; 
@@ -83,6 +92,11 @@
 					padding-right: 32rpx;
 					position: relative;
 					
+					
+					background-size: 100% 100%;
+					// background-size: contain;
+					background-repeat: no-repeat;
+					
 					.water2{
 						width: 114rpx;
 						height: 126rpx;

+ 50 - 24
pages/my/team/index.vue

xqd xqd
@@ -2,41 +2,53 @@
 	<view class="container">
 		<navBar title="推广团队" :back="true" color="#333333" background="#FFFFFF" />
 
-		<view class="topBox">
+		<view class="topBox" :style="{'background-image':`url(${picBase+'team_bg.png'})`}">
 			<view class="bar">
-				<view class="tag">
+				<!-- <view class="tag">
 					TIPS
-				</view>
-				团队人数 235人
+				</view> -->
+				<image :src="picBase+'hb_tips.png'" mode="" class="tag"></image>
+				团队人数 {{list.length}}人
 			</view>
 		</view>
 
+		<!-- <view class="mianContent" :style="{'background-image':`url(${picBase+'my_b_bg.png'})`}"> -->
 		<view class="mianContent">
 			<view class="sanjiaoxing">
 			</view>
 			<view class="list">
-				<view class="item" v-for="i in 6">
-					<!-- <image src="../../../static/tabbar/my.png" mode="" class="water2"></image> -->
-					<view class="left">
-						<image src="../../../static/tabbar/my.png" mode="" class="avatar"></image>
-						<view class="des">
-							<view class="name">
-								达布溜
-							</view>
-							<view class="time">
-								2023-10-20 12:21
+				<view class="empty" style="margin-top: 50%;" v-if="list.length==0">
+					<u-empty mode="data" />
+				</view>
+
+
+				<view class="" v-else>
+					<view class="item" v-for="(item,index) in list"
+						:style="{'background-image':`url(${picBase+'card_b.png'})`}">
+						<!-- <image src="../../../static/tabbar/my.png" mode="" class="water2"></image> -->
+						<view class="left">
+							<image :src="!item.avatar?picBase+'defaultAvatar.png':item.avatar" mode="" class="avatar">
+							</image>
+							<view class="des">
+								<view class="name">
+									{{item.name?item.name:'默认用户'}}
+								</view>
+								<view class="time">
+									{{item.share_date}}
+								</view>
 							</view>
 						</view>
-					</view>
-					<view class="right">
-						<view class="money">
-							¥2398
-						</view>
-						<view class="count">
-							充值次数5
+						<view class="right">
+							<view class="money">
+								¥{{item.amount_sum_amount}}
+							</view>
+							<view class="count">
+								充值次数{{item.order_count}}
+							</view>
 						</view>
 					</view>
 				</view>
+
 			</view>
 
 
@@ -46,20 +58,34 @@
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		getTeam,
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
-
+				picBase: this.$picBase2,
+				list: []
 			}
 		},
 		onLoad() {
-
+			this.getTeam()
 		},
 		methods: {
-
+			async getTeam() {
+				let res1 = await getTeam()
+				console.log('团队返回值--------', res1);
+				if (res1.code == 0) {
+					this.list = res1.data.data
+					// this.list = []
+				} else {
+					this.$toast(res1.message)
+				}
+			},
 		}
 	}
 </script>

+ 89 - 43
pages/my/tuiguangDashi/index.scss

xqd xqd xqd xqd xqd xqd
@@ -1,61 +1,84 @@
 	view {
 		box-sizing: border-box;
 	}
+	
+	// ::v-deep .uicon-checkmark-circle-fill{
+	// 	border:1rpx solid #016BF1;
+	// 	border-radius: 50%;
+	// }
  
 	.container {
  .topBox{
-	 height: 500rpx;
-	background: #A5CDFF;
+	 // height: 500rpx;
+	background: #A6CDFF;
 	padding-top: 40rpx;
 	padding-left: 30rpx;
 	padding-right: 30rpx;
 	padding-bottom: 16rpx;
 	
-	.top{
-		height: 146rpx;
-		background:#016BF1 ;
-		border-radius: 30rpx 30rpx 0 0;
-		border: 1rpx solid #fff;
-		border-bottom: none;
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		.en{
-			font-size: 28rpx;
-			font-family: SourceHanSansCN, SourceHanSansCN;
-			font-weight: 400;
-			color: #5CAAFF;
+	.addBg{
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
+		.top{
+			height: 146rpx;
+			// background:#016BF1 ;
+			// border-radius: 30rpx 30rpx 0 0;
+			// border: 1rpx solid #fff;
+			border-bottom: none;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			
+		
+			.en{
+				font-size: 28rpx;
+				font-family: SourceHanSansCN, SourceHanSansCN;
+				font-weight: 400;
+				color: #5CAAFF;
+				
+				position: relative;
+				.starIcon{
+					width: 24rpx;
+					height: 24rpx;
+					position: absolute;
+					right: -24rpx;
+					top: -10rpx;
+				}
+			}
+			.zh{
+				font-size: 52rpx;
+				font-family: SourceHanSansCN, SourceHanSansCN;
+				font-weight: bold;
+				color: #D6EAFF;
+			}
 		}
-		.zh{
-			font-size: 52rpx;
+		.bot2{
+			font-size: 30rpx;
 			font-family: SourceHanSansCN, SourceHanSansCN;
-			font-weight: bold;
-			color: #D6EAFF;
+			font-weight: 500;
+			color: #333333;
+			
+			height: 270rpx;
+			// background: rgba(255,255,255,0.5);
+			// box-shadow: 0rpx 2rpx 8rpx -4rpx rgba(1,122,255,0.2);
+			// backdrop-filter: blur(10px);
+			// border-radius:0 0  30rpx 30rpx ;
+			
+			padding-top: 32rpx;
+			padding-left: 40rpx;
+			padding-right: 40rpx;
+			
+			// background: red;
 		}
 	}
-	.bot{
-		font-size: 30rpx;
-		font-family: SourceHanSansCN, SourceHanSansCN;
-		font-weight: 500;
-		color: #333333;
-		
-		height: 270rpx;
-		background: rgba(255,255,255,0.5);
-		box-shadow: 0rpx 2rpx 8rpx -4rpx rgba(1,122,255,0.2);
-		backdrop-filter: blur(10px);
-		border-radius:0 0  30rpx 30rpx ;
-		
-		padding-top: 32rpx;
-		padding-left: 40rpx;
-		padding-right: 40rpx;
-	}
+	
 		}
 		
 		.form{
 			margin-top: -20rpx;
 			min-height: 800rpx;
-			background: #FFFFFF;
+			// background: #FFFFFF;
 			// background: red;
 			box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
 			
@@ -65,6 +88,9 @@
 		padding-top: 68rpx;
 		padding-left: 30rpx;
 		padding-right: 30rpx;
+		
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
 			
 			.sanjiaoxing{
 				position:absolute;
@@ -79,10 +105,10 @@
 			}
 			.titleBox{
 				// margin-top: 48rpx;
-				background: #F0F1F4;
-				background: linear-gradient(90deg,#F0F1F4,#fff);
+				// background: #F0F1F4;
+				background: linear-gradient(90deg,#F0F1F4,#F8F9FA);
 				height: 62rpx;
-				width: 60%;
+				width: 100%;
 				border-radius: 32rpx 0rpx 0rpx 0rpx;
 				font-size: 32rpx;
 				font-family: SourceHanSansCN, SourceHanSansCN;
@@ -91,6 +117,14 @@
 				display: flex;
 				align-items: center;
 				padding-left: 32rpx;
+				position: relative;
+				.starIcon{
+					width: 24rpx;
+					height: 24rpx;
+					position: absolute;
+					right: 55%;
+					top: -5rpx;
+				}
 			}
 			
 			.inputbox{
@@ -128,13 +162,18 @@
 				display: flex;
 				align-items: center;
 				margin-top: 24rpx;
+				// background: red;
+				
+				.radio {
+					width: 10rpx;
+				}
 				
 				.info{
 					width: 24rpx;
 					height: 24rpx;
 					margin-right: 8rpx;
 				}
-				text{
+				.t2{
 					color: #017AFF;
 					margin-left: 10rpx;
 				}
@@ -170,4 +209,11 @@
 			font-weight: bold;
 			color: #FFFFFF;
 		}
-	}
+	}
+	
+	
+	
+	// ::v-deep .u-radio-group{
+	// 	width: 50rpx;
+	// 	flex-shrink: 1!important;
+	// }

+ 81 - 16
pages/my/tuiguangDashi/index.vue

xqd xqd xqd
@@ -3,23 +3,28 @@
 		<navBar title="推广大使" :back="true" color="#333333" background="#FFFFFF" />
 
 		<view class="topBox">
-			<view class="top">
-				<view class="en">
-					PROMOTION AND RECRUI
+			<view class="addBg" :style="{'background-image':`url(${picBase+'tgds_bg.png'})`}">
+				<view class="top">
+					<view class="en">
+						<image :src="picBase+'star_w.png'" mode="heightFix" class="starIcon"></image>
+						PROMOTION AND RECRUITMENT
+					</view>
+					<view class="zh">
+						推广大使招募
+					</view>
 				</view>
-				<view class="zh">
-					推广大使招募
+				<view class="bot2">
+					入驻说明,加入分销商需要沟通买399年卡会员,联系客服开通
 				</view>
 			</view>
-			<view class="bot">
-				入驻说明,加入分销商需要沟通买399年卡会员,联系客服开通
-			</view>
+
 		</view>
 
-		<view class="form">
-			<view class="sanjiaoxing">
-			</view>
+		<view class="form" :style="{'background-image':`url(${picBase+'my_b_bg.png'})`}">
+			<!-- <view class="sanjiaoxing">
+			</view> -->
 			<view class="titleBox">
+				<image :src="picBase+'s_star.png'" mode="heightFix" class="starIcon"></image>
 				推荐奖励明细
 			</view>
 			<view class="inputbox">
@@ -27,9 +32,18 @@
 				<input type="text" class="phone" placeholder="输入手机号" v-model="formData.phone" />
 			</view>
 			<view class="tipBox">
-				<image src="../../../static/tabbar/my.png" mode="" class="info"></image>
-				我已阅读并同意以上规则以及
-				<text> 推广员功能服务协议</text>
+				<!-- <image src="../../../static/tabbar/my.png" mode="" class="info"></image> -->
+
+				<!-- <u-radio-group v-model="value">
+					<u-radio value="" :customStyle="{}" @change="radioChange" />
+				</u-radio-group> -->
+				<!-- <view class="radio">
+					<radio :checked="value" style="width: 10rpx;" @click="value=!value" color="#017CFF" size="12" />
+				</view> -->
+				<u-icon name="checkmark-circle-fill" @click="value=!value" :color="value?'#207CF7':'#ededed'"
+					size="16"></u-icon>
+				<text style="margin-left: 5rpx;">我已阅读并同意以上规则以及</text>
+				<text class="t2" @click="toProtocol"> 推广员功能服务协议</text>
 			</view>
 		</view>
 
@@ -44,24 +58,75 @@
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+	import {
+		postZhaomu,
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
+				picBase: this.$picBase2,
 				formData: {
 					name: '',
 					phone: ''
-				}
+				},
+				value: true
 			}
 		},
 		onLoad() {
 
 		},
 		methods: {
-			apply() {
+			async apply() {
+				let phoneReg = /^[1][3,4,5,7,8,9][0-9]{9}$/
+				if (!this.formData.name) {
+					return this.$toast('请输入姓名')
+				}
+
+				if (!this.formData.phone) {
+					return this.$toast('请输入手机号')
+				}
+
+				if (!phoneReg.test(this.formData.phone)) {
+					return this.$toast('请输入合法的手机号')
+				}
+				if (!this.value) {
+					return this.$toast('请同意协议')
+				}
+
+
 				console.log('form', this.formData);
+				// let p = {}
+				let res1 = await postZhaomu(this.formData)
+				console.log('申请推广大使返回值--------2', res1);
+				this.$toast('申请成功', 'success')
+				// return setTimeout(() => {
+				// 	uni.reLaunch({
+				// 		url: '/pages/my/index'
+				// 	})
+				// }, 1500)
+				if (res1.code == 0) {
+					this.$toast('申请成功', 'success')
+					// uni.showToast({
+					// 	title:'申请成功'
+					// })
+					setTimeout(() => {
+						uni.reLaunch({
+							url: '/pages/my/index'
+						})
+					}, 1500)
+					// console.log('list1', this.list1);
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
+			toProtocol() {
+				uni.navigateTo({
+					url: '/pages/my/protocol/index?type=' + 3
+				})
 			}
 		}
 	}

+ 8 - 1
pages/my/tuiguangHaibao/index.scss

xqd
@@ -4,10 +4,17 @@
  
 	.container {
 .haobaoBox{
-	height: 50vh;
+	// background: #017AFF;
+	// height: 70vh;
+	
+	padding-bottom: 180rpx;
 	display: flex;
 	justify-content: center;
 	padding-top: 56rpx;
+	overflow-y: scroll;
+	image{
+		// height: 85vh;
+	}
 }
 	}
 	

+ 60 - 42
pages/my/tuiguangHaibao/index.vue

xqd xqd xqd xqd xqd xqd xqd
@@ -7,7 +7,7 @@
 
 		<view class="haobaoBox" v-if="showPoster">
 			<wike-painter style="display: none;" :board="posterObj" @done="posterSuccess" ref="painter"></wike-painter>
-		<image :src="haibaoUrl" mode="" class="haibao"></image>
+			<image :src="haibaoUrl" mode="widthFix" class="haibao"></image>
 		</view>
 
 
@@ -21,6 +21,10 @@
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+
+	import {
+		getCode
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
@@ -28,8 +32,8 @@
 		data() {
 			return {
 				picBase: this.$picBase2,
-				
-				
+
+
 				isLoading: true,
 				tobheight: 45,
 				// platform: this.$platform.get(),
@@ -89,26 +93,53 @@
 					is_self_buy: "2",
 					is_self_buy_commission: "2",
 					level: "2",
-					poster_bg_height: "1334",
+					// poster_bg_height: "1334",
+
+					// poster_bg_width: "750",
+					poster_bg_width: "700",
+					poster_bg_height: "1100",
 					poster_bg_img: "1671",
-					poster_bg_img_filename: "分销海报.jpg",
-					poster_bg_img_path: "https://nywhcm.com/addons/wike_aging/public/static/storage/20230625/74f8be11f3f174e63576a777c71d644b.jpg",
-					poster_bg_width: "750",
-					poster_qrcode_width: "135",
+
+					poster_qrcode_x: "502",
+					poster_qrcode_y: "865",
+					poster_qrcode_width: "175",
+
+
+
+					poster_bg_img_filename: "推广海报.jpg",
+					// poster_bg_img_path: "https://nywhcm.com/addons/wike_aging/public/static/storage/20230625/74f8be11f3f174e63576a777c71d644b.jpg",
+					poster_bg_img_path: this.$picBase2 + "haibao_bg.png",
+
+
 					poster_qrcode_width_filename: "tmp_c1537e2c3beb0a3d14f87a63da8b84cc548ea7871f918188.jpg",
 					poster_qrcode_width_path: "https://nywhcm.com/addons/wike_aging/public/static/storage/20230322/17859fbc20087bd430f224905f5d9370.jpg",
-					poster_qrcode_x: "514",
-					poster_qrcode_y: "1174",
+
 					second: "10",
 					third: "0"
 				},
-				haibaoUrl:''
+				haibaoUrl: '',
+				qrcode: ''
+
 			}
 		},
 		onLoad() {
-			this.createPoster()
+			// this.createPoster()
+
+			this.getCode()
 		},
 		methods: {
+			async getCode() {
+				let res1 = await getCode()
+				console.log('邀请码返回值--------2', res1);
+				if (res1.code == 0) {
+					this.qrcode = res1.data.url
+
+					this.createPoster()
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+
 			toSave() {
 				uni.showLoading({
 					title: '海报生成中'
@@ -151,14 +182,14 @@
 			test() {
 				console.log('1212232323---------', this.commissionLv);
 			},
-			revertUrl(){
+			revertUrl() {
 				this.$refs.painter.canvasToTempFilePathSync({
 					// 在nvue里是jpeg
 					fileType: 'jpg',
 					quality: 1,
 					success: res => {
-						this.haibaoUrl=res.tempFilePath
-						console.log('this.haibaoUrl',this.haibaoUrl);
+						this.haibaoUrl = res.tempFilePath
+						console.log('this.haibaoUrl', this.haibaoUrl);
 					}
 				});
 			},
@@ -209,18 +240,6 @@
 								position: 'fixed',
 
 							},
-							// #ifdef H5
-							views: [{
-								type: 'qrcode',
-								text: this.qrcode,
-								css: {
-									width: (this.info.poster_qrcode_width / proportionally) + 'px',
-									height: (this.info.poster_qrcode_width / proportionally) + 'px',
-									background: '#fff'
-								}
-							}],
-							// #endif
-							// #ifdef MP-WEIXIN
 							views: [{
 								type: 'image',
 								src: this.qrcode,
@@ -230,25 +249,24 @@
 									background: '#fff'
 								}
 							}]
-							// #endif
 						}
 					]
 				}),
 				(
-				this.showPoster = true,
-				// this.revertUrl()
-				
-				setTimeout(()=>{
-					that.$refs.painter.canvasToTempFilePathSync({
-						// 在nvue里是jpeg
-						fileType: 'jpg',
-						quality: 1,
-						success: res => {
-							that.haibaoUrl=res.tempFilePath
-							console.log('that.haibaoUrl',that.haibaoUrl);
-						}
-					})
-				},1000)
+					this.showPoster = true,
+					// this.revertUrl()
+
+					setTimeout(() => {
+						that.$refs.painter.canvasToTempFilePathSync({
+							// 在nvue里是jpeg
+							fileType: 'jpg',
+							quality: 1,
+							success: res => {
+								that.haibaoUrl = res.tempFilePath
+								console.log('that.haibaoUrl', that.haibaoUrl);
+							}
+						})
+					}, 1000)
 				);
 			},
 		}

+ 26 - 26
pages/my/userInfo/index.vue

xqd xqd xqd xqd
@@ -24,7 +24,7 @@
 					</view>
 				</view>
 				<view class="item">
-					<view class="left">
+					<view class="left" style="width:100rpx ;">
 						手机号
 					</view>
 					<view class="right">
@@ -77,30 +77,30 @@
 				// 	id: '237429302'
 				// },
 				mode: 0,
-				
-				userInfo:null,
+
+				userInfo: null,
 			}
 		},
 		onLoad() {
-				this.getUserInfo()
+			this.getUserInfo()
 		},
 		methods: {
 			async updateUserInfo() {
 				let phoneReg = /^[1][3,4,5,7,8,9][0-9]{9}$/
-				if(!this.userInfo.avatar){
+				if (!this.userInfo.avatar) {
 					return this.$toast('请上传头像')
 				}
-				if(!this.userInfo.name){
+				if (!this.userInfo.name) {
 					return this.$toast('请输入昵称')
 				}
-				if (!this.userInfo.mobile ||!phoneReg.test(this.userInfo.mobile)) {
+				if (!this.userInfo.mobile || !phoneReg.test(this.userInfo.mobile)) {
 					return this.$toast('请输入合法的手机号')
 				}
-				
-				let p={
-					name:this.userInfo.name,
-					avatar:this.userInfo.avatar,
-					mobile:this.userInfo.mobile
+
+				let p = {
+					name: this.userInfo.name,
+					avatar: this.userInfo.avatar,
+					mobile: this.userInfo.mobile
 				}
 				this.userInfo
 				console.log('更新用户信息参数--------', p);
@@ -108,23 +108,23 @@
 				console.log('更新用户信息返回值--------', res1);
 				if (res1.code == 0) {
 					this.$toast('保存成功')
-					setTimeout(()=>{
+					setTimeout(() => {
 						uni.navigateBack()
-					},1500)
+					}, 1500)
 				} else {
-				this.$toast(res1.message)
+					this.$toast(res1.message)
+				}
+			},
+			async getUserInfo() {
+				let res1 = await getUserInfo()
+				console.log('用户信息返回值--------2', res1);
+				if (res1.code == 0) {
+					uni.setStorageSync('userInfo', res1.data)
+					this.userInfo = res1.data
+				} else {
+					this.$toast(res1.message)
 				}
 			},
-		async getUserInfo() {
-			let res1 = await getUserInfo()
-			console.log('用户信息返回值--------2', res1);
-			if (res1.code == 0) {
-				uni.setStorageSync('userInfo', res1.data)
-				this.userInfo=res1.data
-			} else {
-			this.$toast(res1.message)
-			}
-		},
 			logoOut() {
 				uni.showModal({
 					title: '提示',
@@ -164,7 +164,7 @@
 					name: 'file',
 					header: {
 						'Content-Type': 'multipart/form-data',
-						'Authorization':uni.getStorageSync('token')
+						'Authorization': uni.getStorageSync('token')
 					},
 					formData: {
 						'fileType': 'images',

+ 45 - 19
pages/my/yongjinDetail/index.scss

xqd xqd xqd xqd xqd xqd xqd
@@ -6,6 +6,9 @@
  .bgBox{
 	background: #F7F8FB;
 	min-height: 100vh;
+	
+	background-size: 100% 466rpx;
+	background-repeat: no-repeat;
 	.topBox{
 		padding-top: 48rpx;
 		padding-left: 50rpx;
@@ -32,15 +35,21 @@
 				
 				width: 128rpx;
 				height: 28rpx;
-				background: linear-gradient(90deg, #FFEDDD 0%, #C7977A 100%);
-				border: 1rpx solid;
-				border-image: linear-gradient(251deg, rgba(255, 255, 255, 0.32), rgba(255, 249, 237, 0.4)) 1 1;
+				// background: linear-gradient(90deg, #FFEDDD 0%, #C7977A 100%);
+				// border: 1rpx solid;
+				// border-image: linear-gradient(251deg, rgba(255, 255, 255, 0.32), rgba(255, 249, 237, 0.4)) 1 1;
 				
 				display: flex;
 				align-items: center;
-				justify-content: center;
+				justify-content:flex-start;
 				
 				margin-left: 16rpx;
+				
+				
+				background-size: 100% 100%;
+				background-repeat: no-repeat;
+				
+				padding-left: 14rpx;
 				.hg_i{
 					width: 23rpx;
 					height: 17rpx;
@@ -48,13 +57,18 @@
 				}
 			}
 		}
-		
+	}
+	
+	.addBg{
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
+		padding: 0 10rpx;
 		.cardTop{
 			height: 186rpx;
-			background: linear-gradient(360deg, #EAEEFD 0%, #F6FAFF 100%);
-			border-radius: 16rpx 16rpx 0 0;
+			// background: linear-gradient(360deg, #EAEEFD 0%, #F6FAFF 100%);
+			// border-radius: 16rpx 16rpx 0 0;
 			padding-top: 40rpx;
-			padding-left: 28rpx;
+			padding-left: 68rpx;
 			display: flex;
 			
 			position: relative;
@@ -89,19 +103,15 @@
 				color: #333333;
 			}
 		}
-		
-	}
-	.botContent{
-		padding:0 30rpx;
 		.cardBot{
 			// width: 690rpx;
 			height: 176rpx;
-			background: #FFFFFF;
-			box-shadow: 0rpx -2rpx 20rpx 0rpx rgba(0,0,0,0.05);
-			border-radius: 0rpx 0rpx 32rpx 32rpx;
+			// background: #FFFFFF;
+			// box-shadow: 0rpx -2rpx 20rpx 0rpx rgba(0,0,0,0.05);
+			// border-radius: 0rpx 0rpx 32rpx 32rpx;
 			padding-top: 32rpx;
-			padding-left: 24rpx;
-			padding-right: 24rpx;
+			padding-left: 44rpx;
+			padding-right: 44rpx;
 			.btn{
 				height: 96rpx;
 				background: linear-gradient(132deg, #0298FF 0%, #017AFF 100%);
@@ -116,6 +126,10 @@
 				color: #FFFFFF;
 			}
 		}
+	}
+	.botContent{
+		padding:0 30rpx;
+	
 		.titleBox{
 			margin-top: 50rpx;
 			background: #F0F1F4;
@@ -130,13 +144,22 @@
 			display: flex;
 			align-items: center;
 			padding-left: 32rpx;
+			
+			position: relative;
+			.starIcon{
+				width: 24rpx;
+				height: 24rpx;
+				position: absolute;
+				right: 50%;
+				top: -5rpx;
+			}
 		}
 		.list{
 			margin-top: 32rpx;
 			.item{
 				// height: 206rpx;
-				background: #FFFFFF;
-				box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
+				// background: #FFFFFF;
+				// box-shadow: 0rpx 4rpx 16rpx -8rpx rgba(0,103,104,0.16);
 				border-radius: 32rpx;
 				padding-top: 40rpx;
 				padding-left: 32rpx;
@@ -146,6 +169,9 @@
 				padding-bottom: 32rpx;
 				margin-bottom: 24rpx;
 				position:relative;
+				
+				background-size: 100% 100%;
+				background-repeat: no-repeat;
 				.water2{
 					position: absolute;
 					bottom: 0;

+ 76 - 29
pages/my/yongjinDetail/index.vue

xqd xqd xqd xqd
@@ -2,17 +2,19 @@
 	<view class="container">
 		<navBar title="佣金明细" :back="true" color="#333333" background="#FFFFFF" />
 
-		<view class="bgBox">
+		<view class="bgBox" :style="{'background-image':`url(${picBase+'yongjin_bg.png'})`}">
 			<view class="topBox">
 				<view class="userBox">
-					<image class="avatar" src="../../../static/tabbar/my.png" mode=""></image>
-					达布溜
-					<view class="flag">
+					<image class="avatar" :src="!userInfo.avatar?picBase+'defaultAvatar.png':userInfo.avatar" mode="">
+					</image>
+					<text>{{userInfo.name?userInfo.name:'默认用户'}}</text>
+					<view class=" flag" :style="{'background-image':`url(${picBase+'dashi_bg.png'})`}">
 						推广大使
-						<image src="../../../static/other/huangguan.png" mode="" class="hg_i"></image>
+						<!-- <image src="../../../static/other/huangguan.png" mode="" class="hg_i"></image> -->
 					</view>
 				</view>
-
+			</view>
+			<view class="addBg" :style="{'background-image':`url(${picBase+'card_b_bg.png'})`}">
 				<view class="cardTop">
 					<!-- <image src="../../../static/tabbar/my.png" mode="" class="water_coin"></image> -->
 					<view class="left">
@@ -20,7 +22,7 @@
 							累计收入(元)
 						</view>
 						<view class="money">
-							¥2389
+							¥{{info.totalIncome}}
 						</view>
 					</view>
 					<view class="right">
@@ -28,45 +30,57 @@
 							可提现收入(元)
 						</view>
 						<view class="money">
-							¥329
+							¥{{info.withdrawIncome}}
 						</view>
 					</view>
 				</view>
-			</view>
 
-			<view class="botContent">
 				<view class="cardBot">
 					<view class="btn" @click="cash">
 						立即提现
 					</view>
 				</view>
+			</view>
+
+
+			<view class="botContent">
+
 
 				<view class="titleBox">
+					<image :src="picBase+'s_star.png'" mode="heightFix" class="starIcon"></image>
 					佣金明细
 				</view>
 
 				<view class="list">
-					<view class="item" v-for="i in 3">
-						<!-- <image src="../../../static/tabbar/my.png" mode="" class="water2"></image> -->
-						<view class="top">
-							<view class="left">
-								<image src="../../../static/tabbar/my.png" mode="" class="avatar"></image>
-								<view class="des">
-									<view class="name">
-										推荐用户XXXXX
-									</view>
-									<view class="time">
-										2023-10-20 12:21
+
+					<view class="empty" style="margin-top: 50%;" v-if="info.data.length==0">
+						<u-empty mode="data" />
+					</view>
+
+					<view class="" v-else>
+						<view class="item" v-for="(item,index) in info.data"
+							:style="{'background-image':`url(${picBase+'card_bg2.png'})`}">
+							<!-- <image src="../../../static/tabbar/my.png" mode="" class="water2"></image> -->
+							<view class="top">
+								<view class="left">
+									<image :src="item.user.avatar" mode="" class="avatar"></image>
+									<view class="des">
+										<view class="name">
+											{{item.user.name}}
+										</view>
+										<view class="time">
+											{{item.created_at}}
+										</view>
 									</view>
 								</view>
+								<view class="right">
+									¥{{item.amount}}
+								</view>
 							</view>
-							<view class="right">
-								+36
+							<view class="bot">
+								{{item.title}}
 							</view>
 						</view>
-						<view class="bot">
-							购买了299.9的尊享套餐,您获得了佣金36元
-						</view>
 					</view>
 				</view>
 			</view>
@@ -77,22 +91,55 @@
 
 <script>
 	// import navBar from '@/components/navBar/index.vue'
+	import {
+		getYongjinList,
+		getUserInfo
+	} from '@/api/index/index.js'
 	export default {
 		// components: {
 		// 	navBar
 		// },
 		data() {
 			return {
-
+				picBase: this.$picBase2,
+				userInfo: null,
+				info: {
+					totalIncome: 0,
+					withdrawIncome: 0,
+					data: []
+				},
+				// list: []
 			}
 		},
 		onLoad() {
-
+			this.getUserInfo()
+			this.getYongjinList()
 		},
 		methods: {
+			async getUserInfo() {
+				let res1 = await getUserInfo()
+				console.log('用户信息返回值--------', res1);
+				if (res1.code == 0) {
+					uni.setStorageSync('userInfo', res1.data)
+					this.userInfo = res1.data
+				} else {
+					this.$toast(res1.message)
+				}
+			},
+			async getYongjinList() {
+				let res1 = await getYongjinList()
+				console.log('佣金明细返回值--------', res1);
+				if (res1.code == 0) {
+					this.info = res1.data
+					// this.userInfo = [1, 1]
+				} else {
+					this.$toast(res1.message)
+				}
+			},
 			cash() {
+				// getApp().availMoney = this.info.withdrawIncome
 				uni.navigateTo({
-					url: '/pages/my/cash/index'
+					url: '/pages/my/cash/index?availMoney=' + this.info.withdrawIncome
 				})
 			}
 		}

BIN
static/other/arrR.png


BIN
static/other/arrR2.png


BIN
static/other/biyan.png


BIN
static/other/c_arrR.png


BIN
static/other/defaultAvatar.png


BIN
static/other/edit.png


BIN
static/other/edit2.png


BIN
static/other/haibao_bg.png


BIN
static/other/huangguan.png


BIN
static/other/icon1.png


BIN
static/other/icon2.png


BIN
static/other/icon3.png


BIN
static/other/icon4.png


BIN
static/other/icon5.png


BIN
static/other/kefu.png


BIN
static/other/liujiaoxing.png


BIN
static/other/loading.gif


BIN
static/other/logo.png


BIN
static/other/logo_b.png


BIN
static/other/upCamera.png


BIN
static/other/wechat.png


BIN
static/other/yhk.png


BIN
static/other/zhifubao.png


BIN
static/other/zyan.png


BIN
static/tabbar/index_a.png


BIN
static/tabbar/my.png


BIN
static/tabbar/my_a.png


+ 5 - 1
uni_modules/uview-ui/components/u-picker/u-picker.vue

xqd xqd
@@ -14,7 +14,7 @@
 							height: $u.addUnit(itemHeight),
 							lineHeight: $u.addUnit(itemHeight),
 							fontWeight: index1 === innerIndex[index] ? '' : 'normal',
-							color:index1 === innerIndex[index] ? aColor : ''
+							color: index1 === innerIndex[index] ? aColor : '',
 						}">{{ getItemText(item1) }}</text>
 				</picker-view-column>
 			</picker-view>
@@ -220,6 +220,10 @@
 				flex: 1;
 				justify-content: center;
 
+				&__itemA {
+					color: #007AFF !important;
+				}
+
 				&__item {
 					@include flex;
 					justify-content: center;

+ 23 - 16
unpackage/dist/build/mp-weixin/app.json

xqd xqd xqd xqd
@@ -4,7 +4,24 @@
     "pages/category/index",
     "pages/service/index",
     "pages/my/index",
-    "pages/map/index"
+    "pages/map/index",
+    "pages/my/huiBen_record/index",
+    "pages/my/charge/index",
+    "pages/my/userInfo/index",
+    "pages/index/genHuiBen/index",
+    "pages/index/genRes/index",
+    "pages/my/pubCenter/index",
+    "pages/my/jiangli/index",
+    "pages/my/tuiguangDashi/index",
+    "pages/my/yongjinDetail/index",
+    "pages/my/cash/index",
+    "pages/my/cashRecord/index",
+    "pages/my/team/index",
+    "pages/my/tuiguangHaibao/index",
+    "pages/my/myRecord/index",
+    "pages/my/kefu/index",
+    "pages/my/aboutUs/index",
+    "pages/my/protocol/index"
   ],
   "subPackages": [],
   "window": {
@@ -15,10 +32,11 @@
     "navigationStyle": "custom"
   },
   "tabBar": {
+    "custom": true,
     "color": "black",
-    "selectedColor": "#1afa29",
+    "selectedColor": "#0000ff",
     "borderStyle": "black",
-    "backgroundColor": "#F8F8F8",
+    "backgroundColor": "#fff",
     "fontSize": "12px",
     "spacing": "5px",
     "height": "50px",
@@ -29,18 +47,6 @@
         "iconPath": "static/tabbar/index.png",
         "selectedIconPath": "static/tabbar/index_a.png"
       },
-      {
-        "pagePath": "pages/category/index",
-        "text": "分类",
-        "iconPath": "static/tabbar/cat.png",
-        "selectedIconPath": "static/tabbar/cat_a.png"
-      },
-      {
-        "pagePath": "pages/service/index",
-        "text": "售后",
-        "iconPath": "static/tabbar/service.png",
-        "selectedIconPath": "static/tabbar/service_a.png"
-      },
       {
         "pagePath": "pages/my/index",
         "text": "我的",
@@ -61,6 +67,7 @@
     "chooseLocation"
   ],
   "usingComponents": {
-    "nav-bar": "/components/navBar/index"
+    "nav-bar": "/components/navBar/index",
+    "tab-bar": "/components/tabBar/index"
   }
 }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/common/main.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/common/main.wxss


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/common/runtime.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/common/vendor.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 1
unpackage/dist/build/mp-weixin/components/navBar/index.js


+ 1 - 1
unpackage/dist/build/mp-weixin/components/navBar/index.wxml

xqd
@@ -1 +1 @@
-<view class="navbar data-v-d336c544" style="{{'height:'+(statusBarHeight+navBareight+'px')+';'+('background:'+(background)+';')}}"><view class="narbar-flexd data-v-d336c544" style="{{'background:'+(background)+';'}}"><view style="{{'height:'+(statusBarHeight+'px')+';'}}" class="data-v-d336c544"></view><view class="narbar-content data-v-d336c544" style="{{'height:'+(navBareight+'px')+';'}}"><block wx:if="{{back}}"><view data-event-opts="{{[['tap',[['onBack',['$event']]]]]}}" class="left data-v-d336c544" style="{{'color:'+(color)+';'+('padding-top:'+(paddingTop)+';')}}" bindtap="__e"><uni-icons vue-id="3a6d4f98-1" type="arrowleft" size="25" color="{{color}}" class="data-v-d336c544" bind:__l="__l"></uni-icons></view></block><view class="title data-v-d336c544" style="{{'color:'+(color)+';'}}">{{''+title+''}}</view></view></view><view class="navHeight data-v-d336c544" style="{{'height:'+(statusBarHeight+navBareight+'px')+';'}}"></view></view>
+<view class="navbar data-v-0d936b32" style="{{'height:'+(statusBarHeight+navBareight+'px')+';'+('background:'+(background)+';')}}"><view class="narbar-flexd data-v-0d936b32" style="{{'background:'+(background)+';'}}"><view style="{{'height:'+(statusBarHeight+'px')+';'}}" class="data-v-0d936b32"></view><view class="narbar-content data-v-0d936b32" style="{{'height:'+(navBareight+'px')+';'+('justify-content:'+(flex=='cen'?'center':'')+';')}}"><block wx:if="{{back}}"><view data-event-opts="{{[['tap',[['onBack',['$event']]]]]}}" class="left data-v-0d936b32" style="{{'color:'+(color)+';'+('padding-top:'+(paddingTop)+';')}}" bindtap="__e"><uni-icons vue-id="3a6d4f98-1" type="arrowleft" size="25" color="{{color}}" class="data-v-0d936b32" bind:__l="__l"></uni-icons></view></block><block wx:if="{{!back&&navImg}}"><view data-event-opts="{{[['tap',[['',['$event']]]]]}}" class="left data-v-0d936b32" bindtap="__e"><image style="width:40rpx;height:60rpx;margin-right:8rpx;" showLoading="{{true}}" mode="heightFix" src="{{navImg}}" data-event-opts="{{[['tap',[['',['$event']]]]]}}" bindtap="__e" class="data-v-0d936b32"></image></view></block><block wx:if="{{title}}"><view class="title data-v-0d936b32" style="{{'color:'+(color)+';'}}">{{''+$root.g0+''}}</view></block></view></view><view class="navHeight data-v-0d936b32" style="{{'height:'+(statusBarHeight+navBareight+'px')+';'}}"></view></view>

+ 1 - 1
unpackage/dist/build/mp-weixin/components/navBar/index.wxss

xqd
@@ -1 +1 @@
-.navbar.data-v-d336c544{background:green}.navbar .narbar-flexd.data-v-d336c544{background:green;position:fixed;top:0;left:0;z-index:99;width:100%}.navbar .narbar-flexd .narbar-content.data-v-d336c544{padding:0 30px;display:flex;box-sizing:border-box;justify-content:center;align-items:center}.navbar .narbar-flexd .narbar-content .left.data-v-d336c544{position:absolute;left:5%;font-weight:600}.navbar .narbar-flexd .narbar-content .title.data-v-d336c544{font-size:16px;color:#fff;font-weight:600}.navbar .navHeight.data-v-d336c544{height:60px}
+.navbar.data-v-0d936b32{background:green;position:relative}.navbar .narbar-flexd.data-v-0d936b32{background:green;position:fixed;top:0;left:0;z-index:99;width:100%}.navbar .narbar-flexd .narbar-content.data-v-0d936b32{padding:0 40rpx;display:flex;box-sizing:border-box;align-items:center}.navbar .narbar-flexd .narbar-content .left.data-v-0d936b32{font-weight:600;display:flex;align-items:center}.navbar .narbar-flexd .narbar-content .title.data-v-0d936b32{font-size:16px;color:#fff;font-weight:600}.navbar .navHeight.data-v-0d936b32{height:60px}

+ 10 - 0
unpackage/dist/build/mp-weixin/components/privacyPopup/index.js

xqd
@@ -0,0 +1,10 @@
+(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/privacyPopup/index"],{"3aed":function(n,e,t){"use strict";var o=t("634a"),i=t.n(o);i.a},"4b33":function(n,e,t){"use strict";t.r(e);var o=t("8f78"),i=t("4d32");for(var u in i)["default"].indexOf(u)<0&&function(n){t.d(e,n,(function(){return i[n]}))}(u);t("3aed");var a=t("f0c5"),r=Object(a["a"])(i["default"],o["b"],o["c"],!1,null,"6b868f52",null,!1,o["a"],void 0);e["default"]=r.exports},"4d32":function(n,e,t){"use strict";t.r(e);var o=t("e1b7"),i=t.n(o);for(var u in o)["default"].indexOf(u)<0&&function(n){t.d(e,n,(function(){return o[n]}))}(u);e["default"]=i.a},"634a":function(n,e,t){},"8f78":function(n,e,t){"use strict";t.d(e,"b",(function(){return i})),t.d(e,"c",(function(){return u})),t.d(e,"a",(function(){return o}));var o={uPopup:function(){return Promise.all([t.e("common/vendor"),t.e("uni_modules/uview-ui/components/u-popup/u-popup")]).then(t.bind(null,"2928"))}},i=function(){var n=this.$createElement;this._self._c},u=[]},e1b7:function(n,e,t){"use strict";(function(n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t={data:function(){return{title:"用户隐私保护提示",desc1:"感谢您使用本产品,您使用本产品前应当仔细阅读并同意",desc2:"当您点击同意并开始使用产品服务时,即表示你已理解并同意该条款内容,该条款将对您产生法律约束力。如您拒绝,将无法更好的体验产品。"}},props:["showPrivateBox","urlTitle"],created:function(){console.log("showPrivateBox-----",this.showPrivateBox)},methods:{openPrivacyContract:function(){n.openPrivacyContract({})},handleAgreePrivacyAuthorization:function(){getApp().globalData.showPrivacy=!1,this.$emit("confirmP")},handleDisagree:function(){console.log("handleDisagree()"),this.$emit("cancleP")}}};e.default=t}).call(this,t("bc2e")["default"])}}]);
+;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
+    'components/privacyPopup/index-create-component',
+    {
+        'components/privacyPopup/index-create-component':(function(module, exports, __webpack_require__){
+            __webpack_require__('543d')['createComponent'](__webpack_require__("4b33"))
+        })
+    },
+    [['components/privacyPopup/index-create-component']]
+]);

+ 6 - 0
unpackage/dist/build/mp-weixin/components/privacyPopup/index.json

xqd
@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "u-popup": "/uni_modules/uview-ui/components/u-popup/u-popup"
+  },
+  "component": true
+}

+ 1 - 0
unpackage/dist/build/mp-weixin/components/privacyPopup/index.wxml

xqd
@@ -0,0 +1 @@
+<u-popup vue-id="4a802978-1" show="{{showPrivateBox}}" round="{{10}}" data-event-opts="{{[['^close',[['']]],['^open',[['']]]]}}" bind:close="__e" bind:open="__e" class="data-v-6b868f52" bind:__l="__l" vue-slots="{{['default']}}"><view class="popup-box data-v-6b868f52"><view class="weui-half-screen-dialog__hd data-v-6b868f52">{{''+title+''}}</view><view class="weui-half-screen-dialog__bd data-v-6b868f52"><text class="weui-half-screen-dialog__tips data-v-6b868f52">{{desc1}}</text><text data-event-opts="{{[['tap',[['openPrivacyContract',['$event']]]]]}}" class="weui-half-screen-dialog__tips color-8BC21F data-v-6b868f52" bindtap="__e">{{''+urlTitle+''}}</text><text class="weui-half-screen-dialog__tips data-v-6b868f52">{{desc2}}</text></view><view class="weui-half-screen-dialog__ft data-v-6b868f52"><button data-event-opts="{{[['tap',[['handleDisagree',['$event']]]]]}}" class="weui-btn data-v-6b868f52" bindtap="__e">拒绝</button><button class="weui-btn agree data-v-6b868f52" id="agree-btn" type="default" open-type="agreePrivacyAuthorization" data-event-opts="{{[['agreeprivacyauthorization',[['handleAgreePrivacyAuthorization',['$event']]]]]}}" bindagreeprivacyauthorization="__e">同意</button></view></view></u-popup>

+ 1 - 0
unpackage/dist/build/mp-weixin/components/privacyPopup/index.wxss

xqd
@@ -0,0 +1 @@
+.popup-box.data-v-6b868f52{width:90vw;overflow:hidden;background:#fff;padding:30rpx;border-radius:24rpx;z-index:1e+29!important}.popup-box .weui-half-screen-dialog__hd.data-v-6b868f52{font-size:34rpx;font-family:Source Han Sans CN-Bold,Source Han Sans CN;font-weight:700;color:#000;line-height:56rpx}.popup-box .weui-half-screen-dialog__bd.data-v-6b868f52{margin-top:48rpx;text-indent:2em}.popup-box .weui-half-screen-dialog__bd .weui-half-screen-dialog__tips.data-v-6b868f52{font-size:28rpx;font-family:Source Han Sans CN-Normal,Source Han Sans CN;font-weight:400;color:#000;line-height:33rpx}.popup-box .weui-half-screen-dialog__ft.data-v-6b868f52{display:flex;justify-content:space-evenly;align-items:center;margin-top:48rpx}.popup-box .weui-half-screen-dialog__ft .weui-btn.data-v-6b868f52{padding:0 60rpx;margin:0;background:none;font-size:32rpx;font-family:Source Han Sans CN-Normal,Source Han Sans CN;font-weight:400;color:#017fff;line-height:80rpx}.popup-box .weui-half-screen-dialog__ft .agree.data-v-6b868f52{color:#fff;background:linear-gradient(132deg,#0298ff,#017aff)}.popup-box .color-8BC21F.data-v-6b868f52{color:#017fff!important}

+ 10 - 0
unpackage/dist/build/mp-weixin/components/tabBar/index.js

xqd
@@ -0,0 +1,10 @@
+(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/tabBar/index"],{"0d3e":function(t,e,n){"use strict";n.r(e);var r=n("84e3"),a=n.n(r);for(var u in r)["default"].indexOf(u)<0&&function(t){n.d(e,t,(function(){return r[t]}))}(u);e["default"]=a.a},"477a":function(t,e,n){"use strict";n.r(e);var r=n("d53b"),a=n("0d3e");for(var u in a)["default"].indexOf(u)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(u);n("d35e7");var i=n("f0c5"),o=Object(i["a"])(a["default"],r["b"],r["c"],!1,null,"17c4005a",null,!1,r["a"],void 0);e["default"]=o.exports},7551:function(t,e,n){},"84e3":function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r={props:{tabBarList:{type:Array,required:!0},routePath:{type:String,required:!0}},data:function(){return{}},methods:{selectTabBar:function(t){this.$emit("onTabBar",t)}},created:function(){console.log("tabBarList----",this.tabBarList),console.log("routePath---",this.routePath)}};e.default=r},d35e7:function(t,e,n){"use strict";var r=n("7551"),a=n.n(r);a.a},d53b:function(t,e,n){"use strict";n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return a})),n.d(e,"a",(function(){}));var r=function(){var t=this.$createElement;this._self._c},a=[]}}]);
+;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
+    'components/tabBar/index-create-component',
+    {
+        'components/tabBar/index-create-component':(function(module, exports, __webpack_require__){
+            __webpack_require__('543d')['createComponent'](__webpack_require__("477a"))
+        })
+    },
+    [['components/tabBar/index-create-component']]
+]);

+ 4 - 0
unpackage/dist/build/mp-weixin/components/tabBar/index.json

xqd
@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

+ 1 - 0
unpackage/dist/build/mp-weixin/components/tabBar/index.wxml

xqd
@@ -0,0 +1 @@
+<view class="tab-bar data-v-17c4005a"><view class="content data-v-17c4005a"><block wx:for="{{tabBarList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['selectTabBar',['$0'],[[['tabBarList','',index,'pagePath']]]]]]]}}" class="one-tab data-v-17c4005a" bindtap="__e"><view class="tabItem data-v-17c4005a"><block wx:if="{{routePath===item.pagePath}}"><view class="tabItem_c data-v-17c4005a"></view></block><view class="data-v-17c4005a"><view class="tab-img data-v-17c4005a"><block wx:if="{{routePath===item.pagePath}}"><image class="img data-v-17c4005a" src="{{item.selectedIconPath}}"></image></block><block wx:else><image class="img data-v-17c4005a" src="{{item.iconPath}}"></image></block></view></view><block wx:if="{{routePath===item.pagePath}}"><view class="tit selectTexts data-v-17c4005a">{{item.text}}</view></block><block wx:else><view class="tit texts data-v-17c4005a">{{item.text}}</view></block></view></view></block></view></view>

+ 1 - 0
unpackage/dist/build/mp-weixin/components/tabBar/index.wxss

xqd
@@ -0,0 +1 @@
+.tab-bar.data-v-17c4005a{position:fixed;bottom:0;left:0;width:100vw;padding-top:10rpx;padding-bottom:calc(10rpx + constant(safe-area-inset-bottom));padding-bottom:calc(10rpx + env(safe-area-inset-bottom));background-color:#fff;box-shadow:0rpx -2rpx 20rpx 0rpx rgba(0,0,0,.05);border-radius:40rpx 40rpx 0 0;z-index:9}.tab-bar .content.data-v-17c4005a{display:flex}.tab-bar .content .one-tab.data-v-17c4005a{display:flex;flex-direction:column;align-items:center;width:50%}.tab-bar .content .one-tab .tabItem.data-v-17c4005a{width:100rpx;display:flex;justify-content:center;flex-direction:column;align-items:center;position:relative}.tab-bar .content .one-tab .tabItem .tabItem_c.data-v-17c4005a{background:#fff;width:100rpx;height:100rpx;position:absolute;border-radius:50%;-webkit-transform:translateY(-30%);transform:translateY(-30%);z-index:1}.tab-bar .content .one-tab .tab-img.data-v-17c4005a{width:50rpx;height:50rpx}.tab-bar .content .one-tab .tab-img .img.data-v-17c4005a{width:100%;height:100%;position:relative;z-index:9}.tab-bar .content .one-tab .tit.data-v-17c4005a{font-size:30rpx;-webkit-transform:scale(.7);transform:scale(.7);position:relative;z-index:9}.tab-bar .content .one-tab .selectTexts.data-v-17c4005a{color:#007aff}.tab-bar .content .one-tab .texts.data-v-17c4005a{color:block}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/components/wike-painter/wike-painter.js


+ 4 - 0
unpackage/dist/build/mp-weixin/components/wike-painter/wike-painter.json

xqd
@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

+ 1 - 0
unpackage/dist/build/mp-weixin/components/wike-painter/wike-painter.wxml

xqd
@@ -0,0 +1 @@
+<view data-ref="limepainter" class="lime-painter vue-ref"><block wx:if="{{canvasId&&size}}"><view style="{{(styles)}}"><block wx:if="{{use2dCanvas}}"><canvas class="lime-painter__canvas" style="{{(size)}}" id="{{canvasId}}" type="2d"></canvas></block><block wx:else><canvas class="lime-painter__canvas" style="{{(size)}}" canvas-id="{{canvasId}}" id="{{canvasId}}" width="{{boardWidth*dpr}}" height="{{boardHeight*dpr}}"></canvas></block></view></block><slot></slot></view>

+ 2 - 0
unpackage/dist/build/mp-weixin/components/wike-painter/wike-painter.wxss

xqd
@@ -0,0 +1,2 @@
+.lime-painter,
+.lime-painter__canvas{width:100%}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/genHuiBen/index.js


+ 7 - 0
unpackage/dist/build/mp-weixin/pages/index/genHuiBen/index.json

xqd
@@ -0,0 +1,7 @@
+{
+  "navigationBarTitleText": "绘本生成",
+  "usingComponents": {
+    "u-upload": "/uni_modules/uview-ui/components/u-upload/u-upload",
+    "u-picker": "/uni_modules/uview-ui/components/u-picker/u-picker"
+  }
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/genHuiBen/index.wxml


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/genHuiBen/index.wxss


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/genRes/index.js


+ 6 - 0
unpackage/dist/build/mp-weixin/pages/index/genRes/index.json

xqd
@@ -0,0 +1,6 @@
+{
+  "navigationBarTitleText": "绘本生成",
+  "usingComponents": {
+    "u-parse": "/uni_modules/uview-ui/components/u-parse/u-parse"
+  }
+}

+ 1 - 0
unpackage/dist/build/mp-weixin/pages/index/genRes/index.wxml

xqd
@@ -0,0 +1 @@
+<view class="container data-v-43197cf8"><nav-bar vue-id="174daa9d-1" title="绘本生成" back="{{true}}" color="#333333" background="#FFFFFF" data-event-opts="{{[['^onBack',[['onBack']]]]}}" bind:onBack="__e" class="data-v-43197cf8" bind:__l="__l"></nav-bar><view class="mainBox data-v-43197cf8"><view class="titleBox data-v-43197cf8"></view><view class="contentBox data-v-43197cf8"><view class="bgTag data-v-43197cf8" style="{{'background-image:'+('url('+(picBase+'resBg.png')+')')+';'}}">{{''+(huibenRes.title?huibenRes.title:'内容生成中...')+''}}</view><view class="storeBox data-v-43197cf8"><block wx:if="{{showLoading}}"><image class="loadingImg data-v-43197cf8" mode="widthFix" src="{{picBase+'loading.gif'}}"></image></block><u-parse vue-id="174daa9d-2" content="{{huibenRes.pinyin_content}}" data-event-opts="{{[['^ready',[['loaded']]]]}}" bind:ready="__e" class="data-v-43197cf8" bind:__l="__l"></u-parse></view></view></view><view class="btnBox data-v-43197cf8"><view data-event-opts="{{[['tap',[['downPdf',['$event']]]]]}}" class="btn b1 data-v-43197cf8" bindtap="__e">下载PDF</view><view data-event-opts="{{[['tap',[['downPic',['$event']]]]]}}" class="btn b2 data-v-43197cf8" bindtap="__e">下载图片</view></view></view>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/genRes/index.wxss


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/index.js


+ 4 - 1
unpackage/dist/build/mp-weixin/pages/index/index.json

xqd
@@ -1,6 +1,9 @@
 {
   "navigationBarTitleText": "首页",
   "usingComponents": {
-    "u-button": "/uni_modules/uview-ui/components/u-button/u-button"
+    "u-swiper": "/uni_modules/uview-ui/components/u-swiper/u-swiper",
+    "u-empty": "/uni_modules/uview-ui/components/u-empty/u-empty",
+    "u-loadmore": "/uni_modules/uview-ui/components/u-loadmore/u-loadmore",
+    "privacy-popup": "/components/privacyPopup/index"
   }
 }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 1
unpackage/dist/build/mp-weixin/pages/index/index.wxml


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels