Giter VIP home page Giter VIP logo

qiniu / kodo-browser Goto Github PK

View Code? Open in Web Editor NEW
172.0 15.0 41.0 91.18 MB

Kodo Browser 为七牛对象存储(Kodo)提供类似 Windows 资源管理器的功能。用户可以很方便的浏览文件,上传下载文件,支持断点续传等。

License: Apache License 2.0

Makefile 0.04% CSS 0.03% JavaScript 35.85% HTML 0.11% Dockerfile 0.12% EJS 0.03% TypeScript 62.83% SCSS 0.92% Batchfile 0.03% Shell 0.03%

kodo-browser's Introduction

KODO Browser

LICENSE Build Status GitHub release

KODO Browser 参考 OSS Browser 设计,提供类似 Windows 资源管理器功能。用户可以很方便的浏览文件,上传下载文件,支持断点续传等。

本工具使用开源框架 React + Electron 制作。

Electron 框架可以让你使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序。它是基于node.js 和 Chromium 开源项目。Electron 可以打包出跨平台的程序,运行在 Mac,Windows 和 Linux 上。

1. 功能介绍:

功能
  |-- 登录:支持 AccessKey 和 SecretKey 登录
  |-- Bucket 管理: 新建 bucket,删除 bucket。
       |-- 文件管理:目录和文件的增删改查, 复制, 文件预览等。
             |-- 文件传输任务管理: 上传下载,断点续传。
  |-- 地址栏功能(支持 kodo://bucket/object,浏览历史前进后退,保存书签)

2. 开发环境搭建

如果你要在此基础上开发,请按照以下步骤进行。

(1) 安装 Node.js v14 或 v16

官网: https://nodejs.org/

(2) 安装 cnpm

官网: https://cnpmjs.org/

cnpm 是 npm(node 包管理工具)的**镜像,可以提高下载依赖包的效率。

(3) 如果使用 Windows 系统,需要安装下列软件:

  • 需要安装 git 和 choco:

请自行下载安装。

然后安装相关的依赖包。

choco install python vcredist-all make

(4) 下载代码

git clone [email protected]:qiniu/kodo-browser.git

安装依赖:

make i

(5) 运行

make run  # 开发模式运行,cmd+option+i 可用打开调试界面,Windows 或 Linux 按 F12

开发模式下,会自动监听源码,如有修改,会自动 build 前端代码到 dist 目录。

(6) 打包

make build  # build 前端代码到 dist 目录
make win64  # 打包 win64 程序,可选: mac, dmg, linux64, linux32, win32, win64, all.

3. 代码结构

kodo-browser/
├── build          # 打包好的 应用程序
├── dist           # 打包好的 js 代码
├── gulpfile.js
├── package.json
├── src
│   ├── common     # 通用模块
│   ├── main       # electron 主进程与子进程
│   └── renderer   # 前端子进程
└── webpack        # 打包工具

4. 私有云配置

将配置文件放在 $HOME/.kodo-browser-v2/config.json(如果是 Windows 10,则位置是 C:\Users\<UserName>\.kodo-browser-v2\config.json)下,配置文件示例如下:

{
    "regions": [
        {
            "id": "cn-east-1",
            "endpoint": "https://s3-cn-east-1.qiniucs.com"
        },
        {
            "id": "cn-north-1",
            "endpoint": "https://s3-cn-north-1.qiniucs.com"
        },
        {
            "id": "cn-south-1",
            "endpoint": "https://s3-cn-south-1.qiniucs.com"
        },
        {
            "id": "us-north-1",
            "endpoint": "https://s3-us-north-1.qiniucs.com"
        },
        {
            "id": "ap-southeast-1",
            "endpoint": "https://s3-ap-southeast-1.qiniucs.com"
        }
    ],
    "uc_url": "https://uc.qbox.me"
}

可以修改配置文件示例中的 endpoint 来修改服务器地址。

5. OEM 定制

编辑 src/renderer/customize.ts 中的代码然后重新打包以定制部分 OEM 功能,目前支持的 OEM 定制有:

  • 禁止创建 Bucket
  • 禁止删除 Bucket
  • 禁止使用自有域名
  • 配置升级检测地址

6. 启动配置项

将在 Kodo Browser 启动时尝试读取此配置。如已定义该配置,则支持借此改变部分 Kodo Browser 初始行为; 如未定义,也不影响 Kodo Browser 正常启动。

launchConfig.json 文件位于 Kodo Browser 可执行程序同级目录:

  • Windows/Linux:kodo-browser/launchConfig.json
  • macOS:Kodo Browser.app/Contents/MacOS/launchConfig.json

launchConfig.json 的格式具体参见 launchConfig.schema.json。当前支持以下配置:

  • preferredEndpointType,登录默认服务端类型。可用值:public(公有云), private(私有云);
  • defaultPrivateEndpointConfig,私有云服务默认地址;
    • ucUrl,Bucket 管理服务地址,必须;
    • regions,区域信息,对于较新的私有云可选,详细请向管理员询问;
  • preferenceValidators,配置部分设置表单的校验;并发越大传输速度不一定越快,请慎重调整。
    • maxMultipartUploadPartSize,最大上传分片大小
    • maxMultipartUploadConcurrency,最大上传分片并发数
    • maxUploadJobConcurrency,最大上传任务并发数
    • maxDownloadJobConcurrency,最大下载任务并发数
  • disable,禁止某些功能;
    • nonOwnedDomain,非自有域名;
  • baseShareUrl,分享链接的基本 URL;

例如以下配置将修改默认登录私有云指定服务端:

{
  "$schema": "https://github.com/qiniu/kodo-browser/blob/v2.1.0/lauchConfig.schema.json",
  "preferredEndpointType": "private",
  "defaultPrivateEndpointConfig": {
    "ucUrl": "http://uc.example.com",
    "regions": [
      {
        "id": "cn-east-1",
        "label": "华东",
        "endpoint": "http://s3.example.com"
      }
    ]
  }
}

当前 $schema 字段本身对程序运行无影响,但建议书写,表明当前配置文件是参考哪一版本编写的。

7. 开源 LICENSE

Apache License 2.0

kodo-browser's People

Contributors

bachue avatar csxuejin avatar dependabot[bot] avatar jessie-shsh avatar lihsai0 avatar mcspring avatar zju-xjh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kodo-browser's Issues

建议增加切换账号的时候可以直接新增账号,而不用退出登录再添加。

客户端软件很好用,有一点不方便,就是切换账号的时候比如我想新增其他账号要先退出,建议增加个新增账号的按钮跳转。
另外我选择公有云登录,但我私有云文件也可以看到,这个跟登录的时候选择私有云有什么区别呢?

移动文件的时候可否加个选择窗口,直接移动到所选文件夹,而不用我自己找到文件夹再粘贴一次。

1.0.19版本文件夹归档不正确

使用1.0.19版本windows64位客户端下载文件,文件夹内的内容无法被正确放置到文件夹内而是在文件夹外部,文件夹无法正确被递归。
1.0.18版本无此问题。

Uploaded directory as a octet-stream

OS: macOS 10.15.4
Client version: Kodo browser 1.0.9
Expected Behavier: ignore directory and just upload files
Current Behavier: directories becomes files with 0 size and octet-stream filetype

能优化一下上传体验吗?

1个文件基本上就卡着不动,看起来速度3MB其实就几百kb,过半天进度条和上传大小/总大小才有变化,同时多传几个文件卡成狗

1.0.13修改文件上传报错

使用1.0.13操作脚本(文本)文件后,点击完成报下方错误

ERR_INVALID_ARG_TYPE: The "path" argument must be of type string. Received type object

image

[Feature]能不能加一个修改存储类型的功能?最好是批量修改

kodo-browser里面不支持修改存储类型,上传的时候也不能指定存储类型;

现在文件上传之后还得去web控制台修改存储类型,而且web版本的控制台里面还只能单个修改,

另外:生成外链的时候,web控制台已经设置了一个默认域名,kodo-browser里面还需要再选择(这个倒是小问题)

文件特别多的时候特别卡

在 Bucket 里文件特别多的时候(10000+文件),在进入 Bucket 的时候会一下把所有的文件都列出来,这样就会特别卡,所以能不能优化一下,不要一下把所有的文件都列出来啊

进入bucket之后加载时间太长

当bucket中已经有比较多文件时,使用kodo进入bucket之后的加载时间很长,在bucket中创建目录之后也一样需要等待很长的加载时间

希望能增加“同时下载数量选项”

希望能增加“同时下载数量选项”
现在是一个下载完了再下一个,如果我要下载2000个文件,要下一上午
而且切到后台等会儿就自己暂停了
还得盯着他
时不时得清理一下下载完的任务
不然有可能卡住不下了
希望能优化一下

为什么不支持linux?

跟阿里云的oss客户端一模一样,但是阿里支持linux客户端,希望官方出linux gui版本

建议新增一个上传文件夹的功能

想文件下所有的文件,并且是和他的结构一致的。要按照本地目录结构一个一个创建目录结构,还有一个文件一个文件的上传,很老火的。

make i 提示需要 node 版本 >=12.0.0

yarn install v1.22.10
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
error [email protected]: The engine "node" is incompatible with this module. Expected version ">=12.0.0". Got "11.15.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

但是安装 node 12.22.3, 也是无法 make. 所以Node 要用什么版本?

linux版包里的可执行文件是哪个

Kodo Browser这个文件是个动态链接库,怎么启动啊

➜  Kodo file Kodo\ Browser
Kodo Browser: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=4ce0f63b4da0609af294d83e16f143fc68a65f1c, stripped

1.0.19.2 运行出错 - Squirrel (no such file)

机器为MacBook Pro (16-inch, 2019)
操作系统为macOS Monterey 12.4
如下为具体报错详情

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Kodo Browser [40412]
Path:                  /private/var/folders/*/Kodo Browser.app/Contents/MacOS/Kodo Browser
Identifier:            com.electron.kodo-browser
Version:               1.0.19.2 (1.0.19.2)
Code Type:             X86-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2023-02-28 12:18:23.6301 +0800
OS Version:            macOS 12.4 (21F79)
Report Version:        12
Bridge OS Version:     6.5 (19P5071)
Anonymous UUID:        A63B8ADB-48F1-CF9C-6B34-273C41202B47

Sleep/Wake UUID:       5932F124-7669-4D12-AEB0-CBF3A72F5CE1

Time Awake Since Boot: 2100000 seconds
Time Since Wake:       98210 seconds

System Integrity Protection: disabled

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: @rpath/Squirrel.framework/Squirrel
Referenced from: /private/var/folders/*/Kodo Browser.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework
Reason: tried: '/private/var/folders/f1/dwrlvw715czfxvm8mxqc_njc0000gn/T/AppTranslocation/EF462599-9B60-4620-9766-07E484F43F4C/d/Kodo Browser.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/Squirrel.framework/Squirrel' (no such file), '/private/var/folders/f1/dwrlvw715czfxvm8mxqc_njc0000gn/T/AppTranslocation/EF462599-9B60-4620-9766-07E484F43F4C/d/Kodo Browser.app/Contents/MacOS/../Frameworks/Squirrel.framework/Squirrel' (no such file), '/private/var/folders/f1/dwrlvw715czfxvm8mxqc_njc0000gn/T/AppTranslocation/EF462599-9B60-4620-9766-07E484F43F4C/d/Kodo Browser.app/Contents/MacOS/../Frameworks/Squirrel.framework/Squirrel' (no such file), '/Library/Frameworks/Squirrel.framework/Squirrel' (no such file), '
(terminated at launch; ignore backtrace)

Thread 0 Crashed:
0   dyld                          	       0x1053eb0be __abort_with_payload + 10
1   dyld                          	       0x1054011d2 abort_with_payload_wrapper_internal + 80
2   dyld                          	       0x105401204 abort_with_payload + 9
3   dyld                          	       0x1053af76f dyld4::halt(char const*) + 375
4   dyld                          	       0x1053ab5a5 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 3995
5   dyld                          	       0x1053aa4d4 start + 388


Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000002000209  rbx: 0x0000000000000000  rcx: 0x00007ff7bdffc3c8  rdx: 0x00007ff7bdffc830
  rdi: 0x0000000000000006  rsi: 0x0000000000000001  rbp: 0x00007ff7bdffc410  rsp: 0x00007ff7bdffc3c8
   r8: 0x00007ff7bdffc430   r9: 0x0000000000000000  r10: 0x0000000000000108  r11: 0x0000000000000246
  r12: 0x0000000000000108  r13: 0x00007ff7bdffc830  r14: 0x0000000000000001  r15: 0x0000000000000006
  rip: 0x00000001053eb0be  rfl: 0x0000000000000246  cr2: 0x0000000101f07008
  
Logical CPU:     0
Error Code:      0x02000209 
Trap Number:     133


Binary Images:
       0x1053a5000 -        0x105410fff dyld (*) <b70ce1ec-b902-3852-8268-05de00bfa8d5> /usr/lib/dyld

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 3126
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=265.4M resident=0K(0%) swapped_out_or_unallocated=265.4M(100%)
Writable regions: Total=10.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=10.1M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
ObjC additional data                15K        1 
STACK GUARD                       56.0M        1 
Stack                             8192K        1 
VM_ALLOCATE                         12K        3 
__DATA                            7502K       40 
__DATA_CONST                       288K       33 
__DATA_DIRTY                        58K       22 
__LINKEDIT                       136.3M        5 
__TEXT                           129.1M       44 
dyld private memory               1024K        1 
===========                     =======  ======= 
TOTAL                            338.1M      151 



-----------
Full Report
-----------

{"app_name":"Kodo Browser","timestamp":"2023-02-28 12:18:23.00 +0800","app_version":"1.0.19.2","slice_uuid":"4c4c443c-5555-3144-a15e-152f53a09cb4","build_version":"1.0.19.2","platform":1,"bundleID":"com.electron.kodo-browser","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.4 (21F79)","incident_id":"9C1513C4-7B08-4231-92D9-01172C57C921","name":"Kodo Browser"}
{
  "uptime" : 2100000,
  "procLaunch" : "2023-02-28 12:18:18.3509 +0800",
  "procRole" : "Background",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro16,1",
  "procStartAbsTime" : 2178948789032735,
  "coalitionID" : 220842,
  "osVersion" : {
    "train" : "macOS 12.4",
    "build" : "21F79",
    "releaseType" : "User"
  },
  "captureTime" : "2023-02-28 12:18:23.6301 +0800",
  "incident" : "9C1513C4-7B08-4231-92D9-01172C57C921",
  "bug_type" : "309",
  "pid" : 40412,
  "procExitAbsTime" : 2178954067595758,
  "cpuType" : "X86-64",
  "procName" : "Kodo Browser",
  "procPath" : "\/private\/var\/folders\/*\/Kodo Browser.app\/Contents\/MacOS\/Kodo Browser",
  "bundleInfo" : {"CFBundleShortVersionString":"1.0.19.2","CFBundleVersion":"1.0.19.2","CFBundleIdentifier":"com.electron.kodo-browser"},
  "storeInfo" : {"deviceIdentifierForVendor":"85D98AA1-6A79-5326-88C0-F60338A188E4","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "com.electron.kodo-browser",
  "crashReporterKey" : "A63B8ADB-48F1-CF9C-6B34-273C41202B47",
  "wakeTime" : 98210,
  "bridgeVersion" : {"build":"19P5071","train":"6.5"},
  "sleepWakeUUID" : "5932F124-7669-4D12-AEB0-CBF3A72F5CE1",
  "sip" : "disabled",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "termination" : {"code":1,"flags":518,"namespace":"DYLD","indicator":"Library missing","details":["(terminated at launch; ignore backtrace)"],"reasons":["Library not loaded: @rpath\/Squirrel.framework\/Squirrel","Referenced from: \/private\/var\/folders\/*\/Kodo Browser.app\/Contents\/Frameworks\/Electron Framework.framework\/Versions\/A\/Electron Framework","Reason: tried: '\/private\/var\/folders\/f1\/dwrlvw715czfxvm8mxqc_njc0000gn\/T\/AppTranslocation\/EF462599-9B60-4620-9766-07E484F43F4C\/d\/Kodo Browser.app\/Contents\/Frameworks\/Electron Framework.framework\/Versions\/A\/Libraries\/Squirrel.framework\/Squirrel' (no such file), '\/private\/var\/folders\/f1\/dwrlvw715czfxvm8mxqc_njc0000gn\/T\/AppTranslocation\/EF462599-9B60-4620-9766-07E484F43F4C\/d\/Kodo Browser.app\/Contents\/MacOS\/..\/Frameworks\/Squirrel.framework\/Squirrel' (no such file), '\/private\/var\/folders\/f1\/dwrlvw715czfxvm8mxqc_njc0000gn\/T\/AppTranslocation\/EF462599-9B60-4620-9766-07E484F43F4C\/d\/Kodo Browser.app\/Contents\/MacOS\/..\/Frameworks\/Squirrel.framework\/Squirrel' (no such file), '\/Library\/Frameworks\/Squirrel.framework\/Squirrel' (no such file), '"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":3126},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":24953463,"threadState":{"r13":{"value":140702021306416},"rax":{"value":33554953},"rflags":{"value":582},"cpu":{"value":0},"r14":{"value":1},"rsi":{"value":1},"r8":{"value":140702021305392},"cr2":{"value":4327501832},"rdx":{"value":140702021306416},"r10":{"value":264},"r9":{"value":0},"r15":{"value":6},"rbx":{"value":0},"trap":{"value":133},"err":{"value":33554953},"r11":{"value":582},"rip":{"value":4382961854,"matchesCrashFrame":1},"rbp":{"value":140702021305360},"rsp":{"value":140702021305288},"r12":{"value":264},"rcx":{"value":140702021305288},"flavor":"x86_THREAD_STATE","rdi":{"value":6}},"frames":[{"imageOffset":286910,"symbol":"__abort_with_payload","symbolLocation":10,"imageIndex":0},{"imageOffset":377298,"symbol":"abort_with_payload_wrapper_internal","symbolLocation":80,"imageIndex":0},{"imageOffset":377348,"symbol":"abort_with_payload","symbolLocation":9,"imageIndex":0},{"imageOffset":42863,"symbol":"dyld4::halt(char const*)","symbolLocation":375,"imageIndex":0},{"imageOffset":26021,"symbol":"dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)","symbolLocation":3995,"imageIndex":0},{"imageOffset":21716,"symbol":"start","symbolLocation":388,"imageIndex":0}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4382674944,
    "size" : 442368,
    "uuid" : "b70ce1ec-b902-3852-8268-05de00bfa8d5",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  }
],
  "sharedCache" : {
  "base" : 140703540248576,
  "size" : 15220686848,
  "uuid" : "398acfb4-57f6-31e0-bc82-e9959e5c92ce"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=265.4M resident=0K(0%) swapped_out_or_unallocated=265.4M(100%)\nWritable regions: Total=10.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=10.1M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nObjC additional data                15K        1 \nSTACK GUARD                       56.0M        1 \nStack                             8192K        1 \nVM_ALLOCATE                         12K        3 \n__DATA                            7502K       40 \n__DATA_CONST                       288K       33 \n__DATA_DIRTY                        58K       22 \n__LINKEDIT                       136.3M        5 \n__TEXT                           129.1M       44 \ndyld private memory               1024K        1 \n===========                     =======  ======= \nTOTAL                            338.1M      151 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "60356660bbe37970735c5624",
      "factorPackIds" : {

      },
      "deploymentId" : 240000027
    },
    {
      "rolloutId" : "5fb4245a1bbfe8005e33a1e1",
      "factorPackIds" : {

      },
      "deploymentId" : 240000021
    }
  ],
  "experiments" : [

  ]
}
}

Model: MacBookPro16,1, BootROM 1731.120.10.0.0 (iBridge: 19.16.15071.0.0,0), 6 processors, 6-Core Intel Core i7, 2.6 GHz, 16 GB, SMC 
Graphics: Intel UHD Graphics 630, Intel UHD Graphics 630, Built-In
Graphics: AMD Radeon Pro 5300M, AMD Radeon Pro 5300M, PCIe, 4 GB
Display: Color LCD, 3072 x 1920 Retina, MirrorOff, Online
Display: P27h-20, 2560 x 1440 (QHD/WQHD - Wide Quad High Definition), Main, MirrorOff, Online
Memory Module: BANK 0/ChannelA-DIMM0, 8 GB, DDR4, 2667 MHz, Micron, 8ATF1G64HZ-2G6E1
Memory Module: BANK 2/ChannelB-DIMM0, 8 GB, DDR4, 2667 MHz, Micron, 8ATF1G64HZ-2G6E1
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x7BF), wl0: Jul 12 2021 18:02:56 version 9.30.464.0.32.5.76 FWID 01-c081cfed
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: ThinkVision屏幕, Ethernet, en14
Network Service: Dell DA310, Ethernet, en13
USB Device: 2-Port USB 3.1 Hub
USB Device: 4-Port USB 3.1 Hub
USB Device: USB 10/100/1000 LAN
USB Device: USB31Bus
USB Device: 3-Port USB 2.1 Hub
USB Device: 4-Port USB 2.1 Hub
USB Device: G502 HERO Gaming Mouse
USB Device: Varmilo Keyboard
USB Device: T2Bus
USB Device: composite_device
USB Device: Touch Bar Backlight
USB Device: Touch Bar Display
USB Device: Apple Internal Keyboard / Trackpad
USB Device: Headset
USB Device: Ambient Light Sensor
USB Device: FaceTime HD Camera (Built-in)
USB Device: Apple T2 Controller
Thunderbolt Bus: MacBook Pro, Apple Inc., 63.5
Thunderbolt Bus: MacBook Pro, Apple Inc., 63.5

复制链接

希望可以增加复制文件链接的功能。

全局监听快捷键打开devtools?

v1.0.10
只要打开kodo,即使当前窗口不是kodo,按option + command + i kodo也会打开devtools.并且我当前窗口chrome没有打开devtools
全局监听快捷键了?好奇怪,可以修复一下吗?

希望增加图片在线查看功能

有个按钮全局缓存记录是否直接展示图片

开启状态
显示图片类似window文件管理中的平铺效果显示中图或者大图

【Bug】上传时出现黄色区域,无法上传

上传时,按如下步骤复现Bug:

  1. 列表向下滑动
  2. 拖动需要上传的文件进入Kodo
  3. 在Kodo中移动
  4. 将需要上传的文件移出Kodo,放弃上传

效果请到如下地址查看:

https://kan.xiaoyulive.top/bug/GIF.gif

经此操作,黄色区域会一直停留显示到Kodo之中,无法去除,黄色区域无法响应正常操作,只能响应文件拖拽上传。

再次拖动其他需要上传的文件到非黄色区域,无响应,不能上传。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.