index.uts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { UniUTSJS } from 'DCloudUniappRuntime'
  2. import { NSNumber } from 'Foundation';
  3. let MessageChannel : string = "UtsMessage"
  4. var revFromJS = ""
  5. export function getMessageChannel() : string {
  6. return MessageChannel
  7. }
  8. export function getRevJsMessage() : string {
  9. return revFromJS
  10. }
  11. export function emitUtsMessage(arg : string) {
  12. uni.$emit(MessageChannel, arg);
  13. }
  14. export function emitUtsMessageUTSObject(arg : UTSJSONObject) {
  15. uni.$emit(MessageChannel, arg);
  16. }
  17. export function emitUtsMessages(arg : UTSJSONObject, arg2 : string ){
  18. uni.$emit(MessageChannel, arg, arg2);
  19. }
  20. export function emitUtsMessageNoArgument(){
  21. uni.$emit(MessageChannel);
  22. }
  23. var callbackId : NSNumber | null = null
  24. export function onJsMessage (messageChannel : string ) {
  25. revFromJS = ""
  26. if (callbackId != null) {
  27. uni.$off(messageChannel, callbackId!)
  28. callbackId = null
  29. }
  30. callbackId = uni.$on(messageChannel, function (...spreadArgs : Any) {
  31. if (spreadArgs.length > 0) {
  32. let arg0 = JSON.stringify(spreadArgs[0])
  33. if ( typeof arg0 == "string" ) {
  34. revFromJS = arg0!
  35. }
  36. }
  37. })
  38. }
  39. export function onJsMessageOnce (messageChannel : string ) {
  40. revFromJS = ""
  41. uni.$once(messageChannel, function (...spreadArgs : Any) {
  42. if (spreadArgs.length > 0) {
  43. let arg0 = JSON.stringify(spreadArgs[0])
  44. if ( typeof arg0 == "string" ) {
  45. revFromJS = arg0!
  46. }
  47. }
  48. })
  49. }
  50. export function offJsMessage(messageChannel : string) {
  51. if (callbackId != null) {
  52. uni.$off(messageChannel, callbackId!)
  53. callbackId = null
  54. }
  55. }
  56. export function clearJsMessage() {
  57. revFromJS = ""
  58. }