初始上传
This commit is contained in:
56
extend/api/ApiProtocol.php
Executable file
56
extend/api/ApiProtocol.php
Executable file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
namespace extend\api;
|
||||
class ApiProtocol {
|
||||
const APP_ID_KEY = 'app_key';
|
||||
const METHOD_KEY = 'method';
|
||||
const TIMESTAMP_KEY = 'timestamp';
|
||||
const FORMAT_KEY = 'format';
|
||||
const VERSION_KEY = 'version';
|
||||
const SIGN_KEY = 'sign';
|
||||
const SIGN_METHOD_KEY = 'sign_method';
|
||||
const TOKEN_KEY = 'access_token';
|
||||
const ALLOWED_DEVIATE_SECONDS = 600;
|
||||
|
||||
const ERR_SYSTEM = -1;
|
||||
const ERR_INVALID_APP_ID = 40001;
|
||||
const ERR_INVALID_APP = 40002;
|
||||
const ERR_INVALID_TIMESTAMP = 40003;
|
||||
const ERR_EMPTY_SIGNATURE = 40004;
|
||||
const ERR_INVALID_SIGNATURE = 40005;
|
||||
const ERR_INVALID_METHOD_NAME = 40006;
|
||||
const ERR_INVALID_METHOD = 40007;
|
||||
const ERR_INVALID_TEAM = 40008;
|
||||
const ERR_PARAMETER = 41000;
|
||||
const ERR_LOGIC = 50000;
|
||||
|
||||
public static function sign($appSecret, $params, $method = 'md5') {
|
||||
if (!is_array($params)) $params = array();
|
||||
|
||||
ksort($params);
|
||||
$text = '';
|
||||
foreach ($params as $k => $v) {
|
||||
$text .= $k . $v;
|
||||
}
|
||||
|
||||
return self::hash($method, $appSecret . $text . $appSecret);
|
||||
}
|
||||
|
||||
private static function hash($method, $text) {
|
||||
switch ($method) {
|
||||
case 'md5':
|
||||
default:
|
||||
$signature = md5($text);
|
||||
break;
|
||||
}
|
||||
return $signature;
|
||||
}
|
||||
|
||||
public static function allowed_sign_methods() {
|
||||
return array('md5');
|
||||
}
|
||||
|
||||
public static function allowed_format() {
|
||||
return array('json');
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user