更新记录
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云服务空间
项目导入
- 克隆或下载项目代码
- 在HBuilderX中导入项目
- 关联uniCloud云服务空间
云开发环境配置
- 右键点击
uniCloud
目录,选择运行云服务空间初始化向导
- 根据提示完成初始化配置
- 上传
common
模块和router
云函数
前端开发配置
-
main.js已配置uView UI引入
import uView from './uni_modules/vk-uview-ui'; Vue.use(uView);
-
App.vue已引入基础样式
<style lang="scss"> @import "./uni_modules/vk-uview-ui/index.scss"; </style>
-
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简化数据库操作:
- 支持增删改查基本操作
- 提供连表查询、分页查询等高级功能
- 内置权限控制和数据过滤
发布部署
微信小程序
- 在manifest.json中配置微信小程序信息
- 选择发行 -> 小程序-微信
- 按照提示完成发布流程
H5
- 选择发行 -> H5
- 配置相关参数后生成H5包
- 部署到Web服务器
APP
- 选择发行 -> App云端打包
- 配置应用信息和证书
- 等待打包完成并下载安装包
注意事项
- 开发环境和生产环境需要分别配置
- 敏感信息如AppID、密钥等应配置在安全的地方
- 云函数修改后需要重新上传才能生效
- 数据库 schema 修改后需要同步更新
License
Apache-2.0
平台兼容性
云端兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | √ |
uni-app(4.36)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
√ | × | × |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+