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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(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ā)送,模 、升級。在使用時需要先進(jìn)行站 云服務(wù)前你需要先擁有一個微 的帳號,如果沒有可以在 打開“系統(tǒng)”- 站點”菜填寫您 帳號 、站點名稱,即可完點擊“系統(tǒng)”-“一鍵更新”更新程序 完整o添加設(shè)置登填寫相關(guān)資添加添加分為普通接入和登錄接推薦使 登錄接入,提供普通訂閱號自定義菜單等功能(普通接入沒有設(shè)置登使用模式綁定,需要您的平臺在開放平臺認(rèn)證,并且全網(wǎng)發(fā)布審登錄接接開放平臺認(rèn)證和全部發(fā)布通過后,進(jìn)入管理頁面,點擊登錄按鈕,輸入帳號和即可,無需填寫額外的信息和配置入api,具體如下:接普通接入是最基本的接入方法,需要在微擎系統(tǒng)中填入的相關(guān)信息,然后api地址和token到 一鍵獲取模式可以通過輸入登錄用戶名和自動獲取數(shù)(不穩(wěn)如果獲取失敗直接跳過,使用普通模式添加填寫相關(guān)資料 公眾平臺--開發(fā)--基本配置獲取的Appid和 --設(shè)置--設(shè)置中可以查看到,如下的主管理員和可使用的時間,分配可使用的套餐組,如下圖:在微擎系統(tǒng)中添加好信息后,微擎將會顯示出此的接入配置數(shù)據(jù), --開發(fā),基本設(shè)置 o關(guān)鍵字是驅(qū)動微擎系統(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ù)和一個特殊的系統(tǒng)回復(fù)。下文字回點擊管理按鈕--基礎(chǔ)設(shè)置--文字回復(fù)--添加文字回復(fù),如下圖設(shè)置規(guī)則關(guān)鍵字和回復(fù)內(nèi)容。端輸入關(guān)鍵字觸發(fā)即可。Ps:當(dāng)添加多條回圖文回最多可以有8條,圖文回復(fù)可以設(shè)置點擊后跳轉(zhuǎn)的URL地址,系統(tǒng)大部分的功點擊管理按鈕--基礎(chǔ)設(shè)置--圖文回復(fù)--添加圖文回復(fù)圖文分成單圖文和多圖文,設(shè)置封面,名稱,關(guān)鍵字,回復(fù)內(nèi)容。端觸發(fā)即可,添系統(tǒng)回系統(tǒng)回復(fù)是兩個比較特殊的回復(fù)場景,一是粉絲關(guān)注后的歡迎消息回復(fù),第二個是粉絲發(fā)送關(guān)鍵字平臺內(nèi)無法匹配到回復(fù)規(guī)則時的默認(rèn)消息回復(fù)系統(tǒng)回復(fù)這所講的任何一個規(guī)則,然后將關(guān)鍵字填寫到這里),自定義接口回自定義接口回復(fù)允許用戶將關(guān)鍵字轉(zhuǎn)接到其它第公眾平臺與接入到微信公眾平相同,填寫Api地址,Token接入其它第平臺其它系統(tǒng)回其它系統(tǒng)回復(fù)都與上面所講的文字回復(fù) 回復(fù)類似,這里就不再贅述o多注:除普通訂閱號需 登錄外,其 可以設(shè)置自定義菜系統(tǒng)默認(rèn)菜個性化菜、自定義菜單也提供根本粉絲的系統(tǒng)、地區(qū)、粉絲分組來設(shè)置專有的菜系統(tǒng)默認(rèn)菜單,具體如下圖:、注:此功能需要類型為認(rèn)證管理提供生成附加參數(shù)的關(guān)注,滿足推廣分析和用戶帳號綁定等場景的需要。分為臨 和永 ,臨 的時效為七天 時可以關(guān)聯(lián)內(nèi)某個回復(fù)規(guī)則的關(guān)鍵字和名稱用戶掃描后可以號并觸發(fā)設(shè)置的關(guān)鍵字管理員則可以通過掃描統(tǒng)計來查看用戶關(guān)注源多注:此功能需要類型為認(rèn)證訂閱號和認(rèn)證多使用說明及客戶端軟件:在微擎系統(tǒng)中設(shè)置一下 的接入時間和關(guān)鍵字即可,使用如下phphtml&cssJavaScriptphpoPHPSQLCSSJavaScript 索在幫助開發(fā)者養(yǎng)成良好一致的編程風(fēng)格。如果有需要,PHP本條規(guī)范同樣適用于PHP、HTML、CSS、編UTF-8UTF-8BOM((ByteOrder的功能。切記請不要使用windows自帶的記事本編輯項目文注意:請確認(rèn)你的編輯器不會有意或無意的保存文件為UTF-8BOM格式縮每個縮進(jìn)的單位約定是一個Tab(設(shè)置為空格替代,Tab寬度應(yīng)表示為4個換UnixLF"\n"沒有回車CR"\r")PHP<?phpPHPHTML頁面中嵌入純變量時,<?phpecho$variablename;?>這樣的形式。<??><?=$variablename?>這種速記形式。C樣式的注釋“/**/”和標(biāo)準(zhǔn)C++注釋“//”。開發(fā)組請注意:每一個程序文件頭部中,應(yīng)放入相應(yīng)HG控制字串$sn$,以方便Mercurial提交時自動更新微擎接口初始化文[WeEngineSystem]Copyright(c)2013$num$num=$flag //debug這里不能確定是否需要對$flag進(jìn)行賦if(empty($flag))}大括號{}、if,if結(jié)構(gòu)中,else和elseif與前后兩個大括號個空格。另外,即便, 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錯誤。$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(),因為如果不事先判斷,foreach()會對非數(shù)組類型的變量報錯;isset($array['key']),也可使用empty() PHP中的變量不并不像C語言那樣需要事先解釋器會在第一次使用時自動創(chuàng)包含調(diào) 包含調(diào)用程序文件,請盡量使用require,以保證效率。必要情況下,如的重復(fù)調(diào)用時可以使用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}錯誤報告級/data/config.php$config['setting']['development']=1;,打開錯誤報告以便能夠報告程序中所有的錯誤、警告 /data/config.php$config['setting']['development其他注意要perl兼容正則表達(dá)式,即preg_ rid與ims_rulesridid 沒有功能性作用,只為管理和方便而設(shè)的id,可以使用全稱的形式,也可只將id。 基于效率的考慮,所有字段均不能為空,即全部NOTNULL,可以設(shè)置默認(rèn)值來代 預(yù)計不會非負(fù)數(shù)的字段,例如各項id、統(tǒng)計數(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é)記錄值的長度,而一個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è)計 標(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)行編寫,不 請在所有不包含普通程序(即能夠被URL直接調(diào)用的程序)的 中放置一個1字節(jié)的index.html文件,內(nèi)容為一個空格。幾乎除微擎系統(tǒng)根 全部放入空index.html文件,以避免當(dāng)http服務(wù)器的DirectoryListing打開時,服務(wù)器文件被索引和列表。 入一個空的index.html文件,以避免新建 Bootstrap兼容的界面結(jié)構(gòu),Bootstrap使用表單控件時應(yīng)注意,Bootstrap基礎(chǔ)上的,界面如果使用的是非Bootstrap,那么樣式就會出錯.o1.require.js加載(已默認(rèn)加載,無需手動.6.JavaScript微擎系統(tǒng)中,公共的js文件包括Jquery、Util在使用以上兩個Js文件時不需要require,使用其它Js文件需要遵循AMD的方式。AMDAsynchronousModuleDefinition異步模塊定義”require.jsAMD,模塊的AMD規(guī)范的加載器其實很多,require.js。微擎系統(tǒng)使用require.js的好處:js文件的異步加載,避免網(wǎng)頁失去響應(yīng)require.js加載(已默認(rèn)加載,無需手動<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要求,每個模塊是一個單獨的js文件paths:模塊名稱':'相對baseUrl的路徑''jquery':'../lib/jquery-1.11.1.min','underscore':'../lib/underscore-}shim:{'colorpicker':{//(輸出的變量名),表明這個模塊外部調(diào)用時的名稱exports:依賴項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)微站,個人中心或是擴(kuò)展模塊也就是說“api關(guān)鍵字、規(guī)則回復(fù)” oWebAppApi微擎系統(tǒng)中分為三個,分別是“Web端”、“App端”、“ Api入WebWeb端主要負(fù)責(zé)微擎系統(tǒng)的管理功能,文件是“/web/index.php”。登錄用戶的驗初始化登錄用戶的,分派管理員權(quán)限或是操作員權(quán)App。。,App端主要負(fù)責(zé)微擎系統(tǒng)的前端“微站”、“個人中心”及其它普通用戶的功能文件是“/app/index.php”“微站”無需驗證“個人中心”則要求用戶進(jìn)行登錄。此主要完成以下工作:。。,初始化當(dāng)前的數(shù)Api、Api主要負(fù)責(zé)處理公眾平臺請求微擎系統(tǒng)的關(guān)鍵字、語音等數(shù)據(jù),文件是“api.php”。此只用于公眾平臺。此主要完成以、初始化當(dāng)前的數(shù)調(diào)用模塊的processor類返回數(shù)據(jù) 微擎系統(tǒng)遵循MVC的系統(tǒng)架構(gòu),以面向過程的文件與函數(shù)的形式進(jìn)行功能的組source下,每一個代controlleraction某些情況action可能可能會包含多個操作,系統(tǒng)中提供do參數(shù)來用于區(qū)分同一個action中的地址中表示,extension為控制器,module為action,designer為該action下的某一個具體的do系統(tǒng)的模型位于framework/model 型,模型通常會與控制器對應(yīng)。加載模型時以可使用load()函數(shù)[web|app]/themes/defaultcontrolleroURL創(chuàng)建一個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)的路由三個參數(shù)創(chuàng)建一個URLurl($segment$params//生成此地echourl('site/entry/themeset',array('m'=>echo$noredirectfalse,路由的表達(dá)式以斜杠“/”的方式組織,每個以斜杠分隔的第二個參數(shù)則//生成此地echourl('site/entry/themeset',array('m'=>echo模塊中二次封裝了系統(tǒng)的url()函數(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)前時間[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(端), 可能是真實的可能沒有(level<4"E:/MicroEngine/pro/atta塊"Unix.IP地址o加載系統(tǒng)modelweb加載app并且實例化,系統(tǒng)提供load()函數(shù)來該類的實例注:使用load()加載文件時,可以重復(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('刪除失敗,錯誤$file_delete_status=file_remote_delete('test.jpg');if(is_error($file_delete_status)){message('刪除成功}elsemessage('刪除失敗,錯誤碼如下:$file_delete_status['errno,錯誤如下:$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ù)會自動捕獲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)建一個URLMVC在網(wǎng)頁應(yīng)用中,根據(jù)視圖模板來創(chuàng)建視圖,視圖模板為PHP文件,主要包HTML代碼和展示類PHP代碼,簡單起見,我們稱視圖模板或視圖模板文件調(diào)用系統(tǒng)模板文在任何php代碼中可以使用template()函數(shù)來渲染一個視圖文件。例如*[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ā)時請大家注意各自微擎的模板文件本質(zhì)上就是一個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)一個數(shù)組用loop,與php中的foreach函數(shù)類似,第一個參數(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時,與在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)義一個,附件地<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,這兩個通常共同使用,指定是否直接返回值,還returntrue時,則會直接把內(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ù)綁定就是綁定一個PHP變量到用作預(yù)處理的SQL語句中的對應(yīng)命名占位符或問號占位符??梢杂行У姆乐筍QL注入。注:推薦無論何時盡量使用參數(shù)綁定的形式來構(gòu)建SQL語員手動綁定參數(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>'=>//增加一次用戶的錯誤登錄次數(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ù)綁定時,SQL語中等號后不需要使用引號,傳入的值必須與綁定的arrayarray|booleanpdo_fetch($sql,$params=////:uid是參數(shù)的一個占位符,沒有使用引號,傳入的第二個參數(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ù),返回的值是一個數(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)更新,插入,刪除時,可以直接構(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變量到緩存中使用時再從緩存中取回避免過緩存的鍵名必須保證是唯一,如果使用相同的鍵名,以最后一次為準(zhǔn)命名鍵名時應(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ù)據(jù)會保存在$_W['cache']$key$data$data=array(1,2,cache_write('test',$data);oOpenidUid心(用戶中心)有以下好處: Openid與Uid這里的Openid可以泛指從、易信或是其它平臺進(jìn)入的粉絲,當(dāng)這些這些粉僅當(dāng)這些粉絲完成綁定、操作時在系統(tǒng)中產(chǎn)生一個uid與之對應(yīng),才可以存儲一些額料(包括真實等等)和積分?jǐn)?shù)據(jù)系統(tǒng)也允許多個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ā)送消息方, 代表一個粉絲用戶(使用OpenID表示) =>'toUser',//string:消息接收方, (使用OpenID表示)'time'=>' ',//int: 消息發(fā)送時間,使用Unix時間戳表示'type'=>'text',//string:消息類型 用于區(qū)分不同類型的消息,請參閱下'content'你好!//string:消息內(nèi)'msgid'=>'' 消息ID,公眾平臺系統(tǒng)用于唯一標(biāo)識一條請求消消息類型同公眾平臺不同之處在于將event類型拆分開為獨立的消息類型,避免了重復(fù)判斷.根據(jù)消息類型不同,消息對象結(jié)構(gòu)還存在不同的附加數(shù)據(jù),按照類型定義如下:粉絲用戶向發(fā)送了一條普通文本消息(包括包含表情的消息,或者純表情處理文本消息可以實現(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值,是一個32位無符號整數(shù),即創(chuàng)時)$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)建菜單時'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)建菜單時'scancodeinfo'array(掃描信'scanresult'=>'2'//掃描結(jié)果,即 'scantype'=>'qrcode'//掃描類型,一般是qrcode'eventkey'=>))$view_message$view_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey'事件KEY值,由開發(fā)者在創(chuàng)建菜單時'sendpicsinfo'=>array(//發(fā)送的 'count'=>'1'//發(fā)送的 'piclist'=>array(// '0' 的MD5值,開發(fā)者若需要,可用于驗證接收))))#####$view_message$view_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey'事件KEY值,由開發(fā)者在創(chuàng)建菜單時'sendpicsinfo'=>array(//發(fā)送的 'count'=>'1'//發(fā)送的 'piclist'=>array(// '0' 的MD5值,開發(fā)者若需要,可用于驗證接收)))#####彈 $view_message$view_message='tousername'=>'toUser''fromusername'=>'fromUser''createtime'=>''msgtype'=>'eventkey'事件KEY值,由開發(fā)者在創(chuàng)建菜單時'sendpicsinfo'=>array(//發(fā)送的 'count'=>'1'//發(fā)送的 'piclist'=>array(// '0' 的MD5值,開發(fā)者若需要,可用于驗證接收)))$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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論