GithubHelp home page GithubHelp logo

trazyn / wewechat Goto Github PK

View Code? Open in Web Editor NEW
5.7K 184.0 734.0 13.3 MB

💬 Unofficial WeChat client built with React, MobX and Electron.

License: MIT License

JavaScript 75.94% CSS 23.83% HTML 0.14% Shell 0.09%
electron wechat desktop chat client react mobx

wewechat's Introduction

weweChat

Current Release Travis CI status Dependencies Status DevDependencies Status JS Standard Style

Unofficial WeChat client built with React, MobX and Electron.

API from https://web.wechat.com/

Web API can not create room and invite members to room since 2018.

Feature

  • Work on desktop
  • On macOS, window vibrancy effect
  • Block message recall(Default settings is not block)
  • Desktop notifications
  • Keyboard shortcuts supported
  • Send image by paste preview
  • Drag to send file preview
  • Batch send message preview
  • Send GIF emoji preview

Install

Download the last version on the website or below.

Mac(10.9+)

Download the .dmg file. Or use Homebrew-Cask:

$ brew cask install wewechat

Linux

Download Centos/RHEL please download .rpm packages. Debian/Ubuntu please download .deb pacages. Other linux distribution please download .AppImage packages.

Install deb package for Debian / Ubuntu:

$ sudo dpkg -i wewechat-1.1.7-amd64.deb

Install rpm package for Centos / RHEL:

$ sudo yum localinstall wewechat-1.1.7-x86_64.rpm

Install AppImage package for other linux distribution:

$ chmod u+x wewechat-1.1.7-x86_64.AppImage
$ ./wewechat-1.1.7-x86_64.AppImage

Windows

Download the .exe file.

Screenshot

preview preview preview preview preview

Development

$ npm install
$ npm run dev

Generate the binary:

  • For Linux
$ npm run package-linux

Maybe you will install some depends packages.

  • For Mac
$ npm run package-mac

After that, you will see the binary in ./release folder

Keyboard shortcuts

Description Keys
New conversation Cmd N
Search conversations Cmd F
Hide conversation Shift Cmd M
Jump to conversation Cmd 0 ... 9
Next conversation Cmd J
Previous conversation Cmd K
Batch message Cmd B
Toggle Full Screen Shift Cmd F
Insert QQ emoji Cmd I
Preferences Cmd ,

TODO

  • Windows support
  • Linux support
  • Sticky on top
  • Delete chat session
  • Mark as Read
  • Chat Room
    • Show correct contact
    • Show members
    • Add / Remove member
    • Create chat room
  • Receive message
    • Text
    • Image
    • Voice
    • Location
    • Sticker
    • Contact Card
    • Video
    • Money Transger
    • Location sharing
    • Download File
  • Send message
    • Text
    • File
    • Image
    • Video
    • Recall
  • Forward text message
  • Forward emoji
  • Forward image
  • Forward file
  • Forward video
  • Show QQ emoji
  • Search chat set
  • Search and create chat room
  • Desktop notification
  • Keep online
  • Logout
  • Autosart at login
  • Send image from clipboard
  • Drag to send file
  • Batch send message
  • Mention a user

FAQ

  • Mac 上如何修改图标,请参考 #39(另外问下,有没屌大的或者胸大的帮忙设计一个图标啊)
  • 关于历史记录的问题请参考 #30

License

MIT License

wewechat's People

Contributors

airycanon avatar axxop avatar gaoyaoxin avatar kotojo avatar trazyn avatar zzhiyi 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wewechat's Issues

配色比较杂

布局美观,不过配色比较杂,阴影、柔滑边缘的效果也有点太多了,想知道能不能搞个自定义CSS?

ps:由于使用了electron,包很大,比官方APP大了一两倍。要是有精简的可能就好了。

文件传输助手不能用

  • 系统:Ubuntu 16.04LTS
  • 软件版本:1.1.1

试了好几次,用手机上的文件传输助手发送信息,客户端收不到信息

mac版窗口尺寸

求缩小窗口更小尺寸,目前的尺寸太大了。
另外收到非文字信息导致聊天列表不能滚动,也请修正。

打包成安装包错误,下载不来winCodeSign

程序已经生成好了,就是自动打包这个出错了
这个应该是win签名的包winCodeSign,下载不了。

electron-builder 19.27.3
No native production dependencies
Packaging for win32 ia32 using electron 1.6.11 to ..\release\win-ia32-unpacked
⚠️ Application icon is not set, default Electron icon will be used
Downloading winCodeSign-1.9.0, please wait
⚠️ Cannot download winCodeSign, attempt #1: Error: Request timed out
Error: connect ETIMEDOUT 54.231.40.3:443
at Object._errnoException (util.js:1041:11)
at _exceptionWithHostPort (util.js:1064:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1153:14)
From previous event:
at Promise.longStackTracesCaptureStackTrace [as _captureStackTrace] (C:\Users\Yoke\weweChat\node_modules_bluebird@3.5.0@bluebird\js\release\debuggability.js:397:19)
at new PromiseSpawn (C:\Users\Yoke\weweChat\node_modules_bluebird@3.5.0@bluebird\js\release\generators.js:43:17)
at C:\Users\Yoke\weweChat\node_modules_bluebird@3.5.0@bluebird\js\release\generators.js:197:21
at NodeHttpExecutor.download (C:\Users\Yoke\weweChat\node_modules_builder-util@1.0.1@builder-util\out\nodeHttpExecutor.js:159:11)
at Timeout._onTimeout (C:\Users\Yoke\weweChat\node_modules_builder-util@1.0.1@builder-util\src\binDownload.ts:85:39)
at ontimeout (timers.js:469:11)
at tryOnTimeout (timers.js:304:5)
at Timer.listOnTimeout (timers.js:264:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 4294967295
npm ERR! [email protected] package-win32: npm run build && build --win --ia32 --projectDir ./dist
npm ERR! Exit status 4294967295
npm ERR!
npm ERR! Failed at the [email protected] package-win32 script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Yoke\AppData\Roaming\npm-cache_logs\2017-09-04T09_56_53_132Z-debug.log

提点小建议

  1. 在群聊里面,默认没有显示群昵称,这个着实不太方便,群聊人数比较多时,光看头像无法识别是谁在发言。
  2. 关于显示No Chat Selected。在本来已经选择一个聊天的时候,若点击左下方的Contacts或Settings,然后在点左下角的Chat时,就会显示No Chat Selected,而不是上次已经选择的聊天或者最上方的聊天。不知道No Chat Selected这个是不是有意这么做的,若是有意这么做的,完全看个人习惯,这个建议可以忽略。

windows版本

windows上没有最大化最小化和关闭按钮
窗口最小化是新信息没有提示
字体太小了
能否加个esc快速关闭窗口

退出后,登录信息能保存

如果程序退出,再次启动时,显示之前登录过的账号,和“登录”按钮

这样的话,就不需要每次都扫码了

提供linux包可以吗?

Electronic WeChat 以前一直用这个,今天突然看到这个,但是颜值没有大神这个高。

no notification on Mac

It will not show the notification when message arrived.

Also, the "wewechat" app will not appear in System Preferences | Notifications

启动及登陆相关问题

你好,在dev环境下,发现下列问题:
情况一: 控制台打印 webpack: Compiled successfully.后,一段时间后,客户端界面什么也没有
情况二:控制台打印
(node:40092) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: 36:64: execution error: “System Events”遇到一个错误:不能获得“login item "wewechat"”。 (-1728) [1] [1] (node:40092) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. [1] (node:40092) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: 36:64: execution error: “System Events”遇到一个错误:不能获得“login item "wewechat"”。 (-1728)
扫描成功后,一直在转圈圈

[installation] Ubuntu 16.04 64bit Error: cross-env: not found

Env.

  • My laptop
  • Ubuntu 16.04 64bit

Installation Log

yuens@Spark:~/Software/weweChat$ sudo -H npm run package-linux                                                                                                                                                                                                                                                          [6/104]
[sudo] password for yuens: 

> [email protected] package-linux /home/yuens/Software/weweChat
> npm run build && rm -rf release && build --linux --projectDir ./dist


> [email protected] build /home/yuens/Software/weweChat
> rm -rf dist && npm run build-main && npm run build-renderer


> [email protected] build-main /home/yuens/Software/weweChat
> cross-env NODE_ENV=production node -r babel-register ./node_modules/webpack/bin/webpack --config ./config/webpack.config.electron.js --progress --profile --colors

sh: 1: cross-env: not found

npm ERR! Linux 4.4.0-92-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "build-main"
npm ERR! node v6.11.0
npm ERR! npm  v3.10.10
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] build-main: `cross-env NODE_ENV=production node -r babel-register ./node_modules/webpack/bin/webpack --config ./config/webpack.config.electron.js --progress --profile --colors`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the [email protected] build-main script 'cross-env NODE_ENV=production node -r babel-register ./node_modules/webpack/bin/webpack --config ./config/webpack.config.electron.js --progress --profile --colors'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the wewechat package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cross-env NODE_ENV=production node -r babel-register ./node_modules/webpack/bin/webpack --config ./config/webpack.config.electron.js --progress --profile --colors
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs wewechat
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls wewechat
npm ERR! There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! Please include the following file with any support request:
npm ERR!     /home/yuens/Software/weweChat/npm-debug.log

npm ERR! Linux 4.4.0-92-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "build"
npm ERR! node v6.11.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] build: `rm -rf dist && npm run build-main && npm run build-renderer`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] build script 'rm -rf dist && npm run build-main && npm run build-renderer'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the wewechat package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     rm -rf dist && npm run build-main && npm run build-renderer
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs wewechat
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls wewechat
npm ERR! There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! Please include the following file with any support request:
npm ERR!     /home/yuens/Software/weweChat/npm-debug.log

npm ERR! Linux 4.4.0-92-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "package-linux"
npm ERR! node v6.11.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] package-linux: `npm run build && rm -rf release && build --linux --projectDir ./dist`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] package-linux script 'npm run build && rm -rf release && build --linux --projectDir ./dist'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the wewechat package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run build && rm -rf release && build --linux --projectDir ./dist
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs wewechat
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls wewechat
npm ERR! There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! Please include the following file with any support request:
npm ERR!     /home/yuens/Software/weweChat/npm-debug.log

npm-debug.log

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'run', 'package-linux' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prepackage-linux', 'package-linux', 'postpackage-linux' ]
5 info lifecycle [email protected]~prepackage-linux: [email protected]
6 silly lifecycle [email protected]~prepackage-linux: no script for prepackage-linux, continuing
7 info lifecycle [email protected]~package-linux: [email protected]
8 verbose lifecycle [email protected]~package-linux: unsafe-perm in lifecycle true
9 verbose lifecycle [email protected]~package-linux: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/home/yuens/Software/weweChat/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
10 verbose lifecycle [email protected]~package-linux: CWD: /home/yuens/Software/weweChat
11 silly lifecycle [email protected]~package-linux: Args: [ '-c',
11 silly lifecycle   'npm run build && rm -rf release && build --linux --projectDir ./dist' ]
12 silly lifecycle [email protected]~package-linux: Returned: code: 1  signal: null
13 info lifecycle [email protected]~package-linux: Failed to exec package-linux script
14 verbose stack Error: [email protected] package-linux: `npm run build && rm -rf release && build --linux --projectDir ./dist`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at EventEmitter.emit (events.js:191:7)
14 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at ChildProcess.emit (events.js:191:7)
14 verbose stack     at maybeClose (internal/child_process.js:891:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
15 verbose pkgid [email protected]
16 verbose cwd /home/yuens/Software/weweChat
17 error Linux 4.4.0-92-generic
18 error argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "package-linux"
19 error node v6.11.0
20 error npm  v3.10.10
21 error code ELIFECYCLE
22 error [email protected] package-linux: `npm run build && rm -rf release && build --linux --projectDir ./dist`
22 error Exit status 1
23 error Failed at the [email protected] package-linux script 'npm run build && rm -rf release && build --linux --projectDir ./dist'.
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 wewechat package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error     npm run build && rm -rf release && build --linux --projectDir ./dist
23 error You can get information on how to open an issue for this project with:
23 error     npm bugs wewechat
23 error Or if that isn't available, you can get their info via:
23 error     npm owner ls wewechat
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

同步接口问题

你好,发现两个接口问题:
1: webwxbatchgetcontact 接口,有时候会一直刷,一秒几十次,复现概率挺高得,好像和多个人或群聊天就会复现。
2: synccheck接口 status 显示为 finished 时,收不到数据了,必须重启软件才可以继续使用

内存占用

  • Ubuntu 16.14 64bit

  • Kernel: 4.4.0-93-generic

  • 随开启时间增加内存缓慢增加,目测接收到新的消息会引起增长

操作略卡顿 消息推送稍慢 Icon

感谢!独树一帜的第三方WeChat客户端!
不过在我的rmbp2017上操作略卡顿 推送也稍慢 不知道后续能否优化?
另外,这个icon是有点神奇哈哈!
如果有更新图标的计划,我可以尝试做一个~
最后,开发棒棒哒!

聊天框注入问题

你好,发现一个问题:
聊天框可以通过输入HTML,js等代码进行客户端注入

感谢!群发按标签,群组筛选群发吗?

感谢!群发很好,需求如下:
如果能群发,可以筛选群或者联系人

按标签筛选
按群组筛选
按联系人筛选

全选的时候可以剔除群组就更好了

Error: Generate the binary "npm run package-mac"

运行"npm run package-mac"时报错

npm ERR! missing script: package-mac

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/sevn/.npm/_logs/2017-08-24T05_53_51_301Z-debug.log

2017-08-24T05_53_51_301Z-debug.log

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/Cellar/node/8.1.1/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'run',
1 verbose cli   'package-mac' ]
2 info using [email protected]
3 info using [email protected]
4 verbose stack Error: missing script: package-mac
4 verbose stack     at run (/usr/local/lib/node_modules/npm/lib/run-script.js:151:19)
4 verbose stack     at /usr/local/lib/node_modules/npm/lib/run-script.js:61:5
4 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:114:5
4 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:401:5
4 verbose stack     at checkBinReferences_ (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:356:45)
4 verbose stack     at final (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:399:3)
4 verbose stack     at then (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:159:5)
4 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:347:12
4 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16
4 verbose stack     at tryToString (fs.js:512:3)
5 verbose cwd /Users/sevn/Documents/003_Study/010_wechat/weweChat
6 verbose Darwin 16.7.0
7 verbose argv "/usr/local/Cellar/node/8.1.1/bin/node" "/usr/local/bin/npm" "run" "package-mac"
8 verbose node v8.1.1
9 verbose npm  v5.3.0
10 error missing script: package-mac
11 verbose exit [ 1, true ]

竟然没有中文

虽然都是些简单的英语,但是没有中文,就是差评。/手动滑稽

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.