无人机项目获取用户信息并进行用户信息修改的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(); //初始化一下重新获取用户信息 }) }; })
相关文章推荐
- [iOS微博项目 - 3.4] - 获取用户信息
- 修改用户信息的时候,使用Servlet对新的数据和数据库的数据进行对比,修改成功实现页面的弹窗和页面的跳转
- vue.js实现用户评论、登录、注册、及修改用户部分信息功能代码。
- 缓存,用户信息不能随便修改的,因为这里面的id是唯一的身份标识,获取资源全靠他了,
- Java web项目01 停车管理系统实现修改用户信息(五)
- 获取用户star的所有项目信息(支持分页和关键字检索)
- 人人登陆并获取用户部分信息
- 获取文件的信息和对文件信息进行修改
- angularjs 表单点击保存,获取修改的信息项,进行提示
- 修改新建的ionic项目中默认根据id进行的通讯录信息匹配
- AJAX登入集成CAS的项目获取用户信息
- 【EasyUI】Maven+Servlet项目进行DataGrid获取、查询、新增、删除、修改
- 玩下软工项目,第一轮--全局Context的获取,SQLite的建立与增删改查,读取用户通话记录信息
- 获取用户信息数组 ,姓名和手机号部分加符号替换
- 微信开发之获取OAuth2.0网页授权认证和获取用户信息进行关联
- C#如何获取当前项目的目录,并以当前为根进行修改
- Django商城项目笔记No.11用户部分-QQ登录1获取QQ登录网址
- AngularJS综合用户信息, 表单验证,过滤查询,全选反选,批量删除,修改,添加
- 微信开发第5章 通过accesstoken获取用户基本信息并修改用户备注
- 微信开发之获取OAuth2.0网页授权认证和获取用户信息进行关联(转:http://playxinz.iteye.com/blog/2249634)