(origin)
| 1024 | |
| 1025 | // region 微软翻译 |
| 1026 | function microsoft(origin) { |
| 1027 | return new Promise((resolve, reject) => { |
| 1028 | let from = langManager.getFrom() === 'auto' ? '' : langManager.getFrom() |
| 1029 | |
| 1030 | // 从 GM 缓存获取 token |
| 1031 | let jwtToken = tokenManager.getToken(transModel.microsoft); |
| 1032 | refreshToken(jwtToken).then(jwtString => { |
| 1033 | // 文档:https://learn.microsoft.com/zh-cn/azure/ai-services/translator/language-support |
| 1034 | GM_xmlhttpRequest({ |
| 1035 | method: POST, |
| 1036 | url: "https://api-edge.cognitive.microsofttranslator.com/translate?from=" + from + "&to=" + langManager.getTo() + "&api-version=3.0&includeSentenceLength=true&textType=html", |
| 1037 | headers: LLMFormat.getStdHeader(jwtString), |
| 1038 | data: JSON.stringify([{Text: origin}]), |
| 1039 | onload: resp => { |
| 1040 | try { |
| 1041 | let resultJson = JSON.parse(resp.responseText); |
| 1042 | resolve(resultJson[0].translations[0].text); |
| 1043 | } catch (e) { |
| 1044 | reject(resp.responseText); |
| 1045 | } |
| 1046 | }, |
| 1047 | onerror: error => reject(error) |
| 1048 | }); |
| 1049 | }).catch(error => reject('Error refreshing microsoft token: ' + error)) |
| 1050 | }); |
| 1051 | } |
| 1052 | |
| 1053 | // 返回有效的令牌或 false |
| 1054 | function refreshToken(token) { |
nothing calls this directly
no test coverage detected