【必看】微擎應用模塊二次開發文檔和初級教程手冊


01.微擎的應用模塊文件夾是addons,所有微擎應用模塊都在這個文件夾里面。


02.運行環境推薦PHP版本5.6以上,mysql5.6,操作系統最好是Linux(centos)。


03.微擎允許對外公開訪問的文件,就三個,分別是根目錄api.php(微信開發者URL地址),/web/index.php(電腦端),/app/index.php(手機端)。


04.微擎的數據庫等配置信息,放置在:/data/config.php文件中。


05.在微擎的manifest.xml配置文件中,direct的屬性值要設置為0,比如:<entry * direct="0">,如果設置成1,有可能出現不經過身份權限驗證,就可以直接訪問。


06.微信開發者URL地址那里接收到微信推送過來的數據,主要用processor.php文件來響應。


07.addons/zhiwu55com/template/*,這個文件夾下面都是電腦端的模塊文件。


08.addons/zhiwu55com/template/mobile/*,這個文件夾下面都是手機端的模塊文件,比如:鏈接應用入口的那些頁面模塊文件,都在這個文件夾下面。


09.微擎的數據表,默認以ims_開頭。


10.常量:IA_ROOT,微擎程序安裝目錄,示例值:D:/wwwroot/wwwzhiwu55cn,注意:返回的值最后沒有斜杠。


11.常量:ATTACHMENT_ROOT,微擎程序附件目錄,示例值:D:/wwwroot/wwwzhiwu55cn/attachment


12.常量:MODULE_ROOT,當前模塊目錄,示例值:D:/wwwroot/wwwzhiwu55cn/addons/hzw_zhiwu


13.當需要引入include文件的時候,盡量以IA_ROOT為基准路徑引入,比如:include_once IA_ROOT .'/addons/wwwzhiwu55cn/inc/hzw.class.php'


14.$_W(大寫W),是系統中最為重要的全局變量,微擎系統中很多常用的數據都存儲在這個變量之中


15.$_GPC,全局請求變量,獲取 $_GET,$_POST,$_COOKIES 中的變量,即$_GPC=array_merge($_GET,$_POST,$_COOKIES);


16.$_W[‘siteroot’],網站URL根目錄,示例值:http://www.zhiwu55.com/


17.$_W[‘siteurl’],原始鏈接,示例值:http://www.zhiwu55.com/web/index.php?m=xxx&c=yyyy&do=hzw,即當前瀏覽器地址欄那里的地址。


18.$_W[‘page’][‘title’],當前頁面標題,在doWebZhiwu55**()函數中,通過設置這個變量,可以改變當前微擎網頁的<title>$_W[‘page’][‘title’]</title>數值。


19.$_W[‘uniacid’],當前平台賬號Uniacid,這個變量很重要,微擎可以多開,讓無數的公眾號可以接入進來,主要就是用$_W[‘uniacid’]來區分不同的公眾號。


20.$_W[‘container’],App手機端平台終端設備,取值范圍: wechat, android, ipad, iphone, ipod, unknown。


21.$_W[‘os’],App手機端平台操作系統,取值范圍: windows (pc端), mobile(手機端), unknown。


22.可以通過$_W[‘container’]==“wechat” && $_W[‘os’]==“mobile”,來嚴格判斷是否在微信環境中。


23.$_W[‘openid’],當前粉絲用戶標識符,這個是重要的變量,一般認證通過的服務號可以無感獲取得到,在很多功能場景中,都需要$_W[‘openid’]數值。


24.$_W[‘fans’],當前粉絲用戶信息,城市信息,性別,關注公眾號時間,取消關注公眾號時間,等都可以從這個變量中獲取得到。


25.$_W['jssdkconfig'],在App端分享轉發的時候,需要用到的jssdk變量都在這里。


26.獲取公眾號其它粉絲的信息,不是當前粉絲,用mc_fansinfo($openid),其中$openid這個變量是公眾號其它粉絲的openid


27.微擎電腦端PC后台的文件site.php,凡是以doWeb開頭定義的函數都是電腦端的函數。


28.微擎App手機端的文件site.php,凡是以doMobile開頭定義的函數都是App手機端的函數。


29.微擎是MVC結構,用$this->createMobileUrl()和$this->createWebUrl()來調用訪問site.php中用doWeb**和doMobile定義的函數


30.在App手機微信端,轉發分享朋友圈的時候,需要用到以http開頭的完整URL路徑,用murl('entry',array('m'=>$this->modulename,'do'=>'zhiwu55_function_name'),true,true)


31.微擎的數據庫操作,都是以pdo_*為前綴,pdo_get('zhiwu55com', array('id >' => '55')),獲取id大於55的數據,請注意:id和>之前,有一個英文空格,這個是必需的空格,不能省略。


32.數據庫操作函數一共有:pdo_get,pdo_getcolumn,pdo_getall,pdo_getslice,pdo_fetch,pdo_fetchcolumn,pdo_fetchall,pdo_insert,pdo_update,pdo_delete,pdo_query,pdo_run,pdo_fieldexists,pdo_indexexists,pdo_tableexists,pdo_fieldmatch,pdo_debug


33.在微擎打開“控制台-站點設置-日志開關”,微信推送到微擎api.php的數據內容都可以在 /data/logs/ 日志文件中查看到。


34.在微擎模板文件*.html中,可以直接寫入PHP源代碼,輸出花括號和變量不會被轉義,用{##string##}


35.isetcookie()寫入cookie值,寫入后可以使用 $_GPC 來獲取,同時也可以用igetcookie()來獲取。


36.authcode()字符串加密或解密函數,這是一個神奇的函數。不同於base64_encode()和base64_decode()函數。


37.電腦PC端的頂部加上{template 'common/header'},底部加上{template 'common/footer'}


38.在電腦PC端使用tpl_form_field_audio()或者tpl_form_field_video()進行多媒體文件上傳的時候,需要在“站點管理 - 附件設置 - 音頻視頻附件設置”那里添加相應的支持文件后綴文件類型才可以。


39.如果想調試SQL的語句,可以用pdo_debug();exit;會打印出所有執行的SQL語句出來給你分析研究。


40.當用$_W不能獲取到用戶信息的時候,可以用mc_oauth_userinfo()會彈出用戶同意授權獲取信息的彈框。


41.$_W['fans']['follow']用於判斷是否關注了公眾號,如果等於1表示關注了公眾號。


42.在site.php的文件中,可以用$settings=$this->module['config'];$settings['xxxx']='yyyyy';$this->saveSettings($settings);的方式來修改“參數設置”那里的數值。


43.獲取當前公眾號在微擎中的配置信息用:pdo_get('uni_account', array('uniacid' => $_W['uniacid']))。


44.獲取公眾號的appid用:$_W['account']['key'],獲取相對應的密鑰用:$_W['account']['secret']。


45.如果$_W['account']['level']的數值是4,表示當前的公眾號是認證通過的服務號。


46.在引入微信的jssdk地址的時候,建議不要加http協議名,直接用二個斜杠//開頭,因為如果是https的頁面,不允許加載http文件。


免責聲明!

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



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