代码拉取完成,页面将自动刷新
同步操作将从 dogstar/okayapi-demo 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
/**
* 小白接口的PHP代理
*
* 此文件,可用于为网站或者H5的混合应用,提供服务端代理,从而解决AJAX接口跨域、签名等问题。
*
* @link http://www.okayapi.com
* @author dogstar 2017-12-28
*/
/**
// 允许跨域 看情况开放,一般是不需要的
header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段
**/
// 如果需要查看你的接口域名、app_key和app_secrect,可访问:http://open.yesapi.cn/?r=App/Mine
define('OKAYAPI_HOST', 'http://api.okayapi.com/'); // TODO: 请在此处输入你的接口域名
define('OKAYAPI_APP_KEY', '16BD4337FB1D355902E0502AFCBFD4DF'); // TODO: 请在此处输入你的app_key
define('OKAYAPI_APP_SECRECT', '4c1402596e4cd017eeaO670df6f8B6783475b4ac8A32B4900f20abP2159711ad'); // TODO: 请在此处输入你的app_secrect
$params = $_REQUEST;
session_start();
// 不再自动加上会话凭证,会导致通用数据自动与用户绑定。改为由客户端有需要时手动透传。
/**
if (isset($_SESSION['uuid'])) {
$params['uuid'] = $_SESSION['uuid'];
}
if (isset($_SESSION['token'])) {
$params['token'] = $_SESSION['token'];
}
*/
// 签名
$params['app_key'] = OKAYAPI_APP_KEY;
$params['sign'] = encryptAppKey($params, OKAYAPI_APP_SECRECT);
// 请求小白接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, OKAYAPI_HOST);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
// todo
// var_dump('http://api.okayapi.com/?' . http_build_query($params));
$rs = curl_exec($ch);
curl_close($ch);
// 纪录用户的登录凭证
if (isset($params['s']) && $params['s'] == 'App.User.Login') {
$rsArr = json_decode($rs, true);
if (isset($rsArr['data']['uuid']) && $rsArr['data']['token']) {
$_SESSION['uuid'] = $rsArr['data']['uuid'];
$_SESSION['token'] = $rsArr['data']['token'];
}
}
// 输出接口结果
header('Content-type: application/json;charset=utf-8');
echo $rs;
function encryptAppKey($params, $appSecrect) {
ksort($params);
$paramsStrExceptSign = '';
foreach ($params as $val) {
$paramsStrExceptSign .= $val;
}
return strtoupper(md5($paramsStrExceptSign . $appSecrect));
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。