Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 创建VSTS扩展时保存状态或继续表单数据_Azure Devops - Fatal编程技术网

Azure devops 创建VSTS扩展时保存状态或继续表单数据

Azure devops 创建VSTS扩展时保存状态或继续表单数据,azure-devops,Azure Devops,我正在尝试制作一个像这样工作的VSTS扩展 Personas扩展允许用户输入名称、标签、描述和化身,并在左列添加项目,如图所示 如果我在web上这样做,这将不是一项困难的任务,但由于这是我第一次为VST创建扩展,我不知道如何实现这一点 我遵循了本教程: 并成功部署了我的扩展,只显示了我的名字 下面是我的代码,它显示了一些表单 my_hub.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> &

我正在尝试制作一个像这样工作的VSTS扩展

Personas扩展允许用户输入名称、标签、描述和化身,并在左列添加项目,如图所示

如果我在web上这样做,这将不是一项困难的任务,但由于这是我第一次为VST创建扩展,我不知道如何实现这一点

我遵循了本教程:

并成功部署了我的扩展,只显示了我的名字

下面是我的代码,它显示了一些表单

my_hub.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="lib/VSS.SDK.min.js"></script>
    <style>
        body {
            background-color: rgb(0, 67, 117);
            color: white;
            margin: 10px;    
            font-family: "Segoe UI VSS (Regular)","-apple-system",BlinkMacSystemFont,"Segoe UI",sans-serif;
        }
    </style>
    <script type="text/javascript">
        VSS.init();
        console.log(VSS);
        VSS.ready(function() {
            document.getElementById("name").innerText = VSS.getWebContext().user.name;
        });
    </script>
</head>
<body>        
    <form action="/action_page.php">
        First name:<br>
        <input type="text" name="firstname" value="Mickey">
        <br>
        Last name:<br>
        <input type="text" name="lastname" value="Mouse">
        <br><br>
        <input type="submit" value="Submit">
    </form> 
</body>
</html>

身体{
背景色:rgb(0,67,117);
颜色:白色;
利润率:10px;
字体系列:“Segoe UI VSS(常规)”,“苹果系统”,BlinkMacSystemFont,“Segoe UI”,无衬线;
}
VSS.init();
console.log(VSS);
VSS.ready(函数(){
document.getElementById(“name”).innerText=VSS.getWebContext().user.name;
});
名字:

姓氏:


这将成功地在扩展中显示表单,但我的问题是:

  • 如何保存状态,以便在左列显示保存的表单数据,如图所示

  • 我们如何提交表单数据以继续?我们需要一个数据库吗?如果是这样,我们如何为此任务设置它


  • 请帮忙!谢谢。

    对于开发vsts扩展,我们不提供使用数据库的功能

    您需要使用。VSTS扩展能够直接在Microsoft提供的基础架构上存储用户首选项和复杂的数据结构。这可以确保用户的数据安全,并像其他帐户和项目数据一样进行备份。这还意味着,对于简单的数据存储需求,您(作为扩展提供商)无需设置或管理(或支付)第三方数据存储服务

    该服务旨在让您存储和管理两个不同的 数据类型:

    • 设置:简单的键值设置(如用户首选项)
    • 文档:类似复杂对象(文档)的集合

    有关如何设置存储的更多详细信息,请参阅官方。

    我使用了教程中的确切代码。
    dataService.getValue
    dataService.setValue
    工作。但是删除或编辑它的功能是什么呢?我发现使用文档而不是键值存储可以做到这一点。我的新问题是,如何显示我拥有的所有数据?我试图使用
    getDocuments
    获取我所有的数据,但它只在
    VSS.getService(VSS.ServiceIds.ExtensionData)内部工作。然后…
    循环。为了重新表述我的问题,
    dataService.getDocuments(“MyCollection”)。然后(函数(docs)
    我无法将
    文档
    存储到另一个变量中,该文档是我以对象格式收集的数据。我需要将其存储到另一个变量中,以重新使用它在HTML中显示。有什么想法吗?请忽略我上面的问题,因为我已经解决了。但是,我还有另一个问题。文档存储是否可以与其他变量共享扩展?我试图在另一个扩展中使用
    dataService.getDocuments(“MyCollection2”)
    ,但它们似乎没有共享。这可能吗?@Dawn17暂时没有。