订餐系统

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>蜡笔小新订餐网</title>
    <link rel="shortcut icon" href="images/logo.png" />
    <link rel="stylesheet" href="basic.css" />

</head>
<style>

    #lishi{
        width:170px;
        height:160px;
        position:absolute;
        left:290px;
        top:67px;
        text-align:center;
        font-size:14px;
        color:#666;
        cursor:pointer;
    }
    .bigbox #shopcar{
        width:180px;
        height:638px;
        background:rgba(204,204,204,0.8);
        display:none;
        position:absolute;
        top:-5px;
        right:-180px;
        border-radius:16px;
        font-size:12px;
        color:#333;
        opacity:1;
   animation:two 1s;
   -moz-animation:two 1s; /* Firefox */
   -webkit-animation:two 1s; /* Safari and Chrome */
   -o-animation:two 1s; /* Opera */
    }

    .bigbox #shopcar #food{
        margin-left:15px;
        margin-top:12px;
    }
    .bigbox #shopcar #allprice{
        font-size:12px;
        color:#333;
        margin-left:15px;
    }
    .bigbox #shopcar #addnum,#reducenum{
        display:inline-block;
        width:18px;
        height:18px;
    }
    .bigbox #shopcar #addnum{
        margin-left:28px;
        margin-right:8px;
        background:url(images/num.png) -28px 0px;
        position:absolute;
        left:80px;
    }
    .bigbox #shopcar #reducenum{
        margin-left:7px;
        background:url(images/num.png) -1px 0px;
        position:absolute;
        left:145px;
    }
    .bigbox #shopcar #num{
        display:inline-block;
        width:30px;
        height:20px;
        text-align:center;
        line-height:20px;
        position:absolute;
        left:124px;
    }
    .bigbox #shopcar #order{
        display:inline-block;
        width:50px;
        height:20px;
        background:#666;
        border-radius:6px;
        color:#fff;
        line-height:20px;
        text-align:center;
        position:absolute;
        right:8px;
        bottom:10px;
        z-index:1;
        cursor:pointer;
    }
    #foodnum{
        display:inline-block;
        background-color:#F00;
        color:#fff;
        width:20px;
        height:20px;
        text-align:center;
        line-height:20px;
        border-radius:20px;
        position:absolute;
        right:55px;
        top:13px;
    }
    #left #imgs{
        width:401px;
        height:283px;
        position: relative;
        top:130px;
        left:20px;
        border:#fff 2px solid;
        border-radius:8px;
    }
    #imgs #scroll_num{
        position:absolute;
        left:15px;
        bottom:5px;
    }
    #imgs #scroll_num li{
        display:inline-block;
        width:15px;
        height:15px;
        list-style:none;
        border:#999 1px solid;
        text-align:center;
        line-height:15px;
        color:#999;
        border-radius:5px;
        cursor:pointer;
    }
    #imgs #scroll_num .theLi{
        border:red 1px solid;
    }
    #bgdetails{
        width:1000px;
        height:630px;
        background:rgba(204,204,204,0.9);
        position:absolute;
        z-index:20;
        border-radius:14px;
        display:none;
        text-align:center;
        line-height:30px;
        color:#000;
    }
    #bgdetails hr{
        width:800px;
        color:#eee;
    }
    #close_bg{
        display:inline-block;
        width:30px;
        height:30px;
        border:#90C solid 1px;
        border-radius:30px;
        color:#90C;
        line-height:30px;
        text-align:center;
        font-size:32px;
        margin-left:950px;
        margin-top:15px;
        }
    #close_bg:hover{
        border:#f00 solid 1px;
        color:#f00;
    }
    #detimg{
       border:2px solid #90C;
       border-radius:12px;
    }
    #hot{
      position:relative;
      top:70px;
      left:80px;
    }
    #hotp{
       position:absolute;
       color:#fff;
       font-size:13px;
       top:-28px;
       left:38px;
    }

#hot0,#hot1,#hot2{
    position:relative;
    top:-10px;
  color:#666;
  font-size:14px;
  line-height:30px;
  cursor:pointer;
}
#hr{
    display:block;
    border-radius:5px 5px;
    width:20px;
    height:20px;
    color:#fff;
    position:relative;
    left:95px;
    top:-30px;
    font-size:15px;
    text-align:center;
}
#hc{
    display:block;
    border-radius:5px 5px;
    width:20px;
    height:20px;
    color:#fff;
    position:relative;
    left:-100px;
    top:27px;
}
#show{
cursor:pointer;
}

</style>
<link rel="stylesheet" href="shopcar_1.css" >
<body>
    <div class="bigbox">
        <div id="hidebg"></div>
        <div id="bgdetails">
            <span id="close_bg">X</span>
        </div>
        <div class="smallbox">
        <div id="left">
            <div id="bgleft"></div>
            <div id="hot">
            <p id="hotp">今日热销</p>
              <p><img src="images/hot.png" /><span id="hot0">敬请期待</span></p>
               <p><img src="images/hot.png" /><span id="hot1">敬请期待</span></p>
                <p><img src="images/hot.png" /><span id="hot2">敬请期待</span></p>
            </div>
            <div id="content" style="display:none">
                <p><span id="details">菜单详情</span><span id="x">X</span></p>
                <div id="foodimg">
                    <div id="foods"></div>
                </div>
                <span id="dishes"></span>
                <span id="normal"></span>
                <span id="real"></span>
                <span id="buyfood">立即购买</span>
            </div>
            <p id="jilu">历史记录</p>
            <div id="lishi"></div>
            <p id="time"></p>
            <div id="imgs">
                <img src="images/1.jpg" id="pic"/>
                <ul id="scroll_num">
                    <li onmouseover="show(1)" onmouseout="start()" id="theLi1" class="theLi">1</li>
                    <li onmouseover="show(2)" onmouseout="start()" id="theLi2">2</li>
                    <li onmouseover="show(3)" onmouseout="start()" id="theLi3">3</li>
                </ul>
            </div>
        </div>
        <div id="right">
            <div id="show"></div>
        </div>
        <div id="Login">
            <span id="close">X</span>
            <form action="" name="myform">
                <p>用户名:<input type="text" id="username" name="username" /></p>
                <p>密&nbsp;码:<input type="password" id="pwd" name="pwd" /></p>
                <p>验证码:<input type="text" name="valcode"id="valcode" /></p>
                <img src="http://192.168.15.59:8080/res/verifyCodeServlet" id="codeimg" alt="看不清,点击切换"/>
            </form>
            <p id="word">LOGIN</p>
        </div>
        <div id="Login_1">
            <span id="close_x">X</span>
            <form action="" name="myform1">
                <p>送货地址:<input type="text" id="address" name="address" /></p>
                <p>联系方式:<input type="password" id="tel" name="tel" /></p>
                <p>送货时间:<input type="text" name="deliverytime"id="deliverytime" /></p>
                <p>附&nbsp;&nbsp;言:<input type="text" name="ps"id="ps" /></p>
            </form>
            <p id="word_1">确认</p>
        </div>
    </div>
    <div class="button">
        <span id="showuser" style="display:none"></span>
        <span id="login"><b>登录</b></span>
        <div id="car"></div>
        <span id="foodnum" style="display:none"></span>
        <!--<span id="shop"><b>购物车</b></span>-->
    </div>
    <div id="shopcar">
        <span id="order">确定下单</span>
    </div>
</div>

<div id="volet_clos">
<div id="volet">
<a href="#volet_clos" aria-hidden="true" id="hc"><img src="images/hc.png" /></a>
 <p>版权所在</p>
  <p>廖友新&&丁俐伊</p>
   <a href="#volet" aria-hidden="true" id="hr"><img src="images/hr.png" /></a>
</div>
</div>
    <script src="../json/yc.js"></script>
    <script>
        //图片轮换
        var theLi=document.querySelectorAll("#scroll_num li");
        for(var i=0;i<theLi.length;i++){

        }
        var timer=setInterval("show()",2000);
        var index=1;
        function show(id){
            if(id){
                clearInterval(timer);
                index=id;
            }else{
                index=index%3+1;
            }
            if(index==1){
                yc.$("#theLi1").setAttribute("style","border:1px solid red;");
                yc.$("#theLi2").setAttribute("style","border:1px solid #999;");
                yc.$("#theLi3").setAttribute("style","border:1px solid #999;");
            }else if(index==2){
                yc.$("#theLi2").setAttribute("style","border:1px solid red;");
                yc.$("#theLi1").setAttribute("style","border:1px solid #999;");
                yc.$("#theLi3").setAttribute("style","border:1px solid #999;");
            }
            else if(index==3){
                yc.$("#theLi3").setAttribute("style","border:1px solid red;");
                yc.$("#theLi1").setAttribute("style","border:1px solid #999;");
                yc.$("#theLi2").setAttribute("style","border:1px solid #999;");
            }
            document.getElementById("pic").setAttribute("src","images/"+index+".jpg");

        }
        function start(){
            timer=setInterval("show()",2000);
        }
        //登录框显示隐藏
        var myLogin=document.getElementById("login");
        var myTheLogin=document.getElementById("Login");
        var theClose=document.getElementById("close");
        myLogin.onclick=function(){
            yc.$("#Login").style.display="block";
            yc.$("#hidebg").style.display="block";
        };
        theClose.onclick=function(){
            myTheLogin.style.display="none";
            yc.$("#hidebg").style.display="none";
        };
        //购物车
        var theLogin=document.getElementById("car");
        var theTheLogin=document.getElementById("Login_1");
        var myClose=document.getElementById("close_x");
        theLogin.onclick=function(){
            theTheLogin.style.display="block";
        };
        myClose.onclick=function(){
            theTheLogin.style.display="none";
        };
        //单击更换验证码yc.$("")
        yc.$("#codeimg").onclick=function(){
            //缓存问题  很严重
            //当两个请求是一模一样的时候,客户端是不会重新去发送请求,而是就用原先的那个请求
            //解决:把请求变的不一样  在后面加 Math.random()  或者 date.getTime()
                this.src="http://218.196.14.220:8080/res/verifyCodeServlet?vacode"+Math.random();
        };
        //用户登录
        yc.$("#word").onclick=function(){
            //1拼接参数
            var url="op=login&"+yc.serialize(myform);
            //console.log(url);
            //定义options
            var options={
                success:function(){
                    //先获取数据
                    var json=this.responseJSON;
                    if(json.code==0){
                        alert("用户名或者密码错误");
                    }else if(json.code==1){
                        //登录成功
                        yc.$("#Login").style.display="none";
                        yc.$("#hidebg").style.display="none";
                        yc.$("#login").style.display="none";
                        yc.$("#showuser").style.display="block";                    //防止a标签跳转网页
                        yc.$("#showuser").innerHTML="欢迎,"+yc.$("#showuser").value+"。<a href=‘javascript:void(0)‘ id=‘exit‘ onclick=‘ex()‘>退出</a>";
                    }
                }
            };
            //发请求
            yc.xssRequest("http://218.196.14.220:8080/res/resuser.action?"+url,options);
        };

        //每次刷新网页的时候,我们应该判断一下用户有没有登录
        window.onload=function(){
            var options={
                success:function(){
                    //得到响应的值
                    var json=this.responseJSON;
                    if(json.code==1){
                        //有登陆
                        yc.$("#login").style.display="none";
                        yc.$("#showuser").style.display="block";                    //防止a标签跳转网页
                        yc.$("#showuser").innerHTML="欢迎,"+json.obj.username+"。<a href=‘javascript:void(0)‘ id=‘exit‘ onclick=‘ex()‘>退出</a>";
                    }else{
                        //意味着没有登录,或者已经退出
                        yc.$("#login").style.display="block";
                        yc.$("#showuser").style.display="none";
                    }
                }
            };
            yc.xssRequest("http://218.196.14.220:8080/res/resuser.action?op=checkLogin",options);
        };

        //退出
        function ex(){
            //清空登录信息
            yc.$("#showuser").innerHTML="";
            yc.$("#login").style.display="block";
            yc.$("#showuser").style.display="none";
            var options={
                success:function(){
                    //删除cookie,在服务器端已经帮我们做了,所以这里不需要做任何操作
                }
            };
            yc.xssRequest("http://218.196.14.220:8080/res/resuser.action?op=logout",options);
        }

        //菜的显示
        var str="";
        var options={
            success:function(){
                var json=this.responseJSON;
                for(var i=0;i<json.obj.length;i++){
                    str+="<div width=‘180px‘ height=‘40px‘ class=‘menuPic‘ id=‘f"+i+"‘>";
                    str+="<img width=‘40px‘ height=‘40px‘ id=‘foodPic‘ src=‘http://218.196.14.220:8080/res/images/"+json.obj[i].fphoto+"‘>";
                    str+="<span id=‘foodid‘>"+json.obj[i].fname+"</span>";
                    str+="</div>";
                }
                yc.$("#show").innerHTML=str;

                //添加点击事件
                for(var i=0;i<json.obj.length;i++){
                    //闭包
                    (function(index){
                        yc.$("#f"+index).onclick=function(){
                            //显示层
                            yc.$("#content").style.display="block";
                            yc.$("#bgleft").style.display="block";

                             fid=json.obj[index].fid;
                            yc.$("#foods").innerHTML=‘<img id="s‘+fid+‘" width="142px" height="95px" src="http://218.196.14.220:8080/res/images/‘+json.obj[index].fphoto+‘">‘;
                            yc.$("#dishes").innerHTML=‘菜名:‘+json.obj[index].fname;
                            yc.$("#normal").innerHTML=‘标准价:‘+json.obj[index].normprice;
                            yc.$("#real").innerHTML=‘惊爆价:‘+json.obj[index].realprice;
                        };
                        yc.$("#x").onclick=function(){
                            //删除层
                            yc.$("#content").style.display="none";
                            yc.$("#bgleft").style.display="none";
                        };
                        yc.$("#hot0").innerHTML="<img width=‘40px‘ height=‘40px‘ src=‘http://218.196.14.220:8080/res/images/"+json.obj[5].fphoto+"‘>";
                        yc.$("#hot1").innerHTML="<img width=‘40px‘ height=‘40px‘ src=‘http://218.196.14.220:8080/res/images/"+json.obj[6].fphoto+"‘>";
                        yc.$("#hot2").innerHTML="<img width=‘40px‘ height=‘40px‘ src=‘http://218.196.14.220:8080/res/images/"+json.obj[7].fphoto+"‘>";

                        //显示历史数据
                        yc.$("#lishi").innerHTML="";
                        showHistory();
                    })(i)
                }
            }
        };
        yc.xssRequest("http://192.168.15.237:8080/res/resfood.action?op=findAllFoods",options);

        //历史记录详情
        function showHistory(){
            var options={
                success:function(){
                    var json=this.responseJSON.obj;
                    //console.log(json);
                    for(var i=json.length-1;i>=0;i--){
                        //倒序输出,因为最新的历史记录,应该是显示在最前面
                        var bname=json[i].fname;
                        var p=document.createElement("p");
                        p.id=json[i].fid;
                        p.innerHTML=bname;

                        var tag=yc.$("#lishi").getElementsByTagName("p");
                        if(tag.length>=8){
                            yc.$("#lishi").removeChild( yc.$("#lishi").firstChild );
                            yc.$("#lishi").appendChild(p);
                        }else{
                            //添加子节点
                            yc.$("#lishi").appendChild(p);
                        }
                    }

                    yc.$("#lishi").onclick=function(){

                    }
                }
            };
            yc.xssRequest("http://192.168.15.237:8080/res/resfood.action?op=findAllSelectedFoods",options);
        }

        //购买食物
        yc.$("#buyfood").onclick=function(){
            var options={
                success:function(){
                    var json=this.responseJSON;
                    if(json.code!=1){
                        alert(json.msg);
                    }else{
                        //成功
                        shop();
                    }
                }
            };
            yc.xssRequest("http://192.168.15.237:8080/res/resorder.action?op=order&fid="+fid+"&num=1",options);
        };

        // 购物车
        function shop(){
            //alert("添加成功");
            // 先找出购物车里所有的东西
            var shopcar={
                success:function(){
                    var json=this.responseJSON;
                    var count=0;
                    // 因为不是数组了,所以不能直接length出长度
                    for( var a in json.obj){
                        if( json.obj.hasOwnProperty(a)){  //  存在这个属性
                            count++;
                        }
                    }
                    // 得到你这个里面有多少数据了
                    //console.log( count);
                    if(count>0){
                        yc.$("#shopcar").innerHTML="";
                        // 购物车里有数据,就显示到网页中去
                        for( var i in json.obj){
                            // 先得到所有的数据
                            fprice=json.obj[i].smallCount;
                            fnum=json.obj[i].num;
                            fid=json.obj[i].food.fid;
                            fod=json.obj[i].food;

                            // 创建节点
                            var div=document.createElement("div");
                            var p=document.createElement("p");
                            var span1=document.createElement("span");
                            var span2=document.createElement("span");
                            var span3=document.createElement("span");
                            var span4=document.createElement("span");
                            span3.id="addnum";
                            span4.id="reducenum";

                            yc.$("#content").style.display="none";
                            yc.$("#bgleft").style.display="none";
                            p.id=fid;
                            p.innerHTML="<img width=‘18px‘ height=‘18px‘ src=‘http://218.196.14.220:8080/res/images/"+fod.fphoto+"‘ />&nbsp;&nbsp;"+fod.fname;
                            span1.innerHTML="<span id=‘allprice‘>小计:"+fprice+"</span>";
                            span2.innerHTML="<span id=‘num‘>"+fnum+"</span>";

                            (function(fid){
                                //span3的点击事件,添加数量
                                span3.onclick=function(){
                                    var num=1;
                                    var options={
                                        success:function(){
                                            yc.$("#shopcar").innerHTML=null;
                                            shop();
                                            yc.$("#shopcar").innerHTML=‘<span id="order">确定下单</span>‘;
                                        }
                                    };
                                    yc.xssRequest("http://192.168.15.237:8080/res/resorder.action?op=orderJson&num="+num+"&fid="+fid,options);
                                };
                                //span4的点击事件,添加数量
                                span4.onclick=function(){
                                    var num=-1;
                                    var options={
                                        success:function(){
                                            yc.$("#shopcar").innerHTML=null;
                                            shop();
                                            yc.$("#shopcar").innerHTML=‘<span id="order">确定下单</span>‘;
                                        }
                                    };
                                    yc.xssRequest("http://192.168.15.237:8080/res/resorder.action?op=orderJson&num="+num+"&fid="+fid,options);
                                }
                            })(fod.fid);

                            // 添加到div中去
                            div.appendChild(p);
                            div.appendChild(span1);
                            div.appendChild(span2);
                            div.appendChild(span3);
                            div.appendChild(span4);

                            // 把购物车添加到网页里面去
                            yc.$("#shopcar").insertBefore(div,yc.$("#order"));

                        }
                        //显示商品数量
                        yc.$("#foodnum").style.display="block";
                        yc.$("#foodnum").innerHTML=yc.$("#shopcar").getElementsByTagName("div").length;
                    }else{
                        // 没有数据
                        yc.$("#shopcar").style.display="none";
                    }
                }
            };
            yc.xssRequest("http://192.168.15.237:8080/res/resorder.action?op=getCartInfo",shopcar)
        }

        yc.$("#car").onclick=function(){
            //首先做判断
            var abc=yc.$("#shopcar").getElementsByTagName("div").length;
            if(abc>0){
                //意味着你的购物车有东西
                if(yc.$("#shopcar").style.display!="block"){
                    yc.$("#shopcar").style.display="block";
                }else{
                    yc.$("#shopcar").style.display="none";
                }
            }else{
                //购物车没有东西
                alert("请先添加商品");
            }
        };

    </script>
</body>
</html>
/**
 * Created by Administrator on 2017/5/20.
 */
yc.$("#car").onclick=function(){
    //首先做判断
    if(yc.$("#shopcar").getElementsByTagName("div").length>0){
        //意味着你的购物车有东西
        if(yc.$("#shopcar").style.dipslay="block"){
            yc.$("#shopcar").style.dipslay="block";
        }else{
            yc.$("#shopcar").style.dipslay="none";
        }
    }else{
        //购物车没有东西
        alert("请先添加商品");
    }
}
#volet {
    width: 200px;
    padding: 10px;
    background: #B38EB3;
    color: #fff;
    text-align:center;
    border-radius:10px 10px;
}
#volet a.ouvrir, #volet a.fermer {
    padding: 10px 25px;
    background:#90C;
    color: #fff;
    text-decoration: none;
}
#volet {
    position: absolute;
    left: -190px;  /* test fixed + scroll, on retire la position top */
    -webkit-transition: all .5s ease-in; -moz-transition: all .5s ease-in;
    transition: all .5s ease-in;
}
#volet a.ouvrir, #volet a.fermer {
    position: absolute;
    right: -88px;
    top: 150px;
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -moz-radius: 0 0 8px 8px;
    border-radius: 0 0 8px 8px;
}
#volet a.fermer { display: none; }
#volet:target { left: 10px; } /* code pour la fermeture */
#volet:target a.fermer { display: block; }
#volet:target a.ouvrir { display: none; }
#volet_clos:target #volet { left: -190px; } /* test fixed + scroll */
#volet_clos { position: fixed; top: 55px; left: 0; }

自己做的一个订餐系统的小项目,里面有图片的轮换,登录,验证是否登录,菜单的显示等等。

时间: 2024-10-24 12:43:25

订餐系统的相关文章

用微信点单 订餐系统打造属于个人的O2O外卖订餐行业商业平台

首先,我不能说我是一个成功的微信达人,我也不能说我是一个优秀的互联网专家,但我就目前所使用的一套订餐系统来讲,正在逐渐的规划一个餐饮行业的商业圈! 我所使用的系统叫"微铺子订餐系统",所购买的是[豪华旗舰版],最主要的功能就是:不限制店铺个数!就是看到这点才选择的这套系统!下面我详细说一下思路. 1.建立一个独立平台官网,便于宣传平台,增加可信度.官网不用太花哨,简单明了,毕竟咱是做微信平台的,还是尽量把客户引到微信来,所以,我准备在主页只放一个大的微信二维码,提示客户,我们只针对微信

微铺子点单系统详细介绍 - 争做国内最专业的微信商店平台,微信外卖订餐系统!

什么是微铺子? 微铺子是国内专业的微信点单系统,集成了外卖.点餐.订座等众多功能.通过微铺子,店家可以在微信上建立店铺,消费者只需关注店家的帐号,即可浏览商品与店家的信息,消费者关注到商家后,根据提示,进行点击点单,简单三步,15秒内,即可完成订餐.店家可以通过电脑后台.电子邮件.短信或无线打印机多种方式即时查看订单,并提供相应的服务. 微铺子系统适用于:餐饮.酒店.水果店.蛋糕店.花店.零售.超市等. 微铺子从创立到与合作商家的长期测试,再到正式投入商用,期间不断根据客户的需求完善产品,不断开

订餐系统之获取淘宝外卖订单

当时的情况是这样的:我们一个客户用了我们的订餐系统,也在淘宝外卖上开了店,但是订餐系统中的订单都要通过调度系统,根据配送员的位置,把订单发送给合适的配送员,所以要把淘宝外卖的订单加到订餐系统中(据说淘宝外卖也是因为味捷外卖才开发这个接口的). 淘宝外卖提供的接口我知道的有三个,1.获取未确认的订单:2.确认订单:3.拒绝订单.所以订餐系统要做的就是从淘宝外卖获取未确认的订单.确认订单并加入订餐系统. 开放平台地址: http://open.taobao.com/doc/api_cat_detai

www.vpuzi.cn微铺子微信订餐系统 - 餐饮O2O创业硝烟弥漫 草根创业者如何立足?

(中国电子商务研究中心讯)2014年以淘点点为代表的BAT大佬们杀入餐饮O2O市场了,当餐饮O2O市场狼烟四起.硝烟弥漫,大众点评网.美团和糯米团都在虎视眈眈,草根创业者还有没有机会呢? 中国有上千家的餐饮软件企业,他们在餐饮业扎根多年,难道这一次他们会全军覆没?餐饮O2O市场真的只是资本的战争吗?难道这些平常习惯于空中作战的大佬们深入餐饮腹地依然能够所向无敌?他们所到之处真的会寸草不生?真的会赢者通吃吗?今天,我们就来解析草根餐饮O2O创业者的发展机会. 首先,我认为,以淘点点为代表的BAT大

订餐系统之同步美团商家订单

引子    早上和往常一样去工商大学打球,除了今天三分比较准外,一切都还是那样的循规蹈矩. 也许股子里还有那么一些不甘平庸,总想着能改变一下如此无趣的按部就班. 转过行政楼,一波一波的学生在谈笑风生.哦,是了,又到拍毕业照片的时间了. 又是一年过去了(也不知从何时起,开始以毕业来计年了),弹指一挥间,已经在这里工作7年半了. 一份工作越是做得久,反到越羞于提起.也许是羞于现状,也是羞于未来的我吧.说不清,道不明,有点乱... 脚步也随着不安的思绪加快了频率,迅速的穿过了人群...未来还需多努力,

订餐系统之同步口碑外卖商家菜单与点点送订单

2015年饿了么.百度外卖.美团外卖.口碑外卖几家几乎分完了外卖这碗羹,让其他外卖网站几乎举步维艰,也让那些蠢蠢欲动想进入外卖领域的人犹豫不决了(这估计是要砸我饭碗的节奏啊,ヾ(@⌒ー⌒@)ノ).当然了,喝了外卖这碗羹,肯定得有“产物”,不然,还不被撑破了肚皮么.对,这个"产物"就是外卖订单,是大量的外卖订单,商户的配送员能力非常有限,于是第三方的配送公司如雨后春笋般的冒了出来,当然了,市场大,竞争也非常残酷,有些刚冒出头,就被"扼杀"在襁褓里了:估计还有不少的没找

订餐系统之按距离[根据经纬度]排序、搜索

上周六,写了第一篇博客<订餐系统之权限设计>,在此感谢那些鼓励.关注我的园友们,更要感谢那些提出宝贵建议的朋友们.看了你们的评论,才真切的感受到:朋友们的评论往往会让文章更有看点.上篇文章中 郑明.人生就是赌 等几个园友的留言让我对我们系统的权限优化有了方向.当然,这样的优化肯定不是一天两天的事,做技术的朋友应该都知道:一个难题经常啃啃,某天也许就有了好的方案了(近段时间啃掉了几个2.3年前未处理好的的问题,才想起初中数学老师让我们经常啃一些竞赛题的良苦用心),今天的文章说的就是一个从2010

订餐系统之微信支付

    最近一个项目要增加微信支付的功能,想来这个东西出来这么久了,按微信提供的应该可以很快搞定的,结果提供的demo( JS API网页支付)中各种坑,咨询他们的客服,态度倒是非常好,就是解决不了问题,最后让我发邮件,一想,这个邮件一来一回至少又得好几个小时,没有办法只能根据开发文档一个一个核对,再加上些猜想,终于完成了.为了别的朋友少踩些坑,特此小文,希望对一此朋友有所帮助. 准备工作 当然,要集成微信支付,首先还是要先有一个微网站,熟悉的请飘过,不了解的,可以参考下我之前的一篇小文 订餐系

外卖人订餐系统定制建设开发,送外卖订餐系统商业运营版源码

外卖人订餐系统定制开发,外卖人订餐系统商业运营版源码,本人承接搭建,安装,二次开发. 最新外卖人订餐系统8.5运营版源码,支持 PC+WAP+微信订餐开源运营版可二次开发与功能修改. 安装说明: 服务器空间必须支持PHP + MySQL + 伪静态 1.源码包完整上传至服务器空间,并解压 2.将根目录下的 data.sql 导入到你的 MySQL 数据库. 3.修改 config/hopeconfig.php 里面的数据库信息为自己的数据库名称.账号.密码. 4.后台登录地址 :域名/index