Explorar o código

'保存一下'

wyling %!s(int64=4) %!d(string=hai) anos
pai
achega
8103b1286e
Modificáronse 100 ficheiros con 817 adicións e 506 borrados
  1. 0 19
      App.vue
  2. 8 0
      api/applist.js
  3. 2 6
      api/baseurl.js
  4. 13 64
      api/login.js
  5. 36 0
      components/appdes/index.vue
  6. 56 53
      components/home/index.vue
  7. 58 1
      components/skeleton/index/index.vue
  8. 114 0
      components/skeleton/login.vue
  9. 11 2
      main.js
  10. 1 1
      manifest.json
  11. 20 3
      pages.json
  12. 25 28
      pages/browserecord/index.vue
  13. 25 28
      pages/collectionList/index.vue
  14. 41 0
      pages/dianying/dianying.vue
  15. 168 111
      pages/index/components/applist.vue
  16. 12 0
      pages/index/components/home.vue
  17. 82 0
      pages/index/components/login.vue
  18. 2 2
      pages/index/components/topic/index.vue
  19. 48 20
      pages/index/components/user.vue
  20. 44 151
      pages/index/index.vue
  21. 4 4
      pages/question/mockExam.vue
  22. 4 4
      pages/question/random.vue
  23. 4 4
      pages/question/sequential.vue
  24. 4 4
      pages/question/wrongTitle.vue
  25. 15 1
      pages/userset/index.vue
  26. 20 0
      pages/webview/webview.vue
  27. BIN=BIN
      static/imgs/banner.png
  28. BIN=BIN
      static/imgs/bf.png
  29. 0 0
      static/imgs/bg.png
  30. 0 0
      static/imgs/bgbzicon.png
  31. 0 0
      static/imgs/bxh.png
  32. 0 0
      static/imgs/ctsc.png
  33. BIN=BIN
      static/imgs/fx.png
  34. BIN=BIN
      static/imgs/fxh.png
  35. BIN=BIN
      static/imgs/gd.png
  36. 0 0
      static/imgs/jx.png
  37. 0 0
      static/imgs/llzj.png
  38. 0 0
      static/imgs/lxkf.png
  39. 0 0
      static/imgs/mockicon.png
  40. 0 0
      static/imgs/sc.png
  41. 0 0
      static/imgs/sequentialicon.png
  42. 0 0
      static/imgs/share.png
  43. BIN=BIN
      static/imgs/shmr.png
  44. 0 0
      static/imgs/sjcs.png
  45. BIN=BIN
      static/imgs/sq.png
  46. 0 0
      static/imgs/sz.png
  47. 0 0
      static/imgs/true.png
  48. BIN=BIN
      static/imgs/wd.png
  49. BIN=BIN
      static/imgs/wdh.png
  50. 0 0
      static/imgs/wdsc.png
  51. 0 0
      static/imgs/wdsz.png
  52. 0 0
      static/imgs/wxtb.png
  53. 0 0
      static/imgs/wyjs.png
  54. 0 0
      static/imgs/yjfk.png
  55. 0 0
      static/imgs/ysc.png
  56. 0 0
      static/imgs/zf.png
  57. BIN=BIN
      static/imgs/zt.png
  58. BIN=BIN
      static/imgs/zth.png
  59. 0 0
      static/imgs/zz.png
  60. BIN=BIN
      static/imgs/三力测试.png
  61. BIN=BIN
      static/imgs/不及格.png
  62. BIN=BIN
      static/imgs/专题、.png
  63. BIN=BIN
      static/imgs/专题灰.png
  64. BIN=BIN
      static/imgs/中振集市logo.png
  65. BIN=BIN
      static/imgs/买车.png
  66. BIN=BIN
      static/imgs/使用指南.png
  67. BIN=BIN
      static/imgs/关闭(3).png
  68. BIN=BIN
      static/imgs/关闭.png
  69. BIN=BIN
      static/imgs/出行.png
  70. BIN=BIN
      static/imgs/单选选中.png
  71. BIN=BIN
      static/imgs/发现-灰.png
  72. BIN=BIN
      static/imgs/发现.png
  73. BIN=BIN
      static/imgs/向上.png
  74. BIN=BIN
      static/imgs/向下.png
  75. BIN=BIN
      static/imgs/图层 10.png
  76. BIN=BIN
      static/imgs/图层 5(1).png
  77. BIN=BIN
      static/imgs/图层 5.png
  78. BIN=BIN
      static/imgs/图标练习icon.png
  79. BIN=BIN
      static/imgs/圆角矩形 1.png
  80. BIN=BIN
      static/imgs/圆角矩形 3(1).png
  81. BIN=BIN
      static/imgs/圆角矩形 3.png
  82. BIN=BIN
      static/imgs/夜间模式.png
  83. BIN=BIN
      static/imgs/夜间模式灰.png
  84. BIN=BIN
      static/imgs/头像.png
  85. BIN=BIN
      static/imgs/好评率.png
  86. BIN=BIN
      static/imgs/娱乐.png
  87. BIN=BIN
      static/imgs/学车.png
  88. BIN=BIN
      static/imgs/定位图标.png
  89. BIN=BIN
      static/imgs/宠物(1).png
  90. BIN=BIN
      static/imgs/宠物.png
  91. BIN=BIN
      static/imgs/对(2).png
  92. BIN=BIN
      static/imgs/对题.png
  93. BIN=BIN
      static/imgs/年龄条件.png
  94. BIN=BIN
      static/imgs/开关-开.png
  95. BIN=BIN
      static/imgs/开关.png
  96. BIN=BIN
      static/imgs/形状 4 拷贝.png
  97. BIN=BIN
      static/imgs/影院(1).png
  98. BIN=BIN
      static/imgs/影院.png
  99. BIN=BIN
      static/imgs/快速提升.png
  100. BIN=BIN
      static/imgs/成绩查询.png

+ 0 - 19
App.vue

@@ -1,23 +1,4 @@
 <script>
-	import {
-		setToken,
-		getToken,
-		removeToken
-	} from '@/utils/auth'
-	export default {
-		onLaunch: async function() {
-			console.log('App Launch')
-			await getToken()
-			let sysInfo = uni.getSystemInfoSync()
-			uni.setStorageSync('sysInfo',sysInfo)
-		},
-		onShow: function() {
-			console.log('App Show')
-		},
-		onHide: function() {
-			console.log('App Hide')
-		}
-	}
 </script>
 
 <style>

+ 8 - 0
api/applist.js

@@ -74,3 +74,11 @@ export function BrowseRecordDel(ids) {
 		method: 'delete'
 	})
 }
+
+// 查询轮播图列表
+export function getCarouselChartList() {
+	return request({
+		url: baseUrl + `/student/applet/carousel/getCarouselChartList`,
+		method: 'get'
+	})
+}

+ 2 - 6
api/baseurl.js

@@ -1,6 +1,2 @@
-
-
-
-export const baseUrl = 'http://192.168.8.213:8080/zzjs-admin';
-
-// export const baseUrl = 'https://zzjs.zzxcx.net/prod-api';
+// export const baseUrl = 'http://192.168.8.213:8080/zzjs-admin';
+export const baseUrl = 'https://zzjs.zzxcx.net/prod-api';

+ 13 - 64
api/login.js

@@ -5,49 +5,14 @@ import {
 from '@/api/baseurl'
 
 //微信小程序登录code
-function unilogin() {
-	return new Promise((reslove, err) => {
-		uni.login({
-			provider: 'weixin',
-			success: (res) => {
-				reslove(res)
-			}
-		});
-	})
-}
-
-//微信小程序获取用户信息
-function unigetUserInfo() {
-	return new Promise((reslove, err) => {
-		uni.getSetting({
-			success(res) {
-				if (res.authSetting['scope.userInfo']) {
-					// 已经授权,可以直接调用 getUserInfo 获取头像昵称
-					uni.getUserInfo({
-						provider: 'weixin',
-						success: (res) => {
-							reslove(res)
-						}
-					});
-				} else {
-					//未授权
-					reslove({
-						code: 400,
-						msg: '用户未授权'
-					})
-				}
-
-			}
-		})
-
-
-
-	})
+async function wxlogin() {
+	let wxLogin = await wx.login()
+	return wxLogin
 }
 
 // 登录方法
 export async function login() {
-	let res = await unilogin();
+	let res = await wxlogin();
 	return request({
 		url: baseUrl + '/login/jscode',
 		method: 'post',
@@ -60,33 +25,17 @@ export async function login() {
 	})
 }
 
+// 更新用户信息
+export function updateUserInfo(data) {
+	return request({
+		url: baseUrl + '/student/user/info',
+		method: 'post',
+		data
+	})
+}
+
 // 获取用户详细信息
 export async function getInfo() {
-	let res = await unigetUserInfo()
-	if (res.code !== 400) {
-		//更新用户头像
-		let userInfo = await request({
-			url: baseUrl + '/getInfo',
-			method: 'get'
-		})
-		if (userInfo.data.student.nickName != res.userInfo.nickName || userInfo.data.student.headImage != res.userInfo.avatarUrl) {
-			userInfo.data.student.nickName = res.userInfo.nickName
-			userInfo.data.student.headImage = res.userInfo.avatarUrl
-			await request({
-				url: baseUrl + '/student/user/info',
-				method: 'post',
-				data: {
-					nickName: res.userInfo.nickName,
-					headImage: res.userInfo.avatarUrl
-				}
-			})
-		}
-		return userInfo
-	} else {
-		//用户拒绝授权
-		console.log(wxuserinfo)
-	}
-
 	return request({
 		url: baseUrl + '/getInfo',
 		method: 'get'

+ 36 - 0
components/appdes/index.vue

@@ -0,0 +1,36 @@
+<template>
+	<view class='list-item' v-for="(item, index) in applist" :key="index" @click="goMiniApp(item)">
+		<image class="avatar" mode="aspectFill" :src="item.appletLogoFileUrl || '/static/imgs/shmr.png'">
+			<view class="item-right">
+				<view class="top">
+					<van-icon class="icon" v-if="item.collectionStatus=='0'" @tap.stop='addSc(index)' name="/static/imgs/sc.png"
+					 size='15' />
+					<van-icon class="icon" v-else name="/static/imgs/ysc.png" @tap.stop='delSc(index)' size='15' />
+					<van-icon class="icon" name="/static/imgs/zf.png" @tap.stop='showShare=true' size='14' />
+					<!-- <van-icon class="icon" name="/static/imgs/bxh.png" size='12' /> -->
+				</view>
+				<view class="center">
+					<text class="details">{{item.appletIntroduce || '该商家暂无描述,敬请期待!'}}</text>
+				</view>
+				<view class="bottom">
+					<text class="title">{{item.corporateName}}</text>
+					<view class="right" v-if="false">
+						<view class="flex">
+							<van-icon class="icon" name="/static/imgs/评论.png" size='15' />
+							<text>54</text>
+						</view>
+						<view class="flex">
+							<van-icon class="icon" name="/static/imgs/好评率.png" size='15' />
+							<text>99%</text>
+						</view>
+					</view>
+				</view>
+			</view>
+	</view>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 56 - 53
components/home/index.vue

@@ -6,7 +6,7 @@
 					<view class="timingBox">
 						<view class="classHourStatistics">
 							<view class="unbind" v-if="unbindFlag">
-								<van-button round type="info" @tap="go('/pages/userset/index')" >绑定身份证</van-button>
+								<van-button round type="info" @tap="go('/pages/userset/index')">绑定身份证</van-button>
 							</view>
 							<view class="timing-item">
 								<text>科一学时</text>
@@ -47,16 +47,16 @@
 			<van-row>
 				<van-col span="6">
 					<!-- <square icon='/static/imgs/图标练习icon.png' title='图标练习' @tap='go()' /> -->
-					<square icon='/static/imgs/模拟考试icon.png' title='模拟考试' @tap="go('/pages/question/mockExam')" />
+					<square icon='/static/imgs/mockicon.png' title='模拟考试' @tap="go('/pages/question/mockExam')" />
 				</van-col>
 				<van-col span="6">
-					<square icon='/static/imgs/顺序测试icon.png' title='顺序测试' @tap="go('/pages/question/sequential')" />
+					<square icon='/static/imgs/sequentialicon.png' title='顺序测试' @tap="go('/pages/question/sequential')" />
 				</van-col>
 				<van-col span="6">
-					<square icon='/static/imgs/随机测试icon.png' title='随机测试' @tap="go('/pages/question/random')" />
+					<square icon='/static/imgs/sjcs.png' title='随机测试' @tap="go('/pages/question/random')" />
 				</van-col>
 				<van-col span="6">
-					<square icon='/static/imgs/错题收藏icon.png' title='错题收藏' @tap="go('/pages/question/wrongTitle')" />
+					<square icon='/static/imgs/ctsc.png' title='错题收藏' @tap="go('/pages/question/wrongTitle')" />
 				</van-col>
 			</van-row>
 		</view>
@@ -65,60 +65,37 @@
 
 		<view class="item-box">
 			<view class="item-titBox">
-				<text class="item-tit">新手上路</text>
+				<text class="item-tit">科目二</text>
 				<!-- <text class="item-tit-right" @tap='go()'>更多视频 ></text> -->
 			</view>
-			<view class="video-box">
-				<video class="myVideo" id="myVideo" src="http://image.jppt.com.cn/zzjs/2021-03-18/media/1616051225707.mp4"
-				 object-fit='fill' poster='https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg' controls @play='videoPlay'></video>
+			<view class="video-box" >
 				<view class="tit-box">
 					<text class="video-box-tit">考点视频</text>
 					<!-- <button class="video-box-btn" @tap='go()'>去观看</button> -->
 				</view>
+				<video class="myVideo" id="myVideo" src="" controls @play='videoPlay'>
+					<image class="video-poster" src="https://zzjs.zzxcx.net/static/img/科二侧方位停车.png" mode=""></image>
+					<view class="video-poster-btn" />
+				</video>
+			</view>
+		</view>
 
-				<video class="myVideo" id="myVideo2" src="http://image.jppt.com.cn/zzjs/2021-03-18/media/1616051225707.mp4"
-				 object-fit='fill' poster='https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg' controls @play='videoPlay2'></video>
+		<view class="item-box">
+			<view class="item-titBox">
+				<text class="item-tit">科目三</text>
+				<!-- <text class="item-tit-right" @tap='go()'>更多视频 ></text> -->
+			</view>
+			<view class="video-box" >
 				<view class="tit-box">
 					<text class="video-box-tit">考点视频</text>
-					<!-- <button class="video-box-btn" @tap='go()'>去练习</button> -->
+					<!-- <button class="video-box-btn" @tap='go()'>去观看</button> -->
 				</view>
-
+				<video class="myVideo" id="myVideo" src="" poster="https://zzjs.zzxcx.net/static/video/侧方位停车.mp4" controls @play='videoPlay'></video>
 			</view>
 		</view>
 
-		<!-- <view class="item-box">
-			<view class="item-titBox">
-				<text class="item-tit">驾考学堂</text>
-			</view>
-			<view class="video-box">
-				<van-row>
-					<van-col span="6">
-						<square icon='/static/img/home/三力测试@3x.png' title='三力测试' @tap='go()' />
-					</van-col>
-					<van-col span="6">
-						<square icon='/static/img/home/驾驶许可@3x.png' title='驾驶许可' @tap='go()' />
-					</van-col>
-					<van-col span="6">
-						<square icon='/static/img/home/驾照种类@3x.png' title='驾照种类' @tap='go()' />
-					</van-col>
-					<van-col span="6">
-						<square icon='/static/img/home/驾照有效期@3x.png' title='驾照有效期' @tap='go()' />
-					</van-col>
-					<van-col span="6">
-						<square icon='/static/img/home/年龄条件@3x.png' title='年龄条件' @tap='go()' />
-					</van-col>
-					<van-col span="6">
-						<square icon='/static/img/home/身体条件@3x.png' title='身体条件' @tap='go()' />
-					</van-col>
-					<van-col span="6">
-						<square icon='/static/img/home/身体条件@3x.png' title='预约考试' @tap='go()' />
-					</van-col>
-					<van-col span="6">
-						<square icon='/static/img/home/身体条件@3x.png' title='成绩查询' @tap='go()' />
-					</van-col>
-				</van-row>
-			</view>
-		</view> -->
+
+
 
 
 	</view>
@@ -162,7 +139,7 @@
 					this.timeTitle = '继续'
 				}
 				let studentInfo = await getInfo()
-				if (!studentInfo.data.student.gzptUserId) {
+				if (studentInfo.data.student.gzptUserId) {
 					let info = await getTimeInfo()
 					this.info = info.rows
 					let infoData = await getTime()
@@ -377,7 +354,7 @@
 	.item-box {
 		background-color: #fff;
 		border-radius: 10rpx;
-		margin: 10rpx 30rpx;
+		margin: 10rpx 30rpx 30rpx;
 
 		.item-titBox {
 			display: flex;
@@ -402,7 +379,33 @@
 		}
 
 		.video-box {
-			padding: 30rpx 20rpx;
+			padding: 10rpx 20rpx;
+			position: relative;
+
+			.video-poster-btn {
+				position: absolute;
+				left: 50%;
+				top: 50%;
+				transform: translate(-50%, -50%);
+				width: 50rpx;
+				height: 50rpx;
+				background-image: url(../../static/imgs/bf.png);
+				background-size: 100% 100%;
+				background-repeat: no-repeat;
+				z-index: 2;
+			}
+
+			.video-poster {
+				width: 650rpx;
+				height: 360rpx;
+				border-radius: 10rpx;
+				position: absolute;
+				z-index: 1;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+
+			}
 
 			.myVideo {
 				width: 650rpx;
@@ -419,11 +422,11 @@
 
 				.video-box-tit {
 					height: 31rpx;
-					font-size: 20rpx;
-					border: 1rpx solid #E31A19;
+					font-size: .7em;
+					letter-spacing: .2em;
 					border-radius: 2rpx;
 					padding: 5rpx 9rpx;
-					color: #E31818;
+					color: #918989;
 					display: flex;
 					justify-content: center;
 					align-items: center;
@@ -478,7 +481,7 @@
 		box-sizing: border-box;
 		position: relative;
 		overflow: hidden;
-		
+
 		.classHourStatistics {
 			display: flex;
 			justify-content: space-between;

+ 58 - 1
components/skeleton/index/index.vue

@@ -1,7 +1,14 @@
 <template>
 	<view class="skeleton-box">
 		<view v-if="loading" class="skeleton">
-			<text>数据加载中...</text>
+			<!-- <text>数据加载中...</text> -->
+			<div class="spinner">
+				<div></div>
+				<div></div>
+				<div></div>
+				<div></div>
+				<div></div>
+			</div>
 			<!-- <view class="led" :style="{'--i':index,'--all':25}" v-for="(item,index) in 25" :key='index' /> -->
 		</view>
 		<van-transition v-else-if="list.length==0" name="fade-up">
@@ -61,4 +68,54 @@
 			opacity: 1;
 		}
 	}
+
+	.spinner {
+		margin: 100px auto;
+		width: 50px;
+		height: 50px;
+		text-align: center;
+		font-size: 10px;
+	}
+
+	.spinner>div {
+		display: inline-block;
+		background-color: rgb(55, 226, 83);
+		height: 100%;
+		width: 5px;
+		margin-right: 1px;
+		animation: bytedance 1s infinite;
+	}
+
+	.spinner>div:nth-of-type(2) {
+		background-color: rgb(41, 124, 54);
+		animation-delay: -0.9s;
+	}
+
+	.spinner>div:nth-child(3) {
+		background-color: rgb(45, 173, 22);
+		animation-delay: -0.8s;
+	}
+
+	.spinner>div:nth-child(4) {
+		background-color: rgb(154, 173, 153);
+		animation-delay: -0.7s;
+	}
+
+	.spinner>div:nth-child(5) {
+		background-color: rgb(22, 240, 77);
+		animation-delay: -0.6s;
+	}
+
+	@keyframes bytedance {
+
+		0%,
+		40%,
+		100% {
+			transform: scaleY(0.4);
+		}
+
+		20% {
+			transform: scaleY(1);
+		}
+	}
 </style>

+ 114 - 0
components/skeleton/login.vue

@@ -0,0 +1,114 @@
+<template>
+	<view class="skeleton-box">
+		<view v-if="loading" class="skeleton">
+			<div class="spinner">
+				<div></div>
+				<div></div>
+				<div></div>
+				<div></div>
+				<div></div>
+			</div>
+		</view>
+		<van-transition v-else name="fade-up">
+			<slot></slot>
+		</van-transition>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			loading: {
+				type: Boolean,
+				default: true
+			},
+			list: {
+				type: Array,
+				default: [1]
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.skeleton {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		padding: 50rpx;
+		height: 320rpx;
+	}
+
+	.led {
+		width: 10rpx;
+		height: 30rpx;
+		border-radius: 10rpx;
+		top: 50rpx;
+		position: absolute;
+		transform: rotate(calc(360deg / var(--all) * var(--i)));
+		transform-origin: 0 160rpx;
+		animation: loading 2s linear infinite;
+		animation-delay: calc(var(--i) * 1s);
+		background-color: green;
+	}
+
+	@keyframes loading {
+		from {
+			opacity: 0;
+		}
+
+		to {
+			opacity: 1;
+		}
+	}
+
+	.spinner {
+		margin: 100px auto;
+		width: 50px;
+		height: 50px;
+		text-align: center;
+		font-size: 10px;
+	}
+
+	.spinner>div {
+		display: inline-block;
+		background-color: rgb(55, 226, 83);
+		height: 100%;
+		width: 5px;
+		margin-right: 1px;
+		animation: bytedance 1s infinite;
+	}
+
+	.spinner>div:nth-of-type(2) {
+		background-color: rgb(41, 124, 54);
+		animation-delay: -0.9s;
+	}
+
+	.spinner>div:nth-child(3) {
+		background-color: rgb(45, 173, 22);
+		animation-delay: -0.8s;
+	}
+
+	.spinner>div:nth-child(4) {
+		background-color: rgb(154, 173, 153);
+		animation-delay: -0.7s;
+	}
+
+	.spinner>div:nth-child(5) {
+		background-color: rgb(22, 240, 77);
+		animation-delay: -0.6s;
+	}
+
+	@keyframes bytedance {
+
+		0%,
+		40%,
+		100% {
+			transform: scaleY(0.4);
+		}
+
+		20% {
+			transform: scaleY(1);
+		}
+	}
+</style>

+ 11 - 2
main.js

@@ -1,12 +1,21 @@
 import Vue from 'vue'
 import App from './App'
+import store from './store'
 import Toast from '@/wxcomponents/vant/toast/toast';
-Vue.config.productionTip = false
+import {
+	goMiniApp,
+	goPage
+} from '@/utils/utils.js'
 
+Vue.config.productionTip = false
 App.mpType = 'app'
 
+Vue.prototype.goMiniApp = goMiniApp
+Vue.prototype.goPage = goPage
 Vue.prototype.Toast = Toast
+
 const app = new Vue({
-    ...App
+	store,
+	...App
 })
 app.$mount()

+ 1 - 1
manifest.json

@@ -50,7 +50,7 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wx8b64b40640c7d5ed",
+        "appid" : "wx8f43db501343feab",
         "setting" : {
             "urlCheck" : false,
             "es6" : false

+ 20 - 3
pages.json

@@ -3,8 +3,7 @@
 		{
 			"path": "pages/index/index",
 			"style": {
-				"navigationBarTitleText": "中振集市",
-				"navigationStyle": "custom"
+				"navigationBarTitleText": "极速生活圈"
 			}
 		},
 		{
@@ -53,7 +52,25 @@
 				"disableScroll": true
 			}
 		}
-	],
+        ,{
+            "path" : "pages/webview/webview",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/dianying/dianying",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+    ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "",

+ 25 - 28
pages/browserecord/index.vue

@@ -1,28 +1,18 @@
 <template>
 	<view class="content">
-		<loadSke :loading='loading'>
-			<view class='list-item' v-for="(item, index) in applist" :key="index" @click="goMiniApp(item.appletAddress)">
-				<image class="avatar" mode="aspectFill" :src="item.appletLogoFileUrl">
+		<loadSke :loading='loading' :list='applist'>
+			<view class='list-item' v-for="(item, index) in applist" :key="index" @click="goMiniApp({appId:item.appletAddress},item)">
+				<image class="avatar" mode="aspectFill" :src="item.appletLogoFileUrl || '/static/imgs/shmr.png'">
 					<view class="item-right">
 						<view class="top">
-							<van-icon class="icon" name="/static/imgs/转发.png" size='14' />
-							<van-icon class="icon" name="/static/imgs/不喜欢.png" @tap.stop='delSc(index)' size='12' />
+							<van-icon class="icon" name="/static/imgs/zf.png" size='14' />
+							<van-icon class="icon" name="/static/imgs/bxh.png" @tap.stop='delSc(index)' size='12' />
 						</view>
 						<view class="center">
-							<text class="details">{{item.appletIntroduce}}</text>
+							<text class="details">{{item.appletIntroduce || '该商家暂无描述,敬请期待!'}}</text>
 						</view>
 						<view class="bottom">
 							<text class="title">{{item.corporateName}}</text>
-							<view class="right" v-if="false">
-								<view class="flex">
-									<van-icon class="icon" name="/static/imgs/评论.png" size='15' />
-									<text>54</text>
-								</view>
-								<view class="flex">
-									<van-icon class="icon" name="/static/imgs/好评率.png" size='15' />
-									<text>99%</text>
-								</view>
-							</view>
 						</view>
 					</view>
 			</view>
@@ -47,20 +37,35 @@
 				current: 0,
 				mode: 'round',
 				applist: {},
-				loading:true
+				loading:true,
+				pageNum: 1,
+				pageSize: 10,
+				total: 1,
 			}
 		},
 		mounted() {
 			this.initAppList()
 		},
+		onReachBottom(){
+			if(this.total-this.pageNum*this.pageSize<=0){
+				return
+			}
+			this.pageNum++
+			getBrowseRecordInfoList({
+				pageNum: this.pageNum,
+				pageSize: this.pageSize
+			}).then(res => {
+				this.applist = this.applist.concat(res.rows)
+			})
+		},
 		methods: {
 			initAppList() {
 				getBrowseRecordInfoList({
-					pageNum: 1,
-					pageSize: 10
+					pageNum: this.pageNum,
+					pageSize: this.pageSize
 				}).then(res => {
-					console.log(res)
 					this.applist = res.rows
+					this.total = res.total
 					this.$nextTick(()=>{
 						this.loading=false
 					})
@@ -74,14 +79,6 @@
 						delete this.applist.splice(index, 1)
 					}
 				})
-			},
-			goMiniApp(appId) {
-				wx.navigateToMiniProgram({
-					appId,
-					success(res) {
-						// 打开成功
-					}
-				})
 			}
 		}
 	}

+ 25 - 28
pages/collectionList/index.vue

@@ -1,28 +1,18 @@
 <template>
 	<view class="content">
-		<loadSke :loading='loading'>
-			<view class='list-item' v-for="(item, index) in applist" :key="index" @click="goMiniApp(item.appletAddress)">
-				<image class="avatar" mode="aspectFill" :src="item.appletLogoFileUrl">
+		<loadSke :loading='loading' :list='applist'>
+			<view class='list-item' v-for="(item, index) in applist" :key="index" @click="goMiniApp({appId:item.appletAddress},item)">
+				<image class="avatar" mode="aspectFill" :src="item.appletLogoFileUrl || '/static/imgs/shmr.png'">
 					<view class="item-right">
 						<view class="top">
-							<van-icon class="icon" name="/static/imgs/转发.png" size='14' />
-							<van-icon class="icon" name="/static/imgs/不喜欢.png" @tap.stop='delSc(index)' size='12' />
+							<van-icon class="icon" name="/static/imgs/zf.png" size='14' />
+							<van-icon class="icon" name="/static/imgs/bxh.png" @tap.stop='delSc(index)' size='12' />
 						</view>
 						<view class="center">
-							<text class="details">{{item.appletIntroduce}}</text>
+							<text class="details">{{item.appletIntroduce || '该商家暂无描述,敬请期待!'}}</text>
 						</view>
 						<view class="bottom">
 							<text class="title">{{item.corporateName}}</text>
-							<view class="right" v-if="false">
-								<view class="flex">
-									<van-icon class="icon" name="/static/imgs/评论.png" size='15' />
-									<text>54</text>
-								</view>
-								<view class="flex">
-									<van-icon class="icon" name="/static/imgs/好评率.png" size='15' />
-									<text>99%</text>
-								</view>
-							</view>
 						</view>
 					</view>
 			</view>
@@ -47,20 +37,35 @@
 				current: 0,
 				mode: 'round',
 				applist: {},
-				loading: true
+				loading: true,
+				pageNum: 1,
+				pageSize: 10,
+				total: 1,
 			}
 		},
 		mounted() {
 			this.initAppList()
 		},
+		onReachBottom(){
+			if(this.total-this.pageNum*this.pageSize<=0){
+				return
+			}
+			this.pageNum++
+			collectionList({
+				pageNum: this.pageNum,
+				pageSize: this.pageSize
+			}).then(res => {
+				this.applist = this.applist.concat(res.rows)
+			})
+		},
 		methods: {
 			initAppList() {
 				collectionList({
-					pageNum: 1,
-					pageSize: 10
+					pageNum: this.pageNum,
+					pageSize: this.pageSize
 				}).then(res => {
-					console.log(res)
 					this.applist = res.rows
+					this.total = res.total
 					this.$nextTick(() => {
 						this.loading = false
 					})
@@ -74,14 +79,6 @@
 						delete this.applist.splice(index, 1)
 					}
 				})
-			},
-			goMiniApp(appId) {
-				wx.navigateToMiniProgram({
-					appId,
-					success(res) {
-						// 打开成功
-					}
-				})
 			}
 		}
 	}

+ 41 - 0
pages/dianying/dianying.vue

@@ -0,0 +1,41 @@
+<template>
+	<view>
+		<swiper class="swiper-box" :current="current" autoplay circular>
+			<swiper-item>
+				<image class="image" src="http://image.jppt.com.cn/zzjs/2021-04-09/others/1617954376809.jpg" mode="aspectFill"
+				 :draggable="false" @click="goMiniApp({appletAddress:'wxb47185e82704dda8'})" />
+			</swiper-item>
+			<swiper-item>
+				<image class="image" src="http://image.jppt.com.cn/zzjs/2021-04-12/others/1618190238218.jpg"
+				 mode="aspectFill" :draggable="false" @click="goUrl('/pages/webview/webview')" />
+			</swiper-item>
+			<swiper-item>
+				<image class="image" src="http://image.jppt.com.cn/zzjs/2021-04-12/others/1618190251643.jpg"
+				 mode="aspectFill" :draggable="false" @click="goUrl('/pages/webview/webview')" />
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.swiper-box {
+		height: 622rpx;
+		.image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+</style>

+ 168 - 111
pages/index/components/applist/index.vue → pages/index/components/applist.vue

@@ -1,66 +1,80 @@
 <template>
 	<view class="content">
 		<swiper class="swiper-box" :current="current" autoplay circular>
-			<swiper-item v-for="(item, index) in info" :key="index">
-				<view :class="item.colorClass" class="swiper-item">
-					<image class="image" :src="item.url" mode="aspectFill" :draggable="false" @click="onBanner(index)" />
-				</view>
+			<swiper-item v-for="(item,index) in info" :key='index'>
+				<image @click="bannerClickType(item)" class="image" :src="item.fileUrl" mode="aspectFill" :draggable="false" />
 			</swiper-item>
+			<!-- <swiper-item>
+				<image class="image" src="http://image.jppt.com.cn/zzjs/2021-04-12/others/1618190251643.jpg" mode="aspectFill"
+				 :draggable="false" @click="goPage('/pages/dianying/dianying')" />
+			</swiper-item> -->
 		</swiper>
 
 		<view class="back">
 			<view class="sticky">
-				<van-search class='top-search' shape="round" background="#fff" placeholder="请输入搜索关键词" />
+				<van-search class='top-search' shape="round" background="#fff" placeholder="请输入搜索关键词" @search="onSearch" @change='onSearchChange' />
 				<view class="grid">
 					<view class="grid-item" :class="{border:listType==0}" @click="listType=0">
-						<van-icon name="/static/imgs/精选.png" size="30px" />
+						<van-icon name="/static/imgs/jx.png" size="30px" />
 						<text class="text">精选</text>
 					</view>
 					<view class="grid-item" :class="{border:listType==item.id}" @click="listType=item.id" v-for="(item,index) in typeList"
 					 :key='index'>
-						<van-icon :name="item.fileUrl || '/static/imgs/买车.png'" size="30px" />
+						<van-icon :name="item.fileUrl || '/static/imgs/wxtb.png'" size="30px" />
 						<text class="text">{{item.productName}}</text>
 					</view>
 					<view class="grid-item" :class="{border:listType==5}" @click="moreShow=!moreShow,typeMore()">
-						<van-icon name="/static/imgs/出行.png" size="30px" />
+						<van-icon v-if='moreShow' name="/static/imgs/sq.png" size="30px" />
+						<van-icon v-else name="/static/imgs/gd.png" size="30px" />
 						<text class="text">{{moreShow?'收起':'更多'}}</text>
 					</view>
 				</view>
 			</view>
-			
+
 			<loadSke :loading='loading' :list='applist'>
-				<view class='list-item' v-for="(item, index) in applist" :key="index" @click="goMiniApp(item)">
-					<image class="avatar" mode="aspectFill" :src="item.appletLogoFileUrl || '/static/imgs/酒店.png'">
-						<view class="item-right">
-							<view class="top">
-								<van-icon class="icon" v-if="item.collectionStatus=='0'" @tap.stop='addSc(index)' name="/static/imgs/收藏.png"
-								 size='15' />
-								<van-icon class="icon" v-else name="/static/imgs/已收藏.png" @tap.stop='delSc(index)' size='15' />
-								<van-icon class="icon" name="/static/imgs/转发.png" @tap.stop='showShare=true' size='14' />
-								<!-- <van-icon class="icon" name="/static/imgs/不喜欢.png" size='12' /> -->
-							</view>
-							<view class="center">
-								<text class="details">{{item.appletIntroduce || '该商家暂无描述,敬请期待!'}}</text>
-							</view>
-							<view class="bottom">
-								<text class="title">{{item.corporateName}}</text>
-								<view class="right" v-if="false">
-									<view class="flex">
-										<van-icon class="icon" name="/static/imgs/评论.png" size='15' />
-										<text>54</text>
-									</view>
-									<view class="flex">
-										<van-icon class="icon" name="/static/imgs/好评率.png" size='15' />
-										<text>99%</text>
-									</view>
+				<view class='list-item' v-for="(item, index) in applist" :key="index" @click="bannerClickType(item)">
+					<image class="avatar" mode="aspectFit" :src="item.appletLogoFileUrl || '/static/imgs/shmr.png'" />
+					<view class="top">
+						<van-icon class="icon" v-if="item.collectionStatus=='0'" @tap.stop='addSc(index)'  name="star-o" color='#999999'/>
+						<van-icon class="icon" v-else @tap.stop='delSc(index)' name="star" color='#dfdf00'/>
+						<!-- <van-icon class="icon" name="/static/imgs/zf.png" @tap.stop='showShare=true' size='14' /> -->
+						<!-- <van-icon class="icon" name="/static/imgs/bxh.png" size='12' /> -->
+						<van-icon class="icon" name="ellipsis" size='20' color='#999999' @tap.stop='showShare=true' />
+					</view>
+					<view class="item-right">
+						<view class="bottom">
+							<text class="title">{{item.corporateName}}</text>
+							<text class="type">{{itemType(item)}}</text>
+							<view class="right" v-if="false">
+								<view class="flex">
+									<van-icon class="icon" name="/static/imgs/评论.png" size='15' />
+									<text>54</text>
+								</view>
+								<view class="flex">
+									<van-icon class="icon" name="/static/imgs/好评率.png" size='15' />
+									<text>99%</text>
 								</view>
 							</view>
 						</view>
+						<view class="center" v-if="item.appletIntroduce">
+							<text class="details">{{item.appletIntroduce || `Appid: ${item.appletAddress}`}}</text>
+						</view>
+
+					</view>
+				</view>
+				<view class="ad-box list-item">
+					<ad unit-id="adunit-d8c1548cc9663765"></ad>
+				</view>
+				<view class="ad-box list-item">
+					<ad unit-id="adunit-0941cf7df3a1ca2f" ad-type="grid" grid-opacity="0.8" grid-count="5" ad-theme="white"></ad>
 				</view>
 			</loadSke>
+
+
+
 		</view>
 
-		
+
 
 		<van-share-sheet :show="showShare" :options="options" @select="onSelect" @close='shareClose' />
 	</view>
@@ -77,7 +91,8 @@
 		getTypeAppList,
 		addFavorites,
 		delFavorites,
-		BrowseRecordAdd
+		BrowseRecordAdd,
+		getCarouselChartList
 	} from '@/api/applist.js'
 	export default {
 		components: {
@@ -89,21 +104,14 @@
 				active: 0,
 				tabActive: 0,
 				info: [{
-						colorClass: 'uni-bg-red',
-						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-						content: '内容 A'
-					},
-					{
-						colorClass: 'uni-bg-green',
-						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-						content: '内容 B'
-					},
-					{
-						colorClass: 'uni-bg-blue',
-						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-						content: '内容 C'
-					}
-				],
+					"id": 12,
+					"pictureName": "山泉心品",
+					"fileId": "77",
+					"fileUrl": "http://image.jppt.com.cn/zzjs/2021-04-09/others/1617954376809.jpg",
+					"jumpUrl": "{\"appId\":\"wxb47185e82704dda8\"}",
+					"jumpUrlType": "goMiniApp",
+					"status": 0
+				}],
 				current: 0,
 				mode: 'round',
 				applist: [],
@@ -118,7 +126,9 @@
 					openType: 'share'
 				}],
 				pageNum: 1,
-				pageSize: 10
+				pageSize: 10,
+				total: 1,
+				customerName: ''
 			}
 		},
 		mounted() {
@@ -126,6 +136,7 @@
 		},
 		watch: {
 			listType(val) {
+				this.customerName = ''
 				this.pageNum = 1
 				this.loading = true
 				getTypeAppList(val, {
@@ -133,6 +144,7 @@
 					pageSize: this.pageSize
 				}).then(res => {
 					this.applist = res.rows
+					this.total = res.total
 					this.$nextTick(() => {
 						this.loading = false
 					})
@@ -140,7 +152,50 @@
 			}
 		},
 		methods: {
+			bannerClickType(item) {
+				if (item.jumpUrlType == 'goMiniApp') {
+					this.goMiniApp(JSON.parse(item.jumpUrl))
+				}
+				if (item.jumpUrlType == 'goPage') {
+					this.goPage(item.jumpUrl)
+				}
+				if (item.jumpUrlType == 'goWebView') {
+					this.goPage(`/pages/webview/webview?src=${item.jumpUrl}`)
+				}
+			},
+			itemType(item) {
+				if (item.jumpUrlType == 'goMiniApp') {
+					return '小程序'
+				}
+				if (item.jumpUrlType == 'goPage') {
+					return '子页面'
+				}
+				if (item.jumpUrlType == 'goWebView') {
+					return 'WEB'
+				}
+			},
+			onSearchChange(e) {
+				this.customerName = e.detail
+			},
+			onSearch(e) {
+				this.pageNum = 1
+				this.loading = true
+				getTypeAppList(this.listType, {
+					pageNum: this.pageNum,
+					pageSize: this.pageSize,
+					customerName: e.detail
+				}).then(res => {
+					this.applist = res.rows
+					this.total = res.total
+					this.$nextTick(() => {
+						this.loading = false
+					})
+				})
+			},
 			initAppList() {
+				getCarouselChartList().then(res => {
+					this.info = res.rows
+				})
 				typeList({
 					pid: 0
 				}).then(res => {
@@ -151,16 +206,21 @@
 					pageSize: 10
 				}).then(res => {
 					this.applist = res.rows
+					this.total = res.total
 					this.$nextTick(() => {
 						this.loading = false
 					})
 				})
 			},
 			onBottom() {
+				if (this.total - this.pageNum * this.pageSize <= 0) {
+					return
+				}
 				this.pageNum++
 				getTypeAppList(this.listType, {
 					pageNum: this.pageNum,
-					pageSize: this.pageSize
+					pageSize: this.pageSize,
+					customerName: this.customerName
 				}).then(res => {
 					this.applist = this.applist.concat(res.rows)
 				})
@@ -210,56 +270,36 @@
 						this.loading = false
 					})
 				})
-			},
-			goMiniApp(item) {
-				wx.navigateToMiniProgram({
-					appId: item.appletAddress,
-					success: (res) => {
-						// 打开成功
-						console.log('打开成功', item)
-						BrowseRecordAdd(item.id)
-					}
-				})
 			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
-	.back{}
+	.ad-box {
+		margin: 40rpx;
+		display: flex;
+		justify-content: center !important;
+		align-items: center;
+	}
+
 	.content {
 		padding-bottom: 1rpx;
 	}
 
 	.swiper-box {
-		position: sticky;
-		top: 0px;
-		left: 0;
-		height: 422rpx;
-		z-index: 9;
-	}
+		width: 100vw;
+		height: 56.25vw;
 
-	.sticky-top {
-		position: sticky;
-		top: 56vw;
-		left: 0;
-		// margin: 30rpx 30rpx;
-		// border-radius: 20rpx;
-		overflow: hidden;
-		background-color: #4fc08d;
-		z-index: 10;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-
-		.top-search {
-			flex: 1;
+		.image {
+			width: 100%;
+			height: 100%;
 		}
 	}
 
 	.sticky {
 		position: sticky;
-		top: 100rpx;
+		top: 0rpx;
 		left: 0;
 		background-color: #fff;
 		z-index: 9;
@@ -295,7 +335,7 @@
 			.border::after {
 				content: '';
 				position: absolute;
-				bottom: -5rpx;
+				bottom: 5rpx;
 				width: 30rpx;
 				height: 5rpx;
 				background-color: red;
@@ -308,45 +348,53 @@
 		align-items: center;
 		justify-content: space-between;
 		background-color: #FFFFFF;
-		height: 170rpx;
-		padding: 34rpx 20rpx;
+		// height: 170rpx;
+		padding: 20rpx;
 		margin: 24rpx 30rpx;
 		border-radius: 20rpx;
-
+		position: relative;
+		
 		.avatar {
 			flex-shrink: 0;
-			width: 161rpx;
-			height: 161rpx;
+			width: 100rpx;
+			height: 100rpx;
+			border-radius: 50%;
+			border: 1px solid #1989FA;
 			margin-right: 16rpx;
 		}
-
+		
+		.top {
+			display: flex;
+			justify-content: flex-end;
+			position: absolute;
+			top: 10rpx;
+			right: 0;
+			
+			.icon {
+				margin-top: -20rpx;
+				padding: 20rpx;
+			}
+		}
+		
 		.item-right {
 			flex: 1;
 			display: flex;
 			flex-direction: column;
 			justify-content: space-between;
-			height: 200rpx;
+			// height: 200rpx;
 
-			.top {
-				.icon {
-					margin-top: -20rpx;
-					padding: 20rpx;
-				}
-
-				display: flex;
-				justify-content: flex-end;
-			}
+			
 
 			.center {
 				align-self: flex-start;
 
 				.details {
 					width: 436rpx;
-					height: 70rpx;
+					// height: 70rpx;
 					font-size: 26rpx;
 					font-family: PingFang SC;
 					font-weight: 400;
-					color: #0F0404;
+					color: #999999;
 					display: -webkit-box;
 					margin-bottom: 20rpx;
 					overflow: hidden;
@@ -361,19 +409,28 @@
 
 			.bottom {
 				display: flex;
-				justify-content: space-between;
+				justify-content: flex-start;
 				align-items: center;
+				margin: 20rpx 0;
 
 				.title {
+					max-width: 300rpx;
+					white-space: nowrap;
+					text-overflow: ellipsis;
+					overflow: hidden;
+					word-break: break-all;
+					font-family: PingFang SC;
+					font-weight: 400;
+				}
+
+				.type {
+					margin-left: 10rpx;
 					padding: 3rpx 12rpx;
 					height: 30rpx;
-					background: #FFE6E6;
-					border: 1rpx solid #E31818;
-					border-radius: 2rpx;
+					border: 2rpx solid #999999;
+					border-radius: 20rpx;
 					font-size: 20rpx;
-					font-family: PingFang SC;
-					font-weight: 400;
-					color: #E31818;
+					color: #999999;
 					line-height: 20rpx;
 					display: flex;
 					justify-content: center;

+ 12 - 0
pages/index/components/home.vue

@@ -0,0 +1,12 @@
+<template>
+	<image src="https://t1-1305573081.cos.ap-shanghai.myqcloud.com/wxapp/static/43570181803f29a201d52ba4b261641.png" class="banner" mode="widthFix"></image>
+</template>
+
+<script>
+</script>
+
+<style scoped>
+	.banner{
+		width: 100%;
+	}
+</style>

+ 82 - 0
pages/index/components/login.vue

@@ -0,0 +1,82 @@
+<template>
+	<view class="login">
+		<loadSke :loading='getUserInfo'>
+			<view class="user-info">
+				<view class="avatar">
+					<open-data type="userAvatarUrl"></open-data>
+				</view>
+				<view class="nickname">
+					<open-data type="userNickName"></open-data>
+				</view>
+				<button open-type="getUserProfile" @tap="getUserProfile">授权用户头像信息</button>
+			</view>
+		</loadSke>
+	</view>
+</template>
+
+<script>
+	import loadSke from '@/components/skeleton/login.vue'
+	export default {
+		components: {
+			loadSke
+		},
+		props: ['login'],
+		data: () => ({
+			getUserInfo: true
+		}),
+		async created() {
+			this.init()
+		},
+		methods: {
+			async init() {
+				if (true) {
+					let loginRes = await this.$store.dispatch('Login')
+					if (loginRes.code == 200) {
+						this.$emit('update:login', true)
+					}else{
+						this.Toast('登录失败');
+						this.$emit('update:login', true)
+					}
+				} else {
+					this.getUserInfo = false
+				}
+			},
+			getUserProfile: function(e) {
+				wx.getUserProfile({
+					desc: '业务需要',
+					success: res => {
+						console.log(res)
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.login {
+		width: 100vw;
+		height: 80vh;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+
+		.user-info {
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+
+			.avatar {
+				border-radius: 50%;
+				width: 100px;
+				height: 100px;
+				overflow: hidden;
+			}
+
+			.nickname {
+				text-align: center;
+			}
+		}
+	}
+</style>

+ 2 - 2
pages/index/components/topic/index.vue

@@ -3,7 +3,7 @@
 		<view class="tit-box">
 			<text class="tit-tit">咸蛋黄酱,这是什么神仙食物</text>
 			<view class="author">
-				<van-icon class='icon' name="/static/imgs/作者.png" size="26rpx" />
+				<van-icon class='icon' name="/static/imgs/zz.png" size="26rpx" />
 				<text class="tit-author">幸福天使&ensp;&ensp;{{new Date().toJSON().slice(0,10)}}</text>
 			</view>
 			<swiper class="swiper-box" :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" circular>
@@ -30,7 +30,7 @@
 		</view>
 		<view class="share">
 			<button class="btn">
-				<van-icon class='icon' name="/static/imgs/分享.png" size="26px" />
+				<van-icon class='icon' name="/static/imgs/share.png" size="26px" />
 				分享给好友</button>
 		</view>
 		<view class="comment">

+ 48 - 20
pages/index/components/user/index.vue → pages/index/components/user.vue

@@ -6,7 +6,8 @@
 				<view class="avatitbox">
 					<text>{{userData.nickName}}</text>
 					<text v-if="userData.gzptUserId">{{studentInfo.logincode}}</text>
-					<text v-else @click="idCardShow=!idCardShow">未绑定身份证点击绑定</text>
+					<view class="sync-btn" @tap='getUserProfile'>点击同步用户头像昵称</view>
+					<!-- <text v-else @click="idCardShow=!idCardShow">未绑定身份证点击绑定</text> -->
 				</view>
 			</view>
 		</view>
@@ -17,15 +18,15 @@
 			</view>
 			<view class="btnBox">
 				<button class="item-box" :plain='true' @click="goUrl('/pages/collectionList/index')">
-					<van-icon name="/static/imgs/收藏(1).png" size="22px" />
+					<van-icon name="/static/imgs/wdsc.png" size="22px" />
 					<text class="text">我的收藏</text>
 				</button>
 				<button class="item-box" :plain='true' @click="goUrl('/pages/browserecord/index')">
-					<van-icon name="/static/imgs/浏览足迹.png" size="22px" />
+					<van-icon name="/static/imgs/llzj.png" size="22px" />
 					<text class="text">浏览足迹</text>
 				</button>
 				<button class="item-box" :plain='true' open-type='feedback'>
-					<van-icon name="/static/imgs/意见反馈.png" size="22px" />
+					<van-icon name="/static/imgs/yjfk.png" size="22px" />
 					<text class="text">意见反馈</text>
 				</button>
 			</view>
@@ -36,12 +37,17 @@
 			<view class="tit">
 				<text>我的信息</text>
 			</view>
-			<van-cell title="我的设置" icon="/static/imgs/我的设置.png" is-link @tap="goUrl('/pages/userset/index')" />
+			<van-cell title="我的设置" icon="/static/imgs/wdsz.png" is-link @tap="goUrl('/pages/userset/index')" />
 			<button class="server" open-type="contact" :plain='true'>
-				<van-cell title="联系客服" icon="/static/imgs/联系客服.png" is-link />
+				<van-cell title="联系客服" icon="/static/imgs/lxkf.png" is-link />
 			</button>
 
 		</view>
+		
+		<view class="ad-box serviceBox">
+			<ad unit-id="adunit-d8c1548cc9663765"></ad>
+		</view>
+		
 		<van-popup :show="idCardShow" round>
 			<view class="idCard">
 				<van-divider contentPosition="center">绑定身份证信息</van-divider>
@@ -70,7 +76,8 @@
 	import {
 		login,
 		getInfo,
-		bindUserCard
+		bindUserCard,
+		updateUserInfo
 	} from '@/api/login.js'
 	import {
 		getStudentInfo
@@ -81,8 +88,6 @@
 		},
 		data() {
 			return {
-				userData: {},
-				studentInfo: {},
 				loading: false,
 				idCardShow: false,
 				popup: false,
@@ -108,21 +113,17 @@
 				}
 			}
 		},
-		onHide: function() {
-			console.log('App Hide66666')
+		computed: {
+			userData() {
+				return this.$store.state.user.userInfo;
+			}
 		},
 		mounted() {
 			this.initUserInfo()
 		},
 		methods: {
 			async initUserInfo() {
-				let userInfo = await getInfo()
-				this.userData = userInfo.data.student
-				if (userInfo.data.student.gzptUserId) {
-					//设置用户信息
-					let studentInfo = await getStudentInfo()
-					this.studentInfo = studentInfo.data
-				}
+				await this.$store.dispatch('GetInfo')
 			},
 			idCardput(e) {
 				this.idCard = e.detail
@@ -158,6 +159,20 @@
 				uni.navigateTo({
 					url
 				});
+			},
+			async getUserProfile(e) {
+				let userInfo = await wx.getUserProfile({
+					desc: '业务需要'
+				})
+				let updateRes = await updateUserInfo({
+					headImage: userInfo.userInfo.avatarUrl,
+					nickName: userInfo.userInfo.nickName
+				})
+				if (updateRes.code == 200) {
+					// this.$store.dispatch('GetInfo')
+					this.$store.state.user.userInfo.headImage=userInfo.userInfo.avatarUrl
+					this.$store.state.user.userInfo.nickName=userInfo.userInfo.nickName
+				}
 			}
 		}
 
@@ -165,6 +180,14 @@
 </script>
 
 <style lang="scss" scoped>
+	.ad-box{
+		margin: 40rpx;
+		padding: 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+	
 	.server {
 		border: none;
 		background-color: none;
@@ -194,8 +217,8 @@
 	.content {}
 
 	.top {
-		padding-top: 100rpx;
-		background-image: url("/static/imgs/矩形 4(2).png");
+		// padding-top: 100rpx;
+		background-image: url("/static/imgs/bg.png");
 		background-size: 100% 100%;
 		background-repeat: no-repeat;
 
@@ -207,6 +230,11 @@
 				border-radius: 50%;
 			}
 
+			.sync-btn {
+				margin-top: 20rpx;
+				height: 40rpx;
+			}
+
 			.avatitbox {
 				flex: 1;
 				display: flex;

+ 44 - 151
pages/index/index.vue

@@ -1,89 +1,73 @@
 <template>
 	<page-meta>
-		<navigation-bar :title="title" background-color="#4fc08d" />
+		<navigation-bar :title="title" background-color="#FFFFFF" front-color="#000000" />
 	</page-meta>
-	<van-transition :show="active==0" name='fade' duration='1000'>
-		<component v-show="active==0" is="find"></component>
-	</van-transition>
-	<van-transition :show="active==1" name='fade' duration='1000'>
-		<applist v-show="active==1" ref='applist' />
-	</van-transition>
-	<van-transition :show="active==2" name='fade' duration='1000'>
-		<component v-show="active==2" is="user"></component>
-	</van-transition>
-	<van-tabbar :active="active" @change="onChange" :placeholder='true' active-color="#0F0404" inactive-color="#999999">
-		<van-tabbar-item>
-			<van-icon slot="icon" name="/static/imgs/发现-灰.png" />
-			<van-icon slot="icon-active" name="/static/imgs/发现.png" />
-			学车
-		</van-tabbar-item>
-		<van-tabbar-item>
-			<van-icon slot="icon" name="/static/imgs/专题灰.png" />
-			<van-icon slot="icon-active" name="/static/imgs/专题、.png" />
-			发现
-		</van-tabbar-item>
-		<van-tabbar-item>
-			<van-icon slot="icon" name="/static/imgs/我的灰.png" />
-			<van-icon slot="icon-active" name="/static/imgs/我的.png" />
-			我的
-		</van-tabbar-item>
-	</van-tabbar>
+	<view v-if="!login">
+		<login :login.sync='login' />
+	</view>
+	<view v-else>
+		<!-- <home v-show="active=='home'" /> -->
+		<applist v-show="active=='applist'" ref='applist' />
+		<user v-show="active=='user'" />
+		<van-tabbar :active="active" @change="onChange" :placeholder='true' active-color="#0F0404" inactive-color="#999999">
+			<!-- <van-tabbar-item name='home'>
+				<van-icon slot="icon" name="/static/imgs/fxh.png" />
+				<van-icon slot="icon-active" name="/static/imgs/fx.png" />
+				首页
+			</van-tabbar-item> -->
+			<van-tabbar-item name='applist'>
+				<van-icon slot="icon" name="/static/imgs/zth.png" />
+				<van-icon slot="icon-active" name="/static/imgs/zt.png" />
+				发现
+			</van-tabbar-item>
+			<van-tabbar-item name='user'>
+				<van-icon slot="icon" name="/static/imgs/wdh.png" />
+				<van-icon slot="icon-active" name="/static/imgs/wd.png" />
+				我的
+			</van-tabbar-item>
+		</van-tabbar>
+	</view>
+
+
 	<van-toast id="van-toast" />
 </template>
 
 <script>
-	import applist from './components/applist/index.vue'
+	import applist from './components/applist.vue'
 	import find from './components/find/index.vue'
-	import user from './components/user/index.vue'
+	import user from './components/user.vue'
 	import topic from './components/topic/index.vue'
+	import login from './components/login.vue'
+	import home from './components/home.vue'
 	export default {
 		components: {
 			applist,
 			find,
 			user,
-			topic
+			topic,
+			login,
+			home
 		},
 		data() {
 			return {
-				comname: 'xueche',
-				active: 2,
-				info: [{
-						colorClass: 'uni-bg-red',
-						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-						content: '内容 A'
-					},
-					{
-						colorClass: 'uni-bg-green',
-						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-						content: '内容 B'
-					},
-					{
-						colorClass: 'uni-bg-blue',
-						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-						content: '内容 C'
-					}
-				],
-				current: 1,
-				mode: 'round',
+				login: false,
+				active: 'applist',
 			}
 		},
-		onLoad() {
-
-		},
-		onReachBottom(){
-			if(this.active==1){
-				console.log(this.$refs.applist)
+		onReachBottom() {
+			if (this.active == 'applist') {
 				this.$refs.applist.onBottom()
 			}
 		},
 		computed: {
 			title() {
+				if (!this.login) return '登录'
 				switch (this.active) {
-					case 0:
-						return '学车';
-					case 1:
+					case 'home':
+						return '首页';
+					case 'applist':
 						return '发现';
-					case 2:
+					case 'user':
 						return '我的';
 				}
 			}
@@ -92,102 +76,11 @@
 			onChange(event) {
 				// event.detail 的值为当前选中项的索引
 				this.active = event.detail
-
-			},
-			scanCode() {
-				// 允许从相机和相册扫码
-				uni.scanCode({
-					success: function(res) {
-						console.log('条码类型:' + res.scanType);
-						console.log('条码内容:' + res.result);
-					}
-				});
-			},
-			change(e) {
-				this.current = e.detail.current;
 			}
 		}
 	}
 </script>
 
 <style lang="scss">
-	.content {
-		background-color: #F1F1F1;
-	}
-
-	.grid {
-		display: flex;
-		justify-content: space-between;
-		padding: 1% 2%;
-		margin-bottom: 2%;
-		border-bottom-left-radius: 10px;
-		border-bottom-right-radius: 10px;
-
-		.grid-item {
-			width: 50px;
-			height: 50px;
-			display: flex;
-			justify-content: center;
-			flex-direction: column;
-			align-items: center;
-			font-size: 12px;
-		}
-	}
-
-	.swiper-box {
-		width: 100vw;
-		height: 56.25vw;
-
-		.image {
-			width: 100%;
-		}
-	}
 
-	.sticky {
-		position: sticky;
-		top: 54px;
-		left: 0;
-		background-color: #fff;
-		z-index: 9;
-	}
-
-	.sticky-top {
-		position: sticky;
-		top: 0px;
-		left: 0;
-		background-color: #4fc08d;
-		z-index: 10;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		// border-top-left-radius: 14px;
-		// border-top-right-radius: 14px;
-		padding-right: 3%;
-
-		.top-search {
-			flex: 1;
-		}
-	}
-
-	.sticky-bottom {
-		position: sticky;
-		bottom: 0;
-		left: 0;
-		background-color: #fff;
-		z-index: 10;
-	}
-
-	.fadeIn {
-		animation: fadeIn 5s linear 2s infinite alternate;
-	}
-
-	@keyframes fadeIn {
-		from {
-			opacity: 0;
-		}
-
-		to {
-			opacity: 1;
-		}
-	}
 </style>

+ 4 - 4
pages/question/mockExam.vue

@@ -3,7 +3,7 @@
 		<view class="top-box">
 			<view class="icon"></view>
 			<selectSwitch class='btn' @change="changeSwitch" :defaultSwitch='kemu==1'  :switchList="['科一题目','科四题目']" checked_bj_color='#E31818' />
-			<van-icon class='set' name="/static/imgs/设置.png" size='20' @click='show=true' />
+			<van-icon class='set' name="/static/imgs/sz.png" size='20' @click='show=true' />
 		</view>
 		<van-popup :show="show" @close="show=false" position="bottom">
 			<van-cell title="选完跳转下一题 " clickable :data-index="index" @click="answerjump=!answerjump">
@@ -37,7 +37,7 @@
 										<van-cell-group>
 											<van-cell :class='{answer:(itembox.answerTrue.includes(index+1) && (answerflag))}' v-for="(item,index) in choiceList"
 											 :key="index" :title="itembox[item]" v-show='itembox[item]' clickable :data-index="index+1" @click="singleToggle($event,itembox)">
-												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag))" slot="icon" name="/static/imgs/.png"
+												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag))" slot="icon" name="/static/imgs/true.png"
 												 size='20' />
 												<van-radio slot="right-icon" :ref="`checkboxes${itembox.id}`" checked-color="#1464cc" :name="index+1" />
 											</van-cell>
@@ -50,7 +50,7 @@
 										<van-cell-group>
 											<van-cell :class='{answer:(itembox.answerTrue.includes(index+1) && (answerflag))}' v-for="(item,index) in 2"
 											 :key="index" :title="index?'错误':'正确'" clickable :data-index="index+1" @click="singleToggle($event,itembox)">
-												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag))" slot="icon" name="/static/imgs/.png"
+												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag))" slot="icon" name="/static/imgs/true.png"
 												 size='20' />
 												<van-radio slot="right-icon" :ref="`checkboxes${itembox.id}`" checked-color="#1464cc" :name="index+1" />
 											</van-cell>
@@ -64,7 +64,7 @@
 											<van-cell :class='{answer:(itembox.answerTrue.includes(index+1) && (answerflag))}' v-for="(item,index) in choiceList"
 											 :key="index" :title="itembox[item]" v-show='itembox[item]' clickable @click='toggle($event,itembox)'
 											 :data-index="index">
-												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag))" slot="icon" name="/static/imgs/.png"
+												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag))" slot="icon" name="/static/imgs/true.png"
 												 size='20' />
 												<van-checkbox shape="square" catch:tap="noop" slot="right-icon" :ref="`checkboxes${itembox.id}`"
 												 checked-color="#1464cc" :name="index+1" />

+ 4 - 4
pages/question/random.vue

@@ -3,7 +3,7 @@
 		<view class="top-box">
 			<view class="icon"></view>
 			<selectSwitch class='btn' @change="changeSwitch" :defaultSwitch='kemu==1'  :switchList="['科一题目','科四题目']" checked_bj_color='#E31818' />
-			<van-icon class='set' name="/static/imgs/设置.png" size='20' @click='show=true' />
+			<van-icon class='set' name="/static/imgs/sz.png" size='20' @click='show=true' />
 		</view>
 		<van-popup :show="show" @close="show=false" position="bottom">
 			<van-cell title="背题模式" clickable :data-index="index" @click="answerflag=!answerflag">
@@ -55,7 +55,7 @@
 											 v-for="(item,index) in choiceList" :key="index" :title="itembox[item]" v-show='itembox[item]' clickable
 											 :data-index="index+1" @click="singleToggle($event,itembox)">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-radio slot="right-icon" :ref="`checkboxes${itembox.id}`" checked-color="#1464cc" :name="index+1" />
 											</van-cell>
 										</van-cell-group>
@@ -68,7 +68,7 @@
 											<van-cell :class='{answer:(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))}'
 											 v-for="(item,index) in 2" :key="index" :title="index?'错误':'正确'" clickable :data-index="index+1" @click="singleToggle($event,itembox)">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-radio slot="right-icon" :ref="`checkboxes${itembox.id}`" checked-color="#1464cc" :name="index+1" />
 											</van-cell>
 										</van-cell-group>
@@ -82,7 +82,7 @@
 											 v-for="(item,index) in choiceList" :key="index" :title="itembox[item]" v-show='itembox[item]' clickable
 											 @click='toggle($event,itembox)' :data-index="index">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-checkbox shape="square" catch:tap="noop" slot="right-icon" :ref="`checkboxes${itembox.id}`"
 												 checked-color="#1464cc" :name="index+1" />
 											</van-cell>

+ 4 - 4
pages/question/sequential.vue

@@ -4,7 +4,7 @@
 			<view class="icon"></view>
 			<selectSwitch class='btn' @change="changeSwitch" :defaultSwitch='kemu==1' :switchList="['科一题目','科四题目']"
 			 checked_bj_color='#E31818' />
-			<van-icon class='set' name="/static/imgs/设置.png" size='20' @click='show=true' />
+			<van-icon class='set' name="/static/imgs/sz.png" size='20' @click='show=true' />
 		</view>
 		<van-popup :show="show" @close="show=false" position="bottom">
 			<van-cell title="背题模式" clickable :data-index="index" @click="answerflag=!answerflag">
@@ -56,7 +56,7 @@
 											 v-for="(item,index) in choiceList" :key="index" :title="itembox[item]" v-show='itembox[item]' clickable
 											 :data-index="index+1" @click="singleToggle($event,itembox)">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-radio slot="right-icon" :ref="`checkboxes${itembox.id}`" checked-color="#1464cc" :name="index+1" />
 											</van-cell>
 										</van-cell-group>
@@ -69,7 +69,7 @@
 											<van-cell :class='{answer:(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))}'
 											 v-for="(item,index) in 2" :key="index" :title="index?'错误':'正确'" clickable :data-index="index+1" @click="singleToggle($event,itembox)">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-radio slot="right-icon" :ref="`checkboxes${itembox.id}`" checked-color="#1464cc" :name="index+1" />
 											</van-cell>
 										</van-cell-group>
@@ -83,7 +83,7 @@
 											 v-for="(item,index) in choiceList" :key="index" :title="itembox[item]" v-show='itembox[item]' clickable
 											 @click='toggle($event,itembox)' :data-index="index">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-checkbox shape="square" catch:tap="noop" slot="right-icon" :ref="`checkboxes${itembox.id}`"
 												 checked-color="#1464cc" :name="index+1" />
 											</van-cell>

+ 4 - 4
pages/question/wrongTitle.vue

@@ -3,7 +3,7 @@
 		<view class="top-box">
 			<view class="icon"></view>
 			<selectSwitch class='btn' @change="changeSwitch" :defaultSwitch='kemu==1'  :switchList="['科一题目','科四题目']" checked_bj_color='#E31818' />
-			<van-icon class='set' name="/static/imgs/设置.png" size='20' @click='show=true' />
+			<van-icon class='set' name="/static/imgs/sz.png" size='20' @click='show=true' />
 		</view>
 		<van-popup :show="show" @close="show=false" position="bottom">
 			<van-cell title="背题模式" clickable :data-index="index" @click="answerflag=!answerflag">
@@ -52,7 +52,7 @@
 											 v-for="(item,index) in choiceList" :key="index" :title="itembox[item]" v-show='itembox[item]' clickable
 											 :data-index="index+1" @click="singleToggle($event,itembox)">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-radio slot="right-icon" :ref="`checkboxes${itembox.id}`" checked-color="#1464cc" :name="index+1" />
 											</van-cell>
 										</van-cell-group>
@@ -65,7 +65,7 @@
 											<van-cell :class='{answer:(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))}'
 											 v-for="(item,index) in 2" :key="index" :title="index?'错误':'正确'" clickable :data-index="index+1" @click="singleToggle($event,itembox)">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-radio slot="right-icon" :ref="`checkboxes${itembox.id}`" checked-color="#1464cc" :name="index+1" />
 											</van-cell>
 										</van-cell-group>
@@ -79,7 +79,7 @@
 											 v-for="(item,index) in choiceList" :key="index" :title="itembox[item]" v-show='itembox[item]' clickable
 											 @click='toggle($event,itembox)' :data-index="index">
 												<van-icon v-if="(itembox.answerTrue.includes(index+1) && (answerflag || completeAnswer[itembox.id]))" slot="icon"
-												 name="/static/imgs/.png" size='20' />
+												 name="/static/imgs/true.png" size='20' />
 												<van-checkbox shape="square" catch:tap="noop" slot="right-icon" :ref="`checkboxes${itembox.id}`"
 												 checked-color="#1464cc" :name="index+1" />
 											</van-cell>

+ 15 - 1
pages/userset/index.vue

@@ -1,5 +1,9 @@
 <template>
 	<view class="">
+		<van-cell center title="我的昵称" :value="userData.nickName"/>
+		<van-cell title="我的头像" center>
+		  <image class="image-ava" slot="right-icon" :src="userData.headImage">
+		</van-cell>
 		<van-popup :show="idCardShow" round>
 			<view class="idCard">
 				<van-divider contentPosition="center">绑定身份证信息</van-divider>
@@ -32,7 +36,7 @@
 		data() {
 			return {
 				loading: false,
-				idCardShow: true,
+				idCardShow: false,
 				popup: false,
 				idCard: null,
 				password: null,
@@ -56,6 +60,11 @@
 				}
 			}
 		},
+		computed: {
+			userData() {
+				return this.$store.getters.userInfo;
+			}
+		},
 		methods: {
 			regionSelection(e) {
 				console.log(e)
@@ -101,4 +110,9 @@
 		justify-content: center;
 		align-items: center;
 	}
+	.image-ava{
+		width: 100rpx;
+		height: 100rpx;
+		border-radius: 50%;
+	}
 </style>

+ 20 - 0
pages/webview/webview.vue

@@ -0,0 +1,20 @@
+<template>
+	<web-view :src="decodeURIComponent(src)"></web-view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				src: encodeURIComponent('https://sqxh.zzxcx.net')
+			};
+		},
+		onLoad: function (option) {
+		    this.src = option.src;
+		}
+	}
+</script>
+
+<style lang="scss">
+
+</style>

BIN=BIN
static/imgs/banner.png


BIN=BIN
static/imgs/bf.png


+ 0 - 0
static/imgs/矩形 4(2).png → static/imgs/bg.png


+ 0 - 0
static/imgs/包过保证icon.png → static/imgs/bgbzicon.png


+ 0 - 0
static/imgs/不喜欢.png → static/imgs/bxh.png


+ 0 - 0
static/imgs/错题收藏icon.png → static/imgs/ctsc.png


BIN=BIN
static/imgs/fx.png


BIN=BIN
static/imgs/fxh.png


BIN=BIN
static/imgs/gd.png


+ 0 - 0
static/imgs/精选.png → static/imgs/jx.png


+ 0 - 0
static/imgs/浏览足迹.png → static/imgs/llzj.png


+ 0 - 0
static/imgs/联系客服.png → static/imgs/lxkf.png


+ 0 - 0
static/imgs/模拟考试icon.png → static/imgs/mockicon.png


+ 0 - 0
static/imgs/收藏.png → static/imgs/sc.png


+ 0 - 0
static/imgs/顺序测试icon(1).png → static/imgs/sequentialicon.png


+ 0 - 0
static/imgs/分享.png → static/imgs/share.png


BIN=BIN
static/imgs/shmr.png


+ 0 - 0
static/imgs/随机测试icon.png → static/imgs/sjcs.png


BIN=BIN
static/imgs/sq.png


+ 0 - 0
static/imgs/设置(1).png → static/imgs/sz.png


+ 0 - 0
static/imgs/对(1).png → static/imgs/true.png


BIN=BIN
static/imgs/wd.png


BIN=BIN
static/imgs/wdh.png


+ 0 - 0
static/imgs/收藏(1).png → static/imgs/wdsc.png


+ 0 - 0
static/imgs/我的设置.png → static/imgs/wdsz.png


+ 0 - 0
static/imgs/微信图标.png → static/imgs/wxtb.png


+ 0 - 0
static/imgs/我要计时.png → static/imgs/wyjs.png


+ 0 - 0
static/imgs/意见反馈.png → static/imgs/yjfk.png


+ 0 - 0
static/imgs/已收藏.png → static/imgs/ysc.png


+ 0 - 0
static/imgs/转发.png → static/imgs/zf.png


BIN=BIN
static/imgs/zt.png


BIN=BIN
static/imgs/zth.png


+ 0 - 0
static/imgs/作者.png → static/imgs/zz.png


BIN=BIN
static/imgs/三力测试.png


BIN=BIN
static/imgs/不及格.png


BIN=BIN
static/imgs/专题、.png


BIN=BIN
static/imgs/专题灰.png


BIN=BIN
static/imgs/中振集市logo.png


BIN=BIN
static/imgs/买车.png


BIN=BIN
static/imgs/使用指南.png


BIN=BIN
static/imgs/关闭(3).png


BIN=BIN
static/imgs/关闭.png


BIN=BIN
static/imgs/出行.png


BIN=BIN
static/imgs/单选选中.png


BIN=BIN
static/imgs/发现-灰.png


BIN=BIN
static/imgs/发现.png


BIN=BIN
static/imgs/向上.png


BIN=BIN
static/imgs/向下.png


BIN=BIN
static/imgs/图层 10.png


BIN=BIN
static/imgs/图层 5(1).png


BIN=BIN
static/imgs/图层 5.png


BIN=BIN
static/imgs/图标练习icon.png


BIN=BIN
static/imgs/圆角矩形 1.png


BIN=BIN
static/imgs/圆角矩形 3(1).png


BIN=BIN
static/imgs/圆角矩形 3.png


BIN=BIN
static/imgs/夜间模式.png


BIN=BIN
static/imgs/夜间模式灰.png


BIN=BIN
static/imgs/头像.png


BIN=BIN
static/imgs/好评率.png


BIN=BIN
static/imgs/娱乐.png


BIN=BIN
static/imgs/学车.png


BIN=BIN
static/imgs/定位图标.png


BIN=BIN
static/imgs/宠物(1).png


BIN=BIN
static/imgs/宠物.png


BIN=BIN
static/imgs/对(2).png


BIN=BIN
static/imgs/对题.png


BIN=BIN
static/imgs/年龄条件.png


BIN=BIN
static/imgs/开关-开.png


BIN=BIN
static/imgs/开关.png


BIN=BIN
static/imgs/形状 4 拷贝.png


BIN=BIN
static/imgs/影院(1).png


BIN=BIN
static/imgs/影院.png


BIN=BIN
static/imgs/快速提升.png


BIN=BIN
static/imgs/成绩查询.png


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio