天天看点

前端文件框架制定

前端文件框架制定

models文件夹源文件名 models文件夹现文件名
models/canvas.html【原项目来的】

models/create_models.html

创建模型,这个应该是最麻烦的

models/shop.html【模板来的】

models/models.html【原项目来的】

models/manage_models.html

最后需要整合成为这一个html,罗列所有的模型,类似商品列表,点击一个商品列表可以进入models_detail.html页面

models/single-product.html【模板来的】

models/models_detail.html

展示特定模型的信息,但是不提供修改,提供修改按钮,修改按钮重定向到另一个页面,然后将模型加载到画布上,但是这里要注意,我们每个模型都有一个单独的主键id,这个id也要加载过去,存数据库的时候要注意。这块我不确定能不能这么做,可能工作量有点大,4.17讨论一下。

models/show_code.html【原项目来的】

models/show_code.html

展示生成的代码,可以从models_detail.html来

feedback文件夹原文件名 feedback文件夹现文件名

feedback/contact.html【模板来的】

feedback/contact_us.html【原项目来的】

feedback/about.html【模板来的】

feedback/about.html

三个文件合并,都是死的文字,不必写成三个文件

feedback/feedback.html【原项目来的】

feedback/question.html【原项目来的】

feedback/feedback.html

两个文件合并,我们并不打算后期一直维护,所以此处只需要做成一个向后台发送数据的即可,后台用一个表接着就行了

user文件夹原文件名 user文件夹现文件名
user/my-account.html【模板来的】

user/modify_info.html

主要提供修改密码的功能,也可以提供修改其他信息的功能。

user/login.html【模板来的】

user/login.html

提供登录功能

user/register.html【模板来的】

user/register.html

提供注册功能

其实这个模块我还没想好,也可以做成模态框的那种,就是弹出来一个框框登陆,不过即使做成页面的好处就是可以及时反馈信息,比如密码错误,用户名错误之类的,我觉得都可以到时候我们讨论吧。

font文件夹下的其他页面 提供功能

index.html【模板来的】

statistics.html【原项目来的】

index.html

主页,除注册登陆之外唯一一个可以直接访问的页面,上面罗列一些模型展示配上一些图,这些可以像一些经典模型一样直接写死。

同时,这个页面也提供用户的检测,就是不单独写用户访问量了,可以直接写到主页面去,因为我觉得这么写比较好看。

help.html【原项目来的】

help.html

帮助文档,这种页面我没见过,看起来不太好惹,看看怎么移植吧。

以上右侧的现文件就是我预估的,咱们前端模块所需要完成的所有页面。看起来工作量好像还不小,这里面还牵扯到后端数据库存储的问题,可能还需要讨论一下怎么弄。这个下面是我初步设计的表,也就是后台的models。

我找到了目前前后端的接口设计

function get_network() {
    var conn_list;
    var nets_conn = [];
    var nets = {};
    $("#canvas").find(".node").each(function (index, element) {
        var id = $(element).attr('id');
        nets[id] = {
            "name": $(element).attr('name'),
            "attribute": eval('(' + window.sessionStorage.getItem(id) + ')'),
            "left": $(element).css('left'),
            "top": $(element).css('top')
        }
    });
    conn_list = jsPlumb.getAllConnections();
    console.log(conn_list);

    for (var i = 0; i < conn_list.length; i++) {
        var source_id = conn_list[i]["sourceId"];
        var target_id = conn_list[i]["targetId"];
        var conn = {
            "source": {
                "id": source_id,
                "anchor_position": conn_list[i]["endpoints"][0]["anchor"]["type"]
            },
            "target": {
                "id": target_id,
                "anchor_position": conn_list[i]["endpoints"][1]["anchor"]["type"]
            }
        };
        nets_conn.push(conn);
    }
    var epoch = $("#epoch").val();
    if (epoch == "") {
        epoch = "1";
    }
    var learning_rate = $("#learning_rate").val();
    if (learning_rate == "") {
        learning_rate = "0.5";
    }
    var batch_size = $("#batch_size").val();
    if (batch_size == "") {
        batch_size = "1";
    }
    var static = {
        "epoch": epoch,
        "optimizer": $("#optimzier").find("option:selected").val(),
        "learning_rate": learning_rate,
        "batch_size": batch_size
    };
    var data = {
        "name": $("#model_name").val(),
        "structure": {
            "nets": nets,
            "nets_conn": nets_conn,
            "static": static
        }
    };
    return data;
}
           

我们只需要向后端传这么个json就可以了,至于他们怎么处理,我们不用管,我们最核心的部分就是实现这个json数据,想方设法弄出点花来。