MCPcopy Create free account
hub / github.com/Bistutu/FluentRead / microsoft

Function microsoft

userscripts.js:1026–1051  ·  view source on GitHub ↗
(origin)

Source from the content-addressed store, hash-verified

1024
1025// region 微软翻译
1026function 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
1054function refreshToken(token) {

Callers

nothing calls this directly

Calls 1

refreshTokenFunction · 0.70

Tested by

no test coverage detected