打开/关闭搜索
搜索
打开/关闭菜单
4
8
421
THGAme
导航
首页
随机页面
特殊页面
上传文件
管理与编辑
最近更改
沙盒(建议使用)
Wiki
关于
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
中文
个人工具
创建账号
登录
查看“︁用户:玲子/common.js”︁的源代码
来自THGAme
查看
阅读
查看源代码
查看历史
associated-pages
用户页
讨论
更多操作
←
用户:玲子/common.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您没有权限编辑此JavaScript页面,因为此页面包含另一位用户的个人设置。
您必须确认您的电子邮件地址才能编辑页面。请通过
参数设置
设置并确认您的电子邮件地址。
您可以查看和复制此页面的源代码。
mw.loader.using(['oojs-ui-core', 'oojs-ui-windows']).then(function () { var btn_submit = new OO.ui.ButtonWidget({ label: '提交页面', icon: 'check', flags: [ 'primary', 'progressive' ] }), btn_code = new OO.ui.ButtonWidget({ label: '生成源代码', icon: 'code', flags: [ 'progressive' ] }), btn_add = new OO.ui.ButtonWidget({ label: '增加作品', icon: 'add' }), btn_reduce = new OO.ui.ButtonWidget({ label: '减少作品', icon: 'subtract' }); var input_writer_name = new OO.ui.TextInputWidget( { required: true, validate: 'non-empty', placeholder: '请输入文手名' } ), input_writer_tag = new OO.ui.DropdownInputWidget( { placeholder: '请选择文手标签(默认:同人)', options: [ { data: '同人', label: '同人' } ] } ), input_writer_platform = new OO.ui.TextInputWidget( { placeholder: '请输入文手活跃平台' } ), check_isoverwrite = new OO.ui.CheckboxInputWidget( { selected: false } ); var result_area = new OO.ui.MultilineTextInputWidget({ autosize: true, rows: 10, value: '' }); var fieldset = new OO.ui.FieldsetLayout( { label: '文手页面快速生成器', classes: [ 'container' ] } ), fieldset_work = new OO.ui.FieldsetLayout( { classes: [ 'container' ] } ); fieldset.addItems( [ new OO.ui.FieldLayout( input_writer_name, { label: '文手名:', align: 'top', help: '名称请使用符合URL规则的纯文本(可以使用unicode),不要使用任何wikitext、HTML之类的语法。由于MediaWiki限制,空格会被转为下划线', helpInline: true } ), new OO.ui.FieldLayout( input_writer_tag, { label: '文手标签:', align: 'top' } ), new OO.ui.FieldLayout( input_writer_platform, { label: '文手活跃平台:', align: 'top' } ), new OO.ui.FieldLayout( check_isoverwrite, { label: '覆盖已存在的页面【危险!可能会覆盖手工加入的信息】', align: 'inline' } ), new OO.ui.FieldLayout( new OO.ui.Widget( { content: [ new OO.ui.HorizontalLayout( { items: [ new OO.ui.FieldLayout( btn_add ), new OO.ui.FieldLayout( btn_reduce ), new OO.ui.FieldLayout( btn_code ), new OO.ui.FieldLayout( btn_submit ) ] } ) ] } ) ), new OO.ui.FieldsetLayout( fieldset_work ), new OO.ui.FieldLayout( result_area, { label: '生成结果:', align: 'top' } ), ] ); const getWork = (no) => { var input_work_name = new OO.ui.TextInputWidget( { placeholder: '作品名称' } ); var input_work_pub_date = new OO.ui.TextInputWidget( { placeholder: '发布日期(yyyy-MM-dd)' } ); var input_work_update_date = new OO.ui.TextInputWidget( { placeholder: '更新日期(可选)' } ); var input_work_platform = new OO.ui.TextInputWidget( { placeholder: '发布平台' } ); var input_work_url = new OO.ui.TextInputWidget( { placeholder: '作品链接' } ); var input_work_status = new OO.ui.TextInputWidget( { placeholder: '存档情况' } ); var input_work_note = new OO.ui.TextInputWidget( { placeholder: '备注(支持wikitext)' } ); var work_field = new OO.ui.FieldsetLayout( { label: '作品信息'+no, classes: [ 'container' ] } ); work_field.addItems( [ new OO.ui.FieldLayout( new OO.ui.Widget( { content: [ new OO.ui.HorizontalLayout( { items: [ new OO.ui.FieldLayout( input_work_name, { label: '作品名称:', align: 'top' }), new OO.ui.FieldLayout( input_work_pub_date, { label: '发布日期(yyyy-MM-dd):', align: 'top' }), new OO.ui.FieldLayout( input_work_update_date, { label: '更新日期(可选):', align: 'top' }), new OO.ui.FieldLayout( input_work_platform, { label: '发布平台:', align: 'top' }), new OO.ui.FieldLayout( input_work_url, { label: '作品链接:', align: 'top' }), new OO.ui.FieldLayout( input_work_status, { label: '存档情况:', align: 'top' }), new OO.ui.FieldLayout( input_work_note, { label: '备注(支持wikitext):', align: 'top' }) ] } ) ] } ) ) ] ); return { input_work_name: input_work_name, input_work_pub_date: input_work_pub_date, input_work_update_date: input_work_update_date, input_work_platform: input_work_platform, input_work_url: input_work_url, input_work_status: input_work_status, input_work_note: input_work_note, work_field: work_field }; } var work_list = []; btn_add.on('click', function () { new_work = getWork(work_list.length+1); work_list.push(new_work); fieldset_work.addItems( [ new_work.work_field ] ); }) btn_reduce.on('click', function () { last_work = work_list.pop(); fieldset_work.removeItems( [last_work.work_field] ); }) btn_code.on('click', function () { var writer_name = input_writer_name.getValue(); var windowManager = new OO.ui.WindowManager(); var messageDialog = new OO.ui.MessageDialog(); if (writer_name === null || writer_name === '') { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '请输入文手名!', title: '错误:' }); return; } var writer_tag = input_writer_tag.getValue(); var writer_platform = input_writer_platform.getValue(); result = '{{文手信息\n|文手名 = '+writer_name; result += '\n|文手标签 = '+writer_tag; result += '\n|文手活跃平台 = '+writer_platform; result += '\n}}\n== 发布文章 ==\n'; if (work_list.length > 0) { result += '{{文章信息框架|列表=\n'; for (var i = 0; i < work_list.length; i++) { var work = work_list[i]; console.log(work); var work_name = work.input_work_name.getValue(); var work_pub_date = work.input_work_pub_date.getValue(); var work_update_date = work.input_work_update_date.getValue(); var work_platform = work.input_work_platform.getValue(); var work_url = work.input_work_url.getValue(); var work_status = work.input_work_status.getValue(); var work_note = work.input_work_note.getValue(); work_str = '{{文章信息\n|作品名称 = '+work_name; work_str += '\n|发布日期 = '+work_pub_date; work_str += '\n|更新日期 = '+work_update_date; work_str += '\n|发布平台 = '+work_platform; work_str += '\n|作品链接 = '+work_url; work_str += '\n|存档情况 = '+work_status; work_str += '\n|备注 = '+work_note; work_str += '\n}}'; result += work_str + '\n'; } result += '}}\n'; } result += '\n==外部链接与注释==\n'; result_area.setValue(result); }); btn_submit.on('click', function () { var result = result_area.getValue() var windowManager = new OO.ui.WindowManager(); var messageDialog = new OO.ui.MessageDialog(); var writer_name = input_writer_name.getValue(); if (writer_name === null || writer_name === '') { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '请输入文手名!', title: '错误:' }); return; } if (result === null || result === '') { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '请先点击生成代码,再创建页面!', title: '创建页面:' + writer_name }); return; } var api = new mw.Api(); var isoverwrite = check_isoverwrite.isSelected(); api.postWithToken('csrf', { action: 'edit', title: writer_name, text: result, createonly: !isoverwrite, summary: '文手页面生成器 by 玲子' }).done(function (data) { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '页面创建成功!', title: '创建页面:' + writer_name }); }).fail(function (data) { $('body').append(windowManager.$element); windowManager.addWindows([messageDialog]); windowManager.openWindow(messageDialog, { message: '页面创建失败:' + JSON.stringify(data), title: '创建页面:' + writer_name }); }); }); // 添加到页面顶部 $('#mw-content-text').prepend( fieldset.$element ); });
返回
用户:玲子/common.js
。