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);