daisy hace 1 año
padre
commit
7e0be5d5fa

+ 30 - 5
fore-end/API/appraise.js

@@ -20,12 +20,13 @@ const API = {
 	getGoodsInfoUrl: '/goods/detail',
 	getLatestChattingRecordUrl: '/chat/latest',
 	getUserAllOrderUrl: '/order/user',
-	getUserAllGoodsUrl: '/goods/user',
 	getCategoryGoodsURL: '/goods/category',
 	getAllGoodsURL: '/goods',
     getSearchGoodsURL: '/goods/search',
     postGoodsURL: '/goods/create',
     getGoodsDetailURL: '/goods/detail',
+    postReviseOrder: '/order/revise',
+    getRecommendUrl: '/goods/recommend',
 }
 
 //查询列表时传参---注意参数数据类型
@@ -134,7 +135,6 @@ function searchGoods(data) {
 
 //获取商品详细描述
 function getGoodsDetail(data) {
-    console.log(data);
     return request.get(
         API.getGoodsDetailURL + `/${data.id}` + '?id=' + data.id + '&uid=' + data.uid + '&date=' + data.time
     )
@@ -225,8 +225,9 @@ function getLatestChattingRecord(params) {
 //传入用户uid获取用户所有订单
 function getUserAllOrder(params) {
 	return request.get(
-		API.getUserAllOrderUrl+'?uid='+params.uid
-	)
+		API.getUserAllOrderUrl+'?id='+params.uid
+		// API.getUserAllOrderUrl+`/${params.uid}`
+        )
 }
 
 //根据用户id获取用户的所有商品
@@ -236,6 +237,28 @@ function getUserAllGoods(data) {
 	)
 }
 
+//根据传入的订单id和需要改变的状态修改订单状态
+function postOrderChange(params) {
+    // const data = {params};
+    // console.log(data);   
+    console.log(params); 
+    return request.post(
+        API.postReviseOrder,
+        {
+            data: params.data
+        }
+    )
+}
+
+//获取推荐商品
+function getRecommend(data) {
+    var uid = parseInt(data.user_id);
+    console.log(uid);
+    return request.get(
+        API.getRecommendUrl + '?id=' + uid + '&size=' + data.pageSize
+    )
+}
+
 module.exports = {
     createCommont,
 	getCommentList,
@@ -261,5 +284,7 @@ module.exports = {
 	upLoadGoods,
 	getGoodsDetail,
 	loginURl: API.loginURL,
-    registerURL: API.registerURL
+    registerURL: API.registerURL,
+    postOrderChange,
+    getRecommend
 }

+ 10 - 9
fore-end/app.json

@@ -15,9 +15,9 @@
 		"van-swipe-cell": "@vant/weapp/swipe-cell/index",
 		"van-search": "@vant/weapp/search/index",
 		"van-notice-bar": "@vant/weapp/notice-bar/index",
-        "van-uploader": "@vant/weapp/uploader/index",
-        "van-picker": "@vant/weapp/picker/index",
-        "van-popup": "@vant/weapp/popup/index"
+		"van-uploader": "@vant/weapp/uploader/index",
+		"van-picker": "@vant/weapp/picker/index",
+		"van-popup": "@vant/weapp/popup/index"
 	},
 	"pages": [
 		"pages/home/home",
@@ -32,7 +32,8 @@
 		"pages/search/search",
 		"pages/classify_detail/classify_detail",
 		"pages/chat/chat",
-        "pages/com_search/com_search"
+		"pages/com_search/com_search",
+		"pages/order_detail/order_detail"
 	],
 	"window": {
 		"backgroundTextStyle": "light",
@@ -71,9 +72,9 @@
 		"borderStyle": "white"
 	},
 	"sitemapLocation": "sitemap.json",
-    "permission": {
-        "scope.userLocation": {
-            "desc": "你的位置信息将用于小程序位置接口的效果展示"
-        }
-    }
+	"permission": {
+		"scope.userLocation": {
+			"desc": "你的位置信息将用于小程序位置接口的效果展示"
+		}
+	}
 }

+ 31 - 4
fore-end/components/avatar/avatar.js

@@ -1,24 +1,51 @@
 // components/avatar/avatar.js
+const { getUserInfoList } = require('../../API/appraise')
 Component({
-
+    // lifetimes: {
+    //     attached() {
+    //         console.log(this.data.ownerId);
+    //         var owner = {
+    //             data: {
+    //                 uid: []
+    //             }
+    //         };
+    //         var arr = [];
+    //         arr = [...this.data.ownerId];
+    //         console.log(arr);
+    //         owner.data.uid = arr;
+    //         getUserInfoList(owner).then((res) => {
+    //             const {users} = res.data.data;
+    //             this.data.avatar = users[0].avatar;
+    //             this.data.name = users[0].name;
+    //         }).catch((err) => {
+    //             console.log(err);
+    //         })
+    //         }
+    // },
     /**
      * 组件的属性列表
      */
     properties: {
-
+        ownerId: {
+            type: String
+        }
     },
 
     /**
      * 组件的初始数据
      */
     data: {
-
+        avatar: String,
+        name: String
     },
 
     /**
      * 组件的方法列表
      */
     methods: {
-
+        showInfo() {
+            // console.log(this.data.ownerId);
+        },
+        
     }
 })

+ 2 - 2
fore-end/components/avatar/avatar.wxml

@@ -1,7 +1,7 @@
 <!--components/avatar/avatar.wxml-->
-<view class="seller">
+<view class="seller" bind:tap="showInfo">
     <view class="avater">
         <image src="/assets/home_img/head_portrait.jpg" mode="" class="avatar_pic"/>
     </view>
-    <view class="seller_name">deter</view>
+    <view class="seller_name">{{name}}</view>
 </view>

+ 0 - 1
fore-end/components/commodity_card/commodity_card.js

@@ -32,7 +32,6 @@ Component({
      */
     methods: {
         detailTo(e) {
-            console.log(e.currentTarget.dataset);
             const id = e.currentTarget.dataset.id;
             const title = e.currentTarget.dataset.title;
             const price = e.currentTarget.dataset.price;

+ 3 - 1
fore-end/components/commodity_card/commodity_card.wxml

@@ -5,7 +5,9 @@
             <image src="{{item.Pic}}" alt="" class="commodity_image"/>
             <text class="commodity_name">{{item.Title}}</text>
             <text class="price">¥{{item.Price}}</text>
-            <avatar></avatar>
+            <!-- <avatar
+                ownerId = '{{item.ownerId}}'
+            ></avatar> -->
         </view>
     </view>
 </view>

+ 18 - 1
fore-end/components/myOrderCard/index.js

@@ -21,6 +21,23 @@ Component({
 	 * 组件的方法列表
 	 */
 	methods: {
-
+        goToTest() {
+            // console.log(this.data);
+            const commodityUrl = this.data.item.commodityUrl;
+            const  commodityTitle = this.data.item. commodityTitle;
+            const commodityPrice = this.data.item.commodityPrice;
+            const orderId = this.data.item.orderId;
+            wx.navigateTo({
+              url: '../../pages/order_detail/order_detail?imgUrl=' + commodityUrl + 
+              '&title=' + commodityTitle + '&price=' + commodityPrice + '&orderId=' + orderId
+            })
+        },
+        toChat() {
+            const goodsId = this.data.item.goodsId;
+            const sellerId = this.data.item.sellerId;
+            wx.navigateTo({
+              url: '../../pages/chat/chat?toUid=' + sellerId + '&goodsId=' + goodsId
+            })
+        }
 	}
 })

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

@@ -13,9 +13,9 @@
 		</view>
 	</van-cell>
 	<van-cell class="commodity-card-footer">
-		<van-button round size="small" class="commodity-card-footer-btn">联系卖家</van-button>
-		<van-button round size="small" class="commodity-card-footer-btn" color="red">评价</van-button>
+		<van-button round size="small" class="commodity-card-footer-btn" bind:tap="toChat">联系卖家</van-button>
+		<van-button round size="small" class="commodity-card-footer-btn" color="red" bind:click="goToTest">评价</van-button>
 	</van-cell>
   </van-cell-group>
   <view slot="right" class="van-swipe-cell__right">删除</view>
-</van-swipe-cell>
+</van-swipe-cell>

+ 35 - 8
fore-end/pages/details/details.js

@@ -1,5 +1,5 @@
 // pages/details/details.js
-const { getGoodsDetail } = require('../../API/appraise')
+const { getGoodsDetail, getUserInfoList } = require('../../API/appraise')
 const { formatTime } = require('../../utils/util')
 
 Page({
@@ -13,23 +13,28 @@ Page({
         price: 0,
         pic: [],
         desc: "",
-        uid: Number,
-        time: Number
+        uid: String,
+        time: Number,
+        ownerId: String,
+        avatar: String,
+        ownerName: String
     },
-
+    
     /**
      * 生命周期函数--监听页面加载
      */
     onLoad(options) {
         //将传递过来的关于商品的数据渲染到页面
         this.setData({
-            id: options.id,
+            id: options.id,//商品id
             title: options.title,
             price: options.price,
             pic: options.img,
-            uid: parseInt(options.uid)
+            // uid: parseInt(options.uid)
+            uid: options.uid//卖家id
         })
-        console.log(this.data.pic);
+        // console.log(this.data.uid);
+
         //获取时间戳
         var date = Date.parse(new Date())
         date = date / 1000
@@ -37,13 +42,35 @@ Page({
             time: date
         })
         this.GoodsDetail();
+        this.getUserInfo();
+    },
+    toChat() {
+        wx.navigateTo({
+          url: '/pages/chat/chat?toUid=' + this.data.uid + '&goodsId=' + this.data.id,
+        })
     },
     GoodsDetail() {
         getGoodsDetail(this.data).then((res) => {
             const { code, data, message} = res.data; 
             //通过获取详细信息将商品的描述获取并渲染
             this.setData({
-                desc: data.Desc
+                desc: data.Desc,
+                ownerId: data.ownerId
+            })
+        }).catch((err) => {
+            console.log(err);
+        })
+    },
+    getUserInfo() {
+        var arr = [this.data.uid];
+        var owner = {data: {uid: []}};
+        owner.data.uid = arr;
+        console.log(owner);
+        getUserInfoList(owner).then((res) => {
+            const {users} = res.data.data;
+            this.setData({
+                avatar: users[0].avatar,
+                ownerName: users[0].name
             })
         }).catch((err) => {
             console.log(err);

+ 3 - 3
fore-end/pages/details/details.wxml

@@ -9,11 +9,11 @@
 <view class="seller">
     <!-- 用户信息:头像 产品名称、价格 卖家昵称 联系卖主按钮 -->
     <view class="seller_msg">
-        <van-image round width="70" height="70" fit="cover" src="/assets/home_img/head_portrait.jpg" />
+        <van-image round width="70" height="70" fit="cover" src="{{avatar}}" />
         <text class="commodity_name">{{title}}</text>
         <text class="price">¥{{price}}</text>
-        <text class="seller_name">deter</text>
-        <van-button color="#FFC300" custom-style="border-radius: 20rpx; color: #000000; font-size: 35rpx; position: absolute; top: 30rpx; right: 10rpx;">联系卖主</van-button>
+        <text class="seller_name">{{ownerName}}</text>
+        <van-button color="#FFC300" custom-style="border-radius: 20rpx; color: #000000; font-size: 35rpx; position: absolute; top: 30rpx; right: 10rpx;" bind:tap="toChat">联系卖主</van-button>
     </view>
     <!-- 卖的商品信息 -->
     <view class="sell_msg">

+ 87 - 26
fore-end/pages/home/home.js

@@ -1,5 +1,5 @@
 // pages/home/home.js
-const { getCategoryAPI, getAllGoods, getUserInfo} = require('../../API/appraise')
+const { getCategoryAPI, getAllGoods, getUserInfo, getUserInfoList, getRecommend} = require('../../API/appraise')
 const { formatTime } = require('../../utils/util')
 var getOrderOption = {
 	data: {
@@ -24,7 +24,10 @@ Page({
         isLoading: false,
         time: Number,
         id: 0,
-        uid: Number
+        uid: String,
+        ownerId: [],//发布者ID
+        ownerMsg: [],
+        user_id: wx.getStorageSync('uid'),//用户id
     },
 
     userTo() {
@@ -60,7 +63,8 @@ Page({
      */
     onLoad(options) {
 		this.getClassifyList();
-        this.getGoodsList();
+        // this.getGoodsList();
+        this.getRecommendGoods();
 		this.setData({
 			avatarUrl:wx.getStorageSync('avatarUrl'),
 			nickName:wx.getStorageSync('nickName')
@@ -76,46 +80,103 @@ Page({
             })
         })
     },
+    // 获取所有商品
+    // getGoodsList() {
+    //     var time = formatTime(new Date());
+    //     this.setData({
+    //         time: time
+    //     })
+    //     //加载的loading效果
+    //     wx.showLoading({
+    //         title: '数据获取中',
+    //     })
+    //     getAllGoods(this.data).then((res) => {
+    //         const { code, data, message } = res.data;
+    //         const d = data.data;
+    //         console.log(d);
+    //         var arr = [];
+    //         var owner = {data: {uid: []}};
+    //         for (let index = 0; index < d.length; index++) {
+    //             arr = [...arr, d[index].ownerId];
+    //         }
+    //         owner.data.uid = arr;
+    //         console.log(arr);
+    //         getUserInfoList(owner).then((res) => {
+    //             const {users} = res.data.data;
+    //             this.setData({
+    //                 ownerMsg: [...users, ...this.data.ownerMsg]
+    //             })
+    //             console.log(this.data.ownerMsg);
+    //         }).catch((err) => {
+    //             console.log(err);
+    //         })
+    //         this.setData({
+    //             allGoods: [...this.data.allGoods, ...d],
+    //             isLoading: true
+    //         })
+    //     })
+    //     this.setData({
+    //         isLoading: false
+    //     })
+    // },
     //获取推荐商品
-    getGoodsList() {
+    getRecommendGoods() {
         var time = formatTime(new Date());
         this.setData({
             time: time
         })
         //加载的loading效果
-        wx.showLoading({
-            title: '数据获取中',
-        })
-        getAllGoods(this.data).then((res) => {
-            const { code, data, message } = res.data;
-            const d = data.data;
-            this.setData({
-                allGoods: [...this.data.allGoods, ...d],
-                isLoading: true
-            })
+        // wx.showLoading({
+        //     title: '数据获取中',
+        // })
+        getRecommend(this.data)
+        .then((res) => {
+            console.log(res);
+            // const { code, data, message } = res.data;
+            // const d = data.data;
+            // console.log(d);
+            // var arr = [];
+            // var owner = {data: {uid: []}};
+            // for (let index = 0; index < d.length; index++) {
+            //     arr = [...arr, d[index].ownerId];
+            // }
+            // owner.data.uid = arr;
+            // console.log(arr);
+            // getUserInfoList(owner).then((res) => {
+            //     const {users} = res.data.data;
+            //     this.setData({
+            //         ownerMsg: [...users, ...this.data.ownerMsg]
+            //     })
+            //     console.log(this.data.ownerMsg);
+            // }).catch((err) => {
+            //     console.log(err);
+            // })
+            // this.setData({
+            //     allGoods: [...this.data.allGoods, ...d],
+            //     isLoading: true
+            // })
+        }).catch((err) => {
+            console.log(err);
         })
         this.setData({
             isLoading: false
         })
     },
-    // GoodsDetail() {
-    //     getGoodsDetail(this.data).then((res) => {
-    //         console.log(res);
-    //     }).catch((err) => {
-    //         console.log(err);
-    //     })
-    // },
+    sendOwnerId() {
+
+    },
     //推荐商品传递数据
     detailTo(e) {
         const id = e.currentTarget.dataset.id;
         const title = e.currentTarget.dataset.title;
         const price = e.currentTarget.dataset.price;
         const comImg = e.currentTarget.dataset.pic;
-        this.setData({
-            uid: parseInt(getOrderOption.data.id)
-        })
-        const uid = this.data.uid;
-        // this.GoodsDetail();
+        const uid = e.currentTarget.dataset.uid;
+        // this.setData({
+        //     // uid: parseInt(getOrderOption.data.id)
+        // })
+        // const uid = this.data.uid;
+        // console.log(uid);
         wx.navigateTo({
           url: '/pages/details/details?id=' + id + '&title=' + title + '&price=' + price + '&img=' + comImg + '&uid=' + uid,
         })

+ 11 - 2
fore-end/pages/home/home.wxml

@@ -56,11 +56,20 @@
 <!-- 商品卡片 -->
 <view class="commodity">
     <view class="commodity_show" wx:for="{{allGoods}}" wx:key="index">
-        <view  bind:tap="detailTo" data-id='{{item.Id}}' data-price='{{item.Price}}' data-Title='{{item.Title}}' data-pic='{{item.Pic}}' data-uid='{{item.OwnerId}}'>
+        <view  bind:tap="detailTo" data-id='{{item.Id}}' data-price='{{item.Price}}' data-Title='{{item.Title}}' 
+        data-pic='{{item.Pic}}' data-uid='{{item.ownerId}}'>
             <image src="{{item.Pic}}" alt="" class="commodity_image"/>
             <text class="commodity_name">{{item.Title}}</text>
             <text class="price">¥{{item.Price}}</text>
-            <avatar></avatar>
+            <!-- <avatar
+                ownerId = '{{item.ownerId}}'
+            ></avatar> -->
+            <!-- <view class="seller" bind:tap="showInfo" wx:for="{{ownerMsg}}" wx:key="index">
+                <view class="avater">
+                    <image src="{{item.avatar}}" mode="" class="avatar_pic"/>
+                </view>
+                <view class="seller_name">{{item.name}}</view>
+            </view> -->
         </view>
     </view>
 </view>

+ 22 - 0
fore-end/pages/home/home.wxss

@@ -158,4 +158,26 @@ button[plain]{ border:0 }
     left: 12rpx;
     color: #a08016;
     font-weight: 600;
+}
+
+.seller {
+    position: absolute;
+    top: 450rpx;
+    left: 12rpx;
+}
+
+.avater{
+    float: left;
+}
+
+.avatar_pic {
+    width: 45rpx !important;
+    height: 45rpx !important;
+    border-radius: 20rpx;
+}
+
+.seller_name {
+    float: left;
+    margin-left: 10rpx;
+    font-weight: 300;
 }

+ 2 - 1
fore-end/pages/message/message.js

@@ -223,7 +223,8 @@ Page({
 
 	},
 	toChat(e) {
-		  let item = e.target.dataset.item;
+          let item = e.target.dataset.item;
+          console.log(item);
 		wx.navigateTo({
 			url: '/pages/chat/chat?toUid='+item.targetId+'&goodsId='+item.goodsId,
 		  })

+ 4 - 2
fore-end/pages/myOrder/myOrder.js

@@ -43,7 +43,6 @@ Page({
 			// }
 		]
     },
-
     /**
      * 生命周期函数--监听页面加载
      */
@@ -75,7 +74,10 @@ Page({
 				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';
+                myOrder[i].item['commodityPrice'] = Order[i].price.toString()+'.00';
+                myOrder[i].item['orderId'] = Order[i].orderId;
+                myOrder[i].item['sellerId'] = Order[i].bid;
+                myOrder[i].item['goodsId'] = Order[i].goodsId;
 			}
 			console.log(myOrder);
 			this.setData({

+ 0 - 1
fore-end/pages/myOrder/myOrder.wxml

@@ -1,5 +1,4 @@
 <!--pages/myOrder.wxml-->
-
 <view wx:for="{{myOrder}}" wx:key="id">
 	<myOrder-card item="{{item.item}}"></myOrder-card>
 </view>

+ 97 - 0
fore-end/pages/order_detail/order_detail.js

@@ -0,0 +1,97 @@
+// pages/order_detail/order_detail.js
+const { postOrderChange } = require('../../API/appraise')
+Page({
+
+	/**
+	 * 页面的初始数据
+	 */
+	data: {
+        imgUrl: String,
+        title: String,
+        desc: String,
+        orderId: Number,
+        change_state: 1
+    },
+    
+    evaluateInput(e) {
+        const {value, cursor, keycode} = e.detail;
+        this.setData({
+            desc: value
+        })
+    },
+    changeOrderState() {
+        const id = parseInt(this.data.orderId)
+        const state = this.data.change_state
+        const data = {
+            id,
+            state
+        }
+        const send = {data}
+        // console.log(data);
+        postOrderChange(send).then((res) => {
+            console.log(res);
+        }).catch((err) => {
+            console.log(err);
+        })
+    },
+	/**
+	 * 生命周期函数--监听页面加载
+	 */
+	onLoad(options) {
+        this.setData({
+            imgUrl: options.imgUrl,
+            title: options.title,
+            price: options.price,
+            orderId: options.orderId
+        })
+        console.log(this.data.orderId);
+	},
+	/**
+	 * 生命周期函数--监听页面初次渲染完成
+	 */
+	onReady() {
+
+	},
+
+	/**
+	 * 生命周期函数--监听页面显示
+	 */
+	onShow() {
+
+	},
+
+	/**
+	 * 生命周期函数--监听页面隐藏
+	 */
+	onHide() {
+
+	},
+
+	/**
+	 * 生命周期函数--监听页面卸载
+	 */
+	onUnload() {
+
+	},
+
+	/**
+	 * 页面相关事件处理函数--监听用户下拉动作
+	 */
+	onPullDownRefresh() {
+
+	},
+
+	/**
+	 * 页面上拉触底事件的处理函数
+	 */
+	onReachBottom() {
+
+	},
+
+	/**
+	 * 用户点击右上角分享
+	 */
+	onShareAppMessage() {
+
+	}
+})

+ 4 - 0
fore-end/pages/order_detail/order_detail.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "订单页面"
+}

+ 15 - 0
fore-end/pages/order_detail/order_detail.wxml

@@ -0,0 +1,15 @@
+<!--pages/order_detail/order_detail.wxml-->
+<view class="bcg">
+    <van-image width="250rpx" height="250rpx" fit="cover" src="{{imgUrl}}"></van-image>
+    <view class="detail_msg" style="float: right;">
+        <view>商品名称:{{title}}</view>
+        <view>交易价格:{{price}}</view>
+    </view>   
+</view>
+<view class="textLine">
+        <textarea placeholder="请对商品进行评价..." style="width: 690rpx;" bindinput="evaluateInput"/>
+</view>
+<view class="options">
+    <van-button type="warning" style="margin-right: 50rpx;">取消订单</van-button>
+    <van-button type="primary" bind:tap="changeOrderState">完成订单</van-button>
+</view>

+ 29 - 0
fore-end/pages/order_detail/order_detail.wxss

@@ -0,0 +1,29 @@
+/* pages/order_detail/order_detail.wxss */
+.bcg {
+    position: relative;
+    width: 100%;
+    height: 250rpx;
+    background-color: #eee;   
+}
+
+.detail_msg {
+    position: absolute;
+    left: 250rpx;
+    top: 10rpx;
+    padding: 10rpx;
+}
+
+.textLine {
+    width: 97%;
+    height: 400rpx;
+    background-color: #eee;
+    margin-top: 20rpx;
+    padding: 10rpx;
+}
+
+.options {
+    width: 100%;
+    height: 100rpx;
+    margin-top: 20rpx;
+    text-align: center;
+}

+ 2 - 2
fore-end/project.private.config.json

@@ -13,14 +13,14 @@
 			"list": [
 				{
 					"name": "",
-					"pathName": "pages/append/append",
+					"pathName": "pages/home/home",
 					"query": "",
 					"launchMode": "default",
 					"scene": null
 				},
 				{
 					"name": "",
-					"pathName": "pages/home/home",
+					"pathName": "pages/myOrder/myOrder",
 					"query": "",
 					"launchMode": "default",
 					"scene": null

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

@@ -29,7 +29,8 @@ function http(url, option) {
         wx.request({
 		  url: baseURL + url,
 		  header:{
-            "Authorization": (url!=loginURL && url!=registerURL) ? wx.getStorageSync('token') : ''
+            "Authorization": (url!=loginURL && url!=registerURL) ? wx.getStorageSync('token') : '',
+            "content-type":"application/x-www-form-urlencoded"
 		  },
 		  ...option,
 

+ 28 - 0
project.config.json

@@ -0,0 +1,28 @@
+{
+    "appid": "wxc25f00d0fc026ae7",
+    "compileType": "miniprogram",
+    "libVersion": "3.3.3",
+    "packOptions": {
+        "ignore": [],
+        "include": []
+    },
+    "setting": {
+        "coverView": true,
+        "es6": true,
+        "postcss": true,
+        "minified": true,
+        "enhance": true,
+        "showShadowRootInWxmlPanel": true,
+        "packNpmRelationList": [],
+        "babelSetting": {
+            "ignore": [],
+            "disablePlugins": [],
+            "outputPath": ""
+        }
+    },
+    "condition": {},
+    "editorSetting": {
+        "tabIndent": "insertSpaces",
+        "tabSize": 4
+    }
+}

+ 7 - 0
project.private.config.json

@@ -0,0 +1,7 @@
+{
+    "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+    "projectname": "shiyan",
+    "setting": {
+        "compileHotReLoad": true
+    }
+}