# yach.electron.ipcrenderer

yach渲染进程ipc封装

# owner

# 王文杰(153729)

# 安装

npm i yach.electron.ipcrenderer

# ipc-channel-listener

# electronChannelListen

import {electronChannelListen} from 'yach.electron.ipcrenderer';

//注册ipc监听事件
electronChannelListen(name, callback)

# ipc-download

# electronFileDownloadStatus

import {electronFileDownloadStatus} from 'yach.electron.ipcrenderer';
//文件下载
electronFileDownloadStatus({apicaller, channelid, data, rescallback, progresscallback});

# electronDownloadFileDestory

import {electronDownloadFileDestory} from 'yach.electron.ipcrenderer';
//取消下载
electronDownloadFileDestory(data)

# electronReceiveDownloadCancel

import {electronReceiveDownloadCancel} from 'yach.electron.ipcrenderer';
//Receive Download Cancel
electronReceiveDownloadCancel(apicaller, callback)

# electronReceiveProgress

import {electronReceiveProgress} from 'yach.electron.ipcrenderer';
//Receive Progress
electronReceiveProgress(apicaller, callback)

# electronDownloadFlies

import {electronDownloadFlies} from 'yach.electron.ipcrenderer';
//Download Flies
electronDownloadFlies(apicaller, callback)

# electronVideoWindowDownloadVideo

import {electronVideoWindowDownloadVideo} from 'yach.electron.ipcrenderer';
//Video Window Download Video
electronVideoWindowDownloadVideo(win, data)

# electronVideoWindowDownloadCancel

import {electronVideoWindowDownloadCancel} from 'yach.electron.ipcrenderer';
//Video Window Download Cancel
electronVideoWindowDownloadCancel(win, data)

# ipc-email

# electronGetEmailPreviewData

import { electronGetEmailPreviewData } from 'yach.electron.ipcrenderer';
//get email preview data
electronGetEmailPreviewData(apicaller, callback)

# emailNoticeAction

import { emailNoticeAction } from 'yach.electron.ipcrenderer';
// notice action
emailNoticeAction(win, data)

# emailDialogClickAction

import { emailDialogClickAction } from 'yach.electron.ipcrenderer';
// email dialog click action
emailDialogClickAction(win, data)

# ipc-file

# electronOpenDirectory

import { electronOpenDirectory } from 'yach.electron.ipcrenderer';
// open driectory
electronOpenDirectory(apicaller, data)

# electronChangeVoicesData

import { electronChangeVoicesData } from 'yach.electron.ipcrenderer';
//change voices data
electronChangeVoicesData(apicaller, callback) 

# electronCheckFile

import { electronCheckFile } from 'yach.electron.ipcrenderer';
// check 本地文件是否有变动
electronCheckFile(data, callback)

# electronOpenFile

import { electronOpenFile } from 'yach.electron.ipcrenderer';
// 打开文件
electronOpenFile(apicaller,data)

# electronFilepreviewWinOpen

import { electronFilepreviewWinOpen } from 'yach.electron.ipcrenderer';
// File preview Win Open
electronFilepreviewWinOpen(apicaller,data)

# electronSendToVideoWindowOpenFolder

import { electronSendToVideoWindowOpenFolder } from 'yach.electron.ipcrenderer';
// SendTo Video Window Open Folder
 electronSendToVideoWindowOpenFolder(win,data)

# electronVideoWindowShare

import { electronVideoWindowShare } from 'yach.electron.ipcrenderer';
// Video Window Share
 electronVideoWindowShare(win,data)

# electronVoiceDataGet

import { electronVoiceDataGet } from 'yach.electron.ipcrenderer';
// Voice data get
 electronVoiceDataGet(win, data, callback)

# ipc-images

# electronImagesGet

import { electronImagesGet } from 'yach.electron.ipcrenderer';
// Voice data get
 electronImagesGet(id, callback)

# electronImagWinOpen

import { electronImagWinOpen } from 'yach.electron.ipcrenderer';
// Voice data get
 electronImagWinOpen(data)

# ipc-info

# getVersion

import { getVersion } from 'yach.electron.ipcrenderer';

// 获取客户端版本号
getVersion((v) => {
	console.log(v);
});

# getClientEnv

import { getClientEnv } from 'yach.electron.ipcrenderer';

// 获取客户端环境
getClientEnv((e) => {
	console.log(e);
});

# getClientOsinfo

import { getClientOsinfo } from 'yach.electron.ipcrenderer';

// 获取客户端os
getClientOsinfo((o) => {
	console.log(o);
});

# electronSendGroupData

import { electronSendGroupData } from 'yach.electron.ipcrenderer';

// send group data 窗口类型需要包含在sendData中
electronSendGroupData(sendData,callback);

# electronGetWindowInfo

import { electronGetWindowInfo } from 'yach.electron.ipcrenderer';
// get window info 
electronGetWindowInfo(apicaller);

# ipc-log

# log

import { log } from 'yach.electron.ipcrenderer';

/**
 * log
 *  project,所属项目,例如yach_13_im
 *  namespace,命名空间,采用开发者姓名全拼,例如qiaowenbin
 *  unit,业务单元,例如session list
 *  …msg,其他信息,以下几种情况会过滤
	1.无msg或msg总个数超过10个
	2.各个msg的长度总和超过100
	3.任一msg非null, number, string, boolean, undefined类型,如需传object自行json化
 */
log(project, namespace, unit, ...msg);

# ipc-meeting

# electronSendMsgEnterMeeting

import { electronSendMsgEnterMeeting } from 'yach.electron.ipcrenderer';

//加入会议
electronSendMsgEnterMeeting(data);

# agoraRtmReceiveMessage

import { agoraRtmReceiveMessage } from 'yach.electron.ipcrenderer';

// agora 收到消息回调
agoraRtmReceiveMessage(apicaller, callback);

# zoomMeetingstatusChange

import { zoomMeetingstatusChange } from 'yach.electron.ipcrenderer';

// zoom会议室状态监听
zoomMeetingstatusChange(apicaller, callback);

# electronOpenInvite

import { electronOpenInvite } from 'yach.electron.ipcrenderer';

// Open Invite
electronOpenInvite(data);

# electronReceiveMsg

import { electronReceiveMsg } from 'yach.electron.ipcrenderer';

// Receive Messsage
electronReceiveMsg(apicaller, callback);

# zoomMeetingUserJoin

import { zoomMeetingUserJoin } from 'yach.electron.ipcrenderer';

// zoom会议室用户加入监听
zoomMeetingUserJoin(apicaller, callback);

# zoomMeetingUserLeft

import { zoomMeetingUserLeft } from 'yach.electron.ipcrenderer';

//  zoom会议室用户离开监听
zoomMeetingUserLeft(apicaller, callback);

# zoomMeetingHostChange

import { zoomMeetingHostChange } from 'yach.electron.ipcrenderer';

//  zoom会议主持人变更
zoomMeetingHostChange(apicaller, callback);

# agoraRtmUserLeave

import { agoraRtmUserLeave } from 'yach.electron.ipcrenderer';

// agora 收到用户离开频道的回调
agoraRtmUserLeave(apicaller, callback);

# electronZoomCallFn

import { electronZoomCallFn } from 'yach.electron.ipcrenderer';

// zoom方法调用
electronZoomCallFn(fnName, data, winName, callback)

# elelctronMainWindowZoominvitebuttonClicked

import { elelctronMainWindowZoominvitebuttonClicked } from 'yach.electron.ipcrenderer';

// Main Window Zoom invite button Clicked
elelctronMainWindowZoominvitebuttonClicked(win, data)

# electronZoomRefresh

import { electronZoomRefresh } from 'yach.electron.ipcrenderer';

// Zoom Refresh
electronZoomRefresh(win, data)

# electronStartCall

import { electronStartCall } from 'yach.electron.ipcrenderer';

// start call
electronStartCall(win, data)

# ipc-message

# electronUnreadOpenWin

import { electronUnreadOpenWin } from 'yach.electron.ipcrenderer';

// Unread Open Win
electronUnreadOpenWin(data)

# electronUnreadCloseWin

import { electronUnreadCloseWin } from 'yach.electron.ipcrenderer';

// Unread close Win
electronUnreadCloseWin()

# electrongIsreadMsgReadGet

import { electrongIsreadMsgReadGet } from 'yach.electron.ipcrenderer';

// Is readMsg Read Get
electrongIsreadMsgReadGet(win, id, idServer, callback)

# electronAgoraSendMessage

import { electronAgoraSendMessage } from 'yach.electron.ipcrenderer';

// Agora Send Message
electronAgoraSendMessage(win, data)

# elelctronAgoraClearChannel

import { elelctronAgoraClearChannel } from 'yach.electron.ipcrenderer';

// Agora Clear Channel
elelctronAgoraClearChannel(win, data)

# electronInviteSaveMessage

import { electronInviteSaveMessage } from 'yach.electron.ipcrenderer';

// Invite Save Message
electronInviteSaveMessage(win, data)

# electronMessageSend

import { electronMessageSend } from 'yach.electron.ipcrenderer';

// message send
electronMessageSend(win, data)

# ipc-page

# electronLoadFinish

import { electronLoadFinish } from 'yach.electron.ipcrenderer';

// load finish
electronLoadFinish(apicaller, callback)

# electronSinglewebviewGet

import { electronSinglewebviewGet } from 'yach.electron.ipcrenderer';

// Single webview Get
electronSinglewebviewGet(data, callback)

# electronChangeSinglewebviewData

import { electronChangeSinglewebviewData } from 'yach.electron.ipcrenderer';

// Change Single webview Data
electronChangeSinglewebviewData(apicaller, callback)

# electronWebviewAddTab

import { electronWebviewAddTab } from 'yach.electron.ipcrenderer';

// Webview Add Tab
electronWebviewAddTab(apicaller, callback)

# electronCloseWebview

import { electronCloseWebview } from 'yach.electron.ipcrenderer';

// Close Webview
electronCloseWebview(apicaller, callback)

# electronWebviewNewTabRes

import { electronWebviewNewTabRes } from 'yach.electron.ipcrenderer';

//  Webview New TabRes
electronWebviewNewTabRes(apicaller, callback)
import { electronOpenLink } from 'yach.electron.ipcrenderer';

//  open link
electronOpenLink(data)

# electronSinglewebviewOpen

import { electronSinglewebviewOpen } from 'yach.electron.ipcrenderer';

// Single webview Open
electronSinglewebviewOpen(data)

# electronWebviewHideMethod

import { electronWebviewHideMethod } from 'yach.electron.ipcrenderer';

// Webview Hide Method
electronWebviewHideMethod(data)

# electronSendToCloseWebviewWindow

import { electronSendToCloseWebviewWindow } from 'yach.electron.ipcrenderer';

// SendTo Close Webview Window
electronSendToCloseWebviewWindow(win)

# electronSendToNewTab

import { electronSendToNewTab } from 'yach.electron.ipcrenderer';

// SendTo New Tab
electronSendToNewTab(win)

# electronSentToWeeklyShare

import { electronSentToWeeklyShare } from 'yach.electron.ipcrenderer';

// SendTo weekly share
electronSentToWeeklyShare(win, data, callback)

# electronGetGlobalData

import { electronGetGlobalData } from 'yach.electron.ipcrenderer';

// get clobal data
electronGetGlobalData(key)

# ipc-panel

# electronOpenUserpanel

import { electronOpenUserpanel } from 'yach.electron.ipcrenderer';

// 打开用户信息 弹框
electronOpenUserpanel(data)

# electronUserTokenGet

import { electronUserTokenGet } from 'yach.electron.ipcrenderer';

// user token get
electronUserTokenGet(callback)

# electronUserIdGet

import { electronUserIdGet } from 'yach.electron.ipcrenderer';

// User Id Get
electronUserIdGet(callback)

# electronUserAddSession

import { electronUserAddSession } from 'yach.electron.ipcrenderer';

// User Add Session
electronUserAddSession(apicaller, data, callback)

# electronUserAddOrgWinOpen

import { electronUserAddOrgWinOpen } from 'yach.electron.ipcrenderer';

// User Add Org Win Open
electronUserAddOrgWinOpen(apicaller, data, callback)

# electronUseraddComplexWindowOpen

import { electronUseraddComplexWindowOpen } from 'yach.electron.ipcrenderer';

// User add Complex Window Open
electronUseraddComplexWindowOpen(apicaller, data, callback)

# electronUseraddGroupWindowOpen

import { electronUseraddGroupWindowOpen } from 'yach.electron.ipcrenderer';

// User add Group Window Open
electronUseraddGroupWindowOpen(apicaller, data, callback)

# electronWorkbenchWindowOpen

import { electronWorkbenchWindowOpen } from 'yach.electron.ipcrenderer';

// Workbenc hWindow Open
electronWorkbenchWindowOpen(apicaller, data)

# electronslidePanelWorkbenchOpen

import { electronslidePanelWorkbenchOpen } from 'yach.electron.ipcrenderer';

// slide Panel Workbench Open
electronslidePanelWorkbenchOpen(apicaller, callback)

# electronReminWindowOpen

import { electronReminWindowOpen } from 'yach.electron.ipcrenderer';

// Remin Window Open
electronReminWindowOpen(win, data)

# electronCloseItem

import { electronCloseItem } from 'yach.electron.ipcrenderer';

// Close Item
electronCloseItem(apicaller, callback)

# electronSendToUseraddWindowRes

import { electronSendToUseraddWindowRes } from 'yach.electron.ipcrenderer';

// SendTo User add WindowRes
electronSendToUseraddWindowRes(win,data)

# electronSessionListGet

import { electronSessionListGet } from 'yach.electron.ipcrenderer';

// Session List Get
electronSessionListGet(win, apicaller, callback)

# electronSendToUserpanelGogroup

import { electronSendToUserpanelGogroup } from 'yach.electron.ipcrenderer';

// SendTo User panel Gogroup
electronSendToUserpanelGogroup(win, data)

# electronSendToOpenTeamChat

import { electronSendToOpenTeamChat } from 'yach.electron.ipcrenderer';

// SendTo Open Team Chat
electronSendToOpenTeamChat(win, data)

# electronSendToOpenSingleChat

import { electronSendToOpenSingleChat } from 'yach.electron.ipcrenderer';

// SendTo Open Single Chat
electronSendToOpenSingleChat(win, data)

# ipc-proxy

# electronJssdkProxy

import { electronJssdkProxy } from 'yach.electron.ipcrenderer';

// Jssdk Proxy
electronJssdkProxy(apicaller, data,callback)

# ipc-systemset

# electronResize

import { electronResize } from 'yach.electron.ipcrenderer';

// 设置窗体大小
electronResize(data)

# electronSystemBlur

import { electronSystemBlur } from 'yach.electron.ipcrenderer';

// 监听窗口失焦
electronSystemBlur(callback)

# electronRemoveSystemBlur

import { electronRemoveSystemBlur } from 'yach.electron.ipcrenderer';

// 移出窗口失焦监听
electronRemoveSystemBlur(callback)

# electronStartUp

import { electronStartUp } from 'yach.electron.ipcrenderer';

// 设置是否开机启动
electronStartUp(isStart = false)

# electronSetLocale

import { electronSetLocale } from 'yach.electron.ipcrenderer';

// 设置语言
electronSetLocale(lang = 'locale')

# electronRegister

import { electronRegister } from 'yach.electron.ipcrenderer';

// 全局快捷键-注册
electronRegister(data)

# electronIsregister

import { electronIsregister } from 'yach.electron.ipcrenderer';

// 全局快捷键-是否注册成功
electronIsregister(accelerator)

# electronUnregister

import { electronUnregister } from 'yach.electron.ipcrenderer';

// 全局快捷键-注销
electronUnregister(accelerator)

# electronNotify

import { electronNotify } from 'yach.electron.ipcrenderer';

// 设置通知内容
electronNotify(type='',data)

# electronSetMenu

import { electronSetMenu } from 'yach.electron.ipcrenderer';

// 应用内快捷键-设置
electronSetMenu(cmd)

# electronSystemSendTypeChange

import { electronSystemSendTypeChange } from 'yach.electron.ipcrenderer';

// System Send Type Change
electronSystemSendTypeChange(win,data)

# electronLogout

import { electronLogout } from 'yach.electron.ipcrenderer';

// electron Logout
electronLogout(win,data)

# electronLogoutCloseWindow

import { electronLogoutCloseWindow } from 'yach.electron.ipcrenderer';

// Logout close window
electronLogoutCloseWindow(data)

# electronSessionClear

import { electronSessionClear } from 'yach.electron.ipcrenderer';

// Session Clear
electronSessionClear()

# electronGetCache

import { electronGetCache } from 'yach.electron.ipcrenderer';

// get cache
electronGetCache()

# ipc-upload

# electronFileUpload

import { electronFileUpload } from 'yach.electron.ipcrenderer';

// 文件上传
electronFileUpload({type, apicaller, channelid, data, rescallback, progresscallback}) 

# electronClipboardUpload

import { electronClipboardUpload } from 'yach.electron.ipcrenderer';

// 剪贴板文件上传
electronClipboardUpload({apicaller, data, rescallback, progresscallback}) 

# electronFileUploadDestory

import { electronFileUploadDestory } from 'yach.electron.ipcrenderer';

// 取消上传
electronFileUploadDestory(data) 

# electronWorkbenchUpload

import { electronWorkbenchUpload } from 'yach.electron.ipcrenderer';

// 工作台上传
electronWorkbenchUpload({apicaller, data, rescallback, progresscallback})

# ipc-version-win

# electronVersionUpdate

import { electronVersionUpdate } from 'yach.electron.ipcrenderer';

// version update
electronVersionUpdate(data, callback, progresscallback) 

# electronUnzip

import { electronUnzip } from 'yach.electron.ipcrenderer';

// unzip
electronUnzip(data, callback) 

# electronIncrementInstall

import { electronIncrementInstall } from 'yach.electron.ipcrenderer';

// Increment Install
electronIncrementInstall(data, callback) 

# electronClientInstall

import { electronClientInstall } from 'yach.electron.ipcrenderer';

// Client Install
electronClientInstall(data) 

# electronWinClientInstall

import { electronWinClientInstall } from 'yach.electron.ipcrenderer';

// Win Client Install
electronWinClientInstall(apicaller, data, callback)

# electronWindowResize

import { electronWindowResize } from 'yach.electron.ipcrenderer';

// window resize
electronWindowResize(apicaller, data) 

# electronVersionUpdatePause

import { electronVersionUpdatePause } from 'yach.electron.ipcrenderer';

// 版本跟新暂停
electronVersionUpdatePause(apicaller, data) 

# electronRelaunch

import { electronRelaunch } from 'yach.electron.ipcrenderer';

// electron Relaunch
electronRelaunch(apicaller, data) 

# ipc-window-operation

# show

import { show } from 'yach.electron.ipcrenderer';

// 显示窗口
// targetWindow 目标窗口
show(targetWindow);

# hide

import { hide } from 'yach.electron.ipcrenderer';

// 隐藏窗口
// targetWindow 目标窗口
hide(targetWindow);

# max

import { max } from 'yach.electron.ipcrenderer';

// 最大化窗口
// targetWindow 目标窗口
max(targetWindow);

# min

import { min } from 'yach.electron.ipcrenderer';

// 最小化窗口
// targetWindow 目标窗口
min(targetWindow);

# close

import { close } from 'yach.electron.ipcrenderer';

// 关闭窗口
// targetWindow 目标窗口
close(targetWindow);

# quit

import { quit } from 'yach.electron.ipcrenderer';

// 退出程序
// targetWindow 目标窗口
quit(targetWindow);

# winFocus

import { winFocus } from 'yach.electron.ipcrenderer';

// focus
winFocus(win);

# version

# 0.1.6.20200729

  1. update electronNotify's params in ipc-systemset
  2. update readme

# 0.1.5.20200727

  1. add ipc-email
  2. update ipc-file electronCheckFile

# 0.1.3.20200723

  1. update ipc-proxy

# 0.0.6.20200720

  1. ipc-channel-listener
  2. ipc-download
  3. ipc-file
  4. ipc-images
  5. ipc-meeting
  6. ipc-message
  7. ipc-page
  8. ipc-panel
  9. ipc-proxy
  10. ipc-systemset
  11. ipc-upload
  12. ipc-version-win

# 0.0.5.20200717

  1. ipc log add check msg

# 0.0.4.20200705

  1. 更新readme

# 0.0.3.20200627

  1. ipc window operation

# 0.0.2.20200626

  1. ipc info

# 0.0.1.20200613

  1. init project
  2. electron log add project
foo