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

7 篇文章 0 订阅
.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();  //初始化一下重新获取用户信息
      })
  };
})
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值