Skip to content

MoeKit/seedit-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API文档


private package Build Status Coverage Status

站内API JavaScritp SDK 文档

对于POST跨域的问题,使用iframeAjax进行了处理封装。

该模块依赖于seedit-config屏蔽了不同环境下的url差异。


模块中使用

var API = require('seedit-api');

实现说明

GET请求统一为jsonp请求

POST请求将提交到iframe处理

API 方法说明

API主要只有4个请求方法。默认请求的是commonAPI。要请求其他域的请看后面说明。

API.verb(API,[data],successCallback,errorCallback)

verb为REST基本的四个方法:

  • get
  • post
  • del (delete为JavaScript关键字ie下报错,不能使用)
  • put

参数说明

  • API string API名字,参照CMS后台文档。如 bbs/common_member。也可以为完全的API路径。

  • data object API参数,可选

  • successCallback function 请求成功时的回调,

    参数为API返回数据 Object:

    {error_code:0,data:{}}
  • errorCallback function 请求失败的回调,

    参数为API返回数据 Object:

    {error_code:1006,error_message:'出错啦'}

事件

请求的回调还可以写成事件的形式:

  • success 成功
  • error 失败

原来代码:

API.verb(API,[data],successCallback,errorCallback)

可以写成

API.verb(API,[data]).on('success',successCallback).on('error',errorCallback);

注意:交互考虑,必须必须有errorCallback回调

API.scope

该函数返回上面四个方法,用于定义API scope,即API域 。

后面再调用get等方法时,基地址将由scope决定。

scope可取值有:

  • common common API

  • huodong 活动 API

  • bbs bbs API

    对于http://bbs.office.bzdev.net/restful/newyear/post.json这样的接口,可以用

    var bbsAPI = APICore.scope('bbs');
    bbsAPI.get('newyear/post').on('success',function(data){
    //
    });
  • ./path 相对当前网站路径,

    当前url为http://account.seedit.com/时,使用 API.scope('./restful'),那么所有API的基地址是 http://account.seedit.com/restful

  • 绝对地址 不建议使用,仅用于调试

var huodongAPI = API.scope('huodong');
// 请求试纸数据
huodongAPI.get('shizhi/list',function(data){
    // 请求成功啦
});

举例

带参数请求:

API.post('bbs/post',datas,function(data){
    console.log('success');
},function(data){
    console.log('oops!'+data.error_message);
})

无参数时:

API.get('bbs/common_member',function(data){
    console.log('success');
},function(data){
    console.log('oops!'+data.error_message);
});