数据存储JS-SDK


引入方法


目前js sdk依赖jquery,请在引用sdk js前引入jquery。然后在页面引入js文件即可。目前版本为1.0.1。
例如在网页后面添加如下代码即可(具体路径以实际路径为准):

<script  src=js/jquery-1.11.3.min.js></script>
<script  src=js/dt-baas-sdk-1.0.js></script>

数据类型


目前支持以下数据类型:

  • 数组:值为1
  • 布尔:值为2
  • 日期:值为4
  • 数字:值为5
  • 对象:值为6
  • 字符串:值为7

DT


说明:

DT是js-sdk的入口
所有的操作都基于实例化的DT对象

使用方法:

new DT(config)
  • 'config' (Object) [必选] -参数
    • 'appId' (String) [必选] -App对应的appId,必填
    • 'appKey' (String) [可选] -App对应的appKey,验证app权限
    • 'appMasterKey' (String) [可选] -App对应的masterKey,验证app的开发者权限
    • 'vs' (String) [可选] -调用的Rest Api版本

示例:

var _dt = new DT({
    appId:"aaasssdsaffds1212212sfsfdsffdsf"
    ,appKey:'b6d1540953154782a11660b18cd64c2a'
});

DB


说明:

数据库的相关操作
主要是对表的操作和数据的导出、导入

使用方法示例:

var _dbObj = new _dt.DB();

方法: getAllTab(errback,callback)

说明:

得到所有的表

参数说明:

  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值(数组/null)
    • 'addfields' (Object) [必选] -添加属性权限
    • 'count' (Number) [必选] -数据个数
    • 'create' (Object) [必选] -添加数据的权限
    • 'delete' (Object) [必选] -删除数据的权限
    • 'edit' (Object) [必选] -编辑数据的权限
    • 'find' (Object) [必选] -查找数据的权限
    • 'get' (Object) [必选] -得到数据的权限
    • 'name' (String) [必选] -表名

示例:

_dbObj.getAllTab(function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: createTab(tabName,errback,callback)

说明:

添加表

参数说明:

  • 'tabName' (String) [必选] -表名
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (String) [必选] -callback返回的值(表的id)

示例:

_dbObj.createTab("testTab",function(err){
    console.log(err);
},function(data){
    console.log(data);
    //返回值:c423987925e116fbdd4a2acdae4f8efb
});

方法: delTab(tabName,errback,callback)

说明:

删除表

参数说明:

  • 'tabName' (String) [必选] -表名
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_dbObj.delTab("testTab",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: clearTab(tabName,errback,callback)

说明:

清空表

参数说明:

  • 'tabName' (String) [必选] -表名
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_dbObj.clearTab("testTab",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: exportTab(obj,errback,callback)

说明:

导出表

参数说明:

  • 'data' (Object) [必选] -参数
    • 'classlist' (Array) [可选] -需要导出的表名
    • 'startDtm' (Number) [可选] -开始时间
    • 'endDtm' (Number) [可选] -结束时间
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

var _config = {
    classlist : [],
    startDtm:new Date().getTime(),
    endDtm:new Date().getTime()
}
_dbObj.exportTab(_config,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: importClass(tabName,obj,errback,callback)

说明:

导入数据到表

参数说明:

  • 'tabName' (String) [必选] -表名
  • 'data' (Object) [必选] -参数
    • 'url' (String) [必选] -数据的所在网络地址
  • 'tabName' (String) [必选] -表名
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Number) [必选] -callback返回的值(导入成功的个数)

示例:

_dbObj.importClass("testTab",‘’,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

Tab


说明:

表相关操作
对表的属性(列)操作 对表内数据的操作

使用方法:

new _dt.DB.Tab(className); //className为表名

示例:

var _testTab = new _dt.DB.Tab("testTab");

方法: createField(obj,errback,callback)

说明:

添加列

参数说明:

  • 'data' (Object) [必选] -参数
    • 'name' (String) [必选] -属性名
    • 'type' (Number) [必选] -类型
    • 'default' (Object) [可选] -默认值
    • 'remark' (String) [可选] -备注
    • 'isread' (Number) [可选] -是否只读
    • 'ismust' (Number) [可选] -是否必填
    • 'isclient' (Number) [可选] -是否在客户端显示
    • 'ismyself' (Number) [可选] -是否只能修改者查看
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (String) [必选] -callback返回的值

示例:

var _obj = {
    name:"newFeild",
    type:9,
    default:null,
    remark:"",
    classname:"",
    isread:0,
    ismust:0,
    isclient:0,
    ismyself: 0
};
_testTab.createField(_obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: editField(obj,errback,callback)

说明:

编辑列

参数说明:

  • 'data' (Object) [必选] -参数
    • 'name' (String) [必选] -属性名
    • 'default' (Object) [可选] -默认值
    • 'remark' (String) [可选] -备注
    • 'isread' (Number) [可选] -是否只读
    • 'ismust' (Number) [可选] -是否必填
    • 'isclient' (Number) [可选] -是否在客户端显示
    • 'ismyself' (Number) [可选] -是否只能修改者查看
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

var _obj = {
    name:"newFeild",
    default:null,
    remark:"remark",
    classname:"",
    isread:0,
    ismust:0,
    isclient:0,
    ismyself: 0
};
_testTab.editField(_obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: getField(fieldName,errback,callback)

说明:

得到列

参数说明:

  • 'fieldName' (String) [必选] -属性名
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Object) [必选] -callback返回的值
    • 'name' (String) [必选] -属性名
    • 'type' (Number) [必选] -类型
    • 'default' (Object) [可选] -默认值
    • 'remark' (String) [可选] -备注
    • 'isread' (Number) [可选] -是否只读
    • 'ismust' (Number) [可选] -是否必填
    • 'isclient' (Number) [可选] -是否在客户端显示
    • 'ismyself' (Number) [可选] -是否只能修改者查看

示例:

_testTab.getField("newFeild",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: delField(fieldName,errback,callback)

说明:

删除列

参数说明:

  • 'fieldName' (String) [必选] -属性名
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_testTab.delField("newFeild",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: getFieldes(errback,callback)

说明:

得到所有列

参数说明:

  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值
    • 'name' (String) [必选] -属性名
    • 'type' (Number) [必选] -类型
    • 'default' (Object) [必选] -默认值
    • 'remark' (String) [必选] -备注
    • 'isread' (Number) [必选] -是否只读
    • 'ismust' (Number) [必选] -是否必填
    • 'isclient' (Number) [必选] -是否在客户端显示
    • 'ismyself' (Number) [必选] -是否只能修改者查看

示例:

_testTab.getFieldes(function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: createData(obj,errback,callback)

说明:

添加一条数据

参数说明:

  • 'obj' (Object) [必选] -传入的对象
  • 'data._id' (String) [必选] -关键字(主键)
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (String) [必选] -callback返回的值(添加数据的_id)

示例:

var _obj = {
    "_id" : "0000001",
    "newFeild" : "liuyang"   //表自定义的属性
};
_testTab.createData(_obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: createListData(obj,errback,callback)

说明:

添加一组数据

参数说明:

  • 'obj' (Object) [必选] -传入的对象
  • 'data.369cloud' (Object) [必选] -固定属性,导入数据必须放在该属性下
  • 'data.369cloud._id' (String) [可选] -导入数据的关键字(主键)
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

var _obj = {
    "369cloud":[
        {
           "_id" : "0000002",
           "newFeild" : "liuyang"
        },
        {
            "_id" : "0000003",
            "newFeild" : "liuyang"
        }
    ]
};
_testTab.createListData(_obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: getData(strId,errback,callback)

说明:

得到一条数据

参数说明:

  • '_id' (String) [必选] -需要获取数据的主键(_id)
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Object) [必选] -callback返回的值

示例:

_testTab.getData("0000001",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: editData(obj,errback,callback)

说明:

编辑数据

参数说明:

  • 'obj' (Object) [必选] -编辑的对象
  • 'data._id' (String) [必选] -关键字(主键)
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

var _obj = {
    _id:"0000001"
    ,newFeild:"editFeild"
};
_testTab.editData(_obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: delData(strId,errback,callback)

说明:

删除一条数据

参数说明:

  • '_id' (String) [必选] -删除的数据对应的主键
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_testTab.delData("0000001",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: delListData(obj,errback,callback)

说明:

删除一组数据

参数说明:

  • 'obj' (Object) [必选] -编辑的对象
  • 'data.idlist' (Array) [必选] -关键字(主键)数组
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值

示例:

_testTab.delListData({
    idlist:['0000001','0000002']
},function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: getListData(option,errback,callback)

说明:

得到一组数据

参数说明:

  • 'obj' (Object) [必选] -参数
  • 'data.page' (Number) [可选] -当前页
  • 'data.size' (Number) [可选] -每页行数
  • 'data.include' (Object) [可选] -关联字段及所需查询的字段
  • 'data.where' (Object) [可选] -条件
  • 'data.order' (Array) [可选] -排序 例如: order:[["_edtm",1]] 其中‘1’表示正序,‘-1’表示倒叙
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值
    • '_id' (Object) [必选] -关键字(主键)

示例:

var _option = {
    page:1,
    size:10,
    include:{
        "fieldName":"fieldName1,fieldName2"
    },
    where:{
        ishot:0,
        type: "technology"
    }
    order:[["_edtm",1]],
};
_testTab.getListData(_option,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

User


说明:

用户的相关操作
用户的登录,注册等

使用方法示例:

var _userObj = new _dt.Auth.User();

方法: regUser(objUser,errback,callback)

说明:

用户注册

参数说明:

  • 'obj' (Object) [必选] -参数
    • 'name' (String) [必选] -用户名 (3-24个字符,由字母,数组,"_"组成)
    • 'pwd' (String) [必选] -密码
    • 'tel' (String) [可选] -电话 (11位数字)
    • 'mail' (String) [可选] -邮箱 (邮箱格式)
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值
    • 'name' (Object) [必选] -用户名
    • 'pwd' (Object) [必选] -密码
    • 'tel' (Object) [必选] -电话
    • 'mail' (Object) [必选] -邮箱
    • 'session' (Object) [必选] -用户session

示例:

var _obj = {
    name:"131221"
    ,pwd:"123456"
    ,tel:"139******05"
    ,mail:"1111@qq.com"
};
_userObj.regUser(_obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: regBySecret(objUser,errback,callback)

说明:

手机注册

参数说明:

  • 'obj' (Object) [必选] -参数
    • 'name' (String) [必选] -用户名
    • 'pwd' (String) [必选] -密码
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值
    • 'name' (Object) [必选] -用户名
    • 'pwd' (Object) [必选] -密码
    • 'tel' (Object) [必选] -电话
    • 'mail' (Object) [必选] -邮箱
    • 'session' (Object) [必选] -用户session

示例:

var _obj = {
    "name":"testUser",
    "pwd":"123456"
};
_userObj.regBySecret(_userObj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: getTelCode(strType,strTel,errback,callback)

说明:

发送手机验证码

参数说明:

  • 'strType' (String) [必选] -短信类型 (repwd:修改密码 reg注册 login登录 default:默认)
  • 'strTel' (String) [必选] -电话号码
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_userObj.getTelCode('login','139******05',function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: validTelCode(strTel,strCode,errback,callback)

说明:

验证手机

参数说明:

  • 'strTel' (String) [必选] -电话号码
  • 'strCode' (String) [必选] -验证码(有效时间为5分钟)
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_userObj.validTelCode("139******05","456789",function(err){
    console.log(err);
},function(data){
    console.log(data);
}); 

方法: regForOneByMobile(objUser,errback,callback)

说明:

手机注册(依赖验证码)

参数说明:

  • 'obj' (Object) [必选] -参数
  • 'data.tel' (String) [必选] -电话
  • 'data.code' (String) [必选] -验证码
  • 'data.pwd' (String) [必选] -密码
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值
    • '_id' (Object) [必选] -关键字(主键)

示例:

var _obj = {
    tel:"139******05" ,
    code:"546114",
    pwd:"123456"
};
_userObj.regForOneByMobile(_obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: login(userCode,userPwd,errback,callback)

说明:

登录

参数说明:

  • 'userCode' (String) [必选] -用户名
  • 'userPwd' (String) [必选] -用户密码
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'data' (Array) [必选] -callback返回的值
    • 'name' (Object) [必选] -用户名
    • 'pwd' (Object) [必选] -密码
    • 'tel' (Object) [必选] -电话
    • 'mail' (Object) [必选] -邮箱
    • 'session' (Object) [必选] -用户session

示例:

_userObj.login("username","123456",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: loginByMobileCode(strTel,strCode,errback,callback)

说明:

根据手机验证码登录

参数说明:

  • 'strTel' (String) [必选] -电话
  • 'strCode' (String) [必选] -验证码(有效时间为5分钟)
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值
    • 'name' (String) [必选] -用户名
    • 'pwd' (String) [必选] -密码
    • 'tel' (String) [必选] -电话
    • 'mail' (String) [必选] -邮箱
    • 'session' (String) [必选] -用户session

示例:

_userObj.loginByMobileCode("139******05","553803",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: editPwd(userCode,userOldPwd,userNewPwd,errback,callback)

说明:

修改密码

参数说明:

  • 'userCode' (String) [必选] -用户名
  • 'userOldPwd' (String) [必选] -旧密码
  • 'userNewPwd' (String) [必选] -新密码
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_userObj.editPwd("139******05","123456","12345678",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: editPwdByMobileCode(strTel,strCode,userNewPwd,errback,callback)

说明:

根据手机验证码修改密码

参数说明:

  • 'strTel' (String) [必选] -用户电话
  • 'strCode' (String) [必选] -验证码(有效时间为5分钟)
  • 'userNewPwd' (String) [必选] -新密码
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_userObj.editPwdByMobileCode("139******05","873395","12345678",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: rePwd(userCode,errback,callback)

说明:

密码重置 目前重置后的密码为:123456

参数说明:

  • 'userCode' (String) [必选] -用户名
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

_userObj.rePwd("139******05",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: editUser(objUser,errback,callback)

说明:

修改用户信息

参数说明:

  • 'obj' (Object) [必选] -参数
    • '_id' (String) [必选] -用户name
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Bool) [必选] -callback返回的值(true/false)

示例:

var _obj = {
    _id:"139******05"
};
_userObj.editUser(_obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});

方法: delUser(userCode,errback,callback)

说明:

删除用户

参数说明:

  • 'userCode' (String) [必选] -用户名
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的错误信息
  • 'data' (Array) [必选] -callback返回的值
    • '_id' (String) [必选] -关键字(主键)

示例:

_userObj.delUser("139******05",function(err){
    console.log(err);
},function(data){
    console.log(data);
});

Img


说明:

图片相关操作
图片上传

使用方法示例:

var _dbImg = new _dt.Img();

方法: putImgByBase64(obj,errback,callback)

说明:

上传图片(Base64位信息)

参数说明:

  • 'obj' (Object) [必选] -参数
    • 'strImg' (String) [必选] -图片的base64位编码
    • 'type' (String) [必选] -图片类型
  • 'errback' (Event) [必选] -错误信息的回调函数
  • 'callback' (Event) [必选] -正确结果的回调函数
  • 'err' (String) [必选] -errback返回的值
  • 'data' (String) [必选] -图片地址

示例:

var strImg = "";//strImg为图片的base64位编码
var obj = {
    base:strImg,
    type:"jpg"
};
_dbImg.putImgByBase64(obj,function(err){
    console.log(err);
},function(data){
    console.log(data);
});