eason 1 سال پیش
والد
کامیت
105aafe359

+ 21 - 2
fore-end/API/appraise.js

@@ -17,7 +17,9 @@ const API = {
 	getGoodsInfoListUrl: '/goods/list',
 	chatUrl: '/chat',
 	getChattingRecordUrl: '/chat/msg',
-	getGoodsInfoUrl: '/goods/detail'
+	getGoodsInfoUrl: '/goods/detail',
+	getLatestChattingRecordUrl: '/chat/latest',
+	getUserAllOrderUrl: '/order/user'
 	
     //放接口URL
 }
@@ -115,7 +117,7 @@ function getUserRelation(params) {
 	return request.get(
 		API.getUserRelationUrl,
 		{
-			data:params.data,
+			data:params.data
 		}
 	)
 }
@@ -166,6 +168,21 @@ function getGoodsInfo(data) {
 		API.getGoodsInfoUrl+`/${data.id}`+'?uid='+data.uid+'&date='+data.date
 	)
 }
+
+//获取与特定用户相关的最后一条聊天记录
+function getLatestChattingRecord(params) {
+	return request.get(
+		API.getLatestChattingRecordUrl+'?uid='+params.uid+'&target='+params.target
+	)
+}
+
+//传入用户uid获取用户所有订单
+function getUserAllOrder(params) {
+	return request.get(
+		API.getUserAllOrderUrl+'?uid='+params.uid
+	)
+}
+
 module.exports = {
     createCommont,
 	getCommentList,
@@ -183,6 +200,8 @@ module.exports = {
 	getChattingRecord,
 	getGoodsInfo,
 	setWsConnect,
+	getLatestChattingRecord,
+	getUserAllOrder,
 	loginURl: API.loginURL,
 	registerURL: API.registerURL
 }

+ 1 - 1
fore-end/components/myOrderCard/index.wxml

@@ -9,7 +9,7 @@
 		<van-image radius="15px" width="80" height="80" src="{{item.commodityUrl}}" style="position: relative; left: -450rpx; top: 5rpx"></van-image>
 		<view class="commodity-card-body-info" style="width: 409rpx; height: 165rpx; display: flex; box-sizing: border-box; position: relative; left: 209rpx; top: -180rpx">
 			<view class="commodity-card-body-info-title" style="position: relative; left: 0rpx; top: 38rpx; width: 282rpx; height: 136rpx; display: block; box-sizing: border-box">{{item.commodityTitle}}</view>
-			<van-cell title="¥{{item.commodityPrice}}" title-style="position:relative;text-align:left;color:red;border:none;" style="position: relative; left: 250rpx; top: -48rpx; width: 142rpx; height: 80rpx; display: block; box-sizing: border-box"></van-cell>
+			<van-cell title="¥{{item.commodityPrice}}" title-style="position:relative;text-align:left;color:red;border:none;" style="position: relative; left: 250rpx; top: -48rpx; width: 142rpx; height: 80rpx; display: block; box-sizing: border-box;"></van-cell>
 		</view>
 	</van-cell>
 	<van-cell class="commodity-card-footer">

+ 30 - 23
fore-end/pages/chat/chat.js

@@ -34,33 +34,33 @@ Page({
 		toUid:'',
 		goodsId:'',
 		goods: {
-			pic:'https://img.js.design/assets/img/6229b69ff89eeaf3b7fd1919.jpg',
-			name:'粉色',
-			price:20
+			pic:'',
+			name:'',
+			price: 0,
 		},
 		//登录用户的信息
 		login: {
 			id: wx.getStorageSync('uid')
 		},
 		chatList: [
-			{
-				from: '7385700531999608832',
-				to: '7384540497554968576',
-				nickname:'daisy',
-				avatar: 'http://192.168.31.30:8084/pics/1698753512AiD8PaNrvqsDb1493fda534929a5b5d05f80a8cf3d16.jpg',
-				message: '你好',
-				type: 'text',
-				time: '11-8 20:52'
-			},
-			{
-				to: '7385700531999608832',
-				from: '7384540497554968576',
-				nickname:'无情的敲代码机器人',
-				avatar: 'http://192.168.31.30:8084/pics/1699175056BvtgC8vv8gSzd85dedb14362dc3a251c6c85705ec495.jpg',
-				message: '你好',
-				type: 'text',
-				time: '11-8 20:52'
-			}
+			// {
+			// 	from: '7385700531999608832',
+			// 	to: '7384540497554968576',
+			// 	nickname:'daisy',
+			// 	avatar: 'http://192.168.31.30:8084/pics/1698753512AiD8PaNrvqsDb1493fda534929a5b5d05f80a8cf3d16.jpg',
+			// 	message: '你好',
+			// 	type: 'text',
+			// 	time: '11-8 20:52'
+			// },
+			// {
+			// 	to: '7385700531999608832',
+			// 	from: '7384540497554968576',
+			// 	nickname:'无情的敲代码机器人',
+			// 	avatar: 'http://192.168.31.30:8084/pics/1699175056BvtgC8vv8gSzd85dedb14362dc3a251c6c85705ec495.jpg',
+			// 	message: '你好',
+			// 	type: 'text',
+			// 	time: '11-8 20:52'
+			// }
 		]
 		
 
@@ -83,7 +83,13 @@ Page({
 		getGoodsInfo(getGoodsInfoOption).then((res)=>{
 			console.log(res);
 			const good = res.data.data;
-			console.log(good);
+			this.setData({
+				goods:{
+					pic:good.Pic,
+					name: good.Title,
+					price: good.Price
+				}
+			})
 		}).catch((err)=>{
 			console.log(err);
 		})
@@ -167,7 +173,8 @@ Page({
 	 * 生命周期函数--监听页面卸载
 	 */
 	onUnload() {
-
+		wx.closeSocket();
+		console.log('websocket 已关闭!');
 	},
 
 	/**

+ 6 - 6
fore-end/pages/chat/chat.wxml

@@ -9,14 +9,14 @@
 		radius="12px"
 		src="{{goods.pic}}"
 		image-class="chat-card-image"
-		 style="position: relative; left: 23rpx; top: 0rpx"></van-image>
+		 style="position: relative; left: 25rpx; top: 16rpx; width: 209rpx; height: 219rpx; display: block; box-sizing: border-box"></van-image>
 		<view class="chat-card-info" style="position: relative; left: 48rpx; top: 0rpx">
-			<view class="chat-card-info-title">{{goods.name}}</view>
-			<view class="chat-card-info-price">¥{{goods.price}}</view>
-		</view>
-		<van-button round size="normal" color="rgba(245, 56, 56, 0.91)" custom-class="chat-card-btn" style="position: relative; left: 121rpx; top: 0rpx">点击购买</van-button>
+			<view class="chat-card-info-title" style="width: 373rpx; height: 96rpx; display: block; box-sizing: border-box; left: 0rpx; top: 21rpx">{{goods.name}}</view>
+			<view class="chat-card-info-price" style="position: relative; left: 0rpx; top: 80rpx; width: 153rpx; height: 59rpx; display: block; box-sizing: border-box">¥{{goods.price}}</view>
+		<van-button round size="normal" color="rgba(245, 56, 56, 0.91)" custom-class="chat-card-btn" style="position: relative; left: 186rpx; top: -5rpx; width: 192rpx; height: 96rpx; display: block; box-sizing: border-box">点击购买</van-button>
+	</view>
 	</van-cell-group>
-	<view class="scroll-list">
+	<view class="scroll-list" style="position: relative; left: -7rpx; top: 30rpx">
 		<block wx:for="{{chatList}}" wx:for-index="index" wx:for-item="item" wx:key="item">
 			<view wx:if="{{item.time}}" class="show-date">{{item.time}}</view>
 			<view class="{{login.id==item.from?'row row-self':'row'}}" >

+ 0 - 3
fore-end/pages/chat/chat.wxss

@@ -89,7 +89,6 @@ page {
 	position: relative;
 	border-radius: 12px;
 	width: 10px;
-	top: 10px;
 }
 
 .chat-card-info{
@@ -110,8 +109,6 @@ page {
 
 .chat-card-btn{
 	position: relative;
-	top: 60px;
-	right: 5px;
 }
 
 .chat-footer-input{

+ 114 - 97
fore-end/pages/message/message.js

@@ -1,6 +1,7 @@
 // pages/message/message.js
-const {getUserRelation,addUserRelation, getUserInfoList, getGoodsInfoList} = require('../../API/appraise')
+const {getUserRelation,addUserRelation, getUserInfoList, getGoodsInfoList,getLatestChattingRecord} = require('../../API/appraise')
 import messageMap from '../../utils/util'
+var baseUrl = 'http://192.168.31.27:8084';
 var getRelationOption = {
 	data:{
 		
@@ -24,10 +25,15 @@ var getUserInfoListOption = {
 
 var getGoodsInfoListOption = {
 	data:{
-		id:[]
+		id:[],
 	}
 }
 
+var getLatestChattingRecordOption = {
+		uid: '',
+		target: ''
+}
+
 
 
 
@@ -48,46 +54,46 @@ Page({
      */
     data: {
 		message:[
-			{
-				id:1,
-				item:{
-					avatarUrl: "http://192.168.31.30:8084/pics/1698753512AiD8PaNrvqsDb1493fda534929a5b5d05f80a8cf3d16.jpg",
-					commodityPicture: "https://img.js.design/assets/img/6229b69ff89eeaf3b7fd1919.jpg",
-					merchantName: "daisy",
-					lastMessageRecord:'你好',
-					messageTime:'11-7 21:42'
-				}
-			},
-			{
-				id:2,
-				item:{
-					avatarUrl: "https://img.js.design/assets/img/61c6d4ab9cd4d011e8f0b298.png",
-					commodityPicture: "https://img.js.design/assets/smartFill/img334164da748e08.jpg",
-					merchantName: "kaka",
-					lastMessageRecord:'价格可以商量一下吗',
-					messageTime:'11-6 21:11'
-				}
-			},
-			{
-				id:3,
-				item:{
-					avatarUrl: "http://192.168.31.30:8084/pics/1698845584tmp_69fe84d4b7b444512c31c8693e95336113d42d50aaca0699.jpg",
-					commodityPicture: "https://img.js.design/assets/img/64ca428a87e21a113298b895.jpg",
-					merchantName: "cherry",
-					lastMessageRecord:'OK',
-					messageTime:'11-4 19:46'
-				}
-			},
-			{
-				id:4,
-				item:{
-					avatarUrl: "http://192.168.31.30:8084/pics/1698846108tmp_c0bcb90fd9ef93e065c22b977d7bc8aea17a1ac1e8393c21.jpg",
-					commodityPicture: "https://img.js.design/assets/smartFill/img313164da746310.jpg",
-					merchantName: "666",
-					lastMessageRecord:'期待下次交易',
-					messageTime:'11-1 21:30'
-				}
-			},
+			// {
+			// 	id:1,
+			// 	item:{
+			// 		avatarUrl: baseUrl+"/pics/1698753512AiD8PaNrvqsDb1493fda534929a5b5d05f80a8cf3d16.jpg",
+			// 		commodityPicture: "https://img.js.design/assets/img/6229b69ff89eeaf3b7fd1919.jpg",
+			// 		merchantName: "daisy",
+			// 		lastMessageRecord:'你好',
+			// 		messageTime:'11-7 21:42'
+			// 	}
+			// },
+			// {
+			// 	id:2,
+			// 	item:{
+			// 		avatarUrl: "https://img.js.design/assets/img/61c6d4ab9cd4d011e8f0b298.png",
+			// 		commodityPicture: "https://img.js.design/assets/smartFill/img334164da748e08.jpg",
+			// 		merchantName: "kaka",
+			// 		lastMessageRecord:'价格可以商量一下吗',
+			// 		messageTime:'11-6 21:11'
+			// 	}
+			// },
+			// {
+			// 	id:3,
+			// 	item:{
+			// 		avatarUrl: baseUrl+"/pics/1698845584tmp_69fe84d4b7b444512c31c8693e95336113d42d50aaca0699.jpg",
+			// 		commodityPicture: "https://img.js.design/assets/img/64ca428a87e21a113298b895.jpg",
+			// 		merchantName: "cherry",
+			// 		lastMessageRecord:'OK',
+			// 		messageTime:'11-4 19:46'
+			// 	}
+			// },
+			// {
+			// 	id:4,
+			// 	item:{
+			// 		avatarUrl: baseUrl+"/pics/1698846108tmp_c0bcb90fd9ef93e065c22b977d7bc8aea17a1ac1e8393c21.jpg",
+			// 		commodityPicture: "https://img.js.design/assets/smartFill/img313164da746310.jpg",
+			// 		merchantName: "666",
+			// 		lastMessageRecord:'期待下次交易',
+			// 		messageTime:'11-1 21:30'
+			// 	}
+			// },
 		]		
     },
 
@@ -107,61 +113,72 @@ Page({
 		// }).catch((err) => {
 		// 	console.log(err);
 		// })
-		// getRelationOption.data = {
-		// 	uid: wx.getStorageSync('uid'),
-		// }
-		// getUserRelation(getRelationOption).then((res) => {
-		// 	console.log(res);
-		// 	const fUid = res.data.data.fUid;
-		// 	let fUidLength = fUid.length;
-		// 	let target = [];
-		// 	for(let i=0;i<fUidLength;i++)
-		// 	{
-		// 		target[i] = fUid[i].target;
-		// 	}
-		// 	var goodsId = [];
-		// 	for(let i=0;i<fUidLength;i++)
-		// 	{
-		// 		goodsId[i] = fUid[i].goodsId;
-		// 	}
-		// 	console.log(target);
-		// 	console.log(goodsId);
-		// 	getUserInfoListOption.data.uid = target;
-		// 	console.log(getUserInfoListOption);
-		// 	getUserInfoList(getUserInfoListOption).then((res) => {
-		// 		console.log(res);
-		// 		const users = res.data.data.users;
-		// 		for(let i=0;i<users.length;i++)
-		// 		{
-		// 			message.push({item:{}});
-		// 			message[i][key3] = i+1;
-		// 			message[i].item[key1] = users[i].avatar;
-		// 			message[i].item[key2] = users[i].name;
-		// 			message[i].item['targetId'] = users[i].uid;
-					
-		// 		}
-		// 		console.log(message);
-		// 		getGoodsInfoListOption.data.id = goodsId;
-		// 		getGoodsInfoList(getGoodsInfoListOption).then((res => {
-		// 			console.log(res);
-		// 			const goods = res.data.data.goods;
-		// 			for(let i=0;i<goods.length;i++)
-		// 			{
-		// 				message[i].item[key] = goods[i].Pic;
-		// 				message[i].item['goodsId'] = goods[i].Id;
-		// 			}
-		// 			this.setData({
-		// 				message:message
-		// 			})
-		// 		})).catch((err) => {
-		// 			console.log(err);
-		// 		})
-		// 	}).catch((err) => {
-		// 		console.log(err);
-		// 	})
-		// }).catch((err) => {
-		// 	console.log(err);
-		// })
+		getRelationOption.data = {
+			uid: wx.getStorageSync('uid'),
+		}
+		getUserRelation(getRelationOption).then((res) => {
+			console.log(res);
+			const fUid = res.data.data.fUid;
+			let fUidLength = fUid.length;
+			let target = [];
+			for(let i=0;i<fUidLength;i++)
+			{
+				target[i] = fUid[i].target;
+			}
+			var goodsId = [];
+			for(let i=0;i<fUidLength;i++)
+			{
+				goodsId[i] = fUid[i].goodsId;
+			}
+			console.log(target);
+			console.log(goodsId);
+			getUserInfoListOption.data.uid = target;
+			console.log(getUserInfoListOption);
+			getUserInfoList(getUserInfoListOption).then((res) => {
+				console.log(res);
+				const users = res.data.data.users;
+				let targetIds = [];
+				for(let i=0;i<users.length;i++)
+				{
+					message.push({item:{}});
+					message[i][key3] = i+1;
+					message[i].item[key1] = baseUrl+users[i].avatar.slice(25);
+					message[i].item[key2] = users[i].name;
+					message[i].item['targetId'] = users[i].uid;
+					targetIds.push(users[i].uid);
+				}
+				//获取最后一条聊天记录
+				// for(let v of targetIds){
+				// 	getLatestChattingRecordOption.uid = wx.getStorageSync('uid');
+				// 	getLatestChattingRecordOption.target = v;
+				// 	getLatestChattingRecord(getLatestChattingRecordOption).then((res=>{
+				// 		console.log(res);
+				// 	})).catch((err=>{
+				// 		console.log(err);
+				// 	}))
+				// }
+				console.log(message);
+				getGoodsInfoListOption.data.id = goodsId;
+				getGoodsInfoList(getGoodsInfoListOption).then((res => {
+					console.log(res);
+					const goods = res.data.data.goods;
+					for(let i=0;i<goods.length;i++)
+					{
+						message[i].item[key] = goods[i].Pic;
+						message[i].item['goodsId'] = goods[i].Id;
+					}
+					this.setData({
+						message:message
+					})
+				})).catch((err) => {
+					console.log(err);
+				})
+			}).catch((err) => {
+				console.log(err);
+			})
+		}).catch((err) => {
+			console.log(err);
+		})
     },
 
     /**

+ 57 - 30
fore-end/pages/myOrder/myOrder.js

@@ -1,4 +1,10 @@
 // pages/myOrder.js
+const {getUserAllOrder} = require('../../API/appraise')
+
+var getUserAllOrderOption = {
+	uid: wx.getStorageSync('uid')
+}
+
 Page({
 
     /**
@@ -6,35 +12,35 @@ Page({
      */
     data: {
 		myOrder:[
-			{
-				id:1,
-				item:{
-					merchantName:'666',
-					commodityState: '已售出',
-					commodityUrl: 'https://img.js.design/assets/smartFill/img313164da746310.jpg',
-					commodityTitle: '高级感中长款呢子',
-					commodityPrice: '55.00'
-				}
-			},
-			{
-				id:2,
-				item:{
-					merchantName:'daisy',
-					commodityState: '待售',
-					commodityUrl: 'https://img.js.design/assets/img/6229b69ff89eeaf3b7fd1919.jpg',
-					commodityTitle: '粉色',
-					commodityPrice: '20.00'
-				}
-			},{
-				id:3,
-				item:{
-					merchantName:'deter',
-					commodityState: '已购入',
-					commodityUrl: 'https://img.js.design/assets/img/64ca428a87e21a113298b895.jpg',
-					commodityTitle: 'ins风针织连衣裙',
-					commodityPrice: '55.00'
-				}
-			}
+			// {
+			// 	id:1,
+			// 	item:{
+			// 		merchantName:'666',
+			// 		commodityState: '已售出',
+			// 		commodityUrl: 'https://img.js.design/assets/smartFill/img313164da746310.jpg',
+			// 		commodityTitle: '高级感中长款呢子',
+			// 		commodityPrice: '55.00'
+			// 	}
+			// },
+			// {
+			// 	id:2,
+			// 	item:{
+			// 		merchantName:'daisy',
+			// 		commodityState: '待售',
+			// 		commodityUrl: 'https://img.js.design/assets/img/6229b69ff89eeaf3b7fd1919.jpg',
+			// 		commodityTitle: '粉色',
+			// 		commodityPrice: '20.00'
+			// 	}
+			// },{
+			// 	id:3,
+			// 	item:{
+			// 		merchantName:'deter',
+			// 		commodityState: '已购入',
+			// 		commodityUrl: 'https://img.js.design/assets/img/64ca428a87e21a113298b895.jpg',
+			// 		commodityTitle: 'ins风针织连衣裙',
+			// 		commodityPrice: '55.00'
+			// 	}
+			// }
 		]
     },
 
@@ -56,7 +62,28 @@ Page({
      * 生命周期函数--监听页面显示
      */
     onShow() {
-
+		var myOrder = this.data.myOrder;
+		getUserAllOrder(getUserAllOrderOption).then((res => {
+			console.log(res);
+			const Order = res.data.data;
+			console.log(Order);
+			for(let i = 0; i < Order.length;i++)
+			{
+				myOrder.push({item:{}});
+				myOrder[i]['id'] = i+1;
+				myOrder[i].item['merchantName'] = Order[i].bName;
+				myOrder[i].item['commodityState'] = Order[i].state = 0? '进行中':Order[i].state = 1? '已取消':'已完成';
+				myOrder[i].item['commodityUrl'] = Order[i].goodsImg;
+				myOrder[i].item['commodityTitle'] = Order[i].title;
+				myOrder[i].item['commodityPrice'] = Order[i].price.toString()+'.00';
+			}
+			console.log(myOrder);
+			this.setData({
+				myOrder:myOrder
+			})
+		})).catch((err => {
+			console.log(err);
+		}))
     },
 
     /**

+ 2 - 2
fore-end/utils/util.js

@@ -1,7 +1,7 @@
 import Toast from '@vant/weapp/toast/toast';
 const { loginURL, registerURL } = require('../API/appraise')
-const baseURL = "http://192.168.31.30:8084";//后台服务提供的地址
-const wsConnectURL = "ws://192.168.31.30:8084";//websocket连接地址
+const baseURL = "http://192.168.31.27:8084";//后台服务提供的地址
+const wsConnectURL = "ws://192.168.31.27:8084";//websocket连接地址
 const uploadUrl = "/pic/upload";
 const formatTime = date => {
   const year = date.getFullYear()