青蛙卖大米小程序2024-11-24
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

451 lines
8.6 KiB

5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
  1. <template>
  2. <view class="page">
  3. <navbar bgColor="#88D259" />
  4. <view class="bg-color"></view>
  5. <view class="page-title">
  6. 三只青蛙
  7. </view>
  8. <view class="search">
  9. <uv-search placeholder="搜你喜欢的产品" bgColor="#fff" v-model="keyword"></uv-search>
  10. </view>
  11. <view class="swipe">
  12. <uv-swiper :list="bannerList" indicator height="320rpx" keyName="url"></uv-swiper>
  13. </view>
  14. <view class="notice">
  15. <uv-notice-bar fontSize="32rpx" :text="notice"></uv-notice-bar>
  16. </view>
  17. <view class="menu">
  18. <uv-grid :border="false" :col="4" >
  19. <uv-grid-item v-for="(item,index) in baseList" :key="index" @click="$utils.navigateTo(item.path)">
  20. <image :src="item.image" mode=""></image>
  21. <text class="menu-text">{{item.title}}</text>
  22. </uv-grid-item>
  23. </uv-grid>
  24. </view>
  25. <view class="map">
  26. <image src="../../static/image/home/8.png" mode="aspectFill" />
  27. </view>
  28. <view class="commodity"
  29. @click="$utils.navigateTo('/pages/index/category')">
  30. <view class="box">
  31. <view class="top">
  32. <view class="top-text">
  33. <view>Experience the product</view>
  34. <view>体验产品 ___ _</view>
  35. </view>
  36. </view>
  37. <view class="centre">
  38. <view class="boxs">
  39. <view class="box-text">
  40. <view>三只青蛙低GI大米</view>
  41. <view>5斤每盒*3</view>
  42. <text class="text1">225</text>
  43. <text class="text2">原价375</text>
  44. </view>
  45. <view class="box-img">
  46. <image src="../../static/logo.png" mode="aspectFill"></image>
  47. </view>
  48. </view>
  49. </view>
  50. </view>
  51. </view>
  52. <view class="commodity"
  53. @click="$utils.navigateTo('/pages/index/category')">
  54. <view class="box">
  55. <view class="top">
  56. <view class="top-text">
  57. <view>Experience the product</view>
  58. <view>常规产品 ___ _</view>
  59. </view>
  60. </view>
  61. <view class="centre">
  62. <view class="boxs">
  63. <view class="box-text">
  64. <view>三只青蛙低GI大米</view>
  65. <view>5斤每盒*3</view>
  66. <text class="text1">225</text>
  67. <text class="text2">原价375</text>
  68. </view>
  69. <view class="box-img">
  70. <image src="../../static/logo.png" mode="aspectFill"></image>
  71. </view>
  72. </view>
  73. </view>
  74. </view>
  75. </view>
  76. <view class="commodity">
  77. <view class="box">
  78. <view class="top">
  79. <view class="top-text">
  80. <view>Experience the product</view>
  81. <view>新闻动态 ___ _</view>
  82. </view>
  83. <view class="top1" @click="$utils.navigateTo('/pages_order/home/journalism')">
  84. 更多
  85. </view>
  86. </view>
  87. <view class="centre">
  88. <view class="boxs">
  89. <view class="images">
  90. <image src="../../static/image/home/9.png" mode="aspectFill"></image>
  91. </view>
  92. <view class="box-fone">
  93. <view>新闻标题</view>
  94. <view>说明文字说明文字说明文字说明文字说明文字</view>
  95. </view>
  96. </view>
  97. </view>
  98. </view>
  99. </view>
  100. <view class="qr">
  101. <view class="scan">扫码关注公众号</view>
  102. <view class="qr-scan">
  103. <image src="../../static/image/home/10.png" mode="aspectFill"></image>
  104. </view>
  105. <view class="qr-bottom">
  106. <view>保存公众号二维码图片</view>
  107. <view>长按识别公众号</view>
  108. </view>
  109. </view>
  110. <PrivacyAgreementPoup />
  111. <tabber select="home" />
  112. </view>
  113. </template>
  114. <script>
  115. import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
  116. import Position from '@/utils/position.js'
  117. import tabber from '@/components/base/tabbar.vue'
  118. import {
  119. mapGetters
  120. } from 'vuex'
  121. export default {
  122. components: {
  123. tabber,
  124. PrivacyAgreementPoup,
  125. },
  126. data() {
  127. return {
  128. area: '长沙',
  129. notice: '长沙市刘师傅在服务过程中客户投诉“服务过程中有不文明的行为”.....',
  130. bannerList: [{
  131. url: 'https://cdn.uviewui.com/uview/swiper/swiper3.png',
  132. },
  133. {
  134. url: 'https://cdn.uviewui.com/uview/swiper/swiper2.png',
  135. },
  136. {
  137. url: 'https://cdn.uviewui.com/uview/swiper/swiper3.png',
  138. },
  139. ],
  140. baseList: [{
  141. image: '/static/image/home/0.png',
  142. title: '关于我们',
  143. path: '/pages_order/home/introduce',
  144. },
  145. {
  146. image: '/static/image/home/1.png',
  147. title: '产品介绍',
  148. },
  149. {
  150. image: '/static/image/home/2.png',
  151. title: '促销活动',
  152. },
  153. {
  154. image: '/static/image/home/3.png',
  155. title: '商城',
  156. },
  157. {
  158. image: '/static/image/home/4.png',
  159. title: '邀请好友',
  160. },
  161. {
  162. image: '/static/image/home/5.png',
  163. title: '新闻中心',
  164. path: '/pages_order/home/journalism',
  165. },
  166. {
  167. image: '/static/image/home/6.png',
  168. title: '校企合作',
  169. },
  170. {
  171. image: '/static/image/home/7.png',
  172. title: '联系我们',
  173. },
  174. ],
  175. productList: [],
  176. keyword: '',
  177. }
  178. },
  179. computed: {},
  180. methods: {}
  181. }
  182. </script>
  183. <style scoped lang="scss">
  184. .page {
  185. .bg-color {
  186. width: 100%;
  187. position: absolute;
  188. top: 0;
  189. left: 0;
  190. height: 550rpx;
  191. background: linear-gradient(to bottom, #88D259, #88D259, #fff);
  192. }
  193. .page-title {
  194. position: relative;
  195. margin-left: 30rpx;
  196. margin-bottom: 30rpx;
  197. }
  198. .search {
  199. position: relative;
  200. background: #FFFFFF;
  201. margin: 20rpx;
  202. border-radius: 41rpx;
  203. padding: 10rpx 20rpx;
  204. display: flex;
  205. align-items: center;
  206. /deep/ .uv-search__action {
  207. background-color: $uni-color;
  208. color: #FFFFFF;
  209. padding: 10rpx 20rpx;
  210. border-radius: 30rpx;
  211. }
  212. }
  213. .swipe {
  214. position: relative;
  215. overflow: hidden;
  216. border-radius: 20rpx;
  217. margin: 20rpx;
  218. }
  219. .menu {
  220. margin: 20rpx;
  221. border-radius: 20rpx;
  222. padding: 20rpx;
  223. background-color: #fff;
  224. box-shadow: 0 0 10rpx 10rpx #00000009;
  225. image {
  226. width: 80rpx;
  227. height: 80rpx;
  228. margin-top: 10rpx;
  229. }
  230. .menu-text {
  231. font-size: 28rpx;
  232. margin-bottom: 10rpx;
  233. margin-top: 10rpx;
  234. }
  235. }
  236. .notice {
  237. margin: 0 20rpx;
  238. /deep/ .uv-notice-bar {
  239. background: linear-gradient(to right, #f9edc9, #dfedd6);
  240. border-radius: 16rpx;
  241. }
  242. /deep/ .uv-notice {
  243. padding: 14rpx 0;
  244. }
  245. /deep/ .uv-icon__icon {
  246. font-size: 36rpx !important;
  247. color: #000 !important;
  248. }
  249. }
  250. .map {
  251. margin: 20rpx;
  252. height: 100rpx;
  253. border-radius: 16rpx;
  254. image {
  255. width: 100%;
  256. height: 100%;
  257. }
  258. }
  259. .commodity {
  260. display: flex;
  261. justify-content: center;
  262. align-items: center;
  263. margin: 20rpx;
  264. border-radius: 16rpx;
  265. background-color: #fff;
  266. .box {
  267. width: 100%;
  268. margin: 20rpx;
  269. .top {
  270. display: flex;
  271. border-left: 6rpx solid #A3D250;
  272. align-items: center;
  273. justify-content: space-between;
  274. .top-text {
  275. margin-left: 20rpx;
  276. view:nth-child(1) {
  277. font-size: 24rpx;
  278. color: #474747;
  279. }
  280. view:nth-child(2) {
  281. font-size: 32rpx;
  282. color: #A3D250;
  283. font-weight: 600;
  284. }
  285. }
  286. .top1 {
  287. font-size: 26rpx;
  288. color: #fff;
  289. padding: 10rpx 30rpx;
  290. background-color: #F6CD59;
  291. border-radius: 30rpx;
  292. }
  293. }
  294. }
  295. .centre {
  296. margin: 40rpx 20rpx;
  297. display: flex;
  298. align-items: center;
  299. justify-content: center;
  300. .boxs {
  301. display: flex;
  302. width: 100%;
  303. align-items: center;
  304. .images {
  305. width: 180rpx;
  306. height: 140rpx;
  307. flex-shrink: 0;
  308. border-radius: 8rpx;
  309. overflow: hidden;
  310. image {
  311. width: 100%;
  312. height: 100%;
  313. }
  314. }
  315. .box-fone {
  316. margin-left: 20rpx;
  317. view:nth-child(1) {
  318. font-size: 36rpx;
  319. color: #474747;
  320. }
  321. view:nth-child(2) {
  322. margin-top: 10rpx;
  323. font-size: 28rpx;
  324. color: #A2A2A2;
  325. }
  326. }
  327. .box-text,
  328. .box-img {
  329. flex: 1;
  330. }
  331. .box-text {
  332. view:nth-child(1) {
  333. font-size: 32rpx;
  334. font-weight: 500;
  335. margin-top: 30rpx;
  336. }
  337. view:nth-child(2) {
  338. font-size: 28rpx;
  339. color: #CCCCCC;
  340. margin-bottom: 30rpx;
  341. }
  342. .text1 {
  343. color: red;
  344. font-size: 68rpx;
  345. }
  346. .text2 {
  347. font-size: 28rpx;
  348. color: #CCCCCC;
  349. }
  350. }
  351. .box-img {
  352. image {
  353. height: 100%;
  354. width: 100%;
  355. }
  356. }
  357. }
  358. }
  359. }
  360. .qr {
  361. margin-top: 40rpx;
  362. .scan {
  363. text-align: center;
  364. font-size: 28rpx;
  365. color: #A2A2A2;
  366. }
  367. .qr-scan {
  368. margin: 20rpx auto;
  369. width: 400rpx;
  370. height: 400rpx;
  371. image {
  372. height: 100%;
  373. width: 100%;
  374. }
  375. }
  376. .qr-bottom {
  377. display: flex;
  378. font-size: 28rpx;
  379. color: #A2A2A2;
  380. justify-content: space-around;
  381. view {
  382. border: 2rpx solid #A2A2A2;
  383. padding: 20rpx;
  384. border-radius: 45rpx;
  385. }
  386. }
  387. }
  388. }
  389. </style>