Skip to content

Commit

Permalink
init impliment server sync
Browse files Browse the repository at this point in the history
  • Loading branch information
boypt committed Dec 1, 2015
1 parent d02a35d commit 75a0f40
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 5 deletions.
41 changes: 39 additions & 2 deletions redtool/index.html
Expand Up @@ -46,14 +46,19 @@
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<div class="container well well-lg">
<div class="row">
<div class="col-sm-2">
<div class="pfmenu">
<div class="col-sm-2 pfmenu">
<div>
<ul class="nav nav-pills nav-stacked" id="profile_nav"></ul>
<button id="btn_add_profile" class="btn btn-default">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
</button>
</div>

<hr />
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#sync_svr">
<span class="glyphicon glyphicon-cloud" aria-hidden="true"></span>数据同步
</button>

<hr />

<div class="form-group">
Expand Down Expand Up @@ -107,5 +112,37 @@
</div>
</div>

<!-- Modal -->
<div class="modal fade" id="sync_svr" tabindex="-1" role="dialog" aria-labelledby="syncLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="syncLabel">数据同步</h4>
</div>
<div class="modal-body">

<div class="row">
<label class="col-sm-2 control-label" for="sync_code">Code</label>
<div class="col-md-4"><input type="text" class="form-control" id="sync_code"></input></div>
</div>

<div class="row">
<label class="col-sm-2 control-label" for="sync_date">Date</label>
<div class="col-md-4"><input type="text" class="form-control" id="sync_date" readonly></input></div>
</div>


</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="sync_upload">Upload</button>
<button type="button" class="btn btn-primary" id="sync_download">Download</button>
</div>
</div>
</div>
</div>


</body>
</html>
78 changes: 75 additions & 3 deletions redtool/js/stock.js
Expand Up @@ -18,14 +18,19 @@ var Portfolio = function (pfid) {
this.restore();
}

Portfolio.prototype.save = function () {
var vals = {

Portfolio.prototype.objectfy = function () {
return {
"is_fund":this.is_fund,
"ids":this.ids,
"sina_ids":this.sina_ids,
"values":this.values,
"last_update":this.last_update
}
};
}

Portfolio.prototype.save = function () {
var vals = this.objectfy();
localStorage.setItem(this.storage_key, JSON.stringify(vals));
}

Expand Down Expand Up @@ -289,6 +294,19 @@ var PortfolioIdList = function () {
this.restore();
}

PortfolioIdList.prototype.sync_svr = function () {
var obj = {};
obj[this.storage_key] = this.list;
obj["portfolio"] = {};
obj["syncdate"] = new Date().toLocaleString();

$.each(this.portfolio, function () {
obj["portfolio"][this.storage_key] = this.objectfy();
});

return obj;
}

PortfolioIdList.prototype.save = function () {
localStorage.setItem(this.storage_key, JSON.stringify(this.list));
}
Expand Down Expand Up @@ -322,6 +340,9 @@ PortfolioIdList.prototype.restore_portfolios = function () {
}

PortfolioIdList.prototype.current_portfolio = function () {
if(! this.curpfid in this.portfolio) {
this.curpfid = this.list[0];
}
return this.portfolio[this.curpfid];
}

Expand Down Expand Up @@ -434,6 +455,57 @@ var _reg_event_handlers = function () {
.on('hidden.bs.modal', function () {
$("#neat_val").outerHeight(0);
});


$("#sync_svr")
.on('show.bs.modal', function () {
var code = localStorage.getItem("sync_code");
$("#sync_code").text(code);
});


$('#sync_code').blur(function (evn) {
$("#sync_date").val('Loading...');
var code = $(evn.currentTarget).val();
localStorage.setItem("sync_code", code);

$.getJSON("/json/"+code+".json")
.done(function(json) {
$("#sync_date").val(json.syncdate);
console.log(json);
})
.fail(function () {
$("#sync_date").val('No Object');
});
});

$('#sync_upload').on('click', function () {
var code = $("#sync_code").val();
var sync = JSON.stringify(_List.sync_svr());
$.ajax({
method: "POST",
url: "/storage.php",
data: { code: code, sync: sync}
})
.done(function( msg ) {
});
});


$('#sync_download').on('click', function () {
var code = $("#sync_code").val();
$.getJSON("/json/"+code+".json")
.done(function(json) {
localStorage.setItem(_List.storage_key, JSON.stringify(json.pf_list));
$.each(json.portfolio, function (k,v) {
localStorage.setItem(k, JSON.stringify(v));
});
})
.fail(function () {
$("#sync_date").val('No Object');
});

});
/*----------------------------------------*/
}

Expand Down

0 comments on commit 75a0f40

Please sign in to comment.