您的位置:首页 > Web前端 > AngularJS

无人机项目获取用户信息并进行用户信息修改的angularjs部分

2017-08-16 14:53 441 查看
.controller('userdataCtrl', function ($scope, $localStorage, Upload, Account, SweetAlert, baseUrl) {
$scope.personal = {avatar: ""};  //用户信息全部包含在这个对象里面
var newPersonal = {};   //创建一个空的对象,为后面深拷贝
function init() {
Account.findById({id: $localStorage.userId}, function (data) {  //获取用户信息的接口
$scope.personal = data;   //用户信息为获取到的数据信息
newPersonal = JSON.parse(JSON.stringify($scope.personal));   //深拷贝,空对象里面的值为获得的用户

信息,为后面对比是否修改了用户信息
console.log(newPersonal);
$scope.tempAvatar = baseUrl + $scope.personal.avatar;  //用户头像地址为路劲+用户信息里面的头像
$localStorage.avatar = baseUrl + $scope.personal.avatar;  //本地的头像为用户头像
})
}
init();

$scope.upload = function (file) {  //点击触发上传头像的事件
var name = file.$ngfName;  //为了从新命名头像名称,获取file的图片名字
var newname = name.substr(-4);  //截取name的后四位
var newName = new Date().getTime() + newname;  //新的名称为获取到时间点(字符串格式)+截取的后四位
Upload.rename(file, newName);  //从新命名
console.log(file);
Upload.upload({  //头像上传
//服务端接收
url: baseUrl + "/api/containers/avatars/upload",  //服务器接收地址
//上传的同时带的参数
data: {file: file}   //数据参数
}).success(function () {  //上传成功
$scope.persoanls = true;  //保存的按钮显示
$scope.personal.avatar = newName;  //数据里面的用户头像信息为新的名字
$scope.tempAvatar = baseUrl + "/api/containers/avatars/download/" + newName;  //用户头像的完整路劲
}).error(function () {  //上传失败
SweetAlert.swal("", "头像上传失败", "warning");  //弹出框
});
init();
};
$scope.$watch("personal.email", function () {  //$watch监听事件
if ($scope.personal.email !== newPersonal.email) {  //如果信息不为旧信息,即修改了信息
$scope.persoanls = true;  //保存按钮显示
}
});
$scope.$watch("personal.Company", function () {
if ($scope.personal.Company !== newPersonal.Company) {
$scope.persoanls = true;
}
});
$scope.$watch("personal.username", function () {
if ($scope.personal.username !== newPersonal.username) {
$scope.persoanls = true;
}
});
$scope.$watch("personal.Signature", function () {
if ($scope.personal.Signature !== newPersonal.Signature) {
$scope.persoanls = true;
}
});
// $scope.$watch("personal.avatar", function () {
//   if ($scope.personal.avatar === newPersonal.avatar) {
//     $scope.tempAvatar = baseUrl + "/api/containers/avatars/download/" + newName;
//   }
// });
$scope.personalinfo = function () {  //保存按钮点击触发保存用户信息事件
console.log($scope.file);
if(!$scope.file){   //如果用户头像没有改变
delete $scope.personal.avatar;  //删除用户头像
}
// console.log($scope.personal.avatar.split('/').pop())
Account.updatePersonalInfo({accountId: $localStorage.userId}, $scope.personal, function (data) {
$scope.persoanls = true;  //更新用户信息的事件 参数为一个包含所有信息的对象 可以删除对象中的参数
$scope.versionid = $scope.tempAvatar;  //用户头像赋值给一个新的变量
$scope.$emit('dataChanged', $scope.versionid); //$emit将新的变量传递给父级 父级再广播出去,兄弟

级可以获得这个变量值,从而进行改变 为了实现别处头像的更改

console.log(data);
$scope.personal = data;
SweetAlert.swal("", "用户信息更新成功", "success");
init();  //初始化一下重新获取用户信息
})
};
})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐