我正在开发 Azure DevOps 扩展,主要使用来自 azure-devops-ui(Forumula 设计系统)的组件,它自动从用户设置中获取主题。我还使用了来自 FluentUI(以前的 office-ui-fabric-react)的一些组件,但我也在努力让它们也使用主题。例如。当切换到深色主题时,FluenUI 组件保持白色。
有人做过这项工作吗?
我是否必须手动指定所有样式?但是如何获取当前 DevOps 主题用户正在使用的信息呢?
我正在开发 Azure DevOps 扩展,主要使用来自 azure-devops-ui(Forumula 设计系统)的组件,它自动从用户设置中获取主题。我还使用了来自 FluentUI(以前的 office-ui-fabric-react)的一些组件,但我也在努力让它们也使用主题。例如。当切换到深色主题时,FluenUI 组件保持白色。
有人做过这项工作吗?
我是否必须手动指定所有样式?但是如何获取当前 DevOps 主题用户正在使用的信息呢?
调用此 api 并获取WebPlatform/Theme的值:
https://dev.azure.com/{org}/_apis/Settings/Entries/globalme
//vss-extension.json
"scopes": [ "vso.settings" ]
//vss-web-extension-sdk
import * as SettingsServices from "VSS/Settings/Services";
var entries = service.getEntriesAsync("WebPlatform", SettingsServices.SettingsUserScope.Me); //https://dev.azure.com/{org}/_apis/Settings/Entries/me/WebPlatform
//响应正文:
{"count":2,"value":{"Theme":"ms.vss-web.vsts-theme-dark","Navigation/ProjectMRU":[{"projectId":"4ba0eb7f-64c0-4612-ad43-23055e664faa"},{"projectId":"a7037c27-f23a-4c14-9497-633b7e611bbb"}]}}