プラットフォーム | バージョン |
Electron | 13.1.5以上のバージョン。 |
Node.js | v14.2.0 |
継承方式 | 適用シナリオ |
DEMOの使用 | IM Demoは完全なチャット機能を含み、コードはオープンソース化されています。チャットライクなユースケースを実装したい場合は、Demoを使用して二次開発を行うことができます。今すぐDemo体験が可能です。 |
自己実装 | この方法は、Demoがアプリケーションの機能インターフェース要件を満たしていない場合に使用できます。 |
git clone https://github.com/TencentCloud/tc-chat-demo-electron.git
// プロジェクトのルートディレクトリnpm install// レンダリングプロセスディレクトリcd src/clientnpm install
// プロジェクトのルートディレクトリnpm start
// macパッケージ化npm run build:mac// windowsパッケージ化npm run build:windows
src/app/main.js
であり、レンダリングプロセスのディレクトリはsrc/client
です。実行中に問題が発生した場合は、FAQを使用して解決することができます。npm install im_electron_sdk
sdkAppID
をTimMain
に渡します。// メインプロセスconst TimMain = require('im_electron_sdk/dist/main')const sdkappid=0;// Tencent Cloud IMコンソールで申し込みます。const tim = new TimMain({sdkappid:sdkappid})
TIMInit
を呼び出してSDKの初期化を完了します。// レンダリングプロセスconst TimRender = require('im_electron_sdk/dist/render')const timRender = new TimRender();// 初期化timRender.TIMInit()
timRender.TIMLogin
メソッドを呼び出し、テストユーザとしてログインします。
戻り値code
が0の場合、ログインは成功です。const TimRender = require('im_electron_sdk/dist/render')const timRender = new TimRender();let {code} = await timRender.TIMLogin({userID: "userID",userSig:"userSig" // userSigの生成を参照})
UserSig
の正しい発行方法は、UserSig
の計算コードをサーバーに統合し、Appのインターフェースを提供することです。UserSig
が必要なときは、Appから業務サーバーに対し、動的にUserSig
を取得するリクエストを送信します。詳細についてはサーバーでのUserSig新規作成をご参照ください。code
が0を返すとメッセージ送信が成功したことを意味します。
サンプルコード:const TimRender = require('im_electron_sdk/dist/render')const timRender = new TimRender();let param:MsgSendMessageParamsV2 = { // param of TIMMsgSendMessageconv_id: "conv_id",conv_type: 1,params: {message_elem_array: [{elem_type: 1,text_elem_content:'Hello Tencent!',}],message_sender: "senderID",},callback: (data) => {}}let {code} = await timRender.TIMMsgSendMessageV2(param);
let param:getConvList = {userData:userData,}let data:commonResult<convInfo[]> = await timRenderInstance.TIMConvGetConvList(param)
let param:MsgGetMsgListParams = {conv_id: conv_id,conv_type: conv_type,params: {msg_getmsglist_param_last_msg: msg,msg_getmsglist_param_count: 20,msg_getmsglist_param_is_remble: true,},user_data: user_data}let msgList:commonResult<Json_value_msg[]> = await timRenderInstance.TIMMsgGetMsgList(param);
let param : TIMRecvNewMsgCallbackParams = {callback: (...args)=>{},user_data: user_data}timRenderInstance.TIMAddRecvNewMsgCallback(param);
npm ERR!gyp ERR!stack TypeError:Cannot assign to read only property'cflags'of object'#<Object>'
エラーが発生した場合の解決方法は。gypgyp ERR!ERR
エラーが発生した場合の解決方法は。npm install
を実行するとnpm ERR! Fix the upstream dependency conflict,or retry
のエラーが発生した場合の解決方法npm install --force
npm run start
を実行するとError:error:0308010C:digital envelope routines::unsupported
のエラーが発生します。どうすればいいですか。npm run start
を実行すると白い画面が表示される場合の解決方法は。npm run start
を実行すると白い画面が表示される原因は、レンダリングプロセスコードのbuildが完了しておらず、メインプロセスによって開かれた3000ポートがブランクページであるためです。レンダリングプロセスコードのbuildが完了した後にウインドウを更新することで、この問題を解決できます。またはcd src/client && npm run dev:react
, npm run dev:electron
を実行し、レンダリングプロセスとメインプロセスを別々に開始します。vue-cli-plugin-electron-builder
で構築されたプロジェクトはnative modules
をどのように使用しますか?vue-cli-plugin-electron-builder
を使用して構築されたプロジェクトでnative modules
を使用するには、No native build was found for platform=xxxをご参照ください。webpack
で構築されたプロジェクトはどのようにnative modules
を使用しますか?Dynamic Linking Error
が表示されますか?extraFiles:[{"from": "./node_modules/im_electron_sdk/lib/","to": "./Resources","filter": ["**/*"]}]
この記事はお役に立ちましたか?