MCPcopy Index your code
hub / github.com/XIU2/UserScript / registerMenuCommand

Function registerMenuCommand

Zhihu-Enhanced.user.js:76–104  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

74
75// 注册脚本菜单
76function registerMenuCommand() {
77 if (menu_ID.length > menu_ALL.length){ // 如果菜单ID数组多于菜单数组,说明不是首次添加菜单,需要卸载所有脚本菜单
78 for (let i=0;i<menu_ID.length;i++){
79 GM_unregisterMenuCommand(menu_ID[i]);
80 }
81 }
82 for (let i=0;i<menu_ALL.length;i++){ // 循环注册脚本菜单
83 menu_ALL[i][3] = GM_getValue(menu_ALL[i][0]);
84 if (menu_ALL[i][0] === 'menu_blockLowCount') {
85 menu_ID[i] = GM_registerMenuCommand(`#️⃣ ${menu_ALL[i][1]}`, function(){menu_setting('checkbox', menu_ALL[i][1], menu_ALL[i][2], true, [menu_ALL[i+1], menu_ALL[i+2], menu_ALL[i+3], menu_ALL[i+4], menu_ALL[i+5], menu_ALL[i+6]])});
86 //menu_ID[i] = GM_registerMenuCommand(`#️⃣ ${menu_ALL[i][1]}`, function(){customBlockLowCount(menu_ALL[i][0],'设置要屏蔽 低于多少赞同 的回答?\n(例如设置 50 则赞同数低于 50 的回答会被屏蔽\n(目前该功能适用于 首页信息流、问题页\n(点击 [确定] 修改后,后续加载的回答会立即生效,不影响当前已有\n(如不需要请留空并直接点击 [确定] 即可')});
87 //} else if (menu_ALL[i][0] === 'menu_blockLowCommentCount') {
88 //menu_ID[i] = GM_registerMenuCommand(`#️⃣ ${menu_ALL[i][1]}`, function(){customBlockLowCount(menu_ALL[i][0],'设置要屏蔽 低于多少评价 的回答?\n(例如设置 20 则评价数低于 20 的回答会被屏蔽\n(目前该功能适用于 首页信息流、问题页\n(点击 [确定] 修改后,后续加载的回答会立即生效,不影响当前已有\n(如不需要请留空并直接点击 [确定] 即可')});
89 } else if (menu_ALL[i][0] === 'menu_customBlockUsers') { // 只有 [屏蔽指定用户] 启用时,才注册菜单 [自定义屏蔽用户]
90 if (menu_value('menu_blockUsers')) menu_ID[i] = GM_registerMenuCommand(`#️⃣ ${menu_ALL[i][1]}`, function(){customBlockUsers()});
91 } else if (menu_ALL[i][0] === 'menu_blockKeywordsComment') { // 只有 [屏蔽指定关键词] 启用时,才注册菜单 [屏蔽关键词 - 评论区]
92 if (menu_value('menu_blockKeywords')) menu_ID[i] = GM_registerMenuCommand(`${menu_ALL[i][3]?'✅':'❌'} ${menu_ALL[i][1]}`, function(){menu_switch(`${menu_ALL[i][3]}`,`${menu_ALL[i][0]}`,`${menu_ALL[i][2]}`)});
93 } else if (menu_ALL[i][0] === 'menu_customBlockKeywords') { // 只有 [屏蔽指定关键词] 启用时,才注册菜单 [自定义屏蔽关键词]
94 if (menu_value('menu_blockKeywords')) menu_ID[i] = GM_registerMenuCommand(`#️⃣ ${menu_ALL[i][1]}`, function(){customBlockKeywords()});
95 } else if (menu_ALL[i][0] === 'menu_addSelectedBlockKeywords') { // 只有 [屏蔽指定关键词] 启用时,才注册菜单 [添加选中文字到屏蔽词]
96 if (menu_value('menu_blockKeywords')) menu_ID[i] = GM_registerMenuCommand(`#️⃣ ${menu_ALL[i][1]}`, function(){addSelectedKeywordToBlocklist()});
97 } else if (menu_ALL[i][0] === 'menu_blockType') { // 屏蔽指定类别 使用单独的设置界面
98 menu_ID[i] = GM_registerMenuCommand(`#️⃣ ${menu_ALL[i][1]}`, function(){menu_setting('checkbox', menu_ALL[i][1], menu_ALL[i][2], true, [menu_ALL[i+1], menu_ALL[i+2], menu_ALL[i+3], menu_ALL[i+4], menu_ALL[i+5], menu_ALL[i+6], menu_ALL[i+7], menu_ALL[i+8], menu_ALL[i+9]])});
99 } else if (menu_ALL[i][0].indexOf('menu_blockType') == -1 && menu_ALL[i][0] != 'menu_blockYanXuan' && menu_ALL[i][0].indexOf('menu_blockLow') == -1) { // 排除使用单独设置界面的 屏蔽指定类别 项
100 menu_ID[i] = GM_registerMenuCommand(`${menu_ALL[i][3]?'✅':'❌'} ${menu_ALL[i][1]}`, function(){menu_switch(`${menu_ALL[i][3]}`,`${menu_ALL[i][0]}`,`${menu_ALL[i][2]}`)});
101 }
102 }
103 menu_ID[menu_ID.length] = GM_registerMenuCommand('💬 反馈 & 建议', function () {window.GM_openInTab('https://github.com/XIU2/UserScript#xiu2userscript', {active: true,insert: true,setParent: true});window.GM_openInTab('https://greasyfork.org/zh-CN/scripts/419081/feedback', {active: true,insert: true,setParent: true});});
104}
105
106
107// 菜单开关

Callers 5

menu_switchFunction · 0.70
customBlockUsersFunction · 0.70
customBlockKeywordsFunction · 0.70

Calls 6

menu_settingFunction · 0.70
menu_valueFunction · 0.70
customBlockUsersFunction · 0.70
menu_switchFunction · 0.70
customBlockKeywordsFunction · 0.70

Tested by

no test coverage detected