基于豆包MarsCode助手高效完成JSON数据渲染

738 阅读5分钟

前言

软件开发领域也在不断进步。在这个过程中,程序员们面临着越来越多的挑战,其中,如何高效地处理复杂的前端表单数据成为了一个亟待解决的问题,为了解决这一问题,豆包Marscode助手应运而生,成为了开发者的得力助手。

[豆包Marscode AI代码]助手是一款先进的辅助编码工具,集成了代码补全、智能推荐、单元测试生成等多种实用功能。它的出现,旨在帮助开发者提高工作效率,轻松应对各种编程任务。 image.png

一、MarsCode插件简介

MarsCode插件支持在IntelliJ IDEA或者VSCode中安装,方便开发者快速集成。安装完成后,插件会在编译器左侧侧边栏显示,点击登录即可进入豆包助手聊天框,与助手进行交互。

image.png

二、在IntelliJ IDEA中安装MarsCode插件

本文采用IDEA进行安装MarsCode助手, 点击菜单栏中的 File,选择 Settings在设置窗口左侧的导航栏中,找到并点击 Plugins插件,搜索MarsCode,点击安装。

image.png

安装完成之后,左侧侧边栏,就会出现MarsCode,点击之后,进行登录即可。

image.png

登录完成之后,就会出现豆包助手聊天框。

image.png

三、需求背景

在实际开发中,经常会遇到需要动态配置并展示数据库存储的数据的情况。例如,一个数据库存储的数据结构为JSON数组,每个元素包含设备的详细信息和类型,需要在前端页面上以表单的形式展示这些数据。

[
  {
    "attrs": {
      "os": "Android 10",
      "ram": "4+2GB",
      "rom": "64GB",
      "core": "4x",
      "supportGame": "7"
    },
    "Name": "XVIP10",
    "Type": 1
  },
  {
    "attrs": {
      "os": "Android 10",
      "ram": "4+2GB",
      "rom": "64GB",
      "core": "4x",
      "supportGame": "7"
    },
    "Name": "KVIP10",
    "Type": 2
  }
]

最终产品希望的是在前端页面上以表单的形式展示这些数据,其中第一行显示每个设备的名称,后续行分别显示其属性。也就是类似如图所示,按照JSON数组进行遍历,第一行是每个数据的name,之后属性单独一行,依次生成。 image.png

四、人工编写

当然,这对于专业前端来说,这种表单页面十分简单,但是对于后端开发人员来说下,开发者需要手动编写大量的HTML和JavaScript代码来实现这一功能,这不仅耗时且容易出错。

首先需要的是创建一个基本的HTML模板,用于展示表单数据,也就是将上面数据遍历生成对应的from input框。

<form class="form-horizontal" id="form">
    <div class="form-group widget-box">
        <div class="widget-header">XVIP10</div>
        <div class="widget-main"><label class="col-sm-1 control-label">os</label><input type="text" class="col-sm-1"
                                                                                        name="os"
                                                                                        placeholder="请输入os"><label
                class="col-sm-1 control-label">rom</label><input type="text" class="col-sm-1" name="rom"
                                                                 placeholder="请输入rom"><label
                class="col-sm-1 control-label">core</label><input type="text" class="col-sm-1" name="core"
                                                                  placeholder="请输入core"><label
                class="col-sm-1 control-label">ram_m</label><input type="text" class="col-sm-1" name="ram"
                                                                   placeholder="请输入ram_m"><label
                class="col-sm-1 control-label">supportGame</label><input type="text" class="col-sm-1" name="supportGame"
                                                                         placeholder="请输入supportGame"></div>
    </div>
    <div class="form-group widget-box">
        <div class="widget-header">KVIP10</div>
        <div class="widget-main"><label class="col-sm-1 control-label">os</label><input type="text" class="col-sm-1"
                                                                                        name="os"
                                                                                        placeholder="请输入os"><label
                class="col-sm-1 control-label">rom</label><input type="text" class="col-sm-1" name="rom"
                                                                 placeholder="请输入rom"><label
                class="col-sm-1 control-label">core</label><input type="text" class="col-sm-1" name="core"
                                                                  placeholder="请输入core"><label
                class="col-sm-1 control-label">ram_m</label><input type="text" class="col-sm-1" name="ram"
                                                                   placeholder="请输入ram">
                class="col-sm-1 control-label">supportGame</label><input type="text" class="col-sm-1" name="supportGame"
                                                                         placeholder="请输入supportGame"></div>
    </div>


        <div class="col-sm-10 center">
            <button class="btn btn-success" type="button" id="btn_save">
                <i class="ace-icon fa fa-check"></i>
                保存
            </button>
        </div>
    </div>
</form>

从上面代码可以看到,手动编写这样的表单对于后端开发人员来说可能会比较繁琐。

五、MarsCode便捷开发

为了解决这个问题,使用豆包MarsCode助手,可以大大简化这一过程,接下使用MarsCode助手完成这个需求,上述其实很多代码是重复的,所以可以使用js遍历JSON数据,动态生成表单。

5.1初步生成

在IDEA编译器中,打开MarsCode助手对话框,将需求告诉MarsCode助手。

image.png

最终初步完善js代码如下,对比上述手写表单是不是简洁很多,只要将数据封装成Map,然后进行遍历即可,而且全是MarsCode自动生成。

image.png

将生成代码复制到模块中,直接运行工程,打开浏览器可以看到页面如下:

image.png

5.2 最终生成

其实已经满足需求,但是页面可能不怎么美观,需要稍微子啊修改一下样式,由于MarsCode具有强大上下文联想功能,所以可以在上述回答完成的基础上,在补充需求,比如

image.png

等待MarsCode代码生成,最终在上述代码的基础上,完成了补充:

image.png

同样将生成代码复制到编译器中,重新启动工程,最终效果如下,对比上一次初步生成更加美观了。

image.png

总结

通过以上步骤,利用豆包Marscode助手一步一步完成了表单效果的呈现。整个过程十分轻松,只需将需求跟MarsCode助手描述清楚即可完成。这不仅提高了开发效率,还降低了出错率,使更多后端开发人员能够更专注于业务逻辑的实现。

总之,豆包Marscode助手为开发者提供了一个便捷的工具,帮助他们更好地应对复杂的编程任务,在未来,我们期待这款助手能够带来更多的惊喜,助力软件开发行业不断向前发展,大家赶紧去体验吧!