gubai před 2 roky
rodič
revize
c06c4c09a0

+ 11 - 1
api/product/product.js

xqd
@@ -16,7 +16,17 @@ export function getProductDetail(data){
 	)
 }
 
+//订单兑换
+export function orderExchange(data){
+	return request.post(
+		`v1/order/orderExchange`,
+		data
+	)
+}
+
+
 export default {
   getProducts,
-  getProductDetail
+  getProductDetail,
+  orderExchange
 }

+ 1 - 1
manifest.json

xqd
@@ -1,6 +1,6 @@
 {
     "name" : "hotel_uni",
-    "appid" : "__UNI__9140D70",
+    "appid" : "__UNI__807A871",
     "description" : "",
     "versionName" : "1.0.0",
     "versionCode" : "100",

+ 26 - 28
pages/index/index.vue

xqd xqd xqd xqd
@@ -105,14 +105,14 @@
 		<!-- 酒店推荐图片 -->
 		<view class="home-hotel-img">
 			<view class="home-hotel-img-content">
-				<view class="home-hotel-img-content-item" v-for="(item,index) in goodsList" :key="index"
+				<view @click="produceDetail(item.id)" class="home-hotel-img-content-item" v-for="(item,index) in goodsList" :key="index"
 					:style="{marginTop:item.marginTop || 0 }">
 					<image class="home-hotel-img-content-item-img"
 						:class="item.short?'home-hotel-img-content-item-img': 'home-hotel-img-content-item-img-long' "
-						:src="item.img" mode=""></image>
+						:src="item.cover_img" mode=""></image>
 					<view class="text">
-						<text class="text-top">{{item.text}}</text>
-						<text class="text-main">{{item.title}}</text>
+						<text class="text-top">{{item.name}}</text>
+						<!-- <text class="text-main">{{item.title}}</text> -->
 					</view>
 				</view>
 			</view>
@@ -208,29 +208,7 @@
 				//广告图展示图片:
 				advertisImg: '',
 				//广告图展示视频
-				goodsList: [{
-						img: 'https://t9.9026.com/imgs/20221212/11.png',
-						text: '2023新春福兔系列礼盒 倾心甄选 待你拥有 ',
-						title: '环球洲际',
-						short: '',
-					},
-					{
-						img: 'https://t9.9026.com/imgs/20221212/22.png',
-						text: '2023新春福兔系列礼盒 倾心甄选 待你拥有 ',
-						title: '环球洲际'
-					},
-					{
-						img: 'https://t9.9026.com/imgs/20221212/33.png',
-						text: '2023新春福兔系列礼盒 倾心甄选 待你拥有 ',
-						title: '环球洲际'
-					},
-					{
-						img: 'https://t9.9026.com/imgs/20221212/44.png',
-						text: '2023新春福兔系列礼盒 倾心甄选 待你拥有 ',
-						title: '环球洲际',
-					},
-
-				],
+				goodsList: [],
 				status: 'noMore',
 				contentText: {
 					contentdown: '查看更多',
@@ -288,7 +266,8 @@
 			this.admin = this.$store.getters.userInfo
 		},
 		onLoad() {
-			this.shortLong()
+			// this.shortLong()
+			this.getGoodsList()
 			this.getAllSet()
 		},
 		methods: {
@@ -346,6 +325,25 @@
 					}
 				})
 			},
+			//产品列表type:1,第三方购买产品
+			getGoodsList(category_id) {
+				this.$api.product.getProducts({
+					type: 1,
+					page: 0,
+				}).then(res => {
+					this.goodsList = res.data.data.slice(0,4)
+					this.shortLong()
+					console.log(this.goodsList,'------>产品图');
+				})
+			},
+			//产品详情
+			produceDetail(id){
+				
+				uni.navigateTo({
+					url:`/pages/goods/goods-detail/index?id=${id}&type=1`
+				})
+			},
+			
 			// **************** Dev ***************//
 			shortLong() {
 				this.goodsList.forEach((item, index, arr) => {

+ 0 - 1
pages/my/integral/integralOrder.vue

xqd
@@ -211,7 +211,6 @@
 		methods: {
 			change(ret){
 				this.formData.region = ret.data.join('-')
-
 			},
 			//打开门店弹框
 			openShop() {

+ 354 - 103
pages/my/prize/exchangePrize.vue

xqd xqd xqd xqd xqd xqd
@@ -2,60 +2,69 @@
 	<view class="exchangePrize">
 		<!-- 表单 -->
 		<view class="form">
-			<uni-forms :modelValue="formData" >
-				<uni-forms-item  name="type" v-if="istype">
-					<view class="selectType">
-						<picker mode="selector" :value="formData.type" :range='typeSelect'
-							@change="bindTypeChange">
-							<view class="uni-input" >
-								<text v-if="formData.type==''||formData.type==null"
-									style="color: #999999 ;">请选择配送方式</text>
-								<text v-if="formData.type!=''">{{formData.type}}</text>
-							</view>
-							<image src="/static/icon/right.png"
-								style="width: 14rpx;height: 24rpx;position: absolute;top:20rpx;right: 30rpx;"></image>
-						</picker>
+			<uni-forms :modelValue="formData">
+				<uni-forms-item name="type" v-if="istype">
+					<view class="selectType" @click="openSelect">
+						<view class="uni-input" @click="openSelect">
+							<text v-if="formData.type==''||formData.type==null"
+								style="color: #999999 ;font-size: 30rpx;">请选择配送方式</text>
+							<text v-if="formData.type!=''" style="font-size: 30rpx;">{{formData.type}}</text>
+						</view>
+						<image src="/static/icon/right.png"
+							style="width: 14rpx;height: 24rpx;position: absolute;top:22rpx;right: 30rpx;">
+						</image>
 					</view>
 				</uni-forms-item>
-				<uni-forms-item  name="name" v-if="formData.type!=''||isVerification==true">
-					<uni-easyinput type="text" v-model="formData.name" placeholder="填写联系人" />
-				</uni-forms-item>
-				<uni-forms-item  name="phone" v-if="formData.type!=''||isVerification==true">
-					<uni-easyinput type="number" v-model="formData.phone" placeholder="填写联系电话" />
+				<uni-forms-item name="name" v-if="formData.type!=''||isVerification==true">
+					<uni-easyinput type="text" v-model="Data.receiver" placeholder="填写联系人" />
 				</uni-forms-item>
-				<uni-forms-item  name="region" v-if="formData.type=='快递配送'">
-					<uni-easyinput type="text" v-model="formData.region" placeholder="所在地区" />
+				<uni-forms-item name="phone" v-if="formData.type!=''||isVerification==true">
+					<uni-easyinput type="number" v-model="Data.phone" placeholder="填写联系电话" maxlength=11 />
 				</uni-forms-item>
-				<uni-forms-item  name="region" v-if="formData.type=='快递配送'">
-					<uni-easyinput type="text" v-model="formData.region" placeholder="详细地址" />
-				</uni-forms-item>
-				<uni-forms-item  name="region" v-if="formData.type=='到店自提'||isVerification==true">
-					<view class="selectType">
-						<picker mode="selector" :value="formData.region" :range='regionSelect'
-							@change="bindregionChange">
-							<view class="uni-input" >
+				<uni-forms-item name="region" v-if="formData.type=='快递配送'">
+					
+					<pickerAddress @change="change">
+						<!-- <uni-easyinput type="text" v-model="formData.region" placeholder="所在地区" /> -->
+						<view class="selectType">
+							<view class="uni-input">
 								<text v-if="formData.region==''||formData.region==null"
-									style="color: #999999 ;">请选择门店</text>
-								<text v-if="formData.region!=''">{{formData.region}}</text>
+									style="color: #999999 ; font-size: 30rpx; ">所在地区</text>
+								<text style="font-size: 30rpx;" v-if="Data.area_id!=''">{{formData.region}}</text>
 							</view>
 							<image src="/static/icon/right.png"
-								style="width: 14rpx;height: 24rpx;position: absolute;top:20rpx;right: 30rpx;"></image>
-						</picker>
+								style="width: 14rpx;height: 24rpx;position: absolute;top:22rpx;right: 30rpx;">
+							</image>
+						</view>
+					</pickerAddress>
+				</uni-forms-item>
+				<uni-forms-item name="region" v-if="formData.type=='快递配送'">
+					<textarea placeholder-style="#999" class="text-area" type="text" placeholder="详细地址"  v-model="Data.address" />
+				</uni-forms-item>
+				<uni-forms-item name="region" v-if="formData.type=='到店自提'||isVerification==true">
+					<view class="selectType" @click="openShop">
+						<view class="uni-input">
+							<text v-if="formData.shop==''||formData.shop==null"
+								style="color: #999999 ; font-size: 30rpx; ">请选择门店</text>
+							<text style="font-size: 30rpx;" v-if="formData.shop!=''">{{formData.shop}}</text>
+						</view>
+						<image src="/static/icon/right.png"
+							style="width: 14rpx;height: 24rpx;position: absolute;top:31rpx;right: 30rpx;">
+						</image>
 					</view>
 				</uni-forms-item>
 			</uni-forms>
 		</view>
-		
+
 		<!-- 奖品信息 -->
 		<view class="msg">
 			<view class="title">
 				<text>奖品信息</text>
 			</view>
 			<view class="shopCard">
-				<image  src="/static/icon/Kudosbg.png"></image>
+				<image :src="coverImg"></image>
 				<view style="margin-left: 24rpx;">
-					<text class="name">端午佳节五香肉粽子,仅限前</text>
-					<text class="tag">礼盒装 </text>
+					<text class="name">{{prizeDetail[0].name}}</text>
+					<!-- <text class="tag">礼盒装 </text> -->
 				</view>
 			</view>
 			<view class="shopNumber">
@@ -63,77 +72,234 @@
 				<text>1件</text>
 			</view>
 		</view>
-		
+
 		<!-- 兑换按钮 -->
 		<view class="bottombtn" @click="goExDetail">
-			<view class="btnitem" >
+			<view class="btnitem">
 				<text>确认兑换</text>
 			</view>
 		</view>
 		
+		
+		<!-- 配送方式-->
+		<uni-popup ref="Recipient" type="bottom" mask-background-color=" rgba(0,0,0,0.7);">
+			<view class="pop">
+				<view class="popuptitle">
+					<view @click="cancelBtn" style="width: 68rpx;color: #999;font-size: 32rpx;">
+						<text>取消</text>
+					</view>
+					<view>
+						<text style="font-weight: bold; font-size: 32rpx; color: #080F18; ">配送方式</text>
+					</view>
+					<view @click="sureBtn" style="width: 68rpx;"><text
+							style="font-size: 32rpx; color: #FF6200;line-height: 34rpx">确定</text></view>
+				</view>
+				<view class="chooselag">
+					<view @click="companyed(item.name,index)" class="language" v-for="(item,index) in typeSelect "
+					:key="index"	:sgActive='activeIndex==index'>
+						<text>{{item.name}}</text>
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+		<!-- 门店选择-->
+		<uni-popup ref="shopSelected" type="bottom" mask-background-color=" rgba(0,0,0,0.7);">
+			<view class="pop">
+				<view class="popuptitle">
+					<view @click="cancelShopBtn" style="width: 68rpx;color: #999;font-size: 32rpx;">
+						<text>取消</text>
+					</view>
+					<view>
+						<text style="font-weight: bold; font-size: 32rpx; color: #080F18; ">配送方式</text>
+					</view>
+					<view @click="sureShopBtn" style="width: 68rpx;"><text
+							style="font-size: 32rpx; color: #FF6200;line-height: 34rpx">确定</text></view>
+				</view>
+				<view class="chooselag">
+					<view @click="companyedShop(item.name,index)" class="language" v-for="(item,index) in regionSelect"
+				:key="index"		:sgActive='activeIndex==index'>
+						<text>{{item.name}}</text>
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+
 	</view>
 </template>
 
 <script>
+	import pickerAddress from '@/uni_modules/hu-pickerAddress/hu-pickerAddress.vue'
 	export default {
-		data(){
-			return{
+		components: {
+			pickerAddress
+		},
+		data() {
+			return {
+				coverImg:'',
+				prizeDetail:'',
 				//产品
-				id:'',
+				id: '',
 				// 是否核销
-				isVerification:false,
+				isVerification: false,
 				// 表单数据
-				formData:{
-					type:'',
-					phone:'',
-					name:'',
-					region:'',
-					address:'',
+				formData: {
+					type: '',
+					region: '',
 				},
 				// 配送方式
-				typeSelect:['快递配送','到店自提'],
+				typeSelect: [{
+					name: '快递配送',
+				}, {
+					name: '到店自提',
+				}],
 				// 是否显示配送方式
-				istype:true,
+				istype: true,
 				// 选择门店
-				regionSelect:['第一门店','第二门店','第三门店','第四门店']
+				regionSelect: [{
+					name: '第一门店',
+				}, {
+					name: '第二门店',
+				}, {
+					name: '第三门店',
+				}, {
+					name: '第四门店',
+				}, {
+					name: '第五门店',
+				}, {
+					name: '第六门店',
+				}, {
+					name: '第七门店',
+				}],
+				// 表单数据
+				Data:{
+					order_id:'',//订单id
+					// 快递类型(1.快递发货 2.到店自提也是线下核销)
+					express_type:'',
+					// 收货人
+					receiver:"",
+					// 联系电话
+					phone:'',
+					// 地址ID,最小行政单位地区ID,express_type=1时必传
+					area_id:2000,
+					// 详细地址,express_type=1时必传
+					address:'',
+					// 门店ID,express_type=2时必传
+					hotel_id:'',
+				},
 			}
 		},
-		
+
 		onLoad(o) {
-			if(o.id){
+			if (o.id) {
 				this.id = o.id
-				this.getProductDetail()
+				console.log(this.id);
+				//实物奖品
+				this.getPrizeList(0)
 			}
-			
-			
 		},
-		
-		methods:{
-			getProductDetail(){
-				this.$api.product.getProductDetail({
-					product_id:this.id
+
+		methods: {
+			
+			//订单兑换
+			goExDetail(){
+				if(this.formData.type =='' ){
+					uni.showToast({
+						icon:'none',
+						title:'请选择配送方式'
+					})
+					return
+				}
+				this.$api.product.orderExchange({
+					...this.Data
 				}).then(res=>{
-					console.log(res,'------->res');
+					console.log(res.data,'------>res.data');
 				})
 			},
 			
-			// 选择快递方式
-			bindTypeChange:function(e){
-				if(e.detail.value==0){
-					this.formData.type='快递配送'
-				}else{
-					this.formData.type='到店自提'
+			
+			change(ret){
+				this.formData.region = ret.data.join('-')
+			},
+			//确定按钮
+			sureShopBtn() {
+				if (this.typestatus2 == undefined) {
+					uni.showToast({
+						icon: "none",
+						title: '请选择门店'
+					})
+				} else {
+					this.formData.shop = this.typestatus2
+					this.$refs.shopSelected.close()
 				}
 			},
-			// 跳转兑换详情
-			goExDetail(){
-				uni.navigateTo({
-					url:'/pages/my/prize/exchangeDetail'
+			//取消按钮
+			cancelBtn() {
+				this.$refs.Recipient.close()
+			},
+			//选择配送方式
+			companyed(i, index) {
+				this.typestatus1 = i
+				this.activeIndex = index
+				console.log(i, this.activeIndex)
+				if(index==0){
+					this.Data.express_type=1
+				}else if(index==1){
+					this.Data.express_type=2
+				}
+			},
+			//确定按钮
+			sureBtn() {
+				if (this.typestatus1 == undefined) {
+					uni.showToast({
+						icon: "none",
+						title: '请选择配送方式'
+					})
+				} else {
+					this.formData.type = this.typestatus1
+					this.$refs.Recipient.close()
+				}
+			},
+			// 打开配送弹框
+			openSelect() {
+				this.$refs.Recipient.open('bottom')
+			},
+			
+			// 获取奖品列表
+			getPrizeList(type) {
+				this.$api.lottery.getDrawRecord({
+					is_virtual: type,
+					page: 0
+				}).then(res => {
+					//实物奖品
+					if (type == 0) {
+						this.prizeDetail = res.data.data.filter(item=>{
+							return item.id == this.id
+						})
+						this.coverImg = this.prizeDetail[0].img_urls
+						console.log(this.coverImg,'------->this.coverImg');
+					} else {
+						this.VirtualPrizes = res.data.data
+					}
 				})
 			},
+
+			// 选择快递方式
+			bindTypeChange: function(e) {
+				if (e.detail.value == 0) {
+					this.formData.type = '快递配送'
+				} else {
+					this.formData.type = '到店自提'
+				}
+			},
+			// // 跳转兑换详情
+			// goExDetail() {
+			// 	uni.navigateTo({
+			// 		url: '/pages/my/prize/exchangeDetail'
+			// 	})
+			// },
 			// 选择门店
-			bindregionChange:function(e){
-				this.formData.region=this.regionSelect[e.detail.value]
+			bindregionChange: function(e) {
+				this.formData.region = this.regionSelect[e.detail.value]
 			},
 		}
 	}
@@ -142,60 +308,71 @@
 <style lang="scss" scoped>
 	$pageColor:#F9F9F9;
 	$bgColor:#FFFFFF;
+
 	@mixin flexlayout {
 		display: flex;
 		align-items: center;
 		justify-content: center;
 	}
-	.exchangePrize{
+
+	.exchangePrize {
 		height: 100%;
-		background:$bgColor ;
+		background: $bgColor;
 	}
-	::v-deep .uni-forms-item{
+
+	::v-deep .uni-forms-item {
 		margin-bottom: 24rpx;
 	}
-	::v-deep .uni-forms-item__content{
+
+	::v-deep .uni-forms-item__content {
 		font-size: 30rpx;
 		border: 2rpx solid #EAEAEA;
-		padding:18rpx 0;
+		padding: 18rpx 0;
 		border-radius: 8rpx;
 		background-color: #fff;
 	}
-	::v-deep .is-input-border{
+
+	::v-deep .is-input-border {
 		border: none;
 	}
-	.form{
-		background:$pageColor ;
+
+	.form {
+		background: $pageColor;
 		width: 750rpx;
-		padding:24rpx 30rpx 12rpx 30rpx;
+		padding: 24rpx 30rpx 12rpx 30rpx;
 		box-sizing: border-box;
-		.selectType{
+
+		.selectType {
 			width: 690rpx;
 			height: 68rpx;
 			background: #FFFFFF;
 			display: flex;
-			align-items:center;
-			padding-left: 20rpx; 
+			align-items: center;
+			padding-left: 20rpx;
 			box-sizing: border-box;
 			position: relative;
 		}
 	}
-	.msg{
+
+	.msg {
 		width: 750rpx;
 		height: 700rpx;
-		background:$bgColor;
+		background: $bgColor;
 		border-radius: 12rpx 12rpx 0px 0px;
-		padding:32rpx 30rpx;
-		.title{
+		padding: 32rpx 30rpx;
+
+		.title {
 			margin-bottom: 24rpx;
-			text{
+
+			text {
 				font-size: 32rpx;
 				font-family: PingFang-SC-Bold, PingFang-SC;
 				font-weight: bold;
 				color: #080F18;
 			}
 		}
-		.shopCard{
+
+		.shopCard {
 			margin-top: 28rpx;
 			width: 694rpx;
 			height: 164rpx;
@@ -203,33 +380,38 @@
 			border-radius: 10rpx;
 			display: flex;
 			align-items: center;
-			image{
+
+			image {
 				width: 132rpx;
-				height: 132rpx; 
+				height: 132rpx;
 				margin-left: 16rpx;
 				display: inline-block;
 				border-radius: 10rpx;
 			}
-			.name{
+
+			.name {
 				font-size: 28rpx;
 				font-family: PingFangSC-Medium, PingFang SC;
 				font-weight: 500;
 				color: #080F18;
 				display: block;
 			}
-			.tag{
+
+			.tag {
 				font-size: 24rpx;
 				font-family: PingFang-SC-Medium, PingFang-SC;
 				font-weight: 500;
 				color: #666666;
 			}
 		}
-		.shopNumber{
+
+		.shopNumber {
 			display: flex;
 			justify-content: space-between;
 			align-items: center;
 			margin-top: 25rpx;
-			text{
+
+			text {
 				font-size: 26rpx;
 				font-family: PingFang-SC-Medium, PingFang-SC;
 				font-weight: 500;
@@ -237,18 +419,21 @@
 			}
 		}
 	}
-	.bottombtn{
+
+	.bottombtn {
 		width: 690rpx;
 		height: 92rpx;
-		background: linear-gradient(270deg, #FF6200 0%, #FF9342 100%);	
+		background: linear-gradient(270deg, #FF6200 0%, #FF9342 100%);
 		border-radius: 12rpx;
 		margin-left: 30rpx;
 		position: fixed;
 		bottom: 72rpx;
 		@include flexlayout();
-		.btnitem{
+
+		.btnitem {
 			@include flexlayout();
-			text{
+
+			text {
 				font-size: 30rpx;
 				font-family: PingFang-SC-Bold, PingFang-SC;
 				font-weight: bold;
@@ -256,4 +441,70 @@
 			}
 		}
 	}
-</style>
+	.pop {
+		width: 100%;
+		height: 616rpx;
+		background: #FFFFFF;
+		border-radius: 16rpx 16rpx 0 0;
+		overflow: scroll;
+	
+		.popuptitle {
+			position: fixed;
+			top: 0;
+			display: flex;
+			width: 100%;
+			padding: 0 30rpx;
+			height: 122rpx;
+			background: #fff;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+	
+			image {
+				display: inline-block;
+				width: 33rpx;
+				height: 33rpx;
+				border-radius: 1rpx;
+			}
+		}
+	
+		.chooselag {
+	
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			background: #FFFFFF;
+			padding: 0 30rpx;
+			overflow-y: scroll;
+			margin-top: 122rpx;
+	
+			.language {
+				width: 100%;
+				font-size: 32rpx;
+				font-weight: 400;
+				color: #777777;
+				border-bottom: 1rpx #E2E4EA solid;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				padding-top: 40rpx;
+				padding-bottom: 40rpx;
+	
+				&[sgActive] {
+					color: #405E49 !important;
+					font-weight: bold !important;
+				}
+			}
+		}
+	}
+	.text-area {
+		width: 100%;
+		height: 130rpx;
+		padding: 0rpx 20rpx;
+		background: #FFFFFF;
+		border-radius: 8rpx;
+		font-size: 30rpx;
+		color: #000;
+		line-height: 30rpx;
+	}
+</style>

+ 6 - 3
pages/my/prize/prize.vue

xqd xqd
@@ -17,12 +17,15 @@
 				<view class="ListItem" v-for="(item,index) in PhysicalPrizes" :key="index">
 					<view class="title"><text>{{item.name}}</text></view>
 					<view class='data'><text>{{item.created_at}}</text></view>
-					<view class="alreadyBtn" v-if="false">
+					<view class="alreadyBtn" v-if="item.status == 2">
 						<text>已兑换</text>
 					</view>
-					<view class="instantBtn" @click="goExchangePhy(item.id)">
+					<view class="instantBtn" v-if="item.status == 1" @click="goExchangePhy(item.id)">
 						<text>立即兑换</text>
 					</view>
+					<view class="instantBtn" v-if="item.status == 3" >
+						<text>已过期</text>
+					</view>
 				</view>
 			</view>
 			
@@ -95,7 +98,7 @@
 			getPrizeList(type){
 				this.$api.lottery.getDrawRecord({
 					is_virtual:type,
-					page:1
+					page:0
 				}).then(res=>{
 					//实物奖品
 					if(type == 0){

+ 2 - 3
setting.js

xqd
@@ -2,9 +2,8 @@
  * Created by JianJia.Zhou<jianjia.zhou> on 2022/3/18.
  */
 const IS_DEV = process.env.NODE_ENV === 'development'
-// const URL = 'https://zhangsiye.9026.com'
-// const URL = 'https://t9.9026.com'
-const URL = 'https://ihg.9026.com'
+const URL = 'https://t9.9026.com'
+// const URL = 'https://ihg.9026.com'
 
 module.exports = {
   // 版本

+ 41 - 0
yarn-error.log

xqd
@@ -0,0 +1,41 @@
+Arguments: 
+  C:\Program Files\nodejs\node.exe C:\Users\MAC\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js
+
+PATH: 
+  C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files (x86)\Tencent\微信web开发者工具\dll;;;C:\P;ogram Files\Git\cmd;C:\Program Files\Git\cmd;D:\wechat\微信web开发者工具\dll;C:\Users\MAC\AppData\Local\Microsoft\WindowsApps;C:\Users\MAC\AppData\Roaming\npm;C:\Users\MAC\AppData\Local\Programs\Microsoft VS Code\bin
+
+Yarn version: 
+  1.22.19
+
+Node version: 
+  16.13.1
+
+Platform: 
+  win32 x64
+
+Trace: 
+  Error: getaddrinfo ENOTFOUND registry.npm.taobao.org
+      at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:71:26)
+
+npm manifest: 
+  {
+    "name": "hotel_uni",
+    "version": "1.0.0",
+    "description": "",
+    "main": "main.js",
+    "scripts": {
+      "test": "echo \"Error: no test specified\" && exit 1"
+    },
+    "keywords": [],
+    "author": "",
+    "license": "ISC",
+    "dependencies": {
+      "uview-ui": "^2.0.31"
+    }
+  }
+
+yarn manifest: 
+  No manifest
+
+Lockfile: 
+  No lockfile

+ 8 - 0
yarn.lock

xqd
@@ -0,0 +1,8 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+uview-ui@^2.0.31:
+  version "2.0.35"
+  resolved "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.35.tgz#b0e7916382e533402cfb2e86c10f2cacca22a9b4"
+  integrity sha512-OfMttN3XkHvQosXfd8bjz8ASTvypPoGzBWmQZBJ871bYMCA7t2bDFPlzjbxUj/5ykAjKnZ8zMUapSwSisVt99g==