Ejemplo n.º 1
0
 register: function (username, password) {
   //DO NOT FORGET ERROR CODE
   //if error, show error code
   var user = new AV.User();
   user.setUsername(username);
   user.setPassword(password);
   //return user.signUp();
   return user.signUp().then(function (user) {
     user.code = 0;
     return Promise.resolve(user);
   }, function (error) {
     return Promise.resolve(error);
   });
 },
Ejemplo n.º 2
0
 .then(info => {
   assert.property(info, 'updatedAt')
   AV.User.logIn(spareUsername, sparePassword).then(user => {
     assert.isObject(user)
     done()
   })
 })
Ejemplo n.º 3
0
 it('should allow you to update password', (done) => {
   const {
     spareUsername,
     sparePassword
   } = fixture
   const headers = {
     'X-LC-Id': 'x-lc-id',
     'X-LC-Key': 'x-lc-key',
     'X-LC-Session': 'x-lc-session',
     'Content-Type': 'application/json'
   }
   AV.User.currentAsync().then(user => {
     if (user) {
       const objectId = user.getObjectId()
       fetch(`http://localhost:3000/1.1/users/${objectId}`, {
         method: 'PUT',
         headers,
         body: JSON.stringify({
           password: sparePassword
         })
       })
       .then(res => res.json())
       .then(info => {
         assert.property(info, 'updatedAt')
         AV.User.logIn(spareUsername, sparePassword).then(user => {
           assert.isObject(user)
           done()
         })
       })
     }
   })
 })
Ejemplo n.º 4
0
 AV.User.logOut().then(err => {
   if (err) {
     done(err)
   } else {
     assert.isNull(AV.User.current())
     done()
   }
 })
Ejemplo n.º 5
0
 login: function (username, password) {
   return AV.User.logIn(username, password).then(function (user) {
     user.code = 0;
     return Promise.resolve(user);
   }, function (error) {
     return Promise.resolve(error);
   });
 },
Ejemplo n.º 6
0
 it('should allow you to logout', done => {
   AV.User.logOut().then(err => {
     if (err) {
       done(err)
     } else {
       assert.isNull(AV.User.current())
       done()
     }
   })
 })
Ejemplo n.º 7
0
 it('should allow you to register', done => {
   AV.User.signUp(fixture.username, fixture.password, _.pick(fixture, ['email', 'phone'])).then(user => {
     if (user) {
       assert.isTrue(user.isCurrent())
       assert.equal(user.getUsername(), fixture.username)
       assert.equal(user.getEmail(), fixture.email)
       done()
     } else {
       done(new Error('empty user'))
     }
   }).catch(err => done(err))
 })
Ejemplo n.º 8
0
 .then(info => {
   assert.property(info, 'updatedAt')
   AV.User.logIn(spareUsername, password).then(user => {
     const newEmail = user.getEmail()
     const newPhone = user.get('phone')
     const newUsername = user.getUsername()
     assert.equal(newEmail, spareEmail)
     assert.equal(newPhone, sparePhone)
     assert.equal(newUsername, spareUsername)
     done()
   })
 })
Ejemplo n.º 9
0
 it('should allow you to set custom field', done => {
   AV.User.logIn(fixture.username, fixture.password).then(user => {
     if (user) {
       user.set('turbineUserId', fixture.turbineUserId)
       user.save().then(updatedUser => {
         assert.equal(updatedUser.get('turbineUserId'), fixture.turbineUserId)
         done()
       }).catch(err => done(err))
     } else {
       done(new Error('empty user'))
     }
   }).catch(err => done(err))
 })
Ejemplo n.º 10
0
  _onSignUpPress() {
    if(this.state.password !== this.state.passwordConfirmation) {
      return this.setState({errorMessage: 'Your passwords do not match'});
    }
    if(this.state.username.trim() && this.state.password.trim() && this.state.passwordConfirmation.trim()) {
      // 新建 AVUser 对象实例
      var user = new LeanCloudApp.User();
      // 设置用户名
      user.setUsername(`${this.state.username}`);
      // 设置密码
      user.setPassword(`${this.state.password}`);
      // // 设置邮箱
      // user.setEmail('*****@*****.**');
      user.signUp().then((loginedUser) => {
        // console.log(loginedUser);
        this.props.navigator.immediatelyResetRouteStack([{name: 'tweets'}]);
      }, (error) => {
        this.setState({errorMessage: error.message});
      });
    } else {
      alert('please input username & password!');
    }

  }
Ejemplo n.º 11
0
 it('should allow you to login again', done => {
   AV.User.logIn(fixture.username, fixture.password).then(user => {
     if (user) {
       user.isAuthenticated().then(result => {
         assert.isTrue(result)
         assert.isString(user.getSessionToken())
         assert.equal(user.isCurrent(), true)
         assert.equal(user.getUsername(), fixture.username)
         assert.equal(user.getEmail(), fixture.email)
         done()
       }).catch(err => done(err))
     } else {
       done(new Error('empty user'))
     }
   }).catch(err => done(err))
 })
Ejemplo n.º 12
0
 it('should then allow you to call current user', done => {
   AV.User.currentAsync().then(user => {
     if (user) {
       user.isAuthenticated().then(value => {
         assert.isTrue(value)
         assert.isNotNull(user.getSessionToken())
         assert.isTrue(user.isCurrent())
         assert.equal(user.getUsername(), fixture.username)
         assert.equal(user.getEmail(), fixture.email)
         done()
       }).catch(err => done(err))
     } else {
       done(new Error('empty user'))
     }
   }).catch(err => done(err))
 })
Ejemplo n.º 13
0
 it('should allow you to update other fields including username', (done) => {
   const {
     password,
     sparePhone,
     spareEmail,
     spareUsername
   } = fixture
   const headers = {
     'X-LC-Id': 'x-lc-id',
     'X-LC-Key': 'x-lc-key',
     'X-LC-Session': 'x-lc-session',
     'Content-Type': 'application/json'
   }
   AV.User.currentAsync().then(user => {
     if (user) {
       const objectId = user.getObjectId()
       fetch(`http://localhost:3000/1.1/users/${objectId}`, {
         method: 'PUT',
         headers,
         body: JSON.stringify({
           phone: sparePhone,
           email: spareEmail,
           username: spareUsername
         })
       })
       .then(res => res.json())
       .then(info => {
         assert.property(info, 'updatedAt')
         AV.User.logIn(spareUsername, password).then(user => {
           const newEmail = user.getEmail()
           const newPhone = user.get('phone')
           const newUsername = user.getUsername()
           assert.equal(newEmail, spareEmail)
           assert.equal(newPhone, sparePhone)
           assert.equal(newUsername, spareUsername)
           done()
         })
       })
     }
   })
 })
Ejemplo n.º 14
0
 _onPress() {
 /* 可以先注册一个账号
 // 新建 AVUser 对象实例
 // var user = new LeanCloudApp.User();
 // // 设置用户名
 // user.setUsername('Tom');
 // // 设置密码
 // user.setPassword('Tom123456');
 // // 设置邮箱
 // user.setEmail('*****@*****.**');
 // user.signUp().then(function (loginedUser) {
 //     console.log(loginedUser);
 // }, (function (error) {
 //   console.log(loginedUser);
 // }));
 */
   LeanCloudApp.User.logIn(`${this.state.username}`, `${this.state.password}`).then((loginedUser) => {
     this.setState({loginMsg: loginedUser.id + '的用户,登录成功!'});
   }, (errorMsg) => {
     this.setState({loginMsg: '错误: ' + errorMsg.message});
   });
 }
Ejemplo n.º 15
0
 .then(function() {
   if (process.env.DOC_COMMENT_TOKEN) {
     // 只有特定用户才能向文档评论服务写入数据
     return AV.User.become(process.env.DOC_COMMENT_TOKEN);
   }
 }).then(function() {
Ejemplo n.º 16
0
 currentUser: function () {
   var currentUser = AV.User.current();
   return currentUser;
 },
Ejemplo n.º 17
0
import AV from 'leancloud-storage';

const APP_ID = 'qYGgpyPNXvtow5qSDbBrcvP3-gzGzoHsz';
const APP_KEY = 'dfuv5m2kEn7sYelmm9tEKDpD';

export default {
    // Leancloud初始化
    AVInit(){
        AV.init({ appId:APP_ID, appKey:APP_KEY });
        console.log("AV Inited");
        
    },
    // 返回目前登陆的用户
    AVCurrentUser() {
        return AV.User.current();
    },
    AVLogout() {
        console.log("当前用户已注销!", AV.User.current());
        AV.User.logOut();
    }
}
Ejemplo n.º 18
0
 logout: function () {
   AV.User.logOut();
 },
 <TouchableHighlight onPress={() => {
     AV.User.logOut();
     this.props.logOut();
     this.props.navigator.push({name:'login'});
   }}
Ejemplo n.º 20
0
 it('should by default be null', () => {
   assert.isNull(AV.User.current())
 })
Ejemplo n.º 21
0
 componentWillMount() {
   //当前用户名
   this.setState({user: LeanCloudApp.User.current()});
 }
Ejemplo n.º 22
0
import AV from 'leancloud-storage'
import { leancloud  } from '../config/app.js'

AV.init({
  appId: leancloud.appId,
  appKey: leancloud.appKey
})

const Account = AV.Object.extend('Account')

export default {
  currentUser() {
    let user = null
    try {
      user = AV.User.current()
    } catch (e) {}

    return user
  },
  logIn(username,  password) {
    return AV.User.logIn(username, password)
  },
  logOut() {
    AV.User.logOut()
  },
  getAccounts() {
    let query = new AV.Query('Account')
    query.limit(10)
    query.skip(0)
    return query.first()
  },
Ejemplo n.º 23
0
      })
      this.todotext = ''
      this.saveOrUpdateTodos();
    },
    deleteTodo(item, idx) {
      this.todoList.splice(idx, 1);
      this.saveOrUpdateTodos();
    },
    // 储存用户的数据 
    saveTodos() {
      let dataString = JSON.stringify(this.todoList);
      var AVTodos = AV.Object.extend('AllTodos');
      var avTodos = new AVTodos();
      // 把用户和储存的数据关联起来
      var acl = new AV.ACL();
      acl.setReadAccess(AV.User.current(), true); //只有当前用户可以读取
      acl.setWriteAccess(AV.User.current(), true); //只有当前用户可以修改
      avTodos.set('content', dataString);
      avTodos.setACL(acl); //设置访问控制

      avTodos.save().then((todo) => {
        this.todoList.id = todo.id //一定要记得把 id 挂到 this.todoList 上,否则下次就不会调用 updateTodos 了
        console.log('保存成功')
      }, (error) => {
        console.log('保存失败')
      })
    },
    // 更新数据
    updateTodos() {
      let dataString = JSON.stringify(this.todoList);
      let avTodos = AV.Object.createWithoutData('AllTodos', this.todoList.id);
Ejemplo n.º 24
0
    getInitialState:function (){
        return {
          username: "",
          password: ""
        }
    },
  componentDidMount() {
    AV.init({                                      
      appId: 'bHi8qFTXi5uMtbaPdaTS2n02-gzGzoHsz',  
      appKey: 'I0m0bOz0WFIu2zDbicgLjrNu'           
    });                                            
  }, 
  login() {
    console.log(this.refs.username.value);
    console.log(this.refs.password.value);
     var user = new AV.User();
     user.set("username", this.refs.username.value);
     user.set("password", this.refs.password.value);
     user.signUp().then((user) => {
       console.log('User logged in:', user);
     }).catch(function(error) {
       console.log("Login Error: ", error);
    });
  },
 render() {
        return (
          <div>
          用户名
          <br/>
          <input ref="username" type="text" defaultValue={this.state.username}/>
          密码