script_msg.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. //jQuery time
  2. var current_fs, next_fs, previous_fs; //fieldsets
  3. var left, opacity, scale; //fieldset properties which we will animate
  4. var animating; //flag to prevent quick multi-click glitasdaches
  5. var client_id = Date.now()
  6. var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
  7. var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
  8. return new bootstrap.Tooltip(tooltipTriggerEl)
  9. });
  10. (function(){
  11. $('.imgfr').hover(function(){
  12. $(this).next().css('display', 'block');
  13. }, function(){
  14. $(this).next().css('display', 'none');
  15. })
  16. }());
  17. const button = document.querySelector('.next');
  18. $(".next").click(function(){
  19. button.setAttribute('disabled', '');
  20. setTimeout(function(){
  21. button.removeAttribute('disabled')
  22. }, 4000);
  23. avatar = $('.avatar').val();
  24. name_title = $('.title_new').val();
  25. txtARR=[];
  26. imgARR=[];
  27. var step;
  28. for (step = 1; step <= 10; step++) {
  29. if($(".txtsrc"+step).val()!=""){
  30. txtARR.push($(".txtsrc"+step).val())
  31. }
  32. }
  33. var step2;
  34. for (step2 = 1; step2 <= 10; step2++) {
  35. if($(".imgsrc"+step2).val()!=""){
  36. imgARR.push($(".imgsrc"+step2).val())
  37. }
  38. }
  39. dataOBJ = {"name":name_title,"text_content":txtARR,"image_urls":imgARR,"avatar":avatar,"client_id":client_id}
  40. objstr = JSON.stringify(dataOBJ);
  41. console.log(dataOBJ)
  42. //alert('資料已送出! 請耐心等候')
  43. $.ajax({
  44. url: 'http://www.choozmo.com:8888/make_anchor_video_v2',
  45. //url: 'http://www.choozmo.com:8888/qqreq',
  46. dataType : 'json', // 預期從server接收的資料型態
  47. contentType : 'application/json; charset=utf-8', // 要送到server的資料型態
  48. type: 'post',
  49. data: objstr,
  50. success: function(suc_data) {
  51. Swal.fire({
  52. title: `${suc_data.msg}`,
  53. confirmButtonColor: '#3085d6',
  54. });
  55. },
  56. //data:JSON.stringify({n1:"12",n2:"22"}),
  57. error: function (error) {
  58. console.error(error)
  59. }
  60. });
  61. });
  62. var loaded_data = ''
  63. function openNav() {
  64. document.getElementById("mySidenav").style.width = "250px";
  65. document.querySelector('.loader').style.display = "block";
  66. $.get("http://www.choozmo.com:8888/history_input", function(data, status){
  67. console.log(data)
  68. loaded_data = data
  69. for (var obj of data) {
  70. var historyList = document.querySelector('.historyList');
  71. var list = document.createElement('li')
  72. var message = document.createElement('a')
  73. list.classList.add("historyList-item");
  74. message.classList.add("historyList-link");
  75. var content = document.createTextNode(obj.name)
  76. message.id = obj.id
  77. message.setAttribute('href', "#")
  78. message.setAttribute('onclick', "load_data()")
  79. message.appendChild(content)
  80. list.appendChild(message);
  81. historyList.appendChild(list);
  82. }
  83. document.querySelector('.loader').style.display = "none";
  84. });
  85. }
  86. var myModal = new bootstrap.Modal(document.getElementById('history'), {
  87. keyboard: false
  88. })
  89. function closeNav() {
  90. document.getElementById("mySidenav").style.width = "250px";
  91. }
  92. function load_data(){
  93. var title = document.getElementById("title");
  94. var linker = document.getElementById("linker");
  95. myModal.hide()
  96. tid = event.srcElement.id
  97. console.log(tid);
  98. linker.setAttribute('href', loaded_data.find(item => item.id == tid).link)
  99. $("#linker").html(loaded_data.find(item => item.id == tid).link)
  100. $("#linker").show()
  101. $(".title_new").val(loaded_data.find(item => item.id == tid).name)
  102. var step;
  103. for (step = 1; step <= 10; step++) {
  104. $(".txtsrc"+step).val(loaded_data.find(item => item.id == tid).text_content[step-1])
  105. }
  106. var step2;
  107. for (step2 = 1; step2 <= 10; step2++) {
  108. $(".imgsrc"+step2).val(loaded_data.find(item => item.id == tid).image_urls[step2-1])
  109. }
  110. }
  111. var ws = new WebSocket(`ws://www.choozmo.com:8888/progress/${client_id}`);
  112. ws.onmessage = function(event) {
  113. console.log(event.data)
  114. var elem = document.getElementById("myBar");
  115. elem.style.width = event.data + "%";
  116. elem.innerHTML = event.data + "%";
  117. };
  118. var err = [];
  119. function listenToimg() {
  120. }
  121. validate();
  122. function validate(){
  123. let imgsrc = document.querySelectorAll('.imgsrc');
  124. imgsrc = [...imgsrc];
  125. for(let i = 0; i < 10; i++){
  126. imgsrc[i].addEventListener('blur', function(){
  127. let srcArray = $(this).val().split('.');
  128. console.log(srcArray);
  129. if(srcArray.includes('png') || srcArray.includes('jpg')){
  130. $(this).removeClass('error');
  131. $(this).next().remove('p');
  132. err.pop();
  133. }else if(srcArray.length <= 1){
  134. $(this).removeClass('error');
  135. $(this).next().remove('p');
  136. err.pop();
  137. }else {
  138. $(this).addClass('error');
  139. if( this.nextSibling.nodeName !== 'P') {
  140. $(this).after('<p class="error-text">未支援該格式</p>');
  141. }
  142. err.push('svg');
  143. console.log(err);
  144. }
  145. });
  146. }
  147. }