如何制作Ecshop可用的移动app的api标准接口
推荐于2016-11-14 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517188
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
标题上加了Ecshop,其实也只是个噱头,增加搜索量而已,本文写的内容并不局限于Ecshop上。API接口,通常是供移动APP端调用的,制作api的前提是必须对业务逻辑和代码逻辑十分熟悉了,不然可能会事倍功半,甚至是中途夭折。
首先制作的语言仍旧是PHP,API的返回数据用的是JSON,没有用XML,为什么要用JSON而不用XML,这个问题,懂的人自然懂。先来创建JSON的model。
// 描述:内部使用API JSON类
// 名称:json
// 作者:tiandi
// 版本:0.0.1
// 生成时间:2015.4.23
// 修订时间:2015.4.23
class json {
// status : string : 状态码
// msg : string : 说明
// content: array : 内容
var $status;
var $msg;
var $content;
function json(){
}
function set_status($status) {
$this->status = $status;
}
function set_msg($msg) {
$this->msg = $msg;
}
function set_content($content) {
$this->content = $content;
}
function create_json() {
$arr = array();
$arr['api_status'] = $this->status;
$arr['api_msg'] = $this->msg;
if($arr['api_status'] == '0') {
array_unshift($this->content,$arr);
echo urldecode(json_encode($this->content));
}
else
{
echo urldecode(json_encode($arr));
}
}
function check_env($request){
//check appid
if(!isset($request['appid'])) {
$this->set_status("99");
$this->set_msg("Need appid.");
echo $this->create_json();
exit;
}
elseif(!$this->compare($request['appid'],MY_APPID)) {
$this->set_status("98");
$this->set_msg("Appid is invalid.");
echo $this->create_json();
exit;
}
//check timestamp
elseif(!isset($request['timestamp'])) {
$this->set_status("97");
$this->set_msg("Need timestamp.");
echo $this->create_json();
exit;
}
//check sign
elseif(!isset($request['sign'])) {
$this->set_status("96");
$this->set_msg("Need sign.");
echo $this->create_json();
exit;
}
elseif(!$this->compare($request['sign'],$this->create_sign($request))) {
$this->set_status("95");
$this->set_msg("Sign is invalid.");
echo $this->create_json();
exit;
}
}
function compare($str1,$str2) {
if($str1 == "'".$str2."'" || $str1 == $str2 || "'".$str1."'" == $str2)
return true;
else
return false;
}
/************************** 生成签名 ***************************/
function create_sign($request) {
//签名方法
}
然后用下面方法生成json接口数据,$arr为数据库查询返回的数组。
$json->set_status("0");
$json->set_msg("success");
$json->set_content($arr);
$json->create_json();
首先制作的语言仍旧是PHP,API的返回数据用的是JSON,没有用XML,为什么要用JSON而不用XML,这个问题,懂的人自然懂。先来创建JSON的model。
// 描述:内部使用API JSON类
// 名称:json
// 作者:tiandi
// 版本:0.0.1
// 生成时间:2015.4.23
// 修订时间:2015.4.23
class json {
// status : string : 状态码
// msg : string : 说明
// content: array : 内容
var $status;
var $msg;
var $content;
function json(){
}
function set_status($status) {
$this->status = $status;
}
function set_msg($msg) {
$this->msg = $msg;
}
function set_content($content) {
$this->content = $content;
}
function create_json() {
$arr = array();
$arr['api_status'] = $this->status;
$arr['api_msg'] = $this->msg;
if($arr['api_status'] == '0') {
array_unshift($this->content,$arr);
echo urldecode(json_encode($this->content));
}
else
{
echo urldecode(json_encode($arr));
}
}
function check_env($request){
//check appid
if(!isset($request['appid'])) {
$this->set_status("99");
$this->set_msg("Need appid.");
echo $this->create_json();
exit;
}
elseif(!$this->compare($request['appid'],MY_APPID)) {
$this->set_status("98");
$this->set_msg("Appid is invalid.");
echo $this->create_json();
exit;
}
//check timestamp
elseif(!isset($request['timestamp'])) {
$this->set_status("97");
$this->set_msg("Need timestamp.");
echo $this->create_json();
exit;
}
//check sign
elseif(!isset($request['sign'])) {
$this->set_status("96");
$this->set_msg("Need sign.");
echo $this->create_json();
exit;
}
elseif(!$this->compare($request['sign'],$this->create_sign($request))) {
$this->set_status("95");
$this->set_msg("Sign is invalid.");
echo $this->create_json();
exit;
}
}
function compare($str1,$str2) {
if($str1 == "'".$str2."'" || $str1 == $str2 || "'".$str1."'" == $str2)
return true;
else
return false;
}
/************************** 生成签名 ***************************/
function create_sign($request) {
//签名方法
}
然后用下面方法生成json接口数据,$arr为数据库查询返回的数组。
$json->set_status("0");
$json->set_msg("success");
$json->set_content($arr);
$json->create_json();
广东轻亿云软件
2024-05-14 广告
2024-05-14 广告
作为广东轻亿云软件科技有限公司的一员,我们深知API接口开放平台的重要性。这一平台不仅为开发者们提供了丰富的应用程序编程接口,使他们能够便捷地访问和利用各项功能进行创新开发,还促进了开发者社区与公司产品或服务之间的深度互动。通过API接口开...
点击进入详情页
本回答由广东轻亿云软件提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询