uniapp代驾+顺风车+货运三合一源码分享

原生开发代驾+顺风车+货运

客户端:Uniapp 开发

司机端:Uniapp 开发

后台:Thinkphp5 框架

数据库:MySQL

代驾货运顺风车同城拼车打车网约车系统源码app小程序 

​​​​​​​

功能详情介绍:

车主实名认证,驾驶证认证,车辆信息认证,后台审核,代驾管理,顺风车管理会员管理  认证管理  代驾管理  顺风车管理  分类管理  提现管理  优惠券管理  车辆设置  地图  平台管理  问题投诉  资料档案  权限管理  常规管理

支持:安卓app  苹果app  小程序

出行类的系统,货运,打车,代驾等类型,都会包含司机端和用户端两个端口,司机端一般采用app版本,目前市场上开发app一般分为两种方式,原生开发安卓常用java,ios常用的是Objective-C语言,而混合APP现在软件开发公司最常用的还是uniapp,vue语言。

为什么用UNIAPP开发?

UNIAPP框架简单,学习成本低,开发周期短,一套代码可生成多端版本(h5、小程序(各个平台)、APP),这就是现在为什么软件开发公司使用UNIAPP开发了

 

 

附上顺风车页面代码:

<template>
    <view>
        <view class="header">
            <image src="../../static/booklist-header.png" mode=""></image>
        </view>
        <empty top="180" v-if="list.length==0" text="暂无车主"></empty>
        <view style="padding-bottom: 150rpx;">
            <view @click="toDetail(item.id)"  v-for="(item,i) in list"
             :key="i">
                <view class="text-center blue bold">
                    {{item.start_time}}
                </view>
                <view class="flex mt-10">
                    <view class="">
                        <text class="gray-2">【车主】</text>{{item.driver_name}}
                    </view>
                    <view class="flex1 flex-middle">
                        <text class="gray-2">【余座】</text>{{item.more_seats}}
                        <u-icon name="arrow-right" color="rgba(51,51,51,0.3)" size="35"></u-icon>
                    </view>
                </view>
                <view class="mt-10">
                    <text class="gray-2">【车型】</text>{{item.car_type}}
                </view>
                <view class="flex1 mt-10">
                    <text class="gray-2">【路线】</text>
                    <view class="u-flex-1">
                        {{item.route}}
                    </view>
                </view>
                <view class="flex1 mt-10">
                    <text class="gray-2">【备注】</text>
                    <view class="u-flex-1">
                        {{item.remark}}
                    </view>
                </view>
                <view class="mt-10">
                    <text class="gray-2">【评分】</text>
                    <text class="red">{{item.score}}分</text>
                </view>
                <view class="flex flex-end mt-20">
                    <view class="">
                        摊费<text class="red">¥{{item.car_price}}</text>/座
                    </view>
                    <view class="bg-green white ptb-10 plr-20 ml-20" @click.stop="book(item.id)">
                        预订
                    </view>
                </view>
            </view>
        </view>
        <u-loadmore v-show="list.length>9" :status="status" icon-type="flower" bg-color="transperant" margin-top="30"
         margin-bottom="30" />
        <bookTip class="fixed-bottom"></bookTip>
    </view>
</template>

<script>
    import {mapState} from 'vuex'
    export default {
        data() {
            return {
                list:[],
                page:1,
                status: 'loadmore',
            };
        },
        computed:{
            ...mapState(['start','end','city1','city2'])
        },
        onShow() {
            this.page = 1
            this.list = []
            this.init()
        },
        mounted() {
            uni.setNavigationBarTitle({
                title:this.city1+'——'+this.city2
            })
        },
        onPullDownRefresh() {
            this.page = 1
            this.list = []
            this.init()
        },
        onReachBottom() {
            //避免多次触发
            if (this.status == 'loading' || this.status == 'nomore') {
                return;
            }
            this.status = "loading";
            this.init()
        },
        methods:{
            init(){
                this.$http('/addons/ddrive/sforder/order_index',{
                    order_type:2,
                    start_city: this.start.city,
                    end_city: this.end.city,
                    page: this.page
                },"POST").then(data=>{
                    console.log(data);
                    if (data.length < 10) {
                        this.status = "nomore"
                    } else {
                        this.page = this.page + 1
                        this.status = "loadmore"
                    }
                    this.list = this.list.concat(data)
                    uni.stopPullDownRefresh();
                })
            },
            book(id){
                uni.navigateTo({
                    url:'/pages/shunfeng/confirm-book?id='+id
                })
            },
            toDetail(id){
                uni.navigateTo({
                    url:'/pages/shunfeng/order-detail?id='+id
                })
            }
        }
    }
</script>

<style lang="scss">
    .header {
        image {
            width: 100%;
            height: 310rpx;
        }
    }
</style>

 有什么问题可以楼下留言!或者私信我!我会一一回复大家

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值