项目经验-博彩网站

本次使用的是由thinkphp的产品onethink开发

以下是本次项目积累的一些经验,方便以后查阅

 

1.在onethink框架内修改团队信息

  因为onethink采用的是插件开发,所以我们必须找到那个并不好找的页面,下面直接给路径

  Addons/DevTeam/widget.html

 

2.onethink需要引用公共资源目录的文件时

  这主要指的是引用public公共资源目录下的东西,配置文件在Application/Home/Conf/config.php

 

  使用的时候需要大写 所有内置标签都需要大写才可以引用

  eg:<script src="__JS__/jquery-1.10.2.js"></script>

 

3.因为前端页面需要适配手机,所以在这里采用bootstrpa作为前端框架

  (1).栅格系统介绍

  这里就简单一下参数:

  col-xs:手机屏幕(超小屏幕)  col-sm:平板(小屏幕)  col-md:桌面显示器(中等屏幕)  col-lg:大桌面显示器(大屏幕)

 

   (2).div垂直居中

  line-height必须要有height属性存在才能够实现垂直居中效果

  

<div style="height: 40px;background: #000;line-height: 40px;width: 100%;text-align: right">
    <span style="color: #999999;">
        登录
    </span>
    <span  style="color: #999999;">
        注册
    </span>
</div>

 

 

4.在onethink里利用公共函数库里面的方法

  

{:get_username()}

   这个函数方法是Onethink的内置函数库,使用该函数是需要登录之后,从这个方法中能够获得登录用户的函数名

  公共的函数肯定是在公共的资源目录下面,在这个文件中的方法都是公共方法,路径如下:

  Application/Common/Common/function.php

 

5.倒计时实时更新源码

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>倒计时js代码 - 懒人建站 http://www.51xuediannao.com/</title>
</head>

<body>

倒计时js代码 - 懒人建站 http://www.51xuediannao.com/ 整理 发布
<DIV id="CountMsg" class="HotDate">
    <span id="t_d">00天</span>
    <span id="t_h">00时</span>
    <span id="t_m">00分</span>
    <span id="t_s">00秒</span>
</DIV>
<script type="text/javascript">
    function getRTime(){
        var EndTime= new Date('2016/09/18 20:24:00'); //截止时间 前端路上 http://www.51xuediannao.com/qd63/
        var NowTime = new Date();
        var t =EndTime.getTime() - NowTime.getTime();
        /*var d=Math.floor(t/1000/60/60/24);
        t-=d*(1000*60*60*24);
        var h=Math.floor(t/1000/60/60);
        t-=h*60*60*1000;
        var m=Math.floor(t/1000/60);
        t-=m*60*1000;
        var s=Math.floor(t/1000);*/

        var d=Math.floor(t/1000/60/60/24);
        var h=Math.floor(t/1000/60/60%24);
        var m=Math.floor(t/1000/60%60);
        var s=Math.floor(t/1000%60);

        document.getElementById("t_d").innerHTML = d + "天";
        document.getElementById("t_h").innerHTML = h + "时";
        document.getElementById("t_m").innerHTML = m + "分";
        document.getElementById("t_s").innerHTML = s + "秒";
    }
    setInterval(getRTime,1000);
    </script>

</body>
</html> 

 

 

6.button和a标签的连接方式 (区别)

  eg:

  

<button class="btn btn-edit" data-id="{$vo.id}"
        data-url="{:U('ShopCat/edit',array('id'=>$vo['id']))}">修改
</button>
<a href="{:U('ShopCat/del?id='.$vo['id'])}"
   class="confirm ajax-get">删除</a>

 

7.拿到数据库的时间戳转化为时间显示

      

<td>{$vo.create_time|date='Y-m-d H:i:s',###}</td>

 

 

 

 

8.使用eq标签

 

<td>
    <eq name="vo.status" value="0">
        <span>未完成</span>
    </eq>
    <eq name="vo.status" value="1">
        <span>已完成</span>
    </eq>
</td>

 

 

9.关于ajax数据绑定注意

    

不成功
$(msg.id).appendTo($("#qihao"));
成功
$("#qihao").html(msg.id);

 

10.在js里的时间戳只能识别13位的和java里的一样

  (1).先从服务端用ajax请求获取服务端时间

    

window.stop_time
window.onload = function () {
    $.ajax({
        type: "POST",
        url: "http://127.0.0.1/index.php?s=/Home/Index/get_qihao",
        dataType: 'json',

        success: function (msg) {
            $("#qihao").html(msg.id);
            window.stop_time = msg.time;
            return;
        },
        error: function (xhr, type, errorThrown) {
            alert("error");
        }
    });
}

 

  (2).由于需要转换成需要的时间格式  2016-9-22 20:43:56

     需要先对10位时间戳转换成13位时间戳

                    var d = new Date(parseInt(window.stop_time + "000"));
                    formatDate(d);

 

     再进行格式的转换

                    function formatDate(now) {
                        var year = now.getYear() + 1900;
                        var month = now.getMonth() + 1;
                        var date = now.getDate();
                        var hour = now.getHours();
                        var minute = now.getMinutes();
                        var second = now.getSeconds();

                        window.geshi_stop_time = year + "/" + month + "/" + date + "   " + hour + ":" + minute + ":" + second

                    }

 

11.对js控件进行隐藏属性

  

$("#content").hide();

 

 

12.前端dom提交的数据不正确

 

解决方案:name="win_num_a"     name需要填写数据表里正确的字段

<form action="{:U('Lottery/dialog')}" method="post" class="form-inline" enctype="multipart/form-data">
    <input type="hidden" name="id" value="{$info.id}">
    <div class="form-group">
        <label class="control-label">中奖号码<span class="import"></span>:</label>
        <input type="text" class="form-control" name="win_num_a" value="{$info.win_num_a}" required="required">
        <button class="btn" type="submit">修改</button>
    </div>
</form>

 

 

 

13.利用Post数据作为条件,插入数据库

$m = $lottery->where("status=0")->find();
$arr['id'] = $_POST['id'];
$arr['test_num'] = $_POST['test_num'];
$arr['win_num'] = $m['win_num'];

if($m){
    $z = $lottery_my -> add($arr);

 

posted on 2016-09-22 20:51  喻可伟的博客  阅读(515)  评论(0编辑  收藏  举报

导航