uni-app 酒店预订模板需求

发布于 1周前 作者 bupafengyu 来自 Uni-App

uni-app 酒店预订模板需求

类似携程app的模板

1 回复

针对您提出的uni-app酒店预订模板需求,以下是一个简化的代码案例,涵盖了酒店列表展示、酒店详情查看以及预订功能的基本框架。请注意,这只是一个基础示例,实际项目中可能需要根据具体需求进行扩展和优化。

1. 项目结构

假设项目结构如下:

- pages/
  - hotel-list/
    - hotel-list.vue
  - hotel-detail/
    - hotel-detail.vue
- store/
  - index.js (Vuex状态管理,用于存储酒店数据等)
- main.js
- App.vue

2. main.js

import Vue from 'vue'
import App from './App'
import store from './store'
import uniViews from 'uni-ui'

Vue.use(uniViews)

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    store,
    ...App
})
app.$mount()

3. store/index.js

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    state: {
        hotels: [] // 存储酒店数据
    },
    mutations: {
        SET_HOTELS(state, hotels) {
            state.hotels = hotels
        }
    },
    actions: {
        fetchHotels({ commit }) {
            // 模拟异步获取酒店数据
            setTimeout(() => {
                commit('SET_HOTELS', [
                    { id: 1, name: 'Hotel A', price: 200 },
                    { id: 2, name: 'Hotel B', price: 300 }
                ])
            }, 1000)
        }
    }
})

4. pages/hotel-list/hotel-list.vue

<template>
    <view>
        <button @click="goToDetail(hotel)" v-for="hotel in hotels" :key="hotel.id">
            {{ hotel.name }} - ${{ hotel.price }}
        </button>
    </view>
</template>

<script>
export default {
    computed: {
        hotels() {
            return this.$store.state.hotels
        }
    },
    methods: {
        goToDetail(hotel) {
            uni.navigateTo({
                url: `/pages/hotel-detail/hotel-detail?id=${hotel.id}`
            })
        }
    },
    mounted() {
        this.$store.dispatch('fetchHotels')
    }
}
</script>

5. pages/hotel-detail/hotel-detail.vue

<template>
    <view>
        <text>Hotel Detail Page</text>
        <!-- 根据传入的id展示具体酒店详情 -->
    </view>
</template>

<script>
export default {
    onLoad(options) {
        // 根据options.id获取并展示酒店详情
    }
}
</script>

以上代码提供了一个基本的酒店预订模板框架,包括酒店列表展示和详情查看的页面跳转逻辑。预订功能的具体实现需要结合实际业务逻辑,可能涉及表单提交、支付接口调用等步骤,这里不再展开。

回到顶部