requestSession method
Sending a request to get the current session
Implementation
@override
Future<NUIMiniProgramSession?> requestSession() async{
if(_simulator != null) return _simulator!.requestSession();
final internalMessage = NUIMiniProgramInternalMessage(type: NUIMiniProgramEventType.SESSION, data: '');
final sessionMessage = NUIMiniProgramMessage(channel: NUIMiniProgramMessage.DEFAULT_CHANNEL, data: jsonEncode(internalMessage));
try {
final result = await sendAndAwaitCrossEvent(sessionMessage);
if(result?.data != null){
final json = result!.data as Map<String, dynamic>;
try {
final session = NUIMiniProgramSession.empty().fromJson(json);
return session;
}catch(e, s){
print("[NUIMiniProgramJSEngine] Failed to parse result data payload to session with error : $e, stacktrace: $s");
return null;
}
}
else{
print("[NUIMiniProgramJSEngine] Gotten result without data payload for session request");
return null;
}
}catch(e, s){
print("[NUIMiniProgramJSEngine] Failed to send session request with error : $e, stacktrace: $s");
return null;
}
}