软件和服务器通信过程中会使用到JSON/XML格式。
BSPHP完全支持二次开发自己的输出格式
BSPHP格式目录:include/applibapi/output
可以自行打开文件进行编辑修改,建议重命名不影响升级!
文件名:bsphp_josn.php
函数名字:bsphp_josn_bsphp_output
命明格式:
文件名:bsphp自己定名称.php
函数名字:bsphp自己定名称_bsphp_output
<?php
header("Content-type: application/json; charset=utf-8");
/**
* 输出文件
*
* * 文件名_bsphp_output(显示内容) 输出显示函数
*/
/**
* @输出给客户端mxl格式文件
*/
function bsphp_josn_bsphp_output($data, $code)
{
$data = json_encode($data);
$microtime = Plug_Execute_Time();
$sginstr = str_replace(
'[KEY]',
$data .
PLUG_DATE() .
PLUG_UNIX() .
$microtime .
Plug_Set_Data('appsafecode'),
PLUG_DATA_TOSGIN()
);
$key = PLUG_DATA_TOSGIN();
$sgin_md5 = md5($sginstr);
#签名调试记录日志
Plug_Dbug_update("`to_sigm_key`='{$key}',`to_sigm_txt` = '{$sginstr}',`to_sigm_md5`='{$sgin_md5}' ");
$json_array = array();
$json_array['response']['data'] = $data; //数据内容
$json_array['response']['code'] = $code; //数据内容编码代号
$json_array['response']['SeSsL'] = session_id(); //session/BSphpSeSsL
$json_array['response']['unix'] = PLUG_UNIX(); //系统时间
$json_array['response']['date'] = PLUG_DATE(); //系统时间
$json_array['response']['microtime'] = $microtime; //执行时间
$json_array['response']['appsafecode'] = Plug_Set_Data('appsafecode'); //原样返回安全代码
$json_array['response']['sgin'] = $sgin_md5; //签名
$data = json_encode($json_array, JSON_UNESCAPED_UNICODE);
return ($data);
}
xml格式
<?php
/**
* 输出文件
*
* * 文件名_bsphp_output(显示内容) 输出显示函数
*/
/**
* @输出给客户端mxl格式文件
*/
function bsphp_xml_bsphp_output($data, $code)
{
if (is_array($data)) {
//参数修改
$code_array_php = '';
foreach ($data as $param_value => $key) {
$key = addslashes($key);
$code_array_php .= "<$param_value>$key</$param_value>";
}
$data = $code_array_php;
}
$microtime = Plug_Execute_Time();
$sginstr = str_replace('[KEY]', $data . PLUG_DATE() . PLUG_UNIX() . $microtime . Plug_Set_Data('appsafecode'), Plug_App_DaTa('app_tosgin'));
$sgin_md5 = md5($sginstr);
$str = iconv("UTF-8", "gbk//TRANSLIT", $sginstr);
$sgin_md52 = md5($str);
#签名调试记录日志
$sgin_md5all = "Utf8:{$sgin_md5}/GBK:{$sgin_md52}";
$key = Plug_App_DaTa('app_tosgin');
Plug_Dbug_update("`to_sigm_key`='{$key}',`to_sigm_txt` = '{$sginstr}',`to_sigm_md5`='{$sgin_md5all}' ");
$data = "<?xml version="1.0" encoding="utf-8"?><response><data>{$data}</data><code>{$code}</code><date>" . PLUG_DATE() . "</date><unix>" . PLUG_UNIX() . "</unix><microtime>" . $microtime . "</microtime><appsafecode>" . Plug_Set_Data('appsafecode') . "</appsafecode><sgin>" . $sgin_md5 . "</sgin><sgin2>" . $sgin_md52 . "</sgin2></response>";
return ($data);
}