代码拉取完成,页面将自动刷新
同步操作将从 wuwenbin/bookmark 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
接口调用地址为:[baseUrl]/api/?do=[do]
,所有请求使用POST方式提交,请求数据需要使用RSA
公钥加密。
响应数据(JSON
格式)在用户已授权登录的情况下是通过AES
加密的;在未登录情况是不加密的。
db/token.sql
到数据库;root/config/base.php
添加RSA
私钥配置:// RSA私钥(内容或者文件名)
$config["rsaPrivateKey"] = '...';
RSA
私钥(公钥)生成方法:
# 生成私钥
openssl genrsa -out api.key 2048
# 从私钥导出公钥
openssl rsa -in api.key -out api.pub -pubout
include_once 'root/common/helper.php';
include_once 'root/include/misc/RSA.php';
include_once 'root/include/misc/AES.php';
// 接口地址
define('API_URL', 'http://localhost/bookmark/api/?do=[do]');
// RSA公钥
define('RSA_PUBLIC_KEY', '...');
/**
* 接口调用
*
* @param string $do 操作名称
* @param array $params 请求参数
* @param string $appSecret AES密钥
*
* @return array|null
*/
function apiCall($do, array $params, $appSecret = null)
{
// 数据加密
$rsa = new RSA();
$rsa->setPublicKey(RSA_PUBLIC_KEY);
$data = $rsa->encryptWithPublicKey(json_encode($params));
// POST请求
$url = str_replace('[do]', $do, API_URL);
$res = http($url, $data);
// 数据解密
if (substr($res, 0, 1) != '{') {
$aes = new AES();
$res = $aes->decrypt($res, $appSecret);
}
// 响应数据
return json_decode($res, true);
}
请求:
$do = 'User_Auth';
$params = array(
'app_id' => 1, // 应用ID
'app_secret' => '', // 应用密钥(本地生成32位随机数)
'oauth_type' => '', // 第三方账号类型(weibo,qq,baidu)
'oauth_token' => array(), // 第三方登录后获取的授权信息(数组)
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => array( // 数据
'user' => array( // 用户信息
'uid' => 1, // 用户ID
'name' => '', // 用户昵称
'avatar' => '', // 用户头像图片URL
),
'token' => '', // 会话ID(其他操作需要提供此参数)
'expire_time' => 0, // 会话过期时间
'create_time' => 0, // 会话创建时间
},
);
请求:
$do = 'Category_GetList';
$params = array(
'token' => '', // 会话ID
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => array( // 数据
array(
'id'=> 1, // 分类ID
'name' => '', // 分类名称
'sort' => 1, // 分类排序值
'is_default' => 0, // 是否是默认分类(默认分类不能删除)
'is_private' => 0, // 是否为私有分类
'ctime' => 0, // 分类创建时间
),
...
},
);
请求:
$do = 'Category_Add';
$params = array(
'token' => '', // 会话ID
'name' => '', // 分类名称
'is_private' => 0, // 是否是私有分类
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => 1, // 分类ID
);
请求:
$do = 'Category_Edit';
$params = array(
'token' => '', // 会话ID
'id' => 1, // 分类ID
'name' => '', // 分类名称
'is_private' => 0, // 是否是私有分类
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => null,
);
请求:
$do = 'Category_Edit';
$params = array(
'token' => '', // 会话ID
'id' => 1, // 分类ID
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => null,
);
请求:
$do = 'Category_Edit';
$params = array(
'token' => '', // 会话ID
'id1' => 1, // 分类ID1
'id2' => 2, // 分类ID2
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => null,
);
请求:
$do = 'Link_GetList';
$params = array(
'token' => '', // 会话ID
'cid' => 1, // 分类ID(可选)
'kw' => '', // 搜索关键词(可选)
'page' => 1, // 页码
'each' => 5, // 每页数量
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => array(
'list' => array( // 网址列表
array(
'id' => 1, // 网址ID
'title' => '', // 网址标题
'url' => '', // 网址URL
'ctime' => 0, // 网址添加时间
'cid' => 0, // 分类ID
),
...
),
'count' => 0, // 网址总量
'page' => 1, // 页码
'each' => 5, // 每页数量
),
);
请求:
$do = 'Link_Add';
$params = array(
'token' => '', // 会话ID
'cid' => 0, // 分类ID
'title' => '', // 网址标题
'url' => '', // 网址URL
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => 1, // 网址ID
);
请求:
$do = 'Link_Edit';
$params = array(
'token' => '', // 会话ID
'id' => 1, // 网址ID
'cid' => 0, // 分类ID
'title' => '', // 网址标题
'url' => '', // 网址URL
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => null,
);
$do = 'Link_Edit';
$params = array(
'token' => '', // 会话ID
'id' => 1, // 网址ID
);
响应:
array(
'status' => 1, // 状态(0:失败;1:成功)
'msg' => '', // 提示信息
'data' => null,
);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。