你好,请问你服务端和客户端的代码,分别是怎么写的?

var Post = AV.Object.extend('xyqNews');
    var post = new Post();
    post.save({
        publisher:"mainClub",
        newsMainImage:obj,
        newsUrl:"http://dwz.cn/3kHNsP",
        newsTitle:random()+"校友圈正式发布",
        newsDescription:random()+"广东外语外贸大学,简称广外,坐落于有“花城”美 称的广州市,学校入选“亚洲大学学生交流集体行动 计划“(亚洲校园计划),是向联合国提供高端翻译人才的全球19所大学之一、全国国际经济与贸易学科的创始单位之一。"
    },{
        success:function(obj){
            console.log("success");
            res.send("created " + obj.id);
        },error:function(){
            console.log("error");
        }
    });

这个是其中一段,leanengine

    'use strict';
var router = require('express').Router();
var AV = require('leanengine');
var rongcloudSDK = require( 'rongcloud-sdk' );
rongcloudSDK.init( 'sfci50a7c2l9i', 'gdv7Uk30RExwV' );

function beginRequest(){
    requestify.get('http://localhost:3000/addStarFriendToStudent').then(function(response) {
        // Get the response body
        var responseBody = response.getBody();
        console.log(responseBody);
        beginRequest();
    });
}

//beginRequest();

router.get('/duplicateData', function(req, res) {
    startCreatingObj();
});
function startCreatingObj(){
    createAnObj(function(){
        startCreatingObj();
    })
}
var counter = 0;
function createAnObj(callback){
    var Post = AV.Object.extend('TODO');
    var post = new Post();
    counter++;
    post.save({
        name:"harry" + counter,
        email:"harry@qq.com",
        counter:counter
    },{
        success:function(){
            console.log("success");
            callback();
        },error:function(){
            console.log("error");
        }
    });
}

router.get('/createNews', function(req, res) {

    createImageFromUrl("http://www.3773.com.cn/zhongkao/UploadFiles_1401/200905/200951922245239.jpg",function(obj){
        console.log('created image success');
        var Post = AV.Object.extend('xyqNews');
        var post = new Post();
        post.save({
            publisher:"mainClub",
            newsMainImage:obj,
            newsUrl:"http://dwz.cn/3kHNsP",
            newsTitle:random()+"校友圈正式发布",
            newsDescription:random()+"广东外语外贸大学,简称广外,坐落于有“花城”美 称的广州市,学校入选“亚洲大学学生交流集体行动 计划“(亚洲校园计划),是向联合国提供高端翻译人才的全球19所大学之一、全国国际经济与贸易学科的创始单位之一。"
        },{
            success:function(obj){
                console.log("success");
                res.send("created " + obj.id);
            },error:function(){
                console.log("error");
            }
        });
    });
});

router.get('/createNewsComment',function(req,res){
    var Post = AV.Object.extend('xyqNewsComments');
    var post = new Post();
    post.save({
        content:random()+"very good love it"
    },{
        success:function(obj){
            console.log("success" + obj.id);
            res.send("created " + obj.id);
        },error:function(){
            console.log("error");
        }
    });
});

router.get('/createMainClub',function(req,res){
    getSchool(function(schools){
        var Post = AV.Object.extend('xyqMainClub');
        var post = new Post();
        post.save({
            name:random()+"XX总会",
            school:schools[random()]
        },{
            success:function(obj){
                console.log("success" + obj.id);
                res.send("created " + obj.id);
            },error:function(){
                console.log("error");
            }
        });
    });
});

router.get('/addNewsToMainClub',function(req,res){
    getObj("xyqNews",function(news){
        news[0].set('publisher',"mainClub");
        news[0].save(null,{
            success:function(_news){
                getObj('xyqMainClub',function(mainClubs){
                    var theClub = mainClubs[random()];
                    var relation = theClub.relation('news');
                    relation.add(_news);
                    theClub.save().then(function(user) {
                        console.log("created " + user.id);
                        res.send("created " + user.id);
                    }, function(error) {
                        console.log(error);
                    });

                });
            },error:function(){
                console.log("error");
            }
        })
    },function(query){
        query.doesNotExist('publisher');
    });
});

router.get('/createdEvents',function(req,res){

    getSchool(function(schools){
        var Post = AV.Object.extend('xyqEvents');
        var post = new Post();
        var typeArray = ["主题活动","行业交流","单身聚会"]
        post.save({
            name:random()+"单身聚会",
            type:typeArray[random(3)],
            date:new Date(),
            startingTime:new Date(),
            endTime:new Date(),
            location:random()+"中山远路",
            numberLimit:55,
            school:schools[random()],
            eventDescription:"青海大学演讲与口才艺术交流周启 动仪式暨博纳——演讲与口才协会 成立庆典 介绍书 青海大学博纳——演讲与口才协会成立庆典"
        },{
            success:function(obj){
                console.log("success" + obj.id);
                res.send("created " + obj.id);
            },error:function(){
                console.log("error");
            }
        });
    });

});


router.get('/createStudent',function(req,res){
    singUpUser(function(user){
        var Post = AV.Object.extend('xyqStudent');
        var post = new Post();
        post.save({
            name:random()+"海城",
            account:random()+"haicheng",
            nickName:random()+"海城",
            gender:"男",
            province:random()+"广东",
            city:random()+"深圳",
            personalSignature:random()+"校友圈创始人"
        },{
            success:function(obj){
                console.log("success create xyqStudent" + obj.id);
                user.set("xyqStudent",obj);
                user.save().then(function(user){
                    res.send("link user to xyqStudent " + obj.id);
                });

            },error:function(){
                console.log("error");
            }
        });
    });
});

router.get('/addFriendToStudent',function(req,res){
    getStudent(function(students){
        var theStudentIndex = random(students.length - 1);
        var relation = students[theStudentIndex].relation('friends');
        relation.add(students[random(students.length - 1)]);
        students[theStudentIndex].save().then(function(student){
            res.send("success add friend to a student  " + student.id);
        },function(error){
            console.log("add friend to student error");
        });
    });
})

router.get('/addStarFriendToStudent',function(req,res){
    getStudent(function(students){
        var theStudentIndex = random(students.length - 1);
        var relation = students[theStudentIndex].relation('starFriends');
        relation.add(students[random(students.length - 1)]);
        students[theStudentIndex].save().then(function(student){
            res.send("success add star friend to a student  " + student.id);
        },function(error){
            console.log("add friend to student error");
        });
    });
})

function guid() {
    function s4() {
        return Math.floor((1 + Math.random()) * 0x10000)
            .toString(16)
            .substring(1);
    }
    return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
        s4() + '-' + s4() + s4() + s4();
}

function singUpUser(callback){

    var user = new AV.User();
    user.set('username', guid());
    user.set('password', '1');
    user.set('actualPassword', '1');
    user.signUp().then(function(_user) {
        // 注册成功,可以使用了

        rongcloudSDK.user.getToken( _user.id, _user.attributes.username, "http://img3.duitang.com/uploads/item/201502/20/20150220202523_fz2Jt.jpeg", function( err, resultText ) {
            if( err ) {
                console.log("rong cloud error" +  err);
            }
            else {
                var result = JSON.parse( resultText );
                if( result.code === 200 ) {
                    _user.set("RMToken",result.token);
                    _user.save(null,{
                        success: function () {
                            callback(user);
                        }
                    })
                }
            }
        } );


        console.log("created user " + user.id);
    }, function(error) {
        // 失败了
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

router.get('/studentJoinClass',function(req,res){
    getStudent(function(students){
        getClass(function(classes){
            var classRam = random();
            var relation = classes[classRam].relation('students');
            relation.add(students[random(numberOfStudent - 1)]);
            classes[classRam].save().then(function(user) {
                console.log('success obj ' + user.id);
                res.send('success obj ' + user.id);
            }, function(error) {
                console.log(error.message);
            });
        })
    });
});
var numberOfStudent = 0;
function getStudent(callback){
    var query = new AV.Query('xyqStudent');
    query.addAscending('updatedAt');
    query.find().then(function(results) {
        console.log('Successfully retrieved ' + results.length + ' student.');
        numberOfStudent = results.length;
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function getObj(className, callback,optioncbk){
    var query = new AV.Query(className);
    if(optioncbk){
        optioncbk(query);
    }

    query.addAscending('updatedAt');
    query.find().then(function(results) {
        console.log('Successfully retrieved ' + results.length + ' posts.');
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function getClass(callback){
    var query = new AV.Query('xyqClass');
    query.addAscending('updatedAt');
    query.find().then(function(results) {
        console.log('Successfully retrieved ' + results.length + ' posts.');
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function getSchool(callback){
    var query = new AV.Query('xyqSchool');
    query.include('post');
    query.find().then(function(results) {
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function getProgram(callback){
    var query = new AV.Query('xyqProgram');
    query.find().then(function(results) {
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function getFaculty(callback){
    var query = new AV.Query('xyqFaculty');
    query.find().then(function(results) {
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function getSchool(callback){
    var query = new AV.Query('xyqSchool');
    query.include('post');
    query.find().then(function(results) {
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function getProgram(callback){
    var query = new AV.Query('xyqProgram');
    query.find().then(function(results) {
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function getFaculty(callback){
    var query = new AV.Query('xyqFaculty');
    query.find().then(function(results) {
        callback(results);
    }, function(error) {
        console.log('Error: ' + error.code + ' ' + error.message);
    });
}

function random(range){
    if(range){
        return parseInt(Math.random()*range);
    }else{
        return parseInt(Math.random()*10);
    }

}

router.get('/createSchool',function(req,res){
    var Post = AV.Object.extend('xyqSchool');
    var post = new Post();
    post.save({
        name:random()+"北京大学"
    },{
        success:function(obj){
            console.log("success");
            res.send("created " + obj.id);
        },error:function(){
            console.log("error");
        }
    });
});

router.get('/createFaculty',function(req,res){
    getSchool(function(schools){
        var Post = AV.Object.extend('xyqFaculty');
        var post = new Post();
        post.save({
            name:"XX学院" + random(),
            school:schools[random()]
        },{
            success:function(obj){
                console.log("success");
                res.send("created " + obj.id);
            },error:function(){
                console.log("error");
            }
        });
    });

});

router.get('/createClass',function(req,res){
    getProgram(function(programs){
        var Post = AV.Object.extend('xyqClass');
        var post = new Post();
        post.save({
            name:"XX班级" + random(),
            program:programs[random()]
        },{
            success:function(obj){
                console.log("success");
                res.send("created " + obj.id);
            },error:function(){
                console.log("error");
            }
        });
    });

});

router.get('/createProgram',function(req,res){
    getFaculty(function(facultys){
        var Post = AV.Object.extend('xyqProgram');
        var post = new Post();
        post.save({
            name:"XX专业" + random(),
            faculty:facultys[random()]
        },{
            success:function(obj){
                console.log("success");
                res.send("created " + obj.id);
            },error:function(){
                console.log("error");
            }
        });
    });

});

router.get('/createImageByUrl',function(req,res){
    createImageFromUrl("http://www.3773.com.cn/zhongkao/UploadFiles_1401/200905/200951922245239.jpg",function(obj){
        console.log('created image success');
        res.send("created image " + obj.id);
    });
});

function createImageFromUrl(url,callback){
    var file = AV.File.withURL('imageNew.jpg', url);
    file.save().then(function(obj) {
        // 数据保存成功
        console.log(obj.url());
        callback(obj);
    }, function(err) {
        // 数据保存失败
        console.log(err);
    });
}


router.get('/testRongcloud', function(req, res) {
    rongcloudSDK.user.getToken( 'asdfsad128312jnn2131', 'Lance1', 'http://files.domain.com/avatar.jpg', function( err, resultText ) {
        if( err ) {
            res.send(err);
        }
        else {
            var result = JSON.parse( resultText );
            if( result.code === 200 ) {
                res.send(result);
            }
        }
    } );
});

router.post('/getRongToken', function(req, res) {
    console.log(req.body);
    rongcloudSDK.user.getToken( req.body.id, req.body.username, req.body.imageUrl, function( err, resultText ) {
        if( err ) {
            res.send(err);
        }
        else {
            var result = JSON.parse( resultText );
            if( result.code === 200 ) {
                res.send(result);
            }
        }
    } );
});

module.exports = router;

请提供下 App ID 还有你无法更新的那条 object 的 objectId。

数据已经被我删除了哦,你自己可以试一下么?