• 插件发布
  • [插件][快捷命令 3.0.1] 全新版本,大量更新

zhyipeng

eple
我来排查下,是通过新建命令进去后无法保存,还是通过快捷命令进入配置页面后,点击新建无法保存,还是两者都不行?

  • eple 回复了此帖
    fofolee 将标题更改为 「[插件][快捷命令 2.3.2] 新增快捷面板」。
      18 天 后

      @fofolee
      hi 大佬,我想把复制的文件,比如.obj扩展名的文件,复制到指定文件夹内,比如c:\temp,这样的快捷命令该怎么写呢?

      提个Bug:

      通过文件导入所有命令后(比如bilibili命令,图标值为Data URI格式字符串)

      插件页面的命令图标可以正常显示:
      image-20210326161647664

      但是主输入框的命令图标没有更新:
      image-20210326161609959

      尝试重启和注销都不能更新,修改图标为网络地址后点击保存后可以正常显示。

      自动粘贴执行的问题:

      5秒之内复制的剪切板内容,会自动粘贴到快捷命令的子输入框,但是并没有自动处理,还需要手动输入一次回车才能执行命令。

      官方开发的网页快开插件没有这个问题,快捷命令插件能不能自动处理呢?比如设置Alt+G为全局快捷键执行谷歌搜索,5秒之内有复制的内容,则直接前往谷歌搜索该文本。

      image-20210326162250915

        eple
        我做了一个通用版本放到分享中心了,你可以参考下

        • eple 回复了此帖

          Hi辰冢 图标问题应该不是data url引起的,因为改为网络地址实际上也会先转成data url再保存,目前我没遇到过类似问题,可以的话把有问题的导出文件发给我邮箱fofolee@qq.com,我调试一下
          自动粘贴已在更新里加上

          Hi辰冢
          好吧,我看了下,确实是data URL 的问题,你这个是icon格式的

          data:image/x-icon;base64

          utools 的图标只支持png 格式的,所以在快捷命令里也会把非 png 格式的logo转成 png格式的
          所以正常情况下应该是导不出来这个格式的 logo(也可能是之前哪个版本的 bug?)
          你这个是什么时候导出来的?这个格式的图标多吗,如果不多手动把这个有问题的改一下

          fofolee 我有几十个网页快开插件的站点数据需要迁移到快捷命令,写了个python脚本,先请求到 https://search.bilibili.com/favicon.ico 的二进制数据后,根据响应头mime将它转换为ico格式的data url来填入快捷命令的icon值。
          刚看了你设置图标-使用网络图片功能的源码,下载图片完毕后还调用了pictureCompress方法将图片压缩为80x80的png图片,刚加了格式转换的python代码后显示就没问题了,感谢回复!👍

            fofolee

            原问题:
            我想把复制的文件,比如.obj扩展名的文件,复制到指定文件夹内,比如c:\temp,这样的快捷命令该怎么写呢?

            谢谢大佬,已经看到了,复制完后我还想打开文件夹,不懂node.js, 百度了下,搜到了下面这个命令,是可以运行的,这个代码像是开了子进程,害怕没处理好相关资源的释放,大佬有其它推荐的写法吗?

            var exec = require('child_process').exec;
            exec(`explorer.exe ${dest}`)

            eple 这样写没问题的,其实,快捷命令内置了一些功能


            8 天 后

            fofolee quickcommand环境 好像是 node 的? 我没接触过node 不太懂。可以用html js代码写一个ajax请求接口数据的方法嘛,我这边一直不行。。用javascript环境也报错。。代码是这样的
            // 第一步:创建一个xhr对象
            let xhr = null
            if (window.XMLHttpRequest) {
              //Firefox、 Opera、 IE7 和其它浏览器使用本地 JavaScript 对象
            xhr = new XMLHttpRequest();
            } else {
              //IE 5 和 IE 6 使用 ActiveX 控件
            var request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            // 第二步:打开请求地址,初始化数据
            xhr.open("GET", "https://**********", true);
            // 第三步:发送请求数据
            xhr.send()
            // 第四步:监听回调函数状态
            xhr.onreadystatechange = function(){
              if(xhr.readyState === 4 && xhr.status === 200){
              // 收到服务器返回的应答结果
              alert(xhr.responseText)
            }
            }


            我来试试 quickcommand下只开放了部分web api,对于网络请求提供了axios,是ajax的封装,使用方法可以百度一下

            闽ICP备18007474号