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的方法来方便我们通过post或get等获取服务器数据,获取的数据类型有json和text格式,使用方法跟JS原生和jq的post get 大同小易
重点来说一个几个注意的地方
当使用post时,发送的数据要写在data的values里面。
当为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模块
如果不牵扯到文件的修改的话建议使用readFile和writeFile,操作还要方便些。
这些主要用在保存大数据和保存内容缓存,保存文件的时候个人觉得保存到缓存文件夹里面,获取方式 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。