mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-04-05 20:17:53 +08:00
fix:优化文档缓存策略,实现根据文档版本缓存
2、优化加载Markdown编辑器插件策略解决重复触发load方法BUG
This commit is contained in:
parent
cb3d1fdd10
commit
1ec965a2d1
@ -186,11 +186,13 @@ func (c *DocumentController) Read() {
|
||||
Body string `json:"body"`
|
||||
Title string `json:"title"`
|
||||
DocInfo string `json:"doc_info"`
|
||||
Version int64 `json:"version"`
|
||||
}
|
||||
data.DocTitle = doc.DocumentName
|
||||
data.Body = doc.Release
|
||||
data.Title = doc.DocumentName + " - Powered by MinDoc"
|
||||
data.DocInfo = docInfo
|
||||
data.Version = doc.Version
|
||||
|
||||
c.JsonResult(0, "ok", data)
|
||||
}
|
||||
|
@ -4,10 +4,9 @@ import (
|
||||
"bytes"
|
||||
"html/template"
|
||||
"math"
|
||||
"strconv"
|
||||
|
||||
"github.com/astaxie/beego/orm"
|
||||
"github.com/lifei6671/mindoc/conf"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type DocumentTree struct {
|
||||
@ -116,11 +115,7 @@ func getDocumentTree(array []*DocumentTree, parentId int, selectedId int, select
|
||||
if item.DocumentId == selectedParentId || (item.State != nil && item.State.Opened) {
|
||||
selectedLi = ` class="jstree-open"`
|
||||
}
|
||||
buf.WriteString("<li id=\"")
|
||||
buf.WriteString(strconv.Itoa(item.DocumentId))
|
||||
buf.WriteString("\"")
|
||||
buf.WriteString(selectedLi)
|
||||
buf.WriteString("><a href=\"")
|
||||
buf.WriteString(fmt.Sprintf("<li id=\"%d\"%s><a href=\"",item.DocumentId,selectedLi))
|
||||
if item.Identify != "" {
|
||||
uri := conf.URLFor("DocumentController.Read", ":key", item.BookIdentify, ":id", item.Identify)
|
||||
buf.WriteString(uri)
|
||||
@ -128,10 +123,9 @@ func getDocumentTree(array []*DocumentTree, parentId int, selectedId int, select
|
||||
uri := conf.URLFor("DocumentController.Read", ":key", item.BookIdentify, ":id", item.DocumentId)
|
||||
buf.WriteString(uri)
|
||||
}
|
||||
buf.WriteString("\" title=\"")
|
||||
buf.WriteString(template.HTMLEscapeString(item.DocumentName) + "\"")
|
||||
buf.WriteString(selected + ">")
|
||||
buf.WriteString(template.HTMLEscapeString(item.DocumentName) + "</a>")
|
||||
buf.WriteString(fmt.Sprintf("\" title=\"%s\"",template.HTMLEscapeString(item.DocumentName)))
|
||||
buf.WriteString(fmt.Sprintf(" data-version=\"%d\"%s>%s</a>",item.Version,selected,template.HTMLEscapeString(item.DocumentName)))
|
||||
|
||||
|
||||
for _, sub := range array {
|
||||
if p, ok := sub.ParentId.(int); ok && p == item.DocumentId {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -42,8 +42,9 @@ $(function () {
|
||||
};
|
||||
this.addKeyMap(keyMap);
|
||||
|
||||
|
||||
console.log("加载完成")
|
||||
uploadImage("docEditor", function ($state, $res) {
|
||||
console.log("注册上传图片")
|
||||
if ($state === "before") {
|
||||
return layer.load(1, {
|
||||
shade: [0.1, '#fff'] // 0.1 透明度的白色背景
|
||||
|
@ -73,8 +73,9 @@ function loadDocument($url, $id, $callback) {
|
||||
if(data) {
|
||||
if (typeof $callback === "function") {
|
||||
data.body = $callback(data.body);
|
||||
}else if(data.version && data.version != $callback){
|
||||
return true;
|
||||
}
|
||||
|
||||
$("#page-content").html(data.body);
|
||||
$("title").text(data.title);
|
||||
$("#article-title").text(data.doc_title);
|
||||
@ -172,7 +173,7 @@ $(function () {
|
||||
}
|
||||
}).on('select_node.jstree', function (node, selected, event) {
|
||||
$(".m-manual").removeClass('manual-mobile-show-left');
|
||||
loadDocument(selected.node.a_attr.href, selected.node.id);
|
||||
loadDocument(selected.node.a_attr.href, selected.node.id,selected.node.a_attr['data-version']);
|
||||
});
|
||||
|
||||
$("#slidebar").on("click", function () {
|
||||
|
Loading…
Reference in New Issue
Block a user