微擎學習筆記


1.數據庫操作

文件名processor.php

<?php

defined('IN_IA') or exit('Access Denied');

class RegisterModuleProcessor extends WeModuleProcessor{

     $sql = "select * from ".tablename('register')." where openid = :openid";

     $array = array(':openid'=>$oepnid);

     if($res = pdo_fetch($sql,$array)){

          $msg = "你已經注冊,\n注冊名是:".$res['name'];

      }else{

          preg_match_all('/^報名(.+)',$content,$matches);

          $res = pdo_insert('register',array('openid'=>$openid,'name'=>$matches[1][0]));

          if($res){

                $msg = '注冊成功!';

           }

        }

        return $this->respText($msg);

}

 

2.$_W系統全局變量

$_W['siteroot'] 當前微擎系統更目錄

MODULE_ROOT當前插件位置

<?php echo $_W['siteroot'].'app'.ltrim(murl('entry',array('do'=>'tupian','m'=>'hao_fly','nickname'=>$nickname),false),'.'); ?> 請求site.php里面的一個方法

http://www.we7.cc/manual/dev:param:global

 

3.group_concat()

//group_concat()把分組后的一個的數組用','隔開得到一個例如:1,2,3的一組數據
$sql1 = "select group_concat(field_id ORDER BY id),group_concat(id ORDER BY id) from ".tablename('hao_field_data')." group by groupid";
$datas = pdo_fetchall($sql1);

var_dump($datas);

結果如圖:

4.判斷一個圖片正真的格式

$data['image'] = $_GPC['image'];
            $info = getimagesize(tomedia($data['image']));
            if($info[2] != '2'){
                message('檢測到你的圖片原始格式不是JPG格式',$this->createWebUrl('qrcode'),error);
            }
/**/
1 為 GIF 格式、 2 為 JPEG/JPG 格式、3 為 PNG 格式

 5。訂閱號借權(認證服務號)獲取用戶信息

$fans = $_W['fans'];
if(empty($fans['nickname'])){
load()->model('mc');
$fans = mc_oauth_userinfo();
}
var_dump($fans);die;

6.微信模板消息通知

/*
    * Curl 請求
    */
    public function wtw_request($url,$data=null){
         $curl = curl_init(); // 啟動一個CURL會話
         curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址
         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 對認證證書來源的檢查
         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 從證書中檢查SSL加密算法是否存在
         curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬用戶使用的瀏覽器
         if($data != null){
            curl_setopt($curl, CURLOPT_POST, 1); // 發送一個常規的Post請求
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的數據包
         }
         curl_setopt($curl, CURLOPT_TIMEOUT, 300); // 設置超時限制防止死循環
         curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回
         $info = curl_exec($curl); // 執行操作
         if (curl_errno($curl)) {
            //echo 'Errno:'.curl_getinfo($curl);//捕抓異常
            //dump(curl_getinfo($curl));
        }
        return $info;
    }

    /*
     * 模板消息
    */
     public function templetemsg($openid,$result,$color,$url,$tempID){
        //獲取ACCESS_TOKEN
         /*string(86)"*****"
         * string(45)"{"errcode":0,"errmsg":"ok","msgid":201652404}"
        */
        load()->classs('weixin.account');
        $accObj= new WeixinAccount();
        $ACCESS_TOKEN = $accObj->fetch_available_token();
        $msg_url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$ACCESS_TOKEN."";
        $time = date("Y-m-d H:i:s",time());
        $url = $url; ////這個鏈接是點擊圖文 跳轉的鏈接,換行只能用n 不能用<Br/>
        ////請求包為一個json:
        $msg_json= '{
            "touser":"'.$openid.'",
            "template_id":"'.$tempID.'",
            "url":"'.$url.'",
            "topcolor":"#FF0000",
            "data":{
                "first":{
                "value":"你好:“我要上推薦”審核結果來啦!",
                "color":"#FF0000"
                },
                "FBForm":{
                "value":"審核結果通知",
                "color":"#000000"
                },
                "FBNote":{
                "value":"'.$result.'",
                "color":"'.$color.'"
                },
                "FBTime":{
                "value":"'.$time.'",
                "color":"#000000"
                },
                "FBArea":{
                "value":"",
                "color":""
                }
            }
        }' ;
        $result = $this->wtw_request($msg_url,$msg_json);
        ///$result = $this->msg_request($msg_url, $msg_json, $header = array());
        //dump($result);
    }

7.微擎php生成url

{php $url = $_W['siteroot'].'app/'.$this->createMobileUrl('upload', array());}

8.bootsttrap表格

{template 'common/header'}
<div class="panel panel-default">
    <div class="panel-heading">素材管理</div>
    <div class="panel-body">
        <div class="panel-group">  
            <div class="panel panel-primary">  
                <div class="panel-heading">  
                    列表  
                </div>  
                <div class="panel-body">  
                    <div class="list-op" id="list_op">  
                        <button type="button" class="btn btn-default btn-sm">  
                            <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增  
                        </button>  
                        <!-- <button type="button" class="btn btn-default btn-sm">  
                            <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改  
                        </button>   -->
                        <button type="button" class="btn btn-default btn-sm">  
                            <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>刪除  
                        </button>  
                    </div>  
                </div>  
                <table class="table table-bordered table-hover">  
                    <thead>  
                        <tr class="success">  
                            <th>編號</th>  
                            <th>簡述</th>  
                            <th>素材</th>  
                            <th>操作</th>    
                        </tr>  
                    </thead>  
                    <tbody>  
                        <tr>  
                            <td>C00001</td>  
                            <td>機車</td>  
                            <td>機車</td> 
                            <td>
                                <button type="button" class="btn btn-success">編輯</button>
                                <button type="button" class="btn btn-danger">刪除</button>
                            </td> 
                        </tr>  
                    </tbody>  
                </table>  
            </div>
        </div> 
    </div>
</div>
<script>  
    $(function(){  
        function initTableCheckbox() {  
            var $thr = $('table thead tr');  
            var $checkAllTh = $('<th><input type="checkbox" id="checkAll" name="checkAll" /></th>');  
            /*將全選/反選復選框添加到表頭最前,即增加一列*/  
            $thr.prepend($checkAllTh);  
            /*“全選/反選”復選框*/  
            var $checkAll = $thr.find('input');  
            $checkAll.click(function(event){  
                /*將所有行的選中狀態設成全選框的選中狀態*/  
                $tbr.find('input').prop('checked',$(this).prop('checked'));  
                /*並調整所有選中行的CSS樣式*/  
                if ($(this).prop('checked')) {  
                    $tbr.find('input').parent().parent().addClass('warning');  
                } else{  
                    $tbr.find('input').parent().parent().removeClass('warning');  
                }  
                /*阻止向上冒泡,以防再次觸發點擊操作*/  
                event.stopPropagation();  
            });  
            /*點擊全選框所在單元格時也觸發全選框的點擊操作*/  
            $checkAllTh.click(function(){  
                $(this).find('input').click();  
            });  
            var $tbr = $('table tbody tr');  
            var $checkItemTd = $('<td><input type="checkbox" name="checkItem" /></td>');  
            /*每一行都在最前面插入一個選中復選框的單元格*/  
            $tbr.prepend($checkItemTd);  
            /*點擊每一行的選中復選框時*/  
            $tbr.find('input').click(function(event){  
                /*調整選中行的CSS樣式*/  
                $(this).parent().parent().toggleClass('warning');  
                /*如果已經被選中行的行數等於表格的數據行數,將全選框設為選中狀態,否則設為未選中狀態*/  
                $checkAll.prop('checked',$tbr.find('input:checked').length == $tbr.length ? true : false);  
                /*阻止向上冒泡,以防再次觸發點擊操作*/  
                event.stopPropagation();  
            });  
            /*點擊每一行時也觸發該行的選中操作*/  
            $tbr.click(function(){  
                $(this).find('input').click();  
            });  
        }  
        initTableCheckbox();  
    });  
</script>  
{template 'common/footer'}

 9微擎模糊查詢

$lists = pdo_fetchall("SELECT * FROM ".tablename('kobe_vote_join')." WHERE uniacid = '{$uniacid}' AND name LIKE '%{$_GPC['map']}%' OR id LIKE '%{$_GPC['map']}%' ORDER BY ticket DESC LIMIT ".($pindex - 1) * $psize.','.$psize);

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM