Skip to content

油猴脚本添加PAT支持 #117

Description

@jjijack

📝 问题描述

预览帖子需要设置PAT,使用浏览器扩展时可以点击后在弹出页面进行设置,而Safari只能使用油猴脚本,在点击预览功能时弹出的提示依然是浏览器扩展的,且也没有地方进行设置。

询问AI后对油猴脚本做出更改,可以在油猴脚本页面设置PAT,从而正常使用预览功能。

🚀 脚本修改

// ==UserScript==部分添加:

// @grant        GM_getValue
// @grant        GM_setValue
// @grant        GM_registerMenuCommand

596行 const data = { ["options" /* Options */]: defaultOptions };改为:

      // 从油猴存储中读取之前保存的 PAT,如果不存在则返回 null
      const savedPat = GM_getValue('v2p_pat', null);

      const data = {
        ["options" /* Options */]: defaultOptions,
        // 如果 savedPat 存在,则在 data 对象中添加 api 属性
        ...(savedPat && { ["api" /* API */]: { pat: savedPat } })
      };

代码结尾添加:

GM_registerMenuCommand('设置 V2EX Polish PAT', () => {
    // 弹出输入框,第二个参数是输入框的默认值(会显示当前已保存的PAT)
    const pat = window.prompt('请输入您的 V2EX Personal Access Token (PAT)', GM_getValue('v2p_pat', ''));

    // 如果用户点击了“确定”而不是“取消”
    if (pat !== null) {
        GM_setValue('v2p_pat', pat); // 使用 GM_setValue 保存新的 PAT
        alert('PAT 已保存!请刷新页面以使新设置生效。');
    }
});

📷 截图或示例

修改前

Image

修改后

Image Image Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions