APICloud模块的引入、服务器数据对接,APP数据存储方式



1.模块的使用和引用

apicloud的模块store里面提供了大量的模块,我们可以直接在html里面引入使用
使用方法:在需要使用模块的页面中加入:
var obj = api.require('
模块名');
然后参考对应模块的使用方法。如果在一个页面中频繁使用到一个模块的功能,最好就将其声明称全局变量。

2.服务器数据对接---云数据库和本地服务器

1.、在APICLOUD开发的过程中,我们看到了一个新名词,数据云。这个是apicloud提供给开发者的一个云数据库,我们可以利用它来完成数据的存储和读取。
开启数据云流程,  进入控制台---左侧云设置----选择一个储存服务--确定即可开通,然后在Database里面我们会看到默认的几张表
(以下注释非官方注释,个人理解的意思 *.*
accessToken    ----  
存储用户令牌类
file  ----
文件类
role  -----  
角色配置
roleMapping  ---  
相关对应的角色权限
user  -----  
用户
(默认的表前面有个下划线不用理会他,就当不存在哈)
当然我们也可以根据自己的需求创建各类表,通过添加列来自己表字段,注意根据自己需求设置下字段类型,字段类型不懂的可以百度一下,主要有字符,数字,时间,文件,数组,关联等

对于数据表的操作说简单的点就是增删改查,下面说一下数据云的使用方法,在文档里面对应(mcm)

我们通过model模块来实现数据云的操作,首先引入和配置下model模块
var model = api.require('model');
model.config({
    appKey: 'A991A337-0212-A29D-0C9C-A518E39FXXXX',
    host: 'https://d.apicloud.com'
});
appKey
可以在控制台里面查看。
然后通过model的各种方法来实现增删改查
例子,插入数据
var model = api.require('model');
model.insert({
    class: '
表名',
    value: {
        
字段:''
    }
}, function(ret, err){
    if(ret){
        //do something      
    }
});
其他的方法请参考:  http://docs.apicloud.com/%E7%AB%AFAPI/%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%AF%B9%E6%8E%A5/mcm#a2
TIP:
apicloud,一般用ret来标识成功的返回,err表示错误
在表的操作中数据返回的是JSON格式,我们拿到这个JSON数据后就开始用js来处理,插入到html元素中
自己可以建个表,按照文档来试一下各种方法。
2
、从自己的服务器读写数据
apicloud
封装了一个ajax的方法来方便我们通过postget等获取服务器数据,获取的数据类型有jsontext格式,使用方法跟JS原生和jqpost get  大同小易
重点来说一个几个注意的地方
当使用post时,发送的数据要写在datavalues里面。
当为get时,data是不起作用的,发送的数据放在url里面
php为例接受时直接  $name =$_POST['name'];

3.APP数据存储方式

apicloud的数据方式还是蛮多的,上面的数据云和自己服务器算是两个吧,下面还有H5的本地保存,读写文件方式,设置偏好值等。
1
H5本地保存 localStorage   apicloud中已经封装的更简单了
$api.setStorage('name','key');//
设置
$api.getStorage('name');//
获得指定name的值
$api.rmStorage('name');//
清除指定name的值
$api.clearStorage();//
清楚全部本地数据
不过这个方式不建议大数据的读取,可以用来存取用户的基本信息
文档

http://docs.apicloud.com/APICloud/%E6%8A%80%E6%9C%AF%E4%B8%93%E9%A2%98/framework-dev-guide#39
2
、文件存储方式
readFile
writFile    fs模块
如果不牵扯到文件的修改的话建议使用readFilewriteFile,操作还要方便些。
这些主要用在保存大数据和保存内容缓存,保存文件的时候个人觉得保存到缓存文件夹里面,获取方式  varcacheDir = api.cacheDir;
例子,比如我们要将内容列表写到本地,然后将列表的内容分别保存一个文件,下次打开APP的时候先查询有没有对应的本地文件,没有的话或者有更新再从服务器读取
JSON数据为例:得到JSON数据后
var cacheDir = api.cacheDir;
api.writeFile({
    path: cacheDir+'/
自定一个文件名.json',
    data: JSON.stringify(josn)
}, function(ret, err){

})
注意要将json转为字符串,否则无法写入,(不转换的话安卓设备可以写入,IOS上是不行的)
读取:
api.readFile({
    path: cacheDir+'/
文件名.json'
}, function(ret, err){
    if(ret.status){
        var jsonData = JSON.parse(ret.data);
    }
});
注意读的时候将数据转为对象
3.
此外apicloud还提供了api.setPrefs的方法来设置偏好值
参考文档:http://docs.apicloud.com/%E7%AB%AFAPI/api#45

你可能感兴趣的:(APICloud模块的引入、服务器数据对接,APP数据存储方式)