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()