Я новичок в машинописном тексте и просто пытаюсь преобразовать код API Msg91 NodeJS в машинописный текст, но при компиляции кода возникла ошибка. то есть «Аргумент типа Isms91Options» не может быть назначен параметру типа «строка | URL».
Я попытался удалить все возможные типы ошибок, но думаю, что кое-что упустил.
interface IoptionsType {
phoneNumber: string;
message: string;
}
interface IheadersType {
authkey: string;
contentType: string;
}
interface Isms91Options {
method: string;
hostname: string;
port: string;
path: string;
headers: IheadersType;
}
export const sendSms = (data: IoptionsType) => {
const {message, phoneNumber} = data;
const option: Isms91Options = {
headers: {
authkey: "XXXXXXXXXXXXX",
contentType: "application/json"
},
hostname: "api.msg91.com",
method: "POST",
path: `http://api.msg91.com/api/v2/sendsms?message=${message}&authkey=XXXXXXXXXXXXXXX&`
+ `mobiles=+91${phoneNumber}&route=4&sender=XXXXX&country=91&unicode=1`,
port: null,
};
const req = http.request(option, (res: Response) => {
const chunks: any[] = [];
res.on("data", (chunk) => {
chunks.push(chunk);
});
res.on("end", () => {
log.info(Buffer.concat(chunks));
});
});
req.write(JSON.stringify({
country: "91",
route: "4",
sender: "XXXXXX",
sms:
[ { message: "testing", to: [ "XXXXXXX" ] } ] }));
req.end();
};
Это ошибка, с которой я столкнулся при компиляции кода ошибка TS2345: аргумент типа Isms91Options не может быть назначен параметру типа строка | URL '. В типе Isms91Options отсутствуют следующие свойства типа URL: hash, host, href, origin и еще 7.





путем определения параметра const: любая ошибка исчезла.