这里不在叙述php的基本语法,在app开发中,app只作为数据的承载页面也就是显示功能,而不进行数据的处理和存储功能。
4个规范:
一、接口采用统一请求和数据返回格式,建议数据请求格式为post,json,返回格式为json,json具有相当强大的跨平台性。
第一种:app 传输的 json格式
$jsoncode = file_get_contents("php://input");
$this->json = json_decode($jsoncode, true);
$uid = intval($this->json['uid']);
第二种:直接post传输
$uid = intval($_POST['uid']);
返回的json函数:
/**
* json 输出结果
* expire = 1,表示token已过期,//2表示异地登录
*/
public function ajaxmsg($msg="",$status=1,$expire=0){
$json['status'] = $status;
$json['expire'] = $expire;
if(is_array($msg)){
foreach($msg as $key=>$v){
$json[$key] = $v;
}
}elseif(!empty($msg)){
$json['message'] = $msg;
}
exit(json_encode($json));
}
二、接口安全,一定要增加接口验证,所有接口采用统一的加密方式:比如用 model/controller/action + 密钥加密的 access,客户端传递的access加密规则和服务器应保持一致,加密字符串可以直接写在app的配置文件中。
$api_access = md5(md5(strtolower(MODULE_NAME . '' . ACTION_NAME . '' . $this->encode)));
$access = $this->json['access'];
if($access=='' || $access !== $api_access){
$this->ajaxmsg("未授权访问");
}
三、开发 API 和 WEB 有一定的区别,php的 error和report错误,会导致app的直接奔溃,所以api开发需要error_reporting(0)。
四、app中的部分页面,能用 网页 来代替就用网页,减少app的开发工作量,比如网站公告,新闻资讯,页面。
网友评论