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

控制台调试库bigonion-kit (dev)

[复制链接]
  • TA的每日心情
    开心
    昨天 01:19
  • 签到天数: 49 天

    [LV.5]常住居民I

    15

    主题

    79

    帖子

    162

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

    积分
    162

    油中2周年新人报道荣誉开发者国庆纪念章

    发表于 2023-1-24 00:15:46 | 显示全部楼层 | 阅读模式

    本帖最后由 bigonion 于 2023-1-24 00:38 编辑

    Web调试库bigonion-kit (dev)

    起因

    最近发现自己写脚本重复的函数比较多,捉摸着写一个自己的Npm包,来封装这些常用的库,并适当的暴露到全局变量当中
    另外为了解决原生cookie操作比较困难,console.log,document.getElementById写起来比较费劲,没有直观的delay延迟函数等这些痛点问题,提供了

    • log
    • findId
    • findClass
    • setCookie
    • getCookie
    • sleep

    等等这些非常简单,但是一时间想在控制台调试(比如kit.addStyle就对应了GM_addStyle),却又不太好写的函数,也不太愿意导入类似与Jquery这些非常臃肿的包,bigonion-kit 就很好解决了这些痛点,可以帮助你更方便的在控制台调试

    快速上手

    // @require https://cdn.jsdelivr.net/npm/bigonion-kit/umd/umd-kit.min.js
    //油猴(或其他)导入后控制台直接输入以下代码,快速体验
    kit.addStyle(`body{background:pink}`)//快速增加style
    
    sleep(2000).then(()=>{log("Delaying now is so easy!")})//delay函数
    
    kit.sound2Word()//快速语言转换

    Onion的dev-kit

    npm链接

    npm/bigonion-kit

    下载(Download)

    npm i bigonion-kit

    简介(Introduction)

    本NPM包提供了This NPM package provides

    • moveIt
    • findId
    • findClass
    • setCookie
    • getCookie
    • log
    • sleep
    • addStyle
    • removeAddedStyle
    • sound2Word
    • getUUID
    • ajax
    • isFocus
      常用方法(未完待续...)

    支持umd,web请使用umd来导入(Support umd, please use umd to import web)

    eg:

    <script src="https://cdn.jsdelivr.net/npm/bigonion-kit/umd/umd-kit.min.js"></script>

    ES6导入

    <script type="module">
        import kit from "https://cdn.jsdelivr.net/npm/bigonion-kit/index.min.mjs";
        window.kit = kit;
        window.moveIt = kit.moveIt;
        window.findId = kit.findId;
        window.findClass = kit.findClass;
        window.setCookie = kit.setCookie;
        window.getCookie = kit.getCookie;
        window.log = kit.log;
        window.sleep = kit.sleep;
        window.version=kit.version;
    </script>

    Nodejs

    使用.mjs扩展来支持import

    import kit from 'bigonion-kit/index.mjs'

    或commonJS规范

    const kit = require('bigonion-kit/umd/umd-kit.js')

    来快速导入

    函数详情 (Function details)

    web已经挂载全局变量,可以直接输入kit来查看已有的函数
    也可以直接控制台输入

    log("你好")

    来使用

    sleep

    Eg:

    /**
     * fast pause some time, just like delay function
     * @param {int} time
     * @Return {Promise}
     * @public
     */
    
    sleep(3000).then(()=>{log("你已经成功导入devKit")})

    log

    Eg:

    /**
     * fast log sth...
     * @param {string} a
     * @public
     */
    
    log("Nihao")

    findId

    Eg:

    /**
     * fast find Element by Id
     * @param {string} id
     * @return {Object}
     * @public
     */
    
    findId("id")

    findClass

    Eg:

    /**
     * fast find Element by className
     * @param {string} className
     * @return {Array}
     * @public
     */
    
    findClass("className")

    moveIt

    Eg:

    /**
     * fast move Sth by holding on "controlEle" to move "movedEle"
     * @param {Object} controlEle
     * @param {Object} movedEle
     * @public
     */
    controlEle=findId("controlEle")
    movedEle=findId("movedEle")
    moveIt(controlEle,movedEle)

    setCookie

    Eg:

    /**
     * fast set cookie by Native function
     * @param {string} cname
     * @param {Any} cvalue
     * @param {int} exdays {days}
     * @public
     */
    
    setCookie("cookieName","cookieValue", 30)

    getCookie

    Eg:

    /**
     * fast get cookie value
     * @param {string} cname
     * @return {string} cvalue
     * @public
     */
    
    getCookie("cookieName")

    版本更新日志(Version update log)

    v0.4.x demo Verv0.5.3 增加了esm和 umd模块
    v0.7.4 增加了isFocus、ajax、setClipboard、getUUID

    开源协议(Open source agreement)

    MIT

    作者(Author)

    bigonion

    nameSpace: bigonion.cnEmail: [email]bigonion@bigonion.cn[/email] && [email]olderonion@gmail.com[/email]

    该用户从未签到

    0

    主题

    26

    帖子

    33

    积分

    助理工程师

    Rank: 1

    积分
    33
    发表于 2023-1-24 12:32:52 | 显示全部楼层
    没有类型提示吗?
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 01:19
  • 签到天数: 49 天

    [LV.5]常住居民I

    15

    主题

    79

    帖子

    162

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

    积分
    162

    油中2周年新人报道荣誉开发者国庆纪念章

    发表于 2023-1-24 16:36:48 | 显示全部楼层
    shabby 发表于 2023-1-24 12:32
    没有类型提示吗?

    函数详情写了类型,但是你的意思是控制台提示类型吗?
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    26

    帖子

    33

    积分

    助理工程师

    Rank: 1

    积分
    33
    发表于 2023-1-25 10:42:38 | 显示全部楼层

    回帖奖励 +2 油猫币

    bigonion 发表于 2023-1-24 16:36
    函数详情写了类型,但是你的意思是控制台提示类型吗?

    呃呃,我的意思是通过 pnpm 安装然后在 vscode 里使用的时候的 类型提示
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 01:19
  • 签到天数: 49 天

    [LV.5]常住居民I

    15

    主题

    79

    帖子

    162

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

    积分
    162

    油中2周年新人报道荣誉开发者国庆纪念章

    发表于 2023-1-25 16:55:29 | 显示全部楼层
    shabby 发表于 2023-1-25 10:42
    呃呃,我的意思是通过 pnpm 安装然后在 vscode 里使用的时候的 类型提示

    这个怎么实现呢
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 23:59
  • 签到天数: 170 天

    [LV.7]常住居民III

    470

    主题

    4281

    帖子

    4322

    积分

    管理员

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

    Rank: 10Rank: 10Rank: 10

    积分
    4322

    喜迎中秋国庆纪念章荣誉开发者管理员油中2周年

    发表于 2023-1-25 20:05:58 | 显示全部楼层

    packjson里声明types类型库
    或者独立一个编译一个dts发布到ts的tpyes库里
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 136 天

    [LV.7]常住居民III

    216

    主题

    2815

    帖子

    2821

    积分

    管理员

    Rank: 10Rank: 10Rank: 10

    积分
    2821

    荣誉开发者喜迎中秋热心会员活跃会员突出贡献三好学生管理员油中2周年

    发表于 2023-1-25 21:51:24 | 显示全部楼层
    李恒道 发表于 2023-1-25 20:05
    packjson里声明types类型库
    或者独立一个编译一个dts发布到ts的tpyes库里

    话说jsdoc可以么?

    不写ts,dts好麻烦啊
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 23:59
  • 签到天数: 170 天

    [LV.7]常住居民III

    470

    主题

    4281

    帖子

    4322

    积分

    管理员

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

    Rank: 10Rank: 10Rank: 10

    积分
    4322

    喜迎中秋国庆纪念章荣誉开发者管理员油中2周年

    发表于 2023-1-25 22:06:04 | 显示全部楼层
    王一之 发表于 2023-1-25 21:51
    话说jsdoc可以么?

    不写ts,dts好麻烦啊

    ts的资料已经很少了
    jsdoc的资料更少,而且类型支持能力也不是dts灵活
    写jsdoc几乎可以说是自己为难自己...
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 01:19
  • 签到天数: 49 天

    [LV.5]常住居民I

    15

    主题

    79

    帖子

    162

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

    积分
    162

    油中2周年新人报道荣誉开发者国庆纪念章

    发表于 2023-1-26 16:33:21 | 显示全部楼层
    李恒道 发表于 2023-1-25 22:06
    ts的资料已经很少了
    jsdoc的资料更少,而且类型支持能力也不是dts灵活
    写jsdoc几乎可以说是自己为难自己. ...

    最近去看看ts
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 23:59
  • 签到天数: 170 天

    [LV.7]常住居民III

    470

    主题

    4281

    帖子

    4322

    积分

    管理员

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

    Rank: 10Rank: 10Rank: 10

    积分
    4322

    喜迎中秋国庆纪念章荣誉开发者管理员油中2周年

    发表于 2023-1-26 16:35:03 | 显示全部楼层

    哥哥加油~
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    发表回复

    本版积分规则

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