>api接口主要接口主要解决的问题
* [ ] 接口被其它网站恶意盗刷
* [ ] 防止接口被前端重复提交
* [ ] 提高接口使用的可控制性
* [ ] 降低开发接口的成本
>[danger]在api接口开发中,凡是需要强制用户登录的接口,控制器中方法的名称【action】的前缀为"member_",当检测到【action】的前缀为"member_",接口会先去检测用户登录信息,如果用户未登录,接口返回 {"err":"1","code":"10207","content":"用户未登录"}
, 需要注意的是api不再使用session,用户信息的获取是通过cowcms_userid参数获取,当用户登录后会返回cowcms_userid的值,前端可以将该值保存起来,在需要强制用户登录的接口访问时携带该参数,后端api直接可以通过$this->userInfo获取用户信息.
## 接口开发
```
namespace xxxxxx;
use api\Api;
class interface extends Api
{
/*************************************************************
* member_getInfo 需要强制登录的接口,在调用该接口时,必须要传递cowcms_userid
* return json 返回结果
*************************************************************/
public function member_getInfo()
{
$userInfo = $this->userInfo;//获取的登陆用户信息
return $this->returnData($userInfo);
}
/*************************************************************
* getInfo 不需要强制登录的接口,返回文字列表
* return json 返回结果
*************************************************************/
public function getInfo()
{
$userInfo = $this->userInfo;//如果用户登录$userInfo为用户信息,如果没登录为false
return $this->returnData(["测试"]);
}
}
```
>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 ;
}
}
```
- 序言
- 基础
- 源码包
- 核心包
- 完整包
- 系统模块
- 安装模块
- 后台模块
- 插件模块
- 插件开发
- 开发基础
- 权限开发
- 菜单开发
- 开发调试
- 碎片开发
- 碎片钩子预设表
- 插件说明
- 字段插件
- 插件介绍
- 字段使用
- 单行文本
- 多行文本
- 选项-下拉
- 选项-复选
- 选项-单选
- 选项-滑块
- 颜色选择器
- 星级评分
- 日期时间
- 文件上传
- 编辑器
- API接口
- 微信插件
- 微信配置
- 公众号配置
- 支付配置
- 微信支付使用
- API类库
- 红包发放
- 付款到零钱
- 碎片
- 公众号碎片
- 红包碎片
- 付款到零钱碎片
- API微信接口
- 支付宝插件
- 支付宝配置
- 支付宝支付使用
- api接口
- api接口后端开发
- api接口前端使用
- API参数接口
- 会员插件
- 登录使用
- 会员碎片
- API会员接口
- API注册接口
- 积分插件
- 积分设置
- 积分碎片
- API积分接口
- API提现接口
- API兑换接口
- API充值接口
- 订单
- 订单碎片
- API订单接口
- 商城
- 商城钩子
- API商城接口
- API商城会员接口
- 签到
- 签到设置
- 签到碎片
- API签到接口
- 上传
- 上传设置
- 上传JS接口
- 推广插件
- 海报设置
- API海报接口
- 文章插件
- 文章设置
- 文章钩子
- API文章接口
- API文章会员接口
- 管理员
- 管理员碎片
- 站内信
- API站内信接口
- 杂项
- 菜单
- 菜单设置
- API菜单接口
- 错误码
- 支付碎片
- 支付
- 充值
- 购买会员组
- 购买产品