李万涛 1 ano atrás
pai
commit
a31959bc72

+ 21 - 0
common/request/apis.js

xqd xqd
@@ -110,6 +110,25 @@ export default {
 		}
 	},
 
+	robot: {
+		createRobot: {
+			url: "robot/createRobot",
+			auth: true,
+			method: "POST",
+		},
+
+		checkRobotIsScan: {
+			url: "robot/checkRobotIsScan",
+			auth: true,
+			method: "POST",
+		},
+		info: {
+			url: "user/info",
+			auth: true,
+			method: "POST",
+		},
+	},
+
 	digitalMen: {
 		workList: {
 			url: "Digit/list",
@@ -153,6 +172,8 @@ export default {
 			auth: false,
 			method: "POST",
 		},
+
+
 	},
 	gallery: {
 		getOpensdDetail: {

+ 11 - 8
common/request/index.js

xqd xqd xqd xqd
@@ -34,6 +34,9 @@ export default function http(
 	shoproRequest.interceptor.response((response) => {
 		uni.hideLoading();
 		if (response.code === 1) {
+			if (response.msg == '用户暂未扫码!') {
+				return response
+			}
 			if (toastAfter) {
 				// console.log(response.msg)
 				uni.showToast({
@@ -43,12 +46,12 @@ export default function http(
 				});
 			}
 		}
-        if (response.code === 2) {
-        	if (toastAfter) {
-        		// console.log(response.msg)
-        	}
-        }
-		
+		if (response.code === 2) {
+			if (toastAfter) {
+				// console.log(response.msg)
+			}
+		}
+
 		// token过期注销
 		// console.log('sss');
 		if (response.code === 10401) {
@@ -60,7 +63,7 @@ export default function http(
 		}
 		return response
 	})
-	return shoproRequest.request({		
+	return shoproRequest.request({
 		url: api.url,
 		data,
 		method: api.method
@@ -76,4 +79,4 @@ function getApiPath(url) {
 		api = api[v];
 	});
 	return api;
-}
+}

+ 22 - 13
components/wike-tabbar/wike-tabbar.vue

xqd xqd xqd xqd xqd xqd
@@ -5,13 +5,13 @@
 			<block v-for="(item, index) in tabBar.list" :key="index">
 				<view class="action tabbar-item" :style="{color:index==currTabIndex?'#207cf7':''}"
 					@click="clickTab(item,index)">
-					<block v-if="tabBar.showType=='img'">
+					<block v-if="item.showType=='img'">
 						<image class="tabbar-icon" :src="index==currTabIndex? item.selectedIconPath : item.iconPath">
 						</image>
 					</block>
-					<block v-if="tabBar.showType=='iconfont'">
+					<block v-if="item.showType=='iconfont'">
 						<view :class="['tabbar-icon',item.fontClass]"
-							:style="{'font-size':'22px','color':index==currTabIndex?'#207cf7':''}">
+							:style="{'color':index==currTabIndex?'#207cf7':'','font-size':item.text=='应用'?'26px':'22px'}">
 						</view>
 					</block>
 					<view class="tabbar-text">{{ item.text }}</view>
@@ -86,12 +86,12 @@
 							// navigateType: "switchTab",
 							navigateType: "navigateTo",
 							showBig: false,
-
 							fontClass: "tn-icon-image",
 							"iconPath": "/static/images/tabs/joblist.png",
 							"selectedIconPath": "/static/images/tabs/joblists.png",
-							"text": "绘画"
 
+							"text": "绘画",
+							showType: "iconfont",
 						},
 						{
 							pagePath: "/pages/template/template",
@@ -100,7 +100,8 @@
 							fontClass: "tn-icon-cube",
 							"iconPath": "/static/images/tabs/joblist.png",
 							"selectedIconPath": "/static/images/tabs/joblists.png",
-							"text": "应用"
+							"text": "应用",
+							showType: "iconfont",
 						},
 						{
 							pagePath: "/pages/painting/painting",
@@ -108,9 +109,13 @@
 							navigateType: "navigateTo",
 							showBig: false,
 							fontClass: "tn-icon-home-capsule",
-							"iconPath": "/static/images/tabs/index.png",
-							"selectedIconPath": "/static/images/tabs/indexs.png",
-							"text": "首页"
+							// "iconPath": "/static/images/tabs/index.png",
+							// "selectedIconPath": "/static/images/tabs/indexs.png",
+
+							"iconPath": "/static/tiwen_icon.png",
+							"selectedIconPath": "/static/tiwen_icon_a.png",
+							"text": "提问",
+							showType: "img",
 						},
 						{
 							// pagePath: "/pages/signin/signin",
@@ -118,10 +123,13 @@
 							navigateType: "navigateTo",
 							showBig: false,
 							fontClass: "tn-icon-funds",
-							"iconPath": "/static/images/tabs/joblist.png",
-							"selectedIconPath": "/static/images/tabs/joblists.png",
+							// "iconPath": "/static/images/tabs/joblist.png",
+							// "selectedIconPath": "/static/images/tabs/joblists.png",
+							"iconPath": "/static/szr_icon.png",
+							"selectedIconPath": "/static/szr_icon_a.png",
 							// "text": "任务"
-							"text": "数字人"
+							"text": "数字人",
+							showType: "img",
 						},
 						{
 							pagePath: "/pages/user/user",
@@ -130,7 +138,8 @@
 							fontClass: "tn-icon-my",
 							"iconPath": "/static/images/tabs/mine.png",
 							"selectedIconPath": "/static/images/tabs/mines.png",
-							"text": "我的"
+							"text": "我的",
+							showType: "iconfont",
 						}
 					]
 				},

+ 6 - 8
pages.json

xqd xqd xqd xqd
@@ -71,7 +71,7 @@
 		{
 			"path": "pages/digitalMen/generate/index",
 			"style": {
-				"navigationBarTitleText": "",
+				"navigationBarTitleText": "凡云AI数字人",
 				"navigationStyle": "custom",
 				"navigationBarTextStyle": "black",
 				"navigationBarBackgroundColor": "#fff",
@@ -87,7 +87,7 @@
 		{
 			"path": "pages/employee/index",
 			"style": {
-				"navigationBarTitleText": "",
+				"navigationBarTitleText": "数智员工",
 				"navigationStyle": "custom",
 				"navigationBarTextStyle": "black",
 				"navigationBarBackgroundColor": "#fff",
@@ -132,7 +132,7 @@
 		}, {
 			"path": "pages/user/signin",
 			"style": {
-				"navigationBarTitleText": "",
+				"navigationBarTitleText": "登录",
 				"enablePullDownRefresh": false,
 				// "navigationBarBackgroundColor": "#ffffff",
 				"navigationBarTextStyle": "white",
@@ -380,12 +380,10 @@
 			"path": "pages/signin/signin",
 			"style": {
 				"navigationBarTitleText": "每日任务",
-				"navigationBarBackgroundColor": "#F5FFFD",
-				// #ifdef H5
-				"navigationStyle": "custom",
-				// #endif
 				"enablePullDownRefresh": false,
-				"backgroundColor": "#F2F2F2"
+				// "navigationBarBackgroundColor": "#ffffff",
+				"navigationBarTextStyle": "white",
+				"navigationStyle": "custom"
 			}
 
 		}, {

+ 8 - 2
pages/digitalMen/generate/index.scss

xqd xqd
@@ -77,8 +77,9 @@ page {
 			.centerMenuBar{
 				display: flex;
 				justify-content: space-between;
-				height: 96rpx;
-				background: linear-gradient(to right,#549DFF,#207CF7);
+				height: 92rpx;
+				background: linear-gradient(270deg, #207CF7 0%, #549DFF 100%);
+				border-radius: 24rpx 24rpx 0rpx 0rpx;
 				margin-top: 30rpx;
 				padding-left: 40rpx;
 				padding-right: 40rpx;
@@ -676,16 +677,21 @@ page {
 			align-items: center;
 		
 			.label{
+				color:#999
 			}
 			.con{
 				display: flex;
 				align-items: center;
 				padding-top: 5rpx;
+				
+				// font-weight: 600;
 			}
 			.conImg{
 				width:50rpx;
 				height:50rpx;
 				margin-left: 20rpx;
+				
+				border-radius: 50%;
 			}
 		}
 	}

+ 213 - 55
pages/digitalMen/index.scss

xqd xqd xqd xqd
@@ -1,11 +1,12 @@
 page {
 		// background: #f2f2f2;
 	}
+
 	.pos{
 		height: 45px;
 	}
 .pos2{
-		height: 80px;
+		height: 40px;
 	}
 	view {
 		box-sizing: border-box;
@@ -13,71 +14,216 @@ page {
 	.container{
 		padding-bottom:85rpx;
 		.context{
-			padding: 40rpx;
+			// padding: 40rpx;
+			
+			// padding-left: 30rpx;
+			// padding-right: 30rpx;
 		}
-		.createPro{
-			border-radius: 15rpx;
-			height: 306rpx;
-			// aspect-ratio: 7/3;
-			background:url('@/static/images/createBg.png') no-repeat;
-			background-size: 100% 100%;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			.centerAdd{
+		.addPd{
+			padding-left: 10rpx;
+			padding-right: 10rpx;
+			margin-bottom: 26rpx;
+			.createPro{
+				border-radius: 15rpx;
+				height: 336rpx;
+				// aspect-ratio: 7/3;
+				background:url('@/static/images/createBg.png') no-repeat;
+				background-size: 100% 100%;
 				display: flex;
 				align-items: center;
-				flex-direction: column;
 				justify-content: center;
-				.addIcon{
-					width: 72rpx;
-					height: 72rpx;	
-					
-					text{
-						font-size: 72rpx;
+				.centerAdd{
+					display: flex;
+					align-items: center;
+					flex-direction: column;
+					justify-content: center;
+					.addIcon{
+						width: 64rpx;
+						height: 64rpx;	
+						
+						text{
+							font-size: 72rpx;
+						}
+						image{
+							width: 100%;
+							height: 100%;
+						}
+					}
+					.addTxt{
+						margin-top: 24rpx;
+						font-size: 32rpx;
+						font-family: PingFang-SC, PingFang-SC;
+						font-weight: 800;
+						color: #FFFFFF;
 					}
-					image{
-						width: 100%;
+				}
+			}
+		}
+		.swiperBox{
+			height: 352rpx;
+			background: #FFFFFF;
+			border-radius: 24rpx;
+			box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0,0,0,0.16);
+			// opacity: 0.07;
+			// filter: blur(4px);
+			
+			padding-top: 48rpx;
+			padding-left: 24rpx;
+			.draftLabel{
+				font-size: 32rpx;
+				font-family: PingFang-SC, PingFang-SC;
+				font-weight: 800;
+				color: #333333;
+				margin-bottom: 24rpx;
+				
+				display: flex;
+				align-items: center;
+				.labelIcon{
+					width: 32rpx;
+					height: 30rpx;
+					margin-right: 10rpx;
+					margin-top: 5rpx;
+				}
+			}
+			.swiperCard{
+				display: flex;
+				align-items: center;
+				flex-wrap: nowrap;
+				overflow-y: hidden;
+				overflow-x: scroll;
+				white-space: nowrap;
+				.itemBox{
+					width: 330rpx;
+					height: 184rpx;
+					// height: 210rpx;
+				
+					border-radius: 20rpx;
+					// background-size: cover;
+					background-size: 100% 100%;
+					background-repeat: no-repeat;
+					flex-shrink: 0;
+					margin-right: 30rpx;
+					display: flex;
+					justify-content: center;
+					
+					position: relative;
+					.role{
+						width:70%;
 						height: 100%;
 					}
+					
+					.barBox{
+						box-sizing: border-box;
+						position: absolute;
+						bottom: 0;
+						left: 0;
+						width: 330rpx;
+						height: 40rpx;
+						background: rgba(0,0,0,0.22);
+						border-radius:0 0 20rpx 20rpx;
+						
+						display: flex;
+						align-items: center;
+						justify-content: space-between;
+						padding-left: 16rpx;
+						padding-right: 16rpx;
+						
+						.name{
+							font-size: 24rpx;
+							font-family: PingFang-SC, PingFang-SC;
+							font-weight: 500;
+							color: #333333;
+							color:white;
+							
+							width: 90%;
+							overflow:hidden; 
+							white-space: nowrap; 
+							text-overflow: ellipsis;
+						}
+						text{
+							
+						}
+					}
+				}
+			}
+		
+			.dotBox{
+				display: flex;
+				align-items: center;
+				margin-top: 20rpx;
+				
+				padding-left: 16rpx;
+				.i1{
+					width: 26rpx;
+					height: 6rpx;
+					background: #207CF4;
+					border-radius: 8rpx;
+					margin-right: 5rpx;
 				}
-				.addTxt{
-					margin-top: 20rpx;
-					font-weight: 600;
-					color:white;
+				.i2,.i3,.i4,.i5{
+					width: 12rpx;
+					height: 6rpx;
+					background: #E9EDF3;
+					border-radius: 3rpx;
+					margin-right: 5rpx;
 				}
 			}
 		}
+		
 			.draft{
 				margin-top: 30rpx;
 				.draftLabel{
-					font-weight: 600;
+					font-size: 32rpx;
+					font-family: PingFang-SC, PingFang-SC;
+					font-weight: 800;
+					color: #333333;
 					margin-bottom: 30rpx;
+					
+					display: flex;
+					align-items: center;
+					.labelIcon{
+						width: 32rpx;
+						height: 30rpx;
+						margin-right: 10rpx;
+						margin-top: 5rpx;
+					}
+				}
+				
+				
+				.addpd2{
+					
 				}
 				.draftList{
 					display: flex;
-					justify-content: space-between;
+					justify-content:space-between;
 					flex-wrap: wrap;
-					justify-content: space-between;
+					// background: red;
+					
+					// .itemBox:nth-of-type(1n){
+					// 	margin-right: 5rpx;
+					// }
 					.itemBox{
 						width: 50%;
 						display: flex;
 						flex-direction: column;
 						align-items: center;
 						margin-bottom: 30rpx;
+						
 						.top{
-							width: 95%;
+							height: 184rpx;
+							width: 92%;
 							border-radius: 15rpx;
 							position: relative;
 							aspect-ratio: 9/16;
 							background: #ccc;
 							z-index: 1;
+							
+							// background: red;
 							image{
 								width: 100%;
 								height:100%;
 								border-radius: 15rpx;
-							}
-							
+							}	
 							
 						}
 						.bottom{
@@ -87,11 +233,16 @@ page {
 							margin-top: 15rpx;
 							// width: 320rpx;
 							width: 95%;
-							padding-right: 25rpx;
-							// height: 100rpx;
-							// line-height: 100rpx;
+							padding-right: 15rpx;
+							padding-left: 10rpx;
+							
+							
 							.left{
-								font-size: 32rpx;
+								font-size: 24rpx;
+								display: -webkit-box;
+								-webkit-box-orient: vertical;
+								overflow: hidden;
+								-webkit-line-clamp: 2;
 							}
 							.delIcon{
 								// width: 32rpx;
@@ -104,84 +255,91 @@ page {
 						}
 					}
 				}
+				
 			}
 	}
 
 	.tipBox{
 		// position: relative;
+		
 		.preloader_1 {
 			position: absolute;
-			margin-right: 65px;
-			top:50%;
-			width: 100%;
-			left:35%;
-			transform: translateX(0%);
-			background: red;
-			width: 100%;
+			margin-right: 130rpx;
+			top:40%;
 			z-index: 9;
 		}
+		.loadingBox{
+			width: 110rpx;
+			height: 10rpx;
+			left:50%;
+			transform: translateX(-50%);
+		}
 		
 		.preloader_1 view {
 			display: block;
-			bottom: 0px;
-			width: 9px;
-			height: 5px;
+			bottom: 0rpx;
+			width: 18rpx;
+			height: 10rpx;
 			background: #9b59b6;
 			position: absolute;
 			animation: preloader_1 1.5s infinite ease-in-out;
 		}
 		
 		.preloader_1 view:nth-child(2) {
-			left: 11px;
+			left: 22rpx;
 			animation-delay: .2s;
 		}
 		
 		.preloader_1 view:nth-child(3) {
-			left: 22px;
+			left: 44rpx;
 			animation-delay: .4s;
 		}
 		
 		.preloader_1 view:nth-child(4) {
-			left: 33px;
+			left: 66rpx;
 			animation-delay: .6s;
 		}
 		
 		.preloader_1 view:nth-child(5) {
-			left: 44px;
+			left:88rpx;
 			animation-delay: .8s;
 		}
 		
 		@keyframes preloader_1 {
 			0% {
-				height: 5px;
-				transform: translateY(0px);
+				height: 2rpx;
+				transform: translateY(0rpx);
 				background: #9b59b6;
 			}
 		
 			25% {
 				height: 30px;
-				transform: translateY(15px);
+				transform: translateY(30rpx);
 				background: #3498db;
 			}
 		
 			50% {
 				height: 5px;
-				transform: translateY(0px);
+				transform: translateY(0rpx);
 				background: #9b59b6;
 			}
 		
 			100% {
 				height: 5px;
-				transform: translateY(0px);
+				transform: translateY(0rpx);
 				background: #9b59b6;
 			}
 		}
 		
 		.tip{
 			position: absolute;
-			bottom: 25%;
+			bottom: 15%;
 		    width: 100%;
 		    text-align: center;
+			font-size: 24rpx;
+			font-family: PingFang-SC, PingFang-SC;
+			font-weight: 500;
+			color: #237FED;
 		}
 		.progress{
 			margin-top:150%;

+ 117 - 112
pages/digitalMen/index.vue

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -3,12 +3,13 @@
 		<!-- <tn-nav-bar :isBack="false" backgroundColor="#fff" :bottomShadow="false">数字人</tn-nav-bar> -->
 		<!-- <view class="pos">
 		</view> -->
-		<view class="context">
+
+		<view class="addPd">
 			<view class="createPro" @click="handleCreatePro">
 				<view class="centerAdd">
 					<view class="addIcon">
-						<!-- <image src="/static/images/buy.png" mode=""></image> -->
-						<text class="iconfont icon-chuangjian" style="color: white;"></text>
+						<image src="/static/add_icon.png" mode=""></image>
+						<!-- <text class="iconfont icon-chuangjian" style="color: white;"></text> -->
 					</view>
 
 					<view class="addTxt">
@@ -16,71 +17,85 @@
 					</view>
 				</view>
 			</view>
-			<view class="draft" v-if="isLogin">
-				<view class="draftLabel">
-					草稿
-				</view>
-				<empty v-if="draftList.length==0" tipTxt="暂无草稿"></empty>
-				<view class="draftList" v-else>
-					<view class="itemBox" v-for="(item,index) in draftList" @click="toCreateDetail(item)">
-						<view class="top"
-							style="display: flex;justify-content: center;align-items: center;aspect-ratio: 4/3;">
-							<text class="iconfont icon-caogao" style="color: white;font-size: 46rpx;"></text>
-						</view>
-						<view class="bottom">
-							<view class="left" :style="{fontSize:isPc?'64rpx':'32rpx'}">
-								{{item.name}}
-							</view>
-							<view class="delIcon" @click.stop="delDraft(item,index)">
-								<!-- <image src="/static/images/head.jpg" mode=""></image> -->
-								<text class="iconfont icon-shanchu" :style="{fontSize:isPc?'64rpx':'32rpx'}"></text>
-							</view>
+		</view>
+
+		<view class="context">
+			<view class="" style="padding-left: 30rpx;padding-right: 30rpx;">
+				<view class="swiperBox" v-if="isLogin">
+					<view class="draftLabel">
+						<image src="/static/caogao_icon.png" mode="" class="labelIcon"></image>
+						草稿
+					</view>
+					<empty v-if="draftList.length==0" tipTxt="暂无草稿" style="margin-top: -50rpx;"></empty>
+					<view class="swiperCard" v-else>
+						<view class="itemBox" :style="{backgroundImage:`url(${item.backs.url})`}"
+							v-for="(item,index) in draftList" @click="toCreateDetail(item)">
+							<image class="role" :src="item.roles.url" mode=""></image>
+							<div class="barBox">
+								<div class="name">
+									{{item.name}}
+								</div>
+								<text @click.stop="delDraft(item,index)" style="color:white;font-size: 28rpx;"
+									class="iconfont icon-shanchu"></text>
+							</div>
 						</view>
 					</view>
+
+					<div class="dotBox" v-if="draftList.length!==0">
+						<div class="i1"></div>
+						<div class="i2"></div>
+						<div class="i3"></div>
+						<div class="i4"></div>
+						<div class="i5"></div>
+					</div>
 				</view>
 			</view>
 
 
 			<view class="draft">
-				<view class="draftLabel">
+				<view class="draftLabel" style="padding-left: 30rpx;padding-right: 30rpx;">
+					<image style="width: 34rpx;height: 34rpx;" src="/static/zuopin_icon.png" mode="" class="labelIcon">
+					</image>
 					{{isLogin?'数字人作品':'精选案例'}}
 				</view>
-				<empty v-if="workList.length==0" :tipTxt="isLogin?'暂无作品':'暂无案例'"></empty>
-				<view class="draftList" v-else>
-					<view class="itemBox" v-for="(item,index) in workList" @click="goWorkDetail(item)">
-						<view class="top" :style="{minHeight:isPc?'rpx':'470rpx'}">
-							<image :src="item.cover" mode="aspectFit" v-if="item.state">
-							</image>
-
-							<view class="tipBox" v-else>
-								<view class="preloader_1" style="">
-									<view></view>
-									<view></view>
-									<view></view>
-									<view></view>
-									<view></view>
+				<view style="padding-left: 15rpx;padding-right: 15rpx;">
+					<empty v-if="workList.length==0" :tipTxt="isLogin?'暂无作品':'暂无案例'"></empty>
+					<view class="draftList" v-else>
+						<view class="itemBox" v-for="(item,index) in workList" @click="goWorkDetail(item)">
+							<!-- <view class="top" :style="{minHeight:isPc?'184rpx':'184rpx'}"> -->
+							<view class="top">
+								<image :src="item.cover" mode="aspectFit" v-if="item.state">
+								</image>
+
+								<view class="tipBox" v-else>
+									<view class="preloader_1 loadingBox" style="">
+										<view></view>
+										<view></view>
+										<view></view>
+										<view></view>
+										<view></view>
+									</view>
+									<!-- <view class="progress">
+										<u-line-progress :percentage="'percentage'+item.id" :showText="true"
+											activeColor="#9b59b6" height="12"></u-line-progress>
+									</view> -->
+									<view class="tip" style="color:#237FED">
+										生成中...
+									</view>
 								</view>
-								<!-- <view class="progress">
-									<u-line-progress :percentage="'percentage'+item.id" :showText="true"
-										activeColor="#9b59b6" height="12"></u-line-progress>
-								</view> -->
-								<view class="tip" style="color:#26b3a0">
-									生成中...
-								</view>
-							</view>
 
-						</view>
-						<view class="bottom" v-if="isLogin">
-							<view class="left" :style="{fontSize:isPc?'64rpx':'32rpx'}">
-								{{item.name}}
 							</view>
-							<!-- <view class="left">
-								{{item.state==1?"已生成":'生成中'}}
-							</view> -->
-							<view class="delIcon" @click.stop="handleShowMoreMenu(item,index)">
-								<!-- <image src="/static/images/head.jpg" mode=""></image> -->
-								<text class="iconfont icon-gengduo-shuxiang"
-									:style="{fontSize:isPc?'64rpx':'32rpx'}"></text>
+							<view class="bottom" v-if="isLogin">
+								<view class="left">
+									{{item.name}}
+								</view>
+								<!-- <view class="left">
+									{{item.state==1?"已生成":'生成中'}}
+								</view> -->
+								<view class="delIcon" @click.stop="handleShowMoreMenu(item,index)">
+									<!-- <image src="/static/images/head.jpg" mode=""></image> -->
+									<text class="iconfont icon-gengduo-shuxiang" style="font-size:32rpx;"></text>
+								</view>
 							</view>
 						</view>
 					</view>
@@ -99,7 +114,7 @@
 				<view
 					style="background: rgba(0, 0, 0, 0);width: 300rpx;height: 300rpx;display: flex;align-items: center;flex-direction: column;justify-content: center;color:#26b3a0;">
 					<l-circularProgress :isBgShow="true" :lineWidth="10" boxWidth="100" boxHeight="100"
-						progressColor="#26b3a0" fontColor="#26b3a0" gradualColor="#26b3a0"
+						progressColor="##237FED" fontColor="##237FED" gradualColor="##237FED"
 						:percent="progress"></l-circularProgress>
 					<view class="">
 						视频下载中...
@@ -190,54 +205,26 @@
 			// 	}
 			// });
 		},
+		beforeDestroy() {
+			console.log('beforeDestroy()---------------------');
+			clearInterval(this.timer)
+		},
 		onHide() {
+			console.log('onHide()---------------------');
 			// 清除定时器
-			// clearInterval(this.timer)
+			clearInterval(this.timer)
 		},
 		onShow() {
-			// console.log('当前时间戳:', Date.now() + 180000);
-			let _this = this
-			if (getApp().from == 'create') {
-				_this.timer = setInterval(async () => {
-					let res = await _this.$http('digitalMen.workList', {})
-					if (res.code == 0) {
-						// _this.reqTimes += 1
-						_this.workList = res.data
-						// res.data.forEach((item, index) => {
-						// 	console.log('每一个percentage', _this['percentage' + item.id]);
-						// 	if (_this.reqTimes <= 5) {
-						// 		_this['percentage' + item.id] += 10
-						// 	} else {
-						// 		_this['percentage' + item.id] += 1
-						// 	}
-						// 	if (item.state == 1) {
-						// 		console.log('已完成的那一项', item);
-						// 		_this['percentage' + item.id] = 100
-						// 	}
-						// })
-
-						let allSuc = res.data.every((item, index) => {
-							return item.state == 1
-						})
-						if (allSuc) {
-							clearInterval(_this.timer)
-							// _this.percentage = 100
-							return
-						}
-						console.log('定时器--数字人作品列表返回值:', res);
-					} else {
-						uni.showToast({
-							title: res.msg,
-							icon: 'none'
-						})
-					}
-				}, 10000)
-				console.log('timer-------------', _this.timer);
-				// clearInterval(_this.timer)
-				uni.setStorageSync('timer', _this.timer)
+			if (this.timer) {
+				this.timer = null
 			}
-			getApp().from = ''
 
+			// console.log('当前时间戳:', Date.now() + 180000);
+			let _this = this
+			// if (getApp().from == 'create') {
+			// }
+			this.getWorkList()
+			this.getIndexData()
 			const userAgent = navigator.userAgent.toLowerCase();
 			if (/ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(userAgent)) {
 				// 移动端
@@ -249,16 +236,15 @@
 				console.log('PC端')
 			}
 			// console.log('1213', download);
-			this.getIndexData()
 			this.is_wx = this.is_weixin()
 			console.log('this.is_wx', this.is_wx);
 		},
 		onShareAppMessage: function(res) {
 
 		},
-		async onPullDownRefresh() {
-			this.getIndexData()
-		},
+		// async onPullDownRefresh() {
+		// 	this.getIndexData()
+		// },
 		methods: {
 			open() {
 				// console.log('open');
@@ -366,17 +352,32 @@
 					return false;
 				}
 			},
-			async getIndexData() {
+
+
+			async getWorkList() {
+				let _this = this
 				let res = await this.$http('digitalMen.workList', {})
 				if (res.code == 0) {
 					// uni.stopPullDownRefresh()
 					this.workList = res.data
-					// let parm = {}
-					// res.data.forEach((item, index) => {
-					// 	parm['percentage' + item.id] = 0
-					// })
-					// this.$data = Object.assign(this.$data, parm);
-					// console.log('百分比批量赋值后:', this.$data);
+
+					let allSuc = res.data.every((item, index) => {
+						return item.state == 1
+					})
+
+					if (allSuc || res.data.length == 0) {
+						clearInterval(_this.timer)
+						return
+					}
+
+					console.log('onshow------------------_this.timer', _this.timer);
+					if (_this.timer) {
+						return
+					}
+					_this.timer = setInterval(() => {
+						_this.getWorkList()
+					}, 5000)
+
 					console.log('数字人作品列表返回值:', res);
 				} else {
 					uni.showToast({
@@ -384,8 +385,8 @@
 						icon: 'none'
 					})
 				}
-
-
+			},
+			async getIndexData() {
 				if (!uni.getStorageSync('token')) {
 					return
 				}
@@ -472,6 +473,10 @@
 								if (res.code == 0) {
 									_this.workList.splice(this.delIndex, 1)
 
+									if (_this.workList.length == 0) {
+										clearInterval(_this.timer)
+									}
+
 									console.log('删除数字人返回值:', res);
 									uni.showToast({
 										title: '数字人:' + _this.delItem.name + '删除成功!',

+ 139 - 0
pages/employee/index.scss

xqd
@@ -1,4 +1,143 @@
 iframe{
 	width: 100vw;
 	height: 100vh;
+}
+@keyframes rotate {
+	0%{
+		transform: rotate(0deg);
+	}
+	100%{
+		transform: rotate(360deg);
+	}
+}
+.go{
+	animation: rotate 1s;
+}
+.fresh{
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	font-size:32rpx;
+	
+	margin-top: 100rpx;
+	image{
+		margin-left: 10rpx;
+	}
+}
+
+.employBox{
+	padding-left: 30rpx;
+	padding-right: 30rpx;
+	padding-top: 24rpx;
+	.stateBox{
+		// width: 690rpx;
+		height: 92rpx;
+		background: #E5F0FF;
+		border-radius: 8rpx;
+		display: flex;
+		align-items: center;
+		padding-left: 32rpx;
+		padding-right: 32rpx;
+		font-size: 28rpx;
+		font-family: PingFang-SC, PingFang-SC;
+		font-weight: 500;
+		color: #333333;
+		justify-content: space-between;
+		
+		.btn{
+			width: 100rpx;
+			height: 60rpx;
+			border-radius: 38rpx;
+			border: 2rpx solid #207CF7;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			font-size: 28rpx;
+			font-family: PingFang-SC, PingFang-SC;
+			font-weight: 500;
+			color: #207CF7;
+		}
+	}
+	.t1{
+		font-size: 36rpx;
+		font-family: PingFang-SC, PingFang-SC;
+		font-weight: 800;
+		color: #333333;
+		margin-top: 84rpx;
+		text-align: center;
+	}
+	.t2{
+		font-size: 24rpx;
+		font-family: PingFang-SC, PingFang-SC;
+		font-weight: 500;
+		color: #999999;
+		margin-top: 24rpx;
+		text-align: center;
+	}
+	.codeBox{
+		margin-top: 158rpx;
+		width: 476rpx;
+		height: 476rpx;
+		background: #EEF5FE;
+		
+		margin-left: 50%;
+		transform: translateX(-50%);
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		
+		
+		position: relative;
+		.lt,.rt,.lb,.rb{
+			position: absolute;
+			width: 28rpx;
+			height: 28rpx;
+		}
+		.lt{
+			left:-14rpx;
+			top:-14rpx;
+			border-top:  4rpx solid #207CF7;
+			border-left:  4rpx solid #207CF7;
+		}
+		.rt{
+			right:-14rpx;
+			top:-14rpx;
+			border-top:  4rpx solid #207CF7;
+			border-right:  4rpx solid #207CF7;
+		}
+		.lb{
+			left:-14rpx;
+			bottom:-14rpx;
+			border-bottom:  4rpx solid #207CF7;
+			border-left:  4rpx solid #207CF7;
+		}
+		.rb{
+			right:-14rpx;
+			bottom:-14rpx;
+			border-bottom:  4rpx solid #207CF7;
+			border-right:  4rpx solid #207CF7;
+		}
+		img{
+			width: 408rpx;
+			height: 406rpx;
+		}
+	}
+	
+	.btn2{
+		width: 476rpx;
+		height: 84rpx;
+		border-radius: 42rpx;
+		border: 2rpx solid #207CF7;
+		margin-left: 50%;
+		transform: translateX(-50%);
+		// margin-top: 136rpx;
+		margin-top: 100rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		font-size: 28rpx;
+		font-family: PingFang-SC, PingFang-SC;
+		font-weight: 500;
+		color: #207CF7;
+	}
 }

+ 238 - 6
pages/employee/index.vue

xqd xqd xqd
@@ -1,17 +1,53 @@
 <template>
 	<!-- <iframe src="https://chat.mddai.cn/" frameborder="0"></iframe> -->
 	<view class="">
-		<view style="color: #fff;z-index: 99999999;position: relative;">
-			<tn-nav-bar :bottomShadow="false" backgroundColor="#207CF7">{{title}}</tn-nav-bar>
+		<!-- 	<view style="color: #fff;z-index: 99999999;position: relative;">
+			<tn-nav-bar :bottomShadow="false" backgroundColor="#207CF7">数智员工</tn-nav-bar>
 			<view :style="{height: tobheight+'px'}"></view>
-		</view>
+		</view> -->
 
 		<div class="employBox">
 			<div class="stateBox">
+				<div class="left">
+					当前状态:{{loginTxt}}
+				</div>
+				<!-- 	<div class="btn">
+					登录
+				</div> -->
+			</div>
+
+			<div class="t1">
+				{{!userInfo.robot_is_login?'使用微信扫码登录机器人':userInfo.name}}
+
+			</div>
+			<div class="t2" :style="{color:!userInfo.robot_is_login?'':'#237FED'}">
+				{{!userInfo.robot_is_login?'微信扫码快速登录':'您已登录'}}
+
+			</div>
+			<!-- <image src="/static/loading_pic.gif" alt="" /> -->
+			<div class="codeBox" v-if="!userInfo.robot_is_login">
+				<div class="lt"></div>
+				<div class="rt"></div>
+				<div class="lb"></div>
+				<div class="rb"></div>
+
+				<img :src="codeInfo" alt="" v-if="codeInfo" />
+				<image src="/static/loading_pic.gif" alt="" v-else />
 
 			</div>
-			<div class="codeBox">
 
+			<img v-else
+				style="margin-top: 100rpx;margin-left: 50%;transform: translateX(-50%);width: 250rpx;height: 250rpx;"
+				src="@/static/success.png" alt="" />
+
+			<div class="fresh">
+				<span>刷新</span>
+				<image @click="fresh" ref="hyh" id="img01" class="shuaxin" :class="{'go':addRotate}"
+					src="/static/newIndex/change.png" style="width: 32rpx;height:28rpx;">
+				</image>
+			</div>
+			<div class="btn2" v-if="is_wx" @click="handleDw(codeInfo)">
+				保存二维码图片
 			</div>
 		</div>
 	</view>
@@ -21,15 +57,30 @@
 	export default {
 		data() {
 			return {
+				addRotate: false,
 				content: '',
 				type: '',
 				title: '',
 				tobheight: 45,
 				platform: this.$platform.get(),
-				isLoading: true
+				isLoading: true,
+
+
+				codeInfo: '',
+
+				loginTxt: '未登录',
+
+				timer: null,
+
+				is_wx: false,
+				isPc: false,
+				isDowload: false,
+				userInfo: {
+					robot_is_login: 0
+				}
 			}
 		},
-		onLoad(e) {
+		async onLoad(e) {
 			if (e && e.type) {
 				if (this.platform == 'wxMiniProgram') {
 					var menumtop = uni.getMenuButtonBoundingClientRect().top - uni.getSystemInfoSync().statusBarHeight
@@ -37,7 +88,188 @@
 					this.tobheight = (menumtop + paddingtop + uni.getMenuButtonBoundingClientRect().height)
 				}
 			}
+
+
+			const userAgent = navigator.userAgent.toLowerCase();
+			if (/ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(userAgent)) {
+				// 移动端
+				console.log('移动端')
+				this.isPc = false
+			} else {
+				// pc端
+				this.isPc = true
+				console.log('PC端')
+			}
+			// console.log('1213', download);
+			this.is_wx = this.is_weixin()
+
+		},
+
+		onShow() {
+			this.getUserInfo()
+		},
+		beforeDestroy() {
+			console.log('beforeDestroy()---------------------');
+			clearInterval(this.timer)
+		},
+		onHide() {
+			console.log('onHide()---------------------');
+			// 清除定时器
+			clearInterval(this.timer)
 		},
+		methods: {
+			fresh() {
+				clearInterval(this.timer)
+				this.getCodeData()
+				this.addRotate = true
+				setTimeout((item, index) => {
+					this.addRotate = false
+				}, 1000)
+			},
+			// 判断是否是微信浏览器
+			is_weixin() {
+				var ua = window.navigator.userAgent.toLowerCase();
+				if (ua.match(/MicroMessenger/i) == 'micromessenger') {
+					console.log('微信浏览器');
+					return true;
+				} else {
+					console.log("不是微信浏览器");
+					return false;
+				}
+			},
+			async getCodeData() {
+				if (!uni.getStorageSync('token')) {
+					return
+				}
+				let res1 = await this.$http('robot.createRobot', {})
+				if (res1.code == 0) {
+					// this.draftList = res1.data
+					this.codeInfo = res1.msg.wxRobotLoginUrl
+					console.log('机器人二维码返回值:', res1, this.codeInfo);
+
+
+					let _this = this
+					this.timer = setInterval(() => {
+						_this.getCodeState()
+					}, 3000)
+					// this.loginTxt = '已登录'
+				} else {
+					uni.showToast({
+						title: res1.msg,
+						icon: 'none'
+					})
+				}
+			},
+
+
+
+			async getCodeState() {
+				if (!uni.getStorageSync('token')) {
+					return
+				}
+				let res1 = await this.$http('robot.checkRobotIsScan', {})
+				console.log('机器人二维码状态返回值:', res1);
+				if (res1.code == 0) {
+					// this.draftList = res1.data
+					this.loginTxt = '已扫码'
+					this.getUserInfo()
+					clearInterval(this.timer)
+				} else {
+					// uni.showToast({
+					// 	title: res1.msg,
+					// 	icon: 'none'
+					// })
+				}
+			},
+
+			async getUserInfo() {
+				if (!uni.getStorageSync('token')) {
+					return
+				}
+				let res1 = await this.$http('robot.info', {})
+				console.log('机器人用户状态返回值:', res1, res1.data);
+				if (res1.code == 0) {
+					this.userInfo = res1.data
+					if (res1.data.robot_is_login == 1) {
+						this.loginTxt = '已登录'
+						clearInterval(this.timer)
+					} else {
+						this.getCodeData()
+					}
+				} else {
+					uni.showToast({
+						title: res1.msg,
+						icon: 'none'
+					})
+				}
+			},
+
+			async handleDw(url) {
+				let _this = this
+
+				const detectDeviceType = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i
+					.test(
+						navigator.userAgent) ? false : true;
+				if (this.is_wx) {
+					// 微信内置浏览器
+					// this.downLoad2(this.delItem.url)
+					let _that = this
+					uni.showModal({
+						title: '温馨提示',
+						content: '微信内置浏览器不支持图片下载,请长按图片以保存到手机',
+						confirmText: '知道了',
+						confirmColor: '#207CF7',
+						success: function(res) {
+
+						}
+					})
+					return
+				} else {
+					if (detectDeviceType()) {
+						let _this = this
+						// PC端
+						// this.delItem.url = 'http://www.liwantao.top/test.mp4'
+						uni.downloadFile({
+							url, //文件链接
+							timeout: 99999999,
+							success: (res) => {
+								if (res.statusCode === 200) {
+									var oA = document.createElement("a");
+									oA.download = '数智员工登录二维码'; // 设置下载的文件名,默认是'下载'	
+									oA.href = res.tempFilePath; //临时路径再保存到本地
+									document.body.appendChild(oA);
+									oA.click();
+									oA.remove(); // 下载之后把创建的元素删除
+								}
+							},
+							fail: (err) => {
+								// console.log(_this.show, _this.isDowload, _this.progress, err);
+								uni.showToast({
+									icon: 'none',
+									mask: true,
+									title: '失败请重新下载',
+								});
+							},
+						})
+
+					} else {
+						// 其他移动端浏览器
+						// window.open(this.delItem.url)
+
+						let _this = this
+						// this.delItem.url = 'http://www.liwantao.top/test.mp4'
+
+						var oA = document.createElement("a");
+						oA.download = '数智员工登录二维码';
+						oA.href = url;
+						document.body.appendChild(oA);
+						oA.click();
+						oA.remove();
+					}
+				}
+
+			}
+		}
 	}
 </script>
 

+ 61 - 0
pages/index/index.scss

xqd
@@ -1,3 +1,64 @@
+.outer{
+	position: relative;
+	.leadBg{
+		position: absolute;
+		width: 100vw;
+		height: 100vh;
+		left: 0;
+		top: 0;
+		z-index: 9999;
+		background: rgba(0, 0, 0, .69);
+		// padding-left: 38rpx;
+		// padding-right: 38rpx;
+		
+		display: flex;
+		justify-content: center;
+		.leadBox1{
+			// margin-bottom: 138rpx;
+			width: 646rpx;
+			height: 842rpx;
+			background-image: url(@/static/index_lead1.png);
+			background-size: cover;
+			margin-top: 350rpx;
+			position: relative;
+			
+			.nextBtn{
+				width: 350rpx;
+				height: 140rpx;
+				// background: red;
+				
+				position: absolute;
+				right: 0;
+				bottom: 0rpx;
+			}
+		}
+		.leadBox2{
+			width: 634rpx;
+			// width: 100%;
+			height: 1226rpx;
+			background-image: url(@/static/index_lead2.png);
+			background-size: cover;
+			// margin-top: 400rpx;
+			// position: relative;
+			
+			margin-left: -60rpx;
+			position: absolute;
+			
+			bottom: 0;
+			
+			.nextBtn{
+				width: 350rpx;
+				height: 140rpx;
+				// background: green;
+				position: absolute;
+				right: 0;
+				bottom:330rpx;
+			}
+		}
+	}
+}
+
+
 .subsection {
 		margin: 0rpx 25rpx 0;
 		position: fixed;

+ 31 - 1
pages/index/index.vue

xqd xqd xqd xqd xqd
@@ -1,5 +1,5 @@
 <template>
-	<view>
+	<view class="outer">
 		<!-- <view class="subsection">
 			<tn-subsection :list="subsectionlist" mode="button" :borderRadius="50"
 				animationType="cubic-bezier" bold :height="90" @change="getsubsection"></tn-subsection>
@@ -59,6 +59,20 @@
 		<u-modal @cancel="handleCancel" @confirm="handleConfirm" cancelText='退出登录' showCancelButton :show="showFixInfo"
 			confirmColor="#26b3a0" confirmText="完善信息" title="请完善个人手机号信息后使用本应用"
 			content='您已充值,但未绑定手机号,请完善信息以方便为您提供进一步的服务'></u-modal>
+
+
+
+		<!-- 初始引导界面 -->
+		<div class="leadBg" v-if="showInitLead">
+			<div class="leadBox1" v-if="showLead1">
+				<div class="nextBtn" @click="nextLead">
+				</div>
+			</div>
+			<div class="leadBox2" v-if="showLead2">
+				<div class="nextBtn" @click="finishLead">
+				</div>
+			</div>
+		</div>
 	</view>
 </template>
 
@@ -79,6 +93,10 @@
 		components: {},
 		data() {
 			return {
+				showInitLead: false,
+				showLead2: false,
+				showLead1: true,
+
 				list: [],
 				drawList: [],
 				subsectionlist: ['StableDiffusion绘图', 'MidJourney绘图'],
@@ -93,6 +111,9 @@
 		},
 
 		onLoad(o) {
+			this.showInitLead = !uni.getStorageSync('showInitLead')
+			console.log("uni.getStorageSync('showInitLead')", uni.getStorageSync('showInitLead'));
+
 			// this.getRandomData()
 			if (o.uniacid) {
 				// if (uni.getStorageSync('uniacid')) {
@@ -148,6 +169,15 @@
 		},
 		methods: {
 			...mapActions(['getUserInfo', 'showAuthModal', 'getUserData', 'logout']),
+			nextLead() {
+				this.showLead1 = false
+				this.showLead2 = true
+			},
+			finishLead() {
+				this.showInitLead = false
+				this.showLead2 = false
+				uni.setStorageSync('showInitLead', true)
+			},
 			handleCancel() {
 				this.showFixInfo = false
 				this.logout()

+ 57 - 0
pages/painting/draw.scss

xqd
@@ -1,3 +1,60 @@
+.outer{
+	position: relative;
+	.leadBg{
+		position: absolute;
+		width: 100vw;
+		height: 100vh;
+		left: 0;
+		top: 0;
+		z-index: 9999;
+		background: rgba(0, 0, 0, .69);
+		// padding-left: 38rpx;
+		// padding-right: 38rpx;
+		
+		display: flex;
+		justify-content: center;
+		.leadBox1{
+			// margin-bottom: 138rpx;
+			width: 674rpx;
+			height: 1134rpx;
+			background-image: url(@/static/hh_lead1.png);
+			background-size: cover;
+			margin-top: 100rpx;
+			position: relative;
+			
+			.nextBtn{
+				width: 350rpx;
+				height: 140rpx;
+				// background: red;
+				
+				position: absolute;
+				right: 0;
+				bottom: 0rpx;
+			}
+		}
+		.leadBox2{
+			width: 674rpx;
+			// width: 100%;
+			height: 902rpx;
+			background-image: url(@/static/hh_lead_2.png);
+			background-size: cover;
+			margin-top: 200rpx;
+			position: relative;
+			
+			.nextBtn{
+				width: 350rpx;
+				height: 140rpx;
+				// background: green;
+				position: absolute;
+				right: 0;
+				top:250rpx;
+			}
+		}
+	}
+}
+
+
+
 .bg {
 		position: fixed;
 		top: 0;

+ 31 - 1
pages/painting/draw.vue

xqd xqd xqd xqd xqd
@@ -1,5 +1,5 @@
 <template>
-	<view>
+	<view class="outer">
 		<view style="color: #fff;">
 			<tn-nav-bar backgroundColor="#207CF7" :bottomShadow="false">AI绘图</tn-nav-bar>
 			<view :style="{ height: tobheight + 'px' }"></view>
@@ -304,6 +304,20 @@
 			@concernclose="concernclose"></wike-modal-qrcode>
 		<!-- <wike-tabbar :onTabbar="true" :isShowAnimate="true"></wike-tabbar> -->
 		<!-- <u-picker :show="showmode" :columns="modelslist" keyName="name" @cancel="showmode = false"></u-picker> -->
+
+
+
+		<!-- 绘画引导界面 -->
+		<div class="leadBg" v-if="showHuiHuaLead">
+			<div class="leadBox1" v-if="showLead1">
+				<div class="nextBtn" @click="nextLead">
+				</div>
+			</div>
+			<div class="leadBox2" v-if="showLead2">
+				<div class="nextBtn" @click="finishLead">
+				</div>
+			</div>
+		</div>
 	</view>
 </template>
 
@@ -323,6 +337,10 @@
 		components: {},
 		data() {
 			return {
+				showHuiHuaLead: false,
+				showLead2: false,
+				showLead1: true,
+
 				signShow: false,
 				signTitle: '',
 				tobheight: 45,
@@ -429,6 +447,9 @@
 			...mapGetters(['appInfo', 'homeTemplate', 'userInfo', 'isLogin', 'userData'])
 		},
 		onLoad() {
+			this.showHuiHuaLead = !uni.getStorageSync('showHuiHuaLead')
+			console.log("uni.getStorageSync('showHuiHuaLead')", uni.getStorageSync('showHuiHuaLead'));
+
 			// mj优先展示
 			this.getsubsection({
 				index: 1
@@ -512,6 +533,15 @@
 		},
 		methods: {
 			...mapActions(['appInit', 'logout', 'getUserInfo', 'getUserData']),
+			nextLead() {
+				this.showLead1 = false
+				this.showLead2 = true
+			},
+			finishLead() {
+				this.showHuiHuaLead = false
+				this.showLead2 = false
+				uni.setStorageSync('showHuiHuaLead', true)
+			},
 			signSign() {
 				uni.navigateTo({
 					url: '/pages/user/member/member'

+ 2 - 4
pages/painting/painting.vue

xqd xqd xqd
@@ -228,7 +228,7 @@
 			content='您已充值,但未绑定手机号,请完善信息以方便为您提供进一步的服务'></u-modal>
 
 
-		<view class="leadPic" v-if="showlead">
+		<!-- <view class="leadPic" v-if="showlead">
 			<view class="lead1Box" v-show="showlead1">
 				<view class="lead1">
 					<image src="/static/images/lead1.png" mode=""></image>
@@ -236,8 +236,6 @@
 					</view>
 				</view>
 			</view>
-
-
 			<view class="lead2Box" v-show="!showlead1">
 				<view class="lead2">
 					<image src="/static/images/lead2.png" mode=""></image>
@@ -245,7 +243,7 @@
 					</view>
 				</view>
 			</view>
-		</view>
+		</view> -->
 	</view>
 </template>
 

+ 6 - 0
pages/signin/signin.vue

xqd xqd
@@ -1,5 +1,10 @@
 <template>
 	<view>
+
+		<!-- <view style="color: #fff;z-index: 99999999;position: relative;">
+			<tn-nav-bar :bottomShadow="false" backgroundColor="#207CF7">数智员工</tn-nav-bar>
+			<view :style="{height: tobheight+'px'}"></view>
+		</view> -->
 		<view class="topbg u-flex align-center justify-center">
 			<view v-if="appInfo.time_member && appInfo.time_member == 1" class="u-flex package">会员套餐:<view>
 					{{ userData.is_validity == 1 ? (userData.vip_time == 9999?'永久':userData.countdown): 0 }}
@@ -137,6 +142,7 @@
 	export default {
 		data() {
 			return {
+				tobheight: 45,
 				plan: {},
 				h5share: false,
 				showshare: false,

+ 2 - 0
pages/user/user.scss

xqd
@@ -7,6 +7,8 @@
 	.cell{
 		padding-left: 20rpx!important;
 		padding-right: 20rpx!important;
+		
+		border-bottom: 1rpx solid #eee!important;
 	}
 	.cell_charge{
 	

+ 19 - 2
pages/user/user.vue

xqd xqd xqd
@@ -116,6 +116,13 @@
 			<!-- 用户功能 -->
 			<view class="com-item">
 				<view class="com-wrap">
+					<view class="cell" @click="toEmployee">
+						<view class="cell-left">
+							<u-icon :isJianBian="true" name="coupon-fill" color="#e83a30" size="22"></u-icon>
+							<view class="cell-text">数智员工</view>
+						</view>
+						<u-icon name="arrow-right" color="#9e9e9e" size="18"></u-icon>
+					</view>
 					<view class="cell" @click="showcarmi = true">
 						<view class="cell-left">
 							<u-icon :isJianBian="true" name="coupon-fill" color="#e83a30" size="22"></u-icon>
@@ -126,12 +133,12 @@
 					<view class="cell" @click="toRenwu">
 						<view class="cell-left">
 							<u-icon :isJianBian="true" name="coupon-fill" color="#e83a30" size="22"></u-icon>
-							<view class="cell-text">任务中心</view>
+							<view class="cell-text">每日任务</view>
 						</view>
 						<u-icon name="arrow-right" color="#9e9e9e" size="18"></u-icon>
 					</view>
 
-					<navigator v-for="(item, index) in userList" :key="index"
+					<navigator style="border-bottom: 1rpx solid #f8f8f8;" v-for="(item, index) in userList" :key="index"
 						:url="isLogin ? item.url : item.url=='custom'?'': '/pages/user/signin'" @click="getroute">
 
 						<!-- 免费课程 -->
@@ -711,6 +718,16 @@
 		methods: {
 			...mapActions(['getUserInfo', 'showAuthModal', 'getUserData', 'logout']),
 
+			toEmployee() {
+				if (!uni.getStorageSync('token')) {
+					return uni.navigateTo({
+						url: '/pages/user/signin'
+					})
+				}
+				uni.navigateTo({
+					url: '/pages/employee/index'
+				})
+			},
 			toRenwu() {
 				uni.navigateTo({
 					url: '/pages/signin/signin'

BIN
static/add_icon.png


BIN
static/caogao_icon.png


BIN
static/hh_lead1.png


BIN
static/hh_lead_2.png


BIN
static/images/createBg.png


BIN
static/index_lead1.png


BIN
static/index_lead2.png


BIN
static/loading_pic.gif


BIN
static/success.png


BIN
static/szr_icon.png


BIN
static/szr_icon_a.png


BIN
static/tiwen_icon.png


BIN
static/tiwen_icon_a.png


BIN
static/zuopin_icon.png