搜索中心
搜索中心 搜索快照

开发必看 - 后台管理

后台管理员相关操作

// 使用的 Admin 类完整路径为
use ModStart\Admin\Auth\Admin;
// 判断当前管理员是否已登录
Admin::isLogin();
// 当前已登录管理员的ID
$adminUserId = Admin::id();
// 根据管理员ID获取管理员信息
Admin::get( $adminUserId );
// 增加管理员信息日志
Admin::addInfoLog( $adminUserId, '日志摘要', ['数据'=>'数据值'] );
// 增加管理员错误日志
Admin::addErrorLog( $adminUserId, '错误摘要', ['数据键'=>'数据值'] );
// 如果两个数组数据不相同记录日志
Admin::addInfoLogIfChanged( $adminUserId, '数据改变了', ['数据'=>'数据值旧'], ['数据'=>'数据值新'] );

后台免登陆接口请求

  • 要求:(MSCore >= 3.6.0)
  • 后台接口指 module/Xxx/Admin 中的接口

免登陆接口使用说明

系统提供了后台接口请求免登陆的功能,请求时后台接口时在http请求头中携带以下参数

Header名称 Header值 示例值
auth-admin-user-id 后台管理员ID 1
auth-admin-timestamp 当前时间戳 单位为秒
auth-admin-request-id 请求ID 随机字符串,至少为10位,每次请求不同
auth-admin-sign 签名 为32位ID值,签名计算方法如下
// 管理员ID
$adminUserId = 1;
// 管理员用户名
$adminUserName = 'admin';
// 管理员密码MD5值(参考 admin_user 中的 password 字段 和 passwordSalt 字段)
$adminPassword = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$adminPasswordSalt = 'xxxxxxxxxxx';
// 当前时间戳
$timestamp = time();
// 随机字符串,保证每次请求随机字符串不同
$requestId = uniqid();
// 拼接字符串
$md5String = "$timestamp:$requestId:$adminUserId:$adminUserName:$adminPassword:$adminPasswordSalt";
// 计算签名
$sign = md5($md5String);

免登陆请求示例代码

$adminUserId = 1;
$adminUserName = 'cms';
$adminPassword = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$adminPasswordSalt = 'xxxxxxxxxx';
$timestamp = time();
$requestId = uniqid();
$md5String = "$timestamp:$requestId:$adminUserId:$adminUserName:$adminPassword:$adminPasswordSalt";
$sign = md5($md5String);
$ret = CurlUtil::post('http://example.com/admin/site/config/setting', [
    'siteName'=>'网站名称'
], [
    'header' => [
        'auth-admin-user-id' => $adminUserId,
        'auth-admin-timestamp' => $timestamp,
        'auth-admin-request-id' => $requestId,
        'auth-admin-sign' => $sign,
    ]
]);
print_r($ret);
查看原文
QQ
微信