User:實驗性:無用論廢人/VC Plus.js

萌娘百科,萬物皆可萌的百科全書!轉載請標註來源頁面的網頁連結,並聲明引自萌娘百科。內容不可商用。
貢獻者:

注意:在您儲存之後您必須清除瀏覽器快取才可看到最新的變動。

  • Firefox / Safari:按住「Shift」時點選「重新整理」,或按「Ctrl-F5」或「Ctrl-R」 (Mac則為「⌘-R」)
  • Google Chrome:按「Ctrl-Shift-R」 (Mac 則為「⌘-Shift-R」)
  • Internet Explorer:按住「Ctrl」時點選「重新整理」,或按「Ctrl-F5」
  • Opera:進入「工具→偏好設定」中清除快取。
  • 如果您已登入但該頁面出現未登入狀態,請嘗試在網址列的URL最後新增代碼?_=1來訪問最新頁面。
  1. //from [[User:喵蘿醬]]
  2. //VC Editor Plus 代碼合成器部分
  3. //主頁面
  4. $('#footer,#moe-global-footer').after('<div id="vcep" style="z-index:10;box-sizing:content-box"></div><div id="vcep_toggle" style="box-sizing:content-box;z-index:11;transition:.37s all ease-in-out;width:20px;padding:5px 0;background-color:#000;color:#fff;font-size:8px;text-align:center;position:fixed;left:0;top:200px;cursor:pointer;opacity:.6;" onclick="vcepmainpage()">啟<br/>動<br/>V<br/>C<br/>E<br/>P</div>');
  5. function vcepmainpage(){
  6. document.getElementById('vcep_toggle').innerHTML="重<br/>啟<br/>V<br/>C<br/>E<br/>P</div>";
  7. document.getElementById('vcep').innerHTML='<div style="box-sizing:content-box;z-index:10;position:fixed; top:50px; right:calc(50% - 450px); width:860px; background:#fff; border:solid 1px; padding:20px" id="vcepmainpage"><h2 align="center">歡迎使用VC Editor Plus</h2><p>VC Editor Plus(以下簡稱VCEP)是<a href="/User:%E7%A9%BA%E7%BF%8A/%E8%90%8C%E7%99%BEVC%E7%BC%96%E8%BE%91%E5%9B%A2%E9%98%9F" title="User:空翊/萌百VC編輯團隊">萌百VC區編輯組</a>成員<a href="/User:商火" title="User:商火">商火</a>開發,第二代維護者<a href="/User:喵蘿醬" title="User:喵蘿醬">喵蘿醬</a>進行更新和維護,面向VC區編輯者進行泛VC(中文歌聲合成軟件)條目等相關工作的輔助工具,目前仍處於開發與測試狀態。</p><p>VCEP工具基於JavaScript語言,請確保您的瀏覽器支持基礎的JavaScript。</p>\
  8. <p>如果在使用過程中有任何問題或意見(程序或是界面觀感),請<a href="/User_talk:喵蘿醬" title="User_talk:喵蘿醬">聯繫本人</a>提出,本人將盡力解決。同時由於維護者是不如開發者的一個基本什麼都不會的新手,希望各位大佬多多指教呀喵~</p>\
  9. <p>測試與完善中的功能:\
  10. <li><button onclick="temple()">添加殿堂(生成用於殿堂曲一覽的wiki代碼)</button></li>\
  11. <br>\
  12. <li><button onclick="producer()">P主作品更新(用於P主作品一覽表)</button></li>\
  13. <br>\
  14. <li><button onclick="API()">簡單的API編輯</button></li>\
  15. <br>\
  16. </p>\
  17. </div>\
  18. <div style="box-sizing:content-box;z-index:97;position:fixed; top:50px; right:calc(50% - 430px);" title="隱藏VCEP">\
  19. <button onclick="hidevcep()" style="border:transparent; background:transparent;">\
  20. <span style="font-size:150%">×</span>\
  21. </button>\
  22. </div>';
  23. imitateData();
  24. }
  25. function exitvcep(){
  26. document.getElementById('vcep').innerHTML="";
  27. }
  28. function hidevcep(){
  29. $('#vcep').hide();
  30. $('#vcep_toggle').attr("onclick", "showvcep()").html("顯<br/>示<br/>V<br/>C<br/>E<br/>P</div");
  31. }
  32. function showvcep(){
  33. $('#vcep').show();
  34. $('#vcep_toggle').attr("onclick", "vcepmainpage()").html("重<br/>啟<br/>V<br/>C<br/>E<br/>P</div");
  35. }
  36. //殿堂曲添加頁面(普通)
  37. var character = '<option value ="#39C5BB">初音未來(初音ミク)</option><option value ="#ff8800">鏡音鈴(鏡音リン)</option><option value ="#fff000">鏡音連(鏡音レン)</option><option value ="#ccff00">GUMI(Megpoid)</option><option value ="#f811de">歌愛雪(歌愛ユキ)</option><option value ="#3c0036">VY1</option><option value ="#f5eded">IA</option><option value ="#996699">V flower</option><option value ="#FF0033">Fukase</option><option value ="#EE82EE">心華</option><option value ="#DD315D">Rana</option><option value ="#0000aa">音街鰻(音街ウナ)</option><option value ="#f0b4bc">鳴花姬(鳴花ヒメ)</option><option value ="#AFAFEF">鳴花尊(鳴花ミコト)</option><option value ="#4D0000">VY2</option><option value ="#221815">Mew</option><option value ="#ffb6c1">巡音流歌(巡音ルカ)</option><option value ="#FFCC00">Lily</option><option value ="#1D1F2F">冰山清輝(氷山キヨテル)</option><option value ="#FC79A7">貓村伊呂波(貓村いろは)</option><option value ="#D80000">MEIKO</option><option value ="#0000ff">KAITO</option><option value ="#9900ff">神威樂步(神威がくぽ)</option><option value ="#800080">結月緣(結月ゆかり)</option><option value ="#FFBA70">紲星燈(紲星あかり)</option><option value ="#DCDCDC">弱音白(弱音ハク)</option><option value ="#E452A7">MAYU</option><option value ="#FF7070">miki</option><option value ="#d93a49">重音Teto(重音テト)</option><option value ="#7F3D61">東北切蒲英(東北きりたん)</option><option value ="#4d79ff">可不(KAFU)</option><option value ="#FFC0C0">琴葉茜</option><option value ="#4d79ff">琴葉葵</option><option value ="#f5eeAf">ONE</option><option value ="#ffeff2">佐藤莎莎拉(さとうささら)</option><hr><option value ="#66CCFF">洛天依</option><option value ="#EE0000">樂正綾</option><option value ="#00FFCC">言和</option><option value ="#EE82EE">心華</option><option value ="#9999FF">星塵</option><option value ="#006666">樂正龍牙</option><option value ="#FFFF00">墨清弦</option><option value ="#0080FF">徵羽摩柯</option><option value ="#FF4004">赤羽</option><option value ="#f6be71">詩岸</option><option value ="#8bc0b5">蒼穹</option><option value ="#3399ff">海伊</option><option value ="#3B5183">牧心</option><option value ="#613C8A">Minus</option><option value ="#FDD000">艾可</option><option value ="#E5A7E3">暗音Renri</option><option value ="#BECEEC">小春六花</option><option value ="#ECEBF0">愛蓮娜·芙緹</option><option value ="#777777">多人/其他</option>'
  38. function temple(){
  39. document.getElementById("vcep").innerHTML='<div style="box-sizing:content-box;z-index:10; position:fixed; top:50px; right:calc(50% - 450px); width:860px; height:545px; overflow:auto; background:#fff; border:solid 1px; padding:18px" class="layui-form-item" id="vceptemple"><h2 align="center">歡迎使用VC Editor Plus,您現在使用的功能是:添加殿堂</h2><form id="templeform" class="layui-form"> 使用模板:<select name="TempleSong"><option value ="Temple Song">通用</option><option value ="China Temple Song">中文殿堂曲</option><option value ="China Legendary Song">中文傳說曲/神話曲</option><input type="reset" /><fieldset><legend>歌曲信息調查(將鼠標移到部分文本上可查看詳細說明):</legend>' +/*
  40. */'<span title="“手動檢查”將打開番號對應的視頻頁,三個番號只能填寫一個,優先級為從左到右">*番號</span>:<input type="text" name="smid" placeholder="輸入不帶sm的番號(niconico)" /> <input type="text"name="Vid" placeholder="只填寫v=後文段(YouTube)" /> <input type="text" name="aid" placeholder="輸入帶av、BV的番號(Bilibili)" /> <input type="button" onclick="checkpic1()" value="bilibili手動檢查"/> <br/><br/>*P主:<input type="text" name="uploader" placeholder="輸入P主ID" /> 是否加鏈接<input type="radio" name="originalproducer" value="是" />是 <input type="radio" name="originalproducer" value="否" />否 是否加langja<input type="radio" name="originallj" value="是" />是 <input type="radio" name="originallj" value="否" />否<br/><br/>*投稿時間:<input type="text" name="time" size="19" placeholder="格式:2012-07-13 00:00"/> 不將"/"替換為"-"<input type="radio" name="replace" value="是" />是 <input type="radio" name="replace" value="否" />否<br/><br/>*第一歌姬:<select name="firstcolor" lay-verify="required" lay-search>' + character + '</select> 第二歌姬:<select name="secondcolor" lay-verify="required" lay-search><option value="0">(none)</option>' + character + '</select> <span title="當原曲目屬於萌百收錄範圍時,直接填入曲目名(帶消歧義);當不屬於時,填入“none”。原創曲勿填此項。"><br/><br/>*曲名:<input type="text" placeholder="輸入歌曲名" name="keyword"/> <input type="submit" value="搜索bilibili" formtarget="_blank" formaction="https://search.bilibili.com/all"/> 消歧義:<input type="text" size="18" name="disambig" placeholder="選填,條目名括號中內容" /> 括號補充:</span><input type="text" size="13" name="originalsong" placeholder="選填,後加此內容"/> <br/><br/><span title="“檢查圖片”用於確認文件是否存在且確為視頻封面">*封面網址:</span><input type="text" name="image" size="30" placeholder="輸入圖片網址,帶後綴(優先項)" /> <input type="button" onclick="checkpic3()" value="檢查圖片"/> 封面文件:</span><input type="text" name="covera" size="20" placeholder="輸入萌娘共享文件名" /> <input type="button" onclick="checkpic2()" value="檢查圖片"/><br/><br/>是否+.M<input type="radio" name="bigimage" value="是" />是 <input type="radio" name="bigimage" value="否" />否 根據nico生成圖鏈<input type="radio" name="thumbnail" value="是" />是 <input type="radio" name="thumbnail" value="否" />否' +/*
  41. */'</fieldset><input type="button" style="border-style:outset; color:red; border-color:red; background:transparent; padding:5px; width:100%; float:right;" value="確認並提交" onclick="composer()"> </form><br/><div id="newwikitext" style="box-sizing:content-box;margin-top:20px; border:dashed 1px; max-height:200px; overflow:auto; padding:10px; font-size:14px;">Wiki代碼將於此處輸出</div></div><div style="box-sizing:content-box;z-index:97;position:fixed; top:50px; left:calc(50% - 450px);"><button onclick="vcepmainpage()" style="border:transparent; background:transparent;"><span style="font-size:200%" title="返回主界面">⇦</span></button></div><div style="box-sizing:content-box;z-index:97;position:fixed; top:50px; right:calc(50% - 430px);" title="隱藏VCEP"><button onclick="hidevcep()" style="border:transparent; background:transparent;"><span style="font-size:150%">×</span></button></div>';
  42. }
  43. function checkpic1(){
  44. var fm = document.getElementById('templeform');
  45. var apiname = fm.elements.aid.value;
  46. window.open('https://www.bilibili.com/video/' + apiname);
  47. }
  48. function checkpic2(){
  49. var fm = document.getElementById('templeform');
  50. var imagename2 = fm.elements.covera.value;
  51. window.open('http://commons.moegirl.tw/File:' + imagename2);
  52. }
  53. function checkpic3(){
  54. var fm = document.getElementById('templeform');
  55. var imagename3 = fm.elements.image.value;
  56. window.open(imagename3);
  57. }
  58. var tableaofh = "fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF";
  59. var traofh = {};
  60. for (iaofh = 0; iaofh < 58; iaofh++) {
  61. traofh[tableaofh[iaofh]] = iaofh;
  62. }
  63. var saofh = [11, 10, 3, 8, 4, 6];
  64. var xoraofh = 177451812,
  65. addaofh = 8728348608;
  66. function decaofh(xaofh) {
  67. var raofh = 0;
  68. for (iaofh = 0; iaofh < 6; iaofh++) {
  69. raofh += traofh[xaofh[saofh[iaofh]]] * Math.pow(58, iaofh);
  70. }
  71. xaofh = (raofh - addaofh) ^ xoraofh;
  72. xaofh = "av" + xaofh;
  73. return xaofh;
  74. }
  75. /*
  76. function enc(x) {
  77. x = (x ^ xor) + add;
  78. var r = "BV1 4 1 7 ".split("");
  79. for (let i = 0; i < 6; i++) {
  80. r[s[i]] = table[Math.floor(x / Math.pow(58, i)) % 58];
  81. }
  82. return r.join("");
  83. }
  84. */
  85. //殿堂曲代碼合成器
  86. function composer(){
  87. var fm = document.getElementById('templeform');
  88. var songname = fm.elements.keyword.value;
  89. var aid = fm.elements.aid.value;
  90. var Vid = fm.elements.Vid.value;
  91. var smid = fm.elements.smid.value;
  92. var uploadtime = fm.elements.time.value;
  93. var uploader = fm.elements.uploader.value;
  94. var firstcolor = fm.elements.firstcolor.value;
  95. var secondcolor = fm.elements.secondcolor.value;
  96. var TempleSong = fm.elements.TempleSong.value;
  97. if (aid.includes("BV")) {
  98. aid = decaofh(aid);
  99. }
  100. else {
  101. aid = aid;
  102. }
  103. if (aid == "av177451812") {
  104. aid = "";
  105. }
  106. else {
  107. aid = aid;
  108. }
  109. var colortext = "";
  110. if (secondcolor !== '0') {
  111. colortext = "|First color = " + firstcolor + "<br />|Second color = " + secondcolor + "<br/>";
  112. }
  113. else {
  114. colortext = "|color = " + firstcolor + "<br/>";
  115. }
  116. var designation = "";
  117. if (smid) {
  118. designation = "|nnd_id = sm" + smid + "<br/>";
  119. }
  120. else if (aid) {
  121. designation = "|bb_id = " + aid + "<br/>";
  122. }
  123. else if (Vid) {
  124. designation = "|yt_id = " + Vid + "<br/>";
  125. }
  126. var count = "";
  127. if (smid) {
  128. count = "|再生數量 = {{NiconicoCount|id=sm" + smid + "}}" + "<br/>";
  129. }
  130. else if (aid) {
  131. count = "|再生數量 = {{BilibiliCount|id=" + aid + "}}" + "<br/>";
  132. }
  133. var originalsong = fm.elements.originalsong.value;
  134. var originaltext = "";
  135. if (originalsong) {
  136. var originaltext = "(" + originalsong + ")";
  137. }
  138. var disambig = fm.elements.disambig.value;
  139. var songnametext = "";
  140. if (disambig) {
  141. songnametext = "[[" + songname + "(" + disambig + ")|" + songname + "]]";
  142. }
  143. else {
  144. songnametext = "[[" + songname + "]]";
  145. }
  146. var originalproducer = fm.elements.originalproducer.value;
  147. var originallj = fm.elements.originallj.value;
  148. var replace = fm.elements.replace.value;
  149. var uploadertext = "";
  150. if (originalproducer == '是') {
  151. uploadertext = "[[" + uploader + "]]";
  152. }
  153. else {
  154. uploadertext = uploader;
  155. }
  156. if (replace == '是') {
  157. uploadtime = uploadtime;
  158. }
  159. else {
  160. uploadtime = uploadtime.replace(/\//g, "-");
  161. }
  162. if (originallj == '是') {
  163. uploadertext = "{{lj|" + uploadertext + "}}";
  164. }
  165. else {
  166. uploadertext = uploadertext;
  167. }
  168. var image = fm.elements.image.value;
  169. var covera = fm.elements.covera.value;
  170. var covername = "";
  171. if (covera) {
  172. covername = "<br />|image = " + covera;
  173. }
  174. else {
  175. covername = "<br />|image link = " + image;
  176. }
  177. var thumbnail = fm.elements.thumbnail.value;
  178. if (thumbnail == '是') {
  179. covername = "<br />|image link = " + "https://nicovideo.cdn.nimg.jp/thumbnails/" + smid + "/" + smid ;
  180. }
  181. else {
  182. covername = covername;
  183. }
  184. var bigimage = fm.elements.bigimage.value;
  185. if (bigimage == '是') {
  186. covernametext = covername + ".M";
  187. }
  188. else {
  189. covernametext = covername;
  190. }
  191. var text = "{{" + TempleSong + " <br/>" + colortext + designation + count + "|P主 = " + uploadertext + "<br />|投稿時間 = " + uploadtime + "<br />|曲目 = " + songnametext + originaltext + covernametext + "}}";
  192. document.getElementById('newwikitext').innerHTML = text;
  193. }
  194. //P主添加頁面
  195. var year = '<option value ="2022年">2022年 </option><option value ="2021年">2021年</option><option value ="2020年">2020年</option><option value ="2019年">2019年</option><option value ="2018年">2018年</option><option value ="2017年">2017年</option><option value ="2016年">2016年</option><option value ="2015年">2015年</option><option value ="2014年">2014年</option><option value ="2013年">2013年</option><option value ="2012年">2012年</option><option value ="2011年">2011年</option><option value ="2010年">2010年</option><option value ="2009年">2009年</option><option value ="2008年">2008年</option><option value ="2007年">2007年</option>';
  196. var mouth = '<option value ="01月">01月  </option><option value ="02月">02月</option><option value ="03月">03月</option><option value ="04月">04月</option><option value ="05月">05月</option><option value ="06月">06月</option><option value ="07月">07月</option><option value ="08月">08月</option><option value ="09月">09月</option><option value ="10月">10月</option><option value ="11月">11月</option><option value ="12月">12月</option>';
  197. var day = '<option value ="01日">01日  </option><option value ="02日">02日</option><option value ="03日">03日</option><option value ="04日">04日</option><option value ="05日">05日</option><option value ="06日">06日</option><option value ="07日">07日</option><option value ="08日">08日</option><option value ="09日">09日</option><option value ="10日">10日</option><option value ="11日">11日</option><option value ="12日">12日</option><option value ="13日">13日</option><option value ="14日">14日</option><option value ="15日">15日</option><option value ="16日">16日</option><option value ="17日">17日</option><option value ="18日">18日</option><option value ="19日">19日</option><option value ="20日">20日</option><option value ="21日">21日</option><option value ="22日">22日</option><option value ="23日">23日</option><option value ="24日">24日</option><option value ="25日">25日</option><option value ="26日">26日</option><option value ="27日">27日</option><option value ="28日">28日</option><option value ="29日">29日</option><option value ="30日">30日</option><option value ="31日">31日</option>';
  198. function producer(){
  199. document.getElementById("vcep").innerHTML='<div style="box-sizing:content-box;z-index:10; position:fixed; top:50px; right:calc(50% - 450px); width:860px; height:595px; overflow:auto; background:#fff; border:solid 1px; padding:18px" class="layui-form-item" id="vceptemple"><h2 align="center">歡迎使用VC Editor Plus,您現在使用的功能是:添加P主歌曲</h2><form id="producerform" class="layui-form"><fieldset><legend>歌曲信息調查(將鼠標移到部分文本上可查看詳細說明):</legend>' +/*
  200. */'番號</span>:<input type="text" name="smid_a" placeholder="輸入不帶sm的番號(niconico)" /> <input type="button" onclick="checkpic4()" value="打開對應nicozon"/> <input type="text"name="Vid_a" placeholder="只填寫v=後文段(YouTube)" /> <input type="text" name="aid_a" placeholder="輸入帶av、BV的番號(Bilibili)" /> <br/><br/>作曲:<input type="text" name="music_A" placeholder="多個P主請勿點右側按鈕" /> 是否加鏈接<input type="radio" name="music_A_road" value="是" />是 <input type="radio" name="music_A_road" value="否" />否 是否加langja<input type="radio" name="music_A_lj" value="是" />是 <input type="radio" name="music_A_lj" value="否" />否 <br/><br/>填詞:<input type="text" name="music_B" placeholder="多個P主請勿點右側按鈕" /> 是否加鏈接<input type="radio" name="music_B_road" value="是" />是 <input type="radio" name="music_B_road" value="否" />否 是否加langja<input type="radio" name="music_B_lj" value="是" />是 <input type="radio" name="music_B_lj" value="否" />否 <br/><br/>視頻製作:<input type="text" name="music_C" placeholder="多個P主請勿點右側按鈕" /> 是否加鏈接<input type="radio" name="music_C_road" value="是" />是 <input type="radio" name="music_C_road" value="否" />否 是否加langja<input type="radio" name="music_C_lj" value="是" />是 <input type="radio" name="music_C_lj" value="否" />否 <br/><br/>畫師:<input type="text" name="music_D" placeholder="多個P主請勿點右側按鈕" /> 是否加鏈接<input type="radio" name="music_D_road" value="是" />是 <input type="radio" name="music_D_road" value="否" />否 是否加langja<input type="radio" name="music_D_lj" value="是" />是 <input type="radio" name="music_D_lj" value="否" />否 <br/><br/>演唱者:<input type="text" name="music_E" placeholder="自行處理鏈接" /> 歌曲描述:<input type="text" name="music_F" placeholder="內容" size="60" />' +/*
  201. */' <br/><br/>投稿時間:年 <select name="year_music" lay-verify="required" lay-search>' + year + '</select>  月 <select name="mouth_music" lay-verify="required" lay-search>' + mouth + '</select>  日 <select name="day_music" lay-verify="required" lay-search>' + day + '</select>' +/*
  202. */' <br/><br/>條目:<input type="text" name="music_G" placeholder="條目名" /> 消歧義:<input type="text" name="music_G_other" placeholder="一般不加" /> <br/><br/>標題:<input type="text" name="music_H" placeholder="原歌曲名" />  是否加langja<input type="radio" name="music_H_lj" value="是" />是 <input type="radio" name="music_H_lj" value="否" />否 <br/><br/>image:<input type="text" name="music_image" placeholder="外部鏈接(優先)" /> 圖像:<input type="text" name="music_image_A" placeholder="站內圖片" /> <br/><br/>是否+.M<input type="radio" name="bigimage_M" value="是" />是 <input type="radio" name="bigimage_M" value="否" />否' +/*
  203. */'</fieldset><input type="button" style="border-style:outset; color:red; border-color:red; background:transparent; padding:5px; width:100%; float:right;" value="確認並提交" onclick="producer_click()"> </form><br/><div id="newwikitext_producer" style="box-sizing:content-box;margin-top:20px; border:dashed 1px; max-height:500px; overflow:auto; padding:10px; font-size:14px;">Wiki代碼將於此處輸出</div><div style="box-sizing:content-box;z-index:97;position:fixed; top:50px; left:calc(50% - 450px);"><button onclick="vcepmainpage()" style="border:transparent; background:transparent;"><span style="font-size:200%" title="返回主界面">⇦</span></button></div><div style="box-sizing:content-box;z-index:97;position:fixed; top:50px; right:calc(50% - 430px);" title="隱藏VCEP"><button onclick="hidevcep()" style="border:transparent; background:transparent;"><span style="font-size:150%">×</span></button></div>';
  204. }
  205. function checkpic4(){
  206. var ka = document.getElementById('producerform');
  207. var imagename4 = ka.elements.smid_a.value;
  208. window.open('https://www.nicozon.net/watch/sm' + imagename4);
  209. }
  210. //P主作品代碼合成器
  211. function producer_click(){
  212. var ka = document.getElementById('producerform');
  213. var aid_a = ka.elements.aid_a.value;
  214. var Vid_a = ka.elements.Vid_a.value;
  215. var smid_a = ka.elements.smid_a.value;
  216. if (aid_a.includes("BV")) {
  217. aid_a = decaofh(aid_a);
  218. }
  219. else {
  220. aid_a = aid_a;
  221. }
  222. if (aid_a == "av177451812") {
  223. aid_a = "";
  224. }
  225. else {
  226. aid_a = aid_a;
  227. }
  228. var designation = "";
  229. if (smid_a) {
  230. designation = "|nnd_id&nbsp;&nbsp;&nbsp;= sm" + smid_a + "<br/>";
  231. }
  232. else {
  233. designation = designation;
  234. }
  235. if (aid_a) {
  236. designation = designation + "|bb_id&nbsp;&nbsp;&nbsp;&nbsp;= " + aid_a + "<br/>";
  237. }
  238. else {
  239. designation = designation;
  240. }
  241. if (Vid_a) {
  242. designation = designation + "|yt_id&nbsp;&nbsp;&nbsp;&nbsp;= " + Vid_a + "<br/>";
  243. }
  244. else {
  245. designation = designation;
  246. }
  247. var music_A = ka.elements.music_A.value;
  248. var music_A_road = ka.elements.music_A_road.value;
  249. var music_A_lj = ka.elements.music_A_lj.value;
  250. if (music_A_road == '是') {
  251. music_A = "[[" + music_A + "]]";
  252. }
  253. else {
  254. music_A = music_A;
  255. }
  256. if (music_A_lj == '是') {
  257. music_A = "{{lj|" + music_A + "}}";
  258. }
  259. else {
  260. music_A = music_A;
  261. }
  262. music_A = "|作曲&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= " + music_A + "<br/>";
  263. var music_B = ka.elements.music_B.value;
  264. var music_B_road = ka.elements.music_B_road.value;
  265. var music_B_lj = ka.elements.music_B_lj.value;
  266. if (music_B_road == '是') {
  267. music_B = "[[" + music_B + "]]";
  268. }
  269. else {
  270. music_B = music_B;
  271. }
  272. if (music_B_lj == '是') {
  273. music_B = "{{lj|" + music_B + "}}";
  274. }
  275. else {
  276. music_B = music_B;
  277. }
  278. music_B = "|填詞&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= " + music_B + "<br/>";
  279. var music_C = ka.elements.music_C.value;
  280. var music_C_road = ka.elements.music_C_road.value;
  281. var music_C_lj = ka.elements.music_C_lj.value;
  282. if (music_C_road == '是') {
  283. music_C = "[[" + music_C + "]]";
  284. }
  285. else {
  286. music_C = music_C;
  287. }
  288. if (music_C_lj == '是') {
  289. music_C = "{{lj|" + music_C + "}}";
  290. }
  291. else {
  292. music_C = music_C;
  293. }
  294. music_C = "|視頻製作&nbsp;= " + music_C + "<br/>";
  295. var music_D = ka.elements.music_D.value;
  296. var music_D_road = ka.elements.music_D_road.value;
  297. var music_D_lj = ka.elements.music_D_lj.value
  298. if (music_D_road == '是') {
  299. music_D = "[[" + music_D + "]]";
  300. }
  301. else {
  302. music_D = music_D;
  303. }
  304. if (music_D_lj == '是') {
  305. music_D = "{{lj|" + music_D + "}}";
  306. }
  307. else {
  308. music_D = music_D;
  309. }
  310. music_D = "|畫師&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= " + music_D + "<br/>";
  311. var music_E = ka.elements.music_E.value;
  312. music_E = "|演唱者&nbsp;&nbsp;&nbsp;= " + music_E + "<br/>";
  313. var music_F = ka.elements.music_F.value;
  314. music_F = "|歌曲描述&nbsp;= " + music_F + "<br/>";
  315. var year_music = ka.elements.year_music.value;
  316. var mouth_music = ka.elements.mouth_music.value;
  317. var day_music = ka.elements.day_music.value;
  318. all_time = "|投稿日期&nbsp;= " + year_music + mouth_music + day_music + "<br/>";
  319. var music_G = ka.elements.music_G.value;
  320. var music_G_other = ka.elements.music_G_other.value;
  321. if (music_G_other) {
  322. music_G = music_G_other + "{{!}}" + music_G;
  323. }
  324. else {
  325. music_G = music_G;
  326. }
  327. music_G = "|條目&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= " + music_G + "<br/>";
  328. var music_H = ka.elements.music_H.value;
  329. var music_H_lj = ka.elements.music_H_lj.value;
  330. if (music_H_lj == '是') {
  331. music_H = "{{lj|" + music_H + "}}";
  332. }
  333. else {
  334. music_H = music_H;
  335. }
  336. music_H = "|標題&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= " + music_H + "<br/>";
  337. var music_image = ka.elements.music_image.value;
  338. var music_image_A = ka.elements.music_image_A.value;
  339. var music_image_B = ""
  340. if (music_image) {
  341. music_image_B = "|image&nbsp;&nbsp;&nbsp;&nbsp;= " + music_image;
  342. }
  343. else {
  344. music_image_B = "|圖像&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= " + music_image_A;
  345. }
  346. var bigimage_M = ka.elements.bigimage_M.value;
  347. if (bigimage_M == '是') {
  348. music_image_B = music_image_B + ".M";
  349. }
  350. else {
  351. music_image_B = music_image_B;
  352. }
  353. var click = "{{Producer_Song<br/>" + designation + music_A + music_B + music_C + music_D + music_E + music_F + all_time + music_G + music_H + music_image_B + "}}";
  354. document.getElementById('newwikitext_producer').innerHTML = click;
  355. }
  356. /*
  357. */
  358. function API(){
  359. document.getElementById("vcep").innerHTML='<div style="box-sizing:content-box;z-index:10; position:fixed; top:50px; right:calc(50% - 450px); width:860px; height:545px; overflow:auto; background:#fff; border:solid 1px; padding:18px" class="layui-form-item" id="vceptemple">\
  360. <h2 align="center">歡迎使用VC Editor Plus,您現在使用的功能是:API</h2>\
  361. \
  362. <form id="api_form"><fieldset>\
  363. \
  364. \
  365. \
  366. <br>title(要編輯的頁面標題,換行指定不同的頁面):\
  367. <textarea rows="5" name="api_title" cols="21">Help:沙盒</textarea>\
  368. \
  369. text(頁面內容,覆蓋原內容):\
  370. <textarea rows="5" name="api_text" cols="21"></textarea>\
  371. \
  372. appendtext(將該文本添加到該頁面的結尾,覆蓋text):\
  373. <textarea rows="5" name="api_appendtext" cols="21"></textarea>\
  374. \
  375. summary(編輯摘要):\
  376. <input type="text" name="api_summary" value="//edit via API" size="60">\
  377. \
  378. \
  379. </fieldset>\
  380. \
  381. <input type="button" style="border-style:outset; color:red; border-color:red; background:transparent; padding:5px; width:100%; float:right;" value="確認並提交" onclick="API_NEXT()">\
  382. </form>\
  383. <br>\
  384. <div id="api_submit">進行狀況</div>\
  385. <br/>\
  386. <div style="box-sizing:content-box;z-index:97;position:fixed; top:50px; left:calc(50% - 450px);">\
  387. <button onclick="vcepmainpage()" style="border:transparent; background:transparent;">\
  388. <span style="font-size:200%" title="返回主界面">⇦</span>\
  389. </button>\
  390. </div>\
  391. <div style="box-sizing:content-box;z-index:97;position:fixed; top:50px; right:calc(50% - 430px);" title="隱藏VCEP">\
  392. <button onclick="hidevcep()" style="border:transparent; background:transparent;">\
  393. <span style="font-size:150%">×</span></button>\
  394. </div>';
  395. }
  396. /*
  397. function getWikitext(title) {
  398. return new mw.Api().get({
  399. action: 'parse',
  400. page: title,
  401. redirects: true,
  402. prop: 'wikitext',
  403. format: 'json',
  404. })
  405. }
  406. */
  407. //API_NEXT
  408. function API_NEXT(){
  409. var api_next = document.getElementById('api_form');
  410. var api_submit = document.getElementById("api_submit");
  411. var api_text = api_next.elements.api_text.value;
  412. var api_title = api_next.elements.api_title.value;
  413. var api_appendtext = api_next.elements.api_appendtext.value;
  414. var api_summary = api_next.elements.api_summary.value;
  415. title = api_title.split("\n");
  416. api_submit.innerHTML='ing';
  417. for (let x in title) {
  418. if(api_appendtext){
  419. new mw.Api().postWithToken('csrf', {
  420. action: 'edit',
  421. title: title[x],
  422. text: api_text,
  423. appendtext: api_appendtext,
  424. minor: true,
  425. nocreate: true,
  426. bot: true,
  427. tags : "Automation tool",
  428. summary: api_summary,
  429. errorformat: 'plaintext'
  430. })
  431. } else {
  432. new mw.Api().postWithToken('csrf', {
  433. action: 'edit',
  434. title: title[x],
  435. text: api_text,
  436. minor: true,
  437. nocreate: true,
  438. bot: true,
  439. tags : "Automation tool",
  440. summary: api_summary,
  441. errorformat: 'plaintext'
  442. })
  443. }
  444. }
  445. api_submit.innerHTML='完成';
  446. setTimeout("api_submit.innerHTML='進行狀況'",1000);
  447. }
此頁面最後編輯於 2022年5月11日 (週三) 18:53。
搜尋萌娘百科 (按"/"快速搜尋)
有新的未讀公告