Browse Source

轮播图和协议优化

李万涛 2 years ago
parent
commit
566b5d102d

+ 1 - 1
pages/chat/chat.vue

xqd
@@ -286,7 +286,7 @@
 
 				// 原方案
 
-				let url = 'http://t20.9026.com/api/chat/send'
+				let url = 'https://www.ai5566.top/api/chat/send'
 				fetch(url, {
 					method: 'POST',
 					headers: {

+ 0 - 426
pages/chat/chat1.vue

xqd
@@ -1,426 +0,0 @@
-<template>
-	<!-- <view style="padding-bottom: 248rpx;"> -->
-	<view style="">
-		<!-- #ifdef H5 -->
-		<view style="color: #000;">
-			<tn-nav-bar backgroundColor="#fff">GPT</tn-nav-bar>
-			<view :style="{ height: tobheight + 'px' }"></view>
-		</view>
-		<!-- #endif -->
-
-		<view class="content" @touchmove="touchmove">
-			<view class="msg-list">
-				<!-- 顶部切换模型内容块 -->
-				<view class="row">
-					<block>
-						<view class="other">
-							<view class="left" v-if="true" @click="">
-								<u-image
-									src="https://dev.iduomi.cc/addons/wike_chatgpt/public/static/storage/presets/mode/1.png"
-									mode="widthFix" radius="5" width="40" height="40"></u-image>
-							</view>
-							<view class="right">
-								<view class="username">
-									<view class="name"></view>
-									<view class="time">'ai问答机器人</view>
-								</view>
-								<view class="bubble">
-									<view class="content">
-										<view style="font-size: 32rpx;">我是您的AI助手,您可以向我提出任何问题~</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</block>
-				</view>
-
-
-
-				<block v-for="(row, index) in talkList" :key="index" :id="'msg' + row.id">
-					<view class="row">
-						<block>
-							<view class="my" v-if="row.fromid==1">
-								<view class="left">
-									<view class="username">
-										<view class="name">{{ row.nickname }}</view>
-									</view>
-									<u-icon v-if="row.content !='该问题已被隐藏!'" @click="copyText(index)" name="file-text"
-										color="#9e9e9e82" size="22"></u-icon>
-
-									<view v-if="row.type == 1" class="bubble" style="color: #fff;margin-left: 15rpx;">
-										<rich-text :nodes="row.content" @longtap="copy" :data-text="row.content"
-											selectable="true"></rich-text>
-									</view>
-
-								</view>
-								<view class="right">
-									<u-image :src="row.avatar?row.avatar:'/static/images/head.jpg'" mode="widthFix"
-										radius="5" width="42" height="42"></u-image>
-								</view>
-							</view>
-
-							<!-- GPT -->
-							<view class="other" v-if="row.fromid==-1">
-								<view class="left" v-if="true" @click="">
-									<u-image
-										src="https://dev.iduomi.cc/addons/wike_chatgpt/public/static/storage/presets/mode/1.png"
-										mode="widthFix" radius="5" width="42" height="42"></u-image>
-								</view>
-
-								<view class="right">
-									<view class="username" v-if="true">
-										<view class="name"></view>
-										<view class="time">{{row.nickname}}</view>
-									</view>
-
-									<view v-if="row.type == 1" class="bubble"
-										style="display: block;position: relative;">
-										<view>
-											<zero-markdown-view v-if="row.done" :themeColor="themeColor"
-												:markdown="row.content"></zero-markdown-view>
-
-											<text v-else @longtap="copy"
-												:data-text="row.content">{{ row.content.replace(/^\s+|\s+$/g, '') }}</text>
-
-											<!-- <text v-if="row.content == '正在思考中...'">{{ second }}s</text> -->
-
-											<text class="flash" v-if="row.show_flash">│</text>
-										</view>
-									</view>
-
-
-									<view v-if="row.done" class="tn-flex align-center justify-between operate">
-										<view @click="copyText(index)" hover-class="hoversubmit"
-											class="tn-flex align-center">
-											<u-icon name="file-text" top="1" color="#68d7bb" size="20"></u-icon>
-											<view class="duplicate">复制回答</view>
-										</view>
-									</view>
-
-								</view>
-							</view>
-						</block>
-					</view>
-				</block>
-			</view>
-			<view class="bottomheight"></view>
-			<view class="env"></view>
-		</view>
-		<view class="box-2">
-			<view class="flex_col">
-				<view class="flex_grow">
-					<u--textarea height="45" @blur="" @focus="focusinput" fixed :showConfirmBar="false"
-						v-model="content" placeholder="请输入您的问题..." maxlength="-1" border="none"
-						:cursorSpacing="80"></u--textarea>
-				</view>
-				<button class="send" @click.prevent="send(content)">发送</button>
-			</view>
-		</view>
-
-
-		<!-- 	<button @click="test">测试发送</button> -->
-
-		<!-- <wike-skeleton count="4" type="user" v-if="true"></wike-skeleton> -->
-
-		<u-no-network></u-no-network>
-		<!-- <wike-loading-page :isLoading="isLoading"></wike-loading-page> -->
-	</view>
-</template>
-
-<script>
-	import {
-		sendGpt
-	} from '@/api/public/index.js';
-
-	import {
-		userInfo
-	} from '@/api/my/index.js'
-	import {
-		clearTimeout
-	} from 'timers';
-
-	export default {
-		components: {
-
-		},
-		data() {
-			return {
-				templateQuestionList: [
-					'给产品经理的一些建议',
-					'讲一个冷笑话'
-				],
-
-				gpt_mode_index: 0,
-				talkList: [],
-				content: '',
-				thecontent: '',
-				image: '',
-				hot: [],
-				scrollTop: 999999,
-				scrollAnimation: false,
-				text1: ['您好,ChatGPT为您服务', '长按对话即可复制'],
-				tobheight: 45,
-				zhuangtai: 'AI智能问答机器人',
-				// platform: this.$platform.get(),
-				// isFlash:false,
-				showPoster: false,
-				posterObj: {},
-				switchmodel: false,
-				selectornot: 0,
-				modeldata: [],
-				qrcode: '',
-				haddressurl: '',
-				haddresssk: '',
-				scrollToView: '',
-				question_index: 0,
-				answer_index: 0,
-				themeColor: '#007AFF',
-				codeBgColor: '#26B3A0',
-				showexpand: false,
-
-				second: 15,
-				showanswer: false,
-				h5question: '',
-				followornot: true,
-				eights: false,
-				spmplatform: 0,
-				is_commission: 0,
-				timing: 30,
-				showcontext: true,
-				showfetch: true,
-				showdirect: true,
-				//通道
-				thoroughfare: 0,
-
-				//是否长按
-				showlongpress: false,
-				firstrecording: 0,
-				isLoading: true,
-
-				timer: null,
-
-
-				userInfo: {},
-
-				freeCount: 5
-			};
-		},
-		computed: {
-
-		},
-
-		async onLoad() {
-			if (uni.getStorageSync('token')) {
-				this.freeCount = 99999
-			}
-
-
-
-			let res = await userInfo()
-			console.log('gpt页用户个人信息返回值', res);
-			if (res.code == 0) {
-				this.userInfo = res.data
-			}
-
-
-
-			// var that = this;
-			// if (this.$Route.query.question) {
-			// 	this.h5question = this.$Route.query.question;
-			// }
-
-			this.followornot = true;
-			this.isLoading = false
-
-		},
-		onUnload() {
-			this.followornot = false
-			uni.$emit('stop')
-		},
-		methods: {
-
-			touchmove() {
-				this.followornot = false;
-			},
-
-			aigetAddress() {
-				this.send(this.h5question);
-			},
-
-
-			copy(e) {
-				var that = this;
-				var text = e.currentTarget.dataset.text;
-				uni.setClipboardData({
-					data: text,
-					success(res) {
-						uni.getClipboardData({
-							success(res) {}
-						});
-					}
-				});
-			},
-
-			focusinput() {
-				this.showexpand = false;
-				this.$nextTick(() => {
-					uni.pageScrollTo({
-						scrollTop: 9999,
-						duration: 300
-					});
-				});
-			},
-
-			// 发送信息
-			async send(e) {
-				if (this.freeCount <= 0) {
-					uni.showToast({
-						title: '抱歉,您的免费次数(5次)已用完!',
-						icon: 'none'
-					});
-					return;
-				}
-
-
-				let that = this;
-				if (that.talkList.length > 1 && !that.talkList[that.talkList.length - 1].done) {
-					uni.showToast({
-						title: '正在输入回答,请等待输入完成',
-						icon: 'none'
-					});
-					return;
-				}
-				if (!e) {
-					uni.showToast({
-						title: '请输入有效的内容',
-						icon: 'none'
-					});
-					return;
-				}
-				this.thecontent = e;
-				// console.log('提问内容检测');
-				uni.showLoading({})
-				uni.hideLoading();
-				// 将当前发送信息 添加到消息列表。
-				let data = {
-					id: new Date().getTime(),
-					content: e,
-					type: 1,
-					toid: 666,
-					fromid: 1,
-					avatar: this.userInfo.avatar,
-					nickname: '我',
-					done: true
-				};
-				this.talkList.push(data);
-
-				let chat_data = {
-					id: new Date().getTime(),
-					content: '正在思考中...',
-					type: 1,
-					toid: 666,
-					fromid: -1,
-					avatar: 'https://nywhcm.com/addons/wike_aging/public/static/storage/presets/mode/1.png',
-					nickname: '小助手',
-
-					show_flash: true,
-					done: false
-				};
-				this.talkList.push(chat_data);
-				this.$nextTick(() => {
-					// 清空内容框中的内容
-					this.content = '';
-					uni.pageScrollTo({
-						scrollTop: 99999,
-						duration: 300
-					});
-				});
-
-				// 重置是否来数据的判断
-				this.showanswer = false;
-				// this.show_flash = true;
-				// 允许跟随到最底部
-				this.followornot = true;
-
-				let url = 'http://t20.9026.com/api/chat/send'
-				fetch(url, {
-					method: 'POST',
-					headers: {
-						'Content-Type': 'application/json'
-					},
-					body: JSON.stringify({
-						// message:'介绍一下思维定制'
-						message: that.thecontent
-					})
-				}).then(async (resp) => {
-					let result = await resp.text()
-					const res = JSON.parse(result)
-					if ((resp.status >= 200 && resp.status < 300) && res.code == 0) {
-						that.talkList[that.talkList.length - 1].done = true
-						that.talkList[that.talkList.length - 1].show_flash = false
-						that.talkList[that.talkList.length - 1].content = res.data
-						that.$nextTick(() => {
-							uni.pageScrollTo({
-								scrollTop: 9999,
-								duration: 1000
-							});
-						})
-						that.freeCount--
-						console.log('游客剩余提问次数', that.freeCount)
-
-
-
-						// 此处发送记录问答记录的请求
-						console.log('每次记录问答参数', {
-							ques_content: that.talkList[that.talkList.length - 2].content,
-							ai_aswerContent: that.talkList[that.talkList.length - 1].content
-						})
-						// let res = await writeLog({
-						// 	ques_content: that.talkList[that.talkList.length - 2].content,
-						// 	ai_aswerContent: that.talkList[that.talkList.length - 1].content
-						// })
-						// if (res.code == 0) {
-						// 	console.log('记录问答记录成功');
-						// }
-
-
-					} else {
-						that.talkList[that.talkList.length - 1].done = true
-						that.talkList[that.talkList.length - 1].show_flash = false
-						that.talkList[that.talkList.length - 1].content = '本次提问由于网络超时出错啦,请稍后重新提问'
-						uni.showToast({
-							title: '本次提问由于网络超时出错啦,请稍后重新提问',
-							icon: 'none'
-						})
-
-					}
-				}).catch((err) => {
-					that.talkList[that.talkList.length - 1].done = true
-					that.talkList[that.talkList.length - 1].show_flash = false
-					that.talkList[that.talkList.length - 1].content = '本次提问由于网络超时出错啦,请稍后重新提问'
-					uni.showToast({
-						title: '本次提问由于网络超时出错啦,请稍后重新提问',
-						icon: 'none'
-					})
-				})
-			},
-			// 复制文本
-			copyText(e) {
-				uni.setClipboardData({
-					data: this.talkList[e].content,
-					success: function() {
-						// console.log('success');
-						uni.showToast({
-							title: '复制成功'
-						});
-					}
-				});
-			},
-		}
-	};
-</script>
-
-<style lang="scss" scoped>
-	@import '@/pages/chat/global.scss';
-	@import './chat.scss';
-</style>

+ 0 - 944
pages/chat/chat2.vue

xqd
@@ -1,944 +0,0 @@
-<template>
-	<!-- <view style="padding-bottom: 248rpx;"> -->
-	<view style="">
-		<!-- #ifdef H5 -->
-		<view style="color: #000;">
-			<tn-nav-bar backgroundColor="#fff">GPT</tn-nav-bar>
-			<view :style="{ height: tobheight + 'px' }"></view>
-		</view>
-		<!-- #endif -->
-
-		<view class="content" @touchmove="touchmove">
-			<view class="msg-list">
-
-				<!-- 顶部切换模型内容块 -->
-				<view class="row">
-					<block>
-						<view class="other">
-							<view class="left" v-if="true" @click="">
-								<u-image
-									src="https://dev.iduomi.cc/addons/wike_chatgpt/public/static/storage/presets/mode/1.png"
-									mode="widthFix" radius="5" width="40" height="40"></u-image>
-							</view>
-							<view class="right">
-								<view class="username">
-									<view class="name"></view>
-									<view class="time">'ai问答机器人</view>
-								</view>
-								<view class="bubble">
-									<view class="content">
-										<view style="font-size: 32rpx;">我是您的AI助手,您可以向我提出任何问题~</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</block>
-				</view>
-
-
-
-				<block v-for="(row, index) in talkList" :key="index" :id="'msg' + row.id">
-					<view class="row">
-						<block>
-							<view class="my" v-if="row.fromid==1">
-								<view class="left">
-									<view class="username">
-										<view class="name">{{ row.nickname }}</view>
-									</view>
-									<u-icon v-if="row.content !='该问题已被隐藏!'" @click="copyText(index)" name="file-text"
-										color="#9e9e9e82" size="22"></u-icon>
-
-									<view v-if="row.type == 1" class="bubble" style="color: #fff;margin-left: 15rpx;">
-										<rich-text :nodes="row.content" @longtap="copy" :data-text="row.content"
-											selectable="true"></rich-text>
-									</view>
-
-								</view>
-								<view class="right">
-									<u-image :src="row.avatar?row.avatar:'/static/images/head.jpg'" mode="widthFix"
-										radius="5" width="42" height="42"></u-image>
-								</view>
-							</view>
-
-							<!-- GPT -->
-							<view class="other" v-if="row.fromid==-1">
-								<view class="left" v-if="true" @click="">
-									<u-image
-										src="https://dev.iduomi.cc/addons/wike_chatgpt/public/static/storage/presets/mode/1.png"
-										mode="widthFix" radius="5" width="42" height="42"></u-image>
-								</view>
-
-								<view class="right">
-									<view class="username" v-if="true">
-										<view class="name"></view>
-										<view class="time">{{row.nickname}}</view>
-									</view>
-
-									<view v-if="row.type == 1" class="bubble"
-										style="display: block;position: relative;">
-										<view>
-											<zero-markdown-view v-if="row.done" :themeColor="themeColor"
-												:markdown="row.content"></zero-markdown-view>
-
-											<text v-else @longtap="copy"
-												:data-text="row.content">{{ row.content.replace(/^\s+|\s+$/g, '') }}</text>
-
-											<!-- <text v-if="row.content == '正在思考中...'">{{ second }}s</text> -->
-
-											<text class="flash" v-if="row.show_flash">│</text>
-										</view>
-									</view>
-
-
-									<view v-if="row.done" class="tn-flex align-center justify-between operate">
-										<view @click="copyText(index)" hover-class="hoversubmit"
-											class="tn-flex align-center">
-											<u-icon name="file-text" top="1" color="#68d7bb" size="20"></u-icon>
-											<view class="duplicate">复制回答</view>
-										</view>
-									</view>
-
-								</view>
-							</view>
-						</block>
-					</view>
-				</block>
-			</view>
-			<view class="bottomheight"></view>
-			<view class="env"></view>
-		</view>
-		<view class="box-2">
-			<view class="flex_col">
-				<view class="flex_grow">
-					<u--textarea height="45" @blur="blurinput" @focus="focusinput" fixed :showConfirmBar="false"
-						v-model="content" placeholder="请输入您的问题..." maxlength="-1" border="none"
-						:cursorSpacing="80"></u--textarea>
-				</view>
-				<button class="send" @click.prevent="send(content)">发送</button>
-			</view>
-		</view>
-
-
-		<!-- 	<button @click="test">测试发送</button> -->
-
-		<!-- <wike-skeleton count="4" type="user" v-if="true"></wike-skeleton> -->
-
-		<u-no-network></u-no-network>
-		<!-- <wike-loading-page :isLoading="isLoading"></wike-loading-page> -->
-	</view>
-</template>
-
-<script>
-	import {
-		sendGpt
-	} from '@/api/public/index.js';
-	import {
-		Socket
-	} from 'dgram';
-	import {
-		mapMutations,
-		mapActions,
-		mapState,
-		mapGetters
-	} from 'vuex';
-	import {
-		apiurl
-	} from '@/common/request/request';
-	import MumuRecorder from '@/uni_modules/mumu-recorder/components/mumu-recorder/mumu-recorder.vue';
-	import eliseAudio from '@/components/elise-audio/elise-audio.vue';
-
-	import {
-		userInfo
-	} from '@/api/my/index.js'
-	// #ifdef H5
-	import Recorder from 'recorder-core';
-	import 'recorder-core/src/engine/wav'
-	import {
-		log
-	} from 'util';
-	import {
-		clearTimeout
-	} from 'timers';
-
-
-	// #endif
-
-	let down, delay;
-	let interstitialAd = null,
-		timer,
-		time2,
-		timingr;
-	// const innerAudioContext = uni.createInnerAudioContext();
-	const recorderManager = uni.getRecorderManager();
-	export default {
-		components: {
-			MumuRecorder,
-			eliseAudio,
-			// #ifdef H5
-			Recorder
-			// #endif
-		},
-		data() {
-			return {
-				templateQuestionList: [
-					'给产品经理的一些建议',
-					'讲一个冷笑话'
-				],
-
-				gpt_mode_index: 0,
-				talkList: [],
-				content: '',
-				thecontent: '',
-				image: '',
-				hot: [],
-				scrollTop: 999999,
-				scrollAnimation: false,
-				text1: ['您好,ChatGPT为您服务', '长按对话即可复制'],
-				tobheight: 45,
-				zhuangtai: 'AI智能问答机器人',
-				platform: this.$platform.get(),
-				// isFlash:false,
-				showPoster: false,
-				posterObj: {},
-				switchmodel: false,
-				selectornot: 0,
-				modeldata: [],
-				qrcode: '',
-				haddressurl: '',
-				haddresssk: '',
-				scrollToView: '',
-				question_index: 0,
-				answer_index: 0,
-				themeColor: '#007AFF',
-				codeBgColor: '#26B3A0',
-				showexpand: false,
-
-				second: 15,
-				showanswer: false,
-				h5question: '',
-				followornot: true,
-				eights: false,
-				spmplatform: 0,
-				is_commission: 0,
-				timing: 30,
-				showcontext: true,
-				showfetch: true,
-				showdirect: true,
-				//通道
-				thoroughfare: 0,
-
-				//绘画输入框
-				drawcontent: '',
-				//绘画模式
-				paintingmode: false,
-				//是否在绘画
-				showdraw: false,
-				//绘画id
-				uuid: '',
-				//绘画列表
-				paintinglist: [],
-
-				//弹出录音
-				soundrecording: false,
-				//是否长按
-				showlongpress: false,
-				//音频
-				innerAudioContextsrc: '',
-				//取消音频加载
-				cancel: false,
-				//第一次录
-				firstrecording: 0,
-				isLoading: true,
-
-				timer: null,
-
-
-				userInfo: {},
-
-				freeCount: 5
-			};
-		},
-		computed: {
-			...mapGetters(['appInfo', 'hasLogin', 'userInfo', 'homeTemplate', 'userData'])
-		},
-		mounted() {
-
-		},
-		onReady() {
-
-		},
-
-		async onLoad() {
-			if (uni.getStorageSync('token')) {
-				this.freeCount = 99999
-			}
-
-
-
-			let res = await userInfo()
-			console.log('gpt页用户个人信息返回值', res);
-			if (res.code == 0) {
-				this.userInfo = res.data
-			}
-
-
-
-			var that = this;
-			if (this.$Route.query.question) {
-				this.h5question = this.$Route.query.question;
-				// this.aigetAddress();
-			}
-
-
-			this.spmplatform = ['H5', 'wxOfficialAccount', 'wxMiniProgram', 'App'].indexOf(this.platform) + 1;
-			this.followornot = true;
-			// #ifdef H5
-			this.toaigetAddress();
-			// #endif
-			this.isLoading = false
-			this.initGpt();
-			this.getCommissionSetting()
-			this.onmessage();
-			uni.onSocketError(function(res) {});
-		},
-		onShow: function() {
-
-		},
-		onUnload() {
-			this.followornot = false
-			uni.$emit('stop')
-		},
-		onHide() {
-
-		},
-		onReachBottom() {},
-		methods: {
-			test() {
-				let url = 'http://t20.9026.com/api/chat/send'
-				fetch(url, {
-					method: 'POST',
-					headers: {
-						'Content-Type': 'application/json'
-					},
-					body: JSON.stringify({
-						message: '帮我写一个数组去重的代码'
-						// message:'中国的首都是'
-					})
-				}).then(async (resp) => {
-					console.log('回复内容返回值', resp);
-					if (resp.staus > 300 && resp.staus < 200) {
-
-
-					} else {
-						const msg = await resp.text()
-						console.log('回复内容', JSON.parse(msg).data);
-
-					}
-				}).catch((err) => {
-					console.log('请求失败2-------', err);
-				})
-
-
-
-
-				// console.log(resp.body);
-
-				// const reader=resp.body.getReader()
-
-				// const textDecoder=new TextDecoder()
-				// while(1){
-				// 	const {done,value}	=await reader.read()
-				// 	if(done){
-				// 		break
-				// 	}
-				// 	const str=JSON.parse(textDecoder.decode(value)).data  
-				// 	console.log('strs.....',str);
-				// }
-
-			},
-
-
-
-			handleEnter(e) {
-				console.log('111111111111111111111111111111111111111111111');
-			},
-
-
-
-			...mapActions(['getUserInfo', 'showAuthModal', 'getUserData']),
-
-			touchmove() {
-				this.followornot = false;
-			},
-			getCommissionSetting() {
-				this.$http('conf.getGroupConf', {
-					group: 'system.commission'
-				}).then(res => {
-					if (res.code == 0) {
-						this.is_commission = res.data.is_commission
-					}
-				});
-			},
-
-
-
-
-			aigetAddress() {
-				this.send(this.h5question);
-			},
-
-
-
-			copy(e) {
-				var that = this;
-				var text = e.currentTarget.dataset.text;
-				uni.setClipboardData({
-					data: text,
-					success(res) {
-						uni.getClipboardData({
-							success(res) {}
-						});
-					}
-				});
-			},
-			changeinput(e) {},
-			focusinput() {
-				this.showexpand = false;
-				this.$nextTick(() => {
-					uni.pageScrollTo({
-						scrollTop: 9999,
-						duration: 300
-					});
-				});
-			},
-			blurinput() {
-				// this.showexpand = true;
-			},
-			commontemplate() {
-				this.$store.dispatch('getTemplate');
-			},
-			//敏感词过滤检测
-			getcheckText() {
-				var that = this;
-				return new Promise((resolve, reject) => {
-					that.$http('ai.checkText', {
-						prompt: that.thecontent
-					}).then(res => {
-						if (res.code == 0) {
-							resolve(1);
-						} else {
-							let data = {
-								id: new Date().getTime(),
-								content: '该问题已被隐藏!',
-								type: 1,
-								toid: that.toid,
-								fromid: that.userInfo.id,
-								avatar: that.userInfo.avatar,
-								nickname: that.userInfo.nickname,
-								done: true
-							};
-							that.talkList.push(data);
-							let chat_data = {
-								id: new Date().getTime(),
-								content: res.msg,
-								type: 1,
-								toid: this.toid,
-								fromid: -1,
-								avatar: this.homeTemplate.mode[this.selectornot]
-									.img_file.path,
-								nickname: this.homeTemplate.mode[this.selectornot]
-									.name,
-								show_flash: false,
-								done: true,
-								donec: true
-							};
-							this.talkList.push(chat_data);
-							this.$nextTick(() => {
-								// 清空内容框中的内容
-								this.content = '';
-								uni.pageScrollTo({
-									scrollTop: 9999,
-									duration: 300
-								});
-							});
-						}
-					})
-				});
-			},
-			// 发送信息
-			async send(e) {
-				if (this.freeCount <= 0) {
-					uni.showToast({
-						title: '抱歉,您的免费次数(5次)已用完!',
-						icon: 'none'
-					});
-					return;
-				}
-
-
-				let that = this;
-				if (that.talkList.length > 1 && !that.talkList[that.talkList.length - 1].done) {
-					uni.showToast({
-						title: '正在输入回答,请等待输入完成',
-						icon: 'none'
-					});
-					return;
-				}
-				if (!e) {
-					uni.showToast({
-						title: '请输入有效的内容',
-						icon: 'none'
-					});
-					return;
-				}
-				this.thecontent = e;
-				// console.log('提问内容检测');
-				uni.showLoading({})
-				uni.hideLoading();
-				// 将当前发送信息 添加到消息列表。
-				let data = {
-					id: new Date().getTime(),
-					content: e,
-					type: 1,
-					toid: 666,
-					fromid: 1,
-					avatar: this.userInfo.avatar,
-					nickname: '我',
-					done: true
-				};
-				this.talkList.push(data);
-
-				let chat_data = {
-					id: new Date().getTime(),
-					content: '正在思考中...',
-					type: 1,
-					toid: 666,
-					fromid: -1,
-					avatar: 'https://nywhcm.com/addons/wike_aging/public/static/storage/presets/mode/1.png',
-					nickname: '小助手',
-
-					show_flash: true,
-					done: false
-				};
-				this.talkList.push(chat_data);
-				this.$nextTick(() => {
-					// 清空内容框中的内容
-					this.content = '';
-					uni.pageScrollTo({
-						scrollTop: 99999,
-						duration: 300
-					});
-				});
-
-				// 重置是否来数据的判断
-				this.showanswer = false;
-				// this.show_flash = true;
-				// 允许跟随到最底部
-				this.followornot = true;
-
-				// 方案一
-				// 	that.timer=setTimeout(()=>{
-				// 	that.talkList[that.talkList.length-1].done=true
-				// 	that.talkList[that.talkList.length-1].show_flash=false
-				// 	that.talkList[that.talkList.length-1].content='本次提问出错/超时,请重新提问'
-				// 	uni.showToast({
-				// 		title:'本次提问出错/超时,请重新提问',
-				// 		icon:'none'
-				// 	})
-				// },60000)
-
-				let url = 'http://t20.9026.com/api/chat/send'
-				fetch(url, {
-					method: 'POST',
-					headers: {
-						'Content-Type': 'application/json'
-					},
-					body: JSON.stringify({
-						// message:'介绍一下思维定制'
-						message: that.thecontent
-					})
-				}).then(async (resp) => {
-					let result = await resp.text()
-					const res = JSON.parse(result)
-					if ((resp.status >= 200 && resp.status < 300) && res.code == 0) {
-						that.talkList[that.talkList.length - 1].done = true
-						that.talkList[that.talkList.length - 1].show_flash = false
-						that.talkList[that.talkList.length - 1].content = res.data
-						that.$nextTick(() => {
-							uni.pageScrollTo({
-								scrollTop: 9999,
-								duration: 1000
-							});
-						})
-						that.freeCount--
-						console.log('游客剩余提问次数', that.freeCount)
-
-
-
-						// 此处发送记录问答记录的请求
-						console.log('每次记录问答参数', {
-							ques_content: that.talkList[that.talkList.length - 2].content,
-							ai_aswerContent: that.talkList[that.talkList.length - 1].content
-						})
-						// let res = await writeLog({
-						// 	ques_content: that.talkList[that.talkList.length - 2].content,
-						// 	ai_aswerContent: that.talkList[that.talkList.length - 1].content
-						// })
-						// if (res.code == 0) {
-						// 	console.log('记录问答记录成功');
-						// }
-
-
-					} else {
-						that.talkList[that.talkList.length - 1].done = true
-						that.talkList[that.talkList.length - 1].show_flash = false
-						that.talkList[that.talkList.length - 1].content = '本次提问由于网络超时出错啦,请稍后重新提问'
-						uni.showToast({
-							title: '本次提问由于网络超时出错啦,请稍后重新提问',
-							icon: 'none'
-						})
-
-					}
-				}).catch((err) => {
-					that.talkList[that.talkList.length - 1].done = true
-					that.talkList[that.talkList.length - 1].show_flash = false
-					that.talkList[that.talkList.length - 1].content = '本次提问由于网络超时出错啦,请稍后重新提问'
-					uni.showToast({
-						title: '本次提问由于网络超时出错啦,请稍后重新提问',
-						icon: 'none'
-					})
-				})
-
-				// 方案二	
-				// 	that.timer=setTimeout(()=>{
-				// 	that.talkList[that.talkList.length-1].done=true
-				// 	that.talkList[that.talkList.length-1].show_flash=false
-				// 	that.talkList[that.talkList.length-1].content='本次提问出错/超时,请重新提问'
-				// 	uni.showToast({
-				// 		title:'本次提问出错/超时,请重新提问',
-				// 		icon:'none'
-				// 	})
-				// },60000)
-				// 	let res=await sendGpt({
-				// 		message:that.thecontent
-				// 	})
-
-				// 	console.log('gpt返回值',res);
-				// 	if(res.code==0){
-				// 		 clearInterval(that.timer);
-				// 		that.timer = null;
-
-				// 		that.talkList[that.talkList.length-1].done=true
-				// 		that.talkList[that.talkList.length-1].show_flash=false
-				// 		that.talkList[that.talkList.length-1].content=res.data
-				// 		this.$nextTick(()=>{
-				// 			uni.pageScrollTo({
-				// 				scrollTop: 9999,
-				// 				duration: 1000
-				// 			});
-				// 		})
-				// 		console.log('最新的消息列表数据',that.talkList);
-
-				// 	}		
-			},
-
-
-
-			//fetch模式
-			fetchmodel(e) {
-				// console.log('走方案2');
-				var that = this;
-				let i = 1,
-					message = '';
-				let answer = '';
-				that.thoroughfare = 2;
-				this.question_index = that.talkList.length - 1;
-				this.answer_index = that.talkList.length - 2;
-				if (that.talkList.length > 2 && that.showcontext) {
-					answer = that.talkList[that.question_index - 2].content;
-				}
-
-				let param = {
-					max_tokens: 3000,
-					model: 'gpt-3.5-turbo-0301',
-					stream: true,
-					messages: [{
-							role: 'assistant',
-							content: answer
-						},
-						{
-							role: 'system',
-							content: that.homeTemplate.mode[that.selectornot].guide
-						},
-						{
-							role: 'user',
-							content: e
-						}
-					]
-				};
-				let headers = {};
-				if (that.appInfo.connect_lines == 2) {
-					headers = {
-						'Content-Type': 'application/json',
-						Authorization: 'Bearer' + ' ' + that.haddresssk
-					}
-				}
-				// console.log(that.haddressurl,headers,param,that.appInfo.connect_lines);
-				fetch(that.haddressurl, {
-						method: 'POST',
-						body: JSON.stringify(param),
-						headers: headers
-					})
-					.then(x => {
-						if (x.status === 200) return x.body;
-						throw x;
-					})
-					.then(x => {
-						const k = x.getReader();
-
-						return new ReadableStream({
-							start(V) {
-								function F() {
-									k.read().then(({
-										done: E,
-										value: U
-									}) => {
-
-										that.showanswer = true;
-										if (E) {
-											// console.log('done', E)
-											// , V.close();
-											that.timing = that.appInfo
-												.text_expire_time ? Number(that
-													.appInfo.text_expire_time) : 30;
-											that.showcontext = true;
-											that.getcontext();
-											that.record(that.talkList[that
-													.answer_index].content,
-												message);
-											that.talkList[that.question_index]
-												.show_flash = false;
-											that.talkList[that.question_index].done =
-												true;
-											that.getUserData();
-											if (that.followornot) {
-												uni.pageScrollTo({
-													scrollTop: 9999,
-													duration: 300
-												});
-											}
-
-											return;
-										}
-										V.enqueue(U);
-										const L = new TextDecoder().decode(U);
-
-										try {
-											const G = L.match(/data:\s/g),
-												j = L.split('data:').filter(w => !!w
-													.trim() && w
-													.trim() !== '[DONE]');
-											// console.log(j);
-											// let N = null;
-
-											let N = j
-												.map(w => JSON.parse(w))
-												.map(w => (N = w.choices[0].delta
-													.content))
-												.join('');
-
-
-											if (N != undefined) {
-												message += N;
-											}
-											if (that.thoroughfare == 2) {
-												that.talkList[that.question_index]
-													.content = message;
-											}
-											// let C = null;
-											let C = j
-												.map(w => JSON.parse(w))
-												.map(w => (N = w.choices[0]
-													.finish_reason))
-												.join('');
-											if (C == 'stop') {
-												that.timing = that.appInfo
-													.text_expire_time ? Number(
-														that.appInfo.text_expire_time
-													) : 30;
-												that.showcontext = true;
-												that.getcontext();
-												that.record(that.talkList[that
-														.answer_index].content,
-													message);
-												that.talkList[that.question_index]
-													.show_flash = false;
-												that.talkList[that.question_index]
-													.done = true;
-												that.getUserData();
-												// if (that.followornot) {
-												// 	uni.pageScrollTo({
-												// 		scrollTop: 9999,
-												// 		duration: 300
-												// 	});
-												// }
-												setTimeout(() => {
-													uni.pageScrollTo({
-														scrollTop: 9999,
-														duration: 300
-													});
-												}, 100);
-
-												return;
-											}
-											// console.log(C,'1');
-											if (that.followornot) {
-												uni.pageScrollTo({
-													scrollTop: 9999,
-													duration: 0
-												});
-											}
-										} catch (G) {
-											// console.error(G,'1');
-										}
-										F();
-									});
-								}
-								F();
-							}
-						});
-					})
-					.then(x =>
-						new Response(x, {
-							headers: {
-								'Content-Type': 'text/html'
-							}
-						}).text()
-					);
-			},
-			// 记录回答
-			record(question, answer) {
-				let that = this;
-				this.$http('question.add', {
-					question,
-					answer
-				}).then(res => {
-					if (res.code == 0) {
-						that.getUserData();
-						// console.log(that.question_index);
-					} else {
-						that.talkList[that.question_index].content = res.msg;
-						that.talkList[that.question_index - 1].content = '该问题已被隐藏!';
-						that.talkList[that.question_index].show_flash = false;
-						that.talkList[that.question_index].done = true;
-						that.talkList[that.question_index].donec = true;
-					}
-
-				});
-			},
-			// 复制文本
-			copyText(e) {
-				uni.setClipboardData({
-					data: this.talkList[e].content,
-					success: function() {
-						// console.log('success');
-						uni.showToast({
-							title: '复制成功'
-						});
-					}
-				});
-			},
-			// 插屏广告显示时间
-			showInterstitial() {
-				time2 = setInterval(
-					function() {
-						interstitialAd.show().catch(err => {
-							// console.error(err);
-						});
-					},
-					this.appInfo.gap ? this.appInfo.gap * 1000 : 12000
-				);
-			},
-			// 生成图片
-			toSave() {
-				uni.showLoading({
-					title: '海报生成中'
-				});
-				this.$refs.painter.canvasToTempFilePathSync({
-					// 在nvue里是jpeg
-					fileType: 'jpg',
-					quality: 1,
-					success: res => {
-						// this.path = res.tempFilePath;
-						// this.$refs.posterImg.open();
-						// this.show_poster = true;
-
-						// console.log(res.tempFilePath);
-						// 非H5 保存到相册
-						// H5 提示用户长按图另存
-
-						// #ifdef H5
-						this.showPoster = false;
-						uni.hideLoading();
-						uni.showModal({
-							confirmColor: '#26B3A0',
-							confirmText: '查看图片',
-							title: '提示',
-							content: '查看图片后长按图片即可保存或分享',
-							success(src) {
-								if (src.confirm) {
-									uni.previewImage({
-										urls: [res.tempFilePath]
-									});
-								} else if (src.cancel) {
-									this.showPoster = true;
-								}
-							}
-						});
-						// #endif
-					}
-				});
-			},
-			//预览图片
-			preview(e) {
-				uni.previewImage({
-					urls: [this.paintinglist[e].img],
-
-				});
-			},
-			//选择模型
-			onselect(e) {
-				if (this.selectornot != e) {
-					let data = {
-						content: uni.$u.trim(this.homeTemplate.mode[e].greetings),
-						type: 1,
-						toid: this.toid,
-						fromid: -1,
-						avatar: this.homeTemplate.mode[e].img_file.path,
-						nickname: this.homeTemplate.mode[e].name,
-						done: true,
-						donec: true
-					};
-					this.talkList.push(data);
-					this.$nextTick(() => {
-						uni.pageScrollTo({
-							scrollTop: 9999,
-							duration: 300
-						});
-					});
-				}
-				this.showcontext = false
-				this.switchmodel = this.selectornot == e ? true : false;
-				this.selectornot = e;
-				// #ifdef H5
-				this.zhuangtai = this.homeTemplate.mode[e].name;
-				// #endif
-			},
-		}
-	};
-</script>
-
-<style lang="scss" scoped>
-	@import '@/pages/chat/global.scss';
-	@import './chat.scss';
-</style>

+ 8 - 2
pages/tusk/index.vue

xqd xqd
@@ -12,10 +12,10 @@
 		<view class="content">
 			<view class="top">
 				<!-- 方案一 -->
-				<swiper class="banner" circular :autoplay="false">
+				<swiper class="banner" circular :autoplay="true">
 					<swiper-item v-for="i in bannerList">
 						<image :src="i.picture
-" mode=""></image>
+" mode="" @click="handleBannerJump(i.url)"></image>
 					</swiper-item>
 				</swiper>
 				<!-- 方案二 -->
@@ -316,6 +316,12 @@
 
 		},
 		methods: {
+			handleBannerJump(url) {
+				if (url) {
+					window.open(url)
+				}
+			},
+
 			handleSearch(searchWord) {
 				// if (this.timer) {
 				// 	this.timer = null

+ 81 - 77
pages/user/commission/commission-log.vue

xqd xqd
@@ -1,105 +1,107 @@
 <!-- 佣金明细 -->
 <template>
 	<view>
-		<z-paging ref="paging" refresher-complete-delay="200" v-model="rewardLog" @query="queryList">
-			<!-- #ifdef H5 -->
-			<view style="color: #000000;">
-				<tn-nav-bar backgroundColor="#ffffff" :bottomShadow="false">任务佣金明细</tn-nav-bar>
-				<view :style="{height: tobheight+'px'}"></view>
-			</view>
-			<!-- #endif -->
-
-			<!-- <view slot="top" class="z_tabs" :style="{marginTop: tobheight+'px'}"></view> -->
-			<view class="commission-log-wrap">
-				<!-- 钱包卡片 -->
-				<view class="wallet-wrap">
-					<view class="wallet-card">
-						<view class="head-box u-flex">
-							<view class="head-title">累计收入</view>
-							<button class="u-reset-button look-btn" @tap="showMoney = !showMoney">
-								<!-- <view class="u-iconfont" :class="showMoney ? 'uicon-eye-fill' : 'uicon-eye-off'" style="color: #fff;font-size: 50rpx;"></view> -->
-								<u-icon :name="showMoney ? 'eye-fill':'eye-off'" color="#fff" size="22"></u-icon>
-							</button>
-						</view>
-						<view class="card-num">
-							{{ showMoney ? Number(commissionSum.total_income).toFixed(2) : '***' }}
-						</view>
-						<view class="card-bottom u-flex u-row-left">
-							<view class="card-item u-flex-1">
-								<view class="item-title">待入账佣金</view>
-								<view class="item-value">
-									{{ showMoney ?Number(commissionSum.wait_income) .toFixed(2) : '***' }}
-								</view>
+		<!-- <z-paging ref="paging" refresher-complete-delay="200" v-model="rewardLog" @query="queryList"> -->
+		<!-- #ifdef H5 -->
+		<view style="color: #000000;">
+			<tn-nav-bar backgroundColor="#ffffff" :bottomShadow="false">任务佣金明细</tn-nav-bar>
+			<view :style="{height: tobheight+'px'}"></view>
+		</view>
+		<!-- #endif -->
+		<view class="commission-log-wrap">
+			<!-- 钱包卡片 -->
+			<view class="wallet-wrap">
+				<view class="wallet-card">
+					<view class="head-box u-flex">
+						<view class="head-title">累计收入</view>
+						<button class="u-reset-button look-btn" @tap="showMoney = !showMoney">
+							<!-- <view class="u-iconfont" :class="showMoney ? 'uicon-eye-fill' : 'uicon-eye-off'" style="color: #fff;font-size: 50rpx;"></view> -->
+							<u-icon :name="showMoney ? 'eye-fill':'eye-off'" color="#fff" size="22"></u-icon>
+						</button>
+					</view>
+					<view class="card-num">
+						{{ showMoney ? Number(commissionSum.total_income).toFixed(2) : '***' }}
+					</view>
+					<view class="card-bottom u-flex u-row-left">
+						<view class="card-item u-flex-1">
+							<view class="item-title">待入账佣金</view>
+							<view class="item-value">
+								{{ showMoney ?Number(commissionSum.wait_income) .toFixed(2) : '***' }}
 							</view>
-							<view class="card-item u-flex-1">
-								<view class="item-title">可提现佣金</view>
-								<view class="item-value">
-									{{ showMoney ?Number(commissionSum.cashing) .toFixed(2): '***' }}
-								</view>
+						</view>
+						<view class="card-item u-flex-1">
+							<view class="item-title">可提现佣金</view>
+							<view class="item-value">
+								{{ showMoney ?Number(commissionSum.cashing) .toFixed(2): '***' }}
 							</view>
-							<!-- 	<view class="card-item u-flex-1">
+						</view>
+						<!-- 	<view class="card-item u-flex-1">
 								<view class="item-title">待入账佣金</view>
 								<view class="item-value">{{ showMoney ? on_cashout_money || '0.00' : '***' }}</view>
 							</view> -->
-							<view class="card-item u-flex-1">
-								<view class="item-title">已提现佣金</view>
-								<view class="item-value">
-									{{ showMoney ?Number(commissionSum.cashed) .toFixed(2) : '***' }}
-								</view>
+						<view class="card-item u-flex-1">
+							<view class="item-title">已提现佣金</view>
+							<view class="item-value">
+								{{ showMoney ?Number(commissionSum.cashed) .toFixed(2) : '***' }}
 							</view>
 						</view>
-						<button class="u-reset-button draw-btn"
-							@tap="jump('/pages/user/commission/withdraw',{type:1})">提现</button>
+					</view>
+					<button class="u-reset-button draw-btn"
+						@tap="jump('/pages/user/commission/withdraw',{type:1})">提现</button>
 
-						<view class="cashTips">
-							注:可提现佣金/已提现佣金包含了任务佣金和推广佣金
-						</view>
+					<view class="cashTips">
+						注:可提现佣金/已提现佣金包含了任务佣金和推广佣金
 					</view>
 				</view>
-				<!-- 筛选 -->
+			</view>
+			<!-- 筛选 -->
 
 
-				<view class="item-box">
-					<!-- 佣金明细列表 -->
-					<view class="log-item u-flex u-row-between" v-for="item in commissionList" :key="item.id">
-						<view class="item-left u-flex">
-							<view class="">
-								<view class="log-name">{{ item.title }}</view>
-								<view class="log-notice">{{ item.created_at }}</view>
-							</view>
+			<view class="" v-if="commissionList.length==0">
+				<empty style=""></empty>
+			</view>
+
+			<view class="item-box" v-else>
+				<!-- 佣金明细列表 -->
+				<view class="log-item u-flex u-row-between" v-for="item in commissionList" :key="item.id">
+					<view class="item-left u-flex">
+						<view class="">
+							<view class="log-name">{{ item.title }}</view>
+							<view class="log-notice">{{ item.created_at }}</view>
 						</view>
-						<view class="item-right">
-							<!-- 	<view class="log-num" :style="{ color: item.type?'#05C3A1' :'red'}">
+					</view>
+					<view class="item-right">
+						<!-- 	<view class="log-num" :style="{ color: item.type?'#05C3A1' :'red'}">
 								{{(item.type?'+':'-')+ item.money }}
 							</view> -->
-							<view v-if="item.status==0" class="log-num"
-								style="display: flex;flex-direction: column;align-items: center;">
-								<view class="" style="color:orange; width: 100rpx;text-align: center;">
-									待入账
-								</view>
-								<view class="" style="color:orange;width: 100rpx;text-align: center;">
-									{{item.amount}}
-								</view>
+						<view v-if="item.status==0" class="log-num"
+							style="display: flex;flex-direction: column;align-items: center;">
+							<view class="" style="color:orange; width: 100rpx;text-align: center;">
+								待入账
 							</view>
-							<view v-if="item.status==1" class="log-num"
-								style="display: flex;flex-direction: column;align-items: center;">
-								<view class="" style="color:#05C3A1">
-									+{{item.amount}}
-								</view>
+							<view class="" style="color:orange;width: 100rpx;text-align: center;">
+								{{item.amount}}
 							</view>
-							<view v-if="item.status==2" class="log-num"
-								style="display: flex;flex-direction: column;align-items: center;">
-								<view class="" style="color:red;">
-									审核失败
-								</view>
+						</view>
+						<view v-if="item.status==1" class="log-num"
+							style="display: flex;flex-direction: column;align-items: center;">
+							<view class="" style="color:#05C3A1">
+								+{{item.amount}}
+							</view>
+						</view>
+						<view v-if="item.status==2" class="log-num"
+							style="display: flex;flex-direction: column;align-items: center;">
+							<view class="" style="color:red;">
+								审核失败
 							</view>
-							<view class="log-date"></view>
 						</view>
+						<view class="log-date"></view>
 					</view>
 				</view>
 			</view>
-		</z-paging>
-		<wike-loading-page :isLoading="isLoading"></wike-loading-page>
+		</view>
+		<!-- </z-paging> -->
+		<!-- <wike-loading-page :isLoading="isLoading"></wike-loading-page> -->
 	</view>
 </template>
 
@@ -115,6 +117,8 @@
 		taskList,
 		taskCount
 	} from '@/api/my/index.js'
+
+	import empty from '@/components/empty/empty.vue'
 	export default {
 		data() {
 			return {

+ 86 - 82
pages/user/commission/commission-log2.vue

xqd xqd
@@ -1,110 +1,112 @@
 <!-- 佣金明细 -->
 <template>
 	<view>
-		<z-paging ref="paging" refresher-complete-delay="200" v-model="rewardLog" @query="queryList">
-			<!-- #ifdef H5 -->
-			<view style="color: #000000;">
-				<tn-nav-bar backgroundColor="#ffffff" :bottomShadow="false">推广佣金明细</tn-nav-bar>
-				<view :style="{height: tobheight+'px'}"></view>
-			</view>
-			<!-- #endif -->
-
-			<!-- <view slot="top" class="z_tabs" :style="{marginTop: tobheight+'px'}"></view> -->
-			<view class="commission-log-wrap">
-				<!-- 钱包卡片 -->
-				<view class="wallet-wrap">
-					<view class="wallet-card">
-						<view class="head-box u-flex">
-							<view class="head-title">累计收入</view>
-							<button class="u-reset-button look-btn" @tap="showMoney = !showMoney">
-								<!-- <view class="u-iconfont" :class="showMoney ? 'uicon-eye-fill' : 'uicon-eye-off'" style="color: #fff;font-size: 50rpx;"></view> -->
-								<u-icon :name="showMoney ? 'eye-fill':'eye-off'" color="#fff" size="22"></u-icon>
-							</button>
-						</view>
-						<view class="card-num">{{ showMoney ?  Number(recommendSum.total_income).toFixed(2) : '***' }}
-						</view>
-						<view class="card-bottom u-flex u-row-left">
-							<view class="card-item u-flex-1">
-								<view class="item-title">待入账佣金</view>
-								<view class="item-value">
-									{{ showMoney ? Number(recommendSum.wait_income).toFixed(2) : '***' }}
-								</view>
+		<!-- <z-paging ref="paging" refresher-complete-delay="200" v-model="rewardLog" @query="queryList"> -->
+		<!-- #ifdef H5 -->
+		<view style="color: #000000;">
+			<tn-nav-bar backgroundColor="#ffffff" :bottomShadow="false">推广佣金明细</tn-nav-bar>
+			<view :style="{height: tobheight+'px'}"></view>
+		</view>
+		<!-- #endif -->
+
+		<!-- <view slot="top" class="z_tabs" :style="{marginTop: tobheight+'px'}"></view> -->
+		<view class="commission-log-wrap">
+			<!-- 钱包卡片 -->
+			<view class="wallet-wrap">
+				<view class="wallet-card">
+					<view class="head-box u-flex">
+						<view class="head-title">累计收入</view>
+						<button class="u-reset-button look-btn" @tap="showMoney = !showMoney">
+							<!-- <view class="u-iconfont" :class="showMoney ? 'uicon-eye-fill' : 'uicon-eye-off'" style="color: #fff;font-size: 50rpx;"></view> -->
+							<u-icon :name="showMoney ? 'eye-fill':'eye-off'" color="#fff" size="22"></u-icon>
+						</button>
+					</view>
+					<view class="card-num">{{ showMoney ?  Number(recommendSum.total_income).toFixed(2) : '***' }}
+					</view>
+					<view class="card-bottom u-flex u-row-left">
+						<view class="card-item u-flex-1">
+							<view class="item-title">待入账佣金</view>
+							<view class="item-value">
+								{{ showMoney ? Number(recommendSum.wait_income).toFixed(2) : '***' }}
 							</view>
-							<view class="card-item u-flex-1">
-								<view class="item-title">可提现佣金</view>
-								<view class="item-value">
-									{{ showMoney ?Number(recommendSum.cashing).toFixed(2) : '***' }}
-								</view>
+						</view>
+						<view class="card-item u-flex-1">
+							<view class="item-title">可提现佣金</view>
+							<view class="item-value">
+								{{ showMoney ?Number(recommendSum.cashing).toFixed(2) : '***' }}
 							</view>
-							<!-- 	<view class="card-item u-flex-1">
+						</view>
+						<!-- 	<view class="card-item u-flex-1">
 										<view class="item-title">待入账佣金</view>
 										<view class="item-value">{{ showMoney ? on_cashout_money || '0.00' : '***' }}</view>
 									</view> -->
-							<view class="card-item u-flex-1">
-								<view class="item-title">已提现佣金</view>
-								<view class="item-value">
-									{{ showMoney ? Number(recommendSum.cashed).toFixed(2) : '***' }}
-								</view>
+						<view class="card-item u-flex-1">
+							<view class="item-title">已提现佣金</view>
+							<view class="item-value">
+								{{ showMoney ? Number(recommendSum.cashed).toFixed(2) : '***' }}
 							</view>
 						</view>
-						<button class="u-reset-button draw-btn"
-							@tap="jump('/pages/user/commission/withdraw',{type:2})">提现</button>
+					</view>
+					<button class="u-reset-button draw-btn"
+						@tap="jump('/pages/user/commission/withdraw',{type:2})">提现</button>
 
-						<view class="cashTips">
-							注:可提现佣金/已提现佣金包含了任务佣金和推广佣金
-						</view>
+					<view class="cashTips">
+						注:可提现佣金/已提现佣金包含了任务佣金和推广佣金
 					</view>
 				</view>
+			</view>
 
-				<!-- 筛选 -->
-
-
-				<view class="item-box">
-					<!-- 佣金明细列表 -->
-					<view class="log-item u-flex u-row-between" v-for="item in commissionList" :key="item.id">
-						<view class="item-left u-flex">
-							<view class="">
-								<view class="log-name">{{ item.title }}</view>
-								<view class="log-notice">{{ item.created_at }}</view>
+			<!-- 筛选 -->
+			<view class="" v-if="commissionList.length==0">
+				<empty style=""></empty>
+			</view>
 
-								<view class="nextUser" v-if="item.source_user">
-									<image class="nextAvatar"
-										:src="item.source_user.avatar!=''?item.source_user.avatar:'/static/images/head.jpg'"
-										mode=""></image>
-									<view class="nextUserName">
-										{{item.source_user.nickname }}
-									</view>
+			<view class="item-box">
+				<!-- 佣金明细列表 -->
+				<view class="log-item u-flex u-row-between" v-for="item in commissionList" :key="item.id">
+					<view class="item-left u-flex">
+						<view class="">
+							<view class="log-name">{{ item.title }}</view>
+							<view class="log-notice">{{ item.created_at }}</view>
+
+							<view class="nextUser" v-if="item.source_user">
+								<image class="nextAvatar"
+									:src="item.source_user.avatar!=''?item.source_user.avatar:'/static/images/head.jpg'"
+									mode=""></image>
+								<view class="nextUserName">
+									{{item.source_user.nickname }}
 								</view>
 							</view>
 						</view>
-						<view class="item-right">
-							<view v-if="item.status==0" class="log-num"
-								style="display: flex;flex-direction: column;align-items: center;">
-								<view class="" style="color:orange;width: 100rpx;text-align: center;">
-									待入账
-								</view>
-								<view class="" style="color:orange">
-									{{item.amount}}
-								</view>
+					</view>
+					<view class="item-right">
+						<view v-if="item.status==0" class="log-num"
+							style="display: flex;flex-direction: column;align-items: center;">
+							<view class="" style="color:orange;width: 100rpx;text-align: center;">
+								待入账
 							</view>
-							<view v-if="item.status==1" class="log-num"
-								style="display: flex;flex-direction: column;align-items: center;">
-								<view class="" style="color:#05C3A1">
-									+{{item.amount}}
-								</view>
+							<view class="" style="color:orange">
+								{{item.amount}}
 							</view>
-							<view v-if="item.status==2" class="log-num"
-								style="display: flex;flex-direction: column;align-items: center;">
-								<view class="" style="color:red;width: 70rpx;margin-left: 10rpx;">
-									审核失败
-								</view>
+						</view>
+						<view v-if="item.status==1" class="log-num"
+							style="display: flex;flex-direction: column;align-items: center;">
+							<view class="" style="color:#05C3A1">
+								+{{item.amount}}
+							</view>
+						</view>
+						<view v-if="item.status==2" class="log-num"
+							style="display: flex;flex-direction: column;align-items: center;">
+							<view class="" style="color:red;width: 70rpx;margin-left: 10rpx;">
+								审核失败
 							</view>
 						</view>
 					</view>
 				</view>
 			</view>
-		</z-paging>
-		<wike-loading-page :isLoading="isLoading"></wike-loading-page>
+		</view>
+		<!-- 	</z-paging>
+		<wike-loading-page :isLoading="isLoading"></wike-loading-page> -->
 	</view>
 </template>
 
@@ -120,6 +122,8 @@
 		recommendList,
 		recommendCount
 	} from '@/api/my/index.js'
+
+	import empty from '@/components/empty/empty.vue'
 	export default {
 		data() {
 			return {

+ 14 - 6
pages/user/commission/withdraw-log.vue

xqd xqd xqd xqd xqd
@@ -5,11 +5,16 @@
 		<view style="color: #000000;">
 			<tn-nav-bar backgroundColor="#ffffff" :bottomShadow="false">提现记录</tn-nav-bar>
 		</view>
-
-		<!-- <z-paging ref="paging" refresher-complete-delay="200" v-model="withdrawLog" @query="queryList"> -->
-		<!-- <view slot="top" class="z_tabs" :style="{marginTop: tobheight+'px'}"></view> -->
 		<view class="z_tabs" :style="{marginTop: tobheight+'px'}"></view>
-		<view class="wallet-log-box u-p-b-30">
+		<!-- 无提现记录 -->
+		<view class="" v-if="withdrawList.length==0">
+			<empty style="margin-top: 50%;"></empty>
+		</view>
+
+		<!-- 有提现记录 -->
+
+
+		<view class="wallet-log-box u-p-b-30" v-else>
 			<view class="log-list" v-for="(item,index) in withdrawList" :key="item.id" @click="toWithdrawRes(item)">
 				<view class="head u-flex u-col-center u-row-between">
 					<view class="title">{{item.title}}</view>
@@ -18,7 +23,6 @@
 				<view class="status-box item  u-flex u-col-center u-row-between">
 					<view class="item-title">申请状态</view>
 					<view class="status-text">
-						<!-- {{ item.status == 0?'申请中':item.status == 1?'已通过并打款':'已拒绝'}} -->
 						{{item.status==0?'待审核':item.status==1?'审核通过':'已拒绝'}}
 					</view>
 				</view>
@@ -60,7 +64,6 @@
 				<view class="" v-if="item.method==3">
 					<view class="time-box item  u-flex u-col-center u-row-between">
 						<text class="item-title">支付宝二维码</text>
-						<!-- <view class="time">{{item.ali_qrcode_url }}</view> -->
 						<image @click.stop="preImg(item.ali_qrcode_url)" style="width: 80rpx;height: 80rpx;"
 							:src="item.ali_qrcode_url" mode=""></image>
 					</view>
@@ -76,6 +79,9 @@
 				</view>
 			</view>
 		</view>
+
+
+
 	</view>
 </template>
 
@@ -90,6 +96,8 @@
 	import {
 		withdrawLog
 	} from '@/api/my/index.js'
+
+	import empty from '@/components/empty/empty.vue'
 	export default {
 		data() {
 			return {

+ 9 - 1
pages/user/commission/withdraw.vue

xqd xqd
@@ -144,7 +144,11 @@
 				<view class="title">{{ruleInfo.instructions}}</view>
 				<view class="draw-list">1.单次最低提现 {{minCash}} 元。</view>
 				<view class="draw-list">2.单日可提现 {{dayCash}} 元。</view>
-				<view class="draw-list">{{withdrawTxt}}</view>
+				<textarea class="draw-list" :value="withdrawTxt" name="" id="" cols="999999" rows="999999" auto-height
+					disabled></textarea>
+
+
+				<!-- <view class="draw-list">{{withdrawTxt}}</view> -->
 
 				<!-- <view class="draw-list">
 				2.每日最多可提现次数: {{ ruleInfo.perday_num ? ruleInfo.perday_num : '不限' }};每日最多提现金额(元):
@@ -870,6 +874,10 @@
 </script>
 
 <style lang="scss">
+	textarea {
+		width: 100%;
+	}
+
 	.head-box {
 		background: url('http://file.shopro.top/imgs/user/draw_money_head_bg.png') no-repeat;
 		background-size: 100% auto;

+ 0 - 785
pages/user/commission/withdraw1.vue

xqd
@@ -1,785 +0,0 @@
-<!-- 提现 -->
-<template>
-	<view class="">
-		<view style="color: #000000;">
-			<tn-nav-bar backgroundColor="#ffffff" :bottomShadow="false">提现</tn-nav-bar>
-			<view :style="{height: tobheight+'px'}"></view>
-		</view>
-
-		<view class="draw-money-wrap" style="background: #f6f6f6;height: 100%;">
-
-			<view class="head-box">
-				<!-- <shopro-navbar :background="{ background: 'none' }" :backTextStyle="{ color: '#fff' }" backText="提现" backIconColor="#fff"></shopro-navbar> -->
-				<!-- 可提现 -->
-				<view class="wallet-num-box u-flex u-col-center u-row-between">
-					<view class="">
-						<view class="num-title">可提现金额(元)</view>
-						<view class="wallet-num">{{ okmoney || '0.00' }}</view>
-					</view>
-					<button class="u-reset-button log-btn"
-						@tap="$Router.push({ path: '/pages/user/commission/withdraw-log' })">提现记录</button>
-					<!-- <button class="u-reset-button log-btn">提现记录</button> -->
-				</view>
-			</view>
-			<!-- 提现输入卡片-->
-			<view class="draw-card">
-				<view class="card-title">提现金额</view>
-				<view class="input-box u-flex u-col-center">
-					<view calss="unit">¥</view>
-					<input class="u-flex-1 u-p-l-10" type="number" @input="onWithdrawInput" v-model="money"
-						:placeholder-style="placeholderStyle" placeholder="请输入提现金额" />
-				</view>
-				<view class="bank-box u-flex u-col-center u-row-between u-m-b-30">
-					<view class="name">提现至</view>
-					<view class="bank-list u-flex" @tap="showWithdrawList = true">
-						<view class="empty-text" v-if="!withdrawType">请选择提现方式</view>
-						<view class="sel-box u-flex u-col-center" v-else>
-							<image class="item-img" :src="withdrawList[withdrawType].icon" mode=""></image>
-							<view class="item-title u-m-l-20">{{ withdrawList[withdrawType].title }}</view>
-						</view>
-						<text class="u-iconfont uicon-arrow-right" style="#C4C4C4;"></text>
-					</view>
-					<!-- 	<view class="bank-list u-flex">
-						<view class="sel-box u-flex u-col-center">
-							<image class="item-img" src="https://file.shopro.top/imgs/wallet/wx_type.png" mode="">
-							</image>
-							<view class="item-title u-m-l-20">微信</view>
-						</view>
-					</view> -->
-				</view>
-				<!-- 提现信息 -->
-				<view class="bank-info u-m-b-80">
-					<view class="u-flex u-row-between u-col-center" v-if="withdrawType">
-						<block v-if="withdrawType === 'wechat'">
-							<view class="bank-info-title">
-								{{ !withdrawInfo ? '暂无微信授权信息' : `${withdrawInfo.bank_name || ''}  [${withdrawInfo.card_no || ''}] ${withdrawInfo.real_name || ''}` }}
-							</view>
-							<button v-if="!withdrawInfo" class="u-reset-button bind-btn u-m-l-20"
-								@tap="bindThirdOauth()">绑定</button>
-						</block>
-						<block v-else>
-							<view class="bank-info-title">
-								{{
-								!withdrawInfo
-									? `暂无${withdrawList[withdrawType].title}信息`
-									: `${withdrawInfo.bank_name || ''}  [${withdrawInfo.card_no || ''}] ${withdrawInfo.real_name || ''}`
-							}}
-							</view>
-							<button class="u-reset-button bind-btn u-m-l-20"
-								@tap="toBind">{{ withdrawInfo ? '修改' : '添加' }}</button>
-						</block>
-					</view>
-				</view>
-				<button class="u-reset-button save-btn" @tap="withdraw">确认提现</button>
-			</view>
-			<!-- 提现说明 -->
-			<view class="draw-notice">
-				<view class="title">{{ruleInfo.instructions}}</view>
-				<view class="draw-list">1.单次最低提现 {{ruleInfo.extract_min_price}} 元。</view>
-				<!-- <view class="draw-list">
-				2.每日最多可提现次数: {{ ruleInfo.perday_num ? ruleInfo.perday_num : '不限' }};每日最多提现金额(元):
-				{{ ruleInfo.perday_amount ? ruleInfo.perday_amount : '不限' }};
-			</view> -->
-				<!-- <view class="draw-list">3.每笔收取提现手续费 {{ ruleInfo.extract_rate }}%;</view> -->
-				<view class="draw-list">2.提现结果请查收对应渠道服务通知。</view>
-				<view class="draw-list">3.如有疑问请及时联系客服。</view>
-				<!-- <view class="draw-list">4.一级分佣比例为{{ruleInfo.first}}%。</view>
-			<view class="draw-list">5.二级分佣比例为{{ruleInfo.second}}%。</view>
-			<view class="draw-list">6.三级分佣比例为{{ruleInfo.third}}%。</view> -->
-			</view>
-			<!-- 提现方式 -->
-			<u-popup v-if="ruleInfo && ruleInfo.methods.length" :show="showWithdrawList" mode="bottom"
-				safe-area-inset-bottom :closeable="false" border-radius="30">
-				<view class="page_box withdraw-modal">
-					<view class="modal-head u-flex u-row-center u-col-center">选择提现方式</view>
-					<view class="content_box modal-content">
-						<u-radio-group v-model="selectedWithdrawType" activeColor="#A36FFF" wrap
-							v-for="(item, index) in withdrawList" :key="index">
-							<view style="display: flex;flex-shrink: 0;" class="type-item u-p-x-24 u-p-y-30"
-								v-if="ruleInfo.methods.includes(item.value)">
-								<u-radio shape="circle" iconSize="30" :name="item.value" labelWidth="100%">
-
-								</u-radio>
-								<view class="item-left u-flex u-col-center u-m-l-30">
-									<image class="item-img" :src="item.icon" mode=""></image>
-									<view class="item-title u-m-l-20">{{ item.title }}</view>
-								</view>
-
-							</view>
-						</u-radio-group>
-					</view>
-					<view class="modal-bottom"><button class="u-reset-button modal-save-btn"
-							@tap="onSaveWithdrawType">确定</button></view>
-				</view>
-			</u-popup>
-			<u-popup :show="showBindForm" @close="showBindForm = false" :round="10">
-				<view class="carmimodal">
-					<view class="carmiclose" @click="showBindForm = false"><u-icon name="close-circle-fill" color="#fff"
-							size="22"></u-icon></view>
-
-					<view class="carmititle">添加提现信息</view>
-					<view class="kf_qrcode tn-flex justify-center">
-						<u--image :showLoading="true" :src="paymentcode" width="100px" height="100px"
-							@click="clickuimage()"></u--image>
-					</view>
-					<view class="u-text-center">
-						点击上传微信收款码
-					</view>
-					<view class="carmiinput"><u--input placeholder="请输入您的真实姓名" border="surround" clearable
-							v-model="realname"></u--input></view>
-					<view @click="exchange" class="carmiexchange">立即保存</view>
-
-				</view>
-			</u-popup>
-			<!-- 绑定修改银行信息 -->
-
-
-			<!-- modal -->
-			<u-modal ref="uModal" v-model="showModal" :show-cancel-button="true" confirm-color="#7063D2"
-				cancel-color="#666666" @confirm="$Router.push('/pages/user/wallet/withdraw-log')" confirm-text="查看记录"
-				cancel-text="继续提现" content="您的申请提现已提交" title="申请成功"></u-modal>
-		</view>
-		<wike-loading-page :isLoading="isLoading"></wike-loading-page>
-	</view>
-</template>
-
-<script>
-	import {
-		mapState,
-		mapActions,
-		mapGetters
-	} from 'vuex';
-	import {
-		apiurl
-	} from '@/common/request/request';
-	// import FormValidate from '@/shopro/validate/form';
-	// import wechat from '@/shopro/wechat/wechat';
-	export default {
-
-		data() {
-			return {
-				// isLoading: true,
-				isLoading: false,
-				tobheight: 45,
-				platform: this.$platform.get(),
-				showModal: false,
-				money: '', //提现金额
-				ruleInfo: {
-					methods: ['bank', 'wechat', 'alipay']
-				}, //提现规则
-				formTitle: '',
-				withdrawType: '',
-				showBindForm: false,
-				selectedWithdrawType: '',
-				withdrawInfo: {}, //提现信息
-				// showWithdrawList: false,
-				showWithdrawList: false,
-				withdrawList: {
-					// https://file.shopro.top/imgs/wallet/wx_type.png'
-					bank: {
-						icon: this.$IMG_URL + '/imgs/wallet/bank_type.png',
-						title: '银行卡转账',
-						value: 'bank'
-					},
-					wechat: {
-						icon: this.$IMG_URL + '/imgs/wallet/wx_type.png',
-						title: '微信零钱',
-						value: 'wechat'
-					},
-					alipay: {
-						icon: this.$IMG_URL + '/imgs/wallet/ali_type.png',
-						title: '支付宝账户',
-						value: 'alipay'
-					}
-				},
-				// 表单样式
-				errorType: ['message'],
-				labelStyle: {
-					'font-size': '30rpx',
-					'font-weight': '500',
-					color: '#333'
-				},
-				placeholderStyle: 'font-size: 30rpx; font-weight: 500;color:#C2C7CF;',
-				form: {
-					data: {
-						real_name: '',
-						bank_name: '',
-						card_no: ''
-					},
-					// bankRules: {
-					// 	real_name: FormValidate.realName,
-					// 	bank_name: FormValidate.bankName,
-					// 	card_no: FormValidate.bankCode
-					// },
-					// alipayRules: {
-					// 	real_name: FormValidate.realName,
-					// 	card_no: FormValidate.alipayAccount
-					// }
-				},
-				okmoney: 0.00,
-				extract_min_price: 0,
-				extract_rate: 0,
-				paymentcode: '',
-				paymentcodeid: '',
-				realname: '',
-				qrcode_wechat: ''
-			};
-		},
-		computed: {
-			...mapGetters(['appInfo', 'userInfo'])
-		},
-		onLoad() {
-			const that = this;
-			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)
-			}
-			this.getCheck()
-			this.getWithdrawRules();
-			this.getGroupConf()
-			// that.$store.dispatch('getUserInfo');
-		},
-		methods: {
-			getCheck() {
-				var that = this;
-				that.$http('commission.auth').then(res => {
-					if (res.code == 0) {
-						uni.setNavigationBarTitle({
-							title: this.appInfo.site_name
-						});
-						that.okmoney = res.data.money
-						that.qrcode_wechat = res.data.qrcode_wechat
-						that.isLoading = false
-					}
-				})
-			},
-			getGroupConf() {
-				var that = this;
-				// that.$http('conf.getGroupConf',{group: 'system.commission_cashout'}).then(res => {
-				// 	if(res.code == 0){
-
-				// 		that.extract_min_price = res.data.extract_min_price
-				// 		that.extract_rate = res.data.extract_rate
-				// 	}
-				// })
-			},
-			// 确认提现方式
-			onSaveWithdrawType() {
-				this.withdrawType = this.selectedWithdrawType;
-				this.showWithdrawList = false;
-				this.getWithdrawInfo();
-			},
-			async bindThirdOauth() {
-				let that = this;
-				wechat.bind();
-				that.getWithdrawInfo();
-			},
-			exchange() {
-				let that = this;
-				if (!that.paymentcode && that.paymentcodeid) {
-					uni.showToast({
-						title: '请上传微信收款码',
-						icon: 'none'
-					})
-					return;
-				}
-				// if(!that.realname){
-				// 	uni.showToast({
-				// 		title:'请填写您的真实姓名',
-				// 		icon:'none'
-				// 	})
-				// 	return;
-				// }
-				that.$http('commission.update', {
-					real_name: that.realname,
-					qrcode_wechat: that.paymentcodeid
-				}).then(res => {
-					if (res.code === 0) {
-						uni.showToast({
-							title: '保存成功'
-						})
-						that.showBindForm = false
-						that.getCheck()
-					} else {
-						uni.showToast({
-							title: '保存失败',
-							icon: 'none'
-						})
-					}
-				});
-			},
-			//上传收款码
-			clickuimage() {
-				var that = this;
-				uni.chooseImage({
-					count: 1, //默认9
-					sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
-					sourceType: ['album', 'camera'], //从相册选择
-					success: function(res) {
-						uni.showLoading({
-							title: '上传中...'
-						})
-						const tempFilePaths = res.tempFilePaths;
-						//上传服务器将服务器;
-						uni.uploadFile({
-							url: apiurl('common/upload'),
-							filePath: tempFilePaths[0],
-							name: 'file',
-							formData: {
-								accept: 'image'
-							},
-							success: res2 => {
-								uni.hideLoading();
-								let a = JSON.parse(res2.data);
-								if (a.code == 0) {
-									that.paymentcode = a.data.path
-									that.paymentcodeid = a.data.id
-								} else {
-									uni.showToast({
-										title: '上传收款码失败',
-										icon: 'none'
-									})
-
-								}
-							}
-						});
-					}
-				});
-			},
-			// 提现检验
-			onWithdrawInput(e) {
-				let sVal = String(e.detail.value);
-				sVal = sVal.replace(/\b(0+)/gi, '');
-				sVal = sVal.replace(/[^\d]/g, '');
-				this.money = sVal;
-			},
-			// 提现
-			withdraw() {
-				const that = this;
-				if (!this.qrcode_wechat) {
-					this.$u.toast('请上传提现信息');
-					this.showBindForm = true
-					return;
-				}
-
-				// console.log(that.money,that.ruleInfo.extract_min_price,that.okmoney);
-
-				// if (that.okmoney == 0 && that.money > that.okmoney) {
-				// 	that.$u.toast('金额不足');
-				// 	return;
-				// }
-				console.log(Number(that.money), Number(that.ruleInfo.extract_min_price), Number(that.okmoney));
-				if (Number(that.money) <= 0) {
-					that.$u.toast('请输入提现金额');
-					return;
-				}
-				if (Number(that.okmoney) == 0) {
-					that.$u.toast('金额不足');
-					return;
-				}
-				if (Number(that.okmoney) > 0 && Number(that.money) > Number(that.okmoney)) {
-					that.$u.toast('金额不足');
-					return;
-				}
-
-
-				if (Number(that.money) < Number(that.ruleInfo.extract_min_price)) {
-					that.$u.toast('最低提现金额' + that.ruleInfo.extract_min_price + '元');
-					return;
-				}
-				that.$http(
-					'commission.extract', {
-						// type: that.withdrawType,
-						extract_price: that.money
-					},
-					'申请中...',
-					false
-				).then(res => {
-					if (res.code === 0) {
-						// that.$u.toast(res.msg);
-						that.money = '';
-						// uni.showToast({
-						// 	title:'提现成功'
-						// })
-						uni.showModal({
-							confirmText: '继续提现',
-							confirmColor: '#5e49c3',
-							content: '提现成功',
-							title: '提示',
-							success(res) {
-
-							}
-						})
-						that.getCheck()
-
-
-					} else {
-						that.money = '';
-						// that.showModal = true;
-						//  #ifdef MP-WEIXIN
-						// this.$store.commit('subscribeMessage', 'wallet');
-						//  #endif
-						uni.showToast({
-							title: '提现失败',
-							icon: 'none'
-						})
-
-					}
-				});
-			},
-			initForm() {
-				this.form.data = {
-					real_name: '',
-					bank_name: '',
-					card_no: ''
-				};
-			},
-
-			// 绑定,修改
-			toBind() {
-				this.showBindForm = true;
-				this.form.data = {
-					...this.form.data,
-					...this.withdrawInfo
-				};
-				switch (this.withdrawType) {
-					case 'bank':
-						this.formTitle = this.withdrawInfo ? '修改银行卡' : '添加银行卡';
-						this.$nextTick(() => {
-							this.$refs.bank.setRules(this.form.bankRules);
-						});
-						break;
-					case 'alipay':
-						this.formTitle = this.withdrawInfo ? '修改支付宝' : '添加支付宝';
-						this.$nextTick(() => {
-							this.$refs.alipay.setRules(this.form.alipayRules);
-						});
-						break;
-					default:
-						break;
-				}
-			},
-			// 确认提交表单
-			saveForm() {
-				let that = this;
-				this.$refs[this.withdrawType].validate().then(res => {
-					if (res) {
-						that.$http(
-							'money.bankEdit', {
-								type: that.withdrawType,
-								...that.form.data
-							},
-							'提交中...'
-						).then(res => {
-							if (res.code === 1) {
-								that.showBindForm = false;
-								that.$u.toast(res.msg);
-								that.initForm();
-								that.getWithdrawInfo();
-							}
-						});
-					}
-				});
-			},
-			// 提现规则
-			getWithdrawRules() {
-				let that = this;
-				that.$http('conf.getGroupConf', {
-					group: 'system.commission'
-				}).then(res => {
-					if (res.code === 0) {
-						// that.ruleInfo = res.data;
-						// that.selectedWithdrawType = that.ruleInfo.methods[0];
-					}
-				});
-			},
-			// 获取提现信息
-			getWithdrawInfo() {
-				let that = this;
-				that.$http(
-					'money.bankInfo', {
-						type: that.withdrawType
-					},
-					'',
-					false
-				).then(res => {
-					that.withdrawInfo = res.code === 1 ? res.data : null;
-				});
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.head-box {
-		background: url('http://file.shopro.top/imgs/user/draw_money_head_bg.png') no-repeat;
-		background-size: 100% auto;
-		min-height: 400rpx;
-		padding-bottom: var(--status-bar-height);
-
-		// 可提现
-		.wallet-num-box {
-			padding: 20rpx 40rpx 0;
-
-			.num-title {
-				font-size: 26rpx;
-				font-weight: 500;
-				color: #ffffff;
-				margin-bottom: 20rpx;
-			}
-
-			.wallet-num {
-				font-size: 60rpx;
-				font-weight: 500;
-				color: #ffffff;
-			}
-
-			.log-btn {
-				width: 170rpx;
-				height: 60rpx;
-				line-height: 60rpx;
-				background: rgba(255, 255, 255, 0.1);
-				border: 1rpx solid #eeeeee;
-				border-radius: 30rpx;
-				padding: 0;
-				font-size: 26rpx;
-				font-weight: 500;
-				color: #ffffff;
-				margin-right: 0;
-			}
-		}
-	}
-
-	// 提现输入卡片
-	.draw-card {
-		background-color: #fff;
-		border-radius: 20rpx;
-		width: 690rpx;
-		min-height: 530rpx;
-		margin: -70rpx auto 0;
-		padding: 30rpx;
-
-		.card-title {
-			font-size: 30rpx;
-			font-weight: 500;
-			color: #333333;
-			margin-bottom: 30rpx;
-		}
-
-		.input-box {
-			width: 624rpx;
-			border-bottom: 1rpx solid #eee;
-			height: 100rpx;
-			margin-bottom: 40rpx;
-
-			.unit {
-				font-size: 48rpx;
-				color: #333;
-			}
-		}
-
-		.bank-box {
-			.name {
-				font-size: 28rpx;
-				font-weight: 500;
-				color: #333333;
-			}
-
-			.bank-list {
-				.empty-text {
-					font-size: 28rpx;
-					font-weight: 400;
-					color: #999999;
-				}
-
-				.sel-box {
-					.item-img {
-						width: 36rpx;
-						height: 36rpx;
-					}
-
-					.item-title {
-						font-size: 28rpx;
-						color: #333333;
-					}
-				}
-			}
-		}
-
-		.bank-info {
-			height: 50rpx;
-			font-size: 28rpx;
-			font-weight: 400;
-			color: #999999;
-
-			.bank-info-title {
-				width: 500rpx;
-			}
-
-			.bind-btn {
-				padding: 0 20rpx;
-				line-height: 50rpx;
-				background: #f5f6f8;
-				border-radius: 20rpx;
-				color: #999;
-			}
-		}
-
-		.save-btn {
-			width: 616rpx;
-			height: 86rpx;
-			line-height: 86rpx;
-			background: linear-gradient(-90deg, #a36fff, #5336ff);
-			box-shadow: 0px 7rpx 11rpx 2rpx rgba(124, 103, 214, 0.34);
-			border-radius: 43rpx;
-			font-size: 30rpx;
-			font-weight: 500;
-			color: #ffffff;
-		}
-	}
-
-	// 提现说明
-	.draw-notice {
-		width: 684rpx;
-		min-height: 327rpx;
-		background: #ffffff;
-		border-radius: 20rpx;
-		padding: 30rpx 35rpx;
-		margin: 20rpx auto;
-
-		.title {
-			font-size: 30rpx;
-			font-weight: 500;
-			color: #333333;
-			margin-bottom: 30rpx;
-		}
-
-		.draw-list {
-			font-size: 24rpx;
-			font-weight: 400;
-			color: #999999;
-			margin-bottom: 10rpx;
-		}
-	}
-
-	// 提现费方式
-	.withdraw-modal {
-		min-height: 600rpx;
-		background-color: #fff;
-
-		.modal-head {
-			height: 80rpx;
-			font-size: 30rpx;
-			font-weight: 600;
-			color: #333333;
-			border-bottom: 1rpx solid rgba(#dfdfdf, 0.5);
-		}
-
-		.modal-content {
-			.type-item {
-				height: 100rpx;
-				border-bottom: 1rpx solid rgba(#dfdfdf, 0.5);
-				width: 750rpx;
-
-				.item-img {
-					width: 36rpx;
-					height: 36rpx;
-				}
-
-				.item-title {
-					font-size: 28rpx;
-					color: #333333;
-				}
-			}
-		}
-
-		.modal-bottom {
-			padding: 30rpx;
-
-			.modal-save-btn {
-				width: 690rpx;
-				height: 80rpx;
-				line-height: 80rpx;
-				background: linear-gradient(90deg, #a36fff, #5336ff);
-				box-shadow: 0 7rpx 11rpx 2rpx rgba(124, 103, 214, 0.34);
-				border-radius: 40rpx;
-				font-weight: 500;
-				color: #ffffff;
-			}
-		}
-	}
-
-	// 绑定
-	.form-box {
-		.head-title {
-			height: 100rpx;
-			font-size: 34rpx;
-			font-weight: 600;
-		}
-
-		.form-save-btn {
-			width: 340rpx;
-			height: 80rpx;
-			line-height: 80rpx;
-			background: linear-gradient(90deg, #a36fff, #5336ff);
-			box-shadow: 0 7rpx 11rpx 2rpx rgba(124, 103, 214, 0.34);
-			border-radius: 40rpx;
-			font-weight: 500;
-			color: #ffffff;
-		}
-
-		.form-cancel-btn {
-			width: 340rpx;
-			height: 80rpx;
-			line-height: 80rpx;
-			border: 1rpx solid #999;
-			border-radius: 40rpx;
-			font-weight: 500;
-			color: #999;
-		}
-	}
-
-	.carmimodal {
-		// width: 600rpx;
-		border-radius: 20rpx;
-		position: relative;
-
-		.carmiclose {
-			position: absolute;
-			right: 15rpx;
-			top: 15rpx;
-		}
-
-		.carmititle {
-			background: linear-gradient(-90deg, #a36fff, #5336ff);
-			color: #fff;
-			height: 120rpx;
-			line-height: 120rpx;
-			font-size: 32rpx;
-			font-weight: bold;
-			text-align: center;
-			border-radius: 20rpx 20rpx 0 0;
-			margin-bottom: 60rpx;
-		}
-
-		.carmiinput {
-			margin: 30rpx;
-		}
-
-		.carmiexchange {
-			margin: 80rpx 30rpx 90rpx 30rpx;
-			background: linear-gradient(-90deg, #a36fff, #5336ff);
-			color: #fff;
-			border-radius: 80rpx;
-			height: 80rpx;
-			line-height: 80rpx;
-			text-align: center;
-		}
-
-		.kf_qrcode {
-			// margin-left: 200rpx;
-			margin-bottom: 30rpx;
-		}
-	}
-</style>

+ 7 - 1
pages/user/public/agreement.vue

xqd xqd
@@ -7,7 +7,9 @@
 		</view>
 		<!-- #endif  -->
 		<view class="gy">
-			<u-parse :content="content"></u-parse>
+			<!-- <u-parse :content="content"></u-parse> -->
+
+			<textarea :value="content" name="" id="" cols="999999" rows="999999" auto-height disabled></textarea>
 		</view>
 		<!-- <wike-loading-page :isLoading="isLoading"></wike-loading-page> -->
 	</view>
@@ -90,6 +92,10 @@
 </script>
 
 <style lang="scss">
+	textarea {
+		width: 100%;
+	}
+
 	.gy {
 		margin: 30rpx;
 	}

+ 5 - 0
pages/user/score/record/index.vue

xqd
@@ -5,6 +5,11 @@
 			</tn-nav-bar>
 			<view :style="{ height: tobheight + 'px' }"></view>
 		</view>
+
+		<!-- <view class="" v-if="scoreOrderList.length==0">
+			<empty style=""></empty>
+		</view> -->
+
 		<view class="recordBox">
 			<view class="wallet-log-box u-p-b-30" v-if="scoreOrderList.length!=0">
 				<view class="log-list" v-for="item in scoreOrderList" :key="item.id" @click="goScoreDetail(item)">

+ 8 - 2
pages/user/signin.vue

xqd xqd
@@ -4,11 +4,11 @@
 			<view style="padding: 30rpx; padding-top: 24rpx;padding-bottom: 200rpx;">
 				<view class="topTxtAndImg">
 					<view class="swiper">
-						<swiper class="banner" circular :autoplay="false"
+						<swiper class="banner" circular :autoplay="true"
 							:style="{width:isPc?'50vw':'680rpx',height:isPc?'auto':'450rpx'}">
 							<!-- <swiper class="banner" circular :autoplay="false"> -->
 							<swiper-item v-for="i in bannerList">
-								<image :src="i.picture" mode=""></image>
+								<image :src="i.picture" mode="" @click="handleBannerJump(i.url)"></image>
 							</swiper-item>
 						</swiper>
 					</view>
@@ -286,6 +286,12 @@
 			// }
 		},
 		methods: {
+			handleBannerJump(url) {
+				if (url) {
+					window.open(url)
+				}
+			},
+
 			async thirdLogin(provider) {
 				if (!this.agree) {
 					this.$u.toast('请同意用户协议');