微擎應用二次開發,createMobileUrl失靈?
背景:微課堂新增資料統計展示頁面
由於微課堂申明
/**
* 講師中心
* ============================================================================
* 版權所有 2015-2018 風影隨行,並保留所有權利。
* 網站地址: https://bbs.kaimle.com
* ----------------------------------------------------------------------------
* 這不是一個自由軟體!不允許對程式程式碼以任何形式任何目的的再發布,作者將保留
* 追究法律責任的權力和最終解釋權。
*/
開始:
因為上次弄得婚戀交友應用開發的時候不管個是不是自己新建的頁面,自己都能用這個函書路由到指定頁面,但是現在換到是微課堂這就是行不通了?我就無解。位置php檔案html檔案我都是仿著原生的放置,先不說html檔案能不能展示出來,就是訪問php檔案都不行?這是為什麼?
我只想說有人能提下建議嗎?
頁面進去竟然了兩次,而且還提示臨時頭,上網查是說是客戶端請求過長時間沒有響應就會出現這個提示。
鵝鵝鵝餓鵝鵝鵝餓,無語了。
============================
已經過去一天,然後我今天細心看了下文件和微擎有關的路由說明,才發現之前那個截圖的地址有問題。
先附上那個手冊地址:https://www.kancloud.cn/donknap/we7/134629
++++++++++++++++++++++++++++++++++++++++
#####模組URL地址路由
當傳入的 c 值為 “site”, a 值為 “entry”時則是一個模組路由,例如:
http://we7.cc/web/index.php?c=site&a=entry&do=themeset&m=we7_demo
則會路由至 /addons/we7_demo/site.php檔案中的 doWebThemeset()
+++++++++++++++++++++++++++++++++++++++++
當
http://we7.cc/app/index.php?i=1&j=2&c=entry&do=list&m=we7_demo
則會路由至 /addons/we7_demo/site.php檔案中的 doMobileList() 方法。
然後你跳回去看我之前的那個圖截圖發現地址c=entry,很明顯就是路由到模板路徑的site.php檔案去了,正常
路由到模板路徑對應的檔案應該c=site&a=entry才對。所以我本身並未改過微課堂路由相關的什麼東西,估計
就是該模板的路由問題。
這裡穿插多一個連線
https://www.wechat888.cn/?p=130
可能是繼承出錯的問題吧?
+++++++++++++++++++++++++++++++++++
使用createMobileUrl建立app前端連結
使用場景:
建立一個訪問前端的連結,如在前端(app端)中使用到的連結。
使用示例:
1 |
$this->createMobileUrl('Test',array('param1'=>'value1','param2'=>'value2')); |
或
1 |
$this->createMobileUrl('test',array('param1'=>'value1','param2'=>'value2')); |
該寫法對應的後臺內容為:
1 2 3 4 5 6 7 8 9 10 |
<?php
class DemoModuleSite extends WeModuleSite {
public function doMobileTest(){ global $_GPC; //$value1 = $_GPC['param1']; //$value2 = $_GPC['param2']; } } |
或對應檔案,/addons/demo/inc/mobile/test.inc.php
+++++++++++++++++++++++++++++++++++++++++++
反正去試試看再說。現在感覺有些時候還得細心看下文件,其實上面第一個連線的文件我已經看多不下五次,不過就是那種一掃而過的,所以這次重新看路由的相關章節就才發現問題。粗心的我。
=======================================
怎麼辦,估計又要結貼了。我去site.php發現了問題的緣由。因為程式碼不能給出,不然人家叫警察叔叔將我銬起來的。好吧,我就直接說要點關於微課堂的
creatMobileUrl不能正常路由的問題。其實最上面的截圖已經說明c=entry時,此時微課堂的地址會路由到微課堂的site.php檔案那邊去,然後我進去看,結
我提供的第二個連結的內容找到了“doMobile方法名()”的函式,再然後發現函式裡面的內容包著另外一個同類裡面的函式,然後那個函式就是路由用的。
我現在倒是有個疑問,為什麼do=test的時候,會自動路由到 函式 doMobileTest()函式,這個我貌似沒有在文件找到相關的緣由程式碼?
1 |
$this->createMobileUrl('Test',array('param1'=>'value1','param2'=>'value2')); |
或
1 |
$this->createMobileUrl('test',array('param1'=>'value1','param2'=>'value2')); |
該寫法對應的後臺內容為:
1 2 3 4 5 6 7 8 9 10 |
<?php
class DemoModuleSite extends WeModuleSite {
public function doMobileTest(){ global $_GPC; //$value1 = $_GPC['param1']; //$value2 = $_GPC['param2']; } } |
或對應檔案,/addons/demo/inc/mobile/test.inc.php
=========================================
所以文課堂的路徑是這個樣的一切路由都是到site.php然後再到對應的doMobile__()函式然後再include對應檔名的檔案。
所以在site.php新弄一個對應的doMobile__()函式然後新建前後端檔案,然後就能路由,就是這樣。
==================================
是的就是這樣,效果就是這樣happy,可能就是上面連結說的有兩種路由,一種是直接路由到ini.php檔案那邊去(這個符合我我之前二開的那個微擎模板應用),而微課堂是屬於第二種後臺檔案是php檔案。然後是路徑都是必須從site.php檔案新增doMobile__()的函式進行地址路由。
==============================================
文章到此結束,撒花。