参考官网地址:(https://www.electronjs.org/zh/docs/latest/api/net)
src/http.ts
ts
import { net } from 'electron';
// ----------网络请求封装--
/**
* POST请求数据接口
* @param api 接口地址,如:'http://192.168.1.110/user/login'
* @param data 请求数据,JOSN 格式,或 object 或 string
*/
export function sendPOST(api:string,data:JSON|object|string){
sendPOST_ASYNC(api,data)
.then(response => {
console.log('POST 请求成功: ',response);
return response;
}).catch(err => {
console.log('POST 请求异常: ',err);
return null;
})
}
/**
* GET请求数据接口
* @param api 接口地址,如:'http://192.168.1.110/ping'
*/
export function sendGET(api:string){
sendGET_ASYNC(api)
.then(response => {
console.log('GET 请求成功: ',response);
return response;
}).catch(err => {
console.log('GET 请求异常: ',err);
return null;
})
}
/**
* POST请求数据接口 - 异步接口
* @param api 接口地址,如:'http://192.168.1.110/user/login'
* @param data 请求数据,JOSN 格式,或 object 或 string
*/
async function sendPOST_ASYNC(api:string,data:JSON|object|string){
const request:RequestInit = {
method:'POST',
body:JSON.stringify(data),
headers:{'Content-Type':'application/json'}
}
const response = await net.fetch(api,request)
if (response.ok) {
const body = await response.json()
return body
}
}
/**
* GET请求数据接口 - 异步接口
* @param api 接口地址,如:'http://192.168.1.110/ping'
*/
async function sendGET_ASYNC(api:string){
const response = await net.fetch(api)
if (response.ok) {
const body = await response.json()
return body
}
}
main.ts 使用
ts
import { sendPOST,sendGET } from './http';
sendPOST('http://192.168.1.110/user/login',{username:"xxx",pwd:"xxx"});
sendGET('http://192.168.1.110/ping')