当前位置: 首页 > news >正文

uniapp结合uview制作美食页面

开发一个完整的旅游App页面,包含首页、目的地、行程、我的等主要功能模块。

功能说明

这个旅游信息展示页面包含以下主要功能:

  1. 城市选择功能:点击顶部城市选择器可以弹出城市选择面板,选择任意城市后会更新当前城市显示

  2. 旅游内容展示

    • 顶部轮播图展示热门旅游目的地

    • 中部分类导航(景点门票、酒店住宿、旅游攻略等)

    • 热门推荐横向滚动区域

    • 精选攻略列表展示

  3. UI设计特点

    • 使用渐变色和圆角设计,视觉吸引力强

    • 合理的留白和间距,提高可读性

    • 响应式布局,适应不同屏幕尺寸

  4. 交互体验

    • 城市选择平滑过渡

    • 内容区域滚动流畅

    • 视觉反馈明确

这个页面完全使用vue实现,集成了uView UI和uni-ui组件库,可以直接在浏览器中运行,也可以轻松集成到uni-app项目中。

<template>
    <view style="background-color: #F7F7F6; ">
        <!-- 搜索部分 -->
        <view class="container">
            <!-- 小程序头部兼容 -->
            <!-- <uni-search-bar radius="20" placeholder="搜索服务" clearButton="always" cancelButton='none' @confirm="search" /> -->
            <!-- <headers :colors="colors" :locations="locations" :swiperList="swiperList" ></headers> -->
            <view>
                <!-- 搜索框容器 -->
                <view class="search-container">
                    <!-- 搜索框内部盒子 -->
                    <view class="search-box">
                        <!-- 使用uni-ui 提供的图标组件 -->
                        <uni-icons type="search" size="17"></uni-icons>
                        <text class="search-content" @click="gotoSearch">搜索</text>
                    </view>
                </view>

            </view>
            
            <!-- 城市选择器 -->
            <u-picker
              v-model="showCityPicker"
              :columns="cityColumns"
              @confirm="confirmCity"
              title="选择旅游城市"
              :confirm-color="'#ff7d00'"
            ></u-picker>
            <view class="area" @click="showCityPicker = true">
                请选择
                <uni-icons type="bottom" size="15"></uni-icons>
            </view>
        </view>
        <!-- banner图 -->
        <!-- <view class="banner">

        </view> -->
        <!-- 轮播图 -->
        <swiper class="screen-swiper square-dot" :indicator-dots="false" :circular="true" :autoplay="true"
            interval="5000" duration="500">
            <swiper-item v-for="(item,index) in swiperList" :key="index">
                <!-- <image :src="item.img" mode="aspectFill" class="bannerImg"></image> -->
                <view :style="{backgroundImage: `url(${item.img})` }" class="bannerImg"></view>
            </swiper-item>
        </swiper>
    


          <!-- 分类导航 -->
            <view class="classify">
              <view class="classify-box" v-for="(item, index) in classify" :key="index" @click="gotoClassify(item.title)">
                <view class="classify-img" :style="{ backgroundColor: item.color }">
                  <u-icon :name="item.icon" color="#333" size="24"></u-icon>
                </view>
                <view class="classify-text">{ { item.title }}</view>
              </view>
            </view>


        <!-- 超值优惠 -->
        <view class="preferential">
            <!-- 优惠标题 -->
            <u-section title="特惠旅游套餐" sub-title="查看更多" :show-line="false" class="section" font-size="32"></u-section>

            <!-- 优惠内容 -->
            <view class="pre_content">
                <scroll-view class="scroll-view_H" scroll-x="true" @scroll="scroll">
                    <view id="demo" class="scroll-view-item_H uni-bg-red" v-for="item in preferentialData"
                        :key="item.id">
                        <view class="pre_img">
                        </view>
                        <view class="title">
                            <span class="tuan">团</span>
                            <span class="text">仅售{ {item.price}}元!{ {item.title}}</span>
                        </view>
                        <view class="price">
                            <span class="now_price"><span class="icon">¥</span>{ {item.price.toFixed(2)}}</span>
                            <span class="old_price"
                                style="text-decoration-line: line-through;">市场价:{ {item.storePrice}}元</span>
                        </view>
                    </view>
                </scroll-view>
            </view>
        </view>
        <!-- 为你推荐 -->
        <view class="recom">
            <!--<view class="title">
                <text class="big">为你推荐</text>
                <text class="small" @click="targetOther('recommend')">查看更多</text>
            </view> -->
            <!-- 优惠标题 -->
            <u-section title="为你推荐" sub-title="查看更多" :show-line="false" class="section title_recommend" font-size="32"
                @click="targetOther('recommend')"></u-section>
            <!-- 分类列表 -->
            <view class="recommend">
                <view class="tj-box" v-for="item in recommend">
                    <view class="tj-img" :style="{backgroundImage:`url(${item.imageUrl})`}">
                    </view>
                    <view class="tj-txt">
                        <view class="title">
                            { {item.title}}
                        </view>
                        <view class="tj-wz">
                            <view style="color: #A0A0A0;">
                                <uni-icons color='#F6637C' type="location-filled" size="20"></uni-icons>
                                沙坪坝步行街
                            </view>
                            <view class="" style="color: #FE2121;">
                                250m
                            </view>
                        </view>
                        <view class="tj-zl">
                            <view class="">
                                烧烤烤肉
                            </view>
                            <view class="tj-wm">
                                支持外卖
                            </view>
                        </view>
                        <view class="quan">


文章转载自:

http://j0CZvla2.yzfrh.cn
http://vwWuWwer.yzfrh.cn
http://cDaridCr.yzfrh.cn
http://GbthYgPx.yzfrh.cn
http://0m5vpsLR.yzfrh.cn
http://8B8GF0D6.yzfrh.cn
http://Musqv7iY.yzfrh.cn
http://54EVXNm9.yzfrh.cn
http://TUnkNsIB.yzfrh.cn
http://K4Sv4Ao8.yzfrh.cn
http://0DZyv2NN.yzfrh.cn
http://Mi1dp00T.yzfrh.cn
http://ihx847nR.yzfrh.cn
http://u2kapin9.yzfrh.cn
http://B6P0L9VO.yzfrh.cn
http://ETuswlQA.yzfrh.cn
http://bjzLlu7u.yzfrh.cn
http://4SCH74nZ.yzfrh.cn
http://tyJRJAOT.yzfrh.cn
http://qf3gesAg.yzfrh.cn
http://7FV730F3.yzfrh.cn
http://9Grtn14A.yzfrh.cn
http://eMcA0S60.yzfrh.cn
http://GBXr2vVF.yzfrh.cn
http://M9cguSnr.yzfrh.cn
http://zmmedy4t.yzfrh.cn
http://nQk6kQ8x.yzfrh.cn
http://QYc2t3sX.yzfrh.cn
http://fOAIiHKi.yzfrh.cn
http://qwPuNcUt.yzfrh.cn
http://www.dtcms.com/a/371307.html

相关文章:

  • Spark mapreduce 的一个用法
  • [iOS] push 和 present Controller 的区别
  • 五.贪心算法
  • vue中axios与fetch比较
  • 【iOS】block复习
  • 打造第二大脑读书笔记目录
  • 【Docker】Docker基础
  • 一、CMake基础
  • 【音视频】WebRTC P2P、SFU 和 MCU 架构
  • VBA 自动转化sheet到csv文件
  • rabbitmq 重试机制
  • 《C++进阶之STL》【set/map 使用介绍】
  • 【RabbitMQ】----初识 RabbitMQ
  • WebRTC开启实时通信新时代
  • JVM-默背版
  • Java内存区域与内存溢出
  • Python3使用Flask开发Web项目新手入门开发文档
  • 深入理解跳表:多层索引加速查找的经典实现
  • 从 “Hello AI” 到企业级应用:Spring AI 如何重塑 Java 生态的 AI 开发
  • 大模型架构演进全景:从Transformer到下一代智能系统的技术路径(MoE、Mamba/SSM、混合架构)
  • leetcode 912 排序数组(归并排序)
  • Flutter SDK 安装与国内镜像配置全流程(Windows / macOS / Linux)
  • 【算法】92.反转链表Ⅱ--通俗讲解
  • Spring Cloud Alibaba快速入门02-Nacos(上)
  • Selenium自动化测试
  • B.50.10.11-Spring框架核心与电商应用
  • 芯片ATE测试PAT(Part Average Testing)学习总结-20250916
  • Visual acoustic Field,360+X论文解读
  • Android系统更新系统webview. 2025-09-06
  • Simulink子系统、变体子系统及封装知识