Giter VIP home page Giter VIP logo

dingtalk's Introduction

dingtalkRelease

钉钉桌面版,基于 electron 和钉钉网页版开发,支持 Windows、Linux 和 macOS

特别说明

由于钉钉已经下线了网页版,由于本项目基于网页版钉钉进行开发,所以本项目已经不可使用了。感谢大家的一路陪伴,因为你们的使用与支持,本项目才能发展壮大,也收获了很多 Star,帮助了我成长,谢谢大家。

社区相关文章

安装步骤

直接从GitHub releases页面下载最新版安装包即可

国内仓库与版本安装包

特别说明,提 issue 请尽量到GitHub,分别处理多个仓库实在精力有限

手动构建

# 安装依赖
# linux系统构建rpm请运行如下命令,否则可能会打包失败
# sudo apt-get -qq update
# sudo apt-get install --no-install-recommends -y gcc-multilib g++-multilib
# sudo apt-get install --no-install-recommends -y rpm

npm install

# 打包源码
npm run build

# 生成安装包
npm run pack

贡献指南

非常欢迎有兴趣的小伙伴一起来贡献力量,我写了一份很简单的贡献指南,希望能帮助你快速上手

截图效果

  1. 二维码登录页面 1.png
  2. 账号密码登录页面 2.png
  3. 登录后页面展示 3.png
  4. 邮箱打开效果 4.png
  5. 截图效果预览 5.png
  6. 系统设置界面 7.png
  7. 关于界面 8.png

功能说明

  1. 本版本是基于网页版钉钉和 electron 制作的
  2. 本版本与网页版的区别
    • 解决了网页版钉钉内容区域无法最大化的问题
    • 除了少数的功能未能够完全实现,其余的使用体验和 PC 版钉钉基本一致
  3. 支持屏幕截图,并且支持多显示器截图。截图快捷键为ctrl+alt+a
  4. 添加应用分类,Linux 系统分类
  5. 目前已经支持 Linux、macOS 和 Windows 三个平台

更新说明

  1. 支持屏幕截图,并且支持多显示器截图。截图快捷键为ctrl+alt+a,2017-10-23
  2. 支持网络错误页面提示,网络恢复自动跳转到登陆页面,2017-12-28
  3. 修改网络错误页面,支持快捷键设置,2018-02-07
  4. 更新截图功能,支持多显示器截图,目前确认支持 Ubuntu16,Ubuntu17 不支持,其他 Linux 系统未测试,其中使用了electron-screenshots模块来实现截图;修复设置页面不修改快捷键时,点击保存时提示错误的 BUG,2018-03-03
  5. 整个项目采用 webpack 打包,采用 electron-builder 来构建应用,分别构建生成三大平台安装包,2018-03-22
  6. 添加关于页面,文件下载进度支持,消息提示不弹出问题修复,修复 Linux 更新问题,2018-04-01
  7. 修复消息提示 node-notifier 图标显示问题,2018-04-07
  8. 修改消息提示太多不能关闭导致卡顿问题,支持 rpm 打包,升级截图工具,2018-05-30
  9. 修复视频点击之后页面跳转问题,支持一下 Mac,升级一下 electron,2018-08-13
  10. 支持自动更新检测设置 2018-03-09
  11. 支持截图开启和关闭功能 2018-04-27
  12. 支持新消息托盘图标闪烁开关设置 2018-07-04

TODO

  • 支持网络断开时显示错误页
  • 添加关于页面
  • 消息提示在 windows 上不出来的 BUG,或者替换为 node-notifier 模块
  • windows 弹出下载提示问题
  • 邮箱打不开问题

关于支持加密信息的说明

加密信息暂不支持,详情请看企业信息加密相关,也欢迎各位朋友能够去研究一下,帮助实现这个功能

关于 Linux 程序占用资源过高的问题

程序托盘闪烁功能可能会导致占用资源过高,所以新版本可关闭新消息托盘闪烁功能

求关注

下面是作者的公众号,里面会分享一些前端知识,有时也会写写随笔。欢迎关注支持!

公众号

打赏

如果你觉得作者的辛苦付出有帮助到你,你可以给作者买杯咖啡!🤣 打赏

字节跳动内推

打个广告,挣点内推奖金🤪,社招内推请点这里,校招内推请点这里。你也可以扫描下方二维码,或者在本仓库的issues中留言联系我!

社招内推 校招内推

dingtalk's People

Contributors

dependabot[bot] avatar eecjimmy avatar luttyyang avatar n0vad3v avatar nashaofu avatar warsfeng avatar ziqiangxu 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  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

dingtalk's Issues

日志和审批功能间接性无法使用

工作中,日志审批等几个项目之间多切换几次就会提示Error网络错误
2018-01-03 17-11-42

点击重试,有时候能连上,需要重新登陆,有时候进程就直接崩溃了。

网络错误和重试进程崩溃都很频繁,随便多点几下就会出现

系统是Ubuntu 16.04 64位

提示网络错误时终端没有任何输出,点击重试崩溃时的输出如下
2018-01-03 17-22-30

钉钉分类问题

在 Ubuntu 和 Linux mint 下,软件会被归为“其他”分类
而不是互联网 或者 办公

安装失败

[zzreal@Asgard dingtalk-1.5.2]$ npm install

[email protected] postinstall /home/zzreal/opt/dingtalk-1.5.2/node_modules/electron
node install.js

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/7zip-bin-win):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"win32","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/7zip-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 458 packages in 20.225s

install的时候有这些警告,忽略之后

[zzreal@Asgard linux-unpacked]$ ./dingtalk
./dingtalk: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

运行报错

多屏显示时, 截图存在的问题

  1. 无论焦点在那个屏幕上, 截图Screen都会集中到笔记本的屏幕上
  2. 快捷按下后, 截屏被激活,同时electron的调试页也会被激活
    web_ding_bug_screenshot

安装不了

17 error Linux 4.10.0-38-generic
18 error argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "build"
19 error node v4.2.6
20 error npm v3.5.2
21 error code ELIFECYCLE
22 error [email protected] build: node scripts/build.js
22 error Exit status 1
23 error Failed at the [email protected] build script 'node scripts/build.js'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the dingtalk package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error node scripts/build.js
23 error You can get information on how to open an issue for this project with:
23 error npm bugs dingtalk
23 error Or if that isn't available, you can get their info via:
23 error npm owner ls dingtalk
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

聊天窗口不能用右键菜单复制粘贴文字

直接在浏览器中打开网页版钉钉右键菜单,在几个位置出现不同菜单:

  1. 会话列表:点击右键会出现特殊菜单,比如删除或置顶会话之类的
  2. 聊天对话窗口选中文字或者文字输入区域,点击右键是可以选择复制粘贴的。
  3. 其他区域,点击右键会出现浏览器在网页中的默认右键菜单。

在你这个版本中,会话窗口选中文字或者在底部输入区域,右键点击无效果,只能通过快捷键来复制粘贴。

应用无法及时提醒新消息

在钉钉主程序窗体未激活(即钉钉的主窗体最小化状态)和被其他窗体遮挡掉时(即钉钉主窗体正常显示的情况下,切换到其他窗口并且在其他窗口最大化的情况),钉钉应用无法正常提示新消息。之前Windows下的客户端也存在这样的问题,有望能改善一下吗?

截图功能白屏

_950
按下ctrl + alt + a 之后出现图上状况,不能截图
系统:Ubuntu 14.04

窗口可以調整大小但不能拖放

比很多其他的版本好的方面就是可以自适应窗口大小调整,但是却没有边框,无法拖动。尝试自己去构建一个带边框的版本,但是 Downloading tmp-25056-0-electron-v1.6.10-linux-x64.zip 直接超时,无法下载。

笨方法实现Windows新消息闪烁功能

感谢作者的无私奉献,个人使用中发现Windows下无法闪烁图标,粗糙的实现一下。
1、借用更新badge的方法
main.js - setBadgeCount 方法最后添加
ipcRenderer.send('set-tray-flash', count)
用来发送新消息事件
2、dingtalk.js添加处理
this.$trayIntervalId
this.$trayLight
前面初始化一下

// 设置 tray图标新消息闪动
onSetTrayFlash () {
ipcMain.on('set-tray-flash', (e, count) => {
if (app) {
if (count > 0) {
if (this.$trayIntervalId) {
return
}
this.$trayIntervalId = setInterval(() => { // 每0.5秒闪烁一次
if (this.$trayLight) {
this.$tray.setImage(path.join(__dirname, '../icon/tray_blank.png'))
this.$trayLight = false
} else {
this.$tray.setImage(path.join(__dirname, '../icon/tray_newmsg.png'))
this.$trayLight = true
}
}, 500)
this.$tray.setToolTip('钉钉\n您有 ' + count + '条新消息')
} else {
clearInterval(this.$trayIntervalId)
this.$trayIntervalId = null
this.$tray.setToolTip('钉钉\n 没有未读消息')
this.$tray.setImage(path.join(__dirname, '../icon/tray_default.png'))
}
}
})
}
3、用到的图片如下,也可以自己制作,iconfont.cn上随便找图标

tray_blank
tray_default
tray_newmsg
tray_offline

邮箱问题

希望可以优化左下角钉邮、管理可以从默认浏览器打开。

状态栏图标

需要修复一下状态栏图标,在KDE 5.10.4上,状态栏图标如下所示:
image
最左边那个,看起来像是图标太大了,只显示了部分,希望提供各种大小的图标,然后在状态栏上做一下大小适配。

然后就是鼠标移动到状态栏上,显示的是 electron,这里应该显示dingtalk吧。

还有一个建议,希望状态栏能够左键单击打开钉钉窗口,而不是现实菜单

最后。。能不能添加记住密码/自动登录的功能?

多谢作者了~

Desktop Notifications 设置项不起作用

该选项关闭后仍然会发送新消息通知,暂时先用 dunst 把钉钉的通知忽略了。

OS: Arch Linux
Notification Daemon: notify-osd 或 dunst
Desktop: i3wm

截屏快捷键如何修改?

是否提供了修改截屏快捷键的功能?ctrl+alt+a 会和我的一些其他软件冲突
如果不方便修改,可否直接关闭此功能?

谢谢!

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.