安装

  1. yarn add leancloud-storage --save

引入、配置

  1. import AV, { Query, User } from 'leancloud-storage';
  2. AV.init({
  3. appId: " ",
  4. appKey: " ",
  5. serverURL: " "
  6. });

Api

注册

  1. const user = new AV.User();
  2. user.setUsername(username);
  3. user.setPassword(password);
  4. user.setEmail(email);
  5. user.signUp().then((loginedUser) => {
  6. // 注册成功,跳转到商品 list 页面
  7. }, (error) => {
  8. alert(JSON.stringify(error));
  9. }));

登陆

  1. AV.User.logIn(username, password).then((loginedUser) => {
  2. // 登录成功,跳转到商品 list 页面
  3. }, (error) => {
  4. alert(JSON.stringify(error));
  5. });

注销

  • User.logOut()

    获取当前用户

  • User.current()

    构建文件

  • 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) => { // 异常处理 });

  1. <a name="TKwqp"></a>
  2. ### 上传文件
  3. ```javascript
  4. const item = new AV.Object('image')
  5. const avFile = new AV.File(fileName, file)
  6. item.set('filename', fileName)
  7. item.set('owner', AV.User.current())
  8. item.set('url', avFile)
  9. item.save().then(
  10. serverFile => resolve(serverFile),
  11. error => reject(error))
  12. })

查询

  1. find({page = 0, limit = 10}) {
  2. const query = new AV.Query('image')
  3. query.include('owner') // 包含属性
  4. query.limit(limit) // 显示数量
  5. query.skip(page * limit) // 跳过数量
  6. query.descending('createdAt') // 降序排列
  7. query.equalTo('owner', AV.User.current()) // 当前用户
  8. return new Promise((resolve, reject) => {
  9. query.find() // 执行查询
  10. .then(result => resolve(result))
  11. .catch(error => reject(error))
  12. })
  13. }

删除文件

  1. remove(file) {
  2. const item = AV.Object.createWithoutData('image', file)
  3. return new Promise((resolve, reject) => {
  4. item.destroy()
  5. .then(result => resolve(result))
  6. .catch(error => reject(error))
  7. })
  8. }

封装

  1. const Auth = {
  2. register(userName, passWord) {
  3. const user = new User()
  4. user.setUsername(userName)
  5. user.setPassword(passWord)
  6. return Promise.then((resolve, reject) => {
  7. user.signUp().then(loginUser => resolve(loginUser)
  8. , (error) => reject(error)
  9. )
  10. })
  11. },
  12. login(userName, passWord) {
  13. return Promise.then((resolve, reject) => {
  14. AV.User.logIn(userName, passWord).then(loginedUser => resolve(loginedUser)
  15. , (error) => reject(error)
  16. })
  17. }
  18. }