更新记录

1.1.0(2025-10-06)

星云旅行

项目介绍

星云旅行是一个基于uni-app和uniCloud开发的现代化旅游服务平台,提供景点推荐、旅行攻略、目的地探索等旅游服务功能,支持多平台部署(微信小程序、H5、APP)。本版本重点优化了用户界面体验,采用高质量的Unsplash图片资源替代原有的emoji图标,大幅提升了视觉效果。

主要功能

核心功能

  • 首页展示:轮播图、分类导航、热门目的地、精选攻略、发现内容
  • 目的地页面:支持多条件筛选(排序方式、目的地类型、行程天数)
  • 攻略页面:支持分类筛选、排序方式、行程天数、旅行方式等多维度筛选
  • 发现页面:旅游内容发现和详情查看
  • 用户系统:个人中心、订单管理、收藏管理等功能

最新优化

  • 视觉升级:全面替换emoji图标为高质量Unsplash真实风景图片
  • 筛选优化:修复了目的地和攻略页面筛选下拉空白问题
  • UI改进:采用uView UI组件库,提供一致的用户体验
  • 性能优化:优化了图片加载和页面渲染性能

技术栈

前端技术

  • 框架:uni-app (Vue.js跨平台框架)
  • UI组件库:vk-uview-ui(已正确配置和引入)
  • 状态管理:Vuex
  • 样式预处理:SCSS
  • 图片资源:Unsplash高质量图片API

后端技术

  • 云开发:uniCloud (阿里云)
  • 数据库:NoSQL数据库
  • 用户系统:uni-id
  • 云函数框架:vk-unicloud-router

最近更新内容

  • 修复了目的地页面筛选下拉空白问题
  • 修复了攻略页面筛选下拉空白问题
  • 首页图片全面升级为Unsplash高质量风景图片
  • 优化了筛选组件的数据格式和交互体验

项目结构

├── App.vue              # 应用入口文件
├── main.js              # 应用入口JS
├── pages.json           # 页面路由配置
├── manifest.json        # 应用配置文件
├── app.config.js        # 应用配置文件
├── common/              # 公共资源
│   ├── css/             # 公共样式文件
│   │   ├── activity-styles.scss
│   │   ├── app.scss
│   │   ├── global-styles.scss
│   │   ├── missing-styles.scss
│   │   ├── page-styles.scss
│   │   ├── responsive.scss
│   │   └── uni.scss
│   └── function/        # 公共函数
│       └── myPubFunction.js
├── components/          # 公共组件
├── pages/               # 页面文件
│   ├── index/           # 首页
│   │   └── index.vue    # 首页(包含轮播图、分类导航、热门目的地等)
│   ├── login/           # 登录注册
│   │   ├── login.vue    # 登录页面
│   │   └── register.vue # 注册页面
│   ├── my/              # 用户中心模块
│   │   ├── my.vue       # 个人中心主页
│   │   ├── agreement.vue # 用户协议
│   │   ├── collection.vue # 我的收藏
│   │   ├── coupon.vue   # 优惠券
│   │   ├── feedback.vue # 意见反馈
│   │   ├── footprint.vue # 我的足迹
│   │   ├── help.vue     # 帮助中心
│   │   ├── invite.vue   # 邀请好友
│   │   ├── orders.vue   # 我的订单
│   │   ├── privacy-policy.vue # 隐私政策
│   │   ├── setting.vue  # 设置页面
│   │   ├── strategy.vue # 我的攻略
│   │   └── trip.vue     # 行程管理
│   ├── destination/     # 目的地模块
│   │   ├── destination.vue # 目的地列表(支持多条件筛选)
│   │   └── detail.vue   # 目的地详情
│   ├── discover/        # 发现模块
│   │   ├── discover.vue # 发现页面
│   │   └── detail.vue   # 发现详情
│   ├── search/          # 搜索功能
│   │   └── search.vue   # 搜索页面
│   ├── strategy/        # 攻略模块
│   │   ├── strategy.vue # 攻略列表(支持多维度筛选)
│   │   └── detail.vue   # 攻略详情
│   └── trip/            # 行程规划
│       ├── detail.vue   # 行程详情
│       └── planning.vue # 行程规划
├── static/              # 静态资源
│   ├── logo.png         # 应用Logo
│   └── tabbar/          # 底部导航栏图标
│       ├── destination-active.svg # 目的地激活图标
│       ├── destination.svg       # 目的地默认图标
│       ├── discover-active.svg   # 发现激活图标
│       ├── discover.svg          # 发现默认图标
│       ├── home-active.svg       # 首页激活图标
│       ├── home.svg              # 首页默认图标
│       ├── profile-active.svg    # 个人中心激活图标
│       ├── profile.svg           # 个人中心默认图标
│       ├── strategy-active.svg   # 攻略激活图标
│       └── strategy.svg          # 攻略默认图标
├── store/               # Vuex状态管理
│   ├── index.js         # Store入口文件
│   └── modules/         # 状态模块
│       ├── $app.js      # 应用状态
│       └── $user.js     # 用户状态
├── uni_modules/         # uni-app模块
│   ├── uni-config-center/ # 配置中心
│   ├── uni-id/          # 用户认证系统
│   ├── vk-uni-pay/      # 支付模块
│   ├── vk-unicloud/     # 云开发框架
│   └── vk-uview-ui/     # UI组件库(已正确配置)
├── uniCloud-aliyun/     # uniCloud云开发资源
│   ├── cloudfunctions/  # 云函数
│   │   └── router/      # 路由云函数
│   └── database/        # 数据库配置
│       ├── JQL查询.jql  # JQL查询配置
│       └── db_init.json # 数据库初始化
├── uni.scss             # 全局样式变量
├── template.h5.html     # H5模板文件
├── index.html           # 入口HTML文件
├── app.config.js        # 应用配置文件
├── package.json         # 项目配置
├── package-lock.json    # 依赖锁文件
└── unpackage/           # 打包输出目录
    └── dist/
        └── cache/

安装指南

前置条件

  • 安装HBuilderX编辑器
  • 注册DCloud开发者账号
  • 创建uniCloud云服务空间

项目导入

  1. 克隆或下载项目代码
  2. 在HBuilderX中导入项目
  3. 关联uniCloud云服务空间

云开发环境配置

  1. 右键点击uniCloud目录,选择运行云服务空间初始化向导
  2. 根据提示完成初始化配置
  3. 上传common模块和router云函数

前端开发配置

  1. main.js已配置uView UI引入

    import uView from './uni_modules/vk-uview-ui';
    Vue.use(uView);
  2. App.vue已引入基础样式

    <style lang="scss">
    @import "./uni_modules/vk-uview-ui/index.scss";
    </style>
  3. uni.scss已引入全局变量

    @import "@/uni_modules/vk-uview-ui/theme.scss";

功能页面说明

首页 (pages/index/index.vue)

应用的首页,展示热门景点、推荐旅行路线和优惠活动,包含底部导航栏。

登录页 (pages/login/login.vue)

用户登录界面,支持账号密码登录、短信验证码登录和第三方登录。

用户中心 (pages/profile/profile.vue)

用户个人中心,展示用户基本信息、订单统计、旅行记录和功能入口。

景点详情 (pages/destination/detail.vue)

展示景点详细信息,包括景点介绍、门票价格、开放时间,支持预订和评价功能。

景点分类 (pages/destination/list.vue)

按景点类型浏览的页面,如自然风光、历史文化、主题公园等分类。

消息通知 (pages/notice/index.vue)

展示系统通知、订单状态更新和旅行提醒。

预订服务 (pages/booking/index.vue)

用户预订服务的页面,选择预订时间、地址和服务类型。

搜索页面 (pages/search/index.vue)

提供景点搜索功能,包括搜索历史、热门景点和搜索结果展示。

订单管理 (pages/order/list.vue)

管理用户的预订订单,查看订单状态、行程进度和历史订单。

地址管理 (pages/address/index.vue)

管理常用地址,支持添加、编辑和删除地址。

设置页面 (pages/settings/index.vue)

应用相关设置,包括账号安全、隐私设置、消息通知设置等。

支付页面 (pages/payment/index.vue)

处理订单支付,支持多种支付方式。

评价系统 (pages/evaluation/index.vue)

用户对景点进行评价和反馈的页面。

帮助中心 (pages/help/index.vue & pages/help/detail.vue)

提供常见问题解答、旅行指南和意见反馈功能。

开发说明

云函数调用方式

项目使用vk-unicloud-router框架,通过统一的云函数入口调用各业务逻辑:

vk.callFunction({
    url: 'service路径',
    data: { /* 请求参数 */ },
    success: (res) => { /* 成功回调 */ }
});

数据库操作

使用vk.baseDao API简化数据库操作:

  • 支持增删改查基本操作
  • 提供连表查询、分页查询等高级功能
  • 内置权限控制和数据过滤

发布部署

微信小程序

  1. 在manifest.json中配置微信小程序信息
  2. 选择发行 -> 小程序-微信
  3. 按照提示完成发布流程

H5

  1. 选择发行 -> H5
  2. 配置相关参数后生成H5包
  3. 部署到Web服务器

APP

  1. 选择发行 -> App云端打包
  2. 配置应用信息和证书
  3. 等待打包完成并下载安装包

注意事项

  1. 开发环境和生产环境需要分别配置
  2. 敏感信息如AppID、密钥等应配置在安全的地方
  3. 云函数修改后需要重新上传才能生效
  4. 数据库 schema 修改后需要同步更新

License

Apache-2.0


平台兼容性

云端兼容性

阿里云 腾讯云 支付宝云

uni-app(4.36)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟

其他

多语言 暗黑模式 宽屏模式
× ×

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。