http://www.planjoin.com

                                                                  【三分pk10注册】PHP后端接口怎么写-PHP问题

                                                                  php后台接口的实现方法

                                                                  1. 首先,要设置一个入口文件

                                                                  入口文件的话会引入到固定的api文件(如下):

                                                                  <?phpdefine("APPAPI_ALLOW_REQUEST_LOGIN", 'Y');  //是否允许传用户名密码参数的形式登录。如为Y则参数用户名密码参数和basic方式都可以,如为N就只能basic方式。//define("SITE_TEMPLATE_PATH", '/local/templates/mobile_app_api');    //如不定义,默认是local/templates/bitrix24。可以考虑将/local/templates/mobile_app留给h5前端展示用。新开/local/templates/mobile_app_api给api用。如不指定SITE_TEMPLATE_PATH直接IncludeComponent,则对组件代码进行debug时,会出现web端头部页面。//require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/header.php');  //需要模板页面Header('Access-Control-Allow-Origin: *');Header('Access-Control-Allow-Headers: origin, content-type, accept');Header('X-Content-Type-Options: nosniff');require("remote_auth.php");//app方式每次请求session_id()都会变,导致挂钩在session_id()下面的所有session信息如fix_session_id也都不认。所以登录完毕后要拿到session_id(),并在后续接口一起传给接口,接口再去指定session_id。//$_REQUEST['org_sessid']='06q75330o31se1cf4d7vl1bdm4';if(!empty($_REQUEST['org_sessid'])){    $org_session_id=$_REQUEST['org_sessid'];    session_id($org_session_id);    session_start();    //echo session_id();    //echo "<pre>";print_r($_SESSION);exit;}require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");   //无需模板页面$APPLICATION->IncludeComponent("vdg:mobile.data", "", Array());exit;?>

                                                                  2. 其次,在引入的组件的component.php中获取参数,确定模板的使用

                                                                  <?php...include_once(dirname(__FILE__) . "/funct]ions.php");//引入类的方法的文件...if ($_REQUEST["mobile_action"])//Executing some action{    $APPLICATION->RestartBuffer();    $action = $_REQUEST["mobile_action"];    //CRestUtil::sendHeaders();  //跨域header    $actionList = n(ew Bitrix\Mobile\Action();    $actionList->executeAction($action, $arParams);  ,  CMain::FinalActions();    die();}elseif ($_REQUEST["captcha_sid"])//getting captcha image  通过 /vdg/app_api.php?captcha_sid=1 可以得到图形验证码。{    $APPLICATION->RestartBuffer();    $actionList = new Bitrix\Mobile\Action();    $actionList->executeAction("get_captcha", $arParams);  [  die();}elseif ($_REQUEST["manifest_id"])//getting content of appcache manifest{    include($_SERVER["DOCUMENT_ROOT"] .\Bitrix\Main\Data\AppCacheManifest::MANIFEST_CHECK_FILE);    die();}elseif(!$USER->IsAuthorized() || !$isSessidValid){    $APPLICATION->RestartB)uffer();    header("HTTP/1.0 401 Not Authorized");    if(Bitrix\MobileApp\Mobile::getInstance()->getInstance() != "android")    {        //header("Content-Type: application/x-javascript");        header("Content-Type: application/json");        header("BX-Authorize: ".bitrix_sessid());    }    jsonError('201', '请先登陆');       //echo json_encode(Array("status" => "failed", "bitrix_sessid"=>bitrix_sessid()));    die();}?>
                                                                                  

                                                                  郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:卢伟冰:Redmi K20系列会很快搭载MIUI 11 - 小米,MIUI
                                                                  下一篇:没有了