#angular #microsoft-teams
Вопрос:
Я вызываю URL-адрес из своего приложения расширения внутри команд MS.
URL-адрес-это не что иное, как угловое приложение.
В начале приложения я хочу запустить этот определенный API microsoftTeams.media.scanBarCode
.
Я могу запустить API при событии щелчка, но когда я запускаю OnInit
, ничего не происходит.
Угловой код:
config: microsoftTeams.media.BarCodeConfig = {
timeOutIntervalInSec: 30,
};
constructor() {}
ngOnInit(): void {
microsoftTeams.initialize();
microsoftTeams.media.scanBarCode((error: microsoftTeams.SdkError, decodedText: string) => {
if (error) {
if (error.message) {
console.log(' ErrorCode: ' error.errorCode error.message);
} else {
console.log(' ErrorCode: ' error.errorCode);
}
this.message = error;
} else if (decodedText) {
microsoftTeams.tasks.submitTask(decodedText);
}
}, this.config);
}
Комментарии:
1. Не могли бы вы, пожалуйста, проверить ошибки консоли? Какую версию SDK Microsoft Teams вы используете?
2. Я
"@microsoft/teams-js": "^1.9.0",
также использую версию, с ошибкой, которую я получаю, 90003. Я. обновите версию до
1.10.0
прежней4. На какой платформе вы столкнулись с этой проблемой?
5. Я запускаю это на мобильных устройствах (iPhone) — но вот в чем дело: API отлично работает при нажатии кнопки, но меня интересует инициализация страницы.
Ответ №1:
Я столкнулся с тем же самым, когда попытался использовать ваш код. Я предполагал, что что-то не инициализируется, и до этого вызывается scanBarCode. Поэтому я попытался добавить код в microsoftTeams.initialize();
обратный вызов.
microsoftTeams.initialize(() => {
const config: microsoftTeams.media.BarCodeConfig = {
timeOutIntervalInSec: 30
};
// Method that enables the user to scan different types of barcode, and returns the result as a string.
microsoftTeams.media.scanBarCode((error: microsoftTeams.SdkError, decodedText: string) => {
// If there's any error, an alert shows the error message/code
if (error) {
if (error.message) {
alert(" ErrorCode: " error.errorCode error.message);
} else {
alert(" ErrorCode: " error.errorCode);
}
} else if (decodedText) {
setBarCodeValue(decodedText);
}
}, config);
});
Это сработало для меня. Пожалуйста, проверьте, решит ли это и вашу проблему.
Комментарии:
1. сработало очень хорошо!, спасибо