安装
yarn add leancloud-storage --save
引入、配置
import AV, { Query, User } from 'leancloud-storage';AV.init({appId: " ",appKey: " ",serverURL: " "});
Api
注册
const user = new AV.User();user.setUsername(username);user.setPassword(password);user.setEmail(email);user.signUp().then((loginedUser) => {// 注册成功,跳转到商品 list 页面}, (error) => {alert(JSON.stringify(error));}));
登陆
AV.User.logIn(username, password).then((loginedUser) => {// 登录成功,跳转到商品 list 页面}, (error) => {alert(JSON.stringify(error));});
注销
-
获取当前用户
-
构建文件
const avFile = new AV.File(fileName, file)构建对象
```javascript // 构建对象 const todo = new AV.Object(‘todo’)
// 为属性赋值 item.set(‘filename’,fileName) item.set(‘owner’,AV.User.current())
// 将对象保存到云端
todo.save().then((todo) => {
console.log(保存成功。objectId:${todo.id}) // 成功保存之后,执行其他逻辑
}, (error) => {
// 异常处理
});
<a name="TKwqp"></a>### 上传文件```javascriptconst item = new AV.Object('image')const avFile = new AV.File(fileName, file)item.set('filename', fileName)item.set('owner', AV.User.current())item.set('url', avFile)item.save().then(serverFile => resolve(serverFile),error => reject(error))})
查询
find({page = 0, limit = 10}) {const query = new AV.Query('image')query.include('owner') // 包含属性query.limit(limit) // 显示数量query.skip(page * limit) // 跳过数量query.descending('createdAt') // 降序排列query.equalTo('owner', AV.User.current()) // 当前用户return new Promise((resolve, reject) => {query.find() // 执行查询.then(result => resolve(result)).catch(error => reject(error))})}
删除文件
remove(file) {const item = AV.Object.createWithoutData('image', file)return new Promise((resolve, reject) => {item.destroy().then(result => resolve(result)).catch(error => reject(error))})}
封装
const Auth = {register(userName, passWord) {const user = new User()user.setUsername(userName)user.setPassword(passWord)return Promise.then((resolve, reject) => {user.signUp().then(loginUser => resolve(loginUser), (error) => reject(error))})},login(userName, passWord) {return Promise.then((resolve, reject) => {AV.User.logIn(userName, passWord).then(loginedUser => resolve(loginedUser), (error) => reject(error)})}}
