dever 4 years ago
parent
commit
04f407323d

+ 1 - 1
lib/dever/config.js

@@ -11,7 +11,7 @@ const im = {
 const request = {
 	//	服务器接口地址
 	host: "https://he.shemic.com/",
-	//host: "http://dev.shemic.com/dreamland/",
+	host: "http://dev.shemic.com/dreamland/",
 	
 	//	请求的参数	
 	data: {},

+ 1 - 1
lib/dever/index.js

@@ -30,7 +30,7 @@ var http = {
 		var self = this;
 		if (vue == 'post') {
 			config.request.method = 'POST';
-			//config.request.method = 'GET';
+			config.request.method = 'GET';
 			vue = false;
 		} else {
 			config.request.method = 'GET';

+ 127 - 0
lib/moment/chatinput.vue

@@ -0,0 +1,127 @@
+<template>
+	<view class="footer">
+		<!-- <view class="footer-left">
+			<view class="uni-icon uni-icon-mic" @tap="startRecognize"> </view>
+		</view> -->
+		<view class="footer-center">
+			<input class="input-text" type="text" @confirm="sendMessge" v-model="inputValue" :focus="focus" @blur="blur" :placeholder="placeholder"></input>
+		</view>
+		<view class="footer-right">
+			<view id='msg-type' class="send-comment" @tap="sendMessge">发送</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "chat-input",
+		data() {
+			return {
+				inputValue: ''
+			}
+		},
+		props:{
+			placeholder: {
+				type: String,
+				required: true
+			},
+			focus: {
+				type:Boolean,
+				required: true
+			}
+		},
+		methods: {
+			blur: function() {//失焦触发通知父组件
+				var that = this;
+				this.$emit('blur')
+			},
+			startRecognize: function () {
+				var options = {};
+				var that = this;
+				options.engine = 'iFly';
+				that.inputValue = "";
+				plus.speech.startRecognize(options, function (s) {
+					console.log(s);
+					that.inputValue += s;
+				}, function (e) {
+					console.log("语音识别失败:" + e.message);
+				});
+			},
+			sendMessge: function () {
+				if (!this.inputValue) {
+					uni.showModal({
+						content:"还没有输入内容哦!",
+						showCancel:false
+					})
+					return;
+				}
+				var that = this;
+				//点击发送按钮时,通知父组件用户输入的内容
+				this.$emit('send-message', {
+					type: 'text',
+					content: that.inputValue
+				});
+				that.inputValue = '';//清空上次输入的内容
+			}
+		}
+	}
+</script>
+
+<style>
+	.footer {
+		display: flex;
+		flex-direction: row;
+		width: 100%;
+		height: 80upx;
+		min-height: 80upx;
+		border-top: solid 1px #bbb;
+		overflow: hidden;
+		padding: 5upx;
+		background-color: #F4F5F6;
+	}
+	.footer-left {
+
+		width: 80upx;
+		height: 80upx;
+
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+	.footer-right {
+		width: 120upx;
+		height: 80upx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		color: #1482D1;
+	}
+	.footer-center {
+		flex: 1;
+		padding-left: 20upx;
+		height: 80upx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+	.footer-center .input-text {
+		flex: 1;
+		background: #fff;
+		/* border: solid 1upx #ddd; */
+		padding: 10upx !important;
+		font-family: verdana !important;
+		overflow: hidden;
+		border-radius: 15upx;
+	}
+	.footer-right .send-comment{
+		background-color: #007AFF;
+		text-align: center;
+		line-height: 60upx;
+		color: #FFFFFF;
+		width: 80upx;
+		height: 60upx;
+		border-radius: 5px;
+		font-size: 10px;
+		/* height: 60upx; */
+	}
+</style>

+ 118 - 0
lib/moment/index.post.data.js

@@ -0,0 +1,118 @@
+export default [{
+							"post_id": '1',
+							"uid": 1,
+							"username": "龙葵",
+							"header_image": "/static/moment/test/header03.jpg",
+							"content": {
+								"text": "内裤上百条,晒不干一条;衣服晾不干,亲人泪两行",
+								"images": ["/static/moment/test/test2.jpg"]
+							},
+							"islike": 0,
+							"like": [{
+									"uid": 2,
+									"username": "小李子,"
+								},
+								{
+									"uid": 3,
+									"username": "小张子"
+								}
+							],
+							"comments": {
+								"total": 2,
+								"comment": [{
+										"uid": 2,
+										"username": '小爱',
+										"content": "加个微信吧!基金基金基金基金基金基金基金基金基金基金基金基金基金基金基金基金基金基金"
+									},
+									{
+										"uid": 3,
+										"username": '小虎',
+										"content": "一起出去好吗?"
+									}
+								]
+							},
+							"timestamp": "5分钟前"
+						},
+						{
+							"post_id": 2,
+							"uid": 1,
+							"username": "菁英公寓-打造属于你的私密空间 小吴",
+							"header_image": "/static/moment/test/header04.jpg",
+							"content": {
+								"text": "租房:东环朝南\n\r2室大衣柜\n\r燃气热水器\n\r5楼采光充足\n\r随时入住",
+								"images": [
+									"/static/moment/test/pig-01.jpg", 
+									"/static/moment/test/pig-02.jpg",
+									"/static/moment/test/pig-03.jpg", 
+									"/static/moment/test/pig-04.jpg",
+									"/static/moment/test/pig-05.jpg",
+									"/static/moment/test/pig-06.jpg",
+									"/static/moment/test/pig-07.jpg",
+									"/static/moment/test/pig-08.jpg",
+									"/static/moment/test/pig-09.jpg"
+								]
+							},
+							"islike": 0,
+							"like": [{
+									"uid": 2,
+									"username": "小王子,"
+								},
+								{
+									"uid": 3,
+									"username": "张大大"
+								}
+							],
+							"comments": {
+								"total": 2,
+								"comment": [{
+										"uid": 2,
+										"username": '小虎',
+										"content": "吃错药了!"
+									},
+									{
+										"uid": 3,
+										"username": '小狼',
+										"content": "霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍!"
+									}
+								]
+							},
+							"timestamp": "1小时前"
+						},
+						{
+							"post_id": 2,
+							"uid": 1,
+							"username": "BSK 必胜客新苏  小乐",
+							"header_image": "/static/moment/test/header05.jpg",
+							"content": {
+								"text": "美食花样多,诱人如北北;迎来小宇宙,幸福两行泪[喵喵]这可是小必的心声啊~",
+								"images": ["/static/moment/test/header01.jpg", "/static/moment/test/header01.jpg",
+									"/static/moment/test/header01.jpg", "/static/moment/test/header01.jpg"
+								]
+							},
+							"islike": 0,
+							"like": [{
+									"uid": 2,
+									"username": "小王子,"
+								},
+								{
+									"uid": 3,
+									"username": "张大大"
+								}
+							],
+							"comments": {
+								"total": 2,
+								"comment": [{
+										"uid": 2,
+										"username": '小虎',
+										"content": "吃错药了!"
+									},
+									{
+										"uid": 3,
+										"username": '小狼',
+										"content": "霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍霍!"
+									}
+								]
+							},
+							"timestamp": "7小时前"
+						}
+					]

+ 92 - 0
lib/moment/messageshow.vue

@@ -0,0 +1,92 @@
+<template>
+	<view class="m-item" :id="'message'+id">
+		<view class="m-left">
+			<image class="head_icon" src="https://img-cdn-qiniu.dcloud.net.cn/uniapp/app/homeHL.png" v-if="message.user=='home'"></image>
+		</view>
+		<view class="m-content">
+			<view class="m-content-head" :class="{'m-content-head-right':message.user=='customer'}">
+				<view :class="'m-content-head-'+message.user">{{message.content}} </view>
+			</view>
+		</view>
+		<view class="m-right">
+			<image class="head_icon" src="https://img-cdn-qiniu.dcloud.net.cn/uniapp/app/customerHL.png" v-if="message.user=='customer'"></image>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: ['message', 'id']
+	}
+</script>
+
+<style>
+	.m-item {
+		display: flex;
+		flex-direction: row;
+		padding-top: 40upx;
+	}
+	.m-left {
+		display: flex;
+		width: 120upx;
+		justify-content: center;
+		align-items: flex-start;
+	}
+	.m-content {
+		display: flex;
+		flex: 1;
+		flex-direction: column;
+		justify-content: center;
+		word-break: break-all;
+	}
+	.m-right {
+		display: flex;
+		width: 120upx;
+		justify-content: center;
+		align-items: flex-start;
+	}
+	.head_icon {
+		width: 80upx;
+		height: 80upx;
+	}
+	.m-content-head {
+		position: relative;
+	}
+	.m-content-head-right {
+		display: flex;
+		justify-content: flex-end;
+	}
+	.m-content-head-home {
+		text-align: left;
+		background: #1482d1;
+		border: 1px #1482d1 solid;
+		border-radius: 20upx;
+		padding: 20upx;
+		color: white;
+	}
+	.m-content-head-home:before {
+		border: 15upx solid transparent;
+		border-right: 15upx solid #1482d1;
+		left: -26upx;
+		width: 0;
+		height: 0;
+		position: absolute;
+		content: ' '
+	}
+	.m-content-head-customer {
+		border: 1upx white solid;
+		background: white;
+		border-radius: 20upx;
+		padding: 20upx;
+	}
+	.m-content-head-customer:after {
+		border: 15upx solid transparent;
+		border-left: 15upx solid white;
+		top: 20upx;
+		right: -26upx;
+		width: 0;
+		height: 0;
+		position: absolute;
+		content: ' '
+	}
+</style>

+ 1 - 1
manifest.json

@@ -100,7 +100,7 @@
         },
         "title" : "合小记",
         "devServer" : {
-            "https" : true,
+            "https" : false,
             "port" : ""
         },
         "domain" : "https://he.shemic.com/",

+ 7 - 1
pages/dream/view/dream.vue

@@ -68,6 +68,11 @@
 		<!--直播-->
 		<view v-else-if="item.type == 40">
 			<liveComment :index="index" :item="item.data" :control="control" :bottom="bottom"></liveComment>
+		</view>
+		
+		<!--朋友圈-->
+		<view v-else-if="item.type == 51">
+			<moment :index="index" :item="item.data" :control="control" :bottom="bottom"></moment>
 		</view>
 		
 		<!--对话-->
@@ -111,6 +116,7 @@ import dialogue from "@/pages/dream/view/dialogue.vue";
 import linkView from "@/pages/dream/view/linkView.vue";
 import webView from "@/pages/dream/view/webView.vue";
 import product from "@/pages/dream/view/product.vue";
+import moment from "@/pages/dream/view/moment.vue";
 export default {
 	name: "dream",
 	props: {
@@ -149,7 +155,7 @@ export default {
 		}
 	},
 	components:{
-		cover,news,pic,picGrid,vod,vodComment,vodShort,audioList,audioComment,liveComment,dialogue,linkView,webView,product
+		cover,news,pic,picGrid,vod,vodComment,vodShort,audioList,audioComment,liveComment,dialogue,linkView,webView,product,moment
 	}
 }
 </script>

+ 1980 - 0
pages/dream/view/moment.vue

@@ -0,0 +1,1980 @@
+<template name="moment">
+	<view id="moments">
+	
+		<view class="home-pic" :style="style">
+			<view class="home-pic-base">
+				<view class="top-pic">
+					<image class="header" :src="item.logo" @tap="test"></image>
+				</view>
+				<view class="top-name">{{item.name}}</view>
+			</view>
+		</view>
+
+		<view style="padding-bottom: 140rpx;">
+			<view class="moments__post" v-for="(post,index) in posts" :key="index" :id="'post-'+index">
+				<view class="post-left">
+					<image class="post_header" :src="post.header_image"></image>
+				</view>
+
+				<view class="post_right">
+					<text class="post-username">{{post.username}}</text>
+					<view id="paragraph" class="paragraph">{{post.content.text}}</view>
+					<!-- 相册 -->
+					<view class="thumbnails">
+						<view :class="post.content.images.length === 1?'my-gallery':'thumbnail'" v-for="(image, index_images) in post.content.images" :key="index_images">
+							<image class="gallery_img" lazy-load mode="aspectFill" :src="image" :data-src="image" @tap="previewImage(post.content.images,index_images)"></image>
+						</view>
+					</view>
+					<!-- 资料条 -->
+					<view class="toolbar">
+						<view class="timestamp">{{post.timestamp}}</view>
+						<view class="like" @tap="like(index)">
+							<image src="@/static/moment/islike.png" style="width: 30px;"></image>
+						</view>
+						<view class="comment" @tap="comment(index)">
+							<image src="@/static/moment/comment.png" style="width: 30px;"></image>
+						</view>
+					</view>
+					<!-- 赞/评论区 -->
+					<view class="post-footer">
+						<view class="footer_content">
+							<image class="liked" src="@/static/moment/liked.png"></image>
+							<text class="nickname" v-for="(user,index_like) in post.like" :key="index_like">{{user.username}}</text>
+						</view>
+						<view class="footer_content" v-for="(comment,comment_index) in post.comments.comment" :key="comment_index" @tap="reply(index,comment_index)">
+							<text class="comment-nickname">{{comment.username}}: <text class="comment-content">{{comment.content}}</text></text>
+						</view>
+					</view>
+				</view>
+				<!-- 结束 post -->
+			</view>
+		</view>
+
+		<view class="foot" >
+
+		</view>
+		
+		<view class="uni-loadmore" v-if="showLoadMore">{{loadMoreText}}</view>
+		
+		<y-Fab :bottom="20" :right="140" @click="showModal" bgColor="#0fa5e5" text="发布"></y-Fab>
+		<block v-if="index == -1">
+			<y-Fab :bottom="20" :right="20" @click="back" text="返回"></y-Fab>
+		</block>
+		<view v-if="showComment">
+			<dever-publish :title="title" :is_upload="is_upload" @hideModal="hideModal" @getRefresh="getRefresh" :type="key" :type_id="item.id" :api="api"></dever-publish>
+		</view>
+	</view>
+
+</template>
+
+<script>
+	import postData from '@/lib/moment/index.post.data.js';//朋友圈数据data
+	import deverPublish from '@/lib/dever/components/publish.vue';
+	export default {
+		name: "moment",
+		props: {
+			control : {
+				type : Object,
+				value : null
+			},
+			item : {
+				type    : Object,
+				value	: null
+			},
+			index : 0
+		},
+		components: {
+			deverPublish
+		},
+		data() {
+			return {
+				posts: postData,//模拟数据
+				user_id: 4,
+				username: 'Liuxy',
+
+				data_index: '',
+				comment_index: '',
+
+				input_placeholder: '评论', //占位内容
+				focus: false, //是否自动聚焦输入框
+				is_reply: false, //回复还是评论
+				showInput: false, //评论输入框
+
+				screenHeight: '', //屏幕高度(系统)
+				platform: '',
+				windowHeight: '' ,//可用窗口高度(不计入软键盘)
+				
+				loadMoreText: "加载中...",
+				showLoadMore: false,
+				
+				style : '',
+				
+				title : '发布新动态',
+				api : 'app/community/?l=api.addMoment',
+				key : 'content/moment',
+				is_upload : true,
+				showComment : false,
+			}
+		},
+		mounted() {
+			console.info(this.item);
+			this.style = 'background:url("'+this.item.pic+'");background-size: contain;';
+			uni.getSystemInfo({ //获取设备信息
+				success: (res) => {
+					this.screenHeight = res.screenHeight;
+					this.platform = res.platform;
+				}
+			});
+			uni.getStorage({
+				key: 'posts',
+				success: function (res) {
+					console.log(res.data);
+					this.posts = res.data;
+				}
+			});
+			
+			uni.onWindowResize((res) => { //监听窗口尺寸变化,窗口尺寸不包括底部导航栏
+				if(this.platform === 'ios'){
+					this.windowHeight = res.size.windowHeight;
+					this.adjust();
+				}else{
+					if (this.screenHeight - res.size.windowHeight > 60 && this.windowHeight <= res.size.windowHeight) {
+						this.windowHeight = res.size.windowHeight;
+						this.adjust();
+					}
+				}
+			});
+			
+			this.getData(1);
+
+		},
+		onHide() {
+			uni.offWindowResize(); //取消监听窗口尺寸变化
+		},
+		onUnload() {
+			this.max = 0,
+				this.data = [],
+				this.loadMoreText = "加载更多",
+				this.showLoadMore = false;
+		},
+		onReachBottom() { //监听上拉触底事件
+			console.log('onReachBottom');
+			this.showLoadMore = true;
+			setTimeout(() => {
+				//获取数据
+				if (this.posts.length < 20){//测试数据
+					this.posts = this.posts.concat(this.posts);
+				}else{
+					this.loadMoreText = "暂无更多";
+				}
+			}, 1000);
+		},
+		onPullDownRefresh() { //监听下拉刷新动作
+			console.log('onPullDownRefresh');
+			// 这里获取数据
+			setTimeout(function() {
+				//初始化数据
+				uni.stopPullDownRefresh(); //停止下拉刷新
+			}, 1000);
+		},
+		onNavigationBarButtonTap(e) {//监听标题栏点击事件
+			if (e.index == 0) {
+				this.navigateTo('../publish/publish')
+			}
+		},
+		computed:{
+			
+		},
+		methods: {
+			getData : function(page) {
+				this.Dever.page([page, 'info'], this, 'app/community/?l=api.moment', {type:this.key,type_id:this.item.id});
+			},
+			showModal : function() {
+				this.showComment = true;
+			},
+			hideModal : function() {
+				this.showComment = false;
+			},
+			getRefresh : function(cate_id, type, type_id, content) {
+				this.getData(1);
+				this.hideModal();
+			},
+			navigateTo(url) {
+				uni.navigateTo({
+					url: url
+				});
+			},
+			like(index) {
+				if (this.posts[index].islike === 0) {
+					this.posts[index].islike = 1;
+					this.posts[index].like.push({
+						"uid": this.user_id,
+						"username": "," + this.username
+					});
+				} else {
+					this.posts[index].islike = 0;
+					this.posts[index].like.splice(this.posts[index].like.indexOf({
+						"uid": this.user_id,
+						"username": "," + this.username
+					}), 1);
+				}
+			},
+			comment(index) {
+				this.showInput = true; //调起input框
+				this.focus = true;
+				this.data_index = index;
+			},
+			adjust() { //当弹出软键盘发生评论动作时,调整页面位置pageScrollTo
+				return;
+				uni.createSelectorQuery().selectViewport().scrollOffset(res => {
+					var scrollTop = res.scrollTop;
+					let view = uni.createSelectorQuery().select("#post-" + this.data_index);
+					view.boundingClientRect(data => {
+						console.log("data:" + JSON.stringify(data));
+						console.log("手机屏幕高度:" + this.screenHeight);
+						console.log("竖直滚动位置" + scrollTop);
+						console.log("节点离页面顶部的距离为" + data.top);
+						console.log("节点高度为" + data.height);
+						console.log("窗口高度为" + this.windowHeight);
+
+						uni.pageScrollTo({
+							scrollTop: scrollTop - (this.windowHeight - (data.height + data.top + 45)), //一顿乱算
+							// scrollTop: 50, 
+							duration: 300
+						});
+					}).exec();
+				}).exec();
+			},
+			reply(index, comment_index) {
+				this.is_reply = true; //回复中
+				this.showInput = true; //调起input框
+				let replyTo = this.posts[index].comments.comment[comment_index].username;
+				this.input_placeholder = '回复' + replyTo;
+				this.data_index = index; //post索引
+				this.comment_index = comment_index; //评论索引
+				this.focus = true;
+			},
+			blur: function() {
+				this.init_input();
+			},
+			send_comment: function(message) {
+
+				if (this.is_reply) {
+					var reply_username = this.posts[this.data_index].comments.comment[this.comment_index].username;
+					var comment_content = '回复' + reply_username + ':' + message.content;
+				} else {
+					var comment_content = message.content;
+				}
+				this.posts[this.data_index].comments.total += 1;
+				this.posts[this.data_index].comments.comment.push({
+					"uid": this.user_id,
+					"username": this.username,
+					"content": comment_content //直接获取input中的值
+				});
+				this.init_input();
+			},
+			init_input() {
+				this.showInput = false;
+				this.focus = false;
+				this.input_placeholder = '评论';
+				this.is_reply = false;
+			},
+			previewImage(imageList, image_index) {
+				var current = imageList[image_index];
+				uni.previewImage({
+					current: current,
+					urls: imageList
+				});
+			},
+			goPublish() {
+				uni.navigateTo({
+					url: './publish/publish',
+					success: res => {},
+					fail: () => {},
+					complete: () => {}
+				});
+			}
+		}
+	}
+</script>
+
+<style scoped>
+.liked{
+	/* display: inline-block; */
+	position: relative;
+	margin-right: 10upx;
+	width: 34upx;
+	height: 34upx;
+}
+.post-username{
+	font-size:32upx;
+	font-weight: 600;
+	color: #36648B;
+}
+	
+	
+
+
+.gallery_img {
+	width: 100%;
+	height: 100%
+}
+
+.header {
+	width: 100%;
+	height: 100%;
+	z-index: 10;
+	border-radius: 40upx;
+}
+
+.publish {
+	position: absolute;
+	top: 20upx;
+	right: 20upx;
+
+	/* z-index: 9999; */
+}
+
+
+
+.post_header {
+	
+	width: 90upx !important;
+	height: 90upx !important;
+	border-radius: 10upx;
+	margin-top: 8upx;
+}
+
+#moments {
+	background: #fff;
+}
+
+#moments .home-pic {
+	width: 100%;
+	/* margin-top: -150upx; */
+	position: relative;
+	height: 500upx;
+	z-index: 5;
+	background-size: cover;
+	margin-bottom: 50upx
+}
+
+#moments .home-pic-base {
+	position: absolute;
+	/*left: -60upx;*/
+	bottom: -40upx;
+	width: 100%;
+	height: 160upx;
+	padding: 0 30upx;
+}
+
+#moments .home-pic-base .top-pic {
+	width: 360upx;
+	height: 360upx;
+	
+	border-radius: 40upx;
+	-webkit-transform: scale(0.5);
+	-ms-transform: scale(0.5);
+	transform: scale(0.5);
+	-webkit-transform-origin: 100% 0%;
+	-ms-transform-origin: 100% 0%;
+	transform-origin: 100% 0%;
+	background-color: #ffffff;
+	
+	float: right
+}
+
+#moments .home-pic-base .top-name {
+	position: absolute;
+	/* left: 20px; */
+	right: 240upx;
+	top: 30upx;
+	font-size: 32upx;
+	font-weight: 600;
+	text-align: right;
+	color: #ffffff;
+	overflow: hidden
+}
+
+#moments .moments__post {
+	background: #fff;
+	display: block;
+	border-bottom: 1px solid #f2eeee;
+	padding: 30upx 20upx;
+	position: relative;
+	display: -webkit-box;
+	display: -webkit-flex;
+	display: flex;
+}
+
+#moments .moments__post::before {
+	content: none
+}
+
+#moments .moments__post .post_right {
+	font-size: 32upx;
+	display: table-cell;
+	padding-left: 20upx;
+	width: 100%;
+}
+
+/* #moments .moments__post .post_right .paragraphExtender {
+		margin: 5px auto;
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: -ms-flexbox;
+		display: flex
+	} */
+
+#moments .moments__post .title {
+	color: #094dcc
+}
+
+#moments .moments__post .thumbnails {
+	width: 100%;
+	display: flex;
+	flex-wrap: wrap;
+	/* display: -webkit-box;
+	display: -webkit-flex;
+	display: -ms-flexbox; */
+	/* -webkit-flex-wrap: wrap;
+	-ms-flex-wrap: wrap; */
+}
+
+#moments .moments__post .thumbnails .thumbnail {
+	width: 30%;
+	height: 180upx;
+	margin: 4upx;
+	background: #757575;
+	overflow: hidden;
+}
+
+.my-gallery{
+	width: 250upx;
+	height: 400upx;
+	margin: 4upx;
+	background: #757575;
+	overflow: hidden
+}
+
+#moments .moments__post .toolbar {
+	position: relative;
+	top: 10upx;
+	display: -webkit-box;
+	display: -webkit-flex;
+	display: -ms-flexbox;
+	display: flex;
+	-webkit-box-align: center;
+	-webkit-align-items: center;
+	-ms-flex-align: center;
+	align-items: center
+}
+
+#moments .moments__post .toolbar .timestamp {
+	color: #757575;
+	font-size: 22upx;
+}
+
+
+#moments .moments__post .like {
+	width: auto;
+	height: auto;
+	position: absolute;
+	right: 60upx;
+	display: flex;
+	align-items: center;
+}
+#moments .moments__post .comment {
+	width: auto;
+	height: auto;
+	position: absolute;
+	right: 0upx;
+	display: flex;
+	align-items: center;
+}
+
+#moments .moments__post .toolbar image{
+	padding-left: 20upx;
+	width: 40upx;
+	height: 40upx;
+}
+
+.post-footer{
+	margin-top: 30upx;
+	background-color: #f3f3f5;
+	width: 100%;
+}
+
+#moments .moments__post .footer_content {
+	padding-left: 10upx;
+	position: relative;
+	display: -webkit-box;
+	display: -webkit-flex;
+	display: -ms-flexbox;
+	display: flex;
+	-webkit-box-align: center;
+	-webkit-align-items: center;
+	-ms-flex-align: center;
+	align-items: center;
+	-webkit-flex-wrap: wrap;
+	-ms-flex-wrap: wrap;
+	flex-wrap: wrap
+}
+
+#moments .moments__post .footer_content .nickname {
+	color: #36648B;
+	font-size: 24upx
+}
+
+#moments .moments__post .footer_content .comment-nickname {
+	color: #36648B;
+	font-size: 24upx
+}
+
+#moments .moments__post .footer_content .comment-content {
+	color: #000000;
+	font-size: 24upx
+}
+
+.foot {
+	position: fixed;
+	width: 100%;
+	height: 90upx;
+	min-height: 90upx;
+	left: 0upx;
+	bottom: 0upx;
+	overflow: hidden;
+}
+
+@font-face {
+	font-family: uniicons;
+	font-weight: normal;
+	font-style: normal;
+	src: url('https://img-cdn-qiniu.dcloud.net.cn/fonts/uni.ttf') format('truetype');
+}
+
+/*通用 */
+view{
+	font-size:28upx; 
+	line-height:1.8;
+}
+progress, checkbox-group{
+	width: 100%;
+}
+form {
+	width: 100%;
+}
+.uni-flex {
+	display: flex;
+	flex-direction: row;
+}
+.uni-flex-item {
+	flex: 1;
+}
+.uni-row {
+	flex-direction: row;
+}
+.uni-column {
+	flex-direction: column;
+}
+.uni-link{
+	color:#576B95;
+	font-size:26upx;
+}
+.uni-center{
+	text-align:center;
+}
+.uni-inline-item{
+	display: flex;
+	flex-direction: row;
+	align-items:center;
+}
+.uni-inline-item text{
+	margin-right: 20upx;
+}
+.uni-inline-item text:last-child{
+	margin-right: 0upx;
+	margin-left: 20upx;
+}
+
+/* page */
+.uni-page-head{
+	padding:35upx; 
+	text-align: center;
+}
+.uni-page-head-title {
+	display: inline-block;
+	padding: 0 40upx;
+	font-size: 30upx;
+	height: 88upx;
+	line-height: 88upx;
+	color: #BEBEBE;
+	box-sizing: border-box;
+	border-bottom: 2upx solid #D8D8D8;
+}
+.uni-page-body {
+	width: 100%;
+	flex-grow: 1;
+	overflow-x: hidden;
+}
+.uni-padding-wrap{
+	width:690upx;
+	padding:0 30upx;
+}
+.uni-word {
+	text-align: center;
+	padding:200upx 100upx;
+}
+.uni-title {
+	font-size:30upx;
+	font-weight:500;
+	padding:20upx 0;
+	line-height:1.5;
+}
+.uni-text{
+	font-size:28upx;
+}
+.uni-title text{
+	font-size:24upx; 
+	color:#888;
+}
+
+.uni-text-gray{
+	color: #ccc;
+}
+.uni-text-small {
+	font-size:24upx;
+}
+.uni-common-mb{
+	margin-bottom:30upx;
+}
+.uni-common-pb{
+	padding-bottom:30upx;
+}
+.uni-common-pl{
+	padding-left:30upx;
+}
+.uni-common-mt{
+	margin-top:30upx;
+}
+/* 背景色 */
+.uni-bg-red{
+	background:#F76260; color:#FFF;
+}
+.uni-bg-green{
+	background:#09BB07; color:#FFF;
+}
+.uni-bg-blue{
+	background:#007AFF; color:#FFF;
+}
+/* 标题 */
+.uni-h1 {font-size: 80upx; font-weight:700;}
+.uni-h2 {font-size: 60upx; font-weight:700;}
+.uni-h3 {font-size: 48upx; font-weight:700;}
+.uni-h4 {font-size: 36upx; font-weight:700;}
+.uni-h5 {font-size: 28upx; color: #8f8f94;}
+.uni-h6 {font-size: 24upx; color: #8f8f94;}
+.uni-bold{font-weight:bold;}
+
+/* 文本溢出隐藏 */
+.uni-ellipsis {overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
+
+/* 竖向百分百按钮 */
+.uni-btn-v{
+	padding:10upx 0;
+}
+.uni-btn-v button{margin:20upx 0;}
+
+/* 表单 */
+.uni-form-item{
+	display:flex;
+	width:100%;
+	padding:10upx 0;
+}
+.uni-form-item .title{
+	padding:10upx 25upx;
+}
+.uni-label {
+	width: 210upx;
+	word-wrap: break-word;
+	word-break: break-all;
+	text-indent:20upx;
+}
+.uni-input {
+	height: 50upx;
+	padding: 15upx 25upx;
+	line-height:50upx;
+	font-size:28upx;
+	background:#FFF;
+	flex: 1;
+}
+radio-group, checkbox-group{
+	width:100%;
+}
+radio-group label, checkbox-group label{
+	padding-right:20upx;
+}
+.uni-form-item .with-fun{
+	display:flex; 
+	flex-wrap:nowrap; 
+	background:#FFFFFF;
+}
+.uni-form-item .with-fun .uni-icon{
+	width:40px; 
+	height:80upx; 
+	line-height:80upx; 
+	flex-shrink:0;
+}
+
+/* loadmore */
+.uni-loadmore{
+	height:80upx;
+	line-height:80upx;
+	text-align:center;
+	padding-bottom:30upx;
+}
+/*数字角标*/
+.uni-badge,
+.uni-badge-default {
+	font-family: 'Helvetica Neue', Helvetica, sans-serif;
+	font-size: 12px;
+	line-height: 1;
+	display: inline-block;
+	padding: 3px 6px;
+	color: #333;
+	border-radius: 100px;
+	background-color: rgba(0, 0, 0, .15);
+}
+.uni-badge.uni-badge-inverted {
+	padding: 0 5px 0 0;
+	color: #929292;
+	background-color: transparent
+}
+.uni-badge-primary {
+	color: #fff;
+	background-color: #007aff
+}
+.uni-badge-blue.uni-badge-inverted,
+.uni-badge-primary.uni-badge-inverted {
+	color: #007aff;
+	background-color: transparent
+}
+.uni-badge-green,
+.uni-badge-success {
+	color: #fff;
+	background-color: #4cd964;
+}
+.uni-badge-green.uni-badge-inverted,
+.uni-badge-success.uni-badge-inverted {
+	color: #4cd964;
+	background-color: transparent
+}
+.uni-badge-warning,
+.uni-badge-yellow {
+	color: #fff;
+	background-color: #f0ad4e
+}
+.uni-badge-warning.uni-badge-inverted,
+.uni-badge-yellow.uni-badge-inverted {
+	color: #f0ad4e;
+	background-color: transparent
+}
+.uni-badge-danger,
+.uni-badge-red {
+	color: #fff;
+	background-color: #dd524d
+}
+.uni-badge-danger.uni-badge-inverted,
+.uni-badge-red.uni-badge-inverted {
+	color: #dd524d;
+	background-color: transparent
+}
+.uni-badge-purple,
+.uni-badge-royal {
+	color: #fff;
+	background-color: #8a6de9
+}
+.uni-badge-purple.uni-badge-inverted,
+.uni-badge-royal.uni-badge-inverted {
+	color: #8a6de9;
+	background-color: transparent
+}
+
+/*折叠面板 */
+.uni-collapse-content {
+	height: 0;
+	width: 100%;
+	overflow: hidden;
+}
+.uni-collapse-content.uni-active {
+	height: auto;
+}
+
+/*卡片视图 */
+.uni-card {
+	background: #fff;
+	border-radius: 8upx;
+	margin:20upx 0;
+	position: relative;
+	box-shadow: 0 2upx 4upx rgba(0, 0, 0, .3);
+}
+.uni-card-content {
+	font-size: 30upx;
+}
+.uni-card-content.image-view{
+    width: 100%;
+    margin: 0;
+}
+.uni-card-content-inner {
+	position: relative;
+	padding: 30upx;
+}
+.uni-card-footer,
+.uni-card-header {
+	position: relative;
+	display: flex;
+	min-height: 50upx;
+	padding: 20upx 30upx;
+	justify-content: space-between;
+	align-items: center;
+}
+.uni-card-header {
+	font-size: 36upx;
+}
+.uni-card-footer {
+	color: #6d6d72;
+}
+.uni-card-footer:before,
+.uni-card-header:after {
+	position: absolute;
+	top: 0;
+	right: 0;
+	left: 0;
+	height: 2upx;
+	content: '';
+	-webkit-transform: scaleY(.5);
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+.uni-card-header:after {
+	top: auto;
+	bottom: 0;
+}
+.uni-card-media {
+	justify-content: flex-start;
+}
+.uni-card-media-logo {
+	height: 84upx;
+	width: 84upx;
+	margin-right: 20upx;
+}
+.uni-card-media-body {
+	height: 84upx;
+	display: flex;
+	flex-direction: column;
+	justify-content: space-between;
+	align-items: flex-start;
+}
+.uni-card-media-text-top {
+	line-height: 36upx;
+	font-size: 34upx;
+}
+.uni-card-media-text-bottom {
+	line-height: 30upx;
+	font-size: 28upx;
+	color: #8f8f94;
+}
+.uni-card-link {
+	color: #007AFF;
+}
+
+/* 列表 */
+.uni-list {
+	background-color: #FFFFFF;
+	position: relative;
+	width: 100%;
+	display: flex;
+	flex-direction: column;
+}
+.uni-list:after {
+	position: absolute;
+	z-index: 10;
+	right: 0;
+	bottom: 0;
+	left: 0;
+	height: 1px;
+	content: '';
+	-webkit-transform: scaleY(.5);
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+.uni-list::before {
+	position: absolute;
+	z-index: 10;
+	right: 0;
+	top: 0;
+	left: 0;
+	height: 1px;
+	content: '';
+	-webkit-transform: scaleY(.5);
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+.uni-list-cell {
+	position: relative;
+	display: flex;
+	flex-direction: row;
+	justify-content: space-between;
+	align-items: center;
+}
+.uni-list-cell-hover {
+	background-color: #eee;
+}
+.uni-list-cell-pd {
+	padding: 22upx 30upx;
+}
+.uni-list-cell-left {
+	font-size:28upx;
+	padding: 0 30upx;
+}
+.uni-list-cell-db,
+.uni-list-cell-right {
+	flex: 1;
+}
+.uni-list-cell::after {
+	position: absolute;
+  z-index: 3;
+	right: 0;
+	bottom: 0;
+	left: 30upx;
+	height: 1px;
+	content: '';
+	-webkit-transform: scaleY(.5);
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+.uni-list .uni-list-cell:last-child::after {
+	height: 0upx;
+}
+.uni-list-cell-last.uni-list-cell::after {
+	height: 0upx;
+}
+.uni-list-cell-divider {
+	position: relative;
+	display: flex;
+	color: #999;
+	background-color: #f7f7f7;
+	padding:15upx 20upx;
+}
+.uni-list-cell-divider::before {
+	position: absolute;
+	right: 0;
+	top: 0;
+	left: 0;
+	height: 1px;
+	content: '';
+	-webkit-transform: scaleY(.5);
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+.uni-list-cell-divider::after {
+	position: absolute;
+	right: 0;
+	bottom: 0;
+	left: 0upx;
+	height: 1px;
+	content: '';
+	-webkit-transform: scaleY(.5);
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+.uni-list-cell-navigate {
+	font-size:30upx;
+	padding: 22upx 30upx;
+	line-height: 48upx;
+	position: relative;
+	display: flex;
+	box-sizing: border-box;
+	width: 100%;
+	flex: 1;
+	justify-content: space-between;
+	align-items: center;
+}
+.uni-list-cell-navigate {
+	padding-right: 36upx;
+}
+.uni-navigate-badge {
+	padding-right: 50upx;
+}
+.uni-list-cell-navigate.uni-navigate-right:after {
+	font-family: uniicons;
+	content: '\e583';
+	position: absolute;
+	right: 24upx;
+	top: 50%;
+	color: #bbb;
+	-webkit-transform: translateY(-50%);
+	transform: translateY(-50%);
+}
+.uni-list-cell-navigate.uni-navigate-bottom:after {
+	font-family: uniicons;
+	content: '\e581';
+	position: absolute;
+	right: 24upx;
+	top: 50%;
+	color: #bbb;
+	-webkit-transform: translateY(-50%);
+	transform: translateY(-50%);
+}
+.uni-list-cell-navigate.uni-navigate-bottom.uni-active::after {
+	font-family: uniicons;
+	content: '\e580';
+	position: absolute;
+	right: 24upx;
+	top: 50%;
+	color: #bbb;
+	-webkit-transform: translateY(-50%);
+	transform: translateY(-50%);
+}
+.uni-collapse.uni-list-cell {
+	flex-direction: column;
+}
+.uni-list-cell-navigate.uni-active {
+	background: #eee;
+}
+.uni-list.uni-collapse {
+	box-sizing: border-box;
+	height: 0;
+	overflow: hidden;
+}
+.uni-collapse .uni-list-cell {
+	padding-left: 20upx;
+}
+.uni-collapse .uni-list-cell::after {
+	left: 52upx;
+}
+.uni-list.uni-active {
+	height: auto;
+}
+
+/* 三行列表 */
+.uni-triplex-row {
+	display: flex;
+	flex: 1;
+	width: 100%;
+	box-sizing: border-box;
+	flex-direction: row;
+	padding: 22upx 30upx;
+}
+.uni-triplex-right,
+.uni-triplex-left {
+	display: flex;
+	flex-direction: column;
+}
+.uni-triplex-left {
+	width: 84%;
+}
+.uni-triplex-left .uni-title{
+	padding:8upx 0;
+}
+.uni-triplex-left .uni-text, .uni-triplex-left .uni-text-small{color:#999999;}
+.uni-triplex-right {
+	width: 16%;
+	text-align: right;
+}
+
+/* 图文列表 */
+.uni-media-list {
+	padding: 22upx 30upx;
+	box-sizing: border-box;
+	display: flex;
+	width: 100%;
+	flex-direction: row;
+}
+.uni-navigate-right.uni-media-list {
+	padding-right: 74upx;
+}
+.uni-pull-right {
+	flex-direction: row-reverse;
+}
+.uni-pull-right>.uni-media-list-logo {
+	margin-right: 0upx;
+	margin-left: 20upx;
+}
+.uni-media-list-logo {
+	height: 84upx;
+	width: 84upx;
+	margin-right: 20upx;
+}
+.uni-media-list-logo image {
+	height: 100%;
+	width: 100%;
+}
+.uni-media-list-body {
+	height: 84upx;
+	display: flex;
+	flex: 1;
+	flex-direction: column;
+	justify-content: space-between;
+	align-items: flex-start;
+	overflow: hidden;
+}
+.uni-media-list-text-top {
+	width: 100%;
+	line-height: 36upx;
+	font-size: 30upx;
+}
+.uni-media-list-text-bottom {
+	width: 100%;
+	line-height: 30upx;
+	font-size: 26upx;
+	color: #8f8f94;
+}
+
+/* 九宫格 */
+.uni-grid-9 {
+	background: #f2f2f2;
+	width: 750upx;
+	display: flex;
+	flex-direction: row;
+	flex-wrap: wrap;
+	border-top: 2upx solid #eee;
+}
+.uni-grid-9-item {
+	width: 250upx;
+	height: 200upx;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center;
+	border-bottom: 2upx solid;
+	border-right: 2upx solid;
+	border-color: #eee;
+	box-sizing: border-box;
+}
+.no-border-right {
+	border-right: none;
+}
+.uni-grid-9-image {
+	width: 100upx;
+	height: 100upx;
+}
+.uni-grid-9-text {
+	width: 250upx;
+	line-height: 4upx;
+	height: 40upx;
+	text-align: center;
+	font-size: 30upx;
+}
+.uni-grid-9-item-hover {
+	background: rgba(0, 0, 0, 0.1);
+}
+
+/* 上传 */
+.uni-uploader {
+	flex: 1;
+	flex-direction: column;
+}
+.uni-uploader-head {
+	display: flex;
+	flex-direction: row;
+	justify-content: space-between;
+}
+.uni-uploader-info {
+	color: #B2B2B2;
+}
+.uni-uploader-body {
+	margin-top: 16upx;
+}
+.uni-uploader__files {
+	display: flex;
+	flex-direction: row;
+	flex-wrap: wrap;
+}
+.uni-uploader__file {
+	margin: 10upx;
+	width: 210upx;
+	height: 210upx;
+}
+.uni-uploader__img {
+	display: block;
+	width: 210upx;
+	height: 210upx;
+}
+.uni-uploader__input-box {
+	position: relative;
+	margin:10upx;
+	width: 208upx;
+	height: 208upx;
+	border: 2upx solid #D9D9D9;
+}
+.uni-uploader__input-box:before,
+.uni-uploader__input-box:after {
+	content: " ";
+	position: absolute;
+	top: 50%;
+	left: 50%;
+	-webkit-transform: translate(-50%, -50%);
+	transform: translate(-50%, -50%);
+	background-color: #D9D9D9;
+}
+.uni-uploader__input-box:before {
+	width: 4upx;
+	height: 79upx;
+}
+.uni-uploader__input-box:after {
+	width: 79upx;
+	height: 4upx;
+}
+.uni-uploader__input-box:active {
+	border-color: #999999;
+}
+.uni-uploader__input-box:active:before,
+.uni-uploader__input-box:active:after {
+	background-color: #999999;
+}
+.uni-uploader__input {
+	position: absolute;
+	z-index: 1;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	opacity: 0;
+}
+
+/*问题反馈*/
+.feedback-title {
+	display: flex;
+	flex-direction: row;
+	justify-content: space-between;
+	align-items: center;
+	padding: 20upx;
+	color: #8f8f94;
+	font-size: 28upx;
+}
+.feedback-star-view.feedback-title {
+	justify-content: flex-start;
+	margin: 0;
+}
+.feedback-quick {
+	position: relative;
+	padding-right: 40upx;
+}
+.feedback-quick:after {
+	font-family: uniicons;
+	font-size: 40upx;
+	content: '\e581';
+	position: absolute;
+	right: 0;
+	top: 50%;
+	color: #bbb;
+	-webkit-transform: translateY(-50%);
+	transform: translateY(-50%);
+}
+.feedback-body {
+	background: #fff;
+}
+.feedback-textare {
+	height: 200upx;
+	font-size: 34upx;
+	line-height: 50upx;
+	width: 100%;
+	box-sizing: border-box;
+	padding: 20upx 30upx 0;
+}
+.feedback-input {
+	font-size: 34upx;
+	height: 50upx;
+	min-height: 50upx;
+	padding: 15upx 20upx;
+	line-height: 50upx;
+}
+.feedback-uploader {
+	padding: 22upx 20upx;
+}
+.feedback-star {
+	font-family: uniicons;
+	font-size: 40upx;
+	margin-left: 6upx;
+}
+.feedback-star-view {
+	margin-left: 20upx;
+}
+.feedback-star:after {
+	content: '\e408';
+}
+.feedback-star.active {
+	color: #FFB400;
+}
+.feedback-star.active:after {
+	content: '\e438';
+}
+.feedback-submit {
+	background: #007AFF;
+	color: #FFFFFF;
+	margin: 20upx;
+}
+
+/* input group */
+.uni-input-group {
+	position: relative;
+	padding: 0;
+	border: 0;
+	background-color: #fff;
+}
+
+.uni-input-group:before {
+	position: absolute;
+	top: 0;
+	right: 0;
+	left: 0;
+	height: 2upx;
+	content: '';
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+
+.uni-input-group:after {
+	position: absolute;
+	right: 0;
+	bottom: 0;
+	left: 0;
+	height: 2upx;
+	content: '';
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+
+.uni-input-row {
+	position: relative;
+	display: flex;
+	flex-direction: row;
+	font-size:28upx;
+	padding: 22upx 30upx;
+	justify-content: space-between;
+}
+
+.uni-input-group .uni-input-row:after {
+	position: absolute;
+	right: 0;
+	bottom: 0;
+	left: 30upx;
+	height: 2upx;
+	content: '';
+	transform: scaleY(.5);
+	background-color: #c8c7cc;
+}
+
+.uni-input-row label {
+	line-height: 70upx;
+}
+
+/* textarea */
+.uni-textarea{
+	width:100%;
+	background:#FFF;
+}
+.uni-textarea textarea{
+	width:96%;
+	padding:18upx 2%;
+	line-height:1.6;
+	font-size:28upx;
+	height:150upx;
+}
+
+/* tab bar */
+.uni-tab-bar {
+	display: flex;
+	flex: 1;
+	flex-direction: column;
+	overflow: hidden;
+	height: 100%;
+}
+
+.uni-tab-bar .list {
+	width: 750upx;
+	height: 100%;
+}
+
+.uni-swiper-tab {
+	width: 100%;
+	white-space: nowrap;
+	line-height: 100upx;
+	height: 100upx;
+	border-bottom: 1px solid #c8c7cc;
+}
+
+.swiper-tab-list {
+	font-size: 30upx;
+	width: 150upx;
+	display: inline-block;
+	text-align: center;
+	color: #555;
+}
+
+.uni-tab-bar .active {
+	color: #007AFF;
+}
+
+.uni-tab-bar .swiper-box {
+	flex: 1;
+	width: 100%;
+	height: calc(100% - 100upx);
+}
+
+.uni-tab-bar-loading{
+	padding:20upx 0;
+}
+
+/* steps */
+.uni-steps{padding:20upx 30upx; flex-grow: 1; display:flex; flex-wrap:wrap;}
+.uni-steps view{display:flex; flex-wrap:wrap; float:none;}
+.uni-steps .step{width:31.3%; margin:0 1%; flex-wrap:nowrap;}
+.uni-steps .step-circle{width:50upx; height:50upx; border-radius:50upx; background:#F1F1F3; justify-content:center; line-height:50upx; flex-shrink:0; margin-right:15upx; color:#666; font-size:28upx;}
+.uni-steps .step-content{width:100%; height:22upx; border-bottom:1px solid #F1F2F3;}
+.uni-steps .step-title{line-height:50upx; height:50upx; background:#FFFFFF; width:auto; overflow:hidden; padding-right:8upx;}
+.uni-steps .current .step-circle{background:#00B26A; color:#FFFFFF;}
+.uni-steps .current .step-content{border-color:#00B26A;}
+.uni-steps .current .step-title{color:#00B26A;}
+
+/* comment */
+.uni-comment{padding:5rpx 0; display: flex; flex-grow:1; flex-direction: column;}
+.uni-comment-list{flex-wrap:nowrap; padding:10rpx 0; margin:10rpx 0; width:100%; display: flex;}
+.uni-comment-face{width:70upx; height:70upx; border-radius:100%; margin-right:20upx; flex-shrink:0; overflow:hidden;}
+.uni-comment-face image{width:100%; border-radius:100%;}
+.uni-comment-body{width:100%;}
+.uni-comment-top{line-height:1.5em; justify-content:space-between;}
+.uni-comment-top text{color:#0A98D5; font-size:24upx;}
+.uni-comment-date{line-height:38upx; flex-direction:row; justify-content:space-between; display:flex !important; flex-grow:1;}
+.uni-comment-date view{color:#666666; font-size:24upx; line-height:38upx;}
+.uni-comment-content{line-height:1.6em; font-size:28upx; padding:8rpx 0;}
+.uni-comment-replay-btn{background:#FFF; font-size:24upx; line-height:28upx; padding:5rpx 20upx; border-radius:30upx; color:#333 !important; margin:0 10upx;}
+
+/* swiper msg */
+.uni-swiper-msg{width:100%; padding:12rpx 0; flex-wrap:nowrap; display:flex;}
+.uni-swiper-msg-icon{width:50upx; margin-right:20upx;}
+.uni-swiper-msg-icon image{width:100%; flex-shrink:0;}
+.uni-swiper-msg swiper{width:100%; height:50upx;}
+.uni-swiper-msg swiper-item{line-height:50upx;}
+
+/* product */
+.uni-product-list {
+    display: flex;
+    width: 100%;
+    flex-wrap: wrap;
+    flex-direction: row;
+}
+
+.uni-product {
+    padding: 20upx;
+    display: flex;
+    flex-direction: column;
+}
+
+.image-view {
+    height: 330upx;
+    width: 330upx;
+	margin:12upx 0;
+}
+
+.uni-product-image {
+    height: 330upx;
+    width: 330upx;
+}
+
+.uni-product-title {
+    width: 300upx;
+    word-break: break-all;
+    display: -webkit-box;
+    overflow: hidden;
+	line-height:1.5;
+    text-overflow: ellipsis;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+}
+
+.uni-product-price {
+	margin-top:10upx;
+    font-size: 28upx;
+	line-height:1.5;
+    position: relative;
+}
+
+.uni-product-price-original {
+    color: #e80080;
+}
+
+.uni-product-price-favour {
+    color: #888888;
+    text-decoration: line-through;
+    margin-left: 10upx;
+}
+
+.uni-product-tip {
+    position: absolute;
+    right: 10upx;
+    background-color: #ff3333;
+    color: #ffffff;
+    padding: 0 10upx;
+    border-radius: 5upx;
+}
+
+/* timeline */
+.uni-timeline {
+		margin: 35upx 0;
+		display: flex;
+		flex-direction: column;
+		position: relative;
+	}
+
+
+	.uni-timeline-item {
+		display: flex;
+		flex-direction: row;
+		position: relative;
+		padding-bottom: 20upx;
+		box-sizing: border-box;
+		overflow: hidden;
+
+	}
+
+	.uni-timeline-item .uni-timeline-item-keynode {
+		width: 160upx;
+		flex-shrink: 0;
+		box-sizing: border-box;
+		padding-right: 20upx;
+		text-align: right;
+		line-height: 65upx;
+	}
+
+	.uni-timeline-item .uni-timeline-item-divider {
+		flex-shrink: 0;
+		position: relative;
+		width: 30upx;
+		height: 30upx;
+		top: 15upx;
+		border-radius: 50%;
+		background-color: #bbb;
+	}
+
+
+
+	.uni-timeline-item-divider::before,
+	.uni-timeline-item-divider::after {
+		position: absolute;
+		left: 15upx;
+		width: 1upx;
+		height: 100vh;
+		content: '';
+		background: inherit;
+	}
+
+	.uni-timeline-item-divider::before {
+		bottom: 100%;
+	}
+
+	.uni-timeline-item-divider::after {
+		top: 100%;
+	}
+
+
+	.uni-timeline-last-item .uni-timeline-item-divider:after {
+		display: none;
+	}
+
+	.uni-timeline-first-item .uni-timeline-item-divider:before {
+		display: none;
+	}
+
+	.uni-timeline-item .uni-timeline-item-content {
+		padding-left: 20upx;
+	}
+	
+	.uni-timeline-last-item .bottom-border::after{
+		display: none;
+	}
+	
+	.uni-timeline-item-content .datetime{
+		color: #CCCCCC;
+	}
+	
+	/* 自定义节点颜色 */
+	.uni-timeline-last-item .uni-timeline-item-divider{
+		background-color: #1AAD19;
+	}
+  
+  
+/* uni-icon */
+
+.uni-icon {
+	font-family: uniicons;
+	font-size: 24px;
+	font-weight: normal;
+	font-style: normal;
+	line-height: 1;
+	display: inline-block;
+	text-decoration: none;
+	-webkit-font-smoothing: antialiased;
+}
+
+.uni-icon.uni-active {
+	color: #007aff;
+}
+
+.uni-icon-contact:before {
+	content: '\e100';
+}
+
+.uni-icon-person:before {
+	content: '\e101';
+}
+
+.uni-icon-personadd:before {
+	content: '\e102';
+}
+
+.uni-icon-contact-filled:before {
+	content: '\e130';
+}
+
+.uni-icon-person-filled:before {
+	content: '\e131';
+}
+
+.uni-icon-personadd-filled:before {
+	content: '\e132';
+}
+
+.uni-icon-phone:before {
+	content: '\e200';
+}
+
+.uni-icon-email:before {
+	content: '\e201';
+}
+
+.uni-icon-chatbubble:before {
+	content: '\e202';
+}
+
+.uni-icon-chatboxes:before {
+	content: '\e203';
+}
+
+.uni-icon-phone-filled:before {
+	content: '\e230';
+}
+
+.uni-icon-email-filled:before {
+	content: '\e231';
+}
+
+.uni-icon-chatbubble-filled:before {
+	content: '\e232';
+}
+
+.uni-icon-chatboxes-filled:before {
+	content: '\e233';
+}
+
+.uni-icon-weibo:before {
+	content: '\e260';
+}
+
+.uni-icon-weixin:before {
+	content: '\e261';
+}
+
+.uni-icon-pengyouquan:before {
+	content: '\e262';
+}
+
+.uni-icon-chat:before {
+	content: '\e263';
+}
+
+.uni-icon-qq:before {
+	content: '\e264';
+}
+
+.uni-icon-videocam:before {
+	content: '\e300';
+}
+
+.uni-icon-camera:before {
+	content: '\e301';
+}
+
+.uni-icon-mic:before {
+	content: '\e302';
+}
+
+.uni-icon-location:before {
+	content: '\e303';
+}
+
+.uni-icon-mic-filled:before,
+.uni-icon-speech:before {
+	content: '\e332';
+}
+
+.uni-icon-location-filled:before {
+	content: '\e333';
+}
+
+.uni-icon-micoff:before {
+	content: '\e360';
+}
+
+.uni-icon-image:before {
+	content: '\e363';
+}
+
+.uni-icon-map:before {
+	content: '\e364';
+}
+
+.uni-icon-compose:before {
+	content: '\e400';
+}
+
+.uni-icon-trash:before {
+	content: '\e401';
+}
+
+.uni-icon-upload:before {
+	content: '\e402';
+}
+
+.uni-icon-download:before {
+	content: '\e403';
+}
+
+.uni-icon-close:before {
+	content: '\e404';
+}
+
+.uni-icon-redo:before {
+	content: '\e405';
+}
+
+.uni-icon-undo:before {
+	content: '\e406';
+}
+
+.uni-icon-refresh:before {
+	content: '\e407';
+}
+
+.uni-icon-star:before {
+	content: '\e408';
+}
+
+.uni-icon-plus:before {
+	content: '\e409';
+}
+
+.uni-icon-minus:before {
+	content: '\e410';
+}
+
+.uni-icon-circle:before,
+.uni-icon-checkbox:before {
+	content: '\e411';
+}
+
+.uni-icon-close-filled:before,
+.uni-icon-clear:before {
+	content: '\e434';
+}
+
+.uni-icon-refresh-filled:before {
+	content: '\e437';
+}
+
+.uni-icon-star-filled:before {
+	content: '\e438';
+}
+
+.uni-icon-plus-filled:before {
+	content: '\e439';
+}
+
+.uni-icon-minus-filled:before {
+	content: '\e440';
+}
+
+.uni-icon-circle-filled:before {
+	content: '\e441';
+}
+
+.uni-icon-checkbox-filled:before {
+	content: '\e442';
+}
+
+.uni-icon-closeempty:before {
+	content: '\e460';
+}
+
+.uni-icon-refreshempty:before {
+	content: '\e461';
+}
+
+.uni-icon-reload:before {
+	content: '\e462';
+}
+
+.uni-icon-starhalf:before {
+	content: '\e463';
+}
+
+.uni-icon-spinner:before {
+	content: '\e464';
+}
+
+.uni-icon-spinner-cycle:before {
+	content: '\e465';
+}
+
+.uni-icon-search:before {
+	content: '\e466';
+}
+
+.uni-icon-plusempty:before {
+	content: '\e468';
+}
+
+.uni-icon-forward:before {
+	content: '\e470';
+}
+
+.uni-icon-back:before,
+.uni-icon-left-nav:before {
+	content: '\e471';
+}
+
+.uni-icon-checkmarkempty:before {
+	content: '\e472';
+}
+
+.uni-icon-home:before {
+	content: '\e500';
+}
+
+.uni-icon-navigate:before {
+	content: '\e501';
+}
+
+.uni-icon-gear:before {
+	content: '\e502';
+}
+
+.uni-icon-paperplane:before {
+	content: '\e503';
+}
+
+.uni-icon-info:before {
+	content: '\e504';
+}
+
+.uni-icon-help:before {
+	content: '\e505';
+}
+
+.uni-icon-locked:before {
+	content: '\e506';
+}
+
+.uni-icon-more:before {
+	content: '\e507';
+}
+
+.uni-icon-flag:before {
+	content: '\e508';
+}
+
+.uni-icon-home-filled:before {
+	content: '\e530';
+}
+
+.uni-icon-gear-filled:before {
+	content: '\e532';
+}
+
+.uni-icon-info-filled:before {
+	content: '\e534';
+}
+
+.uni-icon-help-filled:before {
+	content: '\e535';
+}
+
+.uni-icon-more-filled:before {
+	content: '\e537';
+}
+
+.uni-icon-settings:before {
+	content: '\e560';
+}
+
+.uni-icon-list:before {
+	content: '\e562';
+}
+
+.uni-icon-bars:before {
+	content: '\e563';
+}
+
+.uni-icon-loop:before {
+	content: '\e565';
+}
+
+.uni-icon-paperclip:before {
+	content: '\e567';
+}
+
+.uni-icon-eye:before {
+	content: '\e568';
+}
+
+.uni-icon-arrowup:before {
+	content: '\e580';
+}
+
+.uni-icon-arrowdown:before {
+	content: '\e581';
+}
+
+.uni-icon-arrowleft:before {
+	content: '\e582';
+}
+
+.uni-icon-arrowright:before {
+	content: '\e583';
+}
+
+.uni-icon-arrowthinup:before {
+	content: '\e584';
+}
+
+.uni-icon-arrowthindown:before {
+	content: '\e585';
+}
+
+.uni-icon-arrowthinleft:before {
+	content: '\e586';
+}
+
+.uni-icon-arrowthinright:before {
+	content: '\e587';
+}
+
+.uni-icon-pulldown:before {
+	content: '\e588';
+}
+
+.uni-icon-scan:before {
+    content: "\e612";
+}
+</style>

+ 27 - 4
pages/dream/view/product.vue

@@ -33,11 +33,30 @@
 				:margin="10" @change="navChange"></graceNavBar>
 			</view>
 			<!-- 详情 请根据项目情况自行改进 可以使用 富文本-->
-			<view class="grace-product-padding" :hidden="active == 1">
+			<view class="grace-product-padding" :hidden="active != 0">
 				<dever-content :item="item.goods.content_array" :pics="item.goods.content_pic" :skeleton="false"></dever-content>
 			</view>
 			<!-- 评论区 -->
-			<view class="grace-comments grace-product-padding" :hidden="active == 0">
+			<view class="grace-comments grace-product-padding" :hidden="active != 2">
+				<view class="grace-comments-items" v-for="(v, k) in fetch.info" :key="k">
+					<image  :src="v.user.avatar" class="grace-comments-face"></image>
+					<view class="grace-comments-body">
+						<view class="grace-comments-header">
+							<text class="grace-comments-header-text">{{v.user.username}}</text>
+							<text class="grace-comments-info-text">{{v.cdate_string}}</text>
+						</view>
+						<text class="grace-comments-content">{{v.content}}</text>
+						<view class="grace-comments-imgs" v-if="v.pic">
+							<view class="grace-comments-image" v-for="(v1, k1) in v.pic" :key="k1">
+								<image :src="v1" mode="widthFix" class="grace-comments-img" @click="Dever.viewPic(v.pic, v1)" style="height:auto"></image>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			
+			<!-- 评论区 -->
+			<view class="grace-comments grace-product-padding" :hidden="active != 1">
 				<view class="grace-comments-items" v-for="(v, k) in fetch.info" :key="k">
 					<image  :src="v.user.avatar" class="grace-comments-face"></image>
 					<view class="grace-comments-body">
@@ -199,7 +218,7 @@ export default {
 			api : 'app/community/?l=api.addComment',
 			key : 'content/product',
 			// 切换导航
-			navItems : ['商品详情', '最新评价'],
+			navItems : ['商品详情', '订单列表', '最新评价'],
 			active:0,
 			// 购买选择属性层展示
 			attrIsShow : false,
@@ -245,7 +264,7 @@ export default {
 		}
 		
 		this.getInfo();
-		this.getData(1);
+		//this.getData(1);
 	},
 	methods:{
 		openPicker : function() {
@@ -311,6 +330,10 @@ export default {
 		navChange : function(e){
 			this.active = e;
 			if (e == 1) {
+				// 获取下单列表
+				//this.getData(1);
+			}
+			if (e == 2) {
 				this.getData(1);
 			}
 		},

BIN
static/moment/60x60.png


BIN
static/moment/camera.png


BIN
static/moment/comment.png


BIN
static/moment/find-album-reflash-icon.png


BIN
static/moment/islike.png


BIN
static/moment/like.png


BIN
static/moment/liked.png


BIN
static/moment/test/bear.jpg


BIN
static/moment/test/bgi.jpg


BIN
static/moment/test/bgi02.jpg


BIN
static/moment/test/header01.jpg


BIN
static/moment/test/header02.jpg


BIN
static/moment/test/header03.jpg


BIN
static/moment/test/header04.jpg


BIN
static/moment/test/header05.jpg


BIN
static/moment/test/header06.jpg


BIN
static/moment/test/pig-01.jpg


BIN
static/moment/test/pig-02.jpg


BIN
static/moment/test/pig-03.jpg


BIN
static/moment/test/pig-04.jpg


BIN
static/moment/test/pig-05.jpg


BIN
static/moment/test/pig-06.jpg


BIN
static/moment/test/pig-07.jpg


BIN
static/moment/test/pig-08.jpg


BIN
static/moment/test/pig-09.jpg


BIN
static/moment/test/test1.jpg


BIN
static/moment/test/test2.jpg