上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

想优化油猴API声明,哥哥们有没有啥好想法

[复制链接]
  • TA的每日心情
    慵懒
    2022-6-8 21:09
  • 签到天数: 48 天

    [LV.5]常住居民I

    135

    主题

    1798

    帖子

    1972

    积分

    管理员

    Rank: 10Rank: 10Rank: 10

    积分
    1972

    猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

    发表于 2021-10-9 10:50:32 | 显示全部楼层 | 阅读模式

    油猴的诞生太老了,浏览器前端技术快速发展,Promise/async/await同步技术,而油猴管理器还是用着那老一套的异步API,而且参数十分混论,想写一个三方库,能够让脚本@require,优化编写流程

    每次写都要写一大长串,例如ajax请求:

    GM_xmlhttpRequest({
      method: 'GET',
      url: 'https://api.bilibili.com/x/web-interface/nav',
      onload: function (xhr) {
        // ...
      }
    });

    不说写起来很不方便,看起来也很不舒服,如果修改为同步的则会好很多,另外想对此参数进行优化封装,封装成axios的形式。

    try {
        let resp = await gm.ajax("url", {
            method: "get",
            data: "",
        });
        let resp = await gm.get("url", {
            header: {
                xxx: xxx
            }
        });
    } catch (e) {
        // 错误处理
    }
    console.log(resp.response,resp.headers);

    另外通知的api想封装成这样

    // resp一个对象
    let resp=gm.notification("标题","内容",{
        image:'xxx',
    
    })
    // 更新
    resp.update('xxx','xxx',{
        image:'xxx'
    });
    // 关闭
    resp.close();

    使用@require来使用,@definition来自动提示,方便兼容不同的油猴管理器,也不破坏原来的方法。

    不过也不知道这是不是一个伪需求。。。。毕竟油猴的这一套都不知道用了多久了。。。。

    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
  • TA的每日心情
    擦汗
    2022-6-15 17:13
  • 签到天数: 2 天

    [LV.1]初来乍到

    3

    主题

    64

    帖子

    96

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

    积分
    96

    突出贡献猫咪币纪念章中秋纪念章国庆纪念章三好学生活跃会员热心会员宣传达人

    发表于 2021-10-9 10:52:43 | 显示全部楼层
    我觉得行
    回复

    使用道具 举报

  • TA的每日心情

    2022-6-4 20:51
  • 签到天数: 32 天

    [LV.5]常住居民I

    321

    主题

    2838

    帖子

    2846

    积分

    荣誉开发者

    非物质文化遗产社会摇传承人

    Rank: 10Rank: 10Rank: 10

    积分
    2846

    猫咪币纪念章

    发表于 2021-10-9 10:57:34 | 显示全部楼层
    如果require是局域网的话可以无缓存
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 116 天

    [LV.6]常住居民II

    25

    主题

    593

    帖子

    5699

    积分

    荣誉开发者

    精通各种语言的HelloWord!

    Rank: 10Rank: 10Rank: 10

    积分
    5699

    猫咪币纪念章活跃会员三好学生热心会员中秋纪念章国庆纪念章

    发表于 2021-10-9 11:18:44 | 显示全部楼层
    封装成axios的形式,行!
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    10

    主题

    347

    帖子

    427

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

    积分
    427

    活跃会员热心会员突出贡献三好学生猫咪币纪念章中秋纪念章国庆纪念章

    发表于 2021-10-9 12:23:27 | 显示全部楼层
    反正我写GM_xhr都是自己动手封装的,原来的实在太丑陋。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-6-12 21:47
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    9

    主题

    219

    帖子

    168

    积分

    中级工程师

    Rank: 5Rank: 5

    积分
    168

    中秋纪念章猫咪币纪念章活跃会员热心会员三好学生

    发表于 2021-10-9 13:13:23 | 显示全部楼层
    这将是革命性的和里程碑性的进步,这将制定国内脚本编写第一个规范。
    脚本编写应遵循极简风格,适应多种环境,规范化,流水化,可维护性等特性
    这取决于大佬们的思想高度,请大佬们立刻着手编写和制定
    武统台湾,势在必行
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-6-8 21:09
  • 签到天数: 48 天

    [LV.5]常住居民I

    135

    主题

    1798

    帖子

    1972

    积分

    管理员

    Rank: 10Rank: 10Rank: 10

    积分
    1972

    猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

    发表于 2021-10-9 14:39:15 | 显示全部楼层
    脚本体验师001 发表于 2021-10-9 13:13
    这将是革命性的和里程碑性的进步,这将制定国内脚本编写第一个规范。
    脚本编写应遵循极简风格,适应多种环 ...

    ~$AFRG0N45OWX37KLRTL3.jpg 不至于,发出来主要想和大佬们讨论怎么设计这个api。

    后面应该还会搞脚手架
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表