Bläddra i källkod

update:1.更新商城首页,2.更新店铺首页

RuHu.Xu 4 månader sedan
förälder
incheckning
681ff10c37
100 ändrade filer med 1300 tillägg och 482 borttagningar
  1. 8 1
      locale/en.json
  2. 9 2
      locale/zh-Hans.json
  3. 101 51
      pages.json
  4. 2 0
      pages/goods/components/detail/detail-navbar.vue
  5. 31 29
      pages/goods/components/detail/detail-tabbar.vue
  6. 1 0
      pages/goods/index.vue
  7. 80 0
      pages/index/FirstActivity.vue
  8. 308 0
      pages/index/FirstIndex.vue
  9. 275 0
      pages/index/FirstList.vue
  10. 81 0
      pages/index/FirstVideo.vue
  11. 0 5
      pages/index/index.vue
  12. 2 1
      pages/order/confirm.vue
  13. 37 38
      pages/public/merchant.vue
  14. 1 0
      pages/public/richtext.vue
  15. 12 52
      pages/shop/index.vue
  16. 14 0
      sheep/api/promotion/article.js
  17. 13 0
      sheep/api/promotion/page.js
  18. 9 9
      sheep/components/s-auth-modal/components/register.vue
  19. 5 0
      sheep/components/s-image-banner/s-image-banner.vue
  20. 1 1
      sheep/components/s-signup-modal/s-signup-modal.vue
  21. 73 77
      sheep/components/s-tabbar/s-tabbar.vue
  22. 7 1
      sheep/ui/su-swiper/su-swiper.vue
  23. 3 2
      sheep/ui/su-tabbar-item/su-tabbar-item.vue
  24. 213 211
      sheep/ui/su-tabbar/su-tabbar.vue
  25. 1 0
      static/firstIndex/activity-active.svg
  26. 1 0
      static/firstIndex/activity.svg
  27. BIN
      static/firstIndex/clcg.png
  28. 1 0
      static/firstIndex/index-active.svg
  29. 1 0
      static/firstIndex/index.svg
  30. 1 0
      static/firstIndex/news.svg
  31. 0 0
      static/firstIndex/product.svg
  32. 1 0
      static/firstIndex/pt.svg
  33. 1 0
      static/firstIndex/shop-active.svg
  34. 1 0
      static/firstIndex/shop.svg
  35. 1 0
      static/firstIndex/video-active.svg
  36. 1 0
      static/firstIndex/video.svg
  37. BIN
      static/firstIndex/youjiantou.png
  38. 0 0
      unpackage/dist/build/web/assets/FirstIndex-e60eee37.css
  39. 1 0
      unpackage/dist/build/web/assets/FirstList-c8b4ee97.css
  40. BIN
      unpackage/dist/build/web/assets/clcg-1c6c4ac4.png
  41. 1 0
      unpackage/dist/build/web/assets/comment-item.0d901a55.js
  42. 0 1
      unpackage/dist/build/web/assets/comment-item.686bdbd0.js
  43. 0 0
      unpackage/dist/build/web/assets/confirm-cbd2066e.css
  44. 1 1
      unpackage/dist/build/web/assets/const.8355aac7.js
  45. 0 0
      unpackage/dist/build/web/assets/detail-content-card-80f7acd9.css
  46. 0 0
      unpackage/dist/build/web/assets/detail-content-card.42d398be.js
  47. 0 0
      unpackage/dist/build/web/assets/detail-content-card.9409f171.js
  48. 0 0
      unpackage/dist/build/web/assets/index-39e65128.js
  49. 0 0
      unpackage/dist/build/web/assets/index-6808c06f.css
  50. 0 0
      unpackage/dist/build/web/assets/md5.5e60b629.js
  51. 0 0
      unpackage/dist/build/web/assets/merchant-cb16c629.css
  52. 0 0
      unpackage/dist/build/web/assets/mp-html.5f061d5e.js
  53. 0 0
      unpackage/dist/build/web/assets/mp-html.f139a7b7.js
  54. 0 0
      unpackage/dist/build/web/assets/mp-html.vue_vue_type_style_index_0_scoped_35b639b7_lang.ff17c655.js
  55. 1 0
      unpackage/dist/build/web/assets/news-3fa84b05.svg
  56. 0 0
      unpackage/dist/build/web/assets/pages-activity-bargain-detail.af6b4f2b.js
  57. 0 0
      unpackage/dist/build/web/assets/pages-activity-bargain-detail.dac37cfb.js
  58. 0 0
      unpackage/dist/build/web/assets/pages-activity-bargain-list.61c3820d.js
  59. 0 0
      unpackage/dist/build/web/assets/pages-activity-bargain-list.97b0cf6e.js
  60. 0 0
      unpackage/dist/build/web/assets/pages-activity-groupon-detail.48c2c0cc.js
  61. 0 0
      unpackage/dist/build/web/assets/pages-activity-groupon-detail.d6d8f398.js
  62. 0 0
      unpackage/dist/build/web/assets/pages-activity-groupon-list.1aff20cf.js
  63. 0 0
      unpackage/dist/build/web/assets/pages-activity-groupon-list.33e68041.js
  64. 0 0
      unpackage/dist/build/web/assets/pages-activity-groupon-order.5f650c7d.js
  65. 0 0
      unpackage/dist/build/web/assets/pages-activity-groupon-order.a6f76877.js
  66. 0 0
      unpackage/dist/build/web/assets/pages-activity-index.1e234431.js
  67. 0 0
      unpackage/dist/build/web/assets/pages-activity-index.379c34b3.js
  68. 0 0
      unpackage/dist/build/web/assets/pages-activity-seckill-list.04d302cc.js
  69. 0 0
      unpackage/dist/build/web/assets/pages-activity-seckill-list.d83699fb.js
  70. 0 0
      unpackage/dist/build/web/assets/pages-app-sign.a2c0742a.js
  71. 0 0
      unpackage/dist/build/web/assets/pages-app-sign.d619c1bd.js
  72. 0 0
      unpackage/dist/build/web/assets/pages-chat-index.a237b954.js
  73. 0 0
      unpackage/dist/build/web/assets/pages-chat-speechtotext.7a1b340b.js
  74. 0 0
      unpackage/dist/build/web/assets/pages-chat-speechtotext.80251446.js
  75. 0 0
      unpackage/dist/build/web/assets/pages-commission-commission-ranking.2761a22f.js
  76. 0 0
      unpackage/dist/build/web/assets/pages-commission-commission-ranking.ecd8086f.js
  77. 0 0
      unpackage/dist/build/web/assets/pages-commission-goods.c2d8905c.js
  78. 0 0
      unpackage/dist/build/web/assets/pages-commission-goods.ee3248f8.js
  79. 0 0
      unpackage/dist/build/web/assets/pages-commission-index.48b65198.js
  80. 0 0
      unpackage/dist/build/web/assets/pages-commission-index.e033d5c7.js
  81. 0 0
      unpackage/dist/build/web/assets/pages-commission-order.246075c8.js
  82. 0 0
      unpackage/dist/build/web/assets/pages-commission-order.5b52f7b9.js
  83. 0 0
      unpackage/dist/build/web/assets/pages-commission-promoter.31b4fa85.js
  84. 0 0
      unpackage/dist/build/web/assets/pages-commission-promoter.cf8be3fb.js
  85. 0 0
      unpackage/dist/build/web/assets/pages-commission-team.9979e32e.js
  86. 0 0
      unpackage/dist/build/web/assets/pages-commission-team.e231578d.js
  87. 0 0
      unpackage/dist/build/web/assets/pages-commission-wallet.8cd6a5ae.js
  88. 0 0
      unpackage/dist/build/web/assets/pages-commission-wallet.d18c4cb5.js
  89. 0 0
      unpackage/dist/build/web/assets/pages-commission-withdraw.4db15dbf.js
  90. 0 0
      unpackage/dist/build/web/assets/pages-commission-withdraw.a33386a0.js
  91. 0 0
      unpackage/dist/build/web/assets/pages-coupon-detail.4c60fa5c.js
  92. 0 0
      unpackage/dist/build/web/assets/pages-coupon-detail.57c9f2b4.js
  93. 0 0
      unpackage/dist/build/web/assets/pages-coupon-list.2813cf8c.js
  94. 0 0
      unpackage/dist/build/web/assets/pages-coupon-list.f976ef01.js
  95. 0 0
      unpackage/dist/build/web/assets/pages-goods-comment-add.00b8ded9.js
  96. 0 0
      unpackage/dist/build/web/assets/pages-goods-comment-add.6e72cfac.js
  97. 0 0
      unpackage/dist/build/web/assets/pages-goods-comment-list.537049bc.js
  98. 0 0
      unpackage/dist/build/web/assets/pages-goods-comment-list.f3a6b8b2.js
  99. 0 0
      unpackage/dist/build/web/assets/pages-goods-groupon.4de3a636.js
  100. 0 0
      unpackage/dist/build/web/assets/pages-goods-groupon.7bfad891.js

+ 8 - 1
locale/en.json

@@ -224,7 +224,14 @@
 		"http_not_supported": "HTTP Version Not Supported",
 		"server_exception": "Server Exception",
 		"check_network_connection": "Check Your Network Connection",
-		"not_bound_wechat": "WeChat Not Bound, Please Bind First"
+		"not_bound_wechat": "WeChat Not Bound, Please Bind First",
+		"platform_intro": "Platform Intro",
+		"industry_intro": "Industry Intro",
+		"latest_news": "Latest News",
+		"shared_mall": "Shared Mall",
+		"activities": "Activities",
+		"videos": "Videos",
+		"mall": "Mall"
 	},
 	"account": {
 		"account_login": "Account Login",

+ 9 - 2
locale/zh-Hans.json

@@ -59,7 +59,7 @@
 	"title.commission_ranking": "佣金排行榜",
 	"title.apply_withdraw": "申请提现",
 	"title.check_in_center": "签到中心",
-	"title.shop_home": "店铺首页",
+	"title.shop_home": "店铺",
 	"title.system_settings": "系统设置",
 	"title.rich_text": "富文本",
 	"title.faq": "常见问题",
@@ -224,7 +224,14 @@
 		"http_not_supported": "HTTP 版本不受支持",
 		"server_exception": "服务器异常",
 		"check_network_connection": "请检查您的网络连接",
-		"not_bound_wechat": "您未绑定微信,请先绑定"
+		"not_bound_wechat": "您未绑定微信,请先绑定",
+		"platform_intro": "平台简介",
+		"industry_intro": "产业介绍",
+		"latest_news": "最新资讯",
+		"shared_mall": "共享商城",
+		"activities": "活动",
+		"videos": "视频",
+		"mall": "商城"
 	},
 	"account": {
 		"account_login": "账号登录",

+ 101 - 51
pages.json

@@ -7,10 +7,66 @@
 		}
 	},
 	"pages": [{
-			"path": "pages/index/index",
+			"path": "pages/index/FirstIndex",
 			"aliasPath": "/",
 			"style": {
-				"navigationBarTitleText":  "%title.home%",
+				"navigationBarTitleText": "%title.home%",
+				"enablePullDownRefresh": true
+			},
+			"meta": {
+				"auth": false,
+				"sync": true,
+				"title": "首页",
+				"group": "商城"
+			}
+		},
+		{
+			"path": "pages/index/FirstActivity",
+			// "aliasPath": "/index",
+			"style": {
+				"navigationBarTitleText": "%title.home%",
+				"enablePullDownRefresh": true
+			},
+			"meta": {
+				"auth": false,
+				"sync": true,
+				"title": "活动",
+				"group": "商城"
+			}
+		},
+		{
+			"path": "pages/index/FirstVideo",
+			// "aliasPath": "/index",
+			"style": {
+				"navigationBarTitleText": "%title.home%",
+				"enablePullDownRefresh": true
+			},
+			"meta": {
+				"auth": false,
+				"sync": true,
+				"title": "视频",
+				"group": "商城"
+			}
+		},
+		{
+			"path": "pages/index/FirstList",
+			// "aliasPath": "/index",
+			"style": {
+				"navigationBarTitleText": "%title.home%",
+				"enablePullDownRefresh": true
+			},
+			"meta": {
+				"auth": false,
+				"sync": true,
+				"title": "列表",
+				"group": "商城"
+			}
+		},
+		{
+			"path": "pages/index/index",
+			// "aliasPath": "/index",
+			"style": {
+				"navigationBarTitleText": "%title.home%",
 				"enablePullDownRefresh": true
 			},
 			"meta": {
@@ -243,11 +299,10 @@
 					}
 				},
 				{
-					"path" : "otherlist",
-					"style" : 
-					{
-						"navigationBarTitleText" : "",
-						"enablePullDownRefresh" : false
+					"path": "otherlist",
+					"style": {
+						"navigationBarTitleText": "",
+						"enablePullDownRefresh": false
 					}
 				}
 			]
@@ -440,7 +495,7 @@
 						"group": "用户中心"
 					}
 				},
-				
+
 				{
 					"path": "wallet/consumptionTransfers",
 					"style": {
@@ -519,7 +574,7 @@
 						"group": "用户中心"
 					}
 				}
-				
+
 			]
 		},
 		{
@@ -697,18 +752,16 @@
 					}
 				},
 				{
-					"path" : "merchant",
-					"style" : 
-					{
-						"navigationBarTitleText" : "",
-						"enablePullDownRefresh" : false
+					"path": "merchant",
+					"style": {
+						"navigationBarTitleText": "",
+						"enablePullDownRefresh": false
 					}
-				},{
-					"path" : "merchantApplyList",
-					"style" : 
-					{
-						"navigationBarTitleText" : "",
-						"enablePullDownRefresh" : false
+				}, {
+					"path": "merchantApplyList",
+					"style": {
+						"navigationBarTitleText": "",
+						"enablePullDownRefresh": false
 					}
 				}
 			]
@@ -743,31 +796,30 @@
 		{
 			"root": "pages/chat",
 			"pages": [{
-				"path": "index",
-				"style": {
-					"navigationBarTitleText": "客服"
+					"path": "index",
+					"style": {
+						"navigationBarTitleText": "客服"
+					},
+					"meta": {
+						"auth": true,
+						"sync": true,
+						"title": "客服",
+						"group": "客服"
+					}
 				},
-				"meta": {
-					"auth": true,
-					"sync": true,
-					"title": "客服",
-					"group": "客服"
-				}
-			},
-			{
-				"path" : "speechtotext",
-				"style" : 
 				{
-					"navigationBarTitleText" : "语音转文字",
-					"enablePullDownRefresh" : false
-				},
-				"meta": {
-					"auth": true,
-					"sync": true,
-					"title": "语音转文字",
-					"group": "语音转文字"
+					"path": "speechtotext",
+					"style": {
+						"navigationBarTitleText": "语音转文字",
+						"enablePullDownRefresh": false
+					},
+					"meta": {
+						"auth": true,
+						"sync": true,
+						"title": "语音转文字",
+						"group": "语音转文字"
+					}
 				}
-			}
 			]
 		},
 		{
@@ -914,17 +966,15 @@
 			}
 		]
 	},
-	"condition" : { //模式配置,仅开发期间生效
+	"condition": { //模式配置,仅开发期间生效
 		"current": 0, //当前激活的模式(list 的索引项)
-		"list": [
-			{
-				"name": "", //模式名称
-				"path": "", //启动页面,必选
-				"query": "" //启动参数,在页面的onLoad函数里面得到
-			}
-		]
+		"list": [{
+			"name": "", //模式名称
+			"path": "", //启动页面,必选
+			"query": "" //启动参数,在页面的onLoad函数里面得到
+		}]
 	},
-	"usingComponents":{
+	"usingComponents": {
 		"richtext": "@/pages/public/richtext"
 	}
 }

+ 2 - 0
pages/goods/components/detail/detail-navbar.vue

@@ -36,6 +36,7 @@
 						<view v-if="collectIcon"
 							class="detail-tabbar-item ss-flex ss-flex-col ss-row-center ss-col-center"
 							@tap="onFavorite">
+							
 							<block v-if="modelValue.favorite">
 								<image class="item-icon"
 									:src="sheep.$url.static('/static/images/collect_1.gif')" mode="aspectFit" />
@@ -129,6 +130,7 @@
 			default: true,
 		},
 	});
+	
 	const emits = defineEmits(['clickLeft']);
 	const hasHistory = sheep.$router.hasHistory();
 

+ 31 - 29
pages/goods/components/detail/detail-tabbar.vue

@@ -9,12 +9,12 @@
 						mode="aspectFit" />
 					<view class="item-title">{{$t('common.home')}}</view>
 				</view>
-				<!-- <view v-if="serviceIcon" class="detail-tabbar-item ss-flex ss-flex-col ss-row-center ss-col-center"
+				<view v-if="serviceIcon" class="detail-tabbar-item ss-flex ss-flex-col ss-row-center ss-col-center"
 					@tap="onShopIndex">
 					<image class="item-icon" src="@/static/icon/shop.png"
 						mode="aspectFit" />
-					<view class="item-title">店铺</view>
-				</view> -->
+					<view class="item-title">{{$t('title.shop_home')}}</view>
+				</view>
 				<!-- <view v-if="serviceIcon" class="detail-tabbar-item ss-flex ss-flex-col ss-row-center ss-col-center"
 					@tap="onChat">
 					<image class="item-icon" src="@/static/icon/service.png"
@@ -26,7 +26,7 @@
 					@tap="sheep.$router.go('/pages/index/cart');">
 					<image class="item-icon" src="@/static/icon/cart.png"
 						mode="aspectFit" />
-					<view class="item-title">{{$t('common.buy_now')}}</view>
+					<view class="item-title">{{$t('common.cart')}}</view>
 				</view>
 				<slot></slot>
 			</view>
@@ -94,35 +94,37 @@
 		shareIcon: {
 			type: Boolean,
 			default: true,
-		},
+		}
 	});
 
-	async function onFavorite() {
-		// 情况一:取消收藏
-		if (props.modelValue.favorite) {
-			const {
-				code
-			} = await FavoriteApi.deleteFavorite(props.modelValue.id);
-			if (code !== 0) {
-				return
-			}
-			sheep.$helper.toast('取消收藏');
-			props.modelValue.favorite = false;
-			// 情况二:添加收藏
-		} else {
-			const {
-				code
-			} = await FavoriteApi.createFavorite(props.modelValue.id);
-			if (code !== 0) {
-				return
-			}
-			sheep.$helper.toast('收藏成功');
-			props.modelValue.favorite = true;
-		}
-	}
+	// async function onFavorite() {
+	// 	// 情况一:取消收藏
+	// 	if (props.modelValue.favorite) {
+	// 		const {
+	// 			code
+	// 		} = await FavoriteApi.deleteFavorite(props.modelValue.id);
+	// 		if (code !== 0) {
+	// 			return
+	// 		}
+	// 		sheep.$helper.toast('取消收藏');
+	// 		props.modelValue.favorite = false;
+	// 		// 情况二:添加收藏
+	// 	} else {
+	// 		const {
+	// 			code
+	// 		} = await FavoriteApi.createFavorite(props.modelValue.id);
+	// 		if (code !== 0) {
+	// 			return
+	// 		}
+	// 		sheep.$helper.toast('收藏成功');
+	// 		props.modelValue.favorite = true;
+	// 	}
+	// }
 	const onShopIndex = () => {
 		sheep.$router.go('/pages/shop/index', {
-			id: props.modelValue.id,
+			shopId: props.modelValue.shopId,
+			shopName: props.modelValue.shopName,
+			merchantId: props.modelValue.merchantId,
 		});
 	};
 	const onChat = () => {

+ 1 - 0
pages/goods/index.vue

@@ -3,6 +3,7 @@
 		<s-layout :onShareAppMessage="shareInfo" navbar="goods">
 			<!-- 标题栏 -->
 			<detailNavbar v-model="state.goodsInfo" />
+			
 			<!-- 骨架屏 -->
 			<detailSkeleton v-if="state.skeletonLoading" />
 			<!-- 下架/售罄提醒 -->

+ 80 - 0
pages/index/FirstActivity.vue

@@ -0,0 +1,80 @@
+<!-- 商城宣传页,活动 -->
+<template>
+	<view class="page-body"  style="background: #f6f6f6;">
+		<FirstList :categoryId="9" type="activityCard" />
+		
+		<s-tabbar path="/pages/index/FirstActivity" :tabbar="tabbar" />
+	</view>
+
+
+</template>
+
+<script setup>
+	import {
+		computed,
+		ref,
+		reactive
+	} from 'vue';
+	import {
+		onLoad,
+		onShow,
+		onReachBottom,
+		onPullDownRefresh
+	} from '@dcloudio/uni-app';
+	import sheep from '@/sheep';
+	
+	import { t } from '@/locale'
+	import ArticleApi from '@/sheep/api/promotion/article';
+	import FirstList from './FirstList.vue'
+	// 隐藏原生tabBar
+	uni.hideTabBar();
+	
+
+	const tabbar = ref({
+		"theme": "red",
+		"style": {
+			"bgType": "color",
+			"bgColor": "#323b4e",
+			"color": "#e6e6e5",
+			"activeColor": "#1fa380"
+		},
+		"items": [{
+				"text": t('common.home'),
+				"url": "/pages/index/FirstIndex",
+				"iconUrl": sheep.$url.static('/static/firstIndex/index.svg'),
+				"activeIconUrl": sheep.$url.static('/static/firstIndex/index-active.svg')
+			},
+			{
+				"text": t('common.activities'),
+				"url": "/pages/index/FirstActivity",
+				"iconUrl": sheep.$url.static('/static/firstIndex/activity.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/activity-active.svg')
+			},
+			{
+				"text": t('common.videos'),
+				"url": "/pages/index/FirstVideo",
+				"iconUrl":  sheep.$url.static('/static/firstIndex/video.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/video-active.svg')
+			},
+			{
+				"text": t('common.mall'),
+				"url": "/pages/index/index",
+				"iconUrl": sheep.$url.static('/static/firstIndex/shop.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/shop-active.svg')
+			}
+		]
+	});
+	
+	// 上拉加载更多
+	onReachBottom(() => {
+	
+	});
+	// 下拉刷新
+	onPullDownRefresh(() => {
+		
+		setTimeout(function() {
+			uni.stopPullDownRefresh();
+		}, 800);
+	});
+</script>
+

+ 308 - 0
pages/index/FirstIndex.vue

@@ -0,0 +1,308 @@
+<!-- 商城新首页,即宣传页 -->
+<template>
+	<view class="page-body" style="background: #111521;">
+		<view class="header">
+			<view class="logo">
+				<image class="" src="@/static/firstIndex/clcg.png" mode="aspectFit"></image>
+			</view>
+			<view class="language">
+
+			</view>
+		</view>
+		<!-- 轮播 -->
+		<s-image-banner :data="lunbo" :styles="styles" class="lunbo" height="300" />
+		<!--  @click="sheep.$router.go('/pages/public/richtext', {title:gonggao.title});" -->
+		<view class="gonggao">
+			<view class="gonggao-item">
+				使命:共建平台,共创价值,共享利益。
+			</view>
+			<view class="gonggao-item">
+				愿景:引领共享电商,三方共赢,推动创新。
+			</view>
+			<view class="gonggao-item">
+				价值观:产品为王、诚信透明、共创共享共赢
+			</view>
+		</view>
+		<view class="nav">
+			<view class="card" @click="sheep.$router.go('/pages/public/richtext', {title:state.ptjj.title});">
+				<image src="@/static/firstIndex/pt.svg" mode="aspectFit" />
+				{{ t('common.platform_intro') }}
+			</view>
+			<view class="card" @click="sheep.$router.go('/pages/public/richtext', {title:state.cyjs.title});">
+				<image src="@/static/firstIndex/product.svg" mode="aspectFit" />
+				{{ t('common.industry_intro') }}
+			</view>
+			<view class="card" @click="sheep.$router.go('/pages/index/FirstList', {categoryId:11});">
+				<image src="@/static/firstIndex/news.svg" mode="aspectFit" />
+				{{ t('common.latest_news') }}
+			</view>
+			<view class="card" @click="sheep.$router.go('/pages/index/index')">
+				<image src="@/static/firstIndex/shop.svg" mode="aspectFit" />
+				{{ t('common.shared_mall') }}
+			</view>
+		</view>
+		<view class="news" :style="{ backgroundImage: `url(${state.xwdt.image})` }" style="background-size: cover;"
+			@click="sheep.$router.go('/pages/public/richtext', {title:state.xwdt.title});">
+			<view class="news-bottom">
+				<text>{{state.xwdt.title}}</text>
+				<view  @click="sheep.$router.go('/pages/index/FirstList', {categoryId:6});">
+					<image src="@/static/firstIndex/youjiantou.png" mode="aspectFit" />
+				</view>
+			</view>
+
+		</view>
+		<s-tabbar path="/pages/index/FirstIndex" :tabbar="tabbar" />
+	</view>
+
+
+</template>
+
+<script setup>
+	import {
+		computed,
+		ref
+	} from 'vue';
+	import {
+		onLoad,
+		onPageScroll,
+		onPullDownRefresh
+	} from '@dcloudio/uni-app';
+	import sheep from '@/sheep';
+	import $share from '@/sheep/platform/share';
+	import {
+		isAndroid,
+		getAndroidJiGuangId
+	} from '@/sheep/hooks/useApp'
+	import {
+		showWalletModal,
+		colseWalletModal
+	} from '@/sheep/hooks/useModal';
+	import ArticleApi from '@/sheep/api/promotion/article';
+	import Richtext from '@/pages/public/richtext.vue'
+	import {
+		t
+	} from '@/locale'
+	// 隐藏原生tabBar
+	uni.hideTabBar();
+	const appInfo = computed(() => sheep.$store('app').info);
+	const {
+		safeArea
+	} = sheep.$platform.device;
+	const pageHeight = computed(() => safeArea.height - 45);
+	const tabbar = ref({
+		"theme": "red",
+		"style": {
+			"bgType": "color",
+			"bgColor": "#323b4e",
+			"color": "#e6e6e5",
+			"activeColor": "#1fa380"
+		},
+		"items": [{
+				"text": t('common.home'),
+				"url": "/pages/index/FirstIndex",
+				"iconUrl": sheep.$url.static('/static/firstIndex/index.svg'),
+				"activeIconUrl": sheep.$url.static('/static/firstIndex/index-active.svg')
+			},
+			{
+				"text": t('common.activities'),
+				"url": "/pages/index/FirstActivity",
+				"iconUrl": sheep.$url.static('/static/firstIndex/activity.svg'),
+				"activeIconUrl": sheep.$url.static('/static/firstIndex/activity-active.svg')
+			},
+			{
+				"text": t('common.videos'),
+				"url": "/pages/index/FirstVideo",
+				"iconUrl": sheep.$url.static('/static/firstIndex/video.svg'),
+				"activeIconUrl": sheep.$url.static('/static/firstIndex/video-active.svg')
+			},
+			{
+				"text": t('common.mall'),
+				"url": "/pages/index/index",
+				"iconUrl": sheep.$url.static('/static/firstIndex/shop.svg'),
+				"activeIconUrl": sheep.$url.static('/static/firstIndex/shop-active.svg')
+			}
+		]
+	});
+
+	const lunbo = ref({
+		"type": "default",
+		"indicator": "dot",
+		"autoplay": false,
+		"interval": 3,
+		"items": [],
+		"style": {
+			"bgType": "color",
+			"bgColor": "#fff",
+			"marginBottom": 8
+		}
+	})
+	const gonggao = ref({
+		text: '',
+		title: ''
+	})
+	const state = ref({
+		ptjj: {
+			title: '',
+		},
+		cyjs: {
+			title: '',
+		},
+		xwdt: {
+			title: '',
+			image: ''
+		}
+	})
+	onLoad(async () => {
+		const {
+			code,
+			data
+		} = await ArticleApi.getHomeList();
+		console.log(data)
+		// 更新lunbo.items
+		lunbo.value.items = data.slideshowArticleList.map(article => ({
+			type: 'img',
+			imgUrl: article.picUrl,
+			url: '/pages/public/richtext',
+			urlParams: {
+				title: article.title
+			},
+			videoUrl: '',
+			title: article.title
+		}));
+		gonggao.value.text = data.announcement.content;
+		gonggao.value.title = data.announcement.title;
+		state.value.ptjj.title = data.ptBriefIntroduction.title;
+		state.value.cyjs.title = data.industryIntroduction.title;
+		state.value.xwdt.title = data.dynamicNews.title;
+		state.value.xwdt.image = data.dynamicNews.picUrl;
+	});
+</script>
+
+<style>
+	.page-body {
+		width: 100%;
+		position: relative;
+		z-index: 1;
+		flex: 1;
+
+		.header {
+			width: 90%;
+			margin: 0 auto;
+			padding: 20rpx 0;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+
+			.logo {
+				display: flex;
+				align-items: center;
+				color: #fff;
+
+				image {
+					width: 220rpx;
+					height: 100rpx;
+
+				}
+			}
+
+
+		}
+
+		.lunbo {
+			margin-bottom: 40rpx;
+
+		}
+
+		.gonggao,
+		.nav,
+		.news {
+			width: 85%;
+			margin: 0 auto;
+			color: #fff;
+			margin-bottom: 40rpx;
+		}
+
+		.gonggao {
+			/* height: 120rpx; */
+			overflow: hidden;
+
+			.gonggao-item {
+				width: 100%;
+				display: flex;
+				align-items: center;
+				margin-bottom: 15rpx;
+				white-space: nowrap;
+				overflow: hidden;
+				text-overflow: ellipsis;
+			}
+			.gonggao-item:last-child {
+				margin-bottom: 0;
+			}
+
+			.gonggao-item::before {
+				content: "";
+				display: block;
+				width: 10rpx;
+				height: 10rpx;
+				background: #fff;
+				border-radius: 50%;
+				margin-right: 10rpx;
+			}
+		}
+
+		.nav {
+			display: grid;
+			grid-template-columns: repeat(2, 1fr);
+			grid-gap: 40rpx 80rpx;
+
+			.card {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				padding: 15px;
+				border-radius: 10px;
+				background-color: #333b4e;
+				flex-direction: column;
+
+				image {
+					width: 80rpx;
+					height: 80rpx;
+					margin-bottom: 10rpx;
+				}
+			}
+		}
+
+		.news {
+			height: 300rpx;
+			position: relative;
+			border: 1px solid rgba(0, 0, 0, 0.5);
+
+			.news-bottom {
+				position: absolute;
+				bottom: 0;
+				left: 0;
+				width: 100%;
+				height: 50rpx;
+				background: rgba(0, 0, 0, 0.5);
+				padding: 10rpx;
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				text {
+					white-space: nowrap;
+					overflow: hidden;
+					text-overflow: ellipsis;
+				}
+
+				;
+
+				image {
+					width: 20rpx;
+					height: 20rpx;
+				}
+			}
+		}
+	}
+</style>

+ 275 - 0
pages/index/FirstList.vue

@@ -0,0 +1,275 @@
+<!-- 商城宣传页,列表页 -->
+<template>
+	<view class="page-body"  style="background: #f6f6f6;">
+		<s-empty v-if="state.pagination.total === 0" icon="/static/data-empty.png" :text="t('common.no_data')" />
+		<view v-if="state.pagination.total > 0 && type == 'articleCard'">
+			<view class="article ss-r-10" v-for="item in state.pagination.list"   @click="sheep.$router.go('/pages/public/richtext', {title:item.title});">
+				<view class="title" >
+					{{item.title}}
+				</view>
+				<view class="content">
+					<view class="image " v-if="item.picUrl.trim()">
+						<image :src="item.picUrl"  mode="aspectFit"  class="image-content"></image>
+					</view>
+					<view class="desc" >
+						{{item.introduction}}
+					</view>
+				</view>
+			</view>
+		</view>
+		<view v-if="state.pagination.total > 0 && type == 'activityCard'">
+			<view class="activity ss-r-10" v-for="item in state.pagination.list" :style="{ backgroundImage: `url(${item.picUrl})` }"  @click="sheep.$router.go('/pages/public/richtext', {title:item.title});">
+				<view class="activity-bottom">
+					<text>{{item.title}}</text>
+					<view class=""><image src="@/static/firstIndex/youjiantou.png" mode="aspectFit" /></view>
+				</view>
+			
+			</view>
+		</view>
+		<uni-load-more v-if="state.pagination.total > 0" :status="state.loadStatus" :content-text="{ contentdown: '上拉加载更多'}" @tap="loadmore" />
+		
+		<s-tabbar path="/pages/index/FirstIndex" :tabbar="tabbar" />
+	</view>
+
+
+</template>
+
+<script setup>
+	import {
+		computed,
+		ref,
+		reactive
+	} from 'vue';
+	import {
+		onLoad,
+		onShow,
+		onReachBottom,
+		onPullDownRefresh
+	} from '@dcloudio/uni-app';
+	import sheep from '@/sheep';
+	import $share from '@/sheep/platform/share';
+	import _ from 'lodash';
+	import {
+		isAndroid,
+		getAndroidJiGuangId
+	} from '@/sheep/hooks/useApp'
+	import {
+		showWalletModal,
+		colseWalletModal
+	} from '@/sheep/hooks/useModal';
+	import { t } from '@/locale'
+	import ArticleApi from '@/sheep/api/promotion/article';
+	// 隐藏原生tabBar
+	uni.hideTabBar();
+	const appInfo = computed(() => sheep.$store('app').info);
+	const {
+		safeArea
+	} = sheep.$platform.device;
+	const pageHeight = computed(() => safeArea.height - 45);
+	const props = defineProps({
+		// 是否显示tabbar
+		tabbar: {
+			type: Boolean,
+			default: true
+		},
+		// 是否显示tabbar
+		categoryId: {
+			type: Number,
+			default: 0
+		},
+		type:{
+			type:String,
+			default:'articleCard'
+		}
+	});
+	
+	const tabbar = ref({
+		"theme": "red",
+		"style": {
+			"bgType": "color",
+			"bgColor": "#323b4e",
+			"color": "#e6e6e5",
+			"activeColor": "#1fa380"
+		},
+		"items": [{
+				"text": t('common.home'),
+				"url": "/pages/index/FirstIndex",
+				"iconUrl": sheep.$url.static('/static/firstIndex/index.svg'),
+				"activeIconUrl": sheep.$url.static('/static/firstIndex/index-active.svg')
+			},
+			{
+				"text": t('common.activities'),
+				"url": "/pages/index/FirstActivity",
+				"iconUrl": sheep.$url.static('/static/firstIndex/activity.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/activity-active.svg')
+			},
+			{
+				"text": t('common.videos'),
+				"url": "/pages/index/FirstVideo",
+				"iconUrl":  sheep.$url.static('/static/firstIndex/video.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/video-active.svg')
+			},
+			{
+				"text": t('common.mall'),
+				"url": "/pages/index/index",
+				"iconUrl": sheep.$url.static('/static/firstIndex/shop.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/shop-active.svg')
+			}
+		]
+	});
+	
+	// 数据
+	const state = reactive({
+		categoryId: 0,
+		pagination: {
+			list: [],
+			current_page: 1,
+			total: 1,
+			last_page: 1,
+		},
+		loadStatus: ''
+	});
+	async function getArticleList(page = 1, list_rows = 5) {
+		state.loadStatus = 'loading';
+		let { code, data } = await ArticleApi.getArticleByCategory({pageNo: page,pageSize: list_rows,categoryId: state.categoryId});
+		if (code !== 0) {
+			return;
+		}
+		let articleList = _.concat(state.pagination.list, data.list);
+		state.pagination.list = articleList
+		state.pagination.total = data.total;
+		state.pagination.last_page = Math.ceil(data.total / 5)
+		if (state.pagination.current_page < state.pagination.last_page) {
+			state.loadStatus = 'more';
+		} else {
+			state.loadStatus = 'noMore';
+		}
+	
+	}
+	// 加载更多
+	function loadMore() {
+		if (state.loadStatus !== 'noMore') {
+			state.pagination.current_page += 1
+			getArticleList(state.pagination.current_page);
+		}
+	}
+	onLoad(async (option) => {
+		if(option && option.categoryId){
+			state.categoryId = option.categoryId
+		}else{
+			state.categoryId = props.categoryId
+		}
+		await getArticleList();
+	});
+	// 上拉加载更多
+	onReachBottom(() => {
+		loadMore();
+	});
+	// 下拉刷新
+	onPullDownRefresh(() => {
+		state.pagination.list = []
+		state.pagination.current_page = 1
+		state.pagination.total = 1
+		state.pagination.last_page = 1
+		getArticleList();
+		setTimeout(function() {
+			uni.stopPullDownRefresh();
+		}, 800);
+	});
+</script>
+
+<style scoped>
+	.page-body {
+		width: 100%;
+		position: relative;
+		z-index: 1;
+		flex: 1;
+		padding-top:40rpx;
+		box-sizing:border-box;
+
+		.article {
+			padding:16rpx;
+			height: 170rpx;
+			position: relative;
+			width: 90%;
+			margin: 0 auto;
+			color:#000;
+			margin-bottom: 40rpx;
+			background-repeat: no-repeat;
+			background-size: 100%;
+			background-position: center;
+			background-color: #fff;
+			overflow: hidden;
+			.title {
+			  font-size: 34rpx;
+			  /* font-weight: bold; */
+			  margin-bottom: 8px;
+			}
+			.content {
+			  display: flex;
+			  flex-direction: row;
+			}
+			.image {
+			  width: 200rpx;
+			  height: 113rpx;
+			  margin-right: 16rpx;
+			}
+			
+			.image-content {
+			  width: 100%;
+			  height: 100%;
+			  border-radius: 8rpx;
+			}
+			
+			.desc {
+			  flex: 1;
+			  font-size: 28rpx;
+			  color: #333;
+			  line-height: 1.3;
+			  overflow: hidden;
+			  display: -webkit-box;
+			  -webkit-box-orient: vertical;
+			  -webkit-line-clamp: 3;
+			  text-overflow: ellipsis;
+			}
+		}
+		
+		.activity {
+			height: 300rpx;
+			position: relative;
+			width: 90%;
+			margin: 0 auto;
+			color:#fff;
+			margin-bottom: 40rpx;
+			background-repeat: no-repeat;
+			background-size: 100%;
+			background-position: center;
+			background-color: #fff;
+			overflow: hidden;
+			.activity-bottom{
+				position: absolute;
+				bottom: 0;
+				left: 0;
+				width: 100%;
+				height: 50rpx;
+				background: rgba(0,0,0,0.5);
+				padding:10rpx;
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				
+				text{
+					white-space: nowrap;
+					overflow: hidden;
+					text-overflow: ellipsis;
+				};
+				image{
+					width: 20rpx;
+					height: 20rpx;
+				}
+			}
+		}
+	}
+	
+</style>

+ 81 - 0
pages/index/FirstVideo.vue

@@ -0,0 +1,81 @@
+<!-- 商城宣传页,活动 -->
+<template>
+	<view class="page-body"  style="background: #f6f6f6;">
+		<FirstList :categoryId="10" type="articleCard" />
+
+		<s-tabbar path="/pages/index/FirstVideo" :tabbar="tabbar" />
+	</view>
+
+
+</template>
+
+<script setup>
+	import {
+		computed,
+		ref,
+		reactive
+	} from 'vue';
+	import {
+		onLoad,
+		onShow,
+		onReachBottom,
+		onPullDownRefresh
+	} from '@dcloudio/uni-app';
+	import sheep from '@/sheep';
+	import { t } from '@/locale'
+	import ArticleApi from '@/sheep/api/promotion/article';
+	import FirstList from './FirstList.vue'
+	// 隐藏原生tabBar
+	uni.hideTabBar();
+
+	const tabbar = ref({
+		"theme": "red",
+		"style": {
+			"bgType": "color",
+			"bgColor": "#323b4e",
+			"color": "#e6e6e5",
+			"activeColor": "#1fa380"
+		},
+		"items": [{
+				"text": t('common.home'),
+				"url": "/pages/index/FirstIndex",
+				"iconUrl": sheep.$url.static('/static/firstIndex/index.svg'),
+				"activeIconUrl": sheep.$url.static('/static/firstIndex/index-active.svg')
+			},
+			{
+				"text": t('common.activities'),
+				"url": "/pages/index/FirstActivity",
+				"iconUrl": sheep.$url.static('/static/firstIndex/activity.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/activity-active.svg')
+			},
+			{
+				"text": t('common.videos'),
+				"url": "/pages/index/FirstVideo",
+				"iconUrl":  sheep.$url.static('/static/firstIndex/video.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/video-active.svg')
+			},
+			{
+				"text": t('common.mall'),
+				"url": "/pages/index/index",
+				"iconUrl": sheep.$url.static('/static/firstIndex/shop.svg'),
+				"activeIconUrl":  sheep.$url.static('/static/firstIndex/shop-active.svg')
+			}
+		]
+	});
+		
+	// 上拉加载更多
+	onReachBottom(() => {
+	
+	});
+	// 下拉刷新
+	onPullDownRefresh(() => {
+		
+		setTimeout(function() {
+			uni.stopPullDownRefresh();
+		}, 800);
+	});
+</script>
+
+<style scoped>
+	
+</style>

+ 0 - 5
pages/index/index.vue

@@ -1,8 +1,6 @@
 <!-- 商城首页,支持店铺装修 -->
 <template>
 	<view v-if="template">
-		<!--{{android}} 
-		{{androidJiGuangId}} -->
 		<s-layout :title="$t('common.home')" navbar="custom" tabbar="/pages/index/index" :bgStyle="template.page"
 			:navbarStyle="template.style?.navbar" onShareAppMessage>
 			<s-block v-for="(item, index) in template.components" :key="index" :styles="item.property.style">
@@ -34,10 +32,7 @@
 	
 	
 	const template = computed(() => sheep.$store('app').template?.home);
-	// const android = computed(() => isAndroid());
-	// const androidJiGuangId = computed(() => getAndroidJiGuangId());
 	
-	// const ios = computed(() => ());
 	
 	// const identifier = window.Android && window.Android.getIdentifier();
 	// 在此处拦截改变一下首页轮播图 此处先写死后期复活 放到启动函数里

+ 2 - 1
pages/order/confirm.vue

@@ -118,8 +118,9 @@
 						<view class="ss-flex ss-col-center" @tap="state.showConsumptionPoints = true">
 							<!-- <text class="item-value text-red">
 				</text> -->
+				
 							<text class="item-value" :class="state.usedConsumptionPoints > 0 ? 'text-red' : 'text-disabled'">
-								{{ state.usedConsumptionPoints > 0 ?  t('confirm.deduction',{count:state.usedPoint}) : t('confirm.no_consumption_points') }}
+								{{ state.usedConsumptionPoints > 0 ?  t('confirm.deduction',{count:state.usedConsumptionPoints}) : t('confirm.no_consumption_points') }}
 							</text>
 							<text class="_icon-forward item-icon" />
 						</view>

+ 37 - 38
pages/public/merchant.vue

@@ -233,12 +233,12 @@
 					errorMessage: t('merchant.merchant_name_required'),
 				}, ],
 			},
-			description: {
-				rules: [{
-					required: true,
-					errorMessage: t('merchant.introduction_required'),
-				}, ],
-			},
+			// description: {
+			// 	rules: [{
+			// 		required: true,
+			// 		errorMessage: t('merchant.introduction_required'),
+			// 	}, ],
+			// },
 			contact: {
 				rules: [{
 					required: true,
@@ -251,26 +251,25 @@
 					errorMessage: t('merchant.contact_phone_required'),
 				}, ],
 			},
-
-			customerServiceHotline: {
-				rules: [{
-					required: true,
-					errorMessage:  t('merchant.customer_service_phone_required'),
-				}, ],
-			},
-			email,
-			legalPerson: {
-				rules: [{
-					required: true,
-					errorMessage: t('merchant.legal_person_required'),
-				}, ],
-			},
-			legalPersonNumber: {
-				rules: [{
-					required: true,
-					errorMessage:  t('merchant.legal_person_phone_required'),
-				}, ],
-			},
+			// customerServiceHotline: {
+			// 	rules: [{
+			// 		required: true,
+			// 		errorMessage:  t('merchant.customer_service_phone_required'),
+			// 	}, ],
+			// },
+			// email,
+			// legalPerson: {
+			// 	rules: [{
+			// 		required: true,
+			// 		errorMessage: t('merchant.legal_person_required'),
+			// 	}, ],
+			// },
+			// legalPersonNumber: {
+			// 	rules: [{
+			// 		required: true,
+			// 		errorMessage:  t('merchant.legal_person_phone_required'),
+			// 	}, ],
+			// },
 			accountName: {
 				rules: [{
 					required: true,
@@ -344,18 +343,18 @@
 		if (!validate) {
 			return;
 		}
-		if (!state.model.areaId) {
-			state.areaIdError = t('merchant.select_location');
-			return;
-		}
-		if (!state.model.identityCardFront) {
-			state.identityCardFrontError = t('merchant.select_legal_person_id_front');
-			return;
-		}
-		if (!state.model.identityCardReverseSide) {
-			state.identityCardReverseSideError = t('merchant.select_legal_person_id_back');
-			return;
-		}
+		// if (!state.model.areaId) {
+		// 	state.areaIdError = t('merchant.select_location');
+		// 	return;
+		// }
+		// if (!state.model.identityCardFront) {
+		// 	state.identityCardFrontError = t('merchant.select_legal_person_id_front');
+		// 	return;
+		// }
+		// if (!state.model.identityCardReverseSide) {
+		// 	state.identityCardReverseSideError = t('merchant.select_legal_person_id_back');
+		// 	return;
+		// }
 		if (!state.model.businessLicensePicture) {
 			state.businessLicensePictureError = t('merchant.upload_business_license');
 			return;

+ 1 - 0
pages/public/richtext.vue

@@ -21,6 +21,7 @@
   });
 
   async function getRichTextContent(id, title) {
+	  console.log(id,title)
     const { code, data } = await ArticleApi.getArticle(id, title);
     if (code !== 0) {
       return;

+ 12 - 52
pages/shop/index.vue

@@ -1,7 +1,7 @@
 <!-- 店铺首页,支持店铺装修 -->
 <template>
 	<view v-if="template">
-		<s-layout title="xxx店" navbar="normal" tabbar="/pages/index/index" :bgStyle="template.page"
+		<s-layout :title="shopName" navbar="normal"  :bgStyle="template.page"
 			:navbarStyle="template.style?.navbar" onShareAppMessage >
 			<s-block v-for="(item, index) in template.components" :key="index" :styles="item.property.style">
 				
@@ -13,7 +13,8 @@
 
 <script setup>
 	import {
-		computed
+		computed,
+		ref
 	} from 'vue';
 	import {
 		onLoad,
@@ -22,58 +23,12 @@
 	} from '@dcloudio/uni-app';
 	import sheep from '@/sheep';
 	import $share from '@/sheep/platform/share';
+	import PageApi from '@/sheep/api/promotion/page';
 	// 隐藏原生tabBar
 	uni.hideTabBar();
 
-	const template = {
-	"page": {
-		"description": "",
-		"backgroundColor": "#f5f5f5",
-		"backgroundImage": ""
-	},
-	"navigationBar": {
-		"title": "页面标题",
-		"description": "",
-		"navBarHeight": 35,
-		"backgroundColor": "#fff",
-		"backgroundImage": "",
-		"styleType": "default",
-		"alwaysShow": true,
-		"showGoBack": true
-	},
-	"components": [{
-		"id": "SearchBar",
-		"property": {
-			"height": 28,
-			"showScan": false,
-			"borderRadius": 0,
-			"placeholder": "搜索商品",
-			"placeholderPosition": "left",
-			"backgroundColor": "rgb(238, 238, 238)",
-			"textColor": "rgb(150, 151, 153)",
-			"hotKeywords": [],
-			"style": {
-				"bgType": "color",
-				"bgColor": "#fff",
-				"marginBottom": 8,
-				"paddingTop": 8,
-				"paddingRight": 8,
-				"paddingBottom": 8,
-				"paddingLeft": 8
-			}
-		}
-	}, {
-		"id": "UserCard",
-		"property": {
-			"style": {
-				"bgType": "color",
-				"bgColor": "",
-				"marginBottom": 8
-			}
-		}
-	}]
-}
-
+	const template = ref({})
+	const shopName = ref('')
 	// 在此处拦截改变一下首页轮播图 此处先写死后期复活 放到启动函数里
 	// (async function() {
 		// console.log('原代码首页定制化数据',template)
@@ -97,7 +52,8 @@
 	// }())
 
 
-	onLoad((options) => {
+	onLoad(async(options) => {
+		shopName.value = options.shopName
 		// #ifdef MP
 		// 小程序识别二维码
 		if (options.scene) {
@@ -120,6 +76,10 @@
 		if (options.page) {
 			sheep.$router.go(decodeURIComponent(options.page));
 		}
+		
+		const { code,data } = await PageApi.getPage({shopId:options.shopId,merchantId:options.merchantId});
+		console.log(data)
+		template.value = data.property
 	});
 
 

+ 14 - 0
sheep/api/promotion/article.js

@@ -8,5 +8,19 @@ export default {
             method: 'GET',
             params: { id, title }
         });
+    },
+    // 获得文章列表
+    getHomeList: () => {
+        return request({
+            url: '/promotion/article/getHomeInfo',
+            method: 'GET'
+        });
+    },
+	getArticleByCategory: (params) => {
+        return request({
+            url: '/promotion/article/page',
+            method: 'GET',
+            params
+        });
     }
 }

+ 13 - 0
sheep/api/promotion/page.js

@@ -0,0 +1,13 @@
+import request from '@/sheep/request';
+
+export default {
+    // 获得页面
+    getPage: (params) => {
+        return request({
+            url: '/promotion/diy-page/get',
+            method: 'GET',
+            params
+        });
+    },
+    
+}

+ 9 - 9
sheep/components/s-auth-modal/components/register.vue

@@ -108,7 +108,7 @@
 			state.usernameErrorMsg = ''
 			state.verifyUsername = data
 		}else {
-			state.usernameErrorMsg = '已存在用户名!'
+			state.usernameErrorMsg = t('account.username_exists')
 			state.verifyUsername = data
 		}
 	}
@@ -127,18 +127,18 @@
 		if (!props.agreeStatus) {
 			emits('onConfirm', true)
 			//onConfirm(true)
-			sheep.$helper.toast('请勾选同意');
+			sheep.$helper.toast(t('account.please_agree'));
 			return;
 		}
 		
 		// 看缓存中有没有linkId 如果有的话 加入model传给后台 即为绑定
-		const linkId = uni.getStorageSync("linkId")
-		if (linkId) {
-			state.model.linkId = linkId
-		}else{
-			sheep.$helper.toast('您只能通过分享注册');
-			return false;
-		}
+		// const linkId = uni.getStorageSync("linkId")
+		// if (linkId) {
+		// 	state.model.linkId = linkId
+		// }else{
+		// 	sheep.$helper.toast('您只能通过分享注册');
+		// 	return false;
+		// }
 		// 提交数据
 		const {
 			code

+ 5 - 0
sheep/components/s-image-banner/s-image-banner.vue

@@ -9,6 +9,8 @@
     :autoplay="data.autoplay"
     :interval="data.interval * 1000"
     :mode="data.type"
+	:height="height"
+
   />
 </template>
 
@@ -25,6 +27,9 @@
     styles: {
       type: Object,
       default: () => ({}),
+    },
+	height: {
+      type: Number,
     },
   });
 

+ 1 - 1
sheep/components/s-signup-modal/s-signup-modal.vue

@@ -16,7 +16,7 @@
 			</view>
 			<view class="model-bg ss-flex-col ss-col-center ss-row-right">
 				<view class="ss-m-b-40">
-					<button class="ss-reset-button confirm-btn" @tap="colseSignUpModal();">{{ t('common.cancel') }}</button>
+					<button class="ss-reset-button confirm-btn" @tap="colseSignUpModal();">{{ t('common.confirm') }}</button>
 				</view>
 			</view>
 		</view>

+ 73 - 77
sheep/components/s-tabbar/s-tabbar.vue

@@ -1,90 +1,86 @@
 <template>
-  <view class="u-page__item" v-if="tabbar?.items?.length > 0">
-    <su-tabbar
-      :value="path"
-      :fixed="true"
-      :placeholder="true"
-      :safeAreaInsetBottom="true"
-      :inactiveColor="tabbar.style.color"
-      :activeColor="tabbar.style.activeColor"
-      :midTabBar="tabbar.mode === 2"
-      :customStyle="tabbarStyle"
-    >
-      <su-tabbar-item
-        v-for="(item, index) in tabbar.items"
-        :key="item.text"
-        :text="item.text"
-        :name="item.url"
-        :isCenter="getTabbarCenter(index)"
-        :centerImage="sheep.$url.cdn(item.iconUrl)"
-        @tap="sheep.$router.go(item.url)"
-      >
-        <template v-slot:active-icon>
-          <image class="u-page__item__slot-icon" :src="sheep.$url.cdn(item.activeIconUrl)"></image>
-        </template>
-        <template v-slot:inactive-icon>
-          <image class="u-page__item__slot-icon" :src="sheep.$url.cdn(item.iconUrl)"></image>
-        </template>
-      </su-tabbar-item>
-    </su-tabbar>
-  </view>
+	<view class="u-page__item" v-if="tabbar?.items?.length > 0">
+		<su-tabbar :value="path" :fixed="true" :placeholder="true" :safeAreaInsetBottom="true"
+			:inactiveColor="tabbar.style.color" :activeColor="tabbar.style.activeColor"  :midTabBar="tabbar.mode === 2"
+			:customStyle="tabbarStyle">
+			<su-tabbar-item v-for="(item, index) in tabbar.items" :key="item.text" :text="item.text" :name="item.url"
+				:isCenter="getTabbarCenter(index)" :centerImage="sheep.$url.cdn(item.iconUrl)"
+				@tap="sheep.$router.go(item.url)">
+				<template v-slot:active-icon>
+					<image class="u-page__item__slot-icon" :src="sheep.$url.cdn(item.activeIconUrl)"></image>
+				</template>
+				<template v-slot:inactive-icon>
+					<image class="u-page__item__slot-icon" :src="sheep.$url.cdn(item.iconUrl)"></image>
+				</template>
+			</su-tabbar-item>
+		</su-tabbar>
+	</view>
 </template>
 
 <script setup>
-  import { computed, unref } from 'vue';
-  import sheep from '@/sheep';
-
-  const tabbar = computed(() => {
-    return sheep.$store('app').template.basic?.tabbar;
-  });
-
-  const tabbarStyle = computed(() => {
-    const backgroundStyle = tabbar.value.style;
-    if (backgroundStyle.bgType === 'color') {
-      return { background: backgroundStyle.bgColor };
-    }
-    if (backgroundStyle.bgType === 'img')
-      return {
-        background: `url(${sheep.$url.cdn(
+	import {
+		computed,
+		unref
+	} from 'vue';
+	import sheep from '@/sheep';
+	const props = defineProps({
+		path: {
+			type: String,
+			default: '',
+		},
+		tabbar: {
+			type: Object,
+			default: () => {}
+		}
+	});
+	const tabbar = computed(() => {
+		if (props.tabbar) return props.tabbar;
+		return sheep.$store('app').template.basic?.tabbar;
+	});
+	const tabbarStyle = computed(() => {
+		const backgroundStyle = tabbar.value.style;
+		if (backgroundStyle.bgType === 'color') {
+			return {
+				background: backgroundStyle.bgColor
+			};
+		}
+		if (backgroundStyle.bgType === 'img')
+			return {
+				background: `url(${sheep.$url.cdn(
           backgroundStyle.bgImg,
         )}) no-repeat top center / 100% auto`,
-      };
-  });
-
-  const getTabbarCenter = (index) => {
-    if (unref(tabbar).mode !== 2) return false;
-    return unref(tabbar).items % 2 > 0
-      ? Math.ceil(unref(tabbar).items.length / 2) === index + 1
-      : false;
-  };
+			};
+	});
 
-  const props = defineProps({
-    path: String,
-    default: '',
-  });
+	const getTabbarCenter = (index) => {
+		if (unref(tabbar).mode !== 2) return false;
+		return unref(tabbar).items % 2 > 0 ?
+			Math.ceil(unref(tabbar).items.length / 2) === index + 1 :
+			false;
+	};
 </script>
 
 <style lang="scss">
-  .u-page {
-    padding: 0;
+	.u-page {
+		padding: 0;
 
-    &__item {
-      &__title {
-        color: var(--textSize);
-        background-color: #fff;
-        padding: 15px;
-        font-size: 15px;
+		&__item {
+			&__title {
+				color: var(--textSize);
+				background-color: #fff;
+				padding: 15px;
+				font-size: 15px;
 
-        &__slot-title {
-          color: var(--textSize);
-          font-size: 14px;
-        }
-      }
+				&__slot-title {
+					color: var(--textSize);
+					font-size: 14px;
+				}
+			}
 
-      &__slot-icon {
-        width: 25px;
-        height: 25px;
-      }
-    }
-  }
-</style>
+			&__slot-icon {
+				width: 25px;
+				height: 25px;
+			}
+		}
+	}
+</style>

+ 7 - 1
sheep/ui/su-swiper/su-swiper.vue

@@ -188,7 +188,13 @@
     if (item.type === 'video') {
       state.videoPlaySataus = true;
     } else {
-      sheep.$router.go(item.url);
+		
+		if(item.urlParams && item.urlParams.title){
+			sheep.$router.go(item.url,{title:item.urlParams.title});
+		}else{
+			sheep.$router.go(item.url);
+		}
+      
       onPreview();
     }
   };

+ 3 - 2
sheep/ui/su-tabbar-item/su-tabbar-item.vue

@@ -25,7 +25,7 @@
 					:show="dot || badge > 0"
 				></u-badge> -->
       </view>
-
+		
       <slot name="text">
         <text
           class="u-tabbar-item__text"
@@ -155,7 +155,8 @@
         }
         if (this.parent && this.parentData) {
           // 历遍parentData中的属性,将parent中的同名属性赋值给parentData
-          Object.keys(this.parentData).map((key) => {
+		  // console.log(this.parent.parentData)
+          Object.keys(this.parentData).map((key) => {            
             this.parentData[key] = this.parent[key];
           });
         }

+ 213 - 211
sheep/ui/su-tabbar/su-tabbar.vue

@@ -1,227 +1,229 @@
 <!-- 底部导航栏 -->
 <template>
-  <view class="u-tabbar">
-    <view
-      class="u-tabbar__content"
-      ref="u-tabbar__content"
-      @touchmove.stop.prevent=""
-      :class="[border && 'u-border-top', fixed && 'u-tabbar--fixed', { 'mid-tabbar': midTabBar }]"
-      :style="[tabbarStyle]"
-    >
-      <view class="u-tabbar__content__item-wrapper">
-        <slot></slot>
-      </view>
-      <view v-if="safeAreaInsetBottom" :style="[{ height: safeBottomHeight + 'px' }]"></view>
-    </view>
-    <view
-      class="u-tabbar__placeholder"
-      v-if="placeholder"
-      :style="{
+	<view class="u-tabbar">
+		<view class="u-tabbar__content" ref="u-tabbar__content" @touchmove.stop.prevent=""
+			:class="[border && 'u-border-top', fixed && 'u-tabbar--fixed', { 'mid-tabbar': midTabBar }]"
+			:style="[tabbarStyle]">
+			<view class="u-tabbar__content__item-wrapper">
+				<slot></slot>
+			</view>
+			<view v-if="safeAreaInsetBottom" :style="[{ height: safeBottomHeight + 'px' }]"></view>
+		</view>
+		<view class="u-tabbar__placeholder" v-if="placeholder" :style="{
         height: placeholderHeight + 'px',
-      }"
-    ></view>
-  </view>
+      }"></view>
+	</view>
 </template>
 
 <script>
-  // #ifdef APP-NVUE
-  const dom = uni.requireNativePlugin('dom');
-  // #endif
-  /**
-   * Tabbar 底部导航栏
-   * @description 此组件提供了自定义tabbar的能力。
-   * @property {String | Number}	value				当前匹配项的name
-   * @property {Boolean}			safeAreaInsetBottom	是否为iPhoneX留出底部安全距离(默认 true )
-   * @property {Boolean}			border				是否显示上方边框(默认 true )
-   * @property {String | Number}	zIndex				元素层级z-index(默认 1 )
-   * @property {String}			activeColor			选中标签的颜色(默认 '#1989fa' )
-   * @property {String}			inactiveColor		未选中标签的颜色(默认 '#7d7e80' )
-   * @property {Boolean}			fixed				是否固定在底部(默认 true )
-   * @property {Boolean}			placeholder			fixed定位固定在底部时,是否生成一个等高元素防止塌陷(默认 true )
-   * @property {Object}			customStyle			定义需要用到的外部样式
-   *
-   */
+	// #ifdef APP-NVUE
+	const dom = uni.requireNativePlugin('dom');
+	// #endif
+	/**
+	 * Tabbar 底部导航栏
+	 * @description 此组件提供了自定义tabbar的能力。
+	 * @property {String | Number}	value				当前匹配项的name
+	 * @property {Boolean}			safeAreaInsetBottom	是否为iPhoneX留出底部安全距离(默认 true )
+	 * @property {Boolean}			border				是否显示上方边框(默认 true )
+	 * @property {String | Number}	zIndex				元素层级z-index(默认 1 )
+	 * @property {String}			activeColor			选中标签的颜色(默认 '#1989fa' )
+	 * @property {String}			inactiveColor		未选中标签的颜色(默认 '#7d7e80' )
+	 * @property {Boolean}			fixed				是否固定在底部(默认 true )
+	 * @property {Boolean}			placeholder			fixed定位固定在底部时,是否生成一个等高元素防止塌陷(默认 true )
+	 * @property {Object}			customStyle			定义需要用到的外部样式
+	 *
+	 */
 
-  import { deepMerge, addStyle, sleep } from '@/sheep/helper';
-  import sheep from '@/sheep';
+	import {
+		deepMerge,
+		addStyle,
+		sleep
+	} from '@/sheep/helper';
+	import sheep from '@/sheep';
 
-  export default {
-    name: 'su-tabbar',
-    props: {
-      customStyle: {
-        type: [Object, String],
-        default: () => ({}),
-      },
-      customClass: {
-        type: String,
-        default: '',
-      },
-      // 跳转的页面路径
-      url: {
-        type: String,
-        default: '',
-      },
-      // 页面跳转的类型
-      linkType: {
-        type: String,
-        default: 'navigateTo',
-      },
-      // 当前匹配项的name
-      value: {
-        type: [String, Number, null],
-        default: '',
-      },
-      // 是否为iPhoneX留出底部安全距离
-      safeAreaInsetBottom: {
-        type: Boolean,
-        default: true,
-      },
-      // 是否显示上方边框
-      border: {
-        type: Boolean,
-        default: true,
-      },
-      // 元素层级z-index
-      zIndex: {
-        type: [String, Number],
-        default: 10,
-      },
-      // 选中标签的颜色
-      activeColor: {
-        type: String,
-        default: '#1989fa',
-      },
-      // 未选中标签的颜色
-      inactiveColor: {
-        type: String,
-        default: '#7d7e80',
-      },
-      // 是否固定在底部
-      fixed: {
-        type: Boolean,
-        default: true,
-      },
-      // fixed定位固定在底部时,是否生成一个等高元素防止塌陷
-      placeholder: {
-        type: Boolean,
-        default: true,
-      },
-      midTabBar: {
-        type: Boolean,
-        default: false,
-      },
-    },
-    data() {
-      return {
-        placeholderHeight: 0,
-        safeBottomHeight: sheep.$platform.device.safeAreaInsets.bottom,
-      };
-    },
-    computed: {
-      tabbarStyle() {
-        const style = {
-          zIndex: this.zIndex,
-        };
-        // 合并来自父组件的customStyle样式
-        return deepMerge(style, addStyle(this.customStyle));
-      },
-      // 监听多个参数的变化,通过在computed执行对应的操作
-      updateChild() {
-        return [this.value, this.activeColor, this.inactiveColor];
-      },
-      updatePlaceholder() {
-        return [this.fixed, this.placeholder];
-      },
-    },
-    watch: {
-      updateChild() {
-        // 如果updateChildren中的元素发生了变化,则执行子元素初始化操作
-        this.updateChildren();
-      },
-      updatePlaceholder() {
-        // 如果fixed,placeholder等参数发生变化,重新计算占位元素的高度
-        this.setPlaceholderHeight();
-      },
-    },
-    created() {
-      this.children = [];
-    },
-    mounted() {
-      this.setPlaceholderHeight();
-    },
-    methods: {
-      updateChildren() {
-        // 如果存在子元素,则执行子元素的updateFromParent进行更新数据
-        this.children.length && this.children.map((child) => child.updateFromParent());
-      },
-      getRect(selector, all) {
-        return new Promise((resolve) => {
-          uni.createSelectorQuery()
-            .in(this)
-            [all ? 'selectAll' : 'select'](selector)
-            .boundingClientRect((rect) => {
-              if (all && Array.isArray(rect) && rect.length) {
-                resolve(rect);
-              }
-              if (!all && rect) {
-                resolve(rect);
-              }
-            })
-            .exec();
-        });
-      },
-      // 设置用于防止塌陷元素的高度
-      async setPlaceholderHeight() {
-        if (!this.fixed || !this.placeholder) return;
-        // 延时一定时间
-        await sleep(20);
-        // #ifndef APP-NVUE
-        this.getRect('.u-tabbar__content').then(({ height = 50 }) => {
-          // 修复IOS safearea bottom 未填充高度
-          this.placeholderHeight = height;
-        });
-        // #endif
+	export default {
+		name: 'su-tabbar',
+		props: {
+			customStyle: {
+				type: [Object, String],
+				default: () => ({}),
+			},
+			customClass: {
+				type: String,
+				default: '',
+			},
+			// 跳转的页面路径
+			url: {
+				type: String,
+				default: '',
+			},
+			// 页面跳转的类型
+			linkType: {
+				type: String,
+				default: 'navigateTo',
+			},
+			// 当前匹配项的name
+			value: {
+				type: [String, Number, null],
+				default: '',
+			},
+			// 是否为iPhoneX留出底部安全距离
+			safeAreaInsetBottom: {
+				type: Boolean,
+				default: true,
+			},
+			// 是否显示上方边框
+			border: {
+				type: Boolean,
+				default: true,
+			},
+			// 元素层级z-index
+			zIndex: {
+				type: [String, Number],
+				default: 10,
+			},
+			// 选中标签的颜色
+			activeColor: {
+				type: String,
+				default: '#1989fa',
+			},
+			// 未选中标签的颜色
+			inactiveColor: {
+				type: String,
+				default: '#7d7e80',
+			},
+			// 是否固定在底部
+			fixed: {
+				type: Boolean,
+				default: true,
+			},
+			// fixed定位固定在底部时,是否生成一个等高元素防止塌陷
+			placeholder: {
+				type: Boolean,
+				default: true,
+			},
+			midTabBar: {
+				type: Boolean,
+				default: false,
+			},
+		},
+		data() {
+			return {
+				placeholderHeight: 0,
+				safeBottomHeight: sheep.$platform.device.safeAreaInsets.bottom,
+			};
+		},
+		computed: {
+			tabbarStyle() {
+				const style = {
+					zIndex: this.zIndex,
+				};
+				// 合并来自父组件的customStyle样式
+				return deepMerge(style, addStyle(this.customStyle));
+			},
+			// 监听多个参数的变化,通过在computed执行对应的操作
+			updateChild() {
+				return [this.value, this.activeColor, this.inactiveColor];
+			},
+			color() {
+				return this.inactiveColor;
+			},
+			updatePlaceholder() {
+				return [this.fixed, this.placeholder];
+			},
+		},
+		watch: {
+			updateChild() {
+				// 如果updateChildren中的元素发生了变化,则执行子元素初始化操作
+				this.updateChildren();
+			},
+			updatePlaceholder() {
+				// 如果fixed,placeholder等参数发生变化,重新计算占位元素的高度
+				this.setPlaceholderHeight();
+			},
+		},
+		created() {
+			this.children = [];
+		},
+		mounted() {
+			this.setPlaceholderHeight();
+		},
+		methods: {
+			updateChildren() {
+				// 如果存在子元素,则执行子元素的updateFromParent进行更新数据
+				this.children.length && this.children.map((child) => child.updateFromParent());
+			},
+			getRect(selector, all) {
+				return new Promise((resolve) => {
+					uni.createSelectorQuery()
+						.in(this)[all ? 'selectAll' : 'select'](selector)
+						.boundingClientRect((rect) => {
+							if (all && Array.isArray(rect) && rect.length) {
+								resolve(rect);
+							}
+							if (!all && rect) {
+								resolve(rect);
+							}
+						})
+						.exec();
+				});
+			},
+			// 设置用于防止塌陷元素的高度
+			async setPlaceholderHeight() {
+				if (!this.fixed || !this.placeholder) return;
+				// 延时一定时间
+				await sleep(20);
+				// #ifndef APP-NVUE
+				this.getRect('.u-tabbar__content').then(({
+					height = 50
+				}) => {
+					// 修复IOS safearea bottom 未填充高度
+					this.placeholderHeight = height;
+				});
+				// #endif
 
-        // #ifdef APP-NVUE
-        dom.getComponentRect(this.$refs['u-tabbar__content'], (res) => {
-          const { size } = res;
-          this.placeholderHeight = size.height;
-        });
-        // #endif
-      },
-    },
-  };
+				// #ifdef APP-NVUE
+				dom.getComponentRect(this.$refs['u-tabbar__content'], (res) => {
+					const {
+						size
+					} = res;
+					this.placeholderHeight = size.height;
+				});
+				// #endif
+			},
+		},
+	};
 </script>
 
 <style lang="scss" scoped>
-  .u-tabbar {
-    display: flex;
-    flex: 1;
-    justify-content: center;
+	.u-tabbar {
+		display: flex;
+		flex: 1;
+		justify-content: center;
 
-    &__content {
-      display: flex;
-      flex-direction: column;
-      background-color: #fff;
-      box-shadow: 0px -2px 4px 0px rgba(51, 51, 51, 0.06);
+		&__content {
+			display: flex;
+			flex-direction: column;
+			background-color: #fff;
+			box-shadow: 0px -2px 4px 0px rgba(51, 51, 51, 0.06);
 
-      &__item-wrapper {
-        height: 50px;
-        display: flex;
-        justify-content: space-around;
-        align-items: center;
-      }
-    }
+			&__item-wrapper {
+				height: 50px;
+				display: flex;
+				justify-content: space-around;
+				align-items: center;
+			}
+		}
 
-    .mid-tabbar {
-      border-radius: 30rpx 30rpx 0 0;
-    }
+		.mid-tabbar {
+			border-radius: 30rpx 30rpx 0 0;
+		}
 
-    &--fixed {
-      position: fixed;
-      bottom: -1px;
-      left: 0;
-      right: 0;
-    }
-  }
-</style>
+		&--fixed {
+			position: fixed;
+			bottom: -1px;
+			left: 0;
+			right: 0;
+		}
+	}
+</style>

+ 1 - 0
static/firstIndex/activity-active.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730528265769" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22443" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M24.381622 72.093886m32.074841-11.674288l0 0q32.074841-11.674288 43.749129 20.400554l310.202498 852.274359q11.674288 32.074841-20.400553 43.749129l0 0q-32.074841 11.674288-43.749129-20.400554l-310.202498-852.274359q-11.674288-32.074841 20.400553-43.749129Z" fill="#1fa380" p-id="22444"></path><path d="M117.906286 156.867048c130.584381-78.019048 241.030095-117.028571 331.385904-117.028572 135.460571 0 219.136 53.00419 330.898286 53.004191 74.50819 0 147.260952-27.452952 218.307048-82.358857v497.859047c-29.549714 54.272-89.234286 81.383619-179.053714 81.383619-134.729143 0-177.883429-32.036571-320.853334-32.036571-95.329524 0-159.939048 36.473905-193.731047 109.32419L117.906286 156.867048z" fill="#1fa380" p-id="22445"></path></svg>

+ 1 - 0
static/firstIndex/activity.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730528265769" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22443" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M24.381622 72.093886m32.074841-11.674288l0 0q32.074841-11.674288 43.749129 20.400554l310.202498 852.274359q11.674288 32.074841-20.400553 43.749129l0 0q-32.074841 11.674288-43.749129-20.400554l-310.202498-852.274359q-11.674288-32.074841 20.400553-43.749129Z" fill="#e6e6e6" p-id="22444"></path><path d="M117.906286 156.867048c130.584381-78.019048 241.030095-117.028571 331.385904-117.028572 135.460571 0 219.136 53.00419 330.898286 53.004191 74.50819 0 147.260952-27.452952 218.307048-82.358857v497.859047c-29.549714 54.272-89.234286 81.383619-179.053714 81.383619-134.729143 0-177.883429-32.036571-320.853334-32.036571-95.329524 0-159.939048 36.473905-193.731047 109.32419L117.906286 156.867048z" fill="#e6e6e6" p-id="22445"></path></svg>

BIN
static/firstIndex/clcg.png


+ 1 - 0
static/firstIndex/index-active.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730528089317" class="icon" viewBox="0 0 1251 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20438" xmlns:xlink="http://www.w3.org/1999/xlink" width="78.1875" height="64"><path d="M1223.812765 472.990476l-168.671861-141.852814V82.008658a77.575758 77.575758 0 0 0-155.151515 0v119.245022L681.447397 17.953247a76.910823 76.910823 0 0 0-54.967965-17.731602h-1.77316a76.245887 76.245887 0 0 0-54.74632 17.731602L27.594584 472.990476a77.797403 77.797403 0 0 0-9.530736 109.270996 77.797403 77.797403 0 0 0 109.270995 9.530736L625.592852 173.769697 1124.072506 591.792208a77.797403 77.797403 0 0 0 108.384415-9.530736 78.019048 78.019048 0 0 0-8.644156-109.270996z" fill="#1fa380" p-id="20439"></path><path d="M168.560817 623.709091V935.341991a88.658009 88.658009 0 0 0 88.658009 88.658009h243.809524v-310.30303h243.809524v310.30303h243.809523a88.658009 88.658009 0 0 0 88.658009-88.658009V615.28658L622.933112 248.242424z" fill="#1fa380" p-id="20440"></path></svg>

+ 1 - 0
static/firstIndex/index.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730528089317" class="icon" viewBox="0 0 1251 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20438" xmlns:xlink="http://www.w3.org/1999/xlink" width="78.1875" height="64"><path d="M1223.812765 472.990476l-168.671861-141.852814V82.008658a77.575758 77.575758 0 0 0-155.151515 0v119.245022L681.447397 17.953247a76.910823 76.910823 0 0 0-54.967965-17.731602h-1.77316a76.245887 76.245887 0 0 0-54.74632 17.731602L27.594584 472.990476a77.797403 77.797403 0 0 0-9.530736 109.270996 77.797403 77.797403 0 0 0 109.270995 9.530736L625.592852 173.769697 1124.072506 591.792208a77.797403 77.797403 0 0 0 108.384415-9.530736 78.019048 78.019048 0 0 0-8.644156-109.270996z" fill="#e6e6e6" p-id="20439"></path><path d="M168.560817 623.709091V935.341991a88.658009 88.658009 0 0 0 88.658009 88.658009h243.809524v-310.30303h243.809524v310.30303h243.809523a88.658009 88.658009 0 0 0 88.658009-88.658009V615.28658L622.933112 248.242424z" fill="#e6e6e6" p-id="20440"></path></svg>

+ 1 - 0
static/firstIndex/news.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730474579774" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14387" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M128 554.666667h341.333333V128H128z m0 341.333333h341.333333v-256H128z m426.666667 0h341.333333V469.333333h-341.333333z m0-768v256h341.333333V128z" p-id="14388" fill="#ffffff"></path></svg>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
static/firstIndex/product.svg


+ 1 - 0
static/firstIndex/pt.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730474193796" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8648" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M744.3 394.3c-1.6-127.4-105.2-230.2-232.9-230.2S280 266.9 278.5 394.3C157.1 402.4 61.2 503.2 61.2 626.6c0 127.2 101.9 230.4 228.5 232.8v0.2h438.9c128.7 0 233.1-104.4 233.1-233.1 0-123.3-96-224.1-217.4-232.2z m7.1 366.7c0 8.8-7.2 16-16 16h-448c-8.8 0-16-7.2-16-16v-38.5c0-8.8 7.2-16 16-16h448c8.8 0 16 7.2 16 16V761z" fill="#ffffff" p-id="8649"></path></svg>

+ 1 - 0
static/firstIndex/shop-active.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730474717689" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18274" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M166.25664 81.92a82.3296 82.3296 0 0 1 79.42144 60.06784L263.168 204.8h575.7952C907.22304 204.8 962.56 259.80928 962.56 327.68c0 7.7824-0.73728 15.5648-2.23232 23.20384L915.78368 581.2224A40.96 40.96 0 0 1 875.56096 614.4H370.688l17.12128 61.44h478.37184a25.8048 25.8048 0 0 1 25.35424 30.72c-3.46112 17.8176-19.06688 30.72-37.23264 30.72H361.41056a40.96 40.96 0 0 1-39.7312-30.9248L187.47392 174.32576A41.1648 41.1648 0 0 0 147.51744 143.36H71.86432A30.80192 30.80192 0 0 1 40.96 112.64C40.96 95.68256 54.80448 81.92 71.86432 81.92h94.4128z" fill="#1fa380" p-id="18275"></path><path d="M419.84 870.4m-71.68 0a71.68 71.68 0 1 0 143.36 0 71.68 71.68 0 1 0-143.36 0Z" fill="#1fa380" p-id="18276"></path><path d="M808.96 870.4m-71.68 0a71.68 71.68 0 1 0 143.36 0 71.68 71.68 0 1 0-143.36 0Z" fill="#1fa380" p-id="18277"></path></svg>

+ 1 - 0
static/firstIndex/shop.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730474717689" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18274" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M166.25664 81.92a82.3296 82.3296 0 0 1 79.42144 60.06784L263.168 204.8h575.7952C907.22304 204.8 962.56 259.80928 962.56 327.68c0 7.7824-0.73728 15.5648-2.23232 23.20384L915.78368 581.2224A40.96 40.96 0 0 1 875.56096 614.4H370.688l17.12128 61.44h478.37184a25.8048 25.8048 0 0 1 25.35424 30.72c-3.46112 17.8176-19.06688 30.72-37.23264 30.72H361.41056a40.96 40.96 0 0 1-39.7312-30.9248L187.47392 174.32576A41.1648 41.1648 0 0 0 147.51744 143.36H71.86432A30.80192 30.80192 0 0 1 40.96 112.64C40.96 95.68256 54.80448 81.92 71.86432 81.92h94.4128z" fill="#ffffff" p-id="18275"></path><path d="M419.84 870.4m-71.68 0a71.68 71.68 0 1 0 143.36 0 71.68 71.68 0 1 0-143.36 0Z" fill="#ffffff" p-id="18276"></path><path d="M808.96 870.4m-71.68 0a71.68 71.68 0 1 0 143.36 0 71.68 71.68 0 1 0-143.36 0Z" fill="#ffffff" p-id="18277"></path></svg>

+ 1 - 0
static/firstIndex/video-active.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730528316541" class="icon" viewBox="0 0 1087 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24401" xmlns:xlink="http://www.w3.org/1999/xlink" width="67.9375" height="64"><path d="M768 415.744q0 5.12-10.752 17.92t-23.04 30.208-23.04 37.888-10.752 41.984 10.752 41.472 23.04 36.352 23.04 27.136 10.752 13.824l0 107.52q0 17.408-12.8 39.424t-31.744 41.472-41.984 32.256-43.52 12.8l-508.928 0q-27.648 0-50.688-9.728t-40.448-27.136-27.136-40.96-9.728-51.2l0-441.344q0-20.48 9.216-42.496t26.112-40.448 39.936-30.72 50.688-12.288l508.928 0q27.648 0 51.712 9.728t41.984 26.624 28.16 40.448 10.24 50.176l0 89.088zM1086.464 319.488l0 467.968q0 22.528-11.776 39.936t-35.328 17.408q-8.192 0-20.992-6.144t-25.6-14.336-24.064-16.384-16.384-13.312q-13.312-11.264-40.448-38.912t-54.784-62.464-48.64-71.68-20.992-67.584 22.528-70.144 54.272-77.312 66.56-70.144 58.368-48.64q9.216-6.144 25.088-14.848t28.16-8.704q27.648 0 35.84 15.36t8.192 37.888l0 2.048z" p-id="24402" fill="#1fa380"></path></svg>

+ 1 - 0
static/firstIndex/video.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730528316541" class="icon" viewBox="0 0 1087 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="24401" xmlns:xlink="http://www.w3.org/1999/xlink" width="67.9375" height="64"><path d="M768 415.744q0 5.12-10.752 17.92t-23.04 30.208-23.04 37.888-10.752 41.984 10.752 41.472 23.04 36.352 23.04 27.136 10.752 13.824l0 107.52q0 17.408-12.8 39.424t-31.744 41.472-41.984 32.256-43.52 12.8l-508.928 0q-27.648 0-50.688-9.728t-40.448-27.136-27.136-40.96-9.728-51.2l0-441.344q0-20.48 9.216-42.496t26.112-40.448 39.936-30.72 50.688-12.288l508.928 0q27.648 0 51.712 9.728t41.984 26.624 28.16 40.448 10.24 50.176l0 89.088zM1086.464 319.488l0 467.968q0 22.528-11.776 39.936t-35.328 17.408q-8.192 0-20.992-6.144t-25.6-14.336-24.064-16.384-16.384-13.312q-13.312-11.264-40.448-38.912t-54.784-62.464-48.64-71.68-20.992-67.584 22.528-70.144 54.272-77.312 66.56-70.144 58.368-48.64q9.216-6.144 25.088-14.848t28.16-8.704q27.648 0 35.84 15.36t8.192 37.888l0 2.048z" p-id="24402" fill="#e6e6e6"></path></svg>

BIN
static/firstIndex/youjiantou.png


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/FirstIndex-e60eee37.css


+ 1 - 0
unpackage/dist/build/web/assets/FirstList-c8b4ee97.css

@@ -0,0 +1 @@
+.page-body[data-v-8ea75a32]{width:100%;position:relative;z-index:1;flex:1;padding-top:1.25rem;box-sizing:border-box}.page-body[data-v-8ea75a32] .article[data-v-8ea75a32]{padding:.5rem;height:5.3125rem;position:relative;width:90%;margin:0 auto;color:#000;margin-bottom:1.25rem;background-repeat:no-repeat;background-size:100%;background-position:center;background-color:#fff;overflow:hidden}.page-body[data-v-8ea75a32] .article[data-v-8ea75a32] .title[data-v-8ea75a32]{font-size:1.0625rem;margin-bottom:8px}.page-body[data-v-8ea75a32] .article[data-v-8ea75a32] .content[data-v-8ea75a32]{display:flex;flex-direction:row}.page-body[data-v-8ea75a32] .article[data-v-8ea75a32] .image[data-v-8ea75a32]{width:6.25rem;height:3.53125rem;margin-right:.5rem}.page-body[data-v-8ea75a32] .article[data-v-8ea75a32] .image-content[data-v-8ea75a32]{width:100%;height:100%;border-radius:.25rem}.page-body[data-v-8ea75a32] .article[data-v-8ea75a32] .desc[data-v-8ea75a32]{flex:1;font-size:.875rem;color:#333;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-overflow:ellipsis}.page-body[data-v-8ea75a32] .activity[data-v-8ea75a32]{height:9.375rem;position:relative;width:90%;margin:0 auto;color:#fff;margin-bottom:1.25rem;background-repeat:no-repeat;background-size:100%;background-position:center;background-color:#fff;overflow:hidden}.page-body[data-v-8ea75a32] .activity[data-v-8ea75a32] .activity-bottom[data-v-8ea75a32]{position:absolute;bottom:0;left:0;width:100%;height:1.5625rem;background:rgba(0,0,0,.5);padding:.3125rem;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;uni-text[data-v-8ea75a32]{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;};uni-image[data-v-8ea75a32]{width: .625rem; height: .625rem;}}

BIN
unpackage/dist/build/web/assets/clcg-1c6c4ac4.png


+ 1 - 0
unpackage/dist/build/web/assets/comment-item.0d901a55.js

@@ -0,0 +1 @@
+import{j as s,k as e,a,b as l,w as t,d as r,e as c,f as i,y as m,F as u,z as n,x as o,g as d,i as p,I as f}from"./index-39e65128.js";import{_}from"./uni-rate.2a3fc53f.js";import{_ as y}from"./su-image.fd205548.js";import{_ as x}from"./_plugin-vue_export-helper.1b428a4d.js";const v=x({__name:"comment-item",props:{item:{type:Object,default(){}}},setup:x=>(v,g)=>{const h=d,j=p,k=s(e("uni-rate"),_),b=s(e("su-image"),y),w=f;return a(),l(j,null,{default:t((()=>{var s;return[r(j,{class:"user ss-flex ss-m-b-14"},{default:t((()=>[r(j,{class:"ss-m-r-20 ss-flex"},{default:t((()=>[r(h,{class:"avatar",src:x.item.userAvatar},null,8,["src"])])),_:1}),r(j,{class:"nickname ss-m-r-20"},{default:t((()=>[c(i(x.item.userNickname),1)])),_:1}),r(j,{class:""},{default:t((()=>[r(k,{readonly:!0,modelValue:x.item.scores,"onUpdate:modelValue":g[0]||(g[0]=s=>x.item.scores=s),size:"18"},null,8,["modelValue"])])),_:1})])),_:1}),r(j,{class:"content"},{default:t((()=>[c(i(x.item.content),1)])),_:1}),(null==(s=x.item.picUrls)?void 0:s.length)?(a(),l(j,{key:0,class:"ss-m-t-24"},{default:t((()=>[r(w,{class:"scroll-box","scroll-x":"","scroll-anchoring":""},{default:t((()=>[r(j,{class:"ss-flex"},{default:t((()=>[(a(!0),m(u,null,n(x.item.picUrls,((s,e)=>(a(),l(j,{key:s,class:"ss-m-r-10"},{default:t((()=>[r(b,{class:"content-img",isPreview:"",previewList:x.item.picUrls,current:e,src:s,height:120,width:120,mode:"aspectFill"},null,8,["previewList","current","src"])])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1})):o("",!0),x.item.replyTime?(a(),l(j,{key:1,class:"ss-m-t-20 reply-box"},{default:t((()=>[r(j,{class:"reply-title"},{default:t((()=>[c("商家回复:")])),_:1}),r(j,{class:"reply-content"},{default:t((()=>[c(i(x.item.replyContent),1)])),_:1})])),_:1})):o("",!0)]})),_:1})}},[["__scopeId","data-v-c011c544"]]);export{v as c};

+ 0 - 1
unpackage/dist/build/web/assets/comment-item.686bdbd0.js

@@ -1 +0,0 @@
-import{m as s,n as e,f as l,g as a,w as t,k as r,u as c,v as i,l as m,F as u,r as n,i as o,y as d,j as p,D as f}from"./index-dbd18a2c.js";import{_}from"./uni-rate.d991deba.js";import{_ as y}from"./su-image.8ca80507.js";import{_ as v}from"./_plugin-vue_export-helper.1b428a4d.js";const x=v({__name:"comment-item",props:{item:{type:Object,default(){}}},setup:v=>(x,g)=>{const h=d,j=p,k=s(e("uni-rate"),_),w=s(e("su-image"),y),b=f;return l(),a(j,null,{default:t((()=>{var s;return[r(j,{class:"user ss-flex ss-m-b-14"},{default:t((()=>[r(j,{class:"ss-m-r-20 ss-flex"},{default:t((()=>[r(h,{class:"avatar",src:v.item.userAvatar},null,8,["src"])])),_:1}),r(j,{class:"nickname ss-m-r-20"},{default:t((()=>[c(i(v.item.userNickname),1)])),_:1}),r(j,{class:""},{default:t((()=>[r(k,{readonly:!0,modelValue:v.item.scores,"onUpdate:modelValue":g[0]||(g[0]=s=>v.item.scores=s),size:"18"},null,8,["modelValue"])])),_:1})])),_:1}),r(j,{class:"content"},{default:t((()=>[c(i(v.item.content),1)])),_:1}),(null==(s=v.item.picUrls)?void 0:s.length)?(l(),a(j,{key:0,class:"ss-m-t-24"},{default:t((()=>[r(b,{class:"scroll-box","scroll-x":"","scroll-anchoring":""},{default:t((()=>[r(j,{class:"ss-flex"},{default:t((()=>[(l(!0),m(u,null,n(v.item.picUrls,((s,e)=>(l(),a(j,{key:s,class:"ss-m-r-10"},{default:t((()=>[r(w,{class:"content-img",isPreview:"",previewList:v.item.picUrls,current:e,src:s,height:120,width:120,mode:"aspectFill"},null,8,["previewList","current","src"])])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1})):o("",!0),v.item.replyTime?(l(),a(j,{key:1,class:"ss-m-t-20 reply-box"},{default:t((()=>[r(j,{class:"reply-title"},{default:t((()=>[c("商家回复:")])),_:1}),r(j,{class:"reply-content"},{default:t((()=>[c(i(v.item.replyContent),1)])),_:1})])),_:1})):o("",!0)]})),_:1})}},[["__scopeId","data-v-c011c544"]]);export{x as c};

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/confirm-cbd2066e.css


+ 1 - 1
unpackage/dist/build/web/assets/const.8af74fd1.js → unpackage/dist/build/web/assets/const.8355aac7.js

@@ -1 +1 @@
-import{bm as e}from"./index-dbd18a2c.js";const T={PRICE:{type:1,name:"满减"},PERCENT:{type:2,name:"折扣"}},s={DATE:{type:1,name:"固定日期可用"},TERM:{type:2,name:"领取之后可用"}},t={WAIT_START:"即将开始",STARTED:"进行中",END:"已结束"},a=(T,s)=>{const a=e();return a.isBefore(T)?t.WAIT_START:a.isAfter(s)?t.END:t.STARTED};export{s as C,T as P,t as T,a as g};
+import{bk as e}from"./index-39e65128.js";const T={PRICE:{type:1,name:"满减"},PERCENT:{type:2,name:"折扣"}},s={DATE:{type:1,name:"固定日期可用"},TERM:{type:2,name:"领取之后可用"}},t={WAIT_START:"即将开始",STARTED:"进行中",END:"已结束"},a=(T,s)=>{const a=e();return a.isBefore(T)?t.WAIT_START:a.isAfter(s)?t.END:t.STARTED};export{s as C,T as P,t as T,a as g};

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/detail-content-card-80f7acd9.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/detail-content-card.42d398be.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/detail-content-card.9409f171.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/index-39e65128.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/index-6808c06f.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/md5.5e60b629.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/merchant-cb16c629.css


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/mp-html.5f061d5e.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/mp-html.f139a7b7.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/mp-html.vue_vue_type_style_index_0_scoped_35b639b7_lang.ff17c655.js


+ 1 - 0
unpackage/dist/build/web/assets/news-3fa84b05.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730474579774" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14387" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M128 554.666667h341.333333V128H128z m0 341.333333h341.333333v-256H128z m426.666667 0h341.333333V469.333333h-341.333333z m0-768v256h341.333333V128z" p-id="14388" fill="#ffffff"></path></svg>

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-bargain-detail.af6b4f2b.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-bargain-detail.dac37cfb.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-bargain-list.61c3820d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-bargain-list.97b0cf6e.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-groupon-detail.48c2c0cc.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-groupon-detail.d6d8f398.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-groupon-list.1aff20cf.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-groupon-list.33e68041.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-groupon-order.5f650c7d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-groupon-order.a6f76877.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-index.1e234431.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-index.379c34b3.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-seckill-list.04d302cc.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-activity-seckill-list.d83699fb.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-app-sign.a2c0742a.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-app-sign.d619c1bd.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-chat-index.a237b954.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-chat-speechtotext.7a1b340b.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-chat-speechtotext.80251446.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-commission-ranking.2761a22f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-commission-ranking.ecd8086f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-goods.c2d8905c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-goods.ee3248f8.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-index.48b65198.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-index.e033d5c7.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-order.246075c8.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-order.5b52f7b9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-promoter.31b4fa85.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-promoter.cf8be3fb.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-team.9979e32e.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-team.e231578d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-wallet.8cd6a5ae.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-wallet.d18c4cb5.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-withdraw.4db15dbf.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-commission-withdraw.a33386a0.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-coupon-detail.4c60fa5c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-coupon-detail.57c9f2b4.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-coupon-list.2813cf8c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-coupon-list.f976ef01.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-goods-comment-add.00b8ded9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-goods-comment-add.6e72cfac.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-goods-comment-list.537049bc.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-goods-comment-list.f3a6b8b2.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-goods-groupon.4de3a636.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/web/assets/pages-goods-groupon.7bfad891.js


Vissa filer visades inte eftersom för många filer har ändrats