editAvatar.html 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <div class="cropping" style="text-align: center;">
  2. <div class="title">Cropping Area</div>
  3. <div class="close"><a href="javascript:;"><img src="<%=public_path%>/img/close-btn.png" alt=""/></a></div>
  4. <div class="clear"></div>
  5. <div class="cropping-img">
  6. <img src="<%=blobImg%>" style="max-height: <%=height%>px; max-width: <%=width%>px;">
  7. </div>
  8. <div class="clear"></div>
  9. <div class="btn">
  10. <button class="Submit" style="cursor: pointer;">Submit</button>
  11. </div>
  12. </div>
  13. <script>
  14. $(function(){
  15. var index = parent.layer.getFrameIndex(window.name);
  16. parent.layer.iframeAuto(index);
  17. $('.close').click(function(){
  18. parent.layer.close(index);
  19. })
  20. var $img = $('.cropping-img > img');
  21. $img.cropper({
  22. aspectRatio: 1 / 1,
  23. guides:false,
  24. minCropBoxWidth:256,
  25. minCropBoxHeight:256,
  26. crop: function(data) {
  27. // Output the result data for cropping image.
  28. }
  29. });
  30. $('.Submit').click(function () {
  31. $img.cropper('getCroppedCanvas').toBlob(function (blob) {
  32. var formData = new FormData();
  33. formData.append('croppedImage', blob);
  34. formData.append('originalImage', window.parent.avatarOriginalImg);
  35. let editSubmitStart = layer.load(2);//load遮罩
  36. $.ajax('<%=server_host%>/api/?act=uploadAvatarStepa', {
  37. method: "POST",
  38. async: false,
  39. dataType: "json",
  40. data: formData,
  41. processData: false,
  42. contentType: false,
  43. success: function (data) {
  44. var img = data.data.url.croppedImage;
  45. var handle_id = data.handle_id;
  46. $.post('/broadcast/profileLayer/editAvatar', {img:img,handle_id:handle_id}, function(data){
  47. if(data.errno == 0){
  48. layer.close(editSubmitStart);//关闭load遮罩
  49. Cookies.set('add_success_avatar', {status:1});
  50. parent.layer.close(index);
  51. parent.layer.msg(data.data);
  52. }else{
  53. parent.layer.close(index);
  54. myParentAlert(data.data);
  55. }
  56. })
  57. },
  58. error: function () {
  59. }
  60. });
  61. }, '<%=type%>');
  62. })
  63. })
  64. </script>