User:Hat600/script/smt.js

维基百科,自由的百科全书

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。

;(function($){
    // 初始化
        var wikitext = '';

    // 显示条目表
        var smtp='<div style="height: 200px; overflow: hidden; width: 30%; float: left;"><ul id="bot600uilist1"></ul></div><div style="height: 7em; overflow: hidden; width: 30%; float: left;"><ul id="bot600uilist2"></ul></div><br style="clear: both;"/>';
        $("#bot600uiframe").append(smtp);
        $.each(smttitleslist, function(index, item){
            $("#bot600uilist2").prepend('<li>' + item.zh + '</li>');
            $("#bot600uilist1").prepend('<li>' + item.en + '</li>');
        });

    // 按钮
        var smtq='<button id="bot600uibutton1" style="display:none;">继续</button><button id="bot600uibutton2">continue</button>';
        $("#bot600uiframe").prepend(smtq);
    // 输入框
        var smtr='<textarea id="bot600uidiv" style="width: 100%; height: 450px;"></textarea>';
        $("#bot600uiframe").append(smtr);

    // 主体
    $("#bot600uibutton2").bind("click", function(){
        // 读取第一个条目
            smttitleen = $('#bot600uilist1').children('li:eq(0)').text();
            console.log(smttitleen);
            smttitlezh = $('#bot600uilist2').children('li:eq(0)').text();

        $.ajax({
            url: 'https://en.wikipedia.org/w/api.php?format=json',
            type: 'POST',
            data: {
                action: 'query',
                titles: smttitleen,
                export: 1
            },
            dataType: 'jsonp',

            success: function(jsonp){
                $.each(jsonp.query.export, function(idx, item){ //本来不用这层函数,但是由于json返回到这一级对象名是*的原因……
                    var exmal = $(item); // EXtendable MArkup Language
                    wikitext = exmal.find("text").text();
                    
                    // 替换模块
                    $.each(smttranslatelist, function(idx, item){
                        wikitext = wikitext.replace(item.en, item.zh); //不是jQuery的函数
                    });

                    $("#bot600uidiv").val(wikitext);
                    $("#bot600uibutton2").css('display', 'none');
                    $("#bot600uibutton1").css('display', 'inline');
                });
            }
        });
    });

    $("#bot600uibutton1").bind("click", function(){
                        wikitext = $("#bot600uidiv").val();
                        // 输出模块    
                        // get edit token
                        editToken = mw.user.tokens.get( 'editToken' );

                        $.ajax({
                            url: 'https://zh.wikipedia.org/w/api.php',
                            type: 'POST',
                            data: {
                                format: 'xml',
                                action: 'edit',
                                title: smttitlezh,
                                text: wikitext,
                                summary: '代码测试',
                                minor: true,
                                // createonly: 1,
                                token: editToken
                            },
                            success: function(data){
                                $("#bot600uidiv").val('success');
                                $('#bot600uilist1').children('li:eq(0)').remove();
                                $('#bot600uilist2').children('li:eq(0)').remove();
                                $("#bot600uibutton1").css('display', 'none');
                                $("#bot600uibutton2").css('display', 'inline');
                            }
                        });
                    });
})(jQuery);