前端檔案架構制定
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資料,想方設法弄出點花來。