25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 
 

132 satır
4.6 KiB

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  6. <title></title>
  7. <script src="../js/mui.min.js"></script>
  8. <link href="../css/mui.min.css" rel="stylesheet" />
  9. <link href="../css/style.css" rel="stylesheet" />
  10. <script type="text/javascript" src="../js/serverurl.js"></script>
  11. <script type="text/javascript" src="../js/userinfos.js"></script>
  12. <link rel="stylesheet" href="../css/jquery.Jcrop.min.css" />
  13. </head>
  14. <body>
  15. <header class="mui-bar mui-bar-nav" style="position:relative;">
  16. <button type="button" class="mui-left mui-action-back mui-btn mui-btn-link mui-btn-nav">
  17. <span class="mui-icon mui-icon-left-nav"></span>取消
  18. </button>
  19. <h1 class="mui-title">裁剪</h1>
  20. <button class="mui-pull-right" style="margin-top: 5px;" id="btdocut">确定</button>
  21. </header>
  22. <div class="mui-content" id="headcontent" style="padding:5px 5px 5px 5px;">
  23. <img src="" id="target" alt="" />
  24. <input type="hidden" id="px">
  25. <input type="hidden" id="py">
  26. <input type="hidden" id="pw">
  27. <input type="hidden" id="ph">
  28. </div>
  29. <script type="text/javascript" src="../js/jquery-1.10.2.min.js"></script>
  30. <script src="../js/jquery.Jcrop.min.js"></script>
  31. <script type="text/javascript" charset="utf-8">
  32. function clipImage(bigphoto, smallphoto, x, y, w, h) {
  33. plus.nativeUI.showWaiting("正在保存头像...");
  34. plus.zip.compressImage({
  35. src: bigphoto,
  36. dst: smallphoto,
  37. overwrite: true,
  38. quality: 100,
  39. // width:plus.screen.resolutionWidth-10+"px",
  40. // height:plus.screen.resolutionHeight-80+"px",
  41. clip: {
  42. top: y,
  43. left: x,
  44. width: w,
  45. height: h
  46. }
  47. },
  48. function(ep) {
  49. DoUpload(ep.target);
  50. },
  51. function(error) {
  52. console.log("error" + error.message);
  53. });
  54. }
  55. function DoUpload(fileurl) {
  56. var task = plus.uploader.createUpload(api + "/user/uploadStudent", {
  57. method: "POST",
  58. blocksize: 0,
  59. priority: 100
  60. },
  61. function(t, status) {
  62. // 上传完成
  63. if(status == 200) {
  64. var entity=JSON.parse(t.responseText);
  65. var path = entity.info;
  66. console.log("上传成功!地址:"+path);
  67. users.photo=path;
  68. localStorage.setItem('taigangstudentUserModel', JSON.stringify(users));
  69. plus.webview.currentWebview().opener().evalJS("document.getElementById('photo').src='" +web+'/'+ path + "';document.getElementById('hidphoto').value='" + path + "';");
  70. plus.webview.currentWebview().opener().opener().evalJS("document.getElementById('photo').src='" +web+'/'+ path + "';");
  71. plus.nativeUI.closeWaiting();
  72. plus.webview.currentWebview().close();//
  73. } else {
  74. console.log("Upload failed: " + t.message);
  75. }
  76. }
  77. );
  78. task.addFile("" + fileurl + "", {
  79. key: "UPhoto"
  80. });
  81. task.addData("data", "" + users.ID + "");
  82. //task.addEventListener("statechanged", onStateChanged, false);
  83. task.start();
  84. }
  85. var jcrop_api;
  86. function initJcrop(rw, rh) {
  87. jQuery("#target").Jcrop({
  88. trueSize: [rw, rh],
  89. aspectRatio: 1,
  90. allowSelect: false,
  91. onChange: function(selection) {
  92. document.getElementById("px").value = selection.x;
  93. document.getElementById("py").value = selection.y;
  94. document.getElementById("pw").value = selection.w;
  95. document.getElementById("ph").value = selection.h;
  96. },
  97. onSelect: function(selection) {
  98. document.getElementById("px").value = selection.x;
  99. document.getElementById("py").value = selection.y;
  100. document.getElementById("pw").value = selection.w;
  101. document.getElementById("ph").value = selection.h;
  102. }
  103. }, function() {
  104. jcrop_api = this;
  105. jcrop_api.setSelect([0, 0, 600, 600]);
  106. });
  107. }
  108. (function($, doc) {
  109. $.init();
  110. $.plusReady(function() {
  111. CheckLogin();
  112. var self = plus.webview.currentWebview();
  113. var headsrc = self.headsrc;
  114. var img = document.getElementById("target");
  115. img.src = headsrc;
  116. initJcrop(self.realwidth, self.realheight);
  117. img.style.width = plus.screen.resolutionWidth - 10 + "px";
  118. img.style.maxHeight = plus.screen.resolutionHeight - 80 + "px";
  119. document.getElementById("btdocut").addEventListener("tap", function() {
  120. clipImage(headsrc, "_doc/smallhead.jpg", document.getElementById("px").value, document.getElementById("py").value, document.getElementById("pw").value, document.getElementById("ph").value);
  121. });
  122. });
  123. }(mui, document));
  124. </script>
  125. </body>
  126. </html>