天天看點

前端檔案架構制定

前端檔案架構制定

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資料,想方設法弄出點花來。