Compare commits
46 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 96d67f0b6a | |||
| 223edaf650 | |||
| 9e9cd47a6f | |||
| 7b396be00b | |||
| b119fab5a4 | |||
| fe92afef48 | |||
| 295b455e50 | |||
| ae58bf7a27 | |||
|
|
29ef5be718 | ||
| d45193bbfe | |||
|
|
9c8aaa2f8d | ||
|
|
adc2b60992 | ||
| 3bfde67f69 | |||
| 68c8b93d4b | |||
|
|
064a554383 | ||
| a9fc0b6160 | |||
| 7b1f97a6b0 | |||
| 608c164ef2 | |||
| 2f960e06ab | |||
| 9763b56387 | |||
| e63e4cbae6 | |||
| de8ae1160c | |||
| 62c6fd3cee | |||
| 16fae28bec | |||
| 0dfdcb4e59 | |||
| e9fa7cfeb2 | |||
| 27a68c9a2f | |||
| 0dba00a789 | |||
| 30e0b31cf4 | |||
| 55da47be2e | |||
| 5454152d42 | |||
| f1ce7ad848 | |||
| bd55a0f918 | |||
| 41e16c067b | |||
| 6c0d92d332 | |||
| 523316b34f | |||
| 4ccf7ba00d | |||
| 73b82e0822 | |||
| 494372e0b2 | |||
| 26f5928656 | |||
| ca11918754 | |||
| cda3db4105 | |||
| e148ae1975 | |||
| d6a322d990 | |||
|
|
69e2bcb928 | ||
|
|
0ecde84844 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -7,6 +7,7 @@
|
|||||||
dist/
|
dist/
|
||||||
release/
|
release/
|
||||||
package-lock.json
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
|
|
||||||
# Xcode
|
# Xcode
|
||||||
#
|
#
|
||||||
|
|||||||
76
.workflow/pipeline-build-20220901.yml
Normal file
76
.workflow/pipeline-build-20220901.yml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
version: '1.0'
|
||||||
|
name: pipeline-build-20220901
|
||||||
|
displayName: pipeline-build
|
||||||
|
triggers:
|
||||||
|
trigger: auto
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
prefix:
|
||||||
|
- ''
|
||||||
|
stages:
|
||||||
|
- name: stage-82deebcf
|
||||||
|
displayName: 构建
|
||||||
|
strategy: naturally
|
||||||
|
trigger: auto
|
||||||
|
executor: []
|
||||||
|
steps:
|
||||||
|
- step: build@nodejs
|
||||||
|
name: build_nodejs
|
||||||
|
displayName: Nodejs 构建
|
||||||
|
nodeVersion: 16.14.2
|
||||||
|
commands:
|
||||||
|
- '# 设置NPM源,提升安装速度'
|
||||||
|
- npm config set registry https://registry.npmmirror.com
|
||||||
|
- npm i yarn -g
|
||||||
|
- yarn config set registry "https://registry.npmmirror.com"
|
||||||
|
- yarn config set electron_builder_binaries_mirror "https://npmmirror.com/mirrors/electron-builder-binaries/"
|
||||||
|
- yarn config set electron_mirror "https://code.gitlink.org.cn/shenmo7192/electron-releases/raw/branch/master/"
|
||||||
|
- mkdir -p /root/.cache/electron-builder/app-builder/
|
||||||
|
- mkdir ../release
|
||||||
|
- ELECTRON_BUILDER_BINARIES_MIRROR =https://registry.npmmirror.com/binary.html?path=electron-builder-binaries/
|
||||||
|
- '###'
|
||||||
|
- mkdir -p /root/.cache/electron-builder/app-builder/app-builder-v0.6.1-x64
|
||||||
|
- WORK_DIR=`pwd`
|
||||||
|
- cd /root/.cache/electron-builder/app-builder/app-builder-v0.6.1-x64
|
||||||
|
- 'wget https://code.gitlink.org.cn/shenmo7192/electron-releases/raw/branch/master/app-builder-v0.6.1-linux-x64.7z '
|
||||||
|
- '7z x app-builder-v0.6.1-linux-x64.7z '
|
||||||
|
- cd $WORK_DIR
|
||||||
|
- '###'
|
||||||
|
- mkdir -p /root/.cache/electron-builder/appimage/appimage-9.0.5
|
||||||
|
- cd /root/.cache/electron-builder/appimage/appimage-9.0.5
|
||||||
|
- wget https://code.gitlink.org.cn/shenmo7192/electron-releases/raw/branch/master/appimage-9.0.5.7z
|
||||||
|
- 7z x appimage-9.0.5.7z
|
||||||
|
- cd $WORK_DIR
|
||||||
|
- '###'
|
||||||
|
- 'mkdir -p /root/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86_64 '
|
||||||
|
- 'cd /root/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86_64 '
|
||||||
|
- wget https://code.gitlink.org.cn/shenmo7192/electron-releases/raw/branch/master/fpm-1.9.3-2.3.1-linux-x86_64.7z
|
||||||
|
- 7z x fpm-1.9.3-2.3.1-linux-x86_64.7z
|
||||||
|
- cd $WORK_DIR
|
||||||
|
- '###'
|
||||||
|
- yarn
|
||||||
|
- yarn package-linux
|
||||||
|
- mv ../release ./release
|
||||||
|
- rm -r ./release/linux-unpacked
|
||||||
|
artifacts:
|
||||||
|
- name: BUILD_ARTIFACT
|
||||||
|
path:
|
||||||
|
- ./release
|
||||||
|
caches: []
|
||||||
|
notify: []
|
||||||
|
strategy:
|
||||||
|
retry: '0'
|
||||||
|
- name: stage-cd5d9e5b
|
||||||
|
displayName: 上传制品
|
||||||
|
strategy: naturally
|
||||||
|
trigger: auto
|
||||||
|
executor: []
|
||||||
|
steps:
|
||||||
|
- step: publish@general_artifacts
|
||||||
|
name: publish_general_artifacts
|
||||||
|
displayName: 上传制品
|
||||||
|
dependArtifact: BUILD_ARTIFACT
|
||||||
|
artifactName: output
|
||||||
|
notify: []
|
||||||
|
strategy:
|
||||||
|
retry: '0'
|
||||||
76
.workflow/pipeline-build-pr-20220902.yml
Normal file
76
.workflow/pipeline-build-pr-20220902.yml
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
version: '1.0'
|
||||||
|
name: pipeline-build-pr-20220902
|
||||||
|
displayName: pipeline-build-pr
|
||||||
|
triggers:
|
||||||
|
trigger: auto
|
||||||
|
pr:
|
||||||
|
branches:
|
||||||
|
prefix:
|
||||||
|
- ''
|
||||||
|
stages:
|
||||||
|
- name: stage-82deebcf
|
||||||
|
displayName: 构建
|
||||||
|
strategy: naturally
|
||||||
|
trigger: auto
|
||||||
|
executor: []
|
||||||
|
steps:
|
||||||
|
- step: build@nodejs
|
||||||
|
name: build_nodejs
|
||||||
|
displayName: Nodejs 构建
|
||||||
|
nodeVersion: 16.14.2
|
||||||
|
commands:
|
||||||
|
- '# 设置NPM源,提升安装速度'
|
||||||
|
- npm config set registry https://registry.npmmirror.com
|
||||||
|
- npm i yarn -g
|
||||||
|
- yarn config set registry "https://registry.npmmirror.com"
|
||||||
|
- yarn config set electron_builder_binaries_mirror "https://npmmirror.com/mirrors/electron-builder-binaries/"
|
||||||
|
- yarn config set electron_mirror "https://code.gitlink.org.cn/shenmo7192/electron-releases/raw/branch/master/"
|
||||||
|
- mkdir -p /root/.cache/electron-builder/app-builder/
|
||||||
|
- mkdir ../release
|
||||||
|
- ELECTRON_BUILDER_BINARIES_MIRROR =https://registry.npmmirror.com/binary.html?path=electron-builder-binaries/
|
||||||
|
- '###'
|
||||||
|
- mkdir -p /root/.cache/electron-builder/app-builder/app-builder-v0.6.1-x64
|
||||||
|
- WORK_DIR=`pwd`
|
||||||
|
- cd /root/.cache/electron-builder/app-builder/app-builder-v0.6.1-x64
|
||||||
|
- 'wget https://code.gitlink.org.cn/shenmo7192/electron-releases/raw/branch/master/app-builder-v0.6.1-linux-x64.7z '
|
||||||
|
- '7z x app-builder-v0.6.1-linux-x64.7z '
|
||||||
|
- cd $WORK_DIR
|
||||||
|
- '###'
|
||||||
|
- mkdir -p /root/.cache/electron-builder/appimage/appimage-9.0.5
|
||||||
|
- cd /root/.cache/electron-builder/appimage/appimage-9.0.5
|
||||||
|
- wget https://code.gitlink.org.cn/shenmo7192/electron-releases/raw/branch/master/appimage-9.0.5.7z
|
||||||
|
- 7z x appimage-9.0.5.7z
|
||||||
|
- cd $WORK_DIR
|
||||||
|
- '###'
|
||||||
|
- 'mkdir -p /root/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86_64 '
|
||||||
|
- 'cd /root/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86_64 '
|
||||||
|
- wget https://code.gitlink.org.cn/shenmo7192/electron-releases/raw/branch/master/fpm-1.9.3-2.3.1-linux-x86_64.7z
|
||||||
|
- 7z x fpm-1.9.3-2.3.1-linux-x86_64.7z
|
||||||
|
- cd $WORK_DIR
|
||||||
|
- '###'
|
||||||
|
- yarn
|
||||||
|
- yarn package-linux
|
||||||
|
- mv ../release ./release
|
||||||
|
- rm -r ./release/linux-unpacked
|
||||||
|
artifacts:
|
||||||
|
- name: BUILD_ARTIFACT
|
||||||
|
path:
|
||||||
|
- ./release
|
||||||
|
caches: []
|
||||||
|
notify: []
|
||||||
|
strategy:
|
||||||
|
retry: '0'
|
||||||
|
- name: stage-cd5d9e5b
|
||||||
|
displayName: 上传制品
|
||||||
|
strategy: naturally
|
||||||
|
trigger: auto
|
||||||
|
executor: []
|
||||||
|
steps:
|
||||||
|
- step: publish@general_artifacts
|
||||||
|
name: publish_general_artifacts
|
||||||
|
displayName: 上传制品
|
||||||
|
dependArtifact: BUILD_ARTIFACT
|
||||||
|
artifactName: output
|
||||||
|
notify: []
|
||||||
|
strategy:
|
||||||
|
retry: '0'
|
||||||
66
main.js
66
main.js
@@ -30,7 +30,7 @@ let mainMenu = [
|
|||||||
selector: 'orderFrontStandardAboutPanel:',
|
selector: 'orderFrontStandardAboutPanel:',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Preferences...',
|
label: '首选项...',
|
||||||
accelerator: !isOsx ? 'Ctrl+,' : 'Cmd+,',
|
accelerator: !isOsx ? 'Ctrl+,' : 'Cmd+,',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -58,17 +58,17 @@ let mainMenu = [
|
|||||||
role: 'unhide'
|
role: 'unhide'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Check for updates',
|
label: '检查更新',
|
||||||
accelerator: !isOsx ? 'Ctrl+U' : 'Cmd+U',
|
accelerator: !isOsx ? 'Ctrl+U' : 'Cmd+U',
|
||||||
click() {
|
click() {
|
||||||
checkForUpdates();
|
shell.openExternal('spk://store/chat/wewechat');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'separator'
|
type: 'separator'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Quit weweChat',
|
label: '退出 weweChat',
|
||||||
accelerator: !isOsx ? 'Alt+Q' : 'Command+Q',
|
accelerator: !isOsx ? 'Alt+Q' : 'Command+Q',
|
||||||
selector: 'terminate:',
|
selector: 'terminate:',
|
||||||
click() {
|
click() {
|
||||||
@@ -80,10 +80,10 @@ let mainMenu = [
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'File',
|
label: '聊天操作',
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'New Chat',
|
label: '新建聊天',
|
||||||
accelerator: !isOsx ? 'Ctrl+N' : 'Cmd+N',
|
accelerator: !isOsx ? 'Ctrl+N' : 'Cmd+N',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -91,7 +91,7 @@ let mainMenu = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Search...',
|
label: '搜索',
|
||||||
accelerator: !isOsx ? 'Ctrl+F' : 'Cmd+F',
|
accelerator: !isOsx ? 'Ctrl+F' : 'Cmd+F',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -99,7 +99,7 @@ let mainMenu = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Batch Send Message',
|
label: '群发消息',
|
||||||
accelerator: !isOsx ? 'Ctrl+B' : 'Cmd+B',
|
accelerator: !isOsx ? 'Ctrl+B' : 'Cmd+B',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -110,7 +110,7 @@ let mainMenu = [
|
|||||||
type: 'separator',
|
type: 'separator',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Insert emoji',
|
label: '插入表情符号',
|
||||||
accelerator: !isOsx ? 'Ctrl+I' : 'Cmd+I',
|
accelerator: !isOsx ? 'Ctrl+I' : 'Cmd+I',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -121,7 +121,7 @@ let mainMenu = [
|
|||||||
type: 'separator',
|
type: 'separator',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Next conversation',
|
label: '下一个聊天',
|
||||||
accelerator: !isOsx ? 'Ctrl+J' : 'Cmd+J',
|
accelerator: !isOsx ? 'Ctrl+J' : 'Cmd+J',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -129,7 +129,7 @@ let mainMenu = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Previous conversation',
|
label: '上一个聊天',
|
||||||
accelerator: !isOsx ? 'Ctrl+K' : 'Cmd+K',
|
accelerator: !isOsx ? 'Ctrl+K' : 'Cmd+K',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -139,7 +139,7 @@ let mainMenu = [
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Conversations',
|
label: '群聊',
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'Loading...',
|
label: 'Loading...',
|
||||||
@@ -147,7 +147,7 @@ let mainMenu = [
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Contacts',
|
label: '私聊',
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: 'Loading...',
|
label: 'Loading...',
|
||||||
@@ -158,7 +158,7 @@ let mainMenu = [
|
|||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Edit',
|
label: '编辑',
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
role: 'undo'
|
role: 'undo'
|
||||||
@@ -203,7 +203,7 @@ let mainMenu = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Toggle Conversations',
|
label: '显示聊天列表',
|
||||||
accelerator: !isOsx ? 'Ctrl+Shift+M' : 'Shift+Cmd+M',
|
accelerator: !isOsx ? 'Ctrl+Shift+M' : 'Shift+Cmd+M',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -242,15 +242,15 @@ let mainMenu = [
|
|||||||
role: 'help',
|
role: 'help',
|
||||||
submenu: [
|
submenu: [
|
||||||
{
|
{
|
||||||
label: '反馈(不一定解决)',
|
label: '反馈',
|
||||||
click() {
|
click() {
|
||||||
shell.openExternal('https://github.com/Riceneeder/weweChat/issues');
|
shell.openExternal('https://gitee.com/spark-community-works-collections/wewechat-plus-plus/issues');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Fork me on Github',
|
label: '在Gitee主页查看',
|
||||||
click() {
|
click() {
|
||||||
shell.openExternal('https://github.com/Riceneeder/weweChat');
|
shell.openExternal('https://gitee.com/spark-community-works-collections/wewechat-plus-plus');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@@ -258,14 +258,14 @@ let mainMenu = [
|
|||||||
];
|
];
|
||||||
let trayMenu = [
|
let trayMenu = [
|
||||||
{
|
{
|
||||||
label: `You have 0 messages`,
|
label: `您有0条未读消息`,
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
mainWindow.webContents.send('show-messages');
|
mainWindow.webContents.send('show-messages');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Toggle main window',
|
label: '打开主窗口',
|
||||||
click() {
|
click() {
|
||||||
let isVisible = mainWindow.isVisible();
|
let isVisible = mainWindow.isVisible();
|
||||||
isVisible ? mainWindow.hide() : mainWindow.show();
|
isVisible ? mainWindow.hide() : mainWindow.show();
|
||||||
@@ -275,7 +275,7 @@ let trayMenu = [
|
|||||||
type: 'separator'
|
type: 'separator'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Preferences...',
|
label: '首选项...',
|
||||||
accelerator: !isOsx ? 'Ctrl+,' : 'Cmd+,',
|
accelerator: !isOsx ? 'Ctrl+,' : 'Cmd+,',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -283,16 +283,16 @@ let trayMenu = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Fork me on Github',
|
label: '在Gitee主页查看',
|
||||||
click() {
|
click() {
|
||||||
shell.openExternal('https://github.com/Riceneeder/weweChat');
|
shell.openExternal('https://gitee.com/spark-community-works-collections/wewechat-plus-plus');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'separator'
|
type: 'separator'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Toggle DevTools',
|
label: '打开开发者工具',
|
||||||
accelerator: !isOsx ? 'Ctrl+Alt+I' : 'Alt+Command+I',
|
accelerator: !isOsx ? 'Ctrl+Alt+I' : 'Alt+Command+I',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.show();
|
mainWindow.show();
|
||||||
@@ -300,7 +300,7 @@ let trayMenu = [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Hide menu bar icon',
|
label: '隐藏菜单栏图标',
|
||||||
click() {
|
click() {
|
||||||
mainWindow.webContents.send('hide-tray');
|
mainWindow.webContents.send('hide-tray');
|
||||||
}
|
}
|
||||||
@@ -309,14 +309,14 @@ let trayMenu = [
|
|||||||
type: 'separator'
|
type: 'separator'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Check for updates',
|
label: '检查更新',
|
||||||
accelerator: !isOsx ? 'Ctrl+U' : 'Cmd+U',
|
accelerator: !isOsx ? 'Ctrl+U' : 'Cmd+U',
|
||||||
click() {
|
click() {
|
||||||
checkForUpdates();
|
shell.openExternal('spk://store/chat/wewechat');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Quit weweChat',
|
label: '退出 weweChat',
|
||||||
accelerator: !isOsx ? 'Alt+Q' : 'Command+Q',
|
accelerator: !isOsx ? 'Alt+Q' : 'Command+Q',
|
||||||
selector: 'terminate:',
|
selector: 'terminate:',
|
||||||
click() {
|
click() {
|
||||||
@@ -393,7 +393,7 @@ function updateTray(unread = 0) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Update unread mesage count
|
// Update unread mesage count
|
||||||
trayMenu[0].label = `You have ${unread} messages`;
|
trayMenu[0].label = `您有 ${unread} 条未读消息`;
|
||||||
|
|
||||||
if (settings.showOnTray) {
|
if (settings.showOnTray) {
|
||||||
if (tray
|
if (tray
|
||||||
@@ -548,8 +548,8 @@ const createMainWindow = () => {
|
|||||||
|
|
||||||
ipcMain.on('menu-update', async(event, args) => {
|
ipcMain.on('menu-update', async(event, args) => {
|
||||||
var { cookies, contacts = [], conversations = [] } = args;
|
var { cookies, contacts = [], conversations = [] } = args;
|
||||||
var conversationsMenu = mainMenu.find(e => e.label === 'Conversations');
|
var conversationsMenu = mainMenu.find(e => e.label === '群聊');
|
||||||
var contactsMenu = mainMenu.find(e => e.label === 'Contacts');
|
var contactsMenu = mainMenu.find(e => e.label === '私聊');
|
||||||
var shouldUpdate = false;
|
var shouldUpdate = false;
|
||||||
|
|
||||||
// if (!isOsx) {
|
// if (!isOsx) {
|
||||||
@@ -688,7 +688,7 @@ const createMainWindow = () => {
|
|||||||
app.setAboutPanelOptions({
|
app.setAboutPanelOptions({
|
||||||
applicationName: pkg.name,
|
applicationName: pkg.name,
|
||||||
applicationVersion: pkg.version,
|
applicationVersion: pkg.version,
|
||||||
copyright: 'Made with 💖 by trazyn. \n https://github.com/trazyn/weweChat \nRevise By Riceneeder \n https://github.com/Riceneeder/weweChat',
|
copyright: 'Made with 💖 by trazyn. \n https://github.com/trazyn/weweChat \nRevise By Riceneeder \n https://gitee.com/spark-community-works-collections/wewechat-plus-plus',
|
||||||
credits: `With the invaluable help of: \n web.wechat.com`,
|
credits: `With the invaluable help of: \n web.wechat.com`,
|
||||||
version: pkg.version
|
version: pkg.version
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "wewechat",
|
"name": "wewechat",
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"description": "make weweChat great again!!!",
|
"description": "make weweChat great again!!!",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -23,9 +23,10 @@
|
|||||||
"author": {
|
"author": {
|
||||||
"email": "845541909@qq.com"
|
"email": "845541909@qq.com"
|
||||||
},
|
},
|
||||||
|
"homepage": "https://gitee.com/spark-community-works-collections/wewechat-plus-plus/README.md",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Riceneeder/weweChat"
|
"url": "https://gitee.com/spark-community-works-collections/wewechat-plus-plus"
|
||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"build": {
|
"build": {
|
||||||
@@ -56,8 +57,7 @@
|
|||||||
"category": "Chat",
|
"category": "Chat",
|
||||||
"executableName": "wewechat",
|
"executableName": "wewechat",
|
||||||
"target": [
|
"target": [
|
||||||
"deb",
|
"deb",
|
||||||
"rpm",
|
|
||||||
"AppImage"
|
"AppImage"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 20 KiB |
@@ -180,7 +180,7 @@ export default class MessageInput extends Component {
|
|||||||
id="messageInput"
|
id="messageInput"
|
||||||
ref="input"
|
ref="input"
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="Type something to send..."
|
placeholder="在此输入内容..."
|
||||||
readOnly={!canisend}
|
readOnly={!canisend}
|
||||||
onPaste={e => this.handlePaste(e)}
|
onPaste={e => this.handlePaste(e)}
|
||||||
onKeyPress={e => this.handleEnter(e)}
|
onKeyPress={e => this.handleEnter(e)}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ export default class Contacts extends Component {
|
|||||||
dangerouslySetInnerHTML={{__html: e.RemarkName || e.NickName}} />
|
dangerouslySetInnerHTML={{__html: e.RemarkName || e.NickName}} />
|
||||||
<p
|
<p
|
||||||
className={classes.signature}
|
className={classes.signature}
|
||||||
dangerouslySetInnerHTML={{__html: e.Signature || 'No Signature'}} />
|
dangerouslySetInnerHTML={{__html: e.Signature || '无签名'}} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -37,13 +37,13 @@ export default class Filter extends Component {
|
|||||||
<div className={classes.contacts}>
|
<div className={classes.contacts}>
|
||||||
<input
|
<input
|
||||||
onInput={e => this.doFilter(e.target.value)}
|
onInput={e => this.doFilter(e.target.value)}
|
||||||
placeholder="Type something to search..."
|
placeholder="在此搜索..."
|
||||||
ref="filter"
|
ref="filter"
|
||||||
type="text" />
|
type="text" />
|
||||||
|
|
||||||
<div className={classes.action}>
|
<div className={classes.action}>
|
||||||
<label htmlFor="showGroup">
|
<label htmlFor="showGroup">
|
||||||
<span className={classes.options}>Show Groups</span>
|
<span className={classes.options}>显示群聊</span>
|
||||||
<Switch
|
<Switch
|
||||||
defaultChecked={this.props.showGroup}
|
defaultChecked={this.props.showGroup}
|
||||||
id="showGroup"
|
id="showGroup"
|
||||||
|
|||||||
@@ -11,13 +11,13 @@ export default class Placeholder extends Component {
|
|||||||
className={classes.button}
|
className={classes.button}
|
||||||
href="mailto:var.845541909@qq.com?Subject=WeWeChat%20Feedback"
|
href="mailto:var.845541909@qq.com?Subject=WeWeChat%20Feedback"
|
||||||
target="_blank">
|
target="_blank">
|
||||||
Send feedback
|
Send Feedback
|
||||||
<i className="icon-ion-ios-email-outline" />
|
<i className="icon-ion-ios-email-outline" />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a
|
<a
|
||||||
className={classes.button}
|
className={classes.button}
|
||||||
href="https://github.com/Riceneeder/weweChat"
|
href="https://gitee.com/spark-community-works-collections/wewechat-plus-plus"
|
||||||
target="_blank">
|
target="_blank">
|
||||||
Fork on Github
|
Fork on Github
|
||||||
<i className="icon-ion-social-github" />
|
<i className="icon-ion-social-github" />
|
||||||
|
|||||||
@@ -670,7 +670,7 @@ export default class ChatContent extends Component {
|
|||||||
<img
|
<img
|
||||||
className="disabledDrag"
|
className="disabledDrag"
|
||||||
src="assets/images/noselected.png" />
|
src="assets/images/noselected.png" />
|
||||||
<h1>No Chat selected :(</h1>
|
<h1>未选择聊天 :(</h1>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ export default class Chats extends Component {
|
|||||||
|
|
||||||
<span
|
<span
|
||||||
className={classes.message}
|
className={classes.message}
|
||||||
dangerouslySetInnerHTML={{__html: helper.getMessageContent(message) || 'No Message'}} />
|
dangerouslySetInnerHTML={{__html: helper.getMessageContent(message) || '未收到消息'}} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -39,10 +39,10 @@ export default class Login extends Component {
|
|||||||
code && (<img className="disabledDrag" src={`https://login.weixin.qq.com/qrcode/${code}`} />)
|
code && (<img className="disabledDrag" src={`https://login.weixin.qq.com/qrcode/${code}`} />)
|
||||||
}
|
}
|
||||||
|
|
||||||
<a href={window.location.pathname + '?' + +new Date()}>Refresh the QR Code</a>
|
<a href={window.location.pathname + '?' + +new Date()}>刷新二维码</a>
|
||||||
|
|
||||||
<p>Scan to log in to WeChat</p>
|
<p>扫描二维码登录微信</p>
|
||||||
<p>Log in on phone to use WeChat on Web</p>
|
<p>使用手机登录网页版微信</p>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ export default class Members extends Component {
|
|||||||
id="messageInput"
|
id="messageInput"
|
||||||
maxLength={30}
|
maxLength={30}
|
||||||
onInput={e => this.props.search(e.target.value)}
|
onInput={e => this.props.search(e.target.value)}
|
||||||
placeholder="Type something to search..."
|
placeholder="在此搜索..."
|
||||||
ref="input"
|
ref="input"
|
||||||
type="text" />
|
type="text" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -66,14 +66,14 @@ export default class Settings extends Component {
|
|||||||
return (
|
return (
|
||||||
<div className={classes.container}>
|
<div className={classes.container}>
|
||||||
<div className={classes.column}>
|
<div className={classes.column}>
|
||||||
<h2>Settings</h2>
|
<h2>设置</h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
{
|
{
|
||||||
user && (
|
user && (
|
||||||
<li className={classes.user}>
|
<li className={classes.user}>
|
||||||
<Avatar src={this.props.user.User.HeadImgUrl} />
|
<Avatar src={this.props.user.User.HeadImgUrl} />
|
||||||
<button onClick={e => this.props.logout()}>Logout</button>
|
<button onClick={e => this.props.logout()}>登出</button>
|
||||||
</li>
|
</li>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -83,15 +83,15 @@ export default class Settings extends Component {
|
|||||||
onChange={e => setDownloads(e.target.files[0])}
|
onChange={e => setDownloads(e.target.files[0])}
|
||||||
ref="downloads"
|
ref="downloads"
|
||||||
type="file" />
|
type="file" />
|
||||||
<p>Downloads</p>
|
<p>下载目录</p>
|
||||||
<p onClick={e => this.choiceDownloadDir()}>{downloads}</p>
|
<p onClick={e => this.choiceDownloadDir()}>{downloads}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button onClick={e => this.choiceDownloadDir()}>Change</button>
|
<button onClick={e => this.choiceDownloadDir()}>更改</button>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<label htmlFor="alwaysOnTop">
|
<label htmlFor="alwaysOnTop">
|
||||||
<span>Always on Top</span>
|
<span>窗口置顶</span>
|
||||||
<Switch
|
<Switch
|
||||||
checked={alwaysOnTop}
|
checked={alwaysOnTop}
|
||||||
id="alwaysOnTop"
|
id="alwaysOnTop"
|
||||||
@@ -101,7 +101,7 @@ export default class Settings extends Component {
|
|||||||
|
|
||||||
<li>
|
<li>
|
||||||
<label htmlFor="showOnTray">
|
<label htmlFor="showOnTray">
|
||||||
<span>Show on Tray</span>
|
<span>显示托盘图标</span>
|
||||||
<Switch
|
<Switch
|
||||||
checked={showOnTray}
|
checked={showOnTray}
|
||||||
disabled={!helper.isOsx}
|
disabled={!helper.isOsx}
|
||||||
@@ -112,7 +112,7 @@ export default class Settings extends Component {
|
|||||||
|
|
||||||
<li>
|
<li>
|
||||||
<label htmlFor="showNotification">
|
<label htmlFor="showNotification">
|
||||||
<span>Send Desktop Notifications</span>
|
<span>发送桌面通知</span>
|
||||||
<Switch
|
<Switch
|
||||||
checked={showNotification}
|
checked={showNotification}
|
||||||
id="showNotification"
|
id="showNotification"
|
||||||
@@ -122,7 +122,7 @@ export default class Settings extends Component {
|
|||||||
|
|
||||||
<li>
|
<li>
|
||||||
<label htmlFor="blockRecall">
|
<label htmlFor="blockRecall">
|
||||||
<span>Block Message Recall</span>
|
<span>反撤回功能</span>
|
||||||
<Switch
|
<Switch
|
||||||
checked={blockRecall}
|
checked={blockRecall}
|
||||||
id="blockRecall"
|
id="blockRecall"
|
||||||
@@ -132,7 +132,7 @@ export default class Settings extends Component {
|
|||||||
|
|
||||||
<li>
|
<li>
|
||||||
<label htmlFor="rememberConversation">
|
<label htmlFor="rememberConversation">
|
||||||
<span>Remember the last Conversation</span>
|
<span>记住上次的聊天内容</span>
|
||||||
<Switch
|
<Switch
|
||||||
checked={rememberConversation}
|
checked={rememberConversation}
|
||||||
id="rememberConversation"
|
id="rememberConversation"
|
||||||
@@ -142,7 +142,7 @@ export default class Settings extends Component {
|
|||||||
|
|
||||||
<li>
|
<li>
|
||||||
<label htmlFor="showRedIcon">
|
<label htmlFor="showRedIcon">
|
||||||
<span>Show the red button</span>
|
<span>显示首页红色加号按钮</span>
|
||||||
<Switch
|
<Switch
|
||||||
checked={showRedIcon}
|
checked={showRedIcon}
|
||||||
id="showRedIcon"
|
id="showRedIcon"
|
||||||
@@ -152,7 +152,7 @@ export default class Settings extends Component {
|
|||||||
|
|
||||||
<li>
|
<li>
|
||||||
<label htmlFor="confirmImagePaste">
|
<label htmlFor="confirmImagePaste">
|
||||||
<span>Image paste Confirmation</span>
|
<span>在粘贴图片时弹框确认</span>
|
||||||
<Switch
|
<Switch
|
||||||
checked={confirmImagePaste}
|
checked={confirmImagePaste}
|
||||||
id="confirmImagePaste"
|
id="confirmImagePaste"
|
||||||
@@ -162,7 +162,7 @@ export default class Settings extends Component {
|
|||||||
|
|
||||||
<li>
|
<li>
|
||||||
<label htmlFor="startup">
|
<label htmlFor="startup">
|
||||||
<span>Launch at startup</span>
|
<span>开机自启动</span>
|
||||||
<Switch
|
<Switch
|
||||||
checked={startup}
|
checked={startup}
|
||||||
id="startup"
|
id="startup"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import contacts from './contacts';
|
|||||||
const CancelToken = axios.CancelToken;
|
const CancelToken = axios.CancelToken;
|
||||||
const headers = {
|
const headers = {
|
||||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36',
|
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36',
|
||||||
'client-version': '2.0.0',
|
'client-version': '2.1.5',
|
||||||
extspam: 'Go8FCIkFEokFCggwMDAwMDAwMRAGGvAESySibk50w5Wb3uTl2c2h64jVVrV7gNs06GFlWplHQbY/5FfiO++1yH4ykCyNPWKXmco+wfQzK5R98D3so7rJ5LmGFvBLjGceleySrc3SOf2Pc1gVehzJgODeS0lDL3/I/0S2SSE98YgKleq6Uqx6ndTy9yaL9qFxJL7eiA/R3SEfTaW1SBoSITIu+EEkXff+Pv8NHOk7N57rcGk1w0ZzRrQDkXTOXFN2iHYIzAAZPIOY45Lsh+A4slpgnDiaOvRtlQYCt97nmPLuTipOJ8Qc5pM7ZsOsAPPrCQL7nK0I7aPrFDF0q4ziUUKettzW8MrAaiVfmbD1/VkmLNVqqZVvBCtRblXb5FHmtS8FxnqCzYP4WFvz3T0TcrOqwLX1M/DQvcHaGGw0B0y4bZMs7lVScGBFxMj3vbFi2SRKbKhaitxHfYHAOAa0X7/MSS0RNAjdwoyGHeOepXOKY+h3iHeqCvgOH6LOifdHf/1aaZNwSkGotYnYScW8Yx63LnSwba7+hESrtPa/huRmB9KWvMCKbDThL/nne14hnL277EDCSocPu3rOSYjuB9gKSOdVmWsj9Dxb/iZIe+S6AiG29Esm+/eUacSba0k8wn5HhHg9d4tIcixrxveflc8vi2/wNQGVFNsGO6tB5WF0xf/plngOvQ1/ivGV/C1Qpdhzznh0ExAVJ6dwzNg7qIEBaw+BzTJTUuRcPk92Sn6QDn2Pu3mpONaEumacjW4w6ipPnPw+g2TfywJjeEcpSZaP4Q3YV5HG8D6UjWA4GSkBKculWpdCMadx0usMomsSS/74QgpYqcPkmamB4nVv1JxczYITIqItIKjD35IGKAUwAA==',
|
extspam: 'Go8FCIkFEokFCggwMDAwMDAwMRAGGvAESySibk50w5Wb3uTl2c2h64jVVrV7gNs06GFlWplHQbY/5FfiO++1yH4ykCyNPWKXmco+wfQzK5R98D3so7rJ5LmGFvBLjGceleySrc3SOf2Pc1gVehzJgODeS0lDL3/I/0S2SSE98YgKleq6Uqx6ndTy9yaL9qFxJL7eiA/R3SEfTaW1SBoSITIu+EEkXff+Pv8NHOk7N57rcGk1w0ZzRrQDkXTOXFN2iHYIzAAZPIOY45Lsh+A4slpgnDiaOvRtlQYCt97nmPLuTipOJ8Qc5pM7ZsOsAPPrCQL7nK0I7aPrFDF0q4ziUUKettzW8MrAaiVfmbD1/VkmLNVqqZVvBCtRblXb5FHmtS8FxnqCzYP4WFvz3T0TcrOqwLX1M/DQvcHaGGw0B0y4bZMs7lVScGBFxMj3vbFi2SRKbKhaitxHfYHAOAa0X7/MSS0RNAjdwoyGHeOepXOKY+h3iHeqCvgOH6LOifdHf/1aaZNwSkGotYnYScW8Yx63LnSwba7+hESrtPa/huRmB9KWvMCKbDThL/nne14hnL277EDCSocPu3rOSYjuB9gKSOdVmWsj9Dxb/iZIe+S6AiG29Esm+/eUacSba0k8wn5HhHg9d4tIcixrxveflc8vi2/wNQGVFNsGO6tB5WF0xf/plngOvQ1/ivGV/C1Qpdhzznh0ExAVJ6dwzNg7qIEBaw+BzTJTUuRcPk92Sn6QDn2Pu3mpONaEumacjW4w6ipPnPw+g2TfywJjeEcpSZaP4Q3YV5HG8D6UjWA4GSkBKculWpdCMadx0usMomsSS/74QgpYqcPkmamB4nVv1JxczYITIqItIKjD35IGKAUwAA==',
|
||||||
referer: 'https://wx.qq.com/?&lang=zh_CN&target=t',
|
referer: 'https://wx.qq.com/?&lang=zh_CN&target=t',
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user