diff --git a/jiuyi2/api/shop.js b/jiuyi2/api/shop.js
index 3170fbde..80c4d1a7 100644
--- a/jiuyi2/api/shop.js
+++ b/jiuyi2/api/shop.js
@@ -240,9 +240,9 @@ const shop = {
 	 */
 	merchant(param) {
 		return util.request({
-			url: `/shopify/merchant`,
+			url: `/shopify/appMerInfoApi/getMerDetail`,
 			method: 'GET',
-			path: param.path,
+			query: param.query,
 			load: true,
 		})
 	},
diff --git a/jiuyi2/common/js/config.js b/jiuyi2/common/js/config.js
index d9448b2f..bce99ca0 100644
--- a/jiuyi2/common/js/config.js
+++ b/jiuyi2/common/js/config.js
@@ -6,7 +6,8 @@ const config = {
 	// host: 'h5api',
 	// #endif
 	// #ifndef H5
-	host: 'http://91f.xyz:8080',
+	// host: 'http://91f.xyz:8080',
+	host: 'http://chi9fe.natappfree.cc',
 	// #endif
 	// 支付方式配置
 	payType: {
diff --git a/jiuyi2/components/index/indexVideo.vue b/jiuyi2/components/index/indexVideo.vue
index bbf1b54f..647df013 100644
--- a/jiuyi2/components/index/indexVideo.vue
+++ b/jiuyi2/components/index/indexVideo.vue
@@ -586,11 +586,10 @@
 							</view>
 
 							<!-- 只有公开赞显示点赞数 -->
-							<view class="txt mt10" v-if="item.isLike && item.likeType == 0">
-								<text class="text">{{ item.likeCount }}</text>
-							</view>
-							<view class="txt mt10" v-else>
-								<text class="text">点赞</text>
+							<view class="txt mt10">
+								<text class="text" v-if="item.isLike == 0 && item.likeType == 0">{{ item.likeCount }}</text>
+								<text class="text" v-else-if="item.isLike == 0 && item.likeType == 1">隐私赞</text>
+								<text class="text" v-else>点赞</text>
 							</view>
 						</view>
 					</view>
diff --git a/jiuyi2/components/shop/detail/footerMenu.vue b/jiuyi2/components/shop/detail/footerMenu.vue
index 3b92574e..6be67cd5 100644
--- a/jiuyi2/components/shop/detail/footerMenu.vue
+++ b/jiuyi2/components/shop/detail/footerMenu.vue
@@ -89,23 +89,26 @@ function handleBuy() {
 
 // 客服
 function toCustomer() {
-	api.shop.getCustomerService({ merchantId: props.detail.merId }).then(rs => {
-		if (rs.code == 200) {
-			let param = {};
-			param.type = 'C2C'
-			param.name = `${props.detail.merName}`
-			param.msgId = `${rs.data.serviceId}`
-			param.isCustomer = true
-
-			util.toChat(param)
-
-			uni.navigateTo({
-				url: util.setUrl('/pages/news/chat/chat', param)
-			})
-		} else {
-			util.alert(rs.msg)
-		}
+	uni.navigateTo({
+		url: util.setUrl('/pages/mine/setting/feedback')
 	})
+	// api.shop.getCustomerService({ merchantId: props.detail.merId }).then(rs => {
+	// 	if (rs.code == 200) {
+	// 		let param = {};
+	// 		param.type = 'C2C'
+	// 		param.name = `${props.detail.merName}`
+	// 		param.msgId = `${rs.data.serviceId}`
+	// 		param.isCustomer = true
+
+	// 		util.toChat(param)
+
+	// 		uni.navigateTo({
+	// 			url: util.setUrl('/pages/news/chat/chat', param)
+	// 		})
+	// 	} else {
+	// 		util.alert(rs.msg)
+	// 	}
+	// })
 
 }
 </script>
@@ -116,7 +119,7 @@ function toCustomer() {
 		<view class="menu df fdr jcsb aic">
 			<view class="option df fdc aic">
 				<image class="wh30" src="/static/store.png" mode="aspectFit" />
-				<text class="text mt10">店铺</text>
+				<text class="text mt10" @click="link(`/pages/shop/store/index?storeId=${detail.merId}`)">店铺</text>
 			</view>
 
 			<view class="option  df fdc aic" @click="handleCollect">
diff --git a/jiuyi2/pages/index/index.nvue b/jiuyi2/pages/index/index.nvue
index 605bf838..9c596671 100644
--- a/jiuyi2/pages/index/index.nvue
+++ b/jiuyi2/pages/index/index.nvue
@@ -163,20 +163,16 @@
 		util.getMyTask()
 
 		// 监听登录
-		uni.$on('login', () => {
-			recList.data.length = 0
-			attList.data.length = 0
-			nextTick(() => {
-				// 获取列表
-				tabCurrent.value.refreshList()
-			})
-		})
+		// uni.$on('login', () => {
+		// 	// 获取列表
+		// 	tabCurrent.value.refreshList()
+		// })
 
 		// 监听登录
-		uni.$on('logout', () => {
-			// 获取列表
-			tabCurrent.value.refreshList()
-		})
+		// uni.$on('logout', () => {
+		// 	// 获取列表
+		// 	tabCurrent.value.refreshList()
+		// })
 
 		// 视频数据被修改
 		uni.$on('updateVideo', (item) => {
diff --git a/jiuyi2/pages/index/videoHome.vue b/jiuyi2/pages/index/videoHome.vue
index 7cce3588..9f14f3e1 100644
--- a/jiuyi2/pages/index/videoHome.vue
+++ b/jiuyi2/pages/index/videoHome.vue
@@ -356,7 +356,7 @@ function toCommentsList() {
 			<view class="btns df">
 				<template v-if="detail.isAttention == 0">
 					<view class="btn lg cancel f1" @click="handleAttention">已关注</view>
-					<view class="btn lg cancel f1 ml20" @click="handleMessage">私信</view>
+					<view class="btn lg cancel f1 ml20" @click="handleMessage" v-if="!userinfo.teenTime">私信</view>
 				</template>
 				<template v-else>
 					<view class="btn lg focus f1" @click="handleAttention">关注</view>
@@ -401,7 +401,7 @@ function toCommentsList() {
 					<view class="txt mt20 c111 f20">分享主页</view>
 				</view> -->
 
-				<view class="option ver jcc bfff br10" @click="handleMessage">
+				<view class="option ver jcc bfff br10" @click="handleMessage" v-if="!userinfo.teenTime">
 					<image class="wh50" src="/static/email.png" mode="aspectFit" />
 					<view class="txt mt20 c111 f20">私信Ta</view>
 				</view>
diff --git a/jiuyi2/pages/index/wallet/topUp.vue b/jiuyi2/pages/index/wallet/topUp.vue
index d098955d..b992576a 100644
--- a/jiuyi2/pages/index/wallet/topUp.vue
+++ b/jiuyi2/pages/index/wallet/topUp.vue
@@ -20,8 +20,8 @@
 		totalAmount: '',
 	})
 
-	onLoad(() => {
-		// 
+	onLoad((option) => {
+		if(option.amount) form.totalAmount = option.amount
 	})
 
 	// 充值
diff --git a/jiuyi2/pages/mine/mine.vue b/jiuyi2/pages/mine/mine.vue
index 0cc760eb..cb4be092 100644
--- a/jiuyi2/pages/mine/mine.vue
+++ b/jiuyi2/pages/mine/mine.vue
@@ -57,8 +57,7 @@ function toCustomer() {
 	param.isCustomer = true
 
 	util.toChat(param)
-
-
+	
 	uni.navigateTo({
 		url: util.setUrl('/pages/news/chat/chat', param)
 	})
diff --git a/jiuyi2/pages/release/commodity.vue b/jiuyi2/pages/release/commodity.vue
index 8fe153e8..bea5f729 100644
--- a/jiuyi2/pages/release/commodity.vue
+++ b/jiuyi2/pages/release/commodity.vue
@@ -55,9 +55,11 @@
 				// 商品佣金
 				form.commission = detail.commission
 				// 商品详情
-				form.infoRichText = detail.infoRichText || ''
-				// 富文本编辑器初始化
-				proxy.$refs.editorAreaRef.init(form.infoRichText)
+				if (detail.infoRichText) {
+					form.infoRichText = JSON.parse(detail.infoRichText)
+					// 富文本编辑器初始化
+					proxy.$refs.editorAreaRef.init(form.infoRichText)
+				}
 				// 规格
 				form.specs = detail.specs.map(item => {
 					return {
@@ -176,7 +178,7 @@
 	 */
 	function handleCate(ev) {
 		let index = ev.detail.value
-		if (index == categoryIndex.value) return
+		if (index === categoryIndex.value) return
 		categoryIndex.value = index
 		form.categoryId = category[categoryIndex.value].id
 	}
@@ -228,7 +230,11 @@
 
 		// 轮播图
 		data.sliderImage = data.sliderImage.join(',')
-
+		// 商品详情
+		// if (data.infoRichText) data.infoRichText = Buffer.from(data.infoRichText, 'utf8').toString('base64');
+		// if (data.infoRichText) data.infoRichText = JSON.stringify(data.infoRichText)
+		console.log(btoa, data.infoRichText)
+		return
 		// 
 		api.shop.saveProduct({
 			data,
diff --git a/jiuyi2/pages/release/video.vue b/jiuyi2/pages/release/video.vue
index ee730f20..1bb16ae9 100644
--- a/jiuyi2/pages/release/video.vue
+++ b/jiuyi2/pages/release/video.vue
@@ -111,6 +111,20 @@
 				form.description = detail.description
 				// //视频状态 0草稿 1待审核 2审核失败 3已发布 4已下架
 				form.status = detail.status
+				// 第几秒展示
+				if (detail.popupTime) form.popupTime = detail.popupTime
+				// 关联视频的商品id
+				if (detail.productId) {
+					form.productId = detail.productId
+					// 商品名称
+					form.productName = detail.productName
+					// 商品价格
+					form.productPrice = detail.productPrice
+					// 商品图片
+					form.productImage = detail.productImage
+					// 商品佣金
+					form.commission = detail.commission
+				}
 				// 回显话题列表
 				if (detail.tagsList) labelSelect.push(...detail.tagsList)
 				// 匹配用户id
@@ -527,7 +541,7 @@
 						<view class="df oh mtb20">
 							<view class="col oh df fdc jcsb f1 mr20">
 								<view class="name">{{form.productName}}</view>
-								<view class="price thd cFF9B27 f28">
+								<view class="price thd mt10 cFF9B27 f28">
 									<text class="price thd mr20">价格{{form.productPrice}}</text>
 									<text class="commission thd">佣金{{form.commission}}</text>
 								</view>
diff --git a/jiuyi2/pages/shop/commodity/index.vue b/jiuyi2/pages/shop/commodity/index.vue
index e1faffba..e6f9ede5 100644
--- a/jiuyi2/pages/shop/commodity/index.vue
+++ b/jiuyi2/pages/shop/commodity/index.vue
@@ -94,7 +94,10 @@
 			if (rs.code == 200) {
 				// 
 				const result = rs.data
-				if (result.infoRichText) result.infoRichText = util.imgReplace(result.infoRichText)
+				if (result.infoRichText) {
+					result.infoRichText = JSON.parse(result.infoRichText)
+					result.infoRichText = util.imgReplace(result.infoRichText)
+				}
 				Object.assign(detail, {}, result)
 				return
 			}
@@ -131,7 +134,13 @@
 
 	// 拉起订单
 	function showMakeOrder() {
-		proxy.$refs.makeOrderRef.open()
+		util.isLogin(() => {
+			proxy.$refs.makeOrderRef.open()
+		}).then(rs => {
+			uni.navigateTo({
+				url: '/pages/login/loginPhone'
+			})
+		})
 	}
 
 	/**
diff --git a/jiuyi2/pages/shop/commodity/payment.vue b/jiuyi2/pages/shop/commodity/payment.vue
index 4687a71c..4c73aef3 100644
--- a/jiuyi2/pages/shop/commodity/payment.vue
+++ b/jiuyi2/pages/shop/commodity/payment.vue
@@ -149,6 +149,14 @@
 				uni.$off('updateOrderDetail')
 				uni.navigateBack()
 				return
+			} else if (res.code === 501) {
+				util.alert(res.msg)
+				uni.navigateTo({
+					url: util.setUrl('/pages/index/wallet/topUp', {
+						amount: detail.totalPrice,
+					}),
+				})
+				return
 			}
 			util.alert({
 				content: res.msg,
diff --git a/jiuyi2/pages/shop/store/index.vue b/jiuyi2/pages/shop/store/index.vue
index 3e80c3d6..bb9d5819 100644
--- a/jiuyi2/pages/shop/store/index.vue
+++ b/jiuyi2/pages/shop/store/index.vue
@@ -1,68 +1,198 @@
 <script setup>
-	// 店铺首页
-	import {
-		ref
-	} from 'vue'
-	import {
-		onLoad,
-		onPageScroll
-	} from '@dcloudio/uni-app';
+// 店铺首页
+import {
+	computed,
+	reactive,
+	ref,
+	defineExpose,
+} from 'vue'
+import {
+	onLoad,
+	onPageScroll
+} from '@dcloudio/uni-app';
 
-	// 顶部
-	import apex from '@/components/header/apex.vue'
-	// 商品列表
-	import productList from '@/components/shop/productList/productList'
+// 工具库
+import util from '@/common/js/util.js'
+// 顶部
+import apex from '@/components/header/apex.vue'
+// 商品列表
+import productList from '@/components/shop/productList/productList'
 
-	// 分类选项
-	const filteredList = ref([{
-		label: '默认',
-		value: 1,
-		isUpDown: false,
-		slot: null
-	}, {
-		label: '销量',
-		value: 2,
-		isUpDown: false,
-		slot: null
-	}, {
-		label: '新品',
-		value: 3,
-		isUpDown: false,
-		slot: null
-	}, {
-		label: '价格',
-		value: 4,
-		isUpDown: true,
-		slot: null
-	}])
-	// 顶部导航背景颜色
-	const apexBgColor = ref('#ffffff00')
-	// 店铺id
-	const storeId = ref('')
+import api from '@/api/index.js'
 
-	onLoad((option) => {
-		if (option.storeId) storeId.value = option.storeId
+// 分类选项
+const filteredList = ref([{
+	label: '默认',
+	value: 1,
+	isUpDown: false,
+	slot: null
+}, {
+	label: '销量',
+	value: 2,
+	isUpDown: false,
+	slot: null
+}, {
+	label: '新品',
+	value: 3,
+	isUpDown: false,
+	slot: null
+}, {
+	label: '价格',
+	value: 4,
+	isUpDown: true,
+	slot: null
+}])
+// 顶部导航背景颜色
+const apexBgColor = ref('#ffffff00')
+// 店铺id
+const storeId = ref('')
+// 详情
+const detail = reactive({})
+// 参数
+const listPrototype = reactive({
+	pageSize: 10,
+	pageNum: 1,
+	total: 0,
+	// 商户主键
+	merId: '',
+	data: [],
+})
+
+// 用户信息
+const userinfo = computed(() => uni.$store.state.userinfo || {})
+onLoad((option) => {
+	if (option.storeId) storeId.value = option.storeId
+	getDetail()
+	listPrototype.merId = storeId.value
+	getList()
+})
+
+onPageScroll((ev) => {
+	apexBgColor.value = ev.scrollTop > 44 ? '#fff' : '#ffffff00'
+})
+
+// 获取店铺详情
+function getDetail() {
+	api.shop.merchant({
+		query: {
+			merId: storeId.value,
+			userId: userinfo.value.id,
+		}
+	}).then(rs => {
+		if (rs.code == 200) {
+			Object.assign(detail, {}, rs.data)
+			return
+		}
+		util.alert({
+			content: rs.msg,
+			showCancel: false
+		});
 	})
+}
+// 收藏店铺
+function handleCollectStore() {
+	api.shop.followShop({
+		data: {
+			shopId: storeId.value,
+			status: {
+				0: 1,
+				1: 0,
+			}[detail.isFollow]
+		}
+	}).then(rs => {
+		if (rs.code == 200) {
+			// 关注状态
+			detail.isFollow = {
+				0: 1,
+				1: 0,
+			}[detail.isFollow]
+			// 关注数量
+			detail.followNum = rs.data
 
-	onPageScroll((ev) => {
-		apexBgColor.value = ev.scrollTop > 44 ? '#fff' : '#ffffff00'
-	})
-
-	// 获取店铺详情
-	function getDetail() {
-		// 
-		api.shop.merchant({
-			path: [id.value],
-		}).then(rs => {
-			if (rs.code == 200) {
-				return
-			}
-			util.alert({
-				content: rs.msg,
-				showCancel: false
-			});
+			getDetail()
+			return
+		}
+		util.alert({
+			content: rs.msg,
+			showCancel: false,
 		})
-	}
+	})
+}
+// 客服
+function toCustomer() {
+	uni.navigateTo({
+		url: util.setUrl('/pages/mine/setting/feedback')
+	})
+	// api.shop.getCustomerService({ merchantId: storeId.value }).then(rs => {
+	// 	if (rs.code == 200) {
+	// 		let param = {};
+	// 		param.type = 'C2C'
+	// 		param.name = `${detail.name}`
+	// 		param.msgId = `${rs.data.serviceId}`
+	// 		param.isCustomer = true
+
+	// 		util.toChat(param)
+
+	// 		uni.navigateTo({
+	// 			url: util.setUrl('/pages/news/chat/chat', param)
+	// 		})
+	// 	} else {
+	// 		util.alert(rs.msg)
+	// 	}
+	// })
+
+}
+// 商品列表
+function getList() {
+
+	api.shop.getProduct({
+		data: {
+			pageSize: listPrototype.pageSize,
+			pageNum: listPrototype.pageNum,
+			// 商户主键
+			merId: listPrototype.merId,
+		},
+	}).then(rs => {
+		if (rs.code == 200) {
+			if (listPrototype.pageNum == 1) listPrototype.data.length = []
+			listPrototype.data.push(...rs.rows)
+			listPrototype.total = rs.total
+			return
+		}
+		util.alert({
+			content: rs.msg,
+			showCancel: false,
+		})
+	}).finally(rs => {
+		uni.stopPullDownRefresh()
+	})
+}
+// 点击列表项
+function handleItem(item) {
+	uni.navigateTo({
+		url: util.setUrl('/pages/shop/commodity/index', {
+			productId: item.id
+		})
+	})
+}
+// 重载列表
+function refreshList() {
+	listPrototype.pageNum = 1
+	listPrototype.total = 0
+	getList()
+}
+
+// 加载更多列表
+function getMoreList() {
+	if (listPrototype.total <= listPrototype.data.length) return
+	listPrototype.pageNum++
+	getList()
+}
+
+defineExpose({
+	refreshList,
+	getMoreList,
+})
 </script>
 
 <template>
@@ -71,25 +201,24 @@
 		<apex :bgColor="apexBgColor" mode="flex">
 			<template #content>
 				<view class="search df jcr">
-					<view class="">
+					<view class="" v-if="0">
 						<image class="wh50" src="/static/share2.png" mode="aspectFit" />
 					</view>
 				</view>
 			</template>
 		</apex>
 
-		<!--  -->
 		<view class="shopHeaderBg"></view>
 
 		<!-- 店铺卡片 -->
 		<view class="store pr rows ptb25 plr25 mt40">
 			<!-- 店铺头像 -->
-			<image class="wh120 fs0 br10" src="/static/logo.png" mode="aspectFill" />
+			<image class="wh120 fs0 br10" :src="detail.rectangleLogo" mode="aspectFill" />
 			<!-- 店铺信息 名称 评分 关注数量 -->
 			<view class="info f1 ml20">
 				<!-- 店铺名称 -->
 				<view class="c333 f28">
-					<text>店铺名称</text>
+					<text>{{ detail.name }}</text>
 				</view>
 
 				<view class="df aic mt10">
@@ -101,7 +230,7 @@
 					</view>
 					<!-- 关注数量 -->
 					<view class="c666 f24">
-						<text>123关注</text>
+						<text>{{ detail.followNum }}关注</text>
 					</view>
 				</view>
 			</view>
@@ -109,13 +238,14 @@
 			<!-- 按钮区 -->
 			<view class="btns w150">
 				<view>
-					<view class="btn ti warmHollow fmid" @click="followButton">
-						<uni-icons class="mr10" color="#FF9B27" type="plusempty" size="13" />
-						<text>关注</text>
+					<view @click="handleCollectStore" class="btn sm warm fmid fdr plr30">
+						<uni-icons class="mr10" color="#fff" type="plusempty" size="13" v-if="detail.isFollow != 1" />
+						<text class="cfff f28" v-else>已</text>
+						<text class="cfff f28">关注</text>
 					</view>
 				</view>
 
-				<view class="mt10">
+				<view class="mt10" @click="toCustomer">
 					<view class="btn ti warmHollow fmid">
 						<image class="kefu wh30" src="/static/customer-service1.png" mode="aspectFit" />
 						<text>客服</text>
@@ -126,14 +256,46 @@
 
 		<!-- 商品列表 -->
 		<view class="product oh ptb30 plr30">
-			<productList ref="product" />
+			<view class="list">
+				<view class="item oh bfff br20" v-for="(item, index) in listPrototype.data" :key="index"
+					@click="handleItem(item)">
+					<!-- 需要展示的图 -->
+					<image class="poster" :src="item.sliderImage.split(',')[0]" mode="aspectFill" />
+
+					<!-- 标题 -->
+					<view class="main plr20">
+						<view class="title mtb10 thd c333 f30">{{ item.name }}</view>
+						<view class="info mtb10 df aic">
+							<!-- 价格 -->
+							<view class="price thd wsn cFF9B27">
+								<text class="txt f20">¥</text>
+								<text class="txt f36">{{ item.price }}</text>
+							</view>
+							<!-- 销量 -->
+							<view class="sales fs0 thd wsn ml10 c999 f26">销量:{{ item.sales }}</view>
+							<view class="f1"></view>
+						</view>
+					</view>
+				</view>
+			</view>
 		</view>
 	</view>
 </template>
 
 <style lang="scss" scoped>
-	// 
-	.store {
-		// margin-top: -50rpx;
+// 卡片
+.list {
+	display: grid;
+	grid-template-columns: repeat(2, 1fr);
+	grid-gap: 20rpx;
+
+	// 单个
+	.item {
+		.poster {
+			width: 100%;
+			height: 340rpx;
+			border-radius: 20rpx 20rpx 0 0;
+		}
 	}
+}
 </style>
\ No newline at end of file
diff --git a/jiuyi2/static/footerMenuPlus1.png b/jiuyi2/static/footerMenuPlus1.png
index 3b9de85a..583ff927 100644
Binary files a/jiuyi2/static/footerMenuPlus1.png and b/jiuyi2/static/footerMenuPlus1.png differ
diff --git a/jiuyi2/static/userMenu.png b/jiuyi2/static/userMenu.png
index 90cb185b..1be92fa5 100644
Binary files a/jiuyi2/static/userMenu.png and b/jiuyi2/static/userMenu.png differ
diff --git a/jiuyi2/vite.config.js b/jiuyi2/vite.config.js
index fc5535df..d8647819 100644
--- a/jiuyi2/vite.config.js
+++ b/jiuyi2/vite.config.js
@@ -3,7 +3,8 @@ import {
 } from 'vite';
 import uni from '@dcloudio/vite-plugin-uni';
 
-let target = 'http://91f.xyz:8080'
+// let target = 'http://91f.xyz:8080'
+let target = 'http://chi9fe.natappfree.cc'
 
 export default defineConfig({
 	plugins: [uni()],