李万涛 1 vuosi sitten
vanhempi
commit
0fbc5e4057

+ 44 - 0
common/request/apis.js

xqd
@@ -110,6 +110,50 @@ export default {
 		}
 	},
 
+	digitalMen: {
+		workList: {
+			url: "Digit/list",
+			auth: false,
+			method: "POST",
+		},
+		generateWork: {
+			url: "Digit/addDigit",
+			auth: true,
+			method: "POST",
+		},
+		delWork: {
+			url: "Digit/deleteDigit",
+			auth: true,
+			method: "POST",
+		},
+		roleList: {
+			url: "Digit/getRoleList",
+			auth: false,
+			method: "POST",
+		},
+
+		voiceList: {
+			url: "Digit/getAudioList",
+			auth: false,
+			method: "POST",
+		},
+
+		backList: {
+			url: "Digit/getBackList",
+			auth: false,
+			method: "POST",
+		},
+		draftList: {
+			url: "Digit/draftList",
+			auth: true,
+			method: "POST",
+		},
+		getBg: {
+			url: "Digit/getBackImageByRole",
+			auth: false,
+			method: "POST",
+		},
+	},
 	gallery: {
 		getOpensdDetail: {
 			url: "gallery/getOpensdDetail",

+ 3 - 2
common/request/request.js

xqd
@@ -25,8 +25,9 @@
 if (process.env.NODE_ENV === 'development') {
 	var siteInfo = {
 		uniacid: uni.getStorageSync('uniacid') || 5059,
-		siteroot: "https://meta.swdz.com/index.php/",
-		root: "https://meta.swdz.com/",
+		// siteroot: "https://meta.swdz.com/index.php/",
+		siteroot: "https://t3.scxxq.cn/index.php/",
+		root: "https://t3.scxxq.cn/",
 	};
 } else {
 	var siteInfo = {

+ 16 - 10
components/wike-tabbar/wike-tabbar.vue

xqd xqd
@@ -82,13 +82,16 @@
 					bgColor: "#ffffff",
 					list: [{
 							pagePath: "/",
+							// pagePath: "/pages/painting/painting",
 							// navigateType: "switchTab",
 							navigateType: "navigateTo",
 							showBig: false,
-							fontClass: "tn-icon-home-capsule",
-							"iconPath": "/static/images/tabs/index.png",
-							"selectedIconPath": "/static/images/tabs/indexs.png",
-							"text": "首页"
+
+							fontClass: "tn-icon-image",
+							"iconPath": "/static/images/tabs/joblist.png",
+							"selectedIconPath": "/static/images/tabs/joblists.png",
+							"text": "绘画"
+
 						},
 						{
 							pagePath: "/pages/template/template",
@@ -101,21 +104,24 @@
 						},
 						{
 							pagePath: "/pages/painting/painting",
+							// pagePath: "/",
 							navigateType: "navigateTo",
 							showBig: false,
-							fontClass: "tn-icon-image",
-							"iconPath": "/static/images/tabs/joblist.png",
-							"selectedIconPath": "/static/images/tabs/joblists.png",
-							"text": "绘画"
+							fontClass: "tn-icon-home-capsule",
+							"iconPath": "/static/images/tabs/index.png",
+							"selectedIconPath": "/static/images/tabs/indexs.png",
+							"text": "首页"
 						},
 						{
-							pagePath: "/pages/signin/signin",
+							// pagePath: "/pages/signin/signin",
+							pagePath: "/pages/digitalMen/index",
 							navigateType: "navigateTo",
 							showBig: false,
 							fontClass: "tn-icon-funds",
 							"iconPath": "/static/images/tabs/joblist.png",
 							"selectedIconPath": "/static/images/tabs/joblists.png",
-							"text": "任务"
+							// "text": "任务"
+							"text": "数字人"
 						},
 						{
 							pagePath: "/pages/user/user",

+ 0 - 1
index.html

xqd
@@ -22,6 +22,5 @@
 		<script type="module" src="/main.js"></script>
 		<script>
 		</script>
-
 	</body>
 </html>

+ 96 - 96
manifest.json

xqd
@@ -1,97 +1,97 @@
 {
-    "name" : "AI智能问答机器人",
-    "appid" : "__UNI__CE99D9E",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    /* 5+App特有相关 */
-    "app-plus" : {
-        "usingComponents" : true,
-        "nvueStyleCompiler" : "uni-app",
-        "compilerVersion" : 3,
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        /* 模块配置 */
-        "modules" : {},
-        /* 应用发布信息 */
-        "distribute" : {
-            /* android打包配置 */
-            "android" : {
-                "permissions" : [
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ]
-            },
-            /* ios打包配置 */
-            "ios" : {},
-            /* SDK配置 */
-            "sdkConfigs" : {}
-        }
-    },
-    /* 快应用特有相关 */
-    "quickapp" : {},
-    /* 小程序特有相关 */
-    "mp-weixin" : {
-        "appid" : "wx98ab2939999e13de",
-        "setting" : {
-            "urlCheck" : false,
-            "es6" : true,
-            "minified" : true,
-            "postcss" : true
-        },
-        "usingComponents" : true,
-        "permission" : {}
-    },
-    "mp-alipay" : {
-        "usingComponents" : true
-    },
-    "mp-baidu" : {
-        "usingComponents" : true
-    },
-    "mp-toutiao" : {
-        "usingComponents" : true
-    },
-    "uniStatistics" : {
-        "enable" : false
-    },
-    "optimization" : {
-        "subPackages" : true
-    },
-    "vueVersion" : "2",
-    "h5" : {
-        "router" : {
-            "mode" : "history",
-            "base" : "/addons/wike_aging/public/h5/"
-        },
-        "title" : "",
-        "devServer" : {
-            "https" : false
-        },
-        "template" : "D:/desktop/newFanyun2/newFanyun/template.h5.html",
-        "sdkConfigs" : {
-            "maps" : {
-                "qqmap" : {
-                    "key" : "EDJBZ-G5CCP-RCNDN-VROAR-KDCV2-J5FK4"
-                }
-            }
-        }
-    }
-}
+	"name": "AI智能问答机器人",
+	"appid": "__UNI__CE99D9E",
+	"description": "",
+	"versionName": "1.0.0",
+	"versionCode": "100",
+	"transformPx": false,
+	/* 5+App特有相关 */
+	"app-plus": {
+		"usingComponents": true,
+		"nvueStyleCompiler": "uni-app",
+		"compilerVersion": 3,
+		"splashscreen": {
+			"alwaysShowBeforeRender": true,
+			"waiting": true,
+			"autoclose": true,
+			"delay": 0
+		},
+		/* 模块配置 */
+		"modules": {},
+		/* 应用发布信息 */
+		"distribute": {
+			/* android打包配置 */
+			"android": {
+				"permissions": [
+					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
+					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+					"<uses-feature android:name=\"android.hardware.camera\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+				]
+			},
+			/* ios打包配置 */
+			"ios": {},
+			/* SDK配置 */
+			"sdkConfigs": {}
+		}
+	},
+	/* 快应用特有相关 */
+	"quickapp": {},
+	/* 小程序特有相关 */
+	"mp-weixin": {
+		"appid": "wx98ab2939999e13de",
+		"setting": {
+			"urlCheck": false,
+			"es6": true,
+			"minified": true,
+			"postcss": true
+		},
+		"usingComponents": true,
+		"permission": {}
+	},
+	"mp-alipay": {
+		"usingComponents": true
+	},
+	"mp-baidu": {
+		"usingComponents": true
+	},
+	"mp-toutiao": {
+		"usingComponents": true
+	},
+	"uniStatistics": {
+		"enable": false
+	},
+	"optimization": {
+		"subPackages": true
+	},
+	"vueVersion": "2",
+	"h5": {
+		"router": {
+			"mode": "history",
+			"base": "/addons/wike_aging/public/h5/"
+		},
+		"title": "",
+		"devServer": {
+			"https": false
+		},
+		"template": "template.h5.html",
+		"sdkConfigs": {
+			"maps": {
+				"qqmap": {
+					"key": "EDJBZ-G5CCP-RCNDN-VROAR-KDCV2-J5FK4"
+				}
+			}
+		}
+	}
+}

+ 26 - 14
pages.json

xqd xqd xqd
@@ -24,9 +24,19 @@
 				"auth": false,
 				"title": ""
 			}
-		}
-
-		, {
+		}, {
+			"path": "pages/painting/painting",
+			"style": {
+				"navigationBarTitleText": "AI绘画",
+				"navigationBarBackgroundColor": "#F5FFFD",
+				// #ifdef H5
+				"navigationStyle": "custom",
+				// #endif
+				"enablePullDownRefresh": false,
+				"backgroundColor": "#fff"
+			}
+		},
+		{
 			"path": "pages/user/user",
 			"style": {
 				"navigationBarTitleText": "个人中心",
@@ -145,6 +155,19 @@
 				"auth": false,
 				"title": ""
 			}
+		}, {
+			"path": "pages/user/freeScore/index",
+			"style": {
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#ffffff",
+				"navigationBarTextStyle": "white",
+				"navigationStyle": "custom"
+			},
+			"meta": {
+				"auth": false,
+				"title": ""
+			}
 		}
 
 		,
@@ -235,17 +258,6 @@
 			}
 		},
 		{
-			"path": "pages/painting/painting",
-			"style": {
-				"navigationBarTitleText": "AI绘画",
-				"navigationBarBackgroundColor": "#F5FFFD",
-				// #ifdef H5
-				"navigationStyle": "custom",
-				// #endif
-				"enablePullDownRefresh": false,
-				"backgroundColor": "#fff"
-			}
-		}, {
 			"path": "pages/user/takenotes/takenotes",
 			"style": {
 				"navigationBarTitleText": "",

+ 11 - 5
pages/digitalMen/generate/index.vue

xqd xqd xqd xqd xqd
@@ -598,7 +598,8 @@
 			console.log('传过来的草稿项:', this.detail);
 		},
 		async onShow() {
-			let res = await roleList({})
+			// let res = await roleList({})
+			let res = await this.$http('digitalMen.roleList', {})
 			if (res.code == 0) {
 				// this.roleList = res.msg
 				this.roleList2 = res.msg
@@ -634,7 +635,8 @@
 				})
 			}
 
-			let res1 = await voiceList({})
+			// let res1 = await voiceList({})
+			let res1 = await this.$http('digitalMen.voiceList', {})
 			if (res1.code == 0) {
 				// this.roleList = res.data
 				this.allList = res1.msg
@@ -653,7 +655,8 @@
 				})
 			}
 
-			let res3 = await backList({})
+			// let res3 = await backList({})
+			let res3 = await this.$http('digitalMen.backList', {})
 			if (res3.code == 0) {
 				this.bgPicList = res3.msg
 				this.bgPicList2 = res3.msg
@@ -1036,7 +1039,9 @@
 
 				console.log('保存数字人草稿参数:', parmas);
 				// return
-				let res = await generateWork(parmas)
+				// let res = await generateWork(parmas)
+
+				let res = await this.$http('digitalMen.generateWork', parmas)
 				if (res.code == 0) {
 					uni.showToast({
 						title: '保存成功!',
@@ -1162,7 +1167,8 @@
 				this.robotName = ''
 				this.textAreaValue = ""
 				this.audioUrl = ''
-				let res = await generateWork(parmas)
+				// let res = await generateWork(parmas)
+				let res = await this.$http('digitalMen.generateWork', parmas)
 				if (res.code == 0) {
 					uni.showToast({
 						title: '创建数字人成功!',

+ 3 - 1
pages/digitalMen/index.scss

xqd
@@ -4,7 +4,9 @@ page {
 	.pos{
 		height: 45px;
 	}
-
+.pos2{
+		height: 80px;
+	}
 	view {
 		box-sizing: border-box;
 	}

+ 35 - 8
pages/digitalMen/index.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -87,6 +87,11 @@
 				</view>
 			</view>
 
+			<wike-tabbar2 :currTabIndex='3' v-if="appInfo.page_template == 3" :is_aipainting="appInfo.is_aipainting"
+				:onTabbar="true" :isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar2>
+			<wike-tabbar :currTabIndex='3' v-else :onTabbar="true" :is_aipainting="appInfo.is_aipainting"
+				:isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar>
+
 
 
 
@@ -106,6 +111,10 @@
 				:columns="columns" title="更多" confirmColor="" @cancel="showMoreMenu=false" @confirm="handleConfirm"
 				@close="handleClosePicker"></u-picker>
 			<!-- <wike-tabbar :onTabbar="true" :isShowAnimate="true"></wike-tabbar> -->
+
+
+			<view class="pos2">
+			</view>
 		</view>
 	</view>
 </template>
@@ -121,6 +130,12 @@
 	import {
 		downLoad3
 	} from '@/utils/download3.js'
+	import {
+		mapMutations,
+		mapActions,
+		mapState,
+		mapGetters
+	} from 'vuex';
 	export default {
 		data() {
 			return {
@@ -151,6 +166,7 @@
 			};
 		},
 		computed: {
+			...mapGetters(['appInfo', 'userInfo', 'userData', 'isLogin']),
 			isLogin() {
 				if (uni.getStorageSync('token')) {
 					return true
@@ -167,8 +183,12 @@
 
 		},
 		onLoad(o) {
-
-
+			// console.log('digitalMen.workList----onLoad(o)------------');
+			// this.$http('digitalMen.workList', {}).then(res => {
+			// 	if (res.code == 0) {
+			// 		console.log('测试数字人接口是否通畅------------------2');
+			// 	}
+			// });
 		},
 		onHide() {
 			// 清除定时器
@@ -176,11 +196,10 @@
 		},
 		onShow() {
 			// console.log('当前时间戳:', Date.now() + 180000);
-
 			let _this = this
 			if (getApp().from == 'create') {
 				_this.timer = setInterval(async () => {
-					let res = await workList({})
+					let res = await _this.$http('digitalMen.workList', {})
 					if (res.code == 0) {
 						// _this.reqTimes += 1
 						_this.workList = res.data
@@ -269,7 +288,11 @@
 					content: '是否确认删除:' + item.name + '?',
 					success: async (res1) => {
 						if (res1.confirm) {
-							let res = await delWork({
+							// let res = await delWork({
+							// 	id: item.id
+							// })
+
+							let res = await this.$http('digitalMen.delWork', {
 								id: item.id
 							})
 							if (res.code == 0) {
@@ -344,7 +367,7 @@
 				}
 			},
 			async getIndexData() {
-				let res = await workList({})
+				let res = await this.$http('digitalMen.workList', {})
 				if (res.code == 0) {
 					// uni.stopPullDownRefresh()
 					this.workList = res.data
@@ -366,7 +389,7 @@
 				if (!uni.getStorageSync('token')) {
 					return
 				}
-				let res1 = await draftList({})
+				let res1 = await this.$http('digitalMen.draftList', {})
 				if (res1.code == 0) {
 					// uni.stopPullDownRefresh()
 					this.draftList = res1.data
@@ -439,7 +462,11 @@
 						content: '是否确认删除:' + _this.delItem.name + '?',
 						success: async (res1) => {
 							if (res1.confirm) {
-								let res = await delWork({
+								// let res = await delWork({
+								// 	id: _this.delItem.id
+								// })
+
+								let res = await _this.$http('digitalMen.delWork', {
 									id: _this.delItem.id
 								})
 								if (res.code == 0) {

+ 37 - 1
pages/employee/index.vue

xqd
@@ -1,8 +1,44 @@
 <template>
-	<iframe src="https://chat.mddai.cn/" frameborder="0"></iframe>
+	<!-- <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="{height: tobheight+'px'}"></view>
+		</view>
+
+		<div class="employBox">
+			<div class="stateBox">
+
+			</div>
+			<div class="codeBox">
+
+			</div>
+		</div>
+	</view>
 </template>
 
 <script>
+	export default {
+		data() {
+			return {
+				content: '',
+				type: '',
+				title: '',
+				tobheight: 45,
+				platform: this.$platform.get(),
+				isLoading: true
+			}
+		},
+		onLoad(e) {
+			if (e && e.type) {
+				if (this.platform == 'wxMiniProgram') {
+					var menumtop = uni.getMenuButtonBoundingClientRect().top - uni.getSystemInfoSync().statusBarHeight
+					var paddingtop = uni.getSystemInfoSync().statusBarHeight + menumtop
+					this.tobheight = (menumtop + paddingtop + uni.getMenuButtonBoundingClientRect().height)
+				}
+			}
+		},
+	}
 </script>
 
 <style lang="scss">

+ 83 - 515
pages/index/index.scss

xqd
@@ -1,544 +1,112 @@
-.top-notice {
+.subsection {
+		margin: 0rpx 25rpx 0;
 		position: fixed;
-		top: 0;
-		left: 0;
-		width: 100%;
+		width: 93.8%;
+		top: 30rpx;
+		// top: 30rpx;
+		z-index: 9999;
 	}
 
-	.form {
-		flex-direction: column;
-
-		.title {
-			font-size: 38rpx;
-			font-weight: bolder;
-			margin: 15rpx 35rpx 0;
-		}
-
-		.desc {
-			font-size: 28rpx;
-			color: #666;
-			margin: 15rpx 35rpx;
-		}
-
-		.btn-group {
-			width: 80%;
-			margin-top: 10%;
-
-			.btn {
-				margin: 30rpx 0rpx;
-
-				.u-button {
-					height: 100rpx;
-				}
+	/* 瀑布流*/
+	.product__item {
+		background-color: #FFFFFF;
+		overflow: hidden;
+		margin: 0 10rpx;
+		margin-bottom: 20rpx;
+		// box-shadow: 0rpx 0rpx 30rpx 0rpx rgba(0, 0, 0, 0.07);
+
+		.item {
+
+			/* 图片 start */
+			&__image {
+				width: 100%;
+				height: auto;
+				background-color: #FFFFFF;
+				border: 1rpx solid #F8F7F8;
+				// border-radius: 20rpx;
+				overflow: hidden;
 			}
-		}
-	}
-
-	.directask {
-		padding: 30rpx 18rpx 200rpx;
-		padding-top: 0;
-		// padding-left: 0;
-		// border-top: 1px solid #ededed;
 
-		.askaquestion {
-			font-size: 32rpx;
-			margin-bottom: 25rpx;
+			/* 图片 end */
 
-			image {
-				width: 32rpx;
-				height: 32rpx;
-				margin-right: 12rpx;
+			/* 内容 start */
+			&__data {
+				padding: 14rpx 0rpx;
 			}
-		}
-
-		.textarea {
-			margin-top: 30rpx;
-			// margin-bottom: 35rpx;
-			margin-bottom: 0rpx;
-			padding: 0rpx 30rpx 60rpx 30rpx;
-			padding-bottom: 30rpx;
-			width: 96%;
-			margin-left: 2%;
 
-			.u-textarea {
-				border-radius: 20rpx;
-				background:#E9EFF4;
+			/* 标题 start */
+			&__title-container {
+				text-align: justify;
+				line-height: 38rpx;
+				vertical-align: middle;
 			}
 
-			.operate {
-				justify-content: flex-end;
-
-				.empty {
-					margin-right: 30rpx;
-					border: 1px solid #9e9e9e;
-					color: #9e9e9e;
-					padding: 12rpx 42rpx;
-					border-radius: 10rpx;
-				}
-
-				.submit {
-					padding: 12rpx 42rpx;
-					border-radius: 10rpx;
-					border: 1px solid #26b3a0;
-					background: linear-gradient(to right, #00ca88, #00BCD4);
-					color: #fff;
-				}
-
-				.hoversubmit {
-					background: #f7f7f7;
-					color: #acacb3;
-				}
+			&__store-type {
+				height: 28rpx;
+				font-size: 20rpx;
+				position: relative;
+				display: inline-flex;
+				align-items: center;
+				justify-content: center;
+				padding: 4rpx;
+				border-radius: 6rpx;
+				white-space: nowrap;
+				text-align: center;
+				top: -2rpx;
+				margin-right: 6rpx;
 			}
-		}
-
-		.case {
-			color: #26b3a0;
-			background: #f5f8f7;
-			width: 100%;
-			height: 80rpx;
-			line-height: 80rpx;
-			font-size: 30rpx;
-			padding-left: 30rpx;
-			border-radius: 10rpx;
-			margin: 25rpx 0;
-			border-radius: 10rpx;
-			overflow: hidden;
-			display: -webkit-box !important;
-			text-overflow: ellipsis;
-			word-break: break-all;
-			-webkit-line-clamp: 1;
-			-webkit-box-orient: vertical !important;
-		}
 
-		.helpme {
-			background: #EEF1F4;
-			
-			border-radius: 20rpx;
-			padding: 30rpx;
-			width: 48%;
-			margin-bottom: 25rpx;
-
-			// height: 92px;
-			.title {
+			&__title {
 				font-size: 30rpx;
-				font-weight: bold;
-				margin-bottom: 18rpx;
-				color: #000;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				white-space: nowrap
 			}
 
-			.sub_title {
-				color: #8f9ca2;
-				font-size: 24rpx;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-box-orient: vertical;
-				-webkit-line-clamp: 2;
-			}
-		}
-	}
+			/* 标题 end */
 
-	.wxad {
-		border-radius: 20rpx;
-		overflow: hidden;
-		margin-bottom: 24rpx;
-	}
-
-	.cu-dialog {
-		position: fixed;
-		top: 60rpx;
-		left: 100rpx;
-	}
-
-	.guide-img {
-		width: 580rpx;
-		height: 430rpx;
-	}
-
-	.select {
-		font-weight: bold;
-		font-size: 32rpx;
-		margin: 30rpx;
-	}
-
-	.model_view {
-		margin: 30rpx;
-
-		.modelname {
-			font-size: 32rpx;
-			font-weight: bold;
-			width: 56%;
-
-			.name {
-				overflow: hidden;
-				white-space: nowrap;
-				text-overflow: ellipsis;
-			}
-
-			.modeldetails {
-				font-size: 26rpx;
-				font-weight: 500;
-				margin-top: 12rpx;
-				color: #9e9e9e;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-line-clamp: 2;
-				-webkit-box-orient: vertical;
-			}
-		}
-
-		.modelselect {
-			background: #03a9f4;
-			border-radius: 14rpx;
-			color: #fff;
-			width: 58px;
-			height: 30px;
-			line-height: 30px;
-			text-align: center;
-		}
-	}
-	// 首页修改
-	.newTop{
-		// height: 414rpx;
-		background: url('@/static/newIndex/topBg.png') no-repeat;
-		background-size: 100% 100%;
-		// margin-bottom: 42rpx;
-		margin-bottom: 0rpx;
-		.topTitle{
-			display: flex;
-			justify-content: center;
-			// padding-top: 53rpx;
-			// margin-bottom: 32rpx;
-			font-size: 34rpx;
-			font-family: PingFangSC-Medium, PingFang SC;
-			font-weight: 500;
-			color: #080F18;
-		}
-		
-		.topGridMenu{
-			display: flex;
-			justify-content: space-around;
-			margin-top: 26rpx;
-			.item{
+			/* 标签 start */
+			&__tags-container {
 				display: flex;
-				flex-direction: column;
+				flex-direction: row;
+				flex-wrap: nowrap;
 				align-items: center;
-				image{
-					width: 120rpx;
-					height: 120rpx;
-				}
-				.label{
-					margin-top: 6rpx;
-					font-size: 24rpx;
-					font-family: PingFang-SC-Bold, PingFang-SC;
-					font-weight: bold;
-					color: #333333;
-				}
+				justify-content: flex-start;
 			}
-		}
-	}
-	
-	.addBg{
-		background: url('@/static/newIndex/quesBg.png') no-repeat;
-		background-size: 100% 100%;
-		width: 100%;
-		// height: 558rpx;
-		.quesTop{
-			height: 130rpx;
-			padding: 0 5%;
-			.quesTxt{
-				font-size: 36rpx;
-				font-family: PingFang-SC-Bold, PingFang-SC;
-				font-weight: bold;
-				color: #00355F;
-			}
-		}
-	}
-	
-	::v-deep .u-tag__text{
-		font-size: 24rpx;
-		font-family: PingFang-SC-Medium, PingFang-SC;
-		font-weight: 500;
-		color: #207CF7;
-	}
-	
-	.clearAndSumBtn{
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		margin-top: 24rpx;
-		.clearBox{
-			width: 276rpx;
-			height: 76rpx;
-			border-radius: 38rpx;
-			border: 2rpx solid #CCCCCC;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			font-size: 28rpx;
-			font-family: PingFang-SC-Medium, PingFang-SC;
-			font-weight: 500;
-			color: #666666;
-			// margin-right: 20rpx;
-			image{
-				width: 26rpx;
-				height: 30rpx;
-				margin-right: 8rpx;
-			}
-		}
-		.submit{
-			// width: 276rpx;
-			width: 85%;
-			height: 76rpx;
-			border-radius: 38rpx;
-			background: linear-gradient(90deg, $tc2 0%, $tc 100%);
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			font-size: 28rpx;
-			font-family: PingFang-SC-Medium, PingFang-SC;
-			font-weight: 500;
-			color: #FFFFFF;
-		}
-		.rClear{
-			width: 15%;
-			height: 100%;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-	}
-	
-	.hotTxt{
-		font-size: 36rpx;
-		font-family: PingFang-SC-Bold, PingFang-SC;
-		font-weight: bold;
-		color: #333333;
-	}
-	.change{
-		font-size: 28rpx;
-		font-family: PingFang-SC-Medium, PingFang-SC;
-		font-weight: 500;
-		color: #333333;
-		margin-right: 8rpx;
-	}
-	
-	.caseBox{
-		display: flex;
-		flex-wrap: wrap;
-		.caseitem{
-			background:#E6E9EE;
-			border-radius: 32rpx;
-			padding: 14rpx 48rpx;
-			display: inline-block;
-			font-size: 24rpx;
-			font-family: PingFang-SC-Medium, PingFang-SC;
-			font-weight: 500;
-			color: #333333;
-			margin-bottom: 16rpx;
-		}
-	}
-	
-	
-	
-	
-.addbox{
-	// width: 690rpx;
-	background: #FFFFFF;
-	box-shadow: 0rpx 4rpx 20rpx -4rpx rgba(15,125,190,0.2);
-	border-radius: 24rpx;
-	padding: 0 30rpx;
-	// padding-left: 30rpx;
-	// padding-right: 30rpx;
-	padding-top: 20rpx;
-	// margin-left: 50%;
-	// transform: translateX(-50%);	
-}
 
-.moreBox{
-	// width: 152rpx;
-	height: 48rpx;
-	background: #ECF0F3;
-	border-radius: 25rpx;
-	// opacity: 0.07;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	padding-right: 5rpx;
-	.moretxt{
-		font-size: 24rpx;
-		font-family: PingFang-SC-Medium, PingFang-SC;
-		font-weight: 600;
-		color: #00355F;
-	}
-}
+			&__tag {
+				margin: 10rpx;
+				color: #7C8191;
+				background-color: #F3F2F7;
+				padding: 4rpx 14rpx 6rpx;
+				border-radius: 10rpx;
+				font-size: 20rpx;
 
+				&:first-child {
+					margin-left: 0rpx !important;
+				}
+			}
 
-.bottomBox{
-	display: flex;
-	justify-content: space-between;
-	
-	.left{
-		overflow: hidden;
-		.title{
-			
-		}
-		.sub_title{
-			
+			/* 标签 end */
+			/* 内容 end */
 		}
 	}
-	.right{
-		
-	}
-}
-
-.mubanBox{
-	display: flex;
-	flex-wrap: wrap;
-	justify-content: space-between;
-}
-
-
 
-.modalTag{
-	background: #DDEBFF;
-	border-radius: 30rpx;
-	
-	display: flex;
-	align-items: center;
-	padding-left: 20rpx;
-	padding-right: 5rpx;
-	.mw{
-		max-width: 310rpx;
-	}
-	.tagTxt{
-		// max-height: 72rpx;
-		font-size: 24rpx;
-		font-family: PingFang-SC-Medium, PingFang-SC;
-		font-weight: 500;
-		color: #207CF7;
-		// max-width: 280rpx;
-		overflow: hidden;
-			text-overflow: ellipsis;
-			white-space: nowrap;
-			// display: -webkit-box;  //使用自适应布局
-			// -webkit-line-clamp: 2;  //设置超出行数,要设置超出几行显示省略号就把这里改成几
-			// -webkit-box-orient: vertical;
-			
-		padding-top: 8rpx;
-		padding-bottom:8rpx;
-		line-height: 38rpx;
-	}
-}
-
-@keyframes rotate {
-	0%{
-		transform: rotate(0deg);
-	}
-	100%{
-		transform: rotate(360deg);
+	.suspension {
+		background: linear-gradient(to right, #549DFF,#207CF7,);
+		color: #fff;
+		position: fixed;
+		left: 50%;;
+		bottom: 180rpx;
+		width: 648rpx;
+		height: 96rpx;
+		border-radius: 48rpx 12rpx 48rpx 12rpx;
+		transform: translateX(-50%);
+		
+		box-shadow: 0 3px 14px -2px  rgba(4, 89, 202,.6);
 	}
-}
-.go{
-	animation: rotate 1s;
-}
-.overBox{
-	// width: 100%;
-	// height: 100rpx;
-	// position: relative;
-	// z-index: 1;
-// 	.overLay{
-// 		background: red;
-// 		position: fixed;
-// 		top: 100rpx;
-// 		width: 100%;
-// 		height: 150rpx;
-// 	}
-}
-
 
-.leadPic{
-	position: fixed;
-	background: rgba(0, 0, 0, .6);
-	z-index: 9999999999;
-	height:100vh;
-	width: 100vw;
-	top: 0;
-	
-	.lead1Box{
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		width: 100%;
-		height: 100%;
-		.lead1{
-			width: 317px;
-			height: 435px;
-			position: relative;
-			image{
-				width: 317px;
-				height: 435px;	
-				position: absolute;
-			}
-			.btn{
-				background:rgba(0, 0, 0, 0);
-				width: 160px;
-				height: 60px;
-				position: absolute;
-				bottom: 0;
-				right: 0;
-			}
-		}
-	}
-	
-	.lead2Box{
-		display: flex;
-		justify-content: center;
-		align-items: flex-end;
-		width: 100%;
-		height: 100%;
-		.lead2{
-			width: 264px;
-			height: 341px;
-			position: relative;
-			image{
-				width: 264px;
-				height: 341px;	
-				position: absolute;
-				margin-left: 30px;
-			}
-			
-			.btn{
-				background:rgba(0, 0, 0, 0);
-				// background:green;
-				width: 180px;
-				height: 60px;
-				position: absolute;
-				bottom: 160px;
-				
-				right: -30px;
-			}
-		}
+	.wike_ad {
+		margin: 0 6px 11px;
 	}
-	
-	.swiperBox{
-		width: 100%;
-		height: 100%;
-	}
-}
-
 
-.inputTxtBox{
-	position: relative;
-	.clearImg{
-		width: 40rpx;
-		height: 40rpx;
-		position: absolute;
-		right: 26rpx;
-		bottom: 26rpx;
-	}
-}
+	.db {
+		height: 83px;
+	}

+ 142 - 874
pages/index/index.vue

xqd xqd xqd xqd
@@ -1,251 +1,64 @@
 <template>
 	<view>
-		<!-- <wike-skeleton :count="5" v-if="!applayList.length"></wike-skeleton> -->
-
-
-		<!-- 	<view class="form u-flex align-center justify-center" :style="{height: windowHeight+'px'}"
-			v-if="appInfo.page_template == 1 || !appInfo.page_template"> -->
-
-		<view class="form u-flex align-center justify-center" :style="{height: windowHeight+'px'}"
-			v-if="appInfo.page_template == 1">
-			<view class="top-notice" v-if="appInfo && appInfo.notice"><u-notice-bar
-					:text="appInfo.notice"></u-notice-bar></view>
-			<view class="logo"><u--image :src="appInfo.site_logo_path?appInfo.site_logo_path:'/static/images/head.jpg'"
-					shape="circle" width="200rpx" height="200rpx"></u--image></view>
-			<u-transition :show="true" mode="slide-left">
-				<view class="title">{{ appInfo.site_name?appInfo.site_name:'AI问答机器人' }}</view>
-			</u-transition>
-			<u-transition :show="true" mode="slide-right">
-				<view class="desc">{{ appInfo.sub_title }}</view>
-			</u-transition>
-			<view class="btn-group">
-				<view class="btn" @click="onToForm"><u-button shape="circle" iconColor="#ffffff" color="#207CF7"
-						icon="chat" text="立即提问"></u-button></view>
-				<view v-if="appInfo.is_aipainting&&appInfo.is_aipainting == 1" class="btn" @click="ondraw"><u-button
-						shape="circle" iconColor="#ffffff" color="#ffc107" icon="edit-pen-fill" text="AI绘画"></u-button>
-				</view>
-			</view>
-		</view>
-		<view v-if="appInfo.page_template == 2 || appInfo.page_template == 3" style="background:#F4F7FC;">
-			<view class="newTop">
-				<view class="topTitle" :style="{paddingTop:isWx?'0':'53rpx',marginBottom:isWx?'0':'32rpx'}">
-					<view class="" v-if="!isWx">
-						AI人工智能助手
-					</view>
-				</view>
-				<view class="overBox" style="">
-					<u-notice-bar style="" bgColor='#C6D6E4' color='#3F5465' v-if="appInfo && appInfo.notice"
-						:text="appInfo.notice" :playState="playState" @over="handleOver"
-						@out="handleOut"></u-notice-bar>
-				</view>
+		<!-- <view class="subsection">
+			<tn-subsection :list="subsectionlist" mode="button" :borderRadius="50"
+				animationType="cubic-bezier" bold :height="90" @change="getsubsection"></tn-subsection>
+		</view> -->
+		<wike-skeleton :count="4" v-if="showskeleton"></wike-skeleton>
+		<view style="height: 66px;"></view>
+		<z-paging ref="paging" refresher-complete-delay="200" v-model="drawList" @query="queryList">
+			<!-- <view slot="top" class="z_tabs" :style="{ marginTop: 66 + 'px' ,background: 'none'}"></view> -->
+			<view class="subsection">
+				<tn-subsection :list="subsectionlist" mode="button" :borderRadius="50" animationType="cubic-bezier" bold
+					:height="90" @change="getsubsection"></tn-subsection>
 			</view>
 
-			<view class="directask">
-				<view class="addBg" style="padding-left: 0;padding-right: 0;">
-					<!-- 📝 -->
-					<view class="askaquestion u-flex align-center justify-between quesTop" style="">
-						<!-- 🔥 -->
-						<view class="u-flex align-center" style="align-items:center;">
-							<image src="/static/newIndex/quesIcon.png" mode="" style="width: 60rpx;height: 68rpx;">
-							</image>
-							<view class="quesRight" style="display: flex;align-items: center;">
-								<view class="quesTxt">直接提问</view>
-								<image src="/static/newIndex/dian.png" mode=""
-									style="height: 30rpx; height: 12rpx;margin-left: 10rpx;">
-								</image>
-							</view>
-						</view>
-						<block v-if="showchat4">
-							<view class="modalTag" @click="showsheet = true">
-								<view class="tagTxt" :class="[!isPc?'mw':'']">
-									{{currentmodel}}
-								</view>
-								<image style="width: 22rpx;height: 12rpx;margin-left: 14rpx;"
-									src="/static/newIndex/arrDown.png" mode=""></image>
-							</view>
-						</block>
-						<block v-else-if="showchat35">
-							<view class="modalTag" @click="showsheet = true">
-								<view class="tagTxt" :class="[!isPc?'mw':'']">
-									{{currentmodel}}
-								</view>
-								<image style="width: 22rpx;height: 12rpx;margin-left: 14rpx;"
-									src="/static/newIndex/arrDown.png" mode=""></image>
-							</view>
-						</block>
-
-						<!-- 文心一言 -->
-						<block v-else>
-							<view class="modalTag" @click="showsheet = true">
-								<view class="tagTxt" :class="[!isPc?'mw':'']">
-									{{currentmodel}}
-								</view>
-								<image style="width: 22rpx;height: 12rpx;margin-left: 14rpx;"
-									src="/static/newIndex/arrDown.png" mode="">
-								</image>
-							</view>
-						</block>
-					</view>
-					<view class="textarea">
-						<view class="inputTxtBox">
-							<u--textarea @focus="focustextarea" maxlength="-1" v-model="valuechat" height="100"
-								border="none" :placeholder="placeholder"></u--textarea>
-							<image v-if="valuechat" @click="valuechat = ''" class="clearImg" src="/static/clear.png"
-								mode=""></image>
-						</view>
-						<!-- 	<view class="operate u-flex align-center">
-							<view v-if="appInfo.page_template == 3" style="margin-right: 32rpx;">
-								<u--image :showLoading="true" :src="homeTemplate1.mode[selectornot].img_file.path"
-									width="30" height="30" @click="switchmodel = true" shape="circle"></u--image>
-							</view>
-						</view> -->
-						<view class="clearAndSumBtn">
-							<view @click="onSubmit(valuechat)" hover-class="hoversubmit" class="submit">
-								{{tapsubmit}}
-							</view>
-
-							<view class="rClear">
-								<image @click.stop="goLead" src="/static/wenhao.png" mode=""
-									style="width: 52rpx;height: 52rpx;"></image>
-							</view>
-						</view>
-					</view>
+			<view style="padding: 150rpx 15rpx 30rpx 15rpx;">
+				<view v-if="homeTemplate&&homeTemplate.banner&&homeTemplate.banner.length>0" class="wike_ad">
+					<wike-ad></wike-ad>
 				</view>
 
-				<!-- 	<view v-if="appInfo.page_template == 3" style="margin-bottom: 16px">
-					<u-alert :title="appInfo.notice" type="warning" effect="dark"></u-alert>
-				</view> -->
-
-
-				<block v-if="appInfo.page_template == 2">
-					<view class="askaquestion u-flex align-center justify-between" style="margin-bottom: 4rpx;">
-						<!-- 🔥 -->
-						<view class="u-flex align-center">
-							<image src="/static/newIndex/fire.png"
-								style="width: 40rpx;height: 42rpx;margin-left: 10rpx;"></image>
-							<text class="hotTxt">热门提问</text>
-						</view>
-						<view @click="updateTemplate" class="tn-flex align-center"
-							style="justify-content: flex-end;margin-top: 15rpx;">
-							<view style="" class="change">换一换</view>
-							<image ref="hyh" id="img01" class="shuaxin" :class="{'go':addRotate}"
-								src="/static/newIndex/change.png" style="width: 32rpx;height:28rpx;">
-							</image>
-						</view>
-					</view>
-					<view class="" style="padding-left: 10rpx;padding-right: 10rpx;">
-						<vastwu-barrage @teplateItemClicked="onSubmit" :textList1='templateData' :minTime="70"
-							:maxTime="100" :trackList='[14,86,158]' width="100%" height="230rpx"
-							ref="vBarrage"></vastwu-barrage>
-					</view>
-				</block>
-
-
-				<view class="" v-if="appInfo.page_template == 2" style="padding-left: 10rpx;padding-right: 10rpx;">
-					<view class="addbox">
-						<view class="askaquestion u-flex align-center justify-between ">
-							<!-- 🛠️ -->
-							<view class="u-flex align-center" style="align-items: flex-end;">
-								<image style="width: 60rpx;height: 64rpx;margin-left: 10rpx;"
-									src="/static/newIndex/quesTemp.png"></image>
-								<text class="hotTxt" style="margin-bottom: -6rpx;">应用</text>
-							</view>
-							<view @click="onhelper" class="tn-flex align-center"
-								style="justify-content: flex-end;margin-top: 15rpx;">
-								<view class="moreBox">
-									<view class="moretxt" style="padding-left: 20rpx;">
-										更多</view>
-									<image src="/static/newIndex/yjt.png"
-										style="width: 8rpx;height: 16rpx;margin-left: 8rpx;" mode="">
-									</image>
-								</view>
+				<tn-waterfall v-if="drawList.length>0" ref="waterfall" v-model="drawList"
+					@finish="handleWaterFallFinish">
+					<template v-slot:left="{ leftList }">
+						<view v-for="(item, index) in leftList" :key="item.id" class="product__item"
+							@click="tnproduct(item.id)">
+							<view class="item__image">
+								<tn-lazy-load :threshold="6000" height="100%"
+									:image="item.imgs_file[0]?item.imgs_file[0]:item.origin_url" :index="item.id"
+									imgMode="widthFix"></tn-lazy-load>
 							</view>
 						</view>
-						<view style="margin-bottom: 10rpx;" class="mubanBox">
-							<navigator class="helpme"
-								:url="'/pages/template/detail?id=' + item.id+'&currentmodel='+currentmodel"
-								v-for="(item, index) in applayList" :key="index">
-
-								<view class="bottomBox">
-									<view class="left">
-										<view class="title">{{ item.title }}</view>
-										<view class="sub_title">{{ item.sub_title }}</view>
-									</view>
-									<view class="right">
-										<image v-if="index==0" src="/static/newIndex/mt.png"
-											style="width: 48rpx;height: 48rpx;" mode="">
-										</image>
-										<image v-if="index==1" src="/static/newIndex/wa.png"
-											style="width: 48rpx;height: 48rpx;" mode="">
-										</image>
-										<image v-if="index==2" src="/static/newIndex/qg.png"
-											style="width: 48rpx;height: 48rpx;" mode="">
-										</image>
-										<image v-if="index==3" src="/static/newIndex/kd.png"
-											style="width: 48rpx;height: 48rpx;" mode="">
-										</image>
-									</view>
-								</view>
-							</navigator>
+					</template>
+					<template v-slot:right="{ rightList }">
+						<view v-for="(item, index) in rightList" :key="item.id" class="product__item"
+							@click="tnproduct(item.id)">
+							<view class="item__image">
+								<tn-lazy-load :threshold="6000" height="100%"
+									:image="item.imgs_file[0]?item.imgs_file[0]:item.origin_url" :index="item.id"
+									imgMode="widthFix"></tn-lazy-load>
+							</view>
 						</view>
-					</view>
-				</view>
-				<wike-ad></wike-ad>
+					</template>
+				</tn-waterfall>
+				<!-- <wike-waterfall :dataList="data" :column="columns" @click="click" :radius="20" :margin="10"></wike-waterfall> -->
 			</view>
-		</view>
-
-		<!-- 研究所或大学生身份切换 -->
-
-		<u-action-sheet @select="selectClick" :round="10" :actions="sheetlist" :title="titlesheet" :show="showsheet"
-			safeAreaInsetBottom @close="showsheet = false" cancelText="关闭"></u-action-sheet>
-		<!-- #ifdef H5 -->
-		<!-- <u-popup :show="h5share" mode="center" @close="h5share = false">
-			<view class="cu-dialog">
-				<image class="guide-img" src="http://shopro.7wpp.com/imgs/modal/share_guide.png" mode=""></image>
-			</view>
-		</u-popup> -->
-		<!-- #endif -->
-
+			<view slot="bottom" class="z_tabs" :style="{ marginBottom: 72 + 'px' }"></view>
+		</z-paging>
 
-		<wike-model v-if="signShow" :authorize="false" :title="signTitle" btnText="立即获取" @save="signSign"
-			@close="signShow = false"></wike-model>
-		<!-- <block v-if="is_aipainting"> -->
-		<block>
-			<wike-tabbar2 :currTabIndex='0' v-if="appInfo.page_template == 3" :onTabbar="onTabbar"
-				:is_aipainting="is_aipainting" :isShowAnimate="isShowAnimate"
-				:appInfos="appInfo.page_template"></wike-tabbar2>
-			<wike-tabbar :currTabIndex='0' v-else :onTabbar="onTabbar" :is_aipainting="is_aipainting"
-				:isShowAnimate="isShowAnimate" :appInfos="appInfo.page_template"></wike-tabbar>
-		</block>
-		<!-- 暂时注释 -->
+		<view @click="getcreate" class="suspension u-flex align-center justify-center">
+			AI创作
+		</view>
 
-		<wike-modal-qrcode :qrcode="gzhqrcode" :showconcern="showconcern"
-			@concernclose="concernclose"></wike-modal-qrcode>
 
+		<wike-tabbar2 :currTabIndex='0' v-if="appInfo.page_template == 3" :is_aipainting="appInfo.is_aipainting"
+			:onTabbar="true" :isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar2>
+		<wike-tabbar :currTabIndex='0' v-else :onTabbar="true" :is_aipainting="appInfo.is_aipainting"
+			:isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar>
 
 		<u-modal @cancel="handleCancel" @confirm="handleConfirm" cancelText='退出登录' showCancelButton :show="showFixInfo"
 			confirmColor="#26b3a0" confirmText="完善信息" title="请完善个人手机号信息后使用本应用"
 			content='您已充值,但未绑定手机号,请完善信息以方便为您提供进一步的服务'></u-modal>
-
-
-		<view class="leadPic" v-if="showlead">
-			<view class="lead1Box" v-show="showlead1">
-				<view class="lead1">
-					<image src="/static/images/lead1.png" mode=""></image>
-					<view class="btn" @click="showlead1=false">
-					</view>
-				</view>
-			</view>
-
-
-			<view class="lead2Box" v-show="!showlead1">
-				<view class="lead2">
-					<image src="/static/images/lead2.png" mode=""></image>
-					<view class="btn" @click="closeLead2">
-					</view>
-				</view>
-			</view>
-		</view>
 	</view>
 </template>
 
@@ -256,186 +69,40 @@
 		mapState,
 		mapGetters
 	} from 'vuex';
-	let interstitialAd = null,
-		timer,
-		time2;
-
-
-	import noticeBar from '@/components/noticeBar/index.vue'
-	import vastwuBarrage from '@/components/vastwu-barrage/vastwu-barrage.vue'
-
-	const isWechat = () => {
-		return String(navigator.userAgent.toLowerCase().match(/MicroMessenger/i)) === "micromessenger";
-	}
-
 	import {
-		init
-	} from "@/common";
+		apiurl
+	} from '@/common/request/request';
+	import $platform from '@/common/platform';
+	let rewardedVideoAd = null;
 	export default {
-		components: {
-			noticeBar,
-			vastwuBarrage
-		},
+		mixins: [],
+		components: {},
 		data() {
 			return {
-				showlead: false,
-				showlead1: true,
-
+				list: [],
+				drawList: [],
+				subsectionlist: ['StableDiffusion绘图', 'MidJourney绘图'],
+				engine: 'mj',
+				showskeleton: true,
 
 				showFixInfo: false,
-				current: 0,
-
-				playState: 'play',
-				// current: 0,
-				addRotate: false,
-
-				signTitle: '',
-				signShow: false,
-				selectornot: 0,
-				onTabbar: false,
-				isShowAnimate: false,
-				valuechat: '请写一篇西游记续集,里面包含一个角色马斯克',
-				platform: this.$platform.get(),
-				h5share: false,
-				windowHeight: 0,
-				placeholder: '您可以向AI提出任何问题...',
-				tapsubmit: ' 获取答案',
-				//模型
-				// paintingmode:false,
-				showsheet: false,
-				titlesheet: '切换模型',
-				//是否为gpt4模型
-				showchat4: false,
-				showchat35: false,
-
-				// #ifdef H5
-				sheetlist: [{
-						index: 0,
-						name: 'ChatGPT 4.0',
-						subname: "超级高效沟通·简单提问",
-						disabled: false
-					},
-					{
-						index: 1,
-						name: 'ChatGPT 3.5',
-						subname: "高效沟通·简单提问",
-						// color: '#207CF7',
-						disabled: false
-					},
-					{
-						index: 2,
-						name: '文心一言',
-						subname: "便捷沟通·简单提问",
-						// color: '#207CF7',
-						disabled: false
-					},
-
-					{
-						index: 3,
-						name: '讯飞火星',
-						subname: "极速沟通·便捷提问",
-						// color: '#207CF7',
-						disabled: false
-					},
-				],
-				// #endif
-				// 消耗
-				plan: {},
-				currentmodel: '',
-				switchmodel: false,
-				is_aipainting: '',
-				showconcern: false,
-				gzhqrcode: '',
-
-				showchatBaidu: false,
-
-				templateData: [],
-				applayList: [],
-				homeTemplate1: null,
-
-				appInfo: {}
 			};
 		},
 		computed: {
-			...mapGetters(['isLogin', 'userInfo', 'homeTemplate', 'userData']),
-			isPc() {
-				return navigator.userAgent.indexOf('Mobile') > -1 ? false : true
-			},
-			isWx() {
-				return isWechat()
-			}
+			...mapGetters(['appInfo', 'userInfo', 'homeTemplate'])
 		},
-		async onLoad(o) {
-			console.log('onload获取的应用ID----', uni.getStorageSync('uniacid'));
 
+		onLoad(o) {
+			// this.getRandomData()
 			if (o.uniacid) {
+				// if (uni.getStorageSync('uniacid')) {
+				// 	return
+				// }
 				uni.setStorageSync('uniacid', o.uniacid)
+				console.log('onload获取的应用ID----paiting', uni.getStorageSync('uniacid'));
 			}
-
-			var that = this;
-			uni.getSystemInfo({
-				success: function(res) {}
-			});
-			setTimeout(() => {
-				that.onTabbar = true;
-				that.isShowAnimate = true;
-			}, 500);
-
-			// this.getTemplateData()
-		},
-		onReady() {
-			let that = this;
-			// #ifdef MP-WEIXIN
-			clearTimeout(timer);
-			// 在适合的场景显示插屏广告
-			timer = setTimeout(function() {
-				// 在页面onLoad回调事件中创建插屏广告实例
-				if (wx.createInterstitialAd && that.appInfo.interstitial_status == 1) {
-					interstitialAd = wx.createInterstitialAd({
-						adUnitId: that.appInfo.interstitial_id
-					});
-					interstitialAd.onLoad(() => {});
-					interstitialAd.onError(err => {});
-					interstitialAd.onClose(() => {
-						if (that.appInfo.interstitial_infinite_status && that.appInfo
-							.interstitial_infinite_status == 1) {
-							that.showInterstitial();
-						} else {
-							interstitialAd.show().catch(err => {
-								console.error(err);
-							});
-						}
-					});
-					interstitialAd.show().catch(err => {
-						console.error(err);
-					});
-				}
-			}, 4000);
-			// #endif
 		},
-		async onShow() {
-			let params = 'system.config';
-			let Res = await this.$http('conf.getGroupConf', {
-				group: params
-			})
-
-			if (Res.code == 0) {
-				this.appInfo = Res.data
-			}
-			console.log('首页---appInfo', Res);
-
-			// 生成固定通过链接分享信息
-			if (uni.getStorageSync('token') && uni.getStorageSync('uniacid')) {
-				let shareInfo = `uniacid=${uni.getStorageSync('uniacid')}&spm=` + this.$store.getters.userInfo.id +
-					'.1.0.' + (['H5', 'wxOfficialAccount', 'wxMiniProgram', 'App'].indexOf(this.platform) + 1) +
-					'.1'
-
-				uni.setStorageSync('shareInfo', shareInfo)
-				console.log('首页分享链接信息----------------------2:', shareInfo);
-			}
-
-			this.getTemplateData()
-
+		onShow() {
 			this.$http('user.info').then(res => {
 				if (res.code == 0) {
 					console.log('用户是否是首次支付成功,但未填写手机号', res.data.is_new);
@@ -444,82 +111,43 @@
 				}
 			})
 
+			// 网络变化检测
+			uni.onNetworkStatusChange(res => {
+				this.isConnected = res.isConnected;
 
-			if (this.isLogin) {
-				this.getUserData()
-			}
-			this.currentmodel = uni.getStorageSync("prestore") || "大学生"
-			if (uni.getStorageSync("prestore") == '文心一言') {
-				this.showchat4 = false
-				this.showchat35 = false
-				this.showchatBaidu = true
-
-				this.sheetlist[2].color = "#207CF7"
-				this.sheetlist[0].color = "black"
-				this.sheetlist[1].color = "black"
-				this.sheetlist[3].color = "black"
-			} else if (uni.getStorageSync("prestore") == '研究生') {
-				this.showchat4 = true
-				this.showchat35 = false
-				this.showchatBaidu = false
-
-				this.sheetlist[0].color = "#207CF7"
-				this.sheetlist[2].color = "black"
-				this.sheetlist[1].color = "black"
-				this.sheetlist[3].color = "black"
-			} else if (uni.getStorageSync("prestore") == '讯飞火星') {
-				this.sheetlist[3].color = "#207CF7"
-				this.sheetlist[0].color = "black"
-				this.sheetlist[2].color = "black"
-				this.sheetlist[1].color = "black"
-
-				this.showchat4 = false
-				this.showchat35 = false
-				this.showchatBaidu = false
-			} else {
-				this.sheetlist[1].color = "#207CF7"
-				this.sheetlist[0].color = "black"
-				this.sheetlist[2].color = "black"
-				this.sheetlist[3].color = "black"
-
-				this.showchat35 = true
-				this.showchatBaidu = false
-				this.showchat4 = false
-			}
-			this.init(this.currentmodel)
-			this.windowHeight = uni.$u.sys().windowHeight
-			this.systemwechat()
-
-
-			// let oldHerfUrl = JSON.stringify(location.herf ? location.herf : '')
-			// let oldHerfQuery = JSON.stringify(location.search)
-
-			// location.href = JSON.parse(oldHerfUrl + oldHerfQuery + '&a=123466')
-			// console.log('location.search', oldHerfQuery);
-
-			// window.onhashchange() {
-
-			// }
-			// return
-		},
-		onUnload() {
-			clearInterval(time2);
-			// clearInterval(this.timer);
+			});
 		},
-		beforeDestroy() {
-			// clearInterval(this.timer);
+		onReady() {
+			// #ifdef MP-WEIXIN
+			if (wx.createRewardedVideoAd && this.appInfo.video_status == 1) {
+				rewardedVideoAd = wx.createRewardedVideoAd({
+					adUnitId: this.appInfo.video_id
+				});
+				rewardedVideoAd.onLoad(() => {
+					console.log('onLoad event emit');
+				});
+				rewardedVideoAd.onError(err => {
+					console.log('onError event emit', err);
+				});
+				rewardedVideoAd.onClose(res => {
+					if (res && res.isEnded) {
+						// 正常播放结束,可以下发游戏奖励
+						this.memberAddCoin();
+						this.showcoin = false;
+					} else {
+						// 播放中途退出,不下发游戏奖励
+						uni.showToast({
+							title: '看完广告后才可获得积分哦',
+							icon: 'none'
+						});
+					}
+				});
+			}
+			// #endif
+			this.loading = false;
 		},
 		methods: {
 			...mapActions(['getUserInfo', 'showAuthModal', 'getUserData', 'logout']),
-			goLead() {
-				uni.navigateTo({
-					url: '/pages/user/public/lead'
-				})
-			},
-			closeLead2() {
-				this.showlead = false
-				uni.setStorageSync('isLead', 'yes')
-			},
 			handleCancel() {
 				this.showFixInfo = false
 				this.logout()
@@ -534,429 +162,69 @@
 					url: '/pages/user/userinfo?isNewUser=true'
 				})
 			},
-
-			handleOver() {
-				if (!this.isPc) return
-				this.playState = 'paused'
-			},
-			handleOut() {
-				if (!this.isPc) return
-				this.playState = 'play'
-			},
-			async getTemplateData() {
-
-				let whereIn = [187, 171, 179, 181]
-				let res = await this.$http('common.template', {
-					whereIn: whereIn.join(',')
-				})
-				if (res.code == 0) {
-					this.templateData = res.data.hot
-					this.applayList = res.data.template
-					this.homeTemplate1 = res.data
-					// this.$store.commit('TEMPLATE', res.data);
-
-
-					console.log('首页热门提问:', this.templateData);
-					console.log('首页应用列表:', this.applayList);
-					console.log('首页homeTemplate1:', this.homeTemplate1);
-					// uni.setStorageSync('homeTemplate1', res.data);
-
-
-					if (!uni.getStorageSync('isLead') && res.data.hot.length) {
-						this.showlead = true
-					}
-				}
-			},
-
-			handleTo(item) {
-				if (item.name == '绘画') {
-					uni.switchTab({
-						url: '/pages/painting/painting'
-					})
-				} else if (item.name == '我的') {
-					uni.switchTab({
-						url: '/pages/user/user'
-					})
-				} else if (item.name == '充值') {
-
-					uni.setStorageSync('chargeFromIndex', true)
-					uni.navigateTo({
-						url: '/pages/user/member/member'
-					})
-				} else if (item.name == '应用') {
-					uni.switchTab({
-						url: '/pages/template/template'
-					})
-				}
-			},
-			startScroll() {
-				this.timer = setInterval(() => {
-					this.offset += this.step
-					if (this.offset >= this.itemWidth) {
-						this.offset = 0
-						this.noticeList.push(this.noticeList.shift())
-					}
-					// document.querySelector('.notice-content').style.transform = `translateX(-${this.offset}px)`
-				}, this.speed)
-			},
-
-
-			...mapActions(['appInit', 'logout', 'getUserInfo', 'getUserData']),
-			init(preModal) {
-				var that = this;
-				return Promise.all([this.appInit()]).then(res => {
-					that.is_aipainting = that.appInfo.is_aipainting
-					uni.setNavigationBarTitle({
-						title: that.appInfo.site_name
-					});
-					that.getPlan(preModal);
-				});
-			},
-			systemwechat() {
-				this.$http('conf.getGroupConf', {
-					group: 'system.wechat'
-				}).then(res => {
+			queryList(pageNo, pageSize) {
+				//这里的pageNo和pageSize会自动计算好,直接传给服务器即可
+				const params = {
+					page: pageNo,
+					limit: pageSize,
+					engine: this.engine
+				};
+				this.$http('gallery.all', params).then(res => {
 					if (res.code == 0) {
-						this.gzhqrcode = res.data.qrcode_path
-						const focuson = uni.getStorageSync('focuson');
-						// console.log(focuson);
-						if (!focuson) {
-							if (this.gzhqrcode) {
-								if (this.appInfo.is_show_index_qrcode == 1) {
-									this.showconcern = true
-								}
-								if (this.isLogin && this.appInfo.is_show_logged_qrcode == 1) {
-									this.showconcern = true
-								}
-							}
-						}
-					}
-				})
-			},
-			concernclose() {
-				this.showconcern = false
-			},
-			onselect(e) {
-				this.showcontext = false
-				this.switchmodel = this.selectornot == e ? true : false
-				this.selectornot = e;
-			},
-			showInterstitial() {
-				time2 = setInterval(
-					function() {
-						interstitialAd.show().catch(err => {
-							console.error(err);
+						uni.setNavigationBarTitle({
+							title: this.appInfo.site_name
 						});
-					},
-					this.appInfo.gap ? this.appInfo.gap * 1000 : 12000
-				);
-			},
-
-			//选择模型
-			selectClick(index) {
-				for (var a = 0; a < this.sheetlist.length; a++) {
-					this.sheetlist[a].color = '#000'
-				}
-				// #ifdef MP-WEIXIN
-				this.sheetlist[index.index - 1].color = '#207CF7'
-				// #endif
-				// #ifdef H5
-				this.sheetlist[index.index].color = '#207CF7'
-				// #endif
-				this.showchat4 = index.index == 0 ? true : false
-				this.showchat35 = index.index == 1 ? true : false
-
-
-				this.showchatBaidu = index.index == 2 ? true : false
-				// this.showchat4 = false
-				this.getcurrentmodel()
-			},
-			getPlan(preModal) {
-				let that = this;
-				this.$http('conf.getGroupConf', {
-					group: 'system.plan'
-				}).then(res => {
-					if (res.code == 0) {
-						this.plan = res.data
-
-						let gpt = this.appInfo;
-						// #ifdef H5
-						// if (gpt.is_gpt4 == 2) {
-						// 	this.sheetlist.shift()
-
-						// 	this.sheetlist[0].name = gpt.gpt35_alias ? gpt.gpt35_alias : 'ChatGPT 3.5'
-						// 	this.sheetlist[0].subname = gpt.gpt35_intro ? gpt.gpt35_intro : '高效沟通·简单提问'
-
-						// 	this.sheetlist[1].name = gpt.gpt3_alias ? gpt.gpt3_alias : '文心一言'
-						// 	this.sheetlist[1].subname = gpt.gpt3_intro ? gpt.gpt3_intro : '便捷沟通·简单提问'
-
-						// 	this.sheetlist[2].name = gpt.gpt2_alias ? gpt.gpt2_alias : '讯飞火星'
-						// 	this.sheetlist[2].subname = gpt.gpt2_intro ? gpt.gpt2_intro : '极速沟通·便捷提问'
-						// } else {
-						// 	this.sheetlist[0].name = gpt.gpt4_alias ? gpt.gpt4_alias : 'ChatGPT 4.0'
-						// 	this.sheetlist[0].subname = gpt.gpt4_intro ? gpt.gpt4_intro : '高效沟通·简单提问'
-
-						// 	this.sheetlist[1].name = gpt.gpt35_alias ? gpt.gpt35_alias : 'ChatGPT 3.5'
-						// 	this.sheetlist[1].subname = gpt.gpt35_intro ? gpt.gpt35_intro : '高效沟通·简单提问'
-
-						// 	this.sheetlist[2].name = gpt.gpt3_alias ? gpt.gpt3_alias : '文心一言'
-						// 	this.sheetlist[2].subname = gpt.gpt3_intro ? gpt.gpt3_intro : '便捷沟通·简单提问'
-
-						// 	this.sheetlist[3].name = gpt.gpt2_alias ? gpt.gpt2_alias : '讯飞火星'
-						// 	this.sheetlist[3].subname = gpt.gpt2_intro ? gpt.gpt2_intro : '极速沟通·便捷提问'
-						// }
-						// #endif
-						// #ifdef MP-WEIXIN
-						// this.sheetlist[0].name = gpt.gpt35_alias ? gpt.gpt35_alias : 'ChatGPT 3.5'
-						// this.sheetlist[0].subname = gpt.gpt35_intro ? gpt.gpt35_intro : '高效沟通·简单提问'
-						// this.sheetlist[0].name = 'ChatGPT 4.0'
-						// this.sheetlist[0].subname = '高效沟通·简单提问'
-
-						// this.sheetlist[1].name = 'ChatGPT 3.5'
-						// this.sheetlist[1].subname = '高效沟通·简单提问'
-
-						// this.sheetlist[2].name =: '文心一言'
-						// this.sheetlist[2].subname = '便捷沟通·简单提问'
-						// #endif
-						// this.getcurrentmodel1(preModal)
-
+						this.showskeleton = false
+						if (pageNo == 1) {
+							this.drawList = []
+						}
+						this.$refs.paging.complete(res.data.data);
+						this.isLoading = false;
 					}
-				})
-
-			},
-			// getcurrentmodel1(preModal) {
-
-			// },
-			getcurrentmodel() {
-				let gpt = this.appInfo;
-				if (this.showchat4) {
-					this.currentmodel = gpt.gpt4_alias ? gpt.gpt4_alias : 'ChatGPT 4.0'
-				} else if (this.showchat35) {
-					this.currentmodel = gpt.gpt35_alias ? gpt.gpt35_alias : 'ChatGPT 3.5'
-				} else if (this.showchatBaidu) {
-					this.currentmodel = gpt.gpt3_alias ? gpt.gpt3_alias : '文心一言'
-				} else {
-					this.currentmodel = gpt.gpt2_alias ? gpt.gpt2_alias : '讯飞火星'
-				}
-
-				uni.setStorageSync('prestore', this.currentmodel);
+				});
 			},
-			updateTemplate() {
-				// this.$store.dispatch('getTemplate');
-				this.getTemplateData()
-
-				this.addRotate = true
-				setTimeout((item, index) => {
-					this.addRotate = false
-				}, 1000)
+			getsubsection(e) {
+				// console.log(e);
+				this.engine = e.index == 1 ? 'mj' : 'sd'
+				this.drawList = []
+				this.$refs.paging.reload(true);
 			},
-			onToForm() {
+			getcreate() {
 				uni.navigateTo({
-					url: '/pages/chat/chat'
-				});
-			},
-			onhelper() {
-				uni.switchTab({
-					url: '/pages/template/template'
-				});
+					url: '/pages/painting/draw'
+				})
 			},
-			focustextarea() {
-				if (!this.isLogin) {
-					uni.navigateTo({
-						url: '/pages/user/signin'
-					});
-					uni.setStorageSync('route', '/pages/index/index');
-					return;
+			/* 瀑布流*/
+			// 获取随机数据
+			getRandomData() {
+				// console.log(13);
+				// this.loadStatus = 'loading'
+				for (let i = 0; i < 10; i++) {
+					let index = this.$t.number.randomInt(0, this.data.length - 1)
+
+					let item = JSON.parse(JSON.stringify(this.data[index]))
+					item.id = this.$t.uuid()
+					this.list.push(item)
+					// console.log(this.list);
 				}
-				if (this.valuechat == "请写一篇西游记续集,里面包含一个角色马斯克") {
-					this.valuechat = ''
-				}
-			},
-			ondraw() {
-				// uni.navigateTo({
-				// 	url: '/pages/chat/chat?draw=1'
-				// });
-				uni.switchTab({
-					url: '/pages/painting/painting'
-				})
 			},
-			signSign() {
-				uni.navigateTo({
-					url: '/pages/user/member/member'
-				});
-				this.signShow = false
+			// 瀑布流加载完毕事件
+			handleWaterFallFinish() {
+				// this.loadStatus = 'loadmore'
 			},
-			onSubmit(e) {
-
-				console.log('通过点击热门提问的问题:', e);
-				var that = this;
-				if (!that.isLogin) {
-					uni.navigateTo({
-						url: '/pages/user/signin'
-					});
-					uni.setStorageSync('route', '/pages/index/index');
-					return;
-				}
-				if (!e) {
-					uni.showToast({
-						title: '请输入关键词或问题',
-						icon: 'none'
-					});
-
-					return;
-				}
-				if (that.appInfo.time_member && that.appInfo.time_member == 1) {
-					if (that.showchat4) {
-						if (that.userData.vip_info && that.userData.is_validity > 0 && that.userData.vip_info
-							.gpt4_used ==
-							that.userData.vip_info.gpt4_times && that.userData.coin < that.plan.lock_gpt4) {
-							var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-							// this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>" + alias +
-							// 	"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
-							this.signTitle =
-								"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
-								that.plan.lock_gpt4 + "</span><span>" + alias +
-								"</span></p><p style='padding-top: 10px;'>您的提问<span>" + alias +
-								"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
-							this.signShow = true
-							return;
-						}
-						if (that.userData.is_validity == 0 && that.userData.coin < that.plan.lock_gpt4) {
-							var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-							this.signTitle =
-								"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
-								that.plan.lock_gpt4 + "</span><span>" + alias +
-								"</span></p><p style='padding-top: 10px;'>您的提问<span>" + alias +
-								"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
-							this.signShow = true
-							return;
-						}
-					} else {
-						if (that.userData.is_validity > 0 && that.userData.vip_info.gpt35_used == that.userData
-							.vip_info
-							.gpt35_times && that.userData.coin <= 0) {
-							var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-							// this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>" + alias +
-							// 	"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
-							this.signTitle =
-								"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
-								1 + "</span><span>" + alias +
-								"</span></p><p style='padding-top: 10px;'>您的提问<span>" + alias +
-								"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
-							this.signShow = true
-							return;
-						}
-						if (that.userData.is_validity == 0 && that.userData.coin <= 0) {
-							var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-							this.signTitle =
-								"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
-								1 + "</span><span>" + alias +
-								"</span></p><p style='padding-top: 10px;'>您的提问<span>" + alias +
-								"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
-							this.signShow = true
-							return;
-						}
-					}
-				} else {
-					if (that.showchat4 && that.userData.coin < that.plan.lock_gpt4) {
-						var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-						this.signTitle =
-							"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
-							that.plan.lock_gpt4 + "</span><span>" + alias +
-							"</span></p><p style='padding-top: 10px;'>您当前有<span style='color: #26b3a0;padding: 0 4px;'>" +
-							that.userData.coin + "</span><span>" + alias + "</span>,无法发起提问,快去获取<span>" +
-							alias +
-							"</span>吧</p>"
-						this.signShow = true
-						return;
-					}
-					if (!that.showchat4 && that.userData.coin <= 0) {
-						var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-						this.signTitle =
-							"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
-							1 + "</span><span>" + alias +
-							"</span></p><p style='padding-top: 10px;'>您当前有<span style='color: #26b3a0;padding: 0 4px;'>" +
-							that.userData.coin + "</span><span>" + alias + "</span>,无法发起提问,快去获取<span>" +
-							alias +
-							"</span>吧</p>"
-						this.signShow = true
-						return;
-					}
-				}
-				// if(that.showchat4){
-				// 	if(that.userData.coin < that.plan.lock_gpt4){
-				// 		var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-				// 		this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>"+that.plan.lock_gpt4+"</span><span>"+alias+"</span></p><p style='padding-top: 10px;'>您当前有<span style='color: #26b3a0;padding: 0 4px;'>"+that.userData.coin+"</span><span>"+alias+"</span>,此模型不支持会员套餐,无法发起提问,快去获取<span>"+alias+"</span>吧</p>"
-				// 		this.signShow = true
-				// 		return;
-				// 	}
-				// }
-				// if (that.appInfo.time_member && that.appInfo.time_member == 1) {
-				// 	if (that.userData.is_validity > 0 && that.userData.vip_info.gpt35_used == that.userData.vip_info.gpt35_times && that.userData.coin <= 0) {
-				// 		var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-				// 		this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>"+alias+"</span>/会员套餐内剩余次数不足</p>"
-				// 		this.signShow = true
-
-				// 		return;
-				// 	}
-				// 	if (that.userData.is_validity == 0) {
-				// 		if (that.userData.coin <= 0) {
-				// 			var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-				// 			this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>" + alias +
-				// 				"</span>/会员套餐已到期</p>"
-				// 			this.signShow = true
-				// 			return;
-				// 		}
-				// 	}
-				// } else {
-				// 	if (that.userData.coin <= 0) {
-				// 		var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
-				// 		this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>" + alias +
-				// 			"</span>不足</p>"
-				// 		this.signShow = true
-				// 		return;
-				// 	}
-				// }
-
-				if (this.currentmodel == '研究生') {
-					that.showchat4 = true
-				} else if (this.currentmodel == '大学生') {
-					that.showchat35 = true
-				}
-
-				if (that.showchat4) {
-					uni.navigateTo({
-						url: '/pages/chat/chat?showchat4=' + e + '&chat4=1'
-					});
-					that.valuechat = ''
-					return;
-				} else if (that.showchat35) {
-					uni.navigateTo({
-						url: '/pages/chat/chat?question=' + e + '&selectornot=' + that.selectornot +
-							'&showchat35=true'
-					});
-				} else if (that.showchatBaidu) {
-					// 文心一言
-					uni.navigateTo({
-						url: '/pages/chat/chat?showchat3=' + e + '&chat3=1'
-					});
-					that.valuechat = ''
-					return;
-				} else {
-					// 讯飞火星
-					uni.navigateTo({
-						url: '/pages/chat/chat?showchat2=' + e + '&chat2=1'
-					});
-					that.valuechat = ''
-					return;
-				}
+			tnproduct(id) {
 
+				uni.navigateTo({
+					url: '/pages/painting/details?urls=' + id + '&from=' + this.engine
 
+					// + '&form=' + JSON.stringify(
+					// this.form)
+				})
 			}
 		}
 	};
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
 	@import './index.scss';
 </style>

+ 515 - 83
pages/painting/painting.scss

xqd
@@ -1,112 +1,544 @@
-.subsection {
-		margin: 0rpx 25rpx 0;
+.top-notice {
 		position: fixed;
-		width: 93.8%;
-		top: 30rpx;
-		// top: 30rpx;
-		z-index: 9999;
+		top: 0;
+		left: 0;
+		width: 100%;
 	}
 
-	/* 瀑布流*/
-	.product__item {
-		background-color: #FFFFFF;
-		overflow: hidden;
-		margin: 0 10rpx;
-		margin-bottom: 20rpx;
-		// box-shadow: 0rpx 0rpx 30rpx 0rpx rgba(0, 0, 0, 0.07);
-
-		.item {
-
-			/* 图片 start */
-			&__image {
-				width: 100%;
-				height: auto;
-				background-color: #FFFFFF;
-				border: 1rpx solid #F8F7F8;
-				// border-radius: 20rpx;
-				overflow: hidden;
+	.form {
+		flex-direction: column;
+
+		.title {
+			font-size: 38rpx;
+			font-weight: bolder;
+			margin: 15rpx 35rpx 0;
+		}
+
+		.desc {
+			font-size: 28rpx;
+			color: #666;
+			margin: 15rpx 35rpx;
+		}
+
+		.btn-group {
+			width: 80%;
+			margin-top: 10%;
+
+			.btn {
+				margin: 30rpx 0rpx;
+
+				.u-button {
+					height: 100rpx;
+				}
 			}
+		}
+	}
+
+	.directask {
+		padding: 30rpx 18rpx 200rpx;
+		padding-top: 0;
+		// padding-left: 0;
+		// border-top: 1px solid #ededed;
 
-			/* 图片 end */
+		.askaquestion {
+			font-size: 32rpx;
+			margin-bottom: 25rpx;
 
-			/* 内容 start */
-			&__data {
-				padding: 14rpx 0rpx;
+			image {
+				width: 32rpx;
+				height: 32rpx;
+				margin-right: 12rpx;
 			}
+		}
+
+		.textarea {
+			margin-top: 30rpx;
+			// margin-bottom: 35rpx;
+			margin-bottom: 0rpx;
+			padding: 0rpx 30rpx 60rpx 30rpx;
+			padding-bottom: 30rpx;
+			width: 96%;
+			margin-left: 2%;
 
-			/* 标题 start */
-			&__title-container {
-				text-align: justify;
-				line-height: 38rpx;
-				vertical-align: middle;
+			.u-textarea {
+				border-radius: 20rpx;
+				background:#E9EFF4;
 			}
 
-			&__store-type {
-				height: 28rpx;
-				font-size: 20rpx;
-				position: relative;
-				display: inline-flex;
-				align-items: center;
-				justify-content: center;
-				padding: 4rpx;
-				border-radius: 6rpx;
-				white-space: nowrap;
-				text-align: center;
-				top: -2rpx;
-				margin-right: 6rpx;
+			.operate {
+				justify-content: flex-end;
+
+				.empty {
+					margin-right: 30rpx;
+					border: 1px solid #9e9e9e;
+					color: #9e9e9e;
+					padding: 12rpx 42rpx;
+					border-radius: 10rpx;
+				}
+
+				.submit {
+					padding: 12rpx 42rpx;
+					border-radius: 10rpx;
+					border: 1px solid #26b3a0;
+					background: linear-gradient(to right, #00ca88, #00BCD4);
+					color: #fff;
+				}
+
+				.hoversubmit {
+					background: #f7f7f7;
+					color: #acacb3;
+				}
 			}
+		}
+
+		.case {
+			color: #26b3a0;
+			background: #f5f8f7;
+			width: 100%;
+			height: 80rpx;
+			line-height: 80rpx;
+			font-size: 30rpx;
+			padding-left: 30rpx;
+			border-radius: 10rpx;
+			margin: 25rpx 0;
+			border-radius: 10rpx;
+			overflow: hidden;
+			display: -webkit-box !important;
+			text-overflow: ellipsis;
+			word-break: break-all;
+			-webkit-line-clamp: 1;
+			-webkit-box-orient: vertical !important;
+		}
 
-			&__title {
+		.helpme {
+			background: #EEF1F4;
+			
+			border-radius: 20rpx;
+			padding: 30rpx;
+			width: 48%;
+			margin-bottom: 25rpx;
+
+			// height: 92px;
+			.title {
 				font-size: 30rpx;
+				font-weight: bold;
+				margin-bottom: 18rpx;
+				color: #000;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap
 			}
 
-			/* 标题 end */
+			.sub_title {
+				color: #8f9ca2;
+				font-size: 24rpx;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				-webkit-line-clamp: 2;
+			}
+		}
+	}
 
-			/* 标签 start */
-			&__tags-container {
-				display: flex;
-				flex-direction: row;
-				flex-wrap: nowrap;
-				align-items: center;
-				justify-content: flex-start;
+	.wxad {
+		border-radius: 20rpx;
+		overflow: hidden;
+		margin-bottom: 24rpx;
+	}
+
+	.cu-dialog {
+		position: fixed;
+		top: 60rpx;
+		left: 100rpx;
+	}
+
+	.guide-img {
+		width: 580rpx;
+		height: 430rpx;
+	}
+
+	.select {
+		font-weight: bold;
+		font-size: 32rpx;
+		margin: 30rpx;
+	}
+
+	.model_view {
+		margin: 30rpx;
+
+		.modelname {
+			font-size: 32rpx;
+			font-weight: bold;
+			width: 56%;
+
+			.name {
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
 			}
 
-			&__tag {
-				margin: 10rpx;
-				color: #7C8191;
-				background-color: #F3F2F7;
-				padding: 4rpx 14rpx 6rpx;
-				border-radius: 10rpx;
-				font-size: 20rpx;
+			.modeldetails {
+				font-size: 26rpx;
+				font-weight: 500;
+				margin-top: 12rpx;
+				color: #9e9e9e;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				display: -webkit-box;
+				-webkit-line-clamp: 2;
+				-webkit-box-orient: vertical;
+			}
+		}
 
-				&:first-child {
-					margin-left: 0rpx !important;
+		.modelselect {
+			background: #03a9f4;
+			border-radius: 14rpx;
+			color: #fff;
+			width: 58px;
+			height: 30px;
+			line-height: 30px;
+			text-align: center;
+		}
+	}
+	// 首页修改
+	.newTop{
+		// height: 414rpx;
+		background: url('@/static/newIndex/topBg.png') no-repeat;
+		background-size: 100% 100%;
+		// margin-bottom: 42rpx;
+		margin-bottom: 0rpx;
+		.topTitle{
+			display: flex;
+			justify-content: center;
+			// padding-top: 53rpx;
+			// margin-bottom: 32rpx;
+			font-size: 34rpx;
+			font-family: PingFangSC-Medium, PingFang SC;
+			font-weight: 500;
+			color: #080F18;
+		}
+		
+		.topGridMenu{
+			display: flex;
+			justify-content: space-around;
+			margin-top: 26rpx;
+			.item{
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				image{
+					width: 120rpx;
+					height: 120rpx;
+				}
+				.label{
+					margin-top: 6rpx;
+					font-size: 24rpx;
+					font-family: PingFang-SC-Bold, PingFang-SC;
+					font-weight: bold;
+					color: #333333;
 				}
 			}
-
-			/* 标签 end */
-			/* 内容 end */
 		}
 	}
+	
+	.addBg{
+		background: url('@/static/newIndex/quesBg.png') no-repeat;
+		background-size: 100% 100%;
+		width: 100%;
+		// height: 558rpx;
+		.quesTop{
+			height: 130rpx;
+			padding: 0 5%;
+			.quesTxt{
+				font-size: 36rpx;
+				font-family: PingFang-SC-Bold, PingFang-SC;
+				font-weight: bold;
+				color: #00355F;
+			}
+		}
+	}
+	
+	::v-deep .u-tag__text{
+		font-size: 24rpx;
+		font-family: PingFang-SC-Medium, PingFang-SC;
+		font-weight: 500;
+		color: #207CF7;
+	}
+	
+	.clearAndSumBtn{
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		margin-top: 24rpx;
+		.clearBox{
+			width: 276rpx;
+			height: 76rpx;
+			border-radius: 38rpx;
+			border: 2rpx solid #CCCCCC;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			font-size: 28rpx;
+			font-family: PingFang-SC-Medium, PingFang-SC;
+			font-weight: 500;
+			color: #666666;
+			// margin-right: 20rpx;
+			image{
+				width: 26rpx;
+				height: 30rpx;
+				margin-right: 8rpx;
+			}
+		}
+		.submit{
+			// width: 276rpx;
+			width: 85%;
+			height: 76rpx;
+			border-radius: 38rpx;
+			background: linear-gradient(90deg, $tc2 0%, $tc 100%);
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			font-size: 28rpx;
+			font-family: PingFang-SC-Medium, PingFang-SC;
+			font-weight: 500;
+			color: #FFFFFF;
+		}
+		.rClear{
+			width: 15%;
+			height: 100%;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+		}
+	}
+	
+	.hotTxt{
+		font-size: 36rpx;
+		font-family: PingFang-SC-Bold, PingFang-SC;
+		font-weight: bold;
+		color: #333333;
+	}
+	.change{
+		font-size: 28rpx;
+		font-family: PingFang-SC-Medium, PingFang-SC;
+		font-weight: 500;
+		color: #333333;
+		margin-right: 8rpx;
+	}
+	
+	.caseBox{
+		display: flex;
+		flex-wrap: wrap;
+		.caseitem{
+			background:#E6E9EE;
+			border-radius: 32rpx;
+			padding: 14rpx 48rpx;
+			display: inline-block;
+			font-size: 24rpx;
+			font-family: PingFang-SC-Medium, PingFang-SC;
+			font-weight: 500;
+			color: #333333;
+			margin-bottom: 16rpx;
+		}
+	}
+	
+	
+	
+	
+.addbox{
+	// width: 690rpx;
+	background: #FFFFFF;
+	box-shadow: 0rpx 4rpx 20rpx -4rpx rgba(15,125,190,0.2);
+	border-radius: 24rpx;
+	padding: 0 30rpx;
+	// padding-left: 30rpx;
+	// padding-right: 30rpx;
+	padding-top: 20rpx;
+	// margin-left: 50%;
+	// transform: translateX(-50%);	
+}
 
-	.suspension {
-		background: linear-gradient(to right, #549DFF,#207CF7,);
-		color: #fff;
-		position: fixed;
-		left: 50%;;
-		bottom: 180rpx;
-		width: 648rpx;
-		height: 96rpx;
-		border-radius: 48rpx 12rpx 48rpx 12rpx;
-		transform: translateX(-50%);
+.moreBox{
+	// width: 152rpx;
+	height: 48rpx;
+	background: #ECF0F3;
+	border-radius: 25rpx;
+	// opacity: 0.07;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	padding-right: 5rpx;
+	.moretxt{
+		font-size: 24rpx;
+		font-family: PingFang-SC-Medium, PingFang-SC;
+		font-weight: 600;
+		color: #00355F;
+	}
+}
+
+
+.bottomBox{
+	display: flex;
+	justify-content: space-between;
+	
+	.left{
+		overflow: hidden;
+		.title{
+			
+		}
+		.sub_title{
+			
+		}
+	}
+	.right{
 		
-		box-shadow: 0 3px 14px -2px  rgba(4, 89, 202,.6);
 	}
+}
+
+.mubanBox{
+	display: flex;
+	flex-wrap: wrap;
+	justify-content: space-between;
+}
+
+
 
-	.wike_ad {
-		margin: 0 6px 11px;
+.modalTag{
+	background: #DDEBFF;
+	border-radius: 30rpx;
+	
+	display: flex;
+	align-items: center;
+	padding-left: 20rpx;
+	padding-right: 5rpx;
+	.mw{
+		max-width: 310rpx;
 	}
+	.tagTxt{
+		// max-height: 72rpx;
+		font-size: 24rpx;
+		font-family: PingFang-SC-Medium, PingFang-SC;
+		font-weight: 500;
+		color: #207CF7;
+		// max-width: 280rpx;
+		overflow: hidden;
+			text-overflow: ellipsis;
+			white-space: nowrap;
+			// display: -webkit-box;  //使用自适应布局
+			// -webkit-line-clamp: 2;  //设置超出行数,要设置超出几行显示省略号就把这里改成几
+			// -webkit-box-orient: vertical;
+			
+		padding-top: 8rpx;
+		padding-bottom:8rpx;
+		line-height: 38rpx;
+	}
+}
+
+@keyframes rotate {
+	0%{
+		transform: rotate(0deg);
+	}
+	100%{
+		transform: rotate(360deg);
+	}
+}
+.go{
+	animation: rotate 1s;
+}
+.overBox{
+	// width: 100%;
+	// height: 100rpx;
+	// position: relative;
+	// z-index: 1;
+// 	.overLay{
+// 		background: red;
+// 		position: fixed;
+// 		top: 100rpx;
+// 		width: 100%;
+// 		height: 150rpx;
+// 	}
+}
+
 
-	.db {
-		height: 83px;
-	}
+.leadPic{
+	position: fixed;
+	background: rgba(0, 0, 0, .6);
+	z-index: 9999999999;
+	height:100vh;
+	width: 100vw;
+	top: 0;
+	
+	.lead1Box{
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		width: 100%;
+		height: 100%;
+		.lead1{
+			width: 317px;
+			height: 435px;
+			position: relative;
+			image{
+				width: 317px;
+				height: 435px;	
+				position: absolute;
+			}
+			.btn{
+				background:rgba(0, 0, 0, 0);
+				width: 160px;
+				height: 60px;
+				position: absolute;
+				bottom: 0;
+				right: 0;
+			}
+		}
+	}
+	
+	.lead2Box{
+		display: flex;
+		justify-content: center;
+		align-items: flex-end;
+		width: 100%;
+		height: 100%;
+		.lead2{
+			width: 264px;
+			height: 341px;
+			position: relative;
+			image{
+				width: 264px;
+				height: 341px;	
+				position: absolute;
+				margin-left: 30px;
+			}
+			
+			.btn{
+				background:rgba(0, 0, 0, 0);
+				// background:green;
+				width: 180px;
+				height: 60px;
+				position: absolute;
+				bottom: 160px;
+				
+				right: -30px;
+			}
+		}
+	}
+	
+	.swiperBox{
+		width: 100%;
+		height: 100%;
+	}
+}
+
+
+.inputTxtBox{
+	position: relative;
+	.clearImg{
+		width: 40rpx;
+		height: 40rpx;
+		position: absolute;
+		right: 26rpx;
+		bottom: 26rpx;
+	}
+}

+ 874 - 138
pages/painting/painting.vue

xqd xqd xqd xqd
@@ -1,64 +1,251 @@
 <template>
 	<view>
-		<!-- <view class="subsection">
-			<tn-subsection :list="subsectionlist" mode="button" :borderRadius="50"
-				animationType="cubic-bezier" bold :height="90" @change="getsubsection"></tn-subsection>
-		</view> -->
-		<wike-skeleton :count="4" v-if="showskeleton"></wike-skeleton>
-		<view style="height: 66px;"></view>
-		<z-paging ref="paging" refresher-complete-delay="200" v-model="drawList" @query="queryList">
-			<!-- <view slot="top" class="z_tabs" :style="{ marginTop: 66 + 'px' ,background: 'none'}"></view> -->
-			<view class="subsection">
-				<tn-subsection :list="subsectionlist" mode="button" :borderRadius="50" animationType="cubic-bezier" bold
-					:height="90" @change="getsubsection"></tn-subsection>
-			</view>
+		<!-- <wike-skeleton :count="5" v-if="!applayList.length"></wike-skeleton> -->
+
+
+		<!-- 	<view class="form u-flex align-center justify-center" :style="{height: windowHeight+'px'}"
+			v-if="appInfo.page_template == 1 || !appInfo.page_template"> -->
 
-			<view style="padding: 150rpx 15rpx 30rpx 15rpx;">
-				<view v-if="homeTemplate&&homeTemplate.banner&&homeTemplate.banner.length>0" class="wike_ad">
-					<wike-ad></wike-ad>
+		<view class="form u-flex align-center justify-center" :style="{height: windowHeight+'px'}"
+			v-if="appInfo.page_template == 1">
+			<view class="top-notice" v-if="appInfo && appInfo.notice"><u-notice-bar
+					:text="appInfo.notice"></u-notice-bar></view>
+			<view class="logo"><u--image :src="appInfo.site_logo_path?appInfo.site_logo_path:'/static/images/head.jpg'"
+					shape="circle" width="200rpx" height="200rpx"></u--image></view>
+			<u-transition :show="true" mode="slide-left">
+				<view class="title">{{ appInfo.site_name?appInfo.site_name:'AI问答机器人' }}</view>
+			</u-transition>
+			<u-transition :show="true" mode="slide-right">
+				<view class="desc">{{ appInfo.sub_title }}</view>
+			</u-transition>
+			<view class="btn-group">
+				<view class="btn" @click="onToForm"><u-button shape="circle" iconColor="#ffffff" color="#207CF7"
+						icon="chat" text="立即提问"></u-button></view>
+				<view v-if="appInfo.is_aipainting&&appInfo.is_aipainting == 1" class="btn" @click="ondraw"><u-button
+						shape="circle" iconColor="#ffffff" color="#ffc107" icon="edit-pen-fill" text="AI绘画"></u-button>
+				</view>
+			</view>
+		</view>
+		<view v-if="appInfo.page_template == 2 || appInfo.page_template == 3" style="background:#F4F7FC;">
+			<view class="newTop">
+				<view class="topTitle" :style="{paddingTop:isWx?'0':'53rpx',marginBottom:isWx?'0':'32rpx'}">
+					<view class="" v-if="!isWx">
+						AI人工智能助手
+					</view>
 				</view>
+				<view class="overBox" style="">
+					<u-notice-bar style="" bgColor='#C6D6E4' color='#3F5465' v-if="appInfo && appInfo.notice"
+						:text="appInfo.notice" :playState="playState" @over="handleOver"
+						@out="handleOut"></u-notice-bar>
+				</view>
+			</view>
 
-				<tn-waterfall v-if="drawList.length>0" ref="waterfall" v-model="drawList"
-					@finish="handleWaterFallFinish">
-					<template v-slot:left="{ leftList }">
-						<view v-for="(item, index) in leftList" :key="item.id" class="product__item"
-							@click="tnproduct(item.id)">
-							<view class="item__image">
-								<tn-lazy-load :threshold="6000" height="100%"
-									:image="item.imgs_file[0]?item.imgs_file[0]:item.origin_url" :index="item.id"
-									imgMode="widthFix"></tn-lazy-load>
+			<view class="directask">
+				<view class="addBg" style="padding-left: 0;padding-right: 0;">
+					<!-- 📝 -->
+					<view class="askaquestion u-flex align-center justify-between quesTop" style="">
+						<!-- 🔥 -->
+						<view class="u-flex align-center" style="align-items:center;">
+							<image src="/static/newIndex/quesIcon.png" mode="" style="width: 60rpx;height: 68rpx;">
+							</image>
+							<view class="quesRight" style="display: flex;align-items: center;">
+								<view class="quesTxt">直接提问</view>
+								<image src="/static/newIndex/dian.png" mode=""
+									style="height: 30rpx; height: 12rpx;margin-left: 10rpx;">
+								</image>
 							</view>
 						</view>
-					</template>
-					<template v-slot:right="{ rightList }">
-						<view v-for="(item, index) in rightList" :key="item.id" class="product__item"
-							@click="tnproduct(item.id)">
-							<view class="item__image">
-								<tn-lazy-load :threshold="6000" height="100%"
-									:image="item.imgs_file[0]?item.imgs_file[0]:item.origin_url" :index="item.id"
-									imgMode="widthFix"></tn-lazy-load>
+						<block v-if="showchat4">
+							<view class="modalTag" @click="showsheet = true">
+								<view class="tagTxt" :class="[!isPc?'mw':'']">
+									{{currentmodel}}
+								</view>
+								<image style="width: 22rpx;height: 12rpx;margin-left: 14rpx;"
+									src="/static/newIndex/arrDown.png" mode=""></image>
+							</view>
+						</block>
+						<block v-else-if="showchat35">
+							<view class="modalTag" @click="showsheet = true">
+								<view class="tagTxt" :class="[!isPc?'mw':'']">
+									{{currentmodel}}
+								</view>
+								<image style="width: 22rpx;height: 12rpx;margin-left: 14rpx;"
+									src="/static/newIndex/arrDown.png" mode=""></image>
 							</view>
+						</block>
+
+						<!-- 文心一言 -->
+						<block v-else>
+							<view class="modalTag" @click="showsheet = true">
+								<view class="tagTxt" :class="[!isPc?'mw':'']">
+									{{currentmodel}}
+								</view>
+								<image style="width: 22rpx;height: 12rpx;margin-left: 14rpx;"
+									src="/static/newIndex/arrDown.png" mode="">
+								</image>
+							</view>
+						</block>
+					</view>
+					<view class="textarea">
+						<view class="inputTxtBox">
+							<u--textarea @focus="focustextarea" maxlength="-1" v-model="valuechat" height="100"
+								border="none" :placeholder="placeholder"></u--textarea>
+							<image v-if="valuechat" @click="valuechat = ''" class="clearImg" src="/static/clear.png"
+								mode=""></image>
 						</view>
-					</template>
-				</tn-waterfall>
-				<!-- <wike-waterfall :dataList="data" :column="columns" @click="click" :radius="20" :margin="10"></wike-waterfall> -->
-			</view>
-			<view slot="bottom" class="z_tabs" :style="{ marginBottom: 72 + 'px' }"></view>
-		</z-paging>
+						<!-- 	<view class="operate u-flex align-center">
+							<view v-if="appInfo.page_template == 3" style="margin-right: 32rpx;">
+								<u--image :showLoading="true" :src="homeTemplate1.mode[selectornot].img_file.path"
+									width="30" height="30" @click="switchmodel = true" shape="circle"></u--image>
+							</view>
+						</view> -->
+						<view class="clearAndSumBtn">
+							<view @click="onSubmit(valuechat)" hover-class="hoversubmit" class="submit">
+								{{tapsubmit}}
+							</view>
+
+							<view class="rClear">
+								<image @click.stop="goLead" src="/static/wenhao.png" mode=""
+									style="width: 52rpx;height: 52rpx;"></image>
+							</view>
+						</view>
+					</view>
+				</view>
+
+				<!-- 	<view v-if="appInfo.page_template == 3" style="margin-bottom: 16px">
+					<u-alert :title="appInfo.notice" type="warning" effect="dark"></u-alert>
+				</view> -->
+
+
+				<block v-if="appInfo.page_template == 2">
+					<view class="askaquestion u-flex align-center justify-between" style="margin-bottom: 4rpx;">
+						<!-- 🔥 -->
+						<view class="u-flex align-center">
+							<image src="/static/newIndex/fire.png"
+								style="width: 40rpx;height: 42rpx;margin-left: 10rpx;"></image>
+							<text class="hotTxt">热门提问</text>
+						</view>
+						<view @click="updateTemplate" class="tn-flex align-center"
+							style="justify-content: flex-end;margin-top: 15rpx;">
+							<view style="" class="change">换一换</view>
+							<image ref="hyh" id="img01" class="shuaxin" :class="{'go':addRotate}"
+								src="/static/newIndex/change.png" style="width: 32rpx;height:28rpx;">
+							</image>
+						</view>
+					</view>
+					<view class="" style="padding-left: 10rpx;padding-right: 10rpx;">
+						<vastwu-barrage @teplateItemClicked="onSubmit" :textList1='templateData' :minTime="70"
+							:maxTime="100" :trackList='[14,86,158]' width="100%" height="230rpx"
+							ref="vBarrage"></vastwu-barrage>
+					</view>
+				</block>
+
 
-		<view @click="getcreate" class="suspension u-flex align-center justify-center">
-			AI创作
+				<view class="" v-if="appInfo.page_template == 2" style="padding-left: 10rpx;padding-right: 10rpx;">
+					<view class="addbox">
+						<view class="askaquestion u-flex align-center justify-between ">
+							<!-- 🛠️ -->
+							<view class="u-flex align-center" style="align-items: flex-end;">
+								<image style="width: 60rpx;height: 64rpx;margin-left: 10rpx;"
+									src="/static/newIndex/quesTemp.png"></image>
+								<text class="hotTxt" style="margin-bottom: -6rpx;">应用</text>
+							</view>
+							<view @click="onhelper" class="tn-flex align-center"
+								style="justify-content: flex-end;margin-top: 15rpx;">
+								<view class="moreBox">
+									<view class="moretxt" style="padding-left: 20rpx;">
+										更多</view>
+									<image src="/static/newIndex/yjt.png"
+										style="width: 8rpx;height: 16rpx;margin-left: 8rpx;" mode="">
+									</image>
+								</view>
+							</view>
+						</view>
+						<view style="margin-bottom: 10rpx;" class="mubanBox">
+							<navigator class="helpme"
+								:url="'/pages/template/detail?id=' + item.id+'&currentmodel='+currentmodel"
+								v-for="(item, index) in applayList" :key="index">
+
+								<view class="bottomBox">
+									<view class="left">
+										<view class="title">{{ item.title }}</view>
+										<view class="sub_title">{{ item.sub_title }}</view>
+									</view>
+									<view class="right">
+										<image v-if="index==0" src="/static/newIndex/mt.png"
+											style="width: 48rpx;height: 48rpx;" mode="">
+										</image>
+										<image v-if="index==1" src="/static/newIndex/wa.png"
+											style="width: 48rpx;height: 48rpx;" mode="">
+										</image>
+										<image v-if="index==2" src="/static/newIndex/qg.png"
+											style="width: 48rpx;height: 48rpx;" mode="">
+										</image>
+										<image v-if="index==3" src="/static/newIndex/kd.png"
+											style="width: 48rpx;height: 48rpx;" mode="">
+										</image>
+									</view>
+								</view>
+							</navigator>
+						</view>
+					</view>
+				</view>
+				<wike-ad></wike-ad>
+			</view>
 		</view>
 
+		<!-- 研究所或大学生身份切换 -->
+
+		<u-action-sheet @select="selectClick" :round="10" :actions="sheetlist" :title="titlesheet" :show="showsheet"
+			safeAreaInsetBottom @close="showsheet = false" cancelText="关闭"></u-action-sheet>
+		<!-- #ifdef H5 -->
+		<!-- <u-popup :show="h5share" mode="center" @close="h5share = false">
+			<view class="cu-dialog">
+				<image class="guide-img" src="http://shopro.7wpp.com/imgs/modal/share_guide.png" mode=""></image>
+			</view>
+		</u-popup> -->
+		<!-- #endif -->
+
+
+		<wike-model v-if="signShow" :authorize="false" :title="signTitle" btnText="立即获取" @save="signSign"
+			@close="signShow = false"></wike-model>
+		<!-- <block v-if="is_aipainting"> -->
+		<block>
+			<wike-tabbar2 :currTabIndex='2' v-if="appInfo.page_template == 3" :onTabbar="onTabbar"
+				:is_aipainting="is_aipainting" :isShowAnimate="isShowAnimate"
+				:appInfos="appInfo.page_template"></wike-tabbar2>
+			<wike-tabbar :currTabIndex='2' v-else :onTabbar="onTabbar" :is_aipainting="is_aipainting"
+				:isShowAnimate="isShowAnimate" :appInfos="appInfo.page_template"></wike-tabbar>
+		</block>
+		<!-- 暂时注释 -->
+
+		<wike-modal-qrcode :qrcode="gzhqrcode" :showconcern="showconcern"
+			@concernclose="concernclose"></wike-modal-qrcode>
 
-		<wike-tabbar2 :currTabIndex='2' v-if="appInfo.page_template == 3" :is_aipainting="appInfo.is_aipainting"
-			:onTabbar="true" :isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar2>
-		<wike-tabbar :currTabIndex='2' v-else :onTabbar="true" :is_aipainting="appInfo.is_aipainting"
-			:isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar>
 
 		<u-modal @cancel="handleCancel" @confirm="handleConfirm" cancelText='退出登录' showCancelButton :show="showFixInfo"
 			confirmColor="#26b3a0" confirmText="完善信息" title="请完善个人手机号信息后使用本应用"
 			content='您已充值,但未绑定手机号,请完善信息以方便为您提供进一步的服务'></u-modal>
+
+
+		<view class="leadPic" v-if="showlead">
+			<view class="lead1Box" v-show="showlead1">
+				<view class="lead1">
+					<image src="/static/images/lead1.png" mode=""></image>
+					<view class="btn" @click="showlead1=false">
+					</view>
+				</view>
+			</view>
+
+
+			<view class="lead2Box" v-show="!showlead1">
+				<view class="lead2">
+					<image src="/static/images/lead2.png" mode=""></image>
+					<view class="btn" @click="closeLead2">
+					</view>
+				</view>
+			</view>
+		</view>
 	</view>
 </template>
 
@@ -69,33 +256,185 @@
 		mapState,
 		mapGetters
 	} from 'vuex';
+	let interstitialAd = null,
+		timer,
+		time2;
+
+
+	import noticeBar from '@/components/noticeBar/index.vue'
+	import vastwuBarrage from '@/components/vastwu-barrage/vastwu-barrage.vue'
+
+	const isWechat = () => {
+		return String(navigator.userAgent.toLowerCase().match(/MicroMessenger/i)) === "micromessenger";
+	}
+
 	import {
-		apiurl
-	} from '@/common/request/request';
-	import $platform from '@/common/platform';
-	let rewardedVideoAd = null;
+		init
+	} from "@/common";
 	export default {
-		mixins: [],
-		components: {},
+		components: {
+			noticeBar,
+			vastwuBarrage
+		},
 		data() {
 			return {
-				list: [],
-				drawList: [],
-				subsectionlist: ['StableDiffusion绘图', 'MidJourney绘图'],
-				engine: 'mj',
-				showskeleton: true,
+				showlead: false,
+				showlead1: true,
+
 
 				showFixInfo: false,
+				current: 0,
+
+				playState: 'play',
+				// current: 0,
+				addRotate: false,
+
+				signTitle: '',
+				signShow: false,
+				selectornot: 0,
+				onTabbar: false,
+				isShowAnimate: false,
+				valuechat: '请写一篇西游记续集,里面包含一个角色马斯克',
+				platform: this.$platform.get(),
+				h5share: false,
+				windowHeight: 0,
+				placeholder: '您可以向AI提出任何问题...',
+				tapsubmit: ' 获取答案',
+				//模型
+				// paintingmode:false,
+				showsheet: false,
+				titlesheet: '切换模型',
+				//是否为gpt4模型
+				showchat4: false,
+				showchat35: false,
+
+				// #ifdef H5
+				sheetlist: [{
+						index: 0,
+						name: 'ChatGPT 4.0',
+						subname: "超级高效沟通·简单提问",
+						disabled: false
+					},
+					{
+						index: 1,
+						name: 'ChatGPT 3.5',
+						subname: "高效沟通·简单提问",
+						// color: '#207CF7',
+						disabled: false
+					},
+					{
+						index: 2,
+						name: '文心一言',
+						subname: "便捷沟通·简单提问",
+						// color: '#207CF7',
+						disabled: false
+					},
+
+					{
+						index: 3,
+						name: '讯飞火星',
+						subname: "极速沟通·便捷提问",
+						// color: '#207CF7',
+						disabled: false
+					},
+				],
+				// #endif
+				// 消耗
+				plan: {},
+				currentmodel: '',
+				switchmodel: false,
+				is_aipainting: '',
+				showconcern: false,
+				gzhqrcode: '',
+
+				showchatBaidu: false,
+
+				templateData: [],
+				applayList: [],
+				homeTemplate1: null,
+
+				appInfo: {}
 			};
 		},
 		computed: {
-			...mapGetters(['appInfo', 'userInfo', 'homeTemplate'])
+			...mapGetters(['isLogin', 'userInfo', 'homeTemplate', 'userData']),
+			isPc() {
+				return navigator.userAgent.indexOf('Mobile') > -1 ? false : true
+			},
+			isWx() {
+				return isWechat()
+			}
 		},
+		async onLoad(o) {
+			if (o.uniacid) {
+				uni.setStorageSync('uniacid', o.uniacid)
+				console.log('onload获取的应用ID----index', uni.getStorageSync('uniacid'));
+			}
+
+			var that = this;
+			uni.getSystemInfo({
+				success: function(res) {}
+			});
+			setTimeout(() => {
+				that.onTabbar = true;
+				that.isShowAnimate = true;
+			}, 500);
 
-		onLoad() {
-			// this.getRandomData()
+			// this.getTemplateData()
+		},
+		onReady() {
+			let that = this;
+			// #ifdef MP-WEIXIN
+			clearTimeout(timer);
+			// 在适合的场景显示插屏广告
+			timer = setTimeout(function() {
+				// 在页面onLoad回调事件中创建插屏广告实例
+				if (wx.createInterstitialAd && that.appInfo.interstitial_status == 1) {
+					interstitialAd = wx.createInterstitialAd({
+						adUnitId: that.appInfo.interstitial_id
+					});
+					interstitialAd.onLoad(() => {});
+					interstitialAd.onError(err => {});
+					interstitialAd.onClose(() => {
+						if (that.appInfo.interstitial_infinite_status && that.appInfo
+							.interstitial_infinite_status == 1) {
+							that.showInterstitial();
+						} else {
+							interstitialAd.show().catch(err => {
+								console.error(err);
+							});
+						}
+					});
+					interstitialAd.show().catch(err => {
+						console.error(err);
+					});
+				}
+			}, 4000);
+			// #endif
 		},
-		onShow() {
+		async onShow() {
+			let params = 'system.config';
+			let Res = await this.$http('conf.getGroupConf', {
+				group: params
+			})
+
+			if (Res.code == 0) {
+				this.appInfo = Res.data
+			}
+			console.log('首页---appInfo', Res);
+
+			// 生成固定通过链接分享信息
+			if (uni.getStorageSync('token') && uni.getStorageSync('uniacid')) {
+				let shareInfo = `uniacid=${uni.getStorageSync('uniacid')}&spm=` + this.$store.getters.userInfo.id +
+					'.1.0.' + (['H5', 'wxOfficialAccount', 'wxMiniProgram', 'App'].indexOf(this.platform) + 1) +
+					'.1'
+
+				uni.setStorageSync('shareInfo', shareInfo)
+				console.log('首页分享链接信息----------------------2:', shareInfo);
+			}
+
+			this.getTemplateData()
+
 			this.$http('user.info').then(res => {
 				if (res.code == 0) {
 					console.log('用户是否是首次支付成功,但未填写手机号', res.data.is_new);
@@ -104,43 +443,82 @@
 				}
 			})
 
-			// 网络变化检测
-			uni.onNetworkStatusChange(res => {
-				this.isConnected = res.isConnected;
 
-			});
-		},
-		onReady() {
-			// #ifdef MP-WEIXIN
-			if (wx.createRewardedVideoAd && this.appInfo.video_status == 1) {
-				rewardedVideoAd = wx.createRewardedVideoAd({
-					adUnitId: this.appInfo.video_id
-				});
-				rewardedVideoAd.onLoad(() => {
-					console.log('onLoad event emit');
-				});
-				rewardedVideoAd.onError(err => {
-					console.log('onError event emit', err);
-				});
-				rewardedVideoAd.onClose(res => {
-					if (res && res.isEnded) {
-						// 正常播放结束,可以下发游戏奖励
-						this.memberAddCoin();
-						this.showcoin = false;
-					} else {
-						// 播放中途退出,不下发游戏奖励
-						uni.showToast({
-							title: '看完广告后才可获得积分哦',
-							icon: 'none'
-						});
-					}
-				});
+			if (this.isLogin) {
+				this.getUserData()
 			}
-			// #endif
-			this.loading = false;
+			this.currentmodel = uni.getStorageSync("prestore") || "大学生"
+			if (uni.getStorageSync("prestore") == '文心一言') {
+				this.showchat4 = false
+				this.showchat35 = false
+				this.showchatBaidu = true
+
+				this.sheetlist[2].color = "#207CF7"
+				this.sheetlist[0].color = "black"
+				this.sheetlist[1].color = "black"
+				this.sheetlist[3].color = "black"
+			} else if (uni.getStorageSync("prestore") == '研究生') {
+				this.showchat4 = true
+				this.showchat35 = false
+				this.showchatBaidu = false
+
+				this.sheetlist[0].color = "#207CF7"
+				this.sheetlist[2].color = "black"
+				this.sheetlist[1].color = "black"
+				this.sheetlist[3].color = "black"
+			} else if (uni.getStorageSync("prestore") == '讯飞火星') {
+				this.sheetlist[3].color = "#207CF7"
+				this.sheetlist[0].color = "black"
+				this.sheetlist[2].color = "black"
+				this.sheetlist[1].color = "black"
+
+				this.showchat4 = false
+				this.showchat35 = false
+				this.showchatBaidu = false
+			} else {
+				this.sheetlist[1].color = "#207CF7"
+				this.sheetlist[0].color = "black"
+				this.sheetlist[2].color = "black"
+				this.sheetlist[3].color = "black"
+
+				this.showchat35 = true
+				this.showchatBaidu = false
+				this.showchat4 = false
+			}
+			this.init(this.currentmodel)
+			this.windowHeight = uni.$u.sys().windowHeight
+			this.systemwechat()
+
+
+			// let oldHerfUrl = JSON.stringify(location.herf ? location.herf : '')
+			// let oldHerfQuery = JSON.stringify(location.search)
+
+			// location.href = JSON.parse(oldHerfUrl + oldHerfQuery + '&a=123466')
+			// console.log('location.search', oldHerfQuery);
+
+			// window.onhashchange() {
+
+			// }
+			// return
+		},
+		onUnload() {
+			clearInterval(time2);
+			// clearInterval(this.timer);
+		},
+		beforeDestroy() {
+			// clearInterval(this.timer);
 		},
 		methods: {
 			...mapActions(['getUserInfo', 'showAuthModal', 'getUserData', 'logout']),
+			goLead() {
+				uni.navigateTo({
+					url: '/pages/user/public/lead'
+				})
+			},
+			closeLead2() {
+				this.showlead = false
+				uni.setStorageSync('isLead', 'yes')
+			},
 			handleCancel() {
 				this.showFixInfo = false
 				this.logout()
@@ -155,69 +533,427 @@
 					url: '/pages/user/userinfo?isNewUser=true'
 				})
 			},
-			queryList(pageNo, pageSize) {
-				//这里的pageNo和pageSize会自动计算好,直接传给服务器即可
-				const params = {
-					page: pageNo,
-					limit: pageSize,
-					engine: this.engine
-				};
-				this.$http('gallery.all', params).then(res => {
+
+			handleOver() {
+				if (!this.isPc) return
+				this.playState = 'paused'
+			},
+			handleOut() {
+				if (!this.isPc) return
+				this.playState = 'play'
+			},
+			async getTemplateData() {
+
+				let whereIn = [187, 171, 179, 181]
+				let res = await this.$http('common.template', {
+					whereIn: whereIn.join(',')
+				})
+				if (res.code == 0) {
+					this.templateData = res.data.hot
+					this.applayList = res.data.template
+					this.homeTemplate1 = res.data
+					// this.$store.commit('TEMPLATE', res.data);
+
+
+					console.log('首页热门提问:', this.templateData);
+					console.log('首页应用列表:', this.applayList);
+					console.log('首页homeTemplate1:', this.homeTemplate1);
+					// uni.setStorageSync('homeTemplate1', res.data);
+
+
+					if (!uni.getStorageSync('isLead') && res.data.hot.length) {
+						this.showlead = true
+					}
+				}
+			},
+
+			handleTo(item) {
+				if (item.name == '绘画') {
+					uni.switchTab({
+						url: '/pages/painting/painting'
+					})
+				} else if (item.name == '我的') {
+					uni.switchTab({
+						url: '/pages/user/user'
+					})
+				} else if (item.name == '充值') {
+
+					uni.setStorageSync('chargeFromIndex', true)
+					uni.navigateTo({
+						url: '/pages/user/member/member'
+					})
+				} else if (item.name == '应用') {
+					uni.switchTab({
+						url: '/pages/template/template'
+					})
+				}
+			},
+			startScroll() {
+				this.timer = setInterval(() => {
+					this.offset += this.step
+					if (this.offset >= this.itemWidth) {
+						this.offset = 0
+						this.noticeList.push(this.noticeList.shift())
+					}
+					// document.querySelector('.notice-content').style.transform = `translateX(-${this.offset}px)`
+				}, this.speed)
+			},
+
+
+			...mapActions(['appInit', 'logout', 'getUserInfo', 'getUserData']),
+			init(preModal) {
+				var that = this;
+				return Promise.all([this.appInit()]).then(res => {
+					that.is_aipainting = that.appInfo.is_aipainting
+					uni.setNavigationBarTitle({
+						title: that.appInfo.site_name
+					});
+					that.getPlan(preModal);
+				});
+			},
+			systemwechat() {
+				this.$http('conf.getGroupConf', {
+					group: 'system.wechat'
+				}).then(res => {
 					if (res.code == 0) {
-						uni.setNavigationBarTitle({
-							title: this.appInfo.site_name
-						});
-						this.showskeleton = false
-						if (pageNo == 1) {
-							this.drawList = []
+						this.gzhqrcode = res.data.qrcode_path
+						const focuson = uni.getStorageSync('focuson');
+						// console.log(focuson);
+						if (!focuson) {
+							if (this.gzhqrcode) {
+								if (this.appInfo.is_show_index_qrcode == 1) {
+									this.showconcern = true
+								}
+								if (this.isLogin && this.appInfo.is_show_logged_qrcode == 1) {
+									this.showconcern = true
+								}
+							}
 						}
-						this.$refs.paging.complete(res.data.data);
-						this.isLoading = false;
 					}
-				});
+				})
 			},
-			getsubsection(e) {
-				// console.log(e);
-				this.engine = e.index == 1 ? 'mj' : 'sd'
-				this.drawList = []
-				this.$refs.paging.reload(true);
+			concernclose() {
+				this.showconcern = false
 			},
-			getcreate() {
-				uni.navigateTo({
-					url: '/pages/painting/draw'
-				})
+			onselect(e) {
+				this.showcontext = false
+				this.switchmodel = this.selectornot == e ? true : false
+				this.selectornot = e;
 			},
-			/* 瀑布流*/
-			// 获取随机数据
-			getRandomData() {
-				// console.log(13);
-				// this.loadStatus = 'loading'
-				for (let i = 0; i < 10; i++) {
-					let index = this.$t.number.randomInt(0, this.data.length - 1)
-
-					let item = JSON.parse(JSON.stringify(this.data[index]))
-					item.id = this.$t.uuid()
-					this.list.push(item)
-					// console.log(this.list);
+			showInterstitial() {
+				time2 = setInterval(
+					function() {
+						interstitialAd.show().catch(err => {
+							console.error(err);
+						});
+					},
+					this.appInfo.gap ? this.appInfo.gap * 1000 : 12000
+				);
+			},
+
+			//选择模型
+			selectClick(index) {
+				for (var a = 0; a < this.sheetlist.length; a++) {
+					this.sheetlist[a].color = '#000'
 				}
+				// #ifdef MP-WEIXIN
+				this.sheetlist[index.index - 1].color = '#207CF7'
+				// #endif
+				// #ifdef H5
+				this.sheetlist[index.index].color = '#207CF7'
+				// #endif
+				this.showchat4 = index.index == 0 ? true : false
+				this.showchat35 = index.index == 1 ? true : false
+
+
+				this.showchatBaidu = index.index == 2 ? true : false
+				// this.showchat4 = false
+				this.getcurrentmodel()
 			},
-			// 瀑布流加载完毕事件
-			handleWaterFallFinish() {
-				// this.loadStatus = 'loadmore'
+			getPlan(preModal) {
+				let that = this;
+				this.$http('conf.getGroupConf', {
+					group: 'system.plan'
+				}).then(res => {
+					if (res.code == 0) {
+						this.plan = res.data
+
+						let gpt = this.appInfo;
+						// #ifdef H5
+						// if (gpt.is_gpt4 == 2) {
+						// 	this.sheetlist.shift()
+
+						// 	this.sheetlist[0].name = gpt.gpt35_alias ? gpt.gpt35_alias : 'ChatGPT 3.5'
+						// 	this.sheetlist[0].subname = gpt.gpt35_intro ? gpt.gpt35_intro : '高效沟通·简单提问'
+
+						// 	this.sheetlist[1].name = gpt.gpt3_alias ? gpt.gpt3_alias : '文心一言'
+						// 	this.sheetlist[1].subname = gpt.gpt3_intro ? gpt.gpt3_intro : '便捷沟通·简单提问'
+
+						// 	this.sheetlist[2].name = gpt.gpt2_alias ? gpt.gpt2_alias : '讯飞火星'
+						// 	this.sheetlist[2].subname = gpt.gpt2_intro ? gpt.gpt2_intro : '极速沟通·便捷提问'
+						// } else {
+						// 	this.sheetlist[0].name = gpt.gpt4_alias ? gpt.gpt4_alias : 'ChatGPT 4.0'
+						// 	this.sheetlist[0].subname = gpt.gpt4_intro ? gpt.gpt4_intro : '高效沟通·简单提问'
+
+						// 	this.sheetlist[1].name = gpt.gpt35_alias ? gpt.gpt35_alias : 'ChatGPT 3.5'
+						// 	this.sheetlist[1].subname = gpt.gpt35_intro ? gpt.gpt35_intro : '高效沟通·简单提问'
+
+						// 	this.sheetlist[2].name = gpt.gpt3_alias ? gpt.gpt3_alias : '文心一言'
+						// 	this.sheetlist[2].subname = gpt.gpt3_intro ? gpt.gpt3_intro : '便捷沟通·简单提问'
+
+						// 	this.sheetlist[3].name = gpt.gpt2_alias ? gpt.gpt2_alias : '讯飞火星'
+						// 	this.sheetlist[3].subname = gpt.gpt2_intro ? gpt.gpt2_intro : '极速沟通·便捷提问'
+						// }
+						// #endif
+						// #ifdef MP-WEIXIN
+						// this.sheetlist[0].name = gpt.gpt35_alias ? gpt.gpt35_alias : 'ChatGPT 3.5'
+						// this.sheetlist[0].subname = gpt.gpt35_intro ? gpt.gpt35_intro : '高效沟通·简单提问'
+						// this.sheetlist[0].name = 'ChatGPT 4.0'
+						// this.sheetlist[0].subname = '高效沟通·简单提问'
+
+						// this.sheetlist[1].name = 'ChatGPT 3.5'
+						// this.sheetlist[1].subname = '高效沟通·简单提问'
+
+						// this.sheetlist[2].name =: '文心一言'
+						// this.sheetlist[2].subname = '便捷沟通·简单提问'
+						// #endif
+						// this.getcurrentmodel1(preModal)
+
+					}
+				})
+
 			},
-			tnproduct(id) {
+			// getcurrentmodel1(preModal) {
 
-				uni.navigateTo({
-					url: '/pages/painting/details?urls=' + id + '&from=' + this.engine
+			// },
+			getcurrentmodel() {
+				let gpt = this.appInfo;
+				if (this.showchat4) {
+					this.currentmodel = gpt.gpt4_alias ? gpt.gpt4_alias : 'ChatGPT 4.0'
+				} else if (this.showchat35) {
+					this.currentmodel = gpt.gpt35_alias ? gpt.gpt35_alias : 'ChatGPT 3.5'
+				} else if (this.showchatBaidu) {
+					this.currentmodel = gpt.gpt3_alias ? gpt.gpt3_alias : '文心一言'
+				} else {
+					this.currentmodel = gpt.gpt2_alias ? gpt.gpt2_alias : '讯飞火星'
+				}
+
+				uni.setStorageSync('prestore', this.currentmodel);
+			},
+			updateTemplate() {
+				// this.$store.dispatch('getTemplate');
+				this.getTemplateData()
 
-					// + '&form=' + JSON.stringify(
-					// this.form)
+				this.addRotate = true
+				setTimeout((item, index) => {
+					this.addRotate = false
+				}, 1000)
+			},
+			onToForm() {
+				uni.navigateTo({
+					url: '/pages/chat/chat'
+				});
+			},
+			onhelper() {
+				uni.switchTab({
+					url: '/pages/template/template'
+				});
+			},
+			focustextarea() {
+				if (!this.isLogin) {
+					uni.navigateTo({
+						url: '/pages/user/signin'
+					});
+					uni.setStorageSync('route', '/pages/index/index');
+					return;
+				}
+				if (this.valuechat == "请写一篇西游记续集,里面包含一个角色马斯克") {
+					this.valuechat = ''
+				}
+			},
+			ondraw() {
+				// uni.navigateTo({
+				// 	url: '/pages/chat/chat?draw=1'
+				// });
+				uni.switchTab({
+					url: '/pages/painting/painting'
 				})
+			},
+			signSign() {
+				uni.navigateTo({
+					url: '/pages/user/member/member'
+				});
+				this.signShow = false
+			},
+			onSubmit(e) {
+
+				console.log('通过点击热门提问的问题:', e);
+				var that = this;
+				if (!that.isLogin) {
+					uni.navigateTo({
+						url: '/pages/user/signin'
+					});
+					uni.setStorageSync('route', '/pages/index/index');
+					return;
+				}
+				if (!e) {
+					uni.showToast({
+						title: '请输入关键词或问题',
+						icon: 'none'
+					});
+
+					return;
+				}
+				if (that.appInfo.time_member && that.appInfo.time_member == 1) {
+					if (that.showchat4) {
+						if (that.userData.vip_info && that.userData.is_validity > 0 && that.userData.vip_info
+							.gpt4_used ==
+							that.userData.vip_info.gpt4_times && that.userData.coin < that.plan.lock_gpt4) {
+							var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+							// this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>" + alias +
+							// 	"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
+							this.signTitle =
+								"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
+								that.plan.lock_gpt4 + "</span><span>" + alias +
+								"</span></p><p style='padding-top: 10px;'>您的提问<span>" + alias +
+								"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
+							this.signShow = true
+							return;
+						}
+						if (that.userData.is_validity == 0 && that.userData.coin < that.plan.lock_gpt4) {
+							var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+							this.signTitle =
+								"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
+								that.plan.lock_gpt4 + "</span><span>" + alias +
+								"</span></p><p style='padding-top: 10px;'>您的提问<span>" + alias +
+								"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
+							this.signShow = true
+							return;
+						}
+					} else {
+						if (that.userData.is_validity > 0 && that.userData.vip_info.gpt35_used == that.userData
+							.vip_info
+							.gpt35_times && that.userData.coin <= 0) {
+							var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+							// this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>" + alias +
+							// 	"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
+							this.signTitle =
+								"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
+								1 + "</span><span>" + alias +
+								"</span></p><p style='padding-top: 10px;'>您的提问<span>" + alias +
+								"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
+							this.signShow = true
+							return;
+						}
+						if (that.userData.is_validity == 0 && that.userData.coin <= 0) {
+							var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+							this.signTitle =
+								"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
+								1 + "</span><span>" + alias +
+								"</span></p><p style='padding-top: 10px;'>您的提问<span>" + alias +
+								"</span>不足或会员套餐内剩余次数不足,无法发起提问</p>"
+							this.signShow = true
+							return;
+						}
+					}
+				} else {
+					if (that.showchat4 && that.userData.coin < that.plan.lock_gpt4) {
+						var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+						this.signTitle =
+							"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
+							that.plan.lock_gpt4 + "</span><span>" + alias +
+							"</span></p><p style='padding-top: 10px;'>您当前有<span style='color: #26b3a0;padding: 0 4px;'>" +
+							that.userData.coin + "</span><span>" + alias + "</span>,无法发起提问,快去获取<span>" +
+							alias +
+							"</span>吧</p>"
+						this.signShow = true
+						return;
+					}
+					if (!that.showchat4 && that.userData.coin <= 0) {
+						var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+						this.signTitle =
+							"<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>" +
+							1 + "</span><span>" + alias +
+							"</span></p><p style='padding-top: 10px;'>您当前有<span style='color: #26b3a0;padding: 0 4px;'>" +
+							that.userData.coin + "</span><span>" + alias + "</span>,无法发起提问,快去获取<span>" +
+							alias +
+							"</span>吧</p>"
+						this.signShow = true
+						return;
+					}
+				}
+				// if(that.showchat4){
+				// 	if(that.userData.coin < that.plan.lock_gpt4){
+				// 		var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+				// 		this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>提问需要<span style='color: #26b3a0;padding: 0 4px;'>"+that.plan.lock_gpt4+"</span><span>"+alias+"</span></p><p style='padding-top: 10px;'>您当前有<span style='color: #26b3a0;padding: 0 4px;'>"+that.userData.coin+"</span><span>"+alias+"</span>,此模型不支持会员套餐,无法发起提问,快去获取<span>"+alias+"</span>吧</p>"
+				// 		this.signShow = true
+				// 		return;
+				// 	}
+				// }
+				// if (that.appInfo.time_member && that.appInfo.time_member == 1) {
+				// 	if (that.userData.is_validity > 0 && that.userData.vip_info.gpt35_used == that.userData.vip_info.gpt35_times && that.userData.coin <= 0) {
+				// 		var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+				// 		this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>"+alias+"</span>/会员套餐内剩余次数不足</p>"
+				// 		this.signShow = true
+
+				// 		return;
+				// 	}
+				// 	if (that.userData.is_validity == 0) {
+				// 		if (that.userData.coin <= 0) {
+				// 			var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+				// 			this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>" + alias +
+				// 				"</span>/会员套餐已到期</p>"
+				// 			this.signShow = true
+				// 			return;
+				// 		}
+				// 	}
+				// } else {
+				// 	if (that.userData.coin <= 0) {
+				// 		var alias = that.appInfo.number_alias ? that.appInfo.number_alias : '点数';
+				// 		this.signTitle = "<p style='font-weight: 550;font-size: 16px;'>您的提问<span>" + alias +
+				// 			"</span>不足</p>"
+				// 		this.signShow = true
+				// 		return;
+				// 	}
+				// }
+
+				if (this.currentmodel == '研究生') {
+					that.showchat4 = true
+				} else if (this.currentmodel == '大学生') {
+					that.showchat35 = true
+				}
+
+				if (that.showchat4) {
+					uni.navigateTo({
+						url: '/pages/chat/chat?showchat4=' + e + '&chat4=1'
+					});
+					that.valuechat = ''
+					return;
+				} else if (that.showchat35) {
+					uni.navigateTo({
+						url: '/pages/chat/chat?question=' + e + '&selectornot=' + that.selectornot +
+							'&showchat35=true'
+					});
+				} else if (that.showchatBaidu) {
+					// 文心一言
+					uni.navigateTo({
+						url: '/pages/chat/chat?showchat3=' + e + '&chat3=1'
+					});
+					that.valuechat = ''
+					return;
+				} else {
+					// 讯飞火星
+					uni.navigateTo({
+						url: '/pages/chat/chat?showchat2=' + e + '&chat2=1'
+					});
+					that.valuechat = ''
+					return;
+				}
 			}
 		}
 	};
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss">
 	@import './painting.scss';
 </style>

+ 2 - 2
pages/signin/signin.vue

xqd
@@ -105,10 +105,10 @@
 		<!-- #endif -->
 		<view class="wike_ad"><wike-ad></wike-ad></view>
 		<u-gap height="100" bgColor="#f2f2f2"></u-gap>
-		<wike-tabbar2 :currTabIndex='3' v-if="appInfo.page_template == 3" :is_aipainting="appInfo.is_aipainting"
+		<!-- 	<wike-tabbar2 :currTabIndex='3' v-if="appInfo.page_template == 3" :is_aipainting="appInfo.is_aipainting"
 			:onTabbar="true" :isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar2>
 		<wike-tabbar :currTabIndex='3' v-else :onTabbar="true" :is_aipainting="appInfo.is_aipainting"
-			:isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar>
+			:isShowAnimate="true" :appInfos="appInfo.page_template"></wike-tabbar> -->
 		<wike-modal-qrcode :qrcode="gzhqrcode" :showconcern="showconcern"
 			@concernclose="concernclose"></wike-modal-qrcode>
 

+ 4 - 0
pages/user/freeScore/index.scss

xqd
@@ -0,0 +1,4 @@
+iframe{
+	width: 100vw;
+	height:calc(100vh - 45px) ;
+}

+ 37 - 0
pages/user/freeScore/index.vue

xqd
@@ -0,0 +1,37 @@
+<template>
+	<view class="">
+		<view style="color: #fff;z-index: 99999999;position: relative;">
+			<tn-nav-bar :bottomShadow="false" backgroundColor="#207CF7">{{title}}</tn-nav-bar>
+			<view :style="{height: tobheight+'px'}"></view>
+		</view>
+		<iframe src="https://vwhjk.xet.tech/s/3WYb0z" frameborder="0"></iframe>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				content: '',
+				type: '',
+				title: '',
+				tobheight: 45,
+				platform: this.$platform.get(),
+				isLoading: true
+			}
+		},
+		onLoad(e) {
+			if (e && e.type) {
+				if (this.platform == 'wxMiniProgram') {
+					var menumtop = uni.getMenuButtonBoundingClientRect().top - uni.getSystemInfoSync().statusBarHeight
+					var paddingtop = uni.getSystemInfoSync().statusBarHeight + menumtop
+					this.tobheight = (menumtop + paddingtop + uni.getMenuButtonBoundingClientRect().height)
+				}
+			}
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	@import './index.scss';
+</style>

+ 37 - 9
pages/user/user.vue

xqd xqd xqd xqd xqd
@@ -124,17 +124,30 @@
 						<u-icon name="arrow-right" color="#9e9e9e" size="18"></u-icon>
 					</view>
 
-					<navigator class="cell" v-for="(item, index) in userList" :key="index"
-						:url="isLogin ? item.url : '/pages/user/signin'" @click="getroute">
-						<view class="cell-left" :style="{marginLeft:item.title=='订单记录'? '-14rpx':''}">
-							<!-- <image class="cell-icon" :src="item.icon" mode="aspectFill"></image> -->
-							<u-icon :isJianBian="true" :name="item.icon" :color="item.color"
-								:size="item.title=='订单记录'?28:item.title=='问答记录'?20:22"></u-icon>
-							<view class="cell-text">{{ item.title }}</view>
+					<navigator v-for="(item, index) in userList" :key="index"
+						:url="isLogin ? item.url : item.url=='custom'?'': '/pages/user/signin'" @click="getroute">
+
+						<!-- 免费课程 -->
+						<view v-if="item.url=='custom'" class="cell" @click="getFreeScore">
+							<view class="cell-left">
+								<u-icon :isJianBian="true" :name="item.icon" :color="item.color" size="22"></u-icon>
+								<view class="cell-text">免费课程</view>
+							</view>
+							<u-icon name="arrow-right" color="#9e9e9e" size="18"></u-icon>
+						</view>
+						<view v-else class="cell">
+							<view class="cell-left" :style="{marginLeft:item.title=='订单记录'? '-14rpx':''}">
+								<!-- <image class="cell-icon" :src="item.icon" mode="aspectFill"></image> -->
+								<u-icon :isJianBian="true" :name="item.icon" :color="item.color"
+									:size="item.title=='订单记录'?28:item.title=='问答记录'?20:22"></u-icon>
+								<view class="cell-text">{{ item.title }}</view>
+							</view>
+							<!-- <view class="iconfont iconmore1"></view> -->
+							<u-icon name="arrow-right" color="#9e9e9e" size="18"></u-icon>
 						</view>
-						<!-- <view class="iconfont iconmore1"></view> -->
-						<u-icon name="arrow-right" color="#9e9e9e" size="18"></u-icon>
 					</navigator>
+
+
 					<navigator class="cell" :url="isLogin ? '/pages/user/member/record' : '/pages/user/signin'"
 						@click="getroute">
 						<view class="cell-left">
@@ -556,6 +569,7 @@
 						url: '/pages/user/orderrecord/orderrecord',
 						color: '#26b3a0'
 					},
+
 					{
 						title: '问答记录',
 						icon: 'question-circle-fill',
@@ -563,6 +577,14 @@
 						url: '/pages/user/takenotes/takenotes',
 						color: '#31c9e8'
 					},
+					{
+						title: '免费课程',
+						icon: 'bookmark-fill',
+						path: 'coupon-fill',
+						// url: '/pages/user/freeScore/index',
+						url: 'custom',
+						color: '#26b3a0'
+					},
 					{
 						title: '修改用户信息',
 						icon: 'setting-fill',
@@ -681,6 +703,11 @@
 		},
 		methods: {
 			...mapActions(['getUserInfo', 'showAuthModal', 'getUserData', 'logout']),
+
+			getFreeScore() {
+				// console.log('getFreeScore()');
+				window.location = 'https://vwhjk.xet.tech/s/3WYb0z'
+			},
 			handleCancel() {
 				this.showFixInfo = false
 				this.logout()
@@ -810,6 +837,7 @@
 				});
 			},
 			getroute() {
+				console.log('getroute()');
 				if (!this.isLogin) {
 					uni.setStorageSync('route', '/pages/user/user');
 				}

+ 8 - 2
template.h5.html

xqd xqd
@@ -12,7 +12,7 @@
 		<!-- <meta property="og:image" content="http://example.com/image.jpg" /> -->
 		<!-- <meta property="og:description" content="Description Here" /> -->
 		<script>
-			var urlParam = location.search;
+			var urlParam = window.location.search;
 			if (urlParam.indexOf("payload") != -1) {
 				urlParam = decodeURIComponent(urlParam);
 			}
@@ -21,8 +21,14 @@
 			var r = urlParam.substr(1).match(reg);
 			if (r != null) {
 				var uniacid = unescape(r[2])
-				localStorage.setItem("uniacid", unescape(r[2]));
+				if (unescape(r[2])) {
+					localStorage.setItem("uniacid", unescape(r[2]));
+					// alert(unescape(r[2]))
+					console.log('unescape(r[2])-------------', unescape(r[2]));
+				}
 			};
+
+			// console.log('urlParam-------------', urlParam);
 			localStorage.setItem("version", "2.0.1.Release"); //静态资源版本号
 			localStorage.setItem("moduleName", "wike_oddjob");
 			localStorage.setItem("adminDomain", "/addons/" + localStorage.getItem("moduleName") + "/public");