Add the full source of BambuStudio

using version 1.0.10
This commit is contained in:
lane.wei 2022-07-15 23:37:19 +08:00 committed by Lane.Wei
parent 30bcadab3e
commit 1555904bef
3771 changed files with 1251328 additions and 0 deletions

View file

@ -0,0 +1,166 @@
#Content
{
overflow-y:auto;
}
#Content::-webkit-scrollbar {/*滚动条整体样式*/
width: 5px; /*高宽分别对应横竖滚动条的尺寸*/
height: 1px;
}
#Content::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
border-radius: 10px;
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
background-color: #AAAAAA;
}
#Content::-webkit-scrollbar-track {/*滚动条里面轨道*/
-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
border-radius: 10px;
background: #EDEDED;
}
.BlockBanner
{
padding: 0px;
border-bottom:#00AE42 1px solid;
width: 100%;
}
.BannerBtns
{
float: right;
display: flex;
width: 140px;
justify-content: space-around;
align-items: center;
height: 40px;
text-align: center;
margin-right: 10px;
}
/*.Banner-Btn
{
background-color: #C0C0C0;
color: #000;
padding: 0px 6px;
min-width: 50px;
border-radius: 4px;
height: 32px;
line-height: 32px;
cursor: pointer;
}
.Banner-Btn-green
{
background-color: #00AE42;
color: #fff;
padding: 0px 6px;
min-width: 50px;
border-radius: 8px;
height: 32px;
line-height: 32px;
cursor: pointer;
}*/
.BlockBanner a
{
display: inline-block;
background-color:#00AE42;
line-height: 40px;
height: 40px;
padding: 0px 24px;
color: #fff;
}
.PrinterArea
{
padding: 10px;
display: flex;
flex-wrap: wrap;
}
.PrinterBlock
{
width: 160px;
text-align: center;
padding: 10px;
}
.PrinterBlock img
{
width:160px;
height: 160px;
}
.PName
{
font-weight: 700;
}
.pNozzel
{
display: flex;
align-items: center;
justify-content:flex-start;
color: #5A5A5A;
padding-left: 10px;
}
.pNozzel input
{
vertical-align: middle;
margin-right: 5px;
}
/*-----Notice-----*/
#NoticeMask
{
background-color: #000;
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
opacity: 0.05;
display: none;
}
#NoticeBody
{
display: none;
width: 400px;
border: 1px solid #000;
border-radius: 4px;
background-color: #fff;
position: absolute;
left: 50%;
top: 200px;
margin-left: -200px;
}
#NoticeBar
{
background-color:#00B35C;
height: 40px;
line-height: 40px;
color: #fff;
text-align: center;
}
#NoticeContent
{
padding: 4mm 10mm;
}
#NoticeBtns
{
margin-top: 4mm;
display: flex;
justify-content:space-around;
}

View file

@ -0,0 +1,244 @@
function OnInit()
{
//let strInput=JSON.stringify(cData);
//HandleStudio(strInput);
TranslatePage();
RequestProfile();
}
function RequestProfile()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="request_userguide_profile";
SendWXMessage( JSON.stringify(tSend) );
}
function HandleStudio( pVal )
{
// alert(strInput);
// alert(JSON.stringify(strInput));
//
// let pVal=IsJson(strInput);
// if(pVal==null)
// {
// alert("Msg Format Error is not Json");
// return;
// }
let strCmd=pVal['command'];
//alert(strCmd);
if(strCmd=='response_userguide_profile')
{
HandleModelList(pVal['response']);
}
}
function HandleModelList( pVal )
{
if( !pVal.hasOwnProperty("model") )
return;
let pModel=pVal['model'];
let nTotal=pModel.length;
let ModelHtml={};
for(let n=0;n<nTotal;n++)
{
let OneModel=pModel[n];
let strVendor=OneModel['vendor'];
//Add Vendor Html Node
if($(".OneVendorBlock[vendor='"+strVendor+"']").length==0)
{
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
'<div class="BlockBanner">'+
' <div class="BannerBtns">'+
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
' </div>'+
' <a>Bambu Lab</a>'+
'</div>'+
'<div class="PrinterArea"> '+
'</div>'+
'</div>';
$('#Content').append(HtmlNewVendor);
}
let ModelName=OneModel['model'];
//Collect Html Node Nozzel Html
if( !ModelHtml.hasOwnProperty(strVendor))
ModelHtml[strVendor]='';
let NozzleArray=OneModel['nozzle_diameter'].split(';');
let HtmlNozzel='';
for(let m=0;m<NozzleArray.length;m++)
{
let nNozzel=NozzleArray[m];
HtmlNozzel+='<div class="pNozzel"><input type="checkbox" model="'+OneModel['model']+'" nozzel="'+nNozzel+'" vendor="'+strVendor+'" /><span>'+nNozzel+'</span><span class="trans" tid="t13">mm nozzle</span></div>';
}
let CoverImage="../../image/printer/"+OneModel['model']+"_cover.png";
ModelHtml[strVendor]+='<div class="PrinterBlock">'+
' <div class="PImg"><img src="'+CoverImage+'" /></div>'+
' <div class="PName">'+OneModel['model']+'</div>'+ HtmlNozzel +'</div>';
}
//Update Nozzel Html Append
for( let key in ModelHtml )
{
$(".OneVendorBlock[vendor='"+key+"'] .PrinterArea").append( ModelHtml[key] );
}
//Update Checkbox
$('input').prop("checked", false);
for(let m=0;m<nTotal;m++)
{
let OneModel=pModel[m];
let SelectList=OneModel['nozzle_selected'];
if(SelectList!='')
{
SelectList=OneModel['nozzle_selected'].split(';');
let nLen=SelectList.length;
for(let a=0;a<nLen;a++)
{
let nNozzel=SelectList[a];
$("input[vendor='"+OneModel['vendor']+"'][model='"+OneModel['model']+"'][nozzel='"+nNozzel+"']").prop("checked", true);
}
}
else
{
$("input[vendor='"+OneModel['vendor']+"'][model='"+OneModel['model']+"']").prop("checked", false);
}
}
let AlreadySelect=$("input:checked");
let nSelect=AlreadySelect.length;
if(nSelect==0)
{
$("input[nozzel='0.4']").prop("checked", true);
}
TranslatePage();
}
function SelectPrinterAll( sVendor )
{
$("input[vendor='"+sVendor+"']").prop("checked", true);
}
function SelectPrinterNone( sVendor )
{
$("input[vendor='"+sVendor+"']").prop("checked", false);
}
//
function OnExit()
{
let ModelAll={};
let ModelSelect=$("input:checked");
let nTotal=ModelSelect.length;
if( nTotal==0 )
{
ShowNotice(1);
return 0;
}
for(let n=0;n<nTotal;n++)
{
let OneItem=ModelSelect[n];
let strModel=OneItem.getAttribute("model");
let strVendor=OneItem.getAttribute("vendor");
let strNozzel=OneItem.getAttribute("nozzel");
//alert(strModel+strVendor+strNozzel);
if(!ModelAll.hasOwnProperty(strModel))
{
//alert("ADD: "+strModel);
ModelAll[strModel]={};
ModelAll[strModel]["model"]=strModel;
ModelAll[strModel]["nozzle_diameter"]='';
ModelAll[strModel]["vendor"]=strVendor;
}
ModelAll[strModel]["nozzle_diameter"]+=ModelAll[strModel]["nozzle_diameter"]==''?strNozzel:';'+strNozzel;
}
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="save_userguide_models";
tSend['data']=ModelAll;
SendWXMessage( JSON.stringify(tSend) );
return nTotal;
}
function ShowNotice( nShow )
{
if(nShow==0)
{
$("#NoticeMask").hide();
$("#NoticeBody").hide();
}
else
{
$("#NoticeMask").show();
$("#NoticeBody").show();
}
}
function CancelSelect()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="user_guide_cancel";
tSend['data']={};
SendWXMessage( JSON.stringify(tSend) );
}
function ConfirmSelect()
{
let nChoose=OnExit();
if(nChoose>0)
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="user_guide_finish";
tSend['data']={};
tSend['data']['action']="finish";
SendWXMessage( JSON.stringify(tSend) );
}
}

View file

@ -0,0 +1,102 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Cache-Control" content="max-age=7200" />
<title>引导_P21</title>
<link rel="stylesheet" type="text/css" href="../css/common.css" />
<link rel="stylesheet" type="text/css" href="24.css" />
<script type="text/javascript" src="test.js"></script>
<script type="text/javascript" src="../js/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../js/json2.js"></script>
<script type="text/javascript" src="../../data/text.js"></script>
<script type="text/javascript" src="../js/globalapi.js"></script>
<script type="text/javascript" src="../js/common.js"></script>
<script type="text/javascript" src="24.js"></script>
</head>
<body onLoad="OnInit()">
<div id="Title">
<div class="trans" tid="t10">Printer Selection</div>
</div>
<div id="Content">
<!--<div class="OneVendorBlock" Vendor="BBL">
<div class="BlockBanner">
<div class="BannerBtns">
<div class="SmallBtn_Green" onClick="SelectPrinterAll('BBL')">所有</div>
<div class="SmallBtn" onClick="SelectPrinterNone('BBL')"></div>
</div>
<a>BBL-3DP</a>
</div>
<div class="PrinterArea">
<div class="PrinterBlock">
<div class="PImg"><img src="p2.jpg" /></div>
<div class="PName">BBL-3DP-V4NORMAL</div>
<div class="pNozzel"><input id="ZZ" type="checkbox" model="BBL-3DP-V4NORMAL" nozzel="0.4" vendor="BBL" />0.4mm nozzle</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V4NORMAL" nozzel="0.1" vendor="BBL" />0.1mm nozzle</div>
</div>
<div class="PrinterBlock">
<div class="PImg"><img src="p1.jpg" /></div>
<div class="PName">BBL-3DP-V4NORMAL</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V5NORMAL" nozzel="0.4" vendor="BBL" />0.4mm nozzle</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V5NORMAL" nozzel="0.2" vendor="BBL" />0.2mm nozzle</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V5NORMAL" nozzel="0.1" vendor="BBL" />0.1mm nozzle</div>
</div>
</div>
</div>
<div class="OneVendorBlock" Vendor="BAMBU">
<div class="BlockBanner">
<div class="BannerBtns">
<div class="Banner-Btn-green" onClick="SelectPrinterAll('BAMBU')">所有</div>
<div class="Banner-Btn" onClick="SelectPrinterNone('BAMBU')"></div>
</div>
<a>BBL-3DP</a>
</div>
<div class="PrinterArea">
<div class="PrinterBlock">
<div class="PImg"><img src="p2.jpg" /></div>
<div class="PName">BBL-3DP-V4NORMAL</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V4NORMAL" nozzel="0.4" vendor="BAMBU" />0.4mm nozzle</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V4NORMAL" nozzel="0.1" vendor="BAMBU" />0.1mm nozzle</div>
</div>
<div class="PrinterBlock">
<div class="PImg"><img src="p1.jpg" /></div>
<div class="PName">BBL-3DP-V4NORMAL</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V5NORMAL" nozzel="0.4" vendor="BAMBU" />0.4mm nozzle</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V5NORMAL" nozzel="0.2" vendor="BAMBU" />0.2mm nozzle</div>
<div class="pNozzel"><input type="checkbox" model="BBL-3DP-V5NORMAL" nozzel="0.1" vendor="BAMBU" />0.1mm nozzle</div>
</div>
</div>
</div>-->
</div>
<div id="AcceptArea">
<div class="NormalBtn trans" tid="t39" id="AcceptBtn" onclick="ConfirmSelect()">Confirm</div>
<div class="GrayBtn trans" tid="t38" id="PreBtn" onclick="CancelSelect()">Cancel</div>
</div>
<div id="NoticeMask"></div>
<div id="NoticeBody">
<div id="NoticeBar" class="trans" tid="t18">error</div>
<div id="NoticeContent">
<div id="NoticeText" class="trans" tid="t37">At least one printer must be selected.</div>
<div id="NoticeBtns">
<div class="SmallBtn trans" tid="t36" onClick="ShowNotice(0)">ok</div>
</div>
</div>
</div>
</body>
</html>