全站通知:

Widget:沙盒4/form

来自戴森球计划WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet"> <link href="//cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet"> <link href="//cdn.quilljs.com/1.3.6/quill.bubble.css" rel="stylesheet"> <script src="https://cdn.quilljs.com/1.3.6/quill.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> <script> (window.RLQ = window.RLQ || []).push(['jquery', () => {

   var u = (document.cookie.match(/DedeUserID=([^;]+)/) || [])[1] || "";
   var dz = mw.config.values.wgGameName;
   var vcname = dz.slice(0, 1).toUpperCase()
   var sj = parseInt(Math.random(100) * 10).toString() + parseInt(Math.random(100) * 10).toString() + parseInt(Math.random(100) * 10).toString()
   var VC = `${vcname}VC${parseInt(Math.round(new Date() / 1000) + sj).toString(32).toUpperCase()}`

document.getElementById("inputDOM").innerHTML = `<textarea maxlength="" placeholder="请输入标题(建议30字以内)" style="overflow-y: hidden;height: auto;border: 0px;font-size: 28px;padding: 12px 50px 12px 0px;font-weight: 700;line-height: 40px;width: 100%;" id="title"></textarea>

<tbody></tbody>
基础信息
投稿分区:<select id="lx" tabindex="6" name="类别" class="createboxInput pfShowIfSelected"><option value="">--请选择稿件分区--</option><option value="攻略视频">攻略视频</option><option value="专栏攻略">专栏攻略</option><option value="同人图">同人视频</option><option value="同人图">同人图</option><option value="表情包">表情包</option></select>
类型:<select id="yuan" tabindex="6" name="同人图片[是否原创]" class="createboxInput pfShowIfSelected" onchange="yc()"><option value="">--请选择类型--</option><option value="自制">自制</option><option value="转载">转载</option></select>
时间:<input id="time" type="date">
作者:<input id="up" tabindex="4" class="createboxInput mandatoryField" size="35" name="同人图片[作者]">
B站昵称:<input id="bname" tabindex="4" class="createboxInput mandatoryField" size="35" name="同人图片[作者]">
B站UID:<input id="BUID" tabindex="5" class="createboxInput mandatoryField" size="35" name="同人图片[B站UID]">
相关角色:<input id="xgjs" tabindex="4" class="createboxInput mandatoryField" size="35" name="同人图片[作者]">
合集<select id="sfhj" tabindex="6" name="合集[是否原创]" class="createboxInput pfShowIfSelected" onchange="heji()"><option value=""></option><option value="是">是</option><option value="否">否</option></select><input id="hj" tabindex="5" class="createboxInput mandatoryField" size="35" name="同人图片[B站UID]" style="display: none;">
定时发布:<select id="sfdingshi" tabindex="6" name="定时[是否]" class="createboxInput pfShowIfSelected" onchange="ds()"><option value="">--是否定时--</option><option value="是">是</option><option value="否">否</option></select><input type="datetime-local" id="ding-datetime" style="display: none;">

` document.getElementById("btnDOM").innerHTML = `

<input id="guize" name="guize" type="checkbox" value="" onchange="giz()">我已阅读并接受《BWIKI社区规则》
<button class='submit-btn-group-add' id='btn' style='display: inline-block;height: 40px;font-size: 14px;border-radius: 42px;text-align: center;vertical-align: middle; width: 120px; border: #fff0;cursor: pointer;line-height: 40px;color: #fff;background: #37c8f7;'>立即投稿</button>

`

       //设置元素可见度及样式
   document.getElementById('zizhi').style.display = "none"
   document.getElementsByClassName("zhuanzai")[0].style.display = "none"
   document.getElementById('ding-datetime').style.display = "none"
   document.getElementById('hj').style.display = "none"
   document.getElementById('btn').disabled = true
   document.getElementById('btn').style.background = "#e5e9ef"
   document.getElementById('btn').style.color = "#99a2aa"
       //设置元素value值 
   document.getElementById("BUID").value = u;
   document.getElementById("bname").value = UserStatus.userInfo.uname;
   //主函数
   document.getElementById("btn").onclick = function() {
       getApi(`https://wiki.biligame.com/${dz}/api.php?action=query&meta=tokens&format=json`, function(json) {
           let token = JSON.parse(json).query.tokens.csrftoken
           let url = `https://wiki.biligame.com/${dz}/api.php`
           let fd = new FormData()
           fd.append("action", "edit")
           fd.append("title", `${VC}`)
           fd.append("text", `模板:文章模板}`)
           fd.append("token", token)
           fd.append("format", "json")
           postFdApi(url, fd)
           alert(`恭喜,投稿成功!您所投稿的稿件${vcname}VC号为${VC}`);
           document.getElementById("ca-purge").getElementsByTagName("a")[0].click()
       })
   }
   window.onbeforeunload = function() {
       return "您的文章尚未保存!";
   }

}]);

function yc() {

   (window.RLQ = window.RLQ || []).push(['jquery', () => {
       $(document).ready(function() {
           var yuan = document.getElementById("yuan").value
           if (yuan == '自制') {
               document.getElementById('zizhi').style.display = "revert"
               document.getElementsByClassName("zhuanzai")[0].style.display = "none"
           } else {
               if (yuan == '转载') {
                   document.getElementById('zizhi').style.display = "none"
                   document.getElementsByClassName("zhuanzai")[0].style.display = "revert"
               } else {
                   document.getElementById('zizhi').style.display = "none"
                   document.getElementsByClassName("zhuanzai")[0].style.display = "none"
               }
           }
       })
   }]);

}

function ds() {

   (window.RLQ = window.RLQ || []).push(['jquery', () => {
       $(document).ready(function() {
           var sfdingshi = document.getElementById("sfdingshi").value
           if (sfdingshi == '是') {
               document.getElementById('ding-datetime').style.display = "revert"
           } else {
               if (sfdingshi == '否') {
                   document.getElementById('ding-datetime').style.display = "none"
               } else {
                   document.getElementById('ding-datetime').style.display = "none"
               }
           }
       })
   }]);

}

function heji() {

   (window.RLQ = window.RLQ || []).push(['jquery', () => {
       $(document).ready(function() {
           var sfdingshi = document.getElementById("sfhj").value
           if (sfdingshi == '是') {
               document.getElementById('hj').style.display = "revert"
           } else {
               if (sfdingshi == '否') {
                   document.getElementById('hj').style.display = "none"
               } else {
                   document.getElementById('hj').style.display = "none"
               }
           }
       })
   }]);

}

function giz() {

   (window.RLQ = window.RLQ || []).push(['jquery', () => {
       $(document).ready(function() {
           var sfguize = document.getElementById('guize').checked
           if (sfguize == true) {
               document.getElementById('btn').disabled = false
               document.getElementById('btn').style.background = "#37c8f7"
               document.getElementById('btn').style.color = "#ffffff"
           } else {
               document.getElementById('btn').disabled = true
               document.getElementById('btn').style.background = "#e5e9ef"
               document.getElementById('btn').style.color = "#99a2aa"
           }
       })
   }]);

}

</script> <script>

var toolbarOptions = [
[{ 'size': ['small', false, 'large', 'huge'] }],  // custom dropdown
 [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
 [{ 'color': [] }, { 'background': [] }],          // dropdown with defaults from theme
 [{ 'font': [] }],
 [{ 'align': [] }],
 ['bold', 'italic', 'underline', 'strike','link'],        // toggled buttons
 ['blockquote', 'code-block'],
 [{ 'header': 1 }, { 'header': 2 }],               // custom button values
 [{ 'list': 'ordered'}, { 'list': 'bullet' }],
 [{ 'script': 'sub'}, { 'script': 'super' }],      // superscript/subscript
 [{ 'indent': '-1'}, { 'indent': '+1' }],          // outdent/indent
 [{ 'direction': 'rtl' }],                         // text direction


 ['clean']                                         // remove formatting button

]; var quill = new Quill('#editor', {

 modules: {
   toolbar: toolbarOptions
 },
 theme: 'snow'

}); function quillGetHTML(inputDelta) {

   var tempCont = document.createElement("div");
   (new Quill(tempCont)).setContents(inputDelta);
   return tempCont.getElementsByClassName("ql-editor")[0].innerHTML;

} </script> <style> .editor {

 line-height: normal !important;
 height: 750px;

} .ql-snow .ql-tooltip[data-mode=link]::before {

 content: "请输入链接地址:";

} .ql-snow .ql-tooltip.ql-editing a.ql-action::after {

   border-right: 0px;
   content: '保存';
   padding-right: 0px;

}

.ql-snow .ql-tooltip[data-mode=video]::before {

   content: "请输入视频地址:";

} .ql-snow .ql-picker.ql-header .ql-picker-label::before, .ql-snow .ql-picker.ql-header .ql-picker-item::before {

 content: '文本';

} .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {

 content: '标题1';

} .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {

 content: '标题2';

} .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {

 content: '标题3';

} .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {

 content: '标题4';

} .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {

 content: '标题5';

} .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {

 content: '标题6';

}

.ql-snow .ql-picker.ql-font .ql-picker-label::before, .ql-snow .ql-picker.ql-font .ql-picker-item::before {

 content: '标准字体';

} .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {

 content: '衬线字体';

} .ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {

 content: '等宽字体';

} .ql-toolbar.ql-snow + .ql-container.ql-snow {

   height: 230;

} .ql-editor {

   background: #ffffffb8;
   }
   .ql-toolbar.ql-snow {
   background: #ffffff;

} .ql-snow .ql-editor h2{ margin-top: 0;

   margin-bottom: .5em;
   color: rgba(0,0,0,.85);
   font-weight: 500;
   display: block;
   text-align: left;
   font-size: 1.5em;
   background: #fff0;
   border-radius: 0px;
   margin-block-start: 0.83em;
   margin-block-end: 0.83em;
   margin-inline-start: 0px;
   margin-inline-end: 0px;

} </style> <script> function getApi(url,callback=false,callbackE=false){ let ajax=new XMLHttpRequest() if(!callback){ ajax.open("GET",url,false) ajax.send() let json=JSON.parse(ajax.responseText) return json } ajax.open("GET",url) ajax.send() ajax.onreadystatechange=function(){ if(ajax.readyState==4){ if(ajax.status==200){ callback(ajax.responseText) } else if(ajax.status==404&&callbackE){ callbackE(true) } } } } function postFdApi(url,fd,isParse=true){ let ajax=new XMLHttpRequest() ajax.open("POST",url,false) ajax.send(fd) if(!isParse){ return ajax.responseText } let json=JSON.parse(ajax.responseText) return json } </script>