微商-微擎用戶手冊_第1頁
微商-微擎用戶手冊_第2頁
微商-微擎用戶手冊_第3頁
微商-微擎用戶手冊_第4頁
微商-微擎用戶手冊_第5頁
已閱讀5頁,還剩140頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

o前期準(zhǔn)開始安云服前期準(zhǔn)微擎是基于目前最流行的WEB2.0的架構(gòu)(php+mysql),運(yùn)行環(huán)境我們推薦使用linux(centOS)+nginx+php5.3,mysql5.6 不建議使用BAE、SAE、虛擬空間的,后期問題太多太多太多,而且與微擎云服務(wù)通信很不穩(wěn)定, 對備案也有要求。非備案的幾乎是不能正常使用了。開始安 版本的安裝包 解壓壓縮包,上傳install.php 通 ),按照步驟提示安裝微擎系安裝完成后您需 云服務(wù)更新系統(tǒng) 完整云云服務(wù)提供了微擎系統(tǒng)的程序更新 發(fā)送,模 、升級。在使用時(shí)需要先進(jìn)行站 云服務(wù)前你需要先擁有一個(gè)微 的帳號,如果沒有可以在 打開“系統(tǒng)”- 站點(diǎn)”菜填寫您 帳號 、站點(diǎn)名稱,即可完點(diǎn)擊“系統(tǒng)”-“一鍵更新”更新程序 完整o添加設(shè)置登填寫相關(guān)資添加添加分為普通接入和登錄接推薦使 登錄接入,提供普通訂閱號自定義菜單等功能(普通接入沒有設(shè)置登使用模式綁定,需要您的平臺在開放平臺認(rèn)證,并且全網(wǎng)發(fā)布審登錄接接開放平臺認(rèn)證和全部發(fā)布通過后,進(jìn)入管理頁面,點(diǎn)擊登錄按鈕,輸入帳號和即可,無需填寫額外的信息和配置入api,具體如下:接普通接入是最基本的接入方法,需要在微擎系統(tǒng)中填入的相關(guān)信息,然后api地址和token到 一鍵獲取模式可以通過輸入登錄用戶名和自動(dòng)獲取數(shù)(不穩(wěn)如果獲取失敗直接跳過,使用普通模式添加填寫相關(guān)資料 公眾平臺--開發(fā)--基本配置獲取的Appid和 --設(shè)置--設(shè)置中可以查看到,如下的主管理員和可使用的時(shí)間,分配可使用的套餐組,如下圖:在微擎系統(tǒng)中添加好信息后,微擎將會顯示出此的接入配置數(shù)據(jù), --開發(fā),基本設(shè)置 o關(guān)鍵字是驅(qū)動(dòng)微擎系統(tǒng)的重要的機(jī)制關(guān)鍵字回復(fù)分為系統(tǒng)關(guān)鍵字回復(fù)和擴(kuò)展系統(tǒng)關(guān)鍵字回復(fù)包含文字回復(fù)、圖文回復(fù)、圖文回復(fù)、音樂回復(fù)、回復(fù)、語音回復(fù)、回復(fù)、卡劵回復(fù)、自定義接口回復(fù)和一個(gè)特殊的系統(tǒng)回復(fù)。下文字回點(diǎn)擊管理按鈕--基礎(chǔ)設(shè)置--文字回復(fù)--添加文字回復(fù),如下圖設(shè)置規(guī)則關(guān)鍵字和回復(fù)內(nèi)容。端輸入關(guān)鍵字觸發(fā)即可。Ps:當(dāng)添加多條回圖文回最多可以有8條,圖文回復(fù)可以設(shè)置點(diǎn)擊后跳轉(zhuǎn)的URL地址,系統(tǒng)大部分的功點(diǎn)擊管理按鈕--基礎(chǔ)設(shè)置--圖文回復(fù)--添加圖文回復(fù)圖文分成單圖文和多圖文,設(shè)置封面,名稱,關(guān)鍵字,回復(fù)內(nèi)容。端觸發(fā)即可,添系統(tǒng)回系統(tǒng)回復(fù)是兩個(gè)比較特殊的回復(fù)場景,一是粉絲關(guān)注后的歡迎消息回復(fù),第二個(gè)是粉絲發(fā)送關(guān)鍵字平臺內(nèi)無法匹配到回復(fù)規(guī)則時(shí)的默認(rèn)消息回復(fù)系統(tǒng)回復(fù)這所講的任何一個(gè)規(guī)則,然后將關(guān)鍵字填寫到這里),自定義接口回自定義接口回復(fù)允許用戶將關(guān)鍵字轉(zhuǎn)接到其它第公眾平臺與接入到微信公眾平相同,填寫Api地址,Token接入其它第平臺其它系統(tǒng)回其它系統(tǒng)回復(fù)都與上面所講的文字回復(fù) 回復(fù)類似,這里就不再贅述o多注:除普通訂閱號需 登錄外,其 可以設(shè)置自定義菜系統(tǒng)默認(rèn)菜個(gè)性化菜、自定義菜單也提供根本粉絲的系統(tǒng)、地區(qū)、粉絲分組來設(shè)置專有的菜系統(tǒng)默認(rèn)菜單,具體如下圖:、注:此功能需要類型為認(rèn)證管理提供生成附加參數(shù)的關(guān)注,滿足推廣分析和用戶帳號綁定等場景的需要。分為臨 和永 ,臨 的時(shí)效為七天 時(shí)可以關(guān)聯(lián)內(nèi)某個(gè)回復(fù)規(guī)則的關(guān)鍵字和名稱用戶掃描后可以號并觸發(fā)設(shè)置的關(guān)鍵字管理員則可以通過掃描統(tǒng)計(jì)來查看用戶關(guān)注源多注:此功能需要類型為認(rèn)證訂閱號和認(rèn)證多使用說明及客戶端軟件:在微擎系統(tǒng)中設(shè)置一下 的接入時(shí)間和關(guān)鍵字即可,使用如下phphtml&cssJavaScriptphpoPHPSQLCSSJavaScript 索在幫助開發(fā)者養(yǎng)成良好一致的編程風(fēng)格。如果有需要,PHP本條規(guī)范同樣適用于PHP、HTML、CSS、編UTF-8UTF-8BOM((ByteOrder的功能。切記請不要使用windows自帶的記事本編輯項(xiàng)目文注意:請確認(rèn)你的編輯器不會有意或無意的保存文件為UTF-8BOM格式縮每個(gè)縮進(jìn)的單位約定是一個(gè)Tab(設(shè)置為空格替代,Tab寬度應(yīng)表示為4個(gè)換UnixLF"\n"沒有回車CR"\r")PHP<?phpPHPHTML頁面中嵌入純變量時(shí),<?phpecho$variablename;?>這樣的形式。<??><?=$variablename?>這種速記形式。C樣式的注釋“/**/”和標(biāo)準(zhǔn)C++注釋“//”。開發(fā)組請注意:每一個(gè)程序文件頭部中,應(yīng)放入相應(yīng)HG控制字串$sn$,以方便Mercurial提交時(shí)自動(dòng)更新微擎接口初始化文[WeEngineSystem]Copyright(c)2013$num$num=$flag //debug這里不能確定是否需要對$flag進(jìn)行賦if(empty($flag))}大括號{}、if,if結(jié)構(gòu)中,else和elseif與前后兩個(gè)大括號個(gè)空格。另外,即便, switchcasecase塊處理,因此大多數(shù)情況下需要添加break。break的位置視程序邏輯,與case同在一行,或新起一行均可,但同一switch體中,break的位置格式應(yīng)當(dāng)保持一致。ifif($condition)}elseswitch($str){case$result='abc';$result='unknown';}}運(yùn)算符、小括號、空格、和函 左括號“(”應(yīng)和函數(shù)緊貼在一起,除此以外應(yīng)當(dāng)使用空格將“(”同前面內(nèi)容分除字符串中特意需要,一般情況下,在程序以及HTML TABTAB或空格; $result$result=(($a+1)*3/2+$num)).$condition?func1($var):$condition?$long_statement:$another_long_statement;if($flag){//Morethan15}showmessage('請使用restore.php工具恢復(fù)數(shù)據(jù)。函數(shù)定functionfunctionmessage($string,$operation,$key=''){if($flag){}//函數(shù)}functionfunctionauthcode($string,$operation,$key={//函數(shù)}引由于PHP 數(shù)據(jù)庫SQL語句一律使引號,SQL語句中所有數(shù)據(jù)必須加單引號,無論數(shù)值還是字串,以避免可能的注入和SQL錯(cuò)誤。$sql$sql="UPDATE".tablename('members')."SETadminid='1'WHEREAND數(shù)據(jù)庫操 不能綁定參數(shù)處理的查詢(IN()語句$tids$tids=if(!empty($_GPC['select'])){foreach($_GPC['select']as$t){$tids[]intval($t);// 必須將輸入?yún)?shù)轉(zhuǎn)換為無安全隱患的格式,數(shù)字列必須轉(zhuǎn)換為數(shù)字列,字符串列必須使}}if(!empty($tids))$sql='SELECT*FROM'.tablename('trades').'WHERE`username`=:usernameAND`tid`IN('.implode($tids).')';$pars=$pars[':username']=$trades=pdo_fetchall($sql,}變量、函數(shù) $data而不可使用$data1、$data2這樣容易產(chǎn)生的形式,應(yīng)當(dāng)使用$trade、$product這樣一目了然可以合理的對過長名進(jìn)行縮寫,例如$allowXxx$isXxx 類和接口JavaScript中類和全局對象應(yīng)使用混合大小寫字母的PascalJavaScript中變量、函數(shù)名應(yīng)采用混合大小寫字母的Camel常PHPtrue、false和null任何變量在進(jìn)行累加、直接顯示或前必需進(jìn)行初使化,例如$number$number=數(shù)值型初始$string 字符串初始$array=array();//數(shù)組初始 要直接使用if($switch)的形式。 如果已經(jīng)使用unset()isset()isset()測NULLFALSENULL字節(jié)("\0")并不等同于PHP的NULL常數(shù)。 foreach(),因?yàn)槿绻皇孪扰袛?,foreach()會對非數(shù)組類型的變量報(bào)錯(cuò);isset($array['key']),也可使用empty() PHP中的變量不并不像C語言那樣需要事先解釋器會在第一次使用時(shí)自動(dòng)創(chuàng)包含調(diào) 包含調(diào)用程序文件,請盡量使用require,以保證效率。必要情況下,如的重復(fù)調(diào)用時(shí)可以使用require_once。 IA_ROOT開頭,應(yīng)避免直接寫程序文件名(例如:require_once'x.php';)的做法; URLIA_ROOT/source/bootstrap.inc.phpIN_IAIA_ROOT/source/bootstrap.inc.php以外RL請求該文件:if(!defined('IN_IA')) exit('Access}錯(cuò)誤報(bào)告級/data/config.php$config['setting']['development']=1;,打開錯(cuò)誤報(bào)告以便能夠報(bào)告程序中所有的錯(cuò)誤、警告 /data/config.php$config['setting']['development其他注意要perl兼容正則表達(dá)式,即preg_ rid與ims_rulesridid 沒有功能性作用,只為管理和方便而設(shè)的id,可以使用全稱的形式,也可只將id。 基于效率的考慮,所有字段均不能為空,即全部NOTNULL,可以設(shè)置默認(rèn)值來代 預(yù)計(jì)不會非負(fù)數(shù)的字段,例如各項(xiàng)id、統(tǒng)計(jì)數(shù)等,必須設(shè)置為UNSIGNED類 能使用enum()結(jié)果集的方式。tinyint1為打開;0為關(guān)閉;-1為特N/A(不可用)1的為特殊結(jié)果或開關(guān)二進(jìn)制數(shù)組合。 SQL select*fromims_members;是不符合規(guī)范的寫法。 要能所需范圍的值即可。例如,如果mediumint夠用,就不要選擇bigint。對于可變長TEXT2字節(jié)記錄值的長度,而一個(gè)LONGTEXT則用4字節(jié)記錄其值的長度。如果的值長度不會超過64KB,使用TEXT2字節(jié)。模板標(biāo) PHP編譯模板方案,模板標(biāo)記為<!—{}-->或{},建議使HTMLHTML注釋,即type=”text”{ifxxx}value=”1”{/if} 所有HTML標(biāo)記參數(shù)賦值需使引號包含,例如,應(yīng)當(dāng)使用<inputname=testvalue=ok/>。變 {}{ifisset($array['key'])}這種形式,其中PHP程序中完全一致; {}將變量括起來,以免出現(xiàn)模板編 {phpecho$var;}{phpecho(!empty($row['daine'])?date('Y-m-d',$row['daine']):'');}縮 <!--{loop<!--{loop$trades$trade}--<table<!--{/loop}--CSS 編碼方式要求采用utf-8,即:<metahttp-equiv="content-typecontent="text/html;charset=utf-8"/> CSS盡量使用外部方式,盡可能壓縮CSS文件的數(shù)量,盡可能的避免使用行 CSS命名習(xí)慣:header,content,container,footer,column,message,btn等等。結(jié)構(gòu)化設(shè)計(jì) 標(biāo)識類,應(yīng)該使用CSSSpirit方案解決(即:CSS貼圖定位,以盡量減少請 CSS類,ID命名JavaScript編碼方式要求采用utf-所有包含PHP代碼的程序文件或半程序文件,應(yīng)以小寫.php要使用.phtml、.php3、.inc、.class等作為擴(kuò)展名。用程序名+.php的方式命名函數(shù)庫和類庫程分別以小寫xxxx.func.php和xxxx.class.php的格式命名書寫。函數(shù)庫和類庫模板源文以小寫.html作為擴(kuò)展名。模板源文件按照微擎模板機(jī)制編碼規(guī)則進(jìn)行編寫,不 請?jiān)谒胁话胀ǔ绦?即能夠被URL直接調(diào)用的程序)的 中放置一個(gè)1字節(jié)的index.html文件,內(nèi)容為一個(gè)空格。幾乎除微擎系統(tǒng)根 全部放入空index.html文件,以避免當(dāng)http服務(wù)器的DirectoryListing打開時(shí),服務(wù)器文件被索引和列表。 入一個(gè)空的index.html文件,以避免新建 Bootstrap兼容的界面結(jié)構(gòu),Bootstrap使用表單控件時(shí)應(yīng)注意,Bootstrap基礎(chǔ)上的,界面如果使用的是非Bootstrap,那么樣式就會出錯(cuò).o1.require.js加載(已默認(rèn)加載,無需手動(dòng).6.JavaScript微擎系統(tǒng)中,公共的js文件包括Jquery、Util在使用以上兩個(gè)Js文件時(shí)不需要require,使用其它Js文件需要遵循AMD的方式。AMDAsynchronousModuleDefinition異步模塊定義”require.jsAMD,模塊的AMD規(guī)范的加載器其實(shí)很多,require.js。微擎系統(tǒng)使用require.js的好處:js文件的異步加載,避免網(wǎng)頁失去響應(yīng)require.js加載(已默認(rèn)加載,無需手動(dòng)<script<scriptsrc="js/require.js"deferasync="true".如果我們的代碼依賴其他的模塊,requrie.js,require(['jquery',require(['jquery','underscore','util'],function($,_,codehere主模塊代varindex=_.inArray(1,require.jsjQuery、underscorebackbone,然后再運(yùn)行回調(diào)函數(shù)。調(diào)用自定義<javascript路徑define(['util'],function(u){varmodule={};module.msg=function(message){<javascript路徑define(['util'],function(u){varmodule={};module.msg=function(message){}return<javascript路徑 return o}注意requirejs"/app/resource/js/app"app轉(zhuǎn)到addons,最后定位到模塊文件夾. //輸出變量amd(1)'../../../addons/we7_store/template/js/test.js']//js,無需設(shè)置輸出參數(shù).,function(amd){//輸出變量(1) }js,requirerequire.jsjs下,jslib文件夾中,自定義模塊置于app文件夾中。paths:{"jquery":"lib/jquery.min","underscore":"lib/underscore.min"}jsrequire.config()方法,我們可以對模塊的加載行為進(jìn)行定義??梢詫equire.config()方法置于模塊文件頭部paths:{"jquery":"lib/jquery.min","underscore":"lib/underscore.min"}baseUrl//設(shè)置為自定義模塊路徑baseUrl:"http://require.js要求,每個(gè)模塊是一個(gè)單獨(dú)的js文件paths:模塊名稱':'相對baseUrl的路徑''jquery':'../lib/jquery-1.11.1.min','underscore':'../lib/underscore-}shim:{'colorpicker':{//(輸出的變量名),表明這個(gè)模塊外部調(diào)用時(shí)的名稱exports:依賴項(xiàng)css!依賴外部deps:}require.js還提供一系列插件,domready插件,可以讓回調(diào)函數(shù)在頁面DOMrequire(['domready!'],require(['domready!'],function(doc){calledoncetheDOMisreadydefine(['jquery',define(['jquery','underscore'],function($,_){varmod={};//code-return['jquery','underscore']數(shù)組的元素是require.config()中的模塊名,回調(diào)函'$''jquery'模塊的輸出變量'_''underscroe'$,_可以在回調(diào)function微擎URL路由&oapi 微擎系統(tǒng)總共分為四大部分“api關(guān)鍵字回復(fù)”,“微站”,“粉絲&會員”,“擴(kuò)api 粉絲通過這些回復(fù)中的可進(jìn)入系統(tǒng)微站,個(gè)人中心或是擴(kuò)展模塊也就是說“api關(guān)鍵字、規(guī)則回復(fù)” oWebAppApi微擎系統(tǒng)中分為三個(gè),分別是“Web端”、“App端”、“ Api入WebWeb端主要負(fù)責(zé)微擎系統(tǒng)的管理功能,文件是“/web/index.php”。登錄用戶的驗(yàn)初始化登錄用戶的,分派管理員權(quán)限或是操作員權(quán)App。。,App端主要負(fù)責(zé)微擎系統(tǒng)的前端“微站”、“個(gè)人中心”及其它普通用戶的功能文件是“/app/index.php”“微站”無需驗(yàn)證“個(gè)人中心”則要求用戶進(jìn)行登錄。此主要完成以下工作:。。,初始化當(dāng)前的數(shù)Api、Api主要負(fù)責(zé)處理公眾平臺請求微擎系統(tǒng)的關(guān)鍵字、語音等數(shù)據(jù),文件是“api.php”。此只用于公眾平臺。此主要完成以、初始化當(dāng)前的數(shù)調(diào)用模塊的processor類返回?cái)?shù)據(jù) 微擎系統(tǒng)遵循MVC的系統(tǒng)架構(gòu),以面向過程的文件與函數(shù)的形式進(jìn)行功能的組source下,每一個(gè)代controlleraction某些情況action可能可能會包含多個(gè)操作,系統(tǒng)中提供do參數(shù)來用于區(qū)分同一個(gè)action中的地址中表示,extension為控制器,module為action,designer為該action下的某一個(gè)具體的do系統(tǒng)的模型位于framework/model 型,模型通常會與控制器對應(yīng)。加載模型時(shí)以可使用load()函數(shù)[web|app]/themes/defaultcontrolleroURL創(chuàng)建一個(gè)URLURL中相關(guān)的GETURL路由(routing)。URLURLc、a、do(可選)GET參數(shù),它即被視/app/source/mc/home.ctrl.php文件中URL地址路由c“sitea“entry”/addons/we7_demo/site.phpdoWebThemeset方()GET參數(shù)中的c、a、do為微擎系統(tǒng)的路由參數(shù),應(yīng)當(dāng)避免與系統(tǒng)參數(shù),$controller、$action、$do來獲取對應(yīng)的路由三個(gè)參數(shù)創(chuàng)建一個(gè)URLurl($segment$params//生成此地echourl('site/entry/themeset',array('m'=>echo$noredirectfalse,路由的表達(dá)式以斜杠“/”的方式組織,每個(gè)以斜杠分隔的第二個(gè)參數(shù)則//生成此地echourl('site/entry/themeset',array('m'=>echo模塊中二次封裝了系統(tǒng)的url()函數(shù),使用時(shí)變的更加簡單,例如classclassWe7_demoModuleSiteextendsWeModuleSite{publicfunctiondoMobileIndex(){echo$this-}publicfunctiondoMobileHome()//上面doMobileIndex()生成 會進(jìn)入到這}publcifunctiondoWebIndex()echo$this-}publicfunctiondoWebHome()//上面doWebIndex()生成 會進(jìn)入到這}}o全局請求變量,獲取$_GET,$_POST,$_S中的變([config]Array配置文件([config]Array配置文件/data/config.php[db]數(shù)據(jù)庫配置信[]相關(guān)信息(作用域,前綴[setting]基本全局配置信[upload]=>!!!廢棄,統(tǒng)一從數(shù)據(jù) !!!,上傳配置信息(擴(kuò)展名,路徑)[timestamp]當(dāng)前時(shí)間[charset]=>utf-8[clientip]=>[siteroot]=>' URL[siteurl]=>e&do=platform&'//當(dāng)前頁面完整的[isajax]true是否為AJAX請[ispost]false是否為POST請[cache]=>Array()//系統(tǒng)緩存,所有通過cache_load()方法加載的緩存,均會放在這里[attachurl_local]=> '//指像本服務(wù)器的附件[attachurl]=>[' '| 附件URL]附件URL(可能是 附件URL)[os]=>windows//當(dāng)前操作系統(tǒng),[windows(pc端),mobile( 端),unknown][container]=>wechat// 端類型(wechat,android,ipad, ,ipod,unknown)[token]=>隨機(jī)token值,表單提交用于判斷來源[uid]1當(dāng)前管理或是操作員[username]admin當(dāng)前管理或是操作員用戶名[user]=>Array()//當(dāng)前管理或是操作員信息[isfounder]true是否是創(chuàng)始[uniacid]=>6//當(dāng) [account]=[uniaccount]=>Array//當(dāng) 信([acid]=>[uniacid]=>[token]=>[encodingaeskey]=>1lkkB6b1s45f6C0Z5J5lHwlzDzJidQDsGOUAxmnFziQ//加//緩 [access_token]=>a:2:{s:5:"token";s:107:"LWIJmS64SDOmk_unZXpyne6grkPwbNQ5bK8PfWD- //緩 的[jsapi_ticket]=> //緩存卡劵[card_ticket]=>a:2:{s:6:"ticket";s:86:"m7RQzjA_ljjEkt-UWKrBBGJHT7btfalyu- [level]=>3 級別,普通訂閱號1,普 2,認(rèn)證訂閱號3,認(rèn) [name]微擎團(tuán)[account]=>[original]=>[signature] 公眾平臺自助引擎,簡稱微擎,微擎是一款免費(fèi)開源 公眾平臺管理系統(tǒng) [country][province][city][username]=>[password]=> [lastupdate][key]=>wx2f9d7b7b086d0fd8 [secret]=> [styleid]=>[subscribeurl][auth_refresh_token][default_acid]6默認(rèn)子公[type]=>[uid]=>[starttime][endtime]=>[groups]=>[grouplevel]=>)[acid]=>6//向下兼容 [weid]6與uniacid相[role]founder當(dāng)[role]founder當(dāng)前管理或是操作員角色,分為創(chuàng)始人founder,操作員operator[template]=>default//當(dāng)前[page]Array()頁面上一些配置信)變量名類說示IP URL""URL""0.6變量名類說示號IDWeb可App可取值范圍:wechat,android,ipad,,變量名類說示ipod,windows(pc端),mobile(端), 可能是真實(shí)的可能沒有(level<4"E:/MicroEngine/pro/atta塊"Unix.IP地址o加載系統(tǒng)modelweb加載app并且實(shí)例化,系統(tǒng)提供load()函數(shù)來該類的實(shí)例注:使用load()加載文件時(shí),可以重復(fù)加')////load()->classs('filename')加載文件為////加載系統(tǒng)modelload()->model('filename')加載文件為//// 加載webload()->web('filename')加載文件 ois_error函數(shù)來判斷$file_delete_status=file_remote_delete('test.jpg');if(is_error($file_delete_status)){message('刪除成功}elsemessage('刪除失敗,錯(cuò)誤$file_delete_status=file_remote_delete('test.jpg');if(is_error($file_delete_status)){message('刪除成功}elsemessage('刪除失敗,錯(cuò)誤碼如下:$file_delete_status['errno,錯(cuò)誤如下:$file_delete_status['mess}functionfile_remote_delete($file){global$_W;if(empty($file))returnerror(1,文件不存在}$ftp=newif($ftp->delete_file($file)){returntrue;}elsereturnerror(1,'刪除附件失敗,請檢查配置并重新刪除}}o/data/logs/run_{YYYYmmdd}.log文件中define('LOGGING_ERROR','error');define('LOGGING_TRACE',define('LOGGING_ERROR','error');define('LOGGING_TRACE','trace');默認(rèn)define('LOGGING_WARNING','warning');define('LOGGING_INFO',logging_run($log$typetrace$filename'run')函數(shù)來記錄日志,例如:////載入日志函load()-//記錄文本日logging_run('記錄字符串日志數(shù)據(jù)//記錄數(shù)組數(shù)logging_run(array('username'米粥'age'`////文件位于[2016-01-1111:43:43]trace/web/test.php?記錄字符串日志數(shù)[2016-01-1111:43:43]trace/web/test.php?username=米粥函數(shù)會自動(dòng)捕獲POST,GETif(checksubmit())if(checksubmit())//載入日志函load()-logging_run('用戶登錄}////文件位于[2016-01-1111:50:19]trace/web/index.php?c=user&a=login&username=admin;password=123456;submit=登錄token=3e9bc946;用戶登`////載入日志函load()-//記錄文本日logging_run('模塊日志專屬文件'trace',////文件位于[2016-01-1111:54:23]traceadmin/web/test.php?模塊日志專屬文Web微擎Web端使用的是Bootstrap框架,JavaScript是包括,JQuery,微擎Appophp創(chuàng)建一個(gè)URLMVC在網(wǎng)頁應(yīng)用中,根據(jù)視圖模板來創(chuàng)建視圖,視圖模板為PHP文件,主要包HTML代碼和展示類PHP代碼,簡單起見,我們稱視圖模板或視圖模板文件調(diào)用系統(tǒng)模板文在任何php代碼中可以使用template()函數(shù)來渲染一個(gè)視圖文件。例如*[WeEngineSystem]Copyright(c)2013$setting=//將渲染web/themes/default/user/login.html文 為調(diào)用模塊中的模板文URLclassWe7_demoModuleSiteextendsWeModuleSite{publicfunctiondoMobileIndex1(){global$_W,$title支付測試//將渲染模 下的app端的模板文include$this->template('index1');}publicfunctiondoWebManage(){global$_W,$_GPC;////將渲染模 下的web端的模板文include$this->template('manage1');}}模塊中的templateappweb端的調(diào)用,開發(fā)時(shí)請大家注意各自微擎的模板文件本質(zhì)上就是一個(gè)php文件,所以支持直接書寫php代碼,但是為了增加開發(fā)效率和非phpSmarty的輸出是由一對花括號做為定界符的不支持輸出數(shù)組相對于php中的<div<divclass="user-headellipsis">{$_W['fans']['nickname']}對等$dorecord{if{if$do==<liclass="active"><ahref="javascript:;">卡券領(lǐng)取記錄<liclass="active"><ahref="javascript:;">查看卡券ifelseif{if{if$dca['status']==<spanclass="labellabel-success">未使用{elseif$dca['status']==<spanclass="labellabel-warning">已失效{elseif$dca['status']==<spanclass="labellabel-danger">已核銷{elseif$dca['status']==<spanclass="labellabel-default">已刪除<spanclass="labellabel-default">全部循環(huán)一個(gè)數(shù)組用loop,與php中的foreach函數(shù)類似,第一個(gè)參數(shù)為數(shù){loop$list$index{loop$list$index<td>{$index}(顯示數(shù)組的索引{if$item['follow']==<spanclass="labellabel-success">已關(guān)注{elseif$item['unfollowtime']<><spanclass="labellabel-warning"取消關(guān)注<spanclass="labellabel-danger">未關(guān)注一行php<spanclass="help-block">{phpechodate('Y-m-d<spanclass="help-block">{phpechodate('Y-m-dH:i:s',在模板中如果需要其它模板文件可以使用以下的方法////模塊中的使用方法,不需要添 信{template//系統(tǒng)的模 的方法,需要添 信{template'common/header-URLURL時(shí),與在php<a<ahref="{url'extension/service/display'}"class="tileimg-rounded"><iclass="fafa-glass"></i><span>常用服<ahref="{url e/ext'array('m'$module['name'])}">模塊此并沒有提供模塊$this->createMobileUrl('xx')函數(shù)在模塊中的模板中請{php{phpecho$this-轉(zhuǎn)義一個(gè),附件地<istyle="background:url({media$nav['icon']})no-repeat;background-<istyle="background:url({media$nav['icon']})no-repeat;background-o{datafunc="site_navs"index=""item=""assign=""return="true"limit="10"http://循環(huán)微擎中在app端集成了一些常用數(shù)據(jù)的調(diào)用,web端不可調(diào)用,數(shù)據(jù)調(diào)用{datafunc="site_navs"index=""item=""assign=""return="true"limit="10"http://循環(huán)func調(diào)用的功能,也就是需要獲取什么數(shù) item默認(rèn)為row,使用:$row。指定循環(huán)體中數(shù)組值的變量,在循環(huán)體中可以過用 index默認(rèn)為iteration,使用:$row['iteration']。指定循環(huán)體中的索引參數(shù),如果指item參數(shù),則{item}['{index}'] assign,return默認(rèn)為false,這兩個(gè)通常共同使用,指定是否直接返回值,還returntrue時(shí),則會直接把內(nèi)容賦值給assign設(shè)置的參數(shù)中l(wèi)imit10module如果模塊中有擴(kuò)展func則通過此參數(shù)傳遞模塊名{data{datafunc="site_navs"{data{datafunc="site_navs"section="1"第$row['iteration']{data{datafunc="site_slide_search"item="row"<li>Name:{data{datafunc="site_article"cid=$cidreturn="true"{loop$result['list']<div<p<div<imgsrc="{phpecho<div<div{datafunc="site_category"<a{data{data $_W['page']['title']$_W['page']['title']='定義此變量將會改變頁面標(biāo)題欄顯示的內(nèi)容$_share=array( => =>'imgUrl'=>?,'content'=>參數(shù)綁定就是綁定一個(gè)PHP變量到用作預(yù)處理的SQL語句中的對應(yīng)命名占位符或問號占位符??梢杂行У姆乐筍QL注入。注:推薦無論何時(shí)盡量使用參數(shù)綁定的形式來構(gòu)建SQL語員手動(dòng)綁定參數(shù),以pdo_fetch()函數(shù)為例:$row$rowpdo_fetch("SELECT*FROM".tablename('users')."WHEREusername:username",array(':username'粥 :username:var以冒號+變量名的占':username'$row$row=pdo_fetch("SELECT*FROM".tablename('users')."WHEREusernameLIKE:username",array(':username'=>米上例中演示如何綁定Like$row$row=pdo_query("DELETEFROM".tablename('users')."WHEREuid=:uid",array(':uid'=>oPDO兼容方式,以參數(shù)綁定的形式進(jìn)行查詢操作。PDO兼容性進(jìn)行檢測及封裝。下面具體說明一下數(shù)據(jù)庫的幾種基本$sql="SELECT*FROM".tablename('users');echo$sql;//輸$sql="SELECT*FROM".tablename('users');echo$sql;//輸出SELECT*FROMarray('>','<','<>','!=','>=','<=','NOTIN','notin','+=','-//獲取acid269$accountarray('>','<','<>','!=','>=','<=','NOTIN','notin','+=','-//獲取acid269$account=pdo_get('account',array('acid>'=>//增加一次用戶的錯(cuò)誤登錄次數(shù),兩次變?yōu)?即pdo_update('users_failed_login',array('count+='=>1),array('username'=>根據(jù)條件(AND連接)$conditionAND具體使用查看本章節(jié)第二段范圍條件$fieldsarrayarray|booleanpdo_get($tablename,$condition=array(),$fields=示例////根據(jù)uid獲取用戶的用戶名和用戶Id信//生成的SQL等同于:SELECTusername,uidFROMims_usersWHEREuid'1'LIMIT$user=pdo_get('users',array('uid'=>1),array('username',//生成的SQL等同于:SELECTusernameFROMims_usersWHEREusername'mizhou'ANDstatus'1'LIMIT$user=pdo_get('users',array('username'=>'mizhou','status'=>1),根據(jù)條件(AND連接)$conditionAND連接,支持大于,小于等范圍條件.具體使用查看本章節(jié)第二段范圍條件$fieldstringstring|intpdo_getcolumn($tablename,$condition=array(),示例////根據(jù)uid獲取用戶的用戶//生成的SQL等同于:SELECTusernameFROMims_usersWHEREuid1LIMIT$username=pdo_getcolumn('users',array('uid'=>1),根據(jù)條件(AND連接)$conditionAND連接,支持大于,小于等范圍條件.具體使用查看本章節(jié)第二段范圍條件 其它參數(shù)同pdo_getarrayarray|booleanpdo_getall($tablename,$condition=array(),$fields=array(),$keyfield='')示例////獲取全部啟用的//生成的SQL等同于:SELECT*FROMims_usersWHEREstatus$user=pdo_get('users',array('status'=>(AND連接limit$conditionAND連接,支持大于,小于等范圍條件.具體使用查看本章節(jié)第二段范圍條件$limit參數(shù)指定查詢語句的LIMIT值,array(startend)$totalarrayarray|booleanpdo_getslice($tablename,$condition=array(),$limit=array(),&$total=null,$fields=$keyfield=$user$user=pdo_getslice('users',array(),array(0,10),echo根據(jù)SQL$sqlSQL$paramsSQLSQL需要注意的是使用參數(shù)綁定時(shí),SQL語中等號后不需要使用引號,傳入的值必須與綁定的arrayarray|booleanpdo_fetch($sql,$params=////:uid是參數(shù)的一個(gè)占位符,沒有使用引號,傳入的第二個(gè)參數(shù)中要與SQL中的占位名稱相$user=pdo_fetch("SELECTusername,uidFROM".tablename('users')."WHEREuid=:uidLIMIT1",=>LIKE占位的使用方$user=pdo_fetch("SELECT*FROM".tablename('users')."WHEREusernameLIKE:username",array(':username'=>根據(jù)SQLNpdo_fetch使用相$columnstringstring|booleanpdo_fetchcolumn($sql,$params=array(),$column=////獲取用戶的總數(shù),返回的值是一個(gè)數(shù)$user_total=pdo_fetchcolumn("SELECTCOUNT(*)FROM根據(jù)SQL語句,查詢?nèi)坑涗?,使用方法與pdo_fetcharrayarray|booleanpdo_fetchall($sql,$params=array(),$keyfield=////需要注意的是,返回的數(shù)組的鍵值為用戶的$user=pdo_fetchall("SELECTusername,uidFROM".tablename('users'),array(), $replaceINSERTREPLACE語句(查找到主鍵相同的數(shù)據(jù)選擇update)intint|booleanpdo_insert($tablename,$data=array(),$replace=////添加一條用戶記錄,并判斷是否$user_data=array('username'=>'mizhou1','status'=>'1',$result=pdo_insert('users',ifif(!empty($result))$uid=message('添加用戶成功,UID為}$glue$conditionANDarrayarray|booleanpdo_update($tablename,$data=array(),$condition,$glue=////更uid2的用戶的用戶$user_data=array('username'=>'mizhou2',$result=pdo_update('users',$user_data,array('id'=>2));if(!empty($result)){message('更新成功}intint|booleanpdo_delete($tablename,$condition=array(),$glue=////刪除用戶名為mizhou2的記$result=pdo_delete('users',array('username'=>'mizhou2'));if(!empty($result)){message('刪除成功}當(dāng)更新,插入,刪除時(shí),可以直接構(gòu)造SQL語句進(jìn)行操運(yùn)行一條SQL$paramsSQLpdo_fetchintint|booleanquery($sql,$params=////更uid2的用戶的用戶$result=pdo_query("UPDATE".tablename('users')."SETusername=:username,age=:ageWHEREuid=:uid",array(':username'=>'mizhou2',':age'=>18,':uid'=>2));//刪除用戶名為mizhou2的記$result=pdo_query("DELETEFROM".tablename('users')."WHEREuid=:uid",array(':uid'=>2));if(!empty($result)){message('刪除成功}批量執(zhí)行SQL$stuff注:與pdo_query不同的是,pdo_runSQLSQL必須以;booleanbooleanrun($sql,$stuff=$sql$sql=CREATETABLEIFNOTEXISTS`ims_multisearch``id`int(10)unsignedNOTNULL`weid`int(10)unsignedNOTNULL,PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCREATETABLEIFNOTEXISTS`ims_multisearch_fields``id`int(10)unsignedNOTNULL`reid`int(10)unsignedNOT`type`tinyint(1)unsignedNOTNULLDEFAULT`title`varchar(255)NOTNULL,PRIMARYKEY(`id`),KEY`idx_reid`)ENGINE=MyISAMDEFAULTCHARSET=utf8;$tablename$fieldnamebooleanbooleanpdo_fieldexists($tablename,////如果 _goods表中不存在credit字段,則新增credit字 _goods','credit'))pdo_query("ALTERTABLE _goods')."ADD`credit`int(11)NOTNULLDEFAULT}$tablename$indexnamebooleanbooleanpdo_indexexists($tablename,////如果site_slide表中不存在multiid索引,則新增multiid索if(!pdo_indexexists('site_slide','multiid'))pdo_query("ALTERTABLE".tablename('site_slide')."ADDINDEX`multiid`}booleanboolean調(diào)試運(yùn)行SQLSQL$outputarrayarraydebug($output=true,$append=//調(diào)用該函數(shù)結(jié)果[0]=>([sql]=>SETNAMES[error]=>Array[0]=>[1][2]))[1]=>([sql]=>SELECT`value`FROM`ims_core_cache`WHERE`key`=:key[params]=>Array([:key]=>)[error]=>Array[0]=>[1][2])))配置主從支持在系統(tǒng)"data/config.php"文件中,具體配置如下:////主庫配$config['db']['master']['host']=$config['db']['master']['username']=$config['db']['master']['password']=$config['db']['master']['port']=$config['db']['master']['database']=$config['db']['master']['charset']=$config['db']['master']['pconnect']$config['db']['master']['pconnect']=$config['db']['master']['tablepre']=////$config['db']['slave_status']=//= //$config['db']['slave']['1']['username']=$config['db']['slave']['1']['password']=$config['db']['slave']['1']['port']=$config['db']['slave']['1']['database']=$config['db']['slave']['1']['charset']=$config['db']['slave']['1']['pconnect']=$config['db']['slave']['1']['tablepre']=$config['db']['slave']['1']['weight']= //從庫的權(quán)重值,默認(rèn)0$config['db']['common']['slave_except_table']=array($discuz_database='host'$discuz_database='host''',數(shù)據(jù)庫IP或是'username''root',數(shù)據(jù)庫連接用戶名'password'=>'123456',//數(shù)據(jù)庫連接'database'=>'discuz',//數(shù)據(jù)庫名'port'=>3306,//數(shù)據(jù)庫連接端口'tablepre''pre_',表前綴,如果沒有前綴留空'charset''utf8',數(shù)據(jù)庫默認(rèn)編'pconnect'0,是否使用長連$discuz_db=new//查詢uid1的會員$member=$discuz_db->get('common_member',array('uid'=>//更新uid1的會員$discuz_db->update('common_member',array('username'=>'admin888'),array('uid'=>//其它使用方法與pdo_xxx相關(guān)函數(shù)相$discuz_database['master']['host']=$discuz_database['master']['username']$discuz_database['master']['host']=$discuz_database['master']['username']=$discuz_database['master']['password']=$discuz_database['master']['port']=$discuz_database['master']['database']=$discuz_database['master']['charset']=$discuz_database['master']['pconnect']=$discuz_database['master']['tablepre']=$discuz_database['slave_status']=$discuz_database['slave']['1']['host']=$discuz_database['slave']['1']['username']=$discuz_database['slave']['1']['password']=$discuz_database['slave']['1']['port']=$discuz_database['slave']['1']['database']=$discuz_database['slave']['1']['charset']=$discuz_database['slave']['1']['pconnect']=$discuz_database['slave']['1']['tablepre']=$discuz_database['slave']['1']['weight']=微擎系統(tǒng)支持三種緩存(mysqlmemcache,file),mysql緩存,同一"data/config.php"$config['setting']['cache']$config['setting']['cache']'mysql';還可以是memcache,//如果開啟了memcache后,還需要指定memcacheCONFIG$config['setting']['memcache']['server']=$config['setting']['memcache']['port']=$config['setting']['memcache']['pconnect']=$config['setting']['memcache']['timeout']$config['setting']['memcache']['timeout']=$config['setting']['memcache']['session']=o數(shù)據(jù)緩存是指將一些PHP變量到緩存中使用時(shí)再從緩存中取回避免過緩存的鍵名必須保證是唯一,如果使用相同的鍵名,以最后一次為準(zhǔn)命名鍵名時(shí)應(yīng)該使鍵名以功能分組以冒號隔開例如相關(guān)的緩存命名為account:infoaccount:auth按照指定的鍵名緩存數(shù)cache_write($key,$key參數(shù)指定要緩存數(shù)據(jù)的鍵名,鍵名必須保證是唯$data參數(shù)指定要數(shù)據(jù)的內(nèi)容,可以為字符串,數(shù)組$data=array(1,2,3);cache_write('test',$data=array(1,2,3);cache_write('test',$data);cache_write('test1',$key參數(shù)指定要緩存數(shù)據(jù)的鍵$data$data=array(1,2,cache_write('test',$result=cache_write('test1',cache_load('test1');//未接收返回值時(shí),緩存數(shù)據(jù)會保存在$_W['cache']$key$data$data=array(1,2,cache_write('test',$data);oOpenidUid心(用戶中心)有以下好處: Openid與Uid這里的Openid可以泛指從、易信或是其它平臺進(jìn)入的粉絲,當(dāng)這些這些粉僅當(dāng)這些粉絲完成綁定、操作時(shí)在系統(tǒng)中產(chǎn)生一個(gè)uid與之對應(yīng),才可以存儲一些額料(包括真實(shí)等等)和積分?jǐn)?shù)據(jù)系統(tǒng)也允許多個(gè)OpendidUid。//需要使用會//需要使用會員積分?jǐn)?shù)----QQVIPconso()'][uid]=>[realname[mobile]=> ]=>郵箱[groupid]=>用戶組ID[groupname用戶組名稱[credit1]=>積分[credit2]=>余額[credit3]=>其它積分[credit4[credit5[credit5[credit6)booleanbooleanmc_credit_update($uid,$credittype,$creditval,$log=$uid要變更數(shù)據(jù)會員的 $credittype要變更積分?jǐn)?shù)據(jù)的類型,分為credit1,credit2,credit3,credit4,credit5,credit6$creditval$log$log$log=012345=>1(線上操作)2(系 管理員和操作員)3(店員$uid=mc_credit_update($uid,'credit1','10',array(0,'使用砸蛋模塊未 mc_credit_update($_W['member']['uidcredit120, oo跳轉(zhuǎn)<Content><![CDATA[$message=>//$message=>//此部分?jǐn)?shù)據(jù)結(jié)構(gòu)為**全局共有的結(jié)構(gòu)**,其他消息類型為此結(jié)構(gòu)的**補(bǔ)充'from'=>'fromUser',//string:發(fā)送消息方, 代表一個(gè)粉絲用戶(使用OpenID表示) =>'toUser',//string:消息接收方, (使用OpenID表示)'time'=>' ',//int: 消息發(fā)送時(shí)間,使用Unix時(shí)間戳表示'type'=>'text',//string:消息類型 用于區(qū)分不同類型的消息,請參閱下'content'你好!//string:消息內(nèi)'msgid'=>'' 消息ID,公眾平臺系統(tǒng)用于唯一標(biāo)識一條請求消消息類型同公眾平臺不同之處在于將event類型拆分開為獨(dú)立的消息類型,避免了重復(fù)判斷.根據(jù)消息類型不同,消息對象結(jié)構(gòu)還存在不同的附加數(shù)據(jù),按照類型定義如下:粉絲用戶向發(fā)送了一條普通文本消息(包括包含表情的消息,或者純表情處理文本消息可以實(shí)現(xiàn)簡單的文本,結(jié)合使用文本上下文(請參閱上下文$text_message$text_message=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype''text'string:消息類'content'string:文本消息內(nèi)'redirection' 是否是重定'source'=>string:消息來源消息二次分析(目前來源:qr,click,將掃碼等事件轉(zhuǎn)換為text事件理),測試等復(fù)雜的交互))粉絲用戶向發(fā)送了一張$image_message$image_message=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype''image'string:消息類'picurl'=>''//'mediaid'=>''//long: 'url'=>''$location_message=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'$location_message=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype''location'string:消息類'location_x'float:地理位置緯度'location_y'float:地理位置經(jīng)度'scale'=>''//float:地圖縮放大小'label'string:地理位置信)$link_message$link_message=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype''link'string:消息類'title'string:消息標(biāo)'description'=>''//string:消息描'url'string:消$trace=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'$trace=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey')$unsubscribe_message=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>'$unsubscribe_message=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey')$click_message=全局$click_message=全局?jǐn)?shù)'tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey''EVENTKEY'string:模擬的關(guān)鍵)$trace$trace='tousername=>'toUser''fromusername'=>'FromUser''createtime'=>''msgtype'=>'eventkey''eventkey'=>'ticket''TICKET' 的ticket'scene'=>'123'// :事件KEY值 的參數(shù)值,已去除'qrscene_'前)$qr_message$qr_message='tousername'=>'toUser''fromusername'=>'FromUser''createtime'=>''msgtype'=>'eventkey'=>'ticket''TICKET' 的ticket,可用來換'scene''123' 事件KEY值,是一個(gè)32位無符號整數(shù),即創(chuàng)時(shí))$trace_message$trace_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'latitude'=>''//string:地理位置緯度'longitude'string:地理位置經(jīng)度'precision'string:地理位置精度'location_x'?location_x原始值'location_y'?location_y原始)$click_message$click_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey''EVENTKEY'string:模擬的關(guān)鍵)跳轉(zhuǎn)$view_message$view_message='tousername'=>'toUser''fromusername'=>'FromUser''createtime'=>''msgtype'=>'eventkey' string:設(shè)置的跳轉(zhuǎn)))$view_message$view_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey'事件KEY值,由開發(fā)者在創(chuàng)建菜單時(shí)'scancodeinfo'array(掃描信'scanresult'=>'1'//掃描結(jié)果,即 'scantype'=>'qrcode'//掃描類型,一般是qrcode'eventkey'=>))掃碼推事件且彈出“消息接收中”[[dev:terms?&#scancode_push|3$view_message$view_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey'事件KEY值,由開發(fā)者在創(chuàng)建菜單時(shí)'scancodeinfo'array(掃描信'scanresult'=>'2'//掃描結(jié)果,即 'scantype'=>'qrcode'//掃描類型,一般是qrcode'eventkey'=>))$view_message$view_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey'事件KEY值,由開發(fā)者在創(chuàng)建菜單時(shí)'sendpicsinfo'=>array(//發(fā)送的 'count'=>'1'//發(fā)送的 'piclist'=>array(// '0' 的MD5值,開發(fā)者若需要,可用于驗(yàn)證接收))))#####$view_message$view_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey'事件KEY值,由開發(fā)者在創(chuàng)建菜單時(shí)'sendpicsinfo'=>array(//發(fā)送的 'count'=>'1'//發(fā)送的 'piclist'=>array(// '0' 的MD5值,開發(fā)者若需要,可用于驗(yàn)證接收)))#####彈 $view_message$view_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey'事件KEY值,由開發(fā)者在創(chuàng)建菜單時(shí)'sendpicsinfo'=>array(//發(fā)送的 'count'=>'1'//發(fā)送的 'piclist'=>array(// '0' 的MD5值,開發(fā)者若需要,可用于驗(yàn)證接收)))$view

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論