parent
f04d45f6b8
commit
70a46ed151
@ -1,3 +1,6 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" |
||||
package="io.openim.flutter_openim_sdk"> |
||||
</manifest> |
||||
package="io.openim.flutter_openim_sdk"> |
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
||||
</manifest> |
@ -0,0 +1,78 @@ |
||||
package io.openim.flutter_openim_sdk.connectivity; |
||||
|
||||
import android.net.ConnectivityManager; |
||||
import android.net.Network; |
||||
import android.net.NetworkCapabilities; |
||||
import android.os.Build; |
||||
|
||||
public class Connectivity { |
||||
static final String CONNECTIVITY_NONE = "none"; |
||||
static final String CONNECTIVITY_WIFI = "wifi"; |
||||
static final String CONNECTIVITY_MOBILE = "mobile"; |
||||
static final String CONNECTIVITY_ETHERNET = "ethernet"; |
||||
static final String CONNECTIVITY_BLUETOOTH = "bluetooth"; |
||||
static final String CONNECTIVITY_VPN = "vpn"; |
||||
private final ConnectivityManager connectivityManager; |
||||
|
||||
public Connectivity(ConnectivityManager connectivityManager) { |
||||
this.connectivityManager = connectivityManager; |
||||
} |
||||
|
||||
String getNetworkType() { |
||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { |
||||
Network network = connectivityManager.getActiveNetwork(); |
||||
NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(network); |
||||
if (capabilities == null) { |
||||
return CONNECTIVITY_NONE; |
||||
} |
||||
if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) { |
||||
return CONNECTIVITY_WIFI; |
||||
} |
||||
if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) { |
||||
return CONNECTIVITY_ETHERNET; |
||||
} |
||||
if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_VPN)) { |
||||
return CONNECTIVITY_VPN; |
||||
} |
||||
if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) { |
||||
return CONNECTIVITY_MOBILE; |
||||
} |
||||
if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_BLUETOOTH)) { |
||||
return CONNECTIVITY_BLUETOOTH; |
||||
} |
||||
} |
||||
|
||||
return getNetworkTypeLegacy(); |
||||
} |
||||
|
||||
@SuppressWarnings("deprecation") |
||||
private String getNetworkTypeLegacy() { |
||||
// handle type for Android versions less than Android 6
|
||||
android.net.NetworkInfo info = connectivityManager.getActiveNetworkInfo(); |
||||
if (info == null || !info.isConnected()) { |
||||
return CONNECTIVITY_NONE; |
||||
} |
||||
int type = info.getType(); |
||||
switch (type) { |
||||
case ConnectivityManager.TYPE_BLUETOOTH: |
||||
return CONNECTIVITY_BLUETOOTH; |
||||
case ConnectivityManager.TYPE_ETHERNET: |
||||
return CONNECTIVITY_ETHERNET; |
||||
case ConnectivityManager.TYPE_WIFI: |
||||
case ConnectivityManager.TYPE_WIMAX: |
||||
return CONNECTIVITY_WIFI; |
||||
case ConnectivityManager.TYPE_VPN: |
||||
return CONNECTIVITY_VPN; |
||||
case ConnectivityManager.TYPE_MOBILE: |
||||
case ConnectivityManager.TYPE_MOBILE_DUN: |
||||
case ConnectivityManager.TYPE_MOBILE_HIPRI: |
||||
return CONNECTIVITY_MOBILE; |
||||
default: |
||||
return CONNECTIVITY_NONE; |
||||
} |
||||
} |
||||
|
||||
public ConnectivityManager getConnectivityManager() { |
||||
return connectivityManager; |
||||
} |
||||
} |
@ -0,0 +1,101 @@ |
||||
package io.openim.flutter_openim_sdk.connectivity; |
||||
|
||||
|
||||
import android.content.BroadcastReceiver; |
||||
import android.content.Context; |
||||
import android.content.Intent; |
||||
import android.content.IntentFilter; |
||||
import android.net.ConnectivityManager; |
||||
import android.net.Network; |
||||
import android.os.Build; |
||||
|
||||
import io.flutter.Log; |
||||
import io.openim.flutter_openim_sdk.FlutterOpenimSdkPlugin; |
||||
import open_im_sdk.Open_im_sdk; |
||||
|
||||
|
||||
public class ConnectivityListener implements open_im_sdk_callback.Base { |
||||
public static final String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; |
||||
private Context context; |
||||
private ConnectivityManager connectivityManager; |
||||
private Connectivity connectivity; |
||||
private ConnectivityBroadcastReceiver receiver; |
||||
private ConnectivityManager.NetworkCallback networkCallback; |
||||
|
||||
public ConnectivityListener(Context context) { |
||||
this.context = context; |
||||
this.connectivityManager = |
||||
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); |
||||
this.connectivity = new Connectivity(connectivityManager); |
||||
this.receiver = new ConnectivityBroadcastReceiver(this); |
||||
} |
||||
|
||||
private void onChangedNetworkStatus() { |
||||
String status = connectivity.getNetworkType(); |
||||
if (Connectivity.CONNECTIVITY_MOBILE.equals(status) || Connectivity.CONNECTIVITY_WIFI.equals(status)) { |
||||
Log.i("ConnectivityListener", "networkStatusChanged: " + status); |
||||
if (FlutterOpenimSdkPlugin.isInitialized) { |
||||
Open_im_sdk.networkStatusChanged(this, String.valueOf(System.currentTimeMillis())); |
||||
} |
||||
} |
||||
} |
||||
|
||||
public void register() { |
||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { |
||||
networkCallback = new ConnectivityManager.NetworkCallback() { |
||||
@Override |
||||
public void onAvailable(Network network) { |
||||
onChangedNetworkStatus(); |
||||
} |
||||
|
||||
@Override |
||||
public void onLost(Network network) { |
||||
} |
||||
}; |
||||
connectivity.getConnectivityManager().registerDefaultNetworkCallback(networkCallback); |
||||
} else { |
||||
context.registerReceiver(receiver, new IntentFilter(CONNECTIVITY_ACTION)); |
||||
} |
||||
} |
||||
|
||||
public void unregisterReceiver() { |
||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { |
||||
if (networkCallback != null) { |
||||
connectivity.getConnectivityManager().unregisterNetworkCallback(networkCallback); |
||||
networkCallback = null; |
||||
} |
||||
} else { |
||||
try { |
||||
context.unregisterReceiver(receiver); |
||||
receiver = null; |
||||
} catch (Exception e) { |
||||
//listen never called, ignore the error
|
||||
} |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void onError(int i, String s) { |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void onSuccess(String s) { |
||||
|
||||
} |
||||
|
||||
public static class ConnectivityBroadcastReceiver extends BroadcastReceiver { |
||||
ConnectivityListener listener; |
||||
|
||||
public ConnectivityBroadcastReceiver(ConnectivityListener listener) { |
||||
this.listener = listener; |
||||
} |
||||
|
||||
@Override |
||||
public void onReceive(Context context, Intent intent) { |
||||
if (null != listener && CONNECTIVITY_ACTION.equals(intent.getAction())) { |
||||
listener.onChangedNetworkStatus(); |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,78 @@ |
||||
package io.openim.flutter_openim_sdk.connectivity; |
||||
|
||||
import android.app.Activity; |
||||
import android.app.Application; |
||||
import android.os.Bundle; |
||||
|
||||
import androidx.annotation.NonNull; |
||||
import androidx.annotation.Nullable; |
||||
|
||||
import io.flutter.Log; |
||||
import io.openim.flutter_openim_sdk.FlutterOpenimSdkPlugin; |
||||
import open_im_sdk.Open_im_sdk; |
||||
|
||||
public class VisibilityListener implements Application.ActivityLifecycleCallbacks, open_im_sdk_callback.Base { |
||||
public void register(Activity activity) { |
||||
if (null != activity) { |
||||
activity.getApplication().registerActivityLifecycleCallbacks(this); |
||||
} |
||||
} |
||||
|
||||
public void unregisterReceiver(Activity activity) { |
||||
if (null != activity) { |
||||
activity.getApplication().unregisterActivityLifecycleCallbacks(this); |
||||
} |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) { |
||||
Log.i("VisibilityListener", "onActivityCreated"); |
||||
} |
||||
|
||||
@Override |
||||
public void onActivityStarted(@NonNull Activity activity) { |
||||
Log.i("VisibilityListener", "onActivityStarted"); |
||||
} |
||||
|
||||
@Override |
||||
public void onActivityResumed(@NonNull Activity activity) { |
||||
Log.i("VisibilityListener", "onActivityResumed"); |
||||
if (FlutterOpenimSdkPlugin.isInitialized) { |
||||
Open_im_sdk.setAppBackgroundStatus(this, String.valueOf(System.currentTimeMillis()), false); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void onActivityPaused(@NonNull Activity activity) { |
||||
Log.i("VisibilityListener", "onActivityPaused"); |
||||
if (FlutterOpenimSdkPlugin.isInitialized) { |
||||
Open_im_sdk.setAppBackgroundStatus(this, String.valueOf(System.currentTimeMillis()), true); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void onActivityStopped(@NonNull Activity activity) { |
||||
Log.i("VisibilityListener", "onActivityStopped"); |
||||
} |
||||
|
||||
@Override |
||||
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) { |
||||
Log.i("VisibilityListener", "onActivitySaveInstanceState"); |
||||
} |
||||
|
||||
@Override |
||||
public void onActivityDestroyed(@NonNull Activity activity) { |
||||
Log.i("VisibilityListener", "onActivityDestroyed"); |
||||
} |
||||
|
||||
@Override |
||||
public void onError(int i, String s) { |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void onSuccess(String s) { |
||||
|
||||
} |
||||
} |
@ -0,0 +1,86 @@ |
||||
package io.openim.flutter_openim_sdk.listener; |
||||
|
||||
import android.util.ArrayMap; |
||||
|
||||
import java.util.Map; |
||||
|
||||
import io.flutter.plugin.common.MethodCall; |
||||
import io.flutter.plugin.common.MethodChannel; |
||||
import io.openim.flutter_openim_sdk.util.CommonUtil; |
||||
import open_im_sdk_callback.PutFileCallback; |
||||
|
||||
public class OnPutFileListener implements PutFileCallback { |
||||
final private MethodChannel.Result result; |
||||
final private Object putID; |
||||
|
||||
public OnPutFileListener(MethodChannel.Result result, MethodCall call) { |
||||
this.result = result; |
||||
this.putID = call.argument("putID"); |
||||
} |
||||
|
||||
@Override |
||||
public void hashComplete(String hash, long total) { |
||||
if (null != putID) { |
||||
final Map<String, Object> values = new ArrayMap<>(); |
||||
values.put("putID", putID); |
||||
values.put("hash", hash); |
||||
values.put("total", total); |
||||
CommonUtil.emitEvent("putFileListener", "hashComplete", values); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void hashProgress(long current, long total) { |
||||
if (null != putID) { |
||||
final Map<String, Object> values = new ArrayMap<>(); |
||||
values.put("putID", putID); |
||||
values.put("current", current); |
||||
values.put("total", total); |
||||
CommonUtil.emitEvent("putFileListener", "hashProgress", values); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void open(long size) { |
||||
if (null != putID) { |
||||
final Map<String, Object> values = new ArrayMap<>(); |
||||
values.put("putID", putID); |
||||
values.put("size", size); |
||||
CommonUtil.emitEvent("putFileListener", "open", values); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void putComplete(long total, long putType) { |
||||
if (null != putID) { |
||||
final Map<String, Object> values = new ArrayMap<>(); |
||||
values.put("putID", putID); |
||||
values.put("putType", putType); |
||||
values.put("total", total); |
||||
CommonUtil.emitEvent("putFileListener", "putComplete", values); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void putProgress(long save, long current, long total) { |
||||
if (null != putID) { |
||||
final Map<String, Object> values = new ArrayMap<>(); |
||||
values.put("putID", putID); |
||||
values.put("save", save); |
||||
values.put("current", current); |
||||
values.put("total", total); |
||||
CommonUtil.emitEvent("putFileListener", "putProgress", values); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void putStart(long current, long total) { |
||||
if (null != putID) { |
||||
final Map<String, Object> values = new ArrayMap<>(); |
||||
values.put("putID", putID); |
||||
values.put("current", current); |
||||
values.put("total", total); |
||||
CommonUtil.emitEvent("putFileListener", "putStart", values); |
||||
} |
||||
} |
||||
} |
@ -1,33 +1,33 @@ |
||||
package io.openim.flutter_openim_sdk.manager; |
||||
|
||||
import io.flutter.plugin.common.MethodCall; |
||||
import io.flutter.plugin.common.MethodChannel; |
||||
import io.openim.flutter_openim_sdk.listener.OnBaseListener; |
||||
import io.openim.flutter_openim_sdk.listener.OnWorkMomentsListener; |
||||
import open_im_sdk.Open_im_sdk; |
||||
|
||||
public class WorkMomentsManager extends BaseManager { |
||||
|
||||
public void setWorkMomentsListener(MethodCall methodCall, MethodChannel.Result result) { |
||||
Open_im_sdk.setWorkMomentsListener(new OnWorkMomentsListener()); |
||||
|
||||
result.success(null); |
||||
} |
||||
|
||||
public void getWorkMomentsUnReadCount(MethodCall methodCall, MethodChannel.Result result) { |
||||
Open_im_sdk.getWorkMomentsUnReadCount(new OnBaseListener(result, methodCall), |
||||
value(methodCall, "operationID")); |
||||
} |
||||
|
||||
public void getWorkMomentsNotification(MethodCall methodCall, MethodChannel.Result result) { |
||||
Open_im_sdk.getWorkMomentsNotification(new OnBaseListener(result, methodCall), |
||||
value(methodCall, "operationID"), |
||||
int2long(methodCall, "offset"), |
||||
int2long(methodCall, "count")); |
||||
} |
||||
|
||||
public void clearWorkMomentsNotification(MethodCall methodCall, MethodChannel.Result result) { |
||||
Open_im_sdk.clearWorkMomentsNotification(new OnBaseListener(result, methodCall), |
||||
value(methodCall, "operationID")); |
||||
} |
||||
} |
||||
//package io.openim.flutter_openim_sdk.manager;
|
||||
//
|
||||
//import io.flutter.plugin.common.MethodCall;
|
||||
//import io.flutter.plugin.common.MethodChannel;
|
||||
//import io.openim.flutter_openim_sdk.listener.OnBaseListener;
|
||||
//import io.openim.flutter_openim_sdk.listener.OnWorkMomentsListener;
|
||||
//import open_im_sdk.Open_im_sdk;
|
||||
//
|
||||
//public class WorkMomentsManager extends BaseManager {
|
||||
//
|
||||
// public void setWorkMomentsListener(MethodCall methodCall, MethodChannel.Result result) {
|
||||
// Open_im_sdk.setWorkMomentsListener(new OnWorkMomentsListener());
|
||||
//
|
||||
// result.success(null);
|
||||
// }
|
||||
//
|
||||
// public void getWorkMomentsUnReadCount(MethodCall methodCall, MethodChannel.Result result) {
|
||||
// Open_im_sdk.getWorkMomentsUnReadCount(new OnBaseListener(result, methodCall),
|
||||
// value(methodCall, "operationID"));
|
||||
// }
|
||||
//
|
||||
// public void getWorkMomentsNotification(MethodCall methodCall, MethodChannel.Result result) {
|
||||
// Open_im_sdk.getWorkMomentsNotification(new OnBaseListener(result, methodCall),
|
||||
// value(methodCall, "operationID"),
|
||||
// int2long(methodCall, "offset"),
|
||||
// int2long(methodCall, "count"));
|
||||
// }
|
||||
//
|
||||
// public void clearWorkMomentsNotification(MethodCall methodCall, MethodChannel.Result result) {
|
||||
// Open_im_sdk.clearWorkMomentsNotification(new OnBaseListener(result, methodCall),
|
||||
// value(methodCall, "operationID"));
|
||||
// }
|
||||
//}
|
||||
|
@ -1,59 +1,59 @@ |
||||
import Foundation |
||||
import OpenIMCore |
||||
|
||||
public class OrganizationManager: BaseServiceManager { |
||||
|
||||
public override func registerHandlers() { |
||||
super.registerHandlers() |
||||
self["setOrganizationListener"] = setOrganizationListener |
||||
self["getSubDepartment"] = getSubDepartment |
||||
self["getDepartmentMember"] = getDepartmentMember |
||||
self["getUserInDepartment"] = getUserInDepartment |
||||
self["getDepartmentMemberAndSubDepartment"] = getDepartmentMemberAndSubDepartment |
||||
self["getDepartmentInfo"] = getDepartmentInfo |
||||
self["searchOrganization"] = searchOrganization |
||||
} |
||||
|
||||
func setOrganizationListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSetOrganizationListener(OrganizationListener(channel: channel)) |
||||
callBack(result) |
||||
} |
||||
|
||||
func getSubDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkGetSubDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"], methodCall[int: "offset"], methodCall[int: "count"]) |
||||
} |
||||
|
||||
func getDepartmentMember(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkGetDepartmentMember(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"], methodCall[int: "offset"], methodCall[int: "count"]) |
||||
} |
||||
|
||||
func getUserInDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkGetUserInDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "userID"]) |
||||
} |
||||
|
||||
func getDepartmentMemberAndSubDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkGetDepartmentMemberAndSubDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"]) |
||||
} |
||||
|
||||
func getDepartmentInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkGetDepartmentInfo(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"]) |
||||
} |
||||
|
||||
func searchOrganization(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkSearchOrganization(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "searchParam"], methodCall[int: "offset"], methodCall[int: "count"]) |
||||
} |
||||
} |
||||
|
||||
public class OrganizationListener: NSObject, Open_im_sdk_callbackOnOrganizationListenerProtocol { |
||||
|
||||
private let channel:FlutterMethodChannel |
||||
|
||||
init(channel:FlutterMethodChannel) { |
||||
self.channel = channel |
||||
} |
||||
|
||||
public func onOrganizationUpdated() { |
||||
CommonUtil.emitEvent(channel: self.channel, method: "organizationListener", type: "onOrganizationUpdated", errCode: nil, errMsg: nil, data: nil) |
||||
} |
||||
|
||||
} |
||||
//import Foundation |
||||
//import OpenIMCore |
||||
// |
||||
//public class OrganizationManager: BaseServiceManager { |
||||
// |
||||
// public override func registerHandlers() { |
||||
// super.registerHandlers() |
||||
// self["setOrganizationListener"] = setOrganizationListener |
||||
// self["getSubDepartment"] = getSubDepartment |
||||
// self["getDepartmentMember"] = getDepartmentMember |
||||
// self["getUserInDepartment"] = getUserInDepartment |
||||
// self["getDepartmentMemberAndSubDepartment"] = getDepartmentMemberAndSubDepartment |
||||
// self["getDepartmentInfo"] = getDepartmentInfo |
||||
// self["searchOrganization"] = searchOrganization |
||||
// } |
||||
// |
||||
// func setOrganizationListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSetOrganizationListener(OrganizationListener(channel: channel)) |
||||
// callBack(result) |
||||
// } |
||||
// |
||||
// func getSubDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkGetSubDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"], methodCall[int: "offset"], methodCall[int: "count"]) |
||||
// } |
||||
// |
||||
// func getDepartmentMember(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkGetDepartmentMember(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"], methodCall[int: "offset"], methodCall[int: "count"]) |
||||
// } |
||||
// |
||||
// func getUserInDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkGetUserInDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "userID"]) |
||||
// } |
||||
// |
||||
// func getDepartmentMemberAndSubDepartment(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkGetDepartmentMemberAndSubDepartment(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"]) |
||||
// } |
||||
// |
||||
// func getDepartmentInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkGetDepartmentInfo(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "departmentID"]) |
||||
// } |
||||
// |
||||
// func searchOrganization(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkSearchOrganization(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "searchParam"], methodCall[int: "offset"], methodCall[int: "count"]) |
||||
// } |
||||
//} |
||||
// |
||||
//public class OrganizationListener: NSObject, Open_im_sdk_callbackOnOrganizationListenerProtocol { |
||||
// |
||||
// private let channel:FlutterMethodChannel |
||||
// |
||||
// init(channel:FlutterMethodChannel) { |
||||
// self.channel = channel |
||||
// } |
||||
// |
||||
// public func onOrganizationUpdated() { |
||||
// CommonUtil.emitEvent(channel: self.channel, method: "organizationListener", type: "onOrganizationUpdated", errCode: nil, errMsg: nil, data: nil) |
||||
// } |
||||
// |
||||
//} |
||||
|
@ -1,148 +1,148 @@ |
||||
import Foundation |
||||
import OpenIMCore |
||||
|
||||
public class SignalingManager: BaseServiceManager { |
||||
|
||||
public override func registerHandlers() { |
||||
super.registerHandlers() |
||||
self["setSignalingListener"] = setSignalingListener |
||||
self["signalingInvite"] = signalingInvite |
||||
self["signalingInviteInGroup"] = signalingInviteInGroup |
||||
self["signalingAccept"] = signalingAccept |
||||
self["signalingReject"] = signalingReject |
||||
self["signalingCancel"] = signalingCancel |
||||
self["signalingHungUp"] = signalingHungUp |
||||
self["signalingGetRoomByGroupID"] = signalingGetRoomByGroupID |
||||
self["signalingGetTokenByRoomID"] = signalingGetTokenByRoomID |
||||
self["signalingUpdateMeetingInfo"] = signalingUpdateMeetingInfo |
||||
self["signalingCreateMeeting"] = signalingCreateMeeting |
||||
self["signalingJoinMeeting"] = signalingJoinMeeting |
||||
self["signalingOperateStream"] = signalingOperateStream |
||||
self["signalingGetMeetings"] = signalingGetMeetings |
||||
self["signalingCloseRoom"] = signalingCloseRoom |
||||
self["signalingSendCustomSignal"] = signalingSendCustomSignal |
||||
} |
||||
|
||||
func setSignalingListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSetSignalingListener(SignalingListener(channel: channel)) |
||||
callBack(result) |
||||
} |
||||
|
||||
func signalingInvite(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingInvite(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
} |
||||
|
||||
func signalingInviteInGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingInviteInGroup(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
} |
||||
|
||||
func signalingAccept(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingAccept(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
} |
||||
|
||||
func signalingReject(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingReject(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
} |
||||
|
||||
func signalingCancel(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingCancel(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
} |
||||
|
||||
func signalingHungUp(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingHungUp(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
} |
||||
|
||||
func signalingGetRoomByGroupID(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingGetRoomByGroupID(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "groupID"]) |
||||
} |
||||
|
||||
func signalingGetTokenByRoomID(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingGetTokenByRoomID(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "roomID"]) |
||||
} |
||||
|
||||
func signalingUpdateMeetingInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingUpdateMeetingInfo(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "info"]) |
||||
} |
||||
|
||||
func signalingCreateMeeting(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingCreateMeeting(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "info"]) |
||||
} |
||||
|
||||
func signalingJoinMeeting(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingJoinMeeting(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "info"]) |
||||
} |
||||
|
||||
func signalingOperateStream(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingOperateStream(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "streamType"], methodCall[string: "roomID"], methodCall[string: "userID"], methodCall[bool: "mute"], methodCall[bool: "muteAll"]) |
||||
} |
||||
|
||||
func signalingGetMeetings(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingGetMeetings(BaseCallback(result: result), methodCall[string: "operationID"]) |
||||
} |
||||
|
||||
func signalingCloseRoom(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingCloseRoom(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "roomID"]) |
||||
} |
||||
|
||||
func signalingSendCustomSignal(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSignalingSendCustomSignal(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "customInfo"], methodCall[string: "roomID"]) |
||||
} |
||||
} |
||||
public class SignalingListener: NSObject, Open_im_sdk_callbackOnSignalingListenerProtocol { |
||||
|
||||
|
||||
private let channel:FlutterMethodChannel |
||||
|
||||
init(channel:FlutterMethodChannel) { |
||||
self.channel = channel |
||||
} |
||||
|
||||
public func onInvitationCancelled(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInvitationCancelled", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onInvitationTimeout(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInvitationTimeout", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onInviteeAccepted(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInviteeAccepted", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onInviteeAccepted(byOtherDevice s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInviteeAcceptedByOtherDevice", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onInviteeRejected(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInviteeRejected", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onInviteeRejected(byOtherDevice s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInviteeRejectedByOtherDevice", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onReceiveNewInvitation(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onReceiveNewInvitation", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onHangUp(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onHangUp", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onRoomParticipantConnected(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onRoomParticipantConnected", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onRoomParticipantDisconnected(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onRoomParticipantDisconnected", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onStreamChange(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onStreamChange", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
public func onReceiveCustomSignal(_ s: String?) { |
||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onReceiveCustomSignal", errCode: nil, errMsg: nil, data: s) |
||||
} |
||||
|
||||
} |
||||
//import Foundation |
||||
//import OpenIMCore |
||||
// |
||||
//public class SignalingManager: BaseServiceManager { |
||||
// |
||||
// public override func registerHandlers() { |
||||
// super.registerHandlers() |
||||
// self["setSignalingListener"] = setSignalingListener |
||||
// self["signalingInvite"] = signalingInvite |
||||
// self["signalingInviteInGroup"] = signalingInviteInGroup |
||||
// self["signalingAccept"] = signalingAccept |
||||
// self["signalingReject"] = signalingReject |
||||
// self["signalingCancel"] = signalingCancel |
||||
// self["signalingHungUp"] = signalingHungUp |
||||
// self["signalingGetRoomByGroupID"] = signalingGetRoomByGroupID |
||||
// self["signalingGetTokenByRoomID"] = signalingGetTokenByRoomID |
||||
// self["signalingUpdateMeetingInfo"] = signalingUpdateMeetingInfo |
||||
// self["signalingCreateMeeting"] = signalingCreateMeeting |
||||
// self["signalingJoinMeeting"] = signalingJoinMeeting |
||||
// self["signalingOperateStream"] = signalingOperateStream |
||||
// self["signalingGetMeetings"] = signalingGetMeetings |
||||
// self["signalingCloseRoom"] = signalingCloseRoom |
||||
// self["signalingSendCustomSignal"] = signalingSendCustomSignal |
||||
// } |
||||
// |
||||
// func setSignalingListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSetSignalingListener(SignalingListener(channel: channel)) |
||||
// callBack(result) |
||||
// } |
||||
// |
||||
// func signalingInvite(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingInvite(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
// } |
||||
// |
||||
// func signalingInviteInGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingInviteInGroup(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
// } |
||||
// |
||||
// func signalingAccept(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingAccept(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
// } |
||||
// |
||||
// func signalingReject(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingReject(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
// } |
||||
// |
||||
// func signalingCancel(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingCancel(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
// } |
||||
// |
||||
// func signalingHungUp(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingHungUp(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "signalingInfo"]) |
||||
// } |
||||
// |
||||
// func signalingGetRoomByGroupID(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingGetRoomByGroupID(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "groupID"]) |
||||
// } |
||||
// |
||||
// func signalingGetTokenByRoomID(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingGetTokenByRoomID(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "roomID"]) |
||||
// } |
||||
// |
||||
// func signalingUpdateMeetingInfo(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingUpdateMeetingInfo(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "info"]) |
||||
// } |
||||
// |
||||
// func signalingCreateMeeting(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingCreateMeeting(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "info"]) |
||||
// } |
||||
// |
||||
// func signalingJoinMeeting(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingJoinMeeting(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "info"]) |
||||
// } |
||||
// |
||||
// func signalingOperateStream(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingOperateStream(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "streamType"], methodCall[string: "roomID"], methodCall[string: "userID"], methodCall[bool: "mute"], methodCall[bool: "muteAll"]) |
||||
// } |
||||
// |
||||
// func signalingGetMeetings(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingGetMeetings(BaseCallback(result: result), methodCall[string: "operationID"]) |
||||
// } |
||||
// |
||||
// func signalingCloseRoom(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingCloseRoom(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "roomID"]) |
||||
// } |
||||
// |
||||
// func signalingSendCustomSignal(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSignalingSendCustomSignal(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "customInfo"], methodCall[string: "roomID"]) |
||||
// } |
||||
//} |
||||
//public class SignalingListener: NSObject, Open_im_sdk_callbackOnSignalingListenerProtocol { |
||||
// |
||||
// |
||||
// private let channel:FlutterMethodChannel |
||||
// |
||||
// init(channel:FlutterMethodChannel) { |
||||
// self.channel = channel |
||||
// } |
||||
// |
||||
// public func onInvitationCancelled(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInvitationCancelled", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onInvitationTimeout(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInvitationTimeout", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onInviteeAccepted(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInviteeAccepted", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onInviteeAccepted(byOtherDevice s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInviteeAcceptedByOtherDevice", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onInviteeRejected(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInviteeRejected", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onInviteeRejected(byOtherDevice s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onInviteeRejectedByOtherDevice", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onReceiveNewInvitation(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onReceiveNewInvitation", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onHangUp(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onHangUp", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onRoomParticipantConnected(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onRoomParticipantConnected", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onRoomParticipantDisconnected(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onRoomParticipantDisconnected", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onStreamChange(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onStreamChange", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
// public func onReceiveCustomSignal(_ s: String?) { |
||||
// CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onReceiveCustomSignal", errCode: nil, errMsg: nil, data: s) |
||||
// } |
||||
// |
||||
//} |
||||
|
@ -1,44 +1,44 @@ |
||||
import Foundation |
||||
import OpenIMCore |
||||
|
||||
public class WorkMomentsManager: BaseServiceManager { |
||||
|
||||
public override func registerHandlers() { |
||||
super.registerHandlers() |
||||
self["setWorkMomentsListener"] = setWorkMomentsListener |
||||
self["getWorkMomentsUnReadCount"] = getWorkMomentsUnReadCount |
||||
self["getWorkMomentsNotification"] = getWorkMomentsNotification |
||||
self["clearWorkMomentsNotification"] = clearWorkMomentsNotification |
||||
} |
||||
|
||||
func setWorkMomentsListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
Open_im_sdkSetWorkMomentsListener(WorkMomentsListener(channel: channel)) |
||||
callBack(result) |
||||
} |
||||
|
||||
func getWorkMomentsUnReadCount(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkGetWorkMomentsUnReadCount(BaseCallback(result: result), methodCall[string: "operationID"]) |
||||
} |
||||
|
||||
func getWorkMomentsNotification(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkGetWorkMomentsNotification(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[int: "offset"], methodCall[int: "count"]) |
||||
} |
||||
|
||||
func clearWorkMomentsNotification(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
Open_im_sdkClearWorkMomentsNotification(BaseCallback(result: result), methodCall[string: "operationID"]) |
||||
} |
||||
} |
||||
|
||||
public class WorkMomentsListener: NSObject, Open_im_sdk_callbackOnWorkMomentsListenerProtocol { |
||||
|
||||
private let channel:FlutterMethodChannel |
||||
|
||||
init(channel:FlutterMethodChannel) { |
||||
self.channel = channel |
||||
} |
||||
|
||||
public func onRecvNewNotification() { |
||||
CommonUtil.emitEvent(channel: self.channel, method: "workMomentsListener", type: "OnRecvNewNotification", errCode: nil, errMsg: nil, data: nil) |
||||
} |
||||
|
||||
} |
||||
//import Foundation |
||||
//import OpenIMCore |
||||
// |
||||
//public class WorkMomentsManager: BaseServiceManager { |
||||
// |
||||
// public override func registerHandlers() { |
||||
// super.registerHandlers() |
||||
// self["setWorkMomentsListener"] = setWorkMomentsListener |
||||
// self["getWorkMomentsUnReadCount"] = getWorkMomentsUnReadCount |
||||
// self["getWorkMomentsNotification"] = getWorkMomentsNotification |
||||
// self["clearWorkMomentsNotification"] = clearWorkMomentsNotification |
||||
// } |
||||
// |
||||
// func setWorkMomentsListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ |
||||
// Open_im_sdkSetWorkMomentsListener(WorkMomentsListener(channel: channel)) |
||||
// callBack(result) |
||||
// } |
||||
// |
||||
// func getWorkMomentsUnReadCount(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkGetWorkMomentsUnReadCount(BaseCallback(result: result), methodCall[string: "operationID"]) |
||||
// } |
||||
// |
||||
// func getWorkMomentsNotification(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkGetWorkMomentsNotification(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[int: "offset"], methodCall[int: "count"]) |
||||
// } |
||||
// |
||||
// func clearWorkMomentsNotification(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { |
||||
// Open_im_sdkClearWorkMomentsNotification(BaseCallback(result: result), methodCall[string: "operationID"]) |
||||
// } |
||||
//} |
||||
// |
||||
//public class WorkMomentsListener: NSObject, Open_im_sdk_callbackOnWorkMomentsListenerProtocol { |
||||
// |
||||
// private let channel:FlutterMethodChannel |
||||
// |
||||
// init(channel:FlutterMethodChannel) { |
||||
// self.channel = channel |
||||
// } |
||||
// |
||||
// public func onRecvNewNotification() { |
||||
// CommonUtil.emitEvent(channel: self.channel, method: "workMomentsListener", type: "OnRecvNewNotification", errCode: nil, errMsg: nil, data: nil) |
||||
// } |
||||
// |
||||
//} |
||||
|
@ -1,11 +1,11 @@ |
||||
/// 群成员角色 |
||||
class GroupRoleLevel { |
||||
/// 普通成员 |
||||
static const member = 1; |
||||
|
||||
/// 群主 |
||||
static const owner = 2; |
||||
static const owner = 100; |
||||
|
||||
/// 管理员 |
||||
static const admin = 3; |
||||
static const admin = 60; |
||||
|
||||
/// 普通成员 |
||||
static const member = 20; |
||||
} |
||||
|
@ -1,18 +1,18 @@ |
||||
/// 消息发送失败 |
||||
class MessageFailedCode { |
||||
/// 被对方拉黑 |
||||
static const int blockedByFriend = 600; |
||||
static const int blockedByFriend = 1302; |
||||
|
||||
/// 被对方删除 |
||||
static const int deletedByFriend = 601; |
||||
|
||||
/// 已被移除群聊/群已解散 |
||||
static const int notInGroup = 302; |
||||
static const int notInGroup = 1205; |
||||
|
||||
} |
||||
|
||||
/// 添加好友失败 |
||||
class AddFriendFailedCode { |
||||
/// 该用户已设置不可添加 |
||||
static const int refuseToAddFriends = 10007; |
||||
static const int refuseToAddFriends = 10013; |
||||
} |
||||
|
@ -1,11 +1,11 @@ |
||||
/// 组织架构监听 |
||||
class OnOrganizationListener { |
||||
Function()? onOrganizationUpdated; |
||||
|
||||
OnOrganizationListener({this.onOrganizationUpdated}); |
||||
|
||||
/// 组织架构有更新 |
||||
void organizationUpdated() { |
||||
onOrganizationUpdated?.call(); |
||||
} |
||||
} |
||||
// /// 组织架构监听 |
||||
// class OnOrganizationListener { |
||||
// Function()? onOrganizationUpdated; |
||||
// |
||||
// OnOrganizationListener({this.onOrganizationUpdated}); |
||||
// |
||||
// /// 组织架构有更新 |
||||
// void organizationUpdated() { |
||||
// onOrganizationUpdated?.call(); |
||||
// } |
||||
// } |
||||
|
@ -0,0 +1,32 @@ |
||||
class OnPutFileListener { |
||||
Function(String putID, String hash, int total)? onHashComplete; |
||||
Function(String putID, int current, int total)? onHashProgress; |
||||
Function(String putID, int size)? onOpen; |
||||
Function(String putID, int total, int putType)? onPutComplete; |
||||
Function(String putID, int save, int current, int total)? onPutProgress; |
||||
Function(String putID, int current, int total)? onPutStart; |
||||
|
||||
void hashComplete(String putID, String hash, int total) { |
||||
onHashComplete?.call(putID, hash, total); |
||||
} |
||||
|
||||
void hashProgress(String putID, int current, int total) { |
||||
onHashProgress?.call(putID, current, total); |
||||
} |
||||
|
||||
void open(String putID, int size) { |
||||
onOpen?.call(putID, size); |
||||
} |
||||
|
||||
void putComplete(String putID, int total, int putType) { |
||||
onPutComplete?.call(putID, total, putType); |
||||
} |
||||
|
||||
void putProgress(String putID, int save, int current, int total) { |
||||
onPutProgress?.call(putID, save, current, total); |
||||
} |
||||
|
||||
void putStart(String putID, int current, int total) { |
||||
onPutStart?.call(putID, current, total); |
||||
} |
||||
} |
@ -1,11 +1,11 @@ |
||||
/// 朋友圈监听 |
||||
class OnWorkMomentsListener { |
||||
Function()? onRecvNewNotification; |
||||
|
||||
OnWorkMomentsListener({this.onRecvNewNotification}); |
||||
|
||||
/// 朋友圈信息发送改变 |
||||
void recvNewNotification() { |
||||
onRecvNewNotification?.call(); |
||||
} |
||||
} |
||||
// /// 朋友圈监听 |
||||
// class OnWorkMomentsListener { |
||||
// Function()? onRecvNewNotification; |
||||
// |
||||
// OnWorkMomentsListener({this.onRecvNewNotification}); |
||||
// |
||||
// /// 朋友圈信息发送改变 |
||||
// void recvNewNotification() { |
||||
// onRecvNewNotification?.call(); |
||||
// } |
||||
// } |
||||
|
@ -1,162 +1,162 @@ |
||||
import 'package:flutter/services.dart'; |
||||
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; |
||||
|
||||
class OrganizationManager { |
||||
MethodChannel _channel; |
||||
late OnOrganizationListener listener; |
||||
|
||||
OrganizationManager(this._channel); |
||||
|
||||
/// 组织架构发生变化回调 |
||||
Future setOrganizationListener(OnOrganizationListener listener) { |
||||
this.listener = listener; |
||||
return _channel.invokeMethod('setOrganizationListener', _buildParam({})); |
||||
} |
||||
|
||||
/// 获取子部门列表,返回当前部门下的一级子部门 |
||||
/// [departmentID] 当前部门id |
||||
/// [offset] 开始下标 |
||||
/// [count] 每页大小 |
||||
Future<List<DeptInfo>> getSubDept({ |
||||
required String departmentID, |
||||
int offset = 0, |
||||
int count = 40, |
||||
String? operationID, |
||||
}) => |
||||
_channel |
||||
.invokeMethod( |
||||
'getSubDepartment', |
||||
_buildParam({ |
||||
'departmentID': departmentID, |
||||
'offset': offset, |
||||
'count': count, |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})) |
||||
.then((value) => Utils.toList(value, (v) => DeptInfo.fromJson(v))); |
||||
|
||||
/// 获取部门下的成员列表,返回当前部门下的一级成员 |
||||
/// [departmentID] 当前部门id |
||||
/// [offset] 开始下标 |
||||
/// [count] 每页大小 |
||||
Future<List<DeptMemberInfo>> getDeptMember({ |
||||
required String departmentID, |
||||
int offset = 0, |
||||
int count = 40, |
||||
String? operationID, |
||||
}) => |
||||
_channel |
||||
.invokeMethod( |
||||
'getDepartmentMember', |
||||
_buildParam({ |
||||
'departmentID': departmentID, |
||||
'offset': offset, |
||||
'count': count, |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})) |
||||
.then((value) => |
||||
Utils.toList(value, (v) => DeptMemberInfo.fromJson(v))); |
||||
|
||||
/// 获取成员所在的部门 |
||||
/// [userID] 成员ID |
||||
Future<List<UserInDept>> getUserInDept({ |
||||
required String userID, |
||||
String? operationID, |
||||
}) => |
||||
_channel |
||||
.invokeMethod( |
||||
'getUserInDepartment', |
||||
_buildParam({ |
||||
'userID': userID, |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})) |
||||
.then((value) => Utils.toList(value, (v) => UserInDept.fromJson(v))); |
||||
|
||||
/// 获取部门下的子部门跟员工 |
||||
/// [departmentID] 当前部门id |
||||
Future<DeptMemberAndSubDept> getDeptMemberAndSubDept({ |
||||
required String departmentID, |
||||
// int departmentOffset = 0, |
||||
// int departmentCount = 40, |
||||
// int memberOffset = 0, |
||||
// int memberCount = 40, |
||||
String? operationID, |
||||
}) => |
||||
_channel |
||||
.invokeMethod( |
||||
'getDepartmentMemberAndSubDepartment', |
||||
_buildParam({ |
||||
'departmentID': departmentID, |
||||
// 'departmentOffset': departmentOffset, |
||||
// 'departmentCount': departmentCount, |
||||
// 'memberOffset': memberOffset, |
||||
// 'memberCount': memberCount, |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})) |
||||
.then((value) => |
||||
Utils.toObj(value, (v) => DeptMemberAndSubDept.fromJson(v))); |
||||
|
||||
/// 查询部门信息 |
||||
/// [departmentID] 部门ID |
||||
Future<DeptInfo> getDeptInfo({ |
||||
required String departmentID, |
||||
String? operationID, |
||||
}) => |
||||
_channel |
||||
.invokeMethod( |
||||
'getDepartmentInfo', |
||||
_buildParam({ |
||||
'departmentID': departmentID, |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})) |
||||
.then((value) => Utils.toObj(value, (v) => DeptInfo.fromJson(v))); |
||||
|
||||
/// 搜索组织人员 |
||||
/// [keyWord] 关键字 |
||||
/// [isSearchUserName] 是否匹配用户名 |
||||
/// [isSearchEnglishName] 是否匹配英文名 |
||||
/// [isSearchPosition] 是否匹配职位 |
||||
/// [isSearchUserID] 是否匹配用户ID |
||||
/// [isSearchMobile] 是否匹配手机号 |
||||
/// [isSearchEmail] 是否匹配邮箱号 |
||||
/// [isSearchTelephone] 是否匹配电话号码 |
||||
/// [offset] 开始下标 |
||||
/// [count] 分页大小 |
||||
Future<OrganizationSearchResult> searchOrganization({ |
||||
required String keyWord, |
||||
bool isSearchUserName = false, |
||||
bool isSearchEnglishName = false, |
||||
bool isSearchPosition = false, |
||||
bool isSearchUserID = false, |
||||
bool isSearchMobile = false, |
||||
bool isSearchEmail = false, |
||||
bool isSearchTelephone = false, |
||||
int offset = 0, |
||||
int count = 40, |
||||
String? operationID, |
||||
}) => |
||||
_channel |
||||
.invokeMethod( |
||||
'searchOrganization', |
||||
_buildParam({ |
||||
'searchParam': { |
||||
'keyWord': keyWord, |
||||
'isSearchUserName': isSearchUserName, |
||||
'isSearchEnglishName': isSearchEnglishName, |
||||
'isSearchPosition': isSearchPosition, |
||||
'isSearchUserID': isSearchUserID, |
||||
'isSearchMobile': isSearchMobile, |
||||
'isSearchEmail': isSearchEmail, |
||||
'isSearchTelephone': isSearchTelephone, |
||||
}, |
||||
'offset': offset, |
||||
'count': count, |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})) |
||||
.then((value) => |
||||
Utils.toObj(value, (v) => OrganizationSearchResult.fromJson(v))); |
||||
|
||||
static Map _buildParam(Map param) { |
||||
param["ManagerName"] = "organizationManager"; |
||||
return param; |
||||
} |
||||
} |
||||
// import 'package:flutter/services.dart'; |
||||
// import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; |
||||
// |
||||
// class OrganizationManager { |
||||
// MethodChannel _channel; |
||||
// late OnOrganizationListener listener; |
||||
// |
||||
// OrganizationManager(this._channel); |
||||
// |
||||
// /// 组织架构发生变化回调 |
||||
// Future setOrganizationListener(OnOrganizationListener listener) { |
||||
// this.listener = listener; |
||||
// return _channel.invokeMethod('setOrganizationListener', _buildParam({})); |
||||
// } |
||||
// |
||||
// /// 获取子部门列表,返回当前部门下的一级子部门 |
||||
// /// [departmentID] 当前部门id |
||||
// /// [offset] 开始下标 |
||||
// /// [count] 每页大小 |
||||
// Future<List<DeptInfo>> getSubDept({ |
||||
// required String departmentID, |
||||
// int offset = 0, |
||||
// int count = 40, |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel |
||||
// .invokeMethod( |
||||
// 'getSubDepartment', |
||||
// _buildParam({ |
||||
// 'departmentID': departmentID, |
||||
// 'offset': offset, |
||||
// 'count': count, |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })) |
||||
// .then((value) => Utils.toList(value, (v) => DeptInfo.fromJson(v))); |
||||
// |
||||
// /// 获取部门下的成员列表,返回当前部门下的一级成员 |
||||
// /// [departmentID] 当前部门id |
||||
// /// [offset] 开始下标 |
||||
// /// [count] 每页大小 |
||||
// Future<List<DeptMemberInfo>> getDeptMember({ |
||||
// required String departmentID, |
||||
// int offset = 0, |
||||
// int count = 40, |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel |
||||
// .invokeMethod( |
||||
// 'getDepartmentMember', |
||||
// _buildParam({ |
||||
// 'departmentID': departmentID, |
||||
// 'offset': offset, |
||||
// 'count': count, |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })) |
||||
// .then((value) => |
||||
// Utils.toList(value, (v) => DeptMemberInfo.fromJson(v))); |
||||
// |
||||
// /// 获取成员所在的部门 |
||||
// /// [userID] 成员ID |
||||
// Future<List<UserInDept>> getUserInDept({ |
||||
// required String userID, |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel |
||||
// .invokeMethod( |
||||
// 'getUserInDepartment', |
||||
// _buildParam({ |
||||
// 'userID': userID, |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })) |
||||
// .then((value) => Utils.toList(value, (v) => UserInDept.fromJson(v))); |
||||
// |
||||
// /// 获取部门下的子部门跟员工 |
||||
// /// [departmentID] 当前部门id |
||||
// Future<DeptMemberAndSubDept> getDeptMemberAndSubDept({ |
||||
// required String departmentID, |
||||
// // int departmentOffset = 0, |
||||
// // int departmentCount = 40, |
||||
// // int memberOffset = 0, |
||||
// // int memberCount = 40, |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel |
||||
// .invokeMethod( |
||||
// 'getDepartmentMemberAndSubDepartment', |
||||
// _buildParam({ |
||||
// 'departmentID': departmentID, |
||||
// // 'departmentOffset': departmentOffset, |
||||
// // 'departmentCount': departmentCount, |
||||
// // 'memberOffset': memberOffset, |
||||
// // 'memberCount': memberCount, |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })) |
||||
// .then((value) => |
||||
// Utils.toObj(value, (v) => DeptMemberAndSubDept.fromJson(v))); |
||||
// |
||||
// /// 查询部门信息 |
||||
// /// [departmentID] 部门ID |
||||
// Future<DeptInfo> getDeptInfo({ |
||||
// required String departmentID, |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel |
||||
// .invokeMethod( |
||||
// 'getDepartmentInfo', |
||||
// _buildParam({ |
||||
// 'departmentID': departmentID, |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })) |
||||
// .then((value) => Utils.toObj(value, (v) => DeptInfo.fromJson(v))); |
||||
// |
||||
// /// 搜索组织人员 |
||||
// /// [keyWord] 关键字 |
||||
// /// [isSearchUserName] 是否匹配用户名 |
||||
// /// [isSearchEnglishName] 是否匹配英文名 |
||||
// /// [isSearchPosition] 是否匹配职位 |
||||
// /// [isSearchUserID] 是否匹配用户ID |
||||
// /// [isSearchMobile] 是否匹配手机号 |
||||
// /// [isSearchEmail] 是否匹配邮箱号 |
||||
// /// [isSearchTelephone] 是否匹配电话号码 |
||||
// /// [offset] 开始下标 |
||||
// /// [count] 分页大小 |
||||
// Future<OrganizationSearchResult> searchOrganization({ |
||||
// required String keyWord, |
||||
// bool isSearchUserName = false, |
||||
// bool isSearchEnglishName = false, |
||||
// bool isSearchPosition = false, |
||||
// bool isSearchUserID = false, |
||||
// bool isSearchMobile = false, |
||||
// bool isSearchEmail = false, |
||||
// bool isSearchTelephone = false, |
||||
// int offset = 0, |
||||
// int count = 40, |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel |
||||
// .invokeMethod( |
||||
// 'searchOrganization', |
||||
// _buildParam({ |
||||
// 'searchParam': { |
||||
// 'keyWord': keyWord, |
||||
// 'isSearchUserName': isSearchUserName, |
||||
// 'isSearchEnglishName': isSearchEnglishName, |
||||
// 'isSearchPosition': isSearchPosition, |
||||
// 'isSearchUserID': isSearchUserID, |
||||
// 'isSearchMobile': isSearchMobile, |
||||
// 'isSearchEmail': isSearchEmail, |
||||
// 'isSearchTelephone': isSearchTelephone, |
||||
// }, |
||||
// 'offset': offset, |
||||
// 'count': count, |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })) |
||||
// .then((value) => |
||||
// Utils.toObj(value, (v) => OrganizationSearchResult.fromJson(v))); |
||||
// |
||||
// static Map _buildParam(Map param) { |
||||
// param["ManagerName"] = "organizationManager"; |
||||
// return param; |
||||
// } |
||||
// } |
||||
|
@ -1,61 +1,61 @@ |
||||
import 'package:flutter/services.dart'; |
||||
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; |
||||
|
||||
class WorkMomentsManager { |
||||
MethodChannel _channel; |
||||
late OnWorkMomentsListener listener; |
||||
|
||||
WorkMomentsManager(this._channel); |
||||
|
||||
/// 朋友圈信息发送变化通知 |
||||
Future setWorkMomentsListener(OnWorkMomentsListener listener) { |
||||
this.listener = listener; |
||||
return _channel.invokeMethod('setWorkMomentsListener', _buildParam({})); |
||||
} |
||||
|
||||
/// 获取朋友圈未读消息总数 |
||||
Future<int> getWorkMomentsUnReadCount({ |
||||
String? operationID, |
||||
}) => |
||||
_channel |
||||
.invokeMethod( |
||||
'getWorkMomentsUnReadCount', |
||||
_buildParam({ |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})) |
||||
.then((value) => Utils.toObj(value, (map) => map['unreadCount'])); |
||||
|
||||
/// 获取通知列表 |
||||
/// [offset] 开始下标 |
||||
/// [count] 每页大小 |
||||
Future<List<WorkMomentsInfo>> getWorkMomentsNotification({ |
||||
required int offset, |
||||
required int count, |
||||
String? operationID, |
||||
}) => |
||||
_channel |
||||
.invokeMethod( |
||||
'getWorkMomentsNotification', |
||||
_buildParam({ |
||||
'offset': offset, |
||||
'count': count, |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})) |
||||
.then((value) => |
||||
Utils.toList(value, (map) => WorkMomentsInfo.fromJson(map))); |
||||
|
||||
/// 清除通知列表 |
||||
Future clearWorkMomentsNotification({ |
||||
String? operationID, |
||||
}) => |
||||
_channel.invokeMethod( |
||||
'clearWorkMomentsNotification', |
||||
_buildParam({ |
||||
'operationID': Utils.checkOperationID(operationID), |
||||
})); |
||||
|
||||
static Map _buildParam(Map param) { |
||||
param["ManagerName"] = "workMomentsManager"; |
||||
return param; |
||||
} |
||||
} |
||||
// import 'package:flutter/services.dart'; |
||||
// import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; |
||||
// |
||||
// class WorkMomentsManager { |
||||
// MethodChannel _channel; |
||||
// late OnWorkMomentsListener listener; |
||||
// |
||||
// WorkMomentsManager(this._channel); |
||||
// |
||||
// /// 朋友圈信息发送变化通知 |
||||
// Future setWorkMomentsListener(OnWorkMomentsListener listener) { |
||||
// this.listener = listener; |
||||
// return _channel.invokeMethod('setWorkMomentsListener', _buildParam({})); |
||||
// } |
||||
// |
||||
// /// 获取朋友圈未读消息总数 |
||||
// Future<int> getWorkMomentsUnReadCount({ |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel |
||||
// .invokeMethod( |
||||
// 'getWorkMomentsUnReadCount', |
||||
// _buildParam({ |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })) |
||||
// .then((value) => Utils.toObj(value, (map) => map['unreadCount'])); |
||||
// |
||||
// /// 获取通知列表 |
||||
// /// [offset] 开始下标 |
||||
// /// [count] 每页大小 |
||||
// Future<List<WorkMomentsInfo>> getWorkMomentsNotification({ |
||||
// required int offset, |
||||
// required int count, |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel |
||||
// .invokeMethod( |
||||
// 'getWorkMomentsNotification', |
||||
// _buildParam({ |
||||
// 'offset': offset, |
||||
// 'count': count, |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })) |
||||
// .then((value) => |
||||
// Utils.toList(value, (map) => WorkMomentsInfo.fromJson(map))); |
||||
// |
||||
// /// 清除通知列表 |
||||
// Future clearWorkMomentsNotification({ |
||||
// String? operationID, |
||||
// }) => |
||||
// _channel.invokeMethod( |
||||
// 'clearWorkMomentsNotification', |
||||
// _buildParam({ |
||||
// 'operationID': Utils.checkOperationID(operationID), |
||||
// })); |
||||
// |
||||
// static Map _buildParam(Map param) { |
||||
// param["ManagerName"] = "workMomentsManager"; |
||||
// return param; |
||||
// } |
||||
// } |
||||
|
@ -1,56 +1,56 @@ |
||||
class WorkMomentsInfo { |
||||
int? notificationMsgType; |
||||
String? replyUserName; |
||||
String? replyUserID; |
||||
String? content; |
||||
String? contentID; |
||||
String? workMomentID; |
||||
String? userID; |
||||
String? userName; |
||||
String? faceURL; |
||||
String? workMomentContent; |
||||
int? createTime; |
||||
|
||||
WorkMomentsInfo( |
||||
{this.notificationMsgType, |
||||
this.replyUserName, |
||||
this.replyUserID, |
||||
this.content, |
||||
this.contentID, |
||||
this.workMomentID, |
||||
this.userID, |
||||
this.userName, |
||||
this.faceURL, |
||||
this.workMomentContent, |
||||
this.createTime}); |
||||
|
||||
WorkMomentsInfo.fromJson(Map<String, dynamic> json) { |
||||
notificationMsgType = json['notificationMsgType']; |
||||
replyUserName = json['replyUserName']; |
||||
replyUserID = json['replyUserID']; |
||||
content = json['content']; |
||||
contentID = json['contentID']; |
||||
workMomentID = json['workMomentID']; |
||||
userID = json['userID']; |
||||
userName = json['userName']; |
||||
faceURL = json['faceURL']; |
||||
workMomentContent = json['workMomentContent']; |
||||
createTime = json['createTime']; |
||||
} |
||||
|
||||
Map<String, dynamic> toJson() { |
||||
final Map<String, dynamic> data = new Map<String, dynamic>(); |
||||
data['notificationMsgType'] = this.notificationMsgType; |
||||
data['replyUserName'] = this.replyUserName; |
||||
data['replyUserID'] = this.replyUserID; |
||||
data['content'] = this.content; |
||||
data['contentID'] = this.contentID; |
||||
data['workMomentID'] = this.workMomentID; |
||||
data['userID'] = this.userID; |
||||
data['userName'] = this.userName; |
||||
data['faceURL'] = this.faceURL; |
||||
data['workMomentContent'] = this.workMomentContent; |
||||
data['createTime'] = this.createTime; |
||||
return data; |
||||
} |
||||
} |
||||
// class WorkMomentsInfo { |
||||
// int? notificationMsgType; |
||||
// String? replyUserName; |
||||
// String? replyUserID; |
||||
// String? content; |
||||
// String? contentID; |
||||
// String? workMomentID; |
||||
// String? userID; |
||||
// String? userName; |
||||
// String? faceURL; |
||||
// String? workMomentContent; |
||||
// int? createTime; |
||||
// |
||||
// WorkMomentsInfo( |
||||
// {this.notificationMsgType, |
||||
// this.replyUserName, |
||||
// this.replyUserID, |
||||
// this.content, |
||||
// this.contentID, |
||||
// this.workMomentID, |
||||
// this.userID, |
||||
// this.userName, |
||||
// this.faceURL, |
||||
// this.workMomentContent, |
||||
// this.createTime}); |
||||
// |
||||
// WorkMomentsInfo.fromJson(Map<String, dynamic> json) { |
||||
// notificationMsgType = json['notificationMsgType']; |
||||
// replyUserName = json['replyUserName']; |
||||
// replyUserID = json['replyUserID']; |
||||
// content = json['content']; |
||||
// contentID = json['contentID']; |
||||
// workMomentID = json['workMomentID']; |
||||
// userID = json['userID']; |
||||
// userName = json['userName']; |
||||
// faceURL = json['faceURL']; |
||||
// workMomentContent = json['workMomentContent']; |
||||
// createTime = json['createTime']; |
||||
// } |
||||
// |
||||
// Map<String, dynamic> toJson() { |
||||
// final Map<String, dynamic> data = new Map<String, dynamic>(); |
||||
// data['notificationMsgType'] = this.notificationMsgType; |
||||
// data['replyUserName'] = this.replyUserName; |
||||
// data['replyUserID'] = this.replyUserID; |
||||
// data['content'] = this.content; |
||||
// data['contentID'] = this.contentID; |
||||
// data['workMomentID'] = this.workMomentID; |
||||
// data['userID'] = this.userID; |
||||
// data['userName'] = this.userName; |
||||
// data['faceURL'] = this.faceURL; |
||||
// data['workMomentContent'] = this.workMomentContent; |
||||
// data['createTime'] = this.createTime; |
||||
// return data; |
||||
// } |
||||
// } |
||||
|
Loading…
Reference in new issue