JsCallAppService.ets 1.04 KB
import { Message } from 'wdJsBridge/src/main/ets/bean/Message';
import { WDHttp, HttpUrlUtils } from 'wdNetwork';

const TAG = 'JsCallAppService'


export function handleJsCallAppService(data: Message, callback: (res: string) => void) {
  if (data?.data?.method === 'get') {
    let queryString: string = ''
    let parameters = data?.data?.parameters
    if (parameters) {
      queryString = Object.keys(parameters)
        .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(parameters?.[key])}`)
        .join('&');
    }

    let url: string = HttpUrlUtils.getHost() + data?.data?.url
    if (queryString) {
      url = url + `?${queryString}`
    }
    WDHttp.get(url).then((res) => {
      callback(JSON.stringify({
        netError: '0',
        responseMap: res
      }))
    })
  }
  if (data?.data?.method === 'post') {
    let url: string = HttpUrlUtils.getHost() + data?.data?.url

    WDHttp.post(url, data?.data?.parameters).then((res) => {
      callback(JSON.stringify({
        netError: '0',
        responseMap: res
      }))
    })
  }
}