Browse Source

解决登录bug,登录页面bug,分包,继续完善成绩页面

zhangsl 3 năm trước cách đây
mục cha
commit
0e0eb69ef6

+ 4 - 0
App.vue

@@ -29,6 +29,10 @@
 	// 设置整个项目的背景色
 	page {
 		background-color: #f1f3f5;
+	}
+	//第二种
+	::-webkit-scrollbar{
+		  display: none;
 	}
 
 	/* #endif */

+ 0 - 206
components/mini-login/mini-login.vue

@@ -1,206 +0,0 @@
-<template>
-	<view class="content">
-		<view class="bg1"></view>
-		<view class="bg2"></view>
-		<view class="bg3"></view>
-		<view class="tips">
-			<text class="title">登录</text>
-			<text class="subtitle">欢迎来到醍摩豆家长</text>
-		</view>
-
-		<view class="form-box">
-			<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="btn">微信一键登录</button>
-			<view class="other">
-				<text class="other-text-left">账号密码登录</text>
-				<text class="other-text-right" style="color:#4169E1;">
-					忘记密码
-				</text>
-			</view>
-		</view>
-	</view>
-	
-</template>
-
-<script>
-	import {
-		mapMutations,
-		mapState
-	} from 'vuex';
-	import WXBizDataCrypt from "@/utils/WXBizDataCrypt.js";
-
-	export default {
-		name: "mini-login",
-		data() {
-			return {
-
-			};
-		},
-		computed: {
-			...mapState('m_parent', ['token'])
-		},
-		onLoad() {
-			
-		},
-		methods: {
-			...mapMutations('m_parent', ['updateParentInfo', 'updateToken', 'updateParentDetail']),
-
-			//调用登录接口换取token
-			async getToken() {
-				//调用login()拿到code用于换取token
-				let [err, res] = await uni.login().catch(err => err)
-				//判断调用是否成功
-				if (err || res.errMsg !== 'login:ok') return uni.$showMsg('登录失败!')
-				//准备换取token参数
-				let query = {
-					js_code: res.code
-				}
-				//传入后台换取token
-				const loginResult = await uni.$http.post('https://test.teammodel.cn/aclassone/get-miniapp-userinfo', query)
-				if (loginResult.statusCode !== 200) return uni.$showMsg('登录失败!')
-				uni.$showMsg('登录成功')
-				//更新vuex中token
-				console.log(loginResult.data.miniappData);
-				this.updateToken(loginResult.data.miniappData)
-			},
-
-			//获取用户手机号
-			async getPhoneNumber(e) {
-				await this.getToken()
-				if (e.detail.errMsg !== "getPhoneNumber:ok") {
-					//用户决绝授权  
-					return uni.$showMsg('拒绝手机授权,获取不到您的信息!')
-				} else {
-					if (this.token) {
-						let proof = await new WXBizDataCrypt('wx5705da8747c77cfe', this.token.session_key)
-						let numData = await proof.decryptData(e.detail.encryptedData, e.detail.iv)
-						console.log(numData.phoneNumber)
-						// const parentDetailData = await uni.$http.post('',numData.phoneNumber)
-						// this.updateParentDetail(parentDetailData)
-						await uni.navigateTo({
-							url: '/subpkg/guide/guide'
-						})
-					}
-				}
-			},
-
-
-		},
-	}
-</script>
-
-<style lang="scss">
-	//登录页面
-	.content {
-		width: 100vw;
-		height: 100vh;
-		background-color: #fafafa;
-
-		.tips {
-			padding-top: 200rpx;
-			padding-left: 80rpx;
-			display: flex;
-			flex-direction: column;
-			z-index: 99;
-
-			.title {
-				line-height: 70rpx;
-				font-weight: bold;
-				font-size: 50rpx;
-				z-index: 99;
-			}
-
-			.subtitle {
-				line-height: 70rpx;
-				font-size: 35rpx;
-				font-weight: bold;
-				color: #b0b0b1;
-				z-index: 99;
-			}
-
-		}
-
-		.bg1 {
-			position: fixed;
-			top: -250rpx;
-			right: -280rpx;
-			width: 650rpx;
-			height: 650rpx;
-			border-radius: 100%;
-			background-color: #4169E1;
-			margin-right: 10px;
-			z-index: 5;
-		}
-
-		.bg2 {
-			position: fixed;
-			top: -100rpx;
-			right: -320rpx;
-			width: 630rpx;
-			height: 630rpx;
-			border-radius: 100%;
-			margin-top: 20px;
-			background-color: #ff5959;
-			z-index: 4;
-		}
-		.bg3 {
-			position: fixed;
-			top: 400rpx;
-			right: 480rpx;
-			width: 600rpx;
-			height: 600rpx;
-			border-radius: 100%;
-			margin-top: 20px;
-			background-color: #FFC600;
-			z-index: 4;
-		}
-		
-		
-
-		.form-box {
-			padding-top: 250rpx;
-			padding-left: 70rpx;
-			width: 610rpx;
-
-
-			.btn {
-				display: flex;
-				justify-content: center;
-				align-items: center;
-				width: 100%;
-				height: 100rpx;
-				border-radius: 100rpx;
-				color: #FFFFFF;
-				font-weight: bold;
-				background: linear-gradient(to right, #506AE7, #87CEFA);
-				box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-				margin-top: 30px;
-				z-index: 99;
-			}
-
-			.other {
-				display: flex;
-				justify-content: space-between;
-				z-index: 99;
-
-				text {
-					line-height: 80rpx;
-					font-size: 28rpx;
-					z-index: 99;
-				}
-
-				.other-text-left {
-					margin-left: 2px;
-					margin-top: 10px;
-					color: #FFFFFF;
-				}
-
-				.other-text-right {
-					margin-right: 2px;
-					margin-top: 10px;
-				}
-			}
-		}
-	}
-	
-	
-</style>

+ 7 - 5
components/mini-userinfo/mini-userinfo.vue

@@ -93,7 +93,7 @@
 			};
 		},
 		methods:{
-			...mapMutations('m_parent',['updateParentDetail','updateToken']),
+			...mapMutations('m_parent',['updateParentDetail','updateParentInfo','updateToken']),
 			...mapMutations('m_children',['updateChildrenInfo']),
 			//日历事件
 			confirm(e){
@@ -110,10 +110,12 @@
 				}).catch(err => err)
 				if(succ && succ.confirm)
 				{
-					this.updateChildrenInfo({})
-					this.updateParentDetail({})
-					this.updateToken('')
-					uni.navigateTo({
+					this.updateChildrenInfo()
+					// this.updateParentDetail()
+					this.updateParentInfo()
+					this.updateToken()
+					
+					uni.reLaunch({
 						url:'/subpkg/login/login'
 					})
 				}

+ 50 - 0
components/radar-mini-chart/radar-mini-chart.vue

@@ -0,0 +1,50 @@
+<template>
+	<view class="chart-container">
+		
+		<view class="chart-name">
+			<view class="t-icon t-icon-xtubiao-3"></view>
+			<text class="chart-name-text">能力分析</text>
+		</view>
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		name:"radar-mini-chart",
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+.chart-container {
+		border-radius: 20rpx;
+		background-color: #FFFFFF;
+		box-shadow: 0 4rpx 8rpx rgba(0,0,0,0.05);
+		width: 340rpx;
+		height: auto;
+	
+		.chart-name {
+			display: flex;
+			align-items: center;
+			justify-content: flex-start;
+			width: 100%;
+			margin: 20rpx 0rpx 20rpx 40rpx;
+			
+			.chart-name-text {
+				margin: 26rpx;
+				font-size: 30rpx;
+				font-weight: bold;
+				color: #3B4144;
+			}
+		}
+	}
+.t-icon{
+		width: 40rpx;
+		height: 40rpx;
+	}
+</style>

+ 50 - 0
components/rose-mini-chart/rose-mini-chart.vue

@@ -0,0 +1,50 @@
+<template>
+	<view class="chart-container">
+		
+		<view class="chart-name">
+			<view class="t-icon t-icon-xtubiao-"></view>
+			<text class="chart-name-text">偏科分析</text>
+		</view>
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		name:"rose-mini-chart",
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+.chart-container {
+		border-radius: 20rpx;
+		background-color: #FFFFFF;
+		box-shadow: 0 4rpx 8rpx rgba(0,0,0,0.05);
+		width: 340rpx;
+		height: auto;
+	
+		.chart-name {
+			display: flex;
+			align-items: center;
+			justify-content: flex-start;
+			width: 100%;
+			margin: 20rpx 0rpx 20rpx 40rpx;
+			
+			.chart-name-text {
+				margin: 26rpx;
+				font-size: 30rpx;
+				font-weight: bold;
+				color: #3B4144;
+			}
+		}
+	}
+.t-icon{
+		width: 40rpx;
+		height: 40rpx;
+	}
+</style>

+ 19 - 20
components/radar-chart/radar-chart.vue

@@ -1,4 +1,4 @@
-<template>
+<template>
 	<view class="chart-container">
 		<view class="chart-name">
 			<text class="chart-name-text">单科能力</text>
@@ -13,15 +13,13 @@
 		<view class="charts-box">
 			<qiun-data-charts type="radar" :chartData="chartData" :loadingType="4" />
 		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "radar-chart",
-		data() {
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
 			return {
-				
 				show: false,
 				subject:[
 					['语文','数学','英语','体育','思品','科学']
@@ -60,7 +58,9 @@
 						}
 					],
 				},
-			};
+				
+				
+			};
 		},
 		methods:{
 			confirm(e){
@@ -68,16 +68,15 @@
 				uni.$showMsg('切换完成')
 				this.show = false
 			}
-		}
+		}
 	}
-</script>
-
-<style lang="scss">
-	.chart-container {
-		width: 65%;
-		margin: 20px 10px 20px 10px;
-		padding: 1px 1px 1px 1px;
-		border-radius: 15px;
+	
+</script>
+
+<style lang="scss">
+.chart-container {
+		margin: 20rpx;
+		border-radius: 30rpx;
 		display: flex;
 		align-items: center;
 		justify-content: center;
@@ -110,5 +109,5 @@
 			width: 100%;
 			height: 200px;
 		}
-	}
+	}
 </style>

+ 92 - 0
gradepkg/rose-chart/rose-chart.vue

@@ -0,0 +1,92 @@
+<template>
+	<view class="chart-container">
+		<view class="chart-name">
+			<text class="chart-name-text">偏科分析</text>
+		</view>
+		
+		<view class="charts-box">
+		  <qiun-data-charts
+		    type="rose"
+		    :chartData="chartData"
+		    :loadingType="4"
+		    background="none"
+		    :tapLegend="true"
+		  />
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				chartData:{
+					series:[{
+				    "data": [
+				        {
+				            "name": "数学",
+				            "value": 100
+				        },
+				        {
+				            "name": "语文",
+				            "value": 85
+				        },
+				        {
+				            "name": "英语",
+				            "value": 100
+				        },
+				        {
+				            "name": "科学",
+				            "value": 77
+				        },
+				        {
+				            "name": "体育",
+				            "value": 88
+				        },
+				        {
+				            "name": "思品",
+				            "value": 95
+				        }
+						]
+					}]
+				},
+				
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+.chart-container {
+		margin: 20rpx;
+		border-radius: 30rpx;
+		padding: 6rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		flex-direction: column;
+		background-color: #FFFFFF;
+		box-shadow: 0 4rpx 8rpx rgba(0,0,0,0.05);
+	
+		.chart-name {
+			width: 100%;
+			text-align: left;
+			margin-left: 60rpx;
+			margin-top: 16rpx;
+			font-weight: bold;
+			color: #3B4144;
+			display: flex;
+			justify-content: space-between;
+	
+			.chart-name-text {
+				font-size: 32rpx;
+				margin-top: 10rpx;
+			}
+		}
+		.charts-box {
+			width: 100%;
+			height: 800rpx;
+		}
+	}
+</style>

+ 5 - 1
manifest.json

@@ -55,6 +55,10 @@
             "checkSiteMap" : false,
             "postcss" : true
         },
-        "usingComponents" : true
+        "usingComponents" : true,
+				"optimization":{
+					"subPackages": true
+				},
+				"runmode" : "liberate"
     }
 }

+ 31 - 6
pages.json

@@ -25,33 +25,58 @@
 		"path": "pages/my/my",
 		"style": {
 			"enablePullDownRefresh": false,
-			"navigationStyle": "custom"
+			"navigationStyle": "custom",
+			"disableScroll": true
 		}
 	}],
+	//分包配置
 	"subPackages": [{
 		"root": "subpkg",
 		"pages": [{
 				"path": "login/login",
 				"style": {
-					"navigationBarTitleText": "",
 					"enablePullDownRefresh": false,
-					"navigationStyle":"custom"
+					"navigationStyle": "custom",
+					"disableScroll": true
 				}
 
 			},
 			{
 				"path": "guide/guide",
 				"style": {
-					"navigationBarTitleText": "",
-					"enablePullDownRefresh": false
+					"enablePullDownRefresh": false,
+					"navigationStyle": "custom"
 				}
 			}
 		]
+	}, {
+		"root": "gradepkg",
+		"pages": [{
+			"path": "rose-chart/rose-chart",
+			"style": {}
+		}, {
+			"path": "radar-chart/radar-chart",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false
+			}
+
+		}]
 	}],
+	"preloadRule": {
+		"subpkg/login/login": {
+			"network": "all",
+			"packages": ["__APP__"]
+		},
+		"gradepkg/rose-chart/rose-chart": {
+			"network": "all",
+			"packages": ["subpkg"]
+		}
+	},
+
 
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "家长端",
 		"navigationBarBackgroundColor": "#f1f3f5",
 		"backgroundColor": "#f1f3f5"
 	},

+ 37 - 11
pages/grade/grade.vue

@@ -1,10 +1,10 @@
 <template>
 	<view class="chart-list-container">
-		
+		<!-- 头部区域 -->
 		<top-box></top-box>
-		
+		<!-- 缩略图区域 -->
 		<view class="mini-chart-list">
-			<view class="mini-chart-item" @click="navLineChart">
+			<view class="mini-chart-item" >
 				<line-mini-chart></line-mini-chart>
 			</view>
 			
@@ -15,11 +15,21 @@
 			<view class="mini-chart-item">
 				<column-mini-chart></column-mini-chart>
 			</view>
-			
+			<!-- 按钮区域 -->
 			<view class="mini-chart-item">
-				<area-mini-chart></area-mini-chart>
+				<view class="item-i" @click="navRoseChart">
+					<rose-mini-chart></rose-mini-chart>
+				</view>
+				
+				<view class="item-i" @click="navRadarChart">
+					<radar-mini-chart></radar-mini-chart>
+				</view>
+				
+				<view class="item-i">
+					<rose-mini-chart></rose-mini-chart>
+				</view>
 			</view>
-			
+			<!-- 缩略图区域 -->
 			<view class="mini-chart-item">
 				<area-mini-chart></area-mini-chart>
 			</view>
@@ -35,8 +45,6 @@
 			<area-chart></area-chart>
 			<column-chart></column-chart>
 			<bar-chart></bar-chart>
-			<!-- 雷达图列表板块 -->
-			<radar-chart></radar-chart>
 		</view>
 		
 	</view>
@@ -56,9 +64,21 @@
 			open(e){
 				console.log(e);
 			},
-			navLineChart(e){
+			//导航玫瑰图页面
+			navRoseChart(e){
 				console.log(e);
-			}
+				uni.navigateTo({
+					url:"../../gradepkg/rose-chart/rose-chart"
+				})
+			},
+			//导航雷达图页面
+			navRadarChart(e){
+				console.log(e);
+				uni.navigateTo({
+					url:"../../gradepkg/radar-chart/radar-chart"
+				})
+			},
+			
 		},
 		onLoad(){
 			
@@ -81,7 +101,13 @@
 			margin: -50px 11px 0 11px;
 			justify-content: space-between;
 			.mini-chart-item{
-				margin-top: 11px;	
+				margin-top: 11px;
+				display: flex;
+				flex-direction: column;
+				justify-content: space-between;
+				.item-i{
+					margin: -5px 0px;
+				}
 			}
 		}
 	}

+ 14 - 12
pages/my/my.vue

@@ -5,9 +5,9 @@
 		<!-- 家长信息头部 -->
 		<view class="userinfo-topinfo">
 			<image class="parent-avatar" :src="parentinfo.avatarUrl" @click="getUserInfo"></image>
-			<view class="parent-name" @click="getUserInfo">
-				<text class="name">{{parentinfo.nickName}}</text>
-				<text class="detail">{{childreninfo.name + '家长'}}</text>
+			<view class="parent-name">
+				<text class="name" @click="getUserInfo">{{parentinfo.nickName}}</text>
+				<text class="detail" @click="getUserInfo">{{childreninfo.name + '家长'}}</text>
 			</view>
 		</view>
 		<!-- 功能组件 -->
@@ -36,22 +36,24 @@
 		methods: {
 			...mapMutations('m_parent', ['updateParentInfo']),
 
-			getUserInfo(e) {
-				if (!uni.getStorageSync('parentinfo')) {
-					uni.getUserProfile({
+			async getUserInfo(e) {
+				console.log(e);
+				console.log(uni.getStorageSync('parentinfo'));
+				  if (!uni.getStorageSync('parentinfo')) {
+					await uni.getUserProfile({
 						desc: '获取您的昵称,头像,地区信息',
 						success: infoRes => {
-							if (infoRes.errMsg === 'getUserProfile:ok') {
+							 if (infoRes.errMsg === 'getUserProfile:ok') {
 								this.updateParentInfo(infoRes.userInfo)
-							} else {
+							  } else {
 								uni.$showMsg('获取不到您的基本信息!')
-							}
-						},
+							  }
+						 },
 						fail: err => {
 							console.log('getUserInfo-error', JSON.stringify(err))
 						}
 					});
-				}
+				 }
 			},
 
 
@@ -66,7 +68,7 @@
 		.bg1{
 			position: fixed;
 			top: -250rpx;
-			right: -250rpx;
+			right: -280rpx;
 			width: 700rpx;
 			height: 700rpx;
 			margin-right: 250px;

+ 2 - 2
subpkg/guide/guide.vue

@@ -62,11 +62,11 @@
 		
 		.tips {
 			width: 100%;
-			padding-top: 100rpx;
+			padding-top: 180rpx;
 			padding-left: 80rpx;
 			display: flex;
 			flex-direction: column;
-			margin-bottom: 100rpx;
+			margin-bottom: 80rpx;
 		
 			.title {
 				line-height: 70rpx;

+ 206 - 20
subpkg/login/login.vue

@@ -1,30 +1,223 @@
 <template>
-	<view>
-		<mini-login></mini-login>
+	<view>
+		<!-- 登录 -->
+		<view class="content">
+			<view class="bg1"></view>
+			<view class="bg2"></view>
+			<view class="bg3"></view>
+			<view class="tips">
+				<text class="title">登录</text>
+				<text class="subtitle">欢迎来到醍摩豆家长</text>
+			</view>
+		
+			<view class="form-box">
+				<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="btn">微信一键登录</button>
+				<view class="other">
+					<text class="other-text-left">账号密码登录</text>
+					<text class="other-text-right" style="color:#4169E1;">
+						忘记密码
+					</text>
+				</view>
+			</view>
+		</view>
+		<!-- 动画 -->
 		<view class="ocean"></view>
 	</view>
 </template>
 
-<script>
+<script>
+	import {mapMutations,mapState} from 'vuex';
+	//引入解密工具
+	import WXBizDataCrypt from "@/utils/WXBizDataCrypt.js";
+	
 	export default {
 		data() {
 			return {
-				
+				query: {}
 			};
 		},
+		computed: {
+			...mapState('m_parent', ['token'])
+		},
+		onLoad() {
+			
+		},
+		onShow(){
+			this.getCode()
+		},
 		methods:{
+			...mapMutations('m_parent', ['updateParentInfo', 'updateToken', 'updateParentDetail']),
+			
+			//换取code方法
+			async getCode(){
+				//调用login()拿到code用于换取token
+				let [err, res] = await uni.login().catch(err => err)
+				//判断调用是否成功
+				if (err || res.errMsg !== 'login:ok') return uni.$showMsg('登录失败!')
+				//准备换取token参数
+				this.query = {
+					js_code: res.code
+				}
+			},
 			
-		}
+			//调用登录接口换取token
+			async getToken() {
+				
+				//传入后台换取token
+				const loginResult = await uni.$http.post('https://test.teammodel.cn/aclassone/get-miniapp-userinfo', this.query)
+				if (loginResult.statusCode !== 200) return uni.$showMsg('登录失败!')
+				uni.$showMsg('登录成功')
+				//更新vuex中token
+				console.log(loginResult.data.miniappData);
+				this.updateToken(loginResult.data.miniappData)
+			},
+			
+			//获取用户手机号
+			async getPhoneNumber(e) {
+				if (e.detail.errMsg !== "getPhoneNumber:ok") {
+					//用户决绝授权  
+					return uni.$showMsg('拒绝手机授权,获取不到您的信息!')
+				} else {
+					await this.getToken()
+					if (this.token) {
+						let proof = await new WXBizDataCrypt('wx5705da8747c77cfe', this.token.session_key)
+						let numData = await proof.decryptData(e.detail.encryptedData, e.detail.iv)
+						console.log(numData.phoneNumber)
+						// const parentDetailData = await uni.$http.post('',numData.phoneNumber)
+						// this.updateParentDetail(parentDetailData)
+						await uni.redirectTo({
+							url: '/subpkg/guide/guide'
+						})
+					}
+				}
+			},
+			
+		},
 	}
 </script>
 
 <style lang="scss">
+	//登录页面
+	.content {
+		width: 100vw;
+		height: 100vh;
+		background-color: #fafafa;
+	
+		.tips {
+			padding-top: 200rpx;
+			padding-left: 80rpx;
+			display: flex;
+			flex-direction: column;
+			z-index: 99;
+	
+			.title {
+				line-height: 70rpx;
+				font-weight: bold;
+				font-size: 50rpx;
+				z-index: 99;
+			}
+	
+			.subtitle {
+				line-height: 70rpx;
+				font-size: 35rpx;
+				font-weight: bold;
+				color: #b0b0b1;
+				z-index: 99;
+			}
+	
+		}
+	
+		.bg1 {
+			position: fixed;
+			top: -250rpx;
+			right: -280rpx;
+			width: 650rpx;
+			height: 650rpx;
+			border-radius: 100%;
+			background-color: #4169E1;
+			margin-right: 10px;
+			z-index: 5;
+		}
+	
+		.bg2 {
+			position: fixed;
+			top: -100rpx;
+			right: -320rpx;
+			width: 630rpx;
+			height: 630rpx;
+			border-radius: 100%;
+			margin-top: 20px;
+			background-color: #ff5959;
+			z-index: 4;
+		}
+		.bg3 {
+			position: fixed;
+			top: 400rpx;
+			right: 480rpx;
+			width: 600rpx;
+			height: 600rpx;
+			border-radius: 100%;
+			margin-top: 20px;
+			background-color: #FFC600;
+			z-index: 4;
+		}
+		
+		
+	
+		.form-box {
+			padding-top: 250rpx;
+			padding-left: 70rpx;
+			width: 610rpx;
+	
+	
+			.btn {
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				width: 100%;
+				height: 100rpx;
+				border-radius: 100rpx;
+				color: #FFFFFF;
+				font-weight: bold;
+				background: linear-gradient(to right, #506AE7, #87CEFA);
+				box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+				margin-top: 30px;
+				z-index: 99;
+			}
+	
+			.other {
+				display: flex;
+				justify-content: space-between;
+				z-index: 99;
+	
+				text {
+					line-height: 80rpx;
+					font-size: 28rpx;
+					z-index: 99;
+				}
+	
+				.other-text-left {
+					margin-left: 2px;
+					margin-top: 10px;
+					color: #FFFFFF;
+				}
+	
+				.other-text-right {
+					margin-right: 2px;
+					margin-top: 10px;
+				}
+			}
+		}
+	}
+	
+	
+	
 	.ocean {
 	    display: flex;
-			margin-top: -240px;
-			margin-left: -260px;
-	    width: 900px;
-	    height: 900px;
+			margin-top: -600rpx;
+			margin-left: -520rpx;
+	    width: 1800rpx;
+	    height: 1800rpx;
 	    background-color: #4169E1;
 	    border-radius: 50%;
 	
@@ -32,9 +225,9 @@
 	    &::after {
 	        content: "";
 	        position: absolute;
-					margin-top: 450px;
-	        width: 800px;
-	        height: 800px;
+					margin-top: 870rpx;
+	        width: 1600rpx;
+	        height: 1600rpx;
 	        top: 0;
 	        left: 50%;
 					border-radius: 43%;
@@ -60,14 +253,7 @@
 			    animation: rotate 10s linear -5s infinite;
 			    z-index: 3;
 			}
-			&::after {
-					border-radius: 40%;
-			    background-color: #fafafa;
-					opacity: 0.3;
-			    transform: translate(-50%, -70%) rotate(0);
-			    animation: rotate 10s linear -5s infinite;
-			    z-index: 3;
-			}
+			
 	}
 	
 	@keyframes rotate {

+ 174 - 28
uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js

@@ -17,7 +17,7 @@
  */
 
 // 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性
-const color = ["#0052d4", "#ff5959", "#f9b248", '#ea7ccc', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4'];
+const color = ["#0052d4", "#ff5959", "#f9b248", '#3CA272', '#73C0DE', '#ea7ccc', '#FC8452', '#9A60B4'];
 
 //事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改
 const formatDateTime = (timeStamp, returnType) => {
@@ -53,15 +53,15 @@ const cfu = {
 	//demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可
 	"type": ["pie", "ring", "rose", "word", "funnel", "map", "arcbar", "line", "column", "bar", "area", "radar",
 		"gauge", "candle", "mix", "tline", "tarea", "scatter", "bubble", "demotype", "mainline", "mainradar",
-		"mini-line", "mini-area", "mini-column"
+		"mini-line", "mini-area", "mini-column","mini-rose"
 	],
 	"range": ["饼状图", "圆环图", "玫瑰图", "词云图", "漏斗图", "地图", "圆弧进度条", "折线图", "柱状图", "条状图", "区域图", "雷达图", "仪表盘", "K线图",
-		"混合图", "时间轴折线", "时间轴区域", "散点图", "气泡图", "自定义类型", "首页趋势图", "首页雷达图", "折线缩略图", "区域缩略图", "柱状缩略图"
+		"混合图", "时间轴折线", "时间轴区域", "散点图", "气泡图", "自定义类型", "首页趋势图", "首页雷达图", "折线缩略图", "区域缩略图", "柱状缩略图", "玫瑰缩略图"
 	],
 	//增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的"demotype"
 	//自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories
 	"categories": ["line", "column", "bar", "area", "radar", "gauge", "candle", "mix", "demotype", "mainline",
-		"mainradar", "mini-line", "mini-area", "mini-column"
+		"mainradar", "mini-line", "mini-area", "mini-column",
 	],
 	//instance为实例变量承载属性,不要删除
 	"instance": {},
@@ -169,28 +169,90 @@ const cfu = {
 			},
 		},
 	},
-	"rose": {
-		"type": "rose",
-		"color": color,
-		"padding": [5, 5, 5, 5],
-		"legend": {
-			"show": true,
-			"position": "left",
-			"lineHeight": 25,
-		},
-		"extra": {
-			"rose": {
-				"type": "area",
-				"minRadius": 50,
-				"activeOpacity": 0.5,
-				"activeRadius": 10,
-				"offsetAngle": 0,
-				"labelWidth": 15,
-				"border": false,
-				"borderWidth": 2,
-				"borderColor": "#FFFFFF"
-			},
-		}
+	"rose":{
+	    "type": "rose",
+	    "canvasId": "",
+	    "canvas2d": false,
+	    "background": "none",
+	    "animation": true,
+	    "timing": "easeOut",
+	    "duration": 1000,
+	    "color": [
+	        "#0052d4",
+	        "#ff5959",
+	        "#f9b248",
+	        "#3CA272",
+	        "#73C0DE",
+	        "#ff55a3"
+	    ],
+	    "padding": [
+	        5,
+	        5,
+	        5,
+	        5
+	    ],
+	    "rotate": false,
+	    "errorReload": true,
+	    "fontSize": 13,
+	    "fontColor": "#666666",
+	    "enableScroll": false,
+	    "touchMoveLimit": 60,
+	    "enableMarkLine": false,
+	    "dataLabel": false,
+	    "dataPointShape": false,
+	    "dataPointShapeType": "hollow",
+	    "tapLegend": true,
+	    "legend": {
+	        "show": true,
+	        "position": "bottom",
+	        "float": "center",
+	        "padding": 5,
+	        "margin": 5,
+	        "backgroundColor": "rgba(0,0,0,0)",
+	        "borderColor": "rgba(0,0,0,0)",
+	        "borderWidth": 0,
+	        "fontSize": 13,
+	        "fontColor": "#666666",
+	        "lineHeight": 25,
+	        "hiddenColor": "#CECECE",
+	        "itemGap": 10
+	    },
+	    "extra": {
+	        "rose": {
+	            "type": "radius",
+	            "minRadius": 50,
+	            "activeOpacity": 0.5,
+	            "activeRadius": 10,
+	            "offsetAngle": 0,
+	            "labelWidth": 15,
+	            "border": true,
+	            "borderWidth": 2,
+	            "borderColor": "#FFFFFF",
+	            "linearType": "none"
+	        },
+	        "tooltip": {
+	            "showBox": true,
+	            "showArrow": false,
+	            "showCategory": false,
+	            "borderWidth": 0,
+	            "borderRadius": 6,
+	            "borderColor": "#000000",
+	            "borderOpacity": 0.5,
+	            "bgColor": "#000000",
+	            "bgOpacity": 0.5,
+	            "gridType": "solid",
+	            "dashLength": 4,
+	            "gridColor": "#CCCCCC",
+	            "fontColor": "#FFFFFF",
+	            "splitLine": true,
+	            "horizentalLine": false,
+	            "xAxisLabel": false,
+	            "yAxisLabel": false,
+	            "labelBgColor": "#FFFFFF",
+	            "labelBgOpacity": 0.7,
+	            "labelFontColor": "#666666"
+	        }
+	    }
 	},
 	"word": {
 		"type": "word",
@@ -1598,8 +1660,92 @@ const cfu = {
 				"data": []
 			}
 		}
-	}
-
+	},
+"mini-rose":{
+    "type": "rose",
+    "canvasId": "",
+    "canvas2d": false,
+    "background": "none",
+    "animation": true,
+    "timing": "easeOut",
+    "duration": 1000,
+    "color": [
+        "#0052d4",
+        "#ff5959",
+        "#f9b248",
+        "#3CA272",
+        "#73C0DE",
+        "#ff55a3"
+    ],
+    "padding": [
+        5,
+        5,
+        5,
+        5
+    ],
+    "rotate": false,
+    "errorReload": true,
+    "fontSize": 13,
+    "fontColor": "#666666",
+    "enableScroll": false,
+    "touchMoveLimit": 60,
+    "enableMarkLine": false,
+    "dataLabel": false,
+    "dataPointShape": false,
+    "dataPointShapeType": "hollow",
+    "tapLegend": false,
+    "legend": {
+        "show": false,
+        "position": "bottom",
+        "float": "center",
+        "padding": 5,
+        "margin": 5,
+        "backgroundColor": "rgba(0,0,0,0)",
+        "borderColor": "rgba(0,0,0,0)",
+        "borderWidth": 0,
+        "fontSize": 13,
+        "fontColor": "#666666",
+        "lineHeight": 25,
+        "hiddenColor": "#CECECE",
+        "itemGap": 10
+    },
+    "extra": {
+        "rose": {
+            "type": "radius",
+            "minRadius": 50,
+            "activeOpacity": 0.5,
+            "activeRadius": 10,
+            "offsetAngle": 0,
+            "labelWidth": 15,
+            "border": true,
+            "borderWidth": 2,
+            "borderColor": "#FFFFFF",
+            
+        },
+        "tooltip": {
+            "showBox": true,
+            "showArrow": false,
+            "showCategory": false,
+            "borderWidth": 0,
+            "borderRadius": 6,
+            "borderColor": "#000000",
+            "borderOpacity": 0.5,
+            "bgColor": "#000000",
+            "bgOpacity": 0.5,
+            "gridType": "solid",
+            "dashLength": 4,
+            "gridColor": "#CCCCCC",
+            "fontColor": "#FFFFFF",
+            "splitLine": true,
+            "horizentalLine": false,
+            "xAxisLabel": false,
+            "yAxisLabel": false,
+            "labelBgColor": "#FFFFFF",
+            "labelBgOpacity": 0.7,
+            "labelFontColor": "#666666"
+        }
+    }
+}
 }
 
 export default cfu;