鸿蒙_rcp封装

1.新建xx.ets 调用api

aboutToAppear(): void {

  this.getList()

}

async getList() {

  let res = await myApi.loginApi()

  console.log('-----异步请求' + JSON.stringify(res))

}

2.新建  myApi .ets

import RCP from './RCP'

import { rcp } from '@kit.RemoteCommunicationKit'

export class myApi {

static  async loginApi() {

    let url: string = '/auth/login'

    let requestContent: rcp.RequestContent = {

      'status': '1',

      'belong': '1',

      'language': 'cn',

      'needTop': 1,

      'displayChannel': [1, 3],

      'count': 4,

      'pagestart': 1,

      'type': '1,4,5,6'

    }

    const RESOURCE_URL: string = 'https://svc-drcn.developer.huawei.com/community/servlet/consumer' +

      '/partnerActivityService/v1/developer/activity/terminalActivities/list'

    return await RCP.rcpRequest(RESOURCE_URL, 'POST', requestContent)

  }

}

export default new myApi()

3.统一入口,新建RCP.ets

import { rcp } from "@kit.RemoteCommunicationKit";

import { BusinessError } from "@kit.BasicServicesKit";

export class RCP {

  rcpSession: rcp.Session

  constructor() {

    this.rcpSession = rcp.createSession()

  }

  async rcpRequest(url: string, method: string, params?:  rcp.RequestContent): Promise<rcp.Response> {

    const headers: rcp.RequestHeaders = { 'accept': 'application/json' };

    const req = new rcp.Request(url, method, headers, params);

    return new Promise((resolve: Function, reject: Function) => {

      this.rcpSession.fetch(req)

        .then((rep: rcp.Response) => {

          console.info(`---Response succeeded: ${rep}`);

          resolve(rep)

        }).catch((err: BusinessError) => {

        reject(err)

        // 错误处理,通过catch块,捕获error,并对error进行处理,本示例中会将错误信息展现到打印台上。

        console.error(`---Response err: Code is ${JSON.stringify(err.code)}, message is ${JSON.stringify(err)}`);

      });

    })

  }

}

export default new  RCP()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容