>[danger]每次訪問接口時,都必須攜帶4個公共參數,如果時強制用戶登錄的接口,還需要攜帶cowcms_userid參數
| 參數名稱 | 參數描述 |
| --- | --- |
| appid | 接口網站分配個請求網站的appid |
| timestamp | 請求時間戳,該值和當前時間差不能大于7200(默認7200秒,時間時間在后臺設置) |
| nonceStr | 隨機字符串 |
| signature | 請求簽名 |
| cowcms_userid | 登錄用戶id 32位字符串,該參數在用戶登錄時,返回給前端的用戶登錄憑證,前端需要保存該憑證,在調用強制用戶登錄的接口時必傳該參數 |
>[info] 請求簽名 ,將 timestamp, nonceStr,appsecret通過字典排序 ,然后按照key=value&key=value拼接整字符串,通過后臺設置的加密類型進行加密
```
$data = [
'appsecret'=>'71f813843b4f9aa1b37e4cb3952e48906a80e660',//接口網站分配給請求網站的秘鑰
'timestamp'=>time(),//時間戳
'nonceStr'=>getRandChar(6),//隨機字符
];
$type = "sha1"; //在接口網站設置的加密類型 sha1|md5
$sign = exeFun('getSignature',[$data,$type],'api');
echo $sign;
```
>cowcms_userid值的獲取 方式
* [ ] 當控制器繼承了 Member或者Memberbase類時,并且用戶登錄成功可以獲取該值
```
namespace app\signed\controller;
use user\Member;
class Signedajax extends Member
{
function getCowcmsUserid()
{
$userInfo = $this -> userInfo;
echo $userInfo['cowcms_userid'];
}
}
```
```
namespace app\signed\controller;
use user\Memberbase;
class Signedajax extends Memberbase
{
function getCowcmsUserid()
{
$userInfo = $this -> userInfo;
echo $userInfo['cowcms_userid'];
}
}
```
* [ ] 如果控制器沒有繼承Member或者Memberbase類,用戶進行登錄操作時
```
namespace app\signed\controller;
class login
{
function login()
{
/*用戶登陸代碼*/
$userInfo = ['id'=>10,"......"];
$cowcms_userid = exeFun('setCowcmsUserid',[$userInfo['id']],'member');
echo $cowcms_userid ;
}
}
```