71 行
1.6 KiB
Plaintext
71 行
1.6 KiB
Plaintext
|
|
import { UniUTSJS } from 'DCloudUniappRuntime'
|
|
import { NSNumber } from 'Foundation';
|
|
|
|
let MessageChannel : string = "UtsMessage"
|
|
var revFromJS = ""
|
|
|
|
export function getMessageChannel() : string {
|
|
return MessageChannel
|
|
}
|
|
|
|
export function getRevJsMessage() : string {
|
|
return revFromJS
|
|
}
|
|
|
|
export function emitUtsMessage(arg : string) {
|
|
uni.$emit(MessageChannel, arg);
|
|
}
|
|
|
|
export function emitUtsMessageUTSObject(arg : UTSJSONObject) {
|
|
uni.$emit(MessageChannel, arg);
|
|
}
|
|
|
|
export function emitUtsMessages(arg : UTSJSONObject, arg2 : string ){
|
|
uni.$emit(MessageChannel, arg, arg2);
|
|
}
|
|
|
|
export function emitUtsMessageNoArgument(){
|
|
uni.$emit(MessageChannel);
|
|
}
|
|
|
|
var callbackId : NSNumber | null = null
|
|
export function onJsMessage (messageChannel : string ) {
|
|
revFromJS = ""
|
|
if (callbackId != null) {
|
|
uni.$off(messageChannel, callbackId!)
|
|
callbackId = null
|
|
}
|
|
callbackId = uni.$on(messageChannel, function (...spreadArgs : Any) {
|
|
if (spreadArgs.length > 0) {
|
|
let arg0 = JSON.stringify(spreadArgs[0])
|
|
if ( typeof arg0 == "string" ) {
|
|
revFromJS = arg0!
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
export function onJsMessageOnce (messageChannel : string ) {
|
|
revFromJS = ""
|
|
uni.$once(messageChannel, function (...spreadArgs : Any) {
|
|
if (spreadArgs.length > 0) {
|
|
let arg0 = JSON.stringify(spreadArgs[0])
|
|
if ( typeof arg0 == "string" ) {
|
|
revFromJS = arg0!
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
export function offJsMessage(messageChannel : string) {
|
|
if (callbackId != null) {
|
|
uni.$off(messageChannel, callbackId!)
|
|
callbackId = null
|
|
}
|
|
}
|
|
|
|
export function clearJsMessage() {
|
|
revFromJS = ""
|
|
}
|