{{userInfo.nickname}}
用户设置 退出登录
` }); const vm = new Vue({ el: '#details', data() { return { styleHW:'max-height: 100%; max-width: 100%;', styleTransform:'scale(1) rotate(0deg)', scale:1, rotation:0, imageIndex:0, imagesList:[], dialogVisible:false, isComment:false, activeIndex:'', searchContent: "", isSearch: false, replyIndex: null, replyIndexJ: null, productId:parseInt('4'), myHeaders: {'Code': getCookie('gitee_code')}, imageUrl: '/api/upload', userInfo: {}, replyPid:0, commentContent:'', replyPicList: [], isChildReply: false, replyChildPicList: [], commentChildContent:'', isChildComment:false, objId: parseInt(3), where: { page: 1, limit: 15, search: '', name:'java', jpath:'crmeb_java', }, commentWhere:{ page: 1, limit: 15, order:0 }, h3TagsList:[], detailLike:false, menus_html:'', loading: false, list: [], count:0, listLoding:false, listLodend:false, wikiSearchList:[], wikiCount:0, pid:0, cate_id:parseInt('2099'), parentList:[], wikiTitle:'', wikiContent:'', wikiContentHtml:'', cateWiki:{}, isVue:false, topShow:false, menusList:[{"url":"https:\/\/www.crmeb.com\/","title":"\u5b98\u7f51","id":361,"pid":0},{"url":"https:\/\/www.crmeb.com\/ask\/thread\/list\/152","title":"\u6280\u672f\u793e\u533a","id":362,"pid":0},{"url":"https:\/\/gitee.com\/ZhongBangKeJi","title":"\u5f00\u6e90\u5730\u5740","id":363,"pid":0},{"url":"https:\/\/s.apifox.cn\/f6079100-abee-40fe-959d-846e44f1a048","title":"API\u6587\u6863","id":364,"pid":0}] || [], wikiMenus:[{"label":"\ud83d\udcd6 \u5e8f\u8a00","name":"\ud83d\udcd6 \u5e8f\u8a00","pid":0,"id":2099,"value":2099,"path":[],"index":""},{"label":"\ud83d\udcf0 \u7cfb\u7edf\u7b80\u4ecb","name":"\ud83d\udcf0 \u7cfb\u7edf\u7b80\u4ecb","pid":0,"id":2044,"value":2044,"path":[],"children":[{"label":"\u5feb\u901f\u4e86\u89e3","name":"\u5feb\u901f\u4e86\u89e3","pid":2044,"id":2058,"value":2058,"path":[2044],"index":"2058"},{"label":"\u7ba1\u7406\u7aef\u601d\u7ef4\u8111\u56fe","name":"\u7ba1\u7406\u7aef\u601d\u7ef4\u8111\u56fe","pid":2044,"id":2049,"value":2049,"path":[2044],"index":"2049"},{"label":"Docker\u9884\u89c8","name":"Docker\u9884\u89c8","pid":2044,"id":2051,"value":2051,"path":[2044],"index":"2051"},{"label":"App\u529f\u80fd\u8111\u56fe","name":"App\u529f\u80fd\u8111\u56fe","pid":2044,"id":2149,"value":2149,"path":[2044],"index":"2149"},{"label":"2.0.4 \u529f\u80fd\u8be6\u60c5\u8868","name":"2.0.4 \u529f\u80fd\u8be6\u60c5\u8868","pid":2044,"id":6843,"value":6843,"path":[2044],"index":"6843"},{"label":"2.0 \u5546\u4e1a\u548c\u5f00\u6e90\u5dee\u5f02\u8868","name":"2.0 \u5546\u4e1a\u548c\u5f00\u6e90\u5dee\u5f02\u8868","pid":2044,"id":6844,"value":6844,"path":[2044],"index":"6844"}],"index":""},{"label":"\ud83c\udfed \u642d\u5efa\u6559\u7a0b","name":"\ud83c\udfed \u642d\u5efa\u6559\u7a0b","pid":0,"id":2154,"value":2154,"path":[],"children":[{"label":"\u672c\u5730\u5f00\u53d1\u73af\u5883","name":"\u672c\u5730\u5f00\u53d1\u73af\u5883","pid":2154,"id":2210,"value":2210,"path":[2154],"children":[{"label":"2.0\u4e4b\u540e\u672c\u5730\u5f00\u53d1\u73af\u5883 \u5f00\u6e90\u4ee3\u7801\u53c2\u89c1","name":"2.0\u4e4b\u540e\u672c\u5730\u5f00\u53d1\u73af\u5883 \u5f00\u6e90\u4ee3\u7801\u53c2\u89c1","pid":2210,"id":2211,"value":2211,"path":[2154,2210],"index":"2210-2211"},{"label":"2.0\u4e4b\u524d\u5386\u53f2\u7248\u672c\u5b89\u88c5\u90e8\u7f72","name":"2.0\u4e4b\u524d\u5386\u53f2\u7248\u672c\u5b89\u88c5\u90e8\u7f72","pid":2210,"id":2212,"value":2212,"path":[2154,2210],"index":"2210-2212"}],"index":"2210"},{"label":"\u670d\u52a1\u5668\u53ca\u57df\u540d\u8bbe\u7f6e","name":"\u670d\u52a1\u5668\u53ca\u57df\u540d\u8bbe\u7f6e","pid":2154,"id":2213,"value":2213,"path":[2154],"children":[{"label":"\u670d\u52a1\u5668\u8d2d\u4e70&\u8bbe\u7f6e","name":"\u670d\u52a1\u5668\u8d2d\u4e70&\u8bbe\u7f6e","pid":2213,"id":2214,"value":2214,"path":[2154,2213],"index":"2213-2214"},{"label":"\u57df\u540d&\u89e3\u6790","name":"\u57df\u540d&\u89e3\u6790","pid":2213,"id":2215,"value":2215,"path":[2154,2213],"index":"2213-2215"},{"label":"SSL\u8bc1\u4e66\u7533\u8bf7&\u8bbe\u7f6e","name":"SSL\u8bc1\u4e66\u7533\u8bf7&\u8bbe\u7f6e","pid":2213,"id":2216,"value":2216,"path":[2154,2213],"index":"2213-2216"}],"index":"2213"},{"label":"\u90e8\u7f72\u670d\u52a1","name":"\u90e8\u7f72\u670d\u52a1","pid":2154,"id":2217,"value":2217,"path":[2154],"children":[{"label":"\u90e8\u7f72\u524d\u8f85\u52a9\u670d\u52a1","name":"\u90e8\u7f72\u524d\u8f85\u52a9\u670d\u52a1","pid":2217,"id":2209,"value":2209,"path":[2154,2217],"index":"2217-2209"},{"label":"\u5b9d\u5854\u4e2d\u914d\u7f6e\u548c\u7ad9\u70b9","name":"\u5b9d\u5854\u4e2d\u914d\u7f6e\u548c\u7ad9\u70b9","pid":2217,"id":2218,"value":2218,"path":[2154,2217],"index":"2217-2218"},{"label":"\u6253\u5305Jar\u5305\u5e76\u542f\u52a8","name":"\u6253\u5305Jar\u5305\u5e76\u542f\u52a8","pid":2217,"id":2219,"value":2219,"path":[2154,2217],"index":"2217-2219"},{"label":"WEB PC \u7ba1\u7406\u7aef\u6253\u5305","name":"WEB PC \u7ba1\u7406\u7aef\u6253\u5305","pid":2217,"id":2220,"value":2220,"path":[2154,2217],"index":"2217-2220"},{"label":"H5\u5546\u57ce\u90e8\u7f72","name":"H5\u5546\u57ce\u90e8\u7f72","pid":2217,"id":2221,"value":2221,"path":[2154,2217],"index":"2217-2221"}],"index":"2217"},{"label":"\u7cfb\u7edf\u914d\u7f6e","name":"\u7cfb\u7edf\u914d\u7f6e","pid":2154,"id":2224,"value":2224,"path":[2154],"children":[{"label":"\u8d26\u53f7\u8981\u6c42","name":"\u8d26\u53f7\u8981\u6c42","pid":2224,"id":2259,"value":2259,"path":[2154,2224],"index":"2224-2259"},{"label":"\u5e94\u7528\u914d\u7f6e","name":"\u5e94\u7528\u914d\u7f6e","pid":2224,"id":2225,"value":2225,"path":[2154,2224],"children":[{"label":"\u5fae\u4fe1\u516c\u4f17\u53f7\u914d\u7f6e","name":"\u5fae\u4fe1\u516c\u4f17\u53f7\u914d\u7f6e","pid":2225,"id":2229,"value":2229,"path":[2154,2224,2225],"children":[{"label":"\u516c\u4f17\u53f7\u57fa\u7840\u914d\u7f6e","name":"\u516c\u4f17\u53f7\u57fa\u7840\u914d\u7f6e","pid":2229,"id":2231,"value":2231,"path":[2154,2224,2225,2229],"index":"2224-2225-2229-2231"},{"label":"\u516c\u4f17\u53f7\u5f00\u53d1\u914d\u7f6e","name":"\u516c\u4f17\u53f7\u5f00\u53d1\u914d\u7f6e","pid":2229,"id":2232,"value":2232,"path":[2154,2224,2225,2229],"index":"2224-2225-2229-2232"},{"label":"\u516c\u4f17\u53f7\u6a21\u7248\u6d88\u606f","name":"\u516c\u4f17\u53f7\u6a21\u7248\u6d88\u606f","pid":2229,"id":2233,"value":2233,"path":[2154,2224,2225,2229],"index":"2224-2225-2229-2233"}],"index":"2224-2225-2229"},{"label":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&\u89c6\u9891\u53f7\u914d\u7f6e","name":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f&\u89c6\u9891\u53f7\u914d\u7f6e","pid":2225,"id":2230,"value":2230,"path":[2154,2224,2225],"children":[{"label":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u57fa\u7840\u914d\u7f6e","name":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u57fa\u7840\u914d\u7f6e","pid":2230,"id":2234,"value":2234,"path":[2154,2224,2225,2230],"index":"2224-2225-2230-2234"},{"label":"WEBPC\u7ba1\u7406\u7aef\u914d\u7f6e","name":"WEBPC\u7ba1\u7406\u7aef\u914d\u7f6e","pid":2230,"id":2235,"value":2235,"path":[2154,2224,2225,2230],"index":"2224-2225-2230-2235"},{"label":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6253\u5305\u4e0a\u4f20","name":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6253\u5305\u4e0a\u4f20","pid":2230,"id":2236,"value":2236,"path":[2154,2224,2225,2230],"index":"2224-2225-2230-2236"},{"label":"\u5c0f\u7a0b\u5e8f\u4ea4\u6613\u7ec4\u4ef6","name":"\u5c0f\u7a0b\u5e8f\u4ea4\u6613\u7ec4\u4ef6","pid":2230,"id":2237,"value":2237,"path":[2154,2224,2225,2230],"index":"2224-2225-2230-2237"},{"label":"\u89c6\u9891\u53f7\u4e0a\u4f20\u5546\u54c1","name":"\u89c6\u9891\u53f7\u4e0a\u4f20\u5546\u54c1","pid":2230,"id":2238,"value":2238,"path":[2154,2224,2225,2230],"index":"2224-2225-2230-2238"},{"label":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5ba2\u670d","name":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5ba2\u670d","pid":2230,"id":2239,"value":2239,"path":[2154,2224,2225,2230],"index":"2224-2225-2230-2239"},{"label":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u8ba2\u9605\u6d88\u606f","name":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u8ba2\u9605\u6d88\u606f","pid":2230,"id":2240,"value":2240,"path":[2154,2224,2225,2230],"index":"2224-2225-2230-2240"}],"index":"2224-2225-2230"},{"label":"APP(Android&IOS)","name":"APP(Android&IOS)","pid":2225,"id":2241,"value":2241,"path":[2154,2224,2225],"index":"2224-2225-2241"}],"index":"2224-2225"},{"label":"\u652f\u4ed8\u914d\u7f6e","name":"\u652f\u4ed8\u914d\u7f6e","pid":2224,"id":2226,"value":2226,"path":[2154,2224],"children":[{"label":"\u5fae\u4fe1\u516c\u4f17\u53f7\u652f\u4ed8","name":"\u5fae\u4fe1\u516c\u4f17\u53f7\u652f\u4ed8","pid":2226,"id":2242,"value":2242,"path":[2154,2224,2226],"index":"2224-2226-2242"},{"label":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u652f\u4ed8","name":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u652f\u4ed8","pid":2226,"id":2243,"value":2243,"path":[2154,2224,2226],"index":"2224-2226-2243"},{"label":"\u652f\u4ed8\u5b9d\u652f\u4ed8","name":"\u652f\u4ed8\u5b9d\u652f\u4ed8","pid":2226,"id":2244,"value":2244,"path":[2154,2224,2226],"index":"2224-2226-2244"}],"index":"2224-2226"},{"label":"\u4e00\u53f7\u901a","name":"\u4e00\u53f7\u901a","pid":2224,"id":2227,"value":2227,"path":[2154,2224],"children":[{"label":"\u4e00\u53f7\u901a\u8d26\u53f7\u7533\u8bf7","name":"\u4e00\u53f7\u901a\u8d26\u53f7\u7533\u8bf7","pid":2227,"id":2245,"value":2245,"path":[2154,2224,2227],"index":"2224-2227-2245"},{"label":"\u4e00\u53f7\u901a\u77ed\u4fe1","name":"\u4e00\u53f7\u901a\u77ed\u4fe1","pid":2227,"id":2246,"value":2246,"path":[2154,2224,2227],"index":"2224-2227-2246"},{"label":"\u4e00\u53f7\u901a\u5546\u54c1\u91c7\u96c6","name":"\u4e00\u53f7\u901a\u5546\u54c1\u91c7\u96c6","pid":2227,"id":2247,"value":2247,"path":[2154,2224,2227],"index":"2224-2227-2247"},{"label":"\u4e00\u53f7\u901a\u7269\u6d41\u67e5\u8be2","name":"\u4e00\u53f7\u901a\u7269\u6d41\u67e5\u8be2","pid":2227,"id":2248,"value":2248,"path":[2154,2224,2227],"index":"2224-2227-2248"},{"label":"\u4e00\u53f7\u901a\u7535\u5b50\u9762\u5355","name":"\u4e00\u53f7\u901a\u7535\u5b50\u9762\u5355","pid":2227,"id":2249,"value":2249,"path":[2154,2224,2227],"index":"2224-2227-2249"}],"index":"2224-2227"},{"label":"\u7b2c\u4e09\u65b9\u670d\u52a1","name":"\u7b2c\u4e09\u65b9\u670d\u52a1","pid":2224,"id":2228,"value":2228,"path":[2154,2224],"children":[{"label":"\u4e91\u5b58\u50a8","name":"\u4e91\u5b58\u50a8","pid":2228,"id":2250,"value":2250,"path":[2154,2224,2228],"children":[{"label":"\u4e3a\u4ec0\u4e48\u9700\u8981\u4e91\u5b58\u50a8","name":"\u4e3a\u4ec0\u4e48\u9700\u8981\u4e91\u5b58\u50a8","pid":2250,"id":2251,"value":2251,"path":[2154,2224,2228,2250],"index":"2224-2228-2250-2251"},{"label":"\u963f\u91cc\u4e91\u5bf9\u8c61\u5b58\u50a8","name":"\u963f\u91cc\u4e91\u5bf9\u8c61\u5b58\u50a8","pid":2250,"id":2252,"value":2252,"path":[2154,2224,2228,2250],"index":"2224-2228-2250-2252"},{"label":"\u817e\u8baf\u4e91\u5bf9\u8c61\u5b58\u50a8","name":"\u817e\u8baf\u4e91\u5bf9\u8c61\u5b58\u50a8","pid":2250,"id":2253,"value":2253,"path":[2154,2224,2228,2250],"index":"2224-2228-2250-2253"},{"label":"\u4e03\u725b\u4e91\u5b58\u50a8","name":"\u4e03\u725b\u4e91\u5b58\u50a8","pid":2250,"id":2254,"value":2254,"path":[2154,2224,2228,2250],"index":"2224-2228-2250-2254"}],"index":"2224-2228-2250"},{"label":"\u590d\u5236\u7b2c\u4e09\u65b9\u5e73\u53f0\u5546\u54c1","name":"\u590d\u5236\u7b2c\u4e09\u65b9\u5e73\u53f0\u5546\u54c1","pid":2228,"id":2255,"value":2255,"path":[2154,2224,2228],"index":"2224-2228-2255"},{"label":"\u5ba2\u670d_\u817e\u8baf\u4e91\u667a\u670d","name":"\u5ba2\u670d_\u817e\u8baf\u4e91\u667a\u670d","pid":2228,"id":2256,"value":2256,"path":[2154,2224,2228],"index":"2224-2228-2256"},{"label":"\u5ba2\u670d_\u8682\u8681\u667a\u80fd\u5ba2\u670d","name":"\u5ba2\u670d_\u8682\u8681\u667a\u80fd\u5ba2\u670d","pid":2228,"id":2257,"value":2257,"path":[2154,2224,2228],"index":"2224-2228-2257"},{"label":"\u5c0f\u7968\u6253\u5370","name":"\u5c0f\u7968\u6253\u5370","pid":2228,"id":2258,"value":2258,"path":[2154,2224,2228],"index":"2224-2228-2258"}],"index":"2224-2228"}],"index":"2224"}],"index":""},{"label":"\u4f7f\u7528\u8bf4\u660e","name":"\u4f7f\u7528\u8bf4\u660e","pid":0,"id":1868,"value":1868,"path":[],"children":[{"label":"\ud83d\udcc4 \u8fd0\u8425\u524d\u5fc5\u8bfb","name":"\ud83d\udcc4 \u8fd0\u8425\u524d\u5fc5\u8bfb","pid":1868,"id":1951,"value":1951,"path":[1868],"index":"1951"},{"label":"\ud83d\udcc8 \u8fd0\u8425&\u7edf\u8ba1","name":"\ud83d\udcc8 \u8fd0\u8425&\u7edf\u8ba1","pid":1868,"id":6689,"value":6689,"path":[1868],"children":[{"label":"\u63a7\u5236\u53f0","name":"\u63a7\u5236\u53f0","pid":6689,"id":6690,"value":6690,"path":[1868,6689],"index":"6689-6690"},{"label":"\u5546\u54c1\u7edf\u8ba1","name":"\u5546\u54c1\u7edf\u8ba1","pid":6689,"id":6691,"value":6691,"path":[1868,6689],"index":"6689-6691"},{"label":"\u7528\u6237\u7edf\u8ba1","name":"\u7528\u6237\u7edf\u8ba1","pid":6689,"id":6692,"value":6692,"path":[1868,6689],"index":"6689-6692"},{"label":"\u4ea4\u6613\u7edf\u8ba1","name":"\u4ea4\u6613\u7edf\u8ba1","pid":6689,"id":6693,"value":6693,"path":[1868,6689],"index":"6689-6693"}],"index":"6689"},{"label":"\ud83e\uddf1 \u5546\u54c1&\u5206\u7c7b\u7ba1\u7406","name":"\ud83e\uddf1 \u5546\u54c1&\u5206\u7c7b\u7ba1\u7406","pid":1868,"id":1887,"value":1887,"path":[1868],"children":[{"label":"\u5546\u54c1\u7ba1\u7406","name":"\u5546\u54c1\u7ba1\u7406","pid":1887,"id":1888,"value":1888,"path":[1868,1887],"index":"1887-1888"},{"label":"\u5546\u54c1\u5206\u7c7b","name":"\u5546\u54c1\u5206\u7c7b","pid":1887,"id":1889,"value":1889,"path":[1868,1887],"index":"1887-1889"},{"label":"\u5546\u54c1\u89c4\u683c","name":"\u5546\u54c1\u89c4\u683c","pid":1887,"id":6696,"value":6696,"path":[1868,1887],"index":"1887-6696"},{"label":"\u5546\u54c1\u8bc4\u8bba","name":"\u5546\u54c1\u8bc4\u8bba","pid":1887,"id":6697,"value":6697,"path":[1868,1887],"index":"1887-6697"}],"index":"1887"},{"label":"\ud83d\udcde \u4e00\u53f7\u901a","name":"\ud83d\udcde \u4e00\u53f7\u901a","pid":1868,"id":1869,"value":1869,"path":[1868],"children":[{"label":"\u5546\u54c1\u91c7\u96c6","name":"\u5546\u54c1\u91c7\u96c6","pid":1869,"id":1870,"value":1870,"path":[1868,1869],"index":"1869-1870"},{"label":"\u7269\u6d41\u67e5\u8be2","name":"\u7269\u6d41\u67e5\u8be2","pid":1869,"id":1871,"value":1871,"path":[1868,1869],"index":"1869-1871"},{"label":"\u7535\u5b50\u9762\u5355","name":"\u7535\u5b50\u9762\u5355","pid":1869,"id":1872,"value":1872,"path":[1868,1869],"index":"1869-1872"},{"label":"\u77ed\u4fe1\u901a\u77e5","name":"\u77ed\u4fe1\u901a\u77e5","pid":1869,"id":1873,"value":1873,"path":[1868,1869],"index":"1869-1873"}],"index":"1869"},{"label":"\u8425\u9500","name":"\u8425\u9500","pid":1868,"id":9864,"value":9864,"path":[1868],"children":[{"label":"\u4f18\u60e0\u5238","name":"\u4f18\u60e0\u5238","pid":9864,"id":1874,"value":1874,"path":[1868,9864],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":1874,"id":9851,"value":9851,"path":[1868,1874],"index":"9864-1874-9851"},{"label":"\u53d1\u5e03\u4f18\u60e0\u5238","name":"\u53d1\u5e03\u4f18\u60e0\u5238","pid":1874,"id":1875,"value":1875,"path":[1868,1874],"index":"9864-1874-1875"},{"label":"\u9886\u53d6\u53ca\u4f7f\u7528","name":"\u9886\u53d6\u53ca\u4f7f\u7528","pid":1874,"id":1876,"value":1876,"path":[1868,1874],"index":"9864-1874-1876"}],"index":"9864-1874"},{"label":"\u62fc\u56e2","name":"\u62fc\u56e2","pid":9864,"id":1890,"value":1890,"path":[1868,9864],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":1890,"id":9860,"value":9860,"path":[1868,1890],"index":"9864-1890-9860"},{"label":"\u62fc\u56e2\u5217\u8868","name":"\u62fc\u56e2\u5217\u8868","pid":1890,"id":1892,"value":1892,"path":[1868,1890],"index":"9864-1890-1892"},{"label":"\u62fc\u56e2\u89c4\u5219","name":"\u62fc\u56e2\u89c4\u5219","pid":1890,"id":1893,"value":1893,"path":[1868,1890],"index":"9864-1890-1893"}],"index":"9864-1890"},{"label":"\u780d\u4ef7","name":"\u780d\u4ef7","pid":9864,"id":1911,"value":1911,"path":[1868,9864],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":1911,"id":9861,"value":9861,"path":[1868,1911],"index":"9864-1911-9861"},{"label":"\u780d\u4ef7\u6d3b\u52a8","name":"\u780d\u4ef7\u6d3b\u52a8","pid":1911,"id":1913,"value":1913,"path":[1868,1911],"index":"9864-1911-1913"},{"label":"\u780d\u4ef7\u89c4\u5219","name":"\u780d\u4ef7\u89c4\u5219","pid":1911,"id":1914,"value":1914,"path":[1868,1911],"index":"9864-1911-1914"}],"index":"9864-1911"},{"label":"\u79d2\u6740","name":"\u79d2\u6740","pid":9864,"id":1915,"value":1915,"path":[1868,9864],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":1915,"id":9862,"value":9862,"path":[1868,1915],"index":"9864-1915-9862"},{"label":"\u79d2\u6740\u5546\u54c1\u7ef4\u62a4","name":"\u79d2\u6740\u5546\u54c1\u7ef4\u62a4","pid":1915,"id":1916,"value":1916,"path":[1868,1915],"index":"9864-1915-1916"},{"label":"\u79d2\u6740\u914d\u7f6e\u7ef4\u62a4","name":"\u79d2\u6740\u914d\u7f6e\u7ef4\u62a4","pid":1915,"id":1917,"value":1917,"path":[1868,1915],"index":"9864-1915-1917"}],"index":"9864-1915"},{"label":"\u79ef\u5206","name":"\u79ef\u5206","pid":9864,"id":1918,"value":1918,"path":[1868,9864],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":1918,"id":9863,"value":9863,"path":[1868,1918],"index":"9864-1918-9863"},{"label":"\u79ef\u5206\u4f7f\u7528","name":"\u79ef\u5206\u4f7f\u7528","pid":1918,"id":1919,"value":1919,"path":[1868,1918],"index":"9864-1918-1919"},{"label":"\u79ef\u5206\u6765\u6e90","name":"\u79ef\u5206\u6765\u6e90","pid":1918,"id":1920,"value":1920,"path":[1868,1918],"index":"9864-1918-1920"},{"label":"\u79ef\u5206\u8bbe\u7f6e","name":"\u79ef\u5206\u8bbe\u7f6e","pid":1918,"id":1921,"value":1921,"path":[1868,1918],"index":"9864-1918-1921"}],"index":"9864-1918"},{"label":"\u4f1a\u5458\u7b49\u7ea7","name":"\u4f1a\u5458\u7b49\u7ea7","pid":9864,"id":1877,"value":1877,"path":[1868,9864],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":1877,"id":9856,"value":9856,"path":[1868,1877],"index":"9864-1877-9856"},{"label":"\u7b49\u7ea7\u8bf4\u660e","name":"\u7b49\u7ea7\u8bf4\u660e","pid":1877,"id":1878,"value":1878,"path":[1868,1877],"index":"9864-1877-1878"}],"index":"9864-1877"},{"label":"\u7b7e\u5230","name":"\u7b7e\u5230","pid":9864,"id":9869,"value":9869,"path":[1868,9864],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":9869,"id":9870,"value":9870,"path":[1868,9864,9869],"index":"9864-9869-9870"},{"label":"\u7b7e\u5230\u914d\u7f6e","name":"\u7b7e\u5230\u914d\u7f6e","pid":9869,"id":9871,"value":9871,"path":[1868,9864,9869],"index":"9864-9869-9871"}],"index":"9864-9869"},{"label":"\u7528\u6237\u5145\u503c","name":"\u7528\u6237\u5145\u503c","pid":9864,"id":9865,"value":9865,"path":[1868,9864],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":9865,"id":9866,"value":9866,"path":[1868,9864,9865],"index":"9864-9865-9866"},{"label":"\u5145\u503c\u5957\u9910\u914d\u7f6e","name":"\u5145\u503c\u5957\u9910\u914d\u7f6e","pid":9865,"id":9867,"value":9867,"path":[1868,9864,9865],"index":"9864-9865-9867"},{"label":"\u7528\u6237\u5145\u503c\u914d\u7f6e","name":"\u7528\u6237\u5145\u503c\u914d\u7f6e","pid":9865,"id":9868,"value":9868,"path":[1868,9864,9865],"index":"9864-9865-9868"}],"index":"9864-9865"}],"index":"9864"},{"label":"\u5206\u9500","name":"\u5206\u9500","pid":1868,"id":1879,"value":1879,"path":[1868],"children":[{"label":"\u6d3b\u52a8\u8bf4\u660e","name":"\u6d3b\u52a8\u8bf4\u660e","pid":1879,"id":9857,"value":9857,"path":[1868,1879],"index":"1879-9857"},{"label":"\u4f63\u91d1\u63d0\u73b0","name":"\u4f63\u91d1\u63d0\u73b0","pid":1879,"id":1880,"value":1880,"path":[1868,1879],"index":"1879-1880"},{"label":"\u5206\u9500\u5458\u7ba1\u7406","name":"\u5206\u9500\u5458\u7ba1\u7406","pid":1879,"id":1881,"value":1881,"path":[1868,1879],"index":"1879-1881"},{"label":"\u5206\u9500\u89c4\u5219\u8bf4\u660e","name":"\u5206\u9500\u89c4\u5219\u8bf4\u660e","pid":1879,"id":1882,"value":1882,"path":[1868,1879],"index":"1879-1882"},{"label":"\u5206\u9500\u914d\u7f6e","name":"\u5206\u9500\u914d\u7f6e","pid":1879,"id":1883,"value":1883,"path":[1868,1879],"index":"1879-1883"},{"label":"\u63d0\u73b0","name":"\u63d0\u73b0","pid":1879,"id":1894,"value":1894,"path":[1868,9864,1879],"children":[{"label":"\u53d1\u8d77\u63d0\u73b0","name":"\u53d1\u8d77\u63d0\u73b0","pid":1894,"id":1895,"value":1895,"path":[1868,1894],"index":"1879-1894-1895"},{"label":"\u540e\u53f0\u5ba1\u6838","name":"\u540e\u53f0\u5ba1\u6838","pid":1894,"id":1896,"value":1896,"path":[1868,1894],"index":"1879-1894-1896"},{"label":"\u63d0\u73b0\u89c4\u5219","name":"\u63d0\u73b0\u89c4\u5219","pid":1894,"id":1897,"value":1897,"path":[1868,1894],"index":"1879-1894-1897"}],"index":"1879-1894"}],"index":"1879"},{"label":"\u65b0\u95fb\u8d44\u8baf","name":"\u65b0\u95fb\u8d44\u8baf","pid":1868,"id":1901,"value":1901,"path":[1868],"children":[{"label":"\u53d1\u5e03\u6587\u7ae0","name":"\u53d1\u5e03\u6587\u7ae0","pid":1901,"id":1902,"value":1902,"path":[1868,1901],"index":"1901-1902"},{"label":"\u6587\u7ae0\u754c\u9762","name":"\u6587\u7ae0\u754c\u9762","pid":1901,"id":1903,"value":1903,"path":[1868,1901],"index":"1901-1903"}],"index":"1901"},{"label":"\u666e\u901a\u4ea7\u54c1","name":"\u666e\u901a\u4ea7\u54c1","pid":1868,"id":1904,"value":1904,"path":[1868],"children":[{"label":"\u4ea7\u54c1\u70ed\u95e8\u641c\u7d22","name":"\u4ea7\u54c1\u70ed\u95e8\u641c\u7d22","pid":1904,"id":1905,"value":1905,"path":[1868,1904],"index":"1904-1905"},{"label":"\u4ea7\u54c1\u8be6\u60c5","name":"\u4ea7\u54c1\u8be6\u60c5","pid":1904,"id":1906,"value":1906,"path":[1868,1904],"index":"1904-1906"},{"label":"\u524d\u53f0\u9875\u9762","name":"\u524d\u53f0\u9875\u9762","pid":1904,"id":1907,"value":1907,"path":[1868,1904],"index":"1904-1907"},{"label":"\u53d1\u5e03\u5546\u54c1","name":"\u53d1\u5e03\u5546\u54c1","pid":1904,"id":1908,"value":1908,"path":[1868,1904],"index":"1904-1908"},{"label":"\u5546\u54c1\u89c4\u683c","name":"\u5546\u54c1\u89c4\u683c","pid":1904,"id":1909,"value":1909,"path":[1868,1904],"index":"1904-1909"},{"label":"\u5546\u54c1\u8bc4\u4ef7","name":"\u5546\u54c1\u8bc4\u4ef7","pid":1904,"id":1910,"value":1910,"path":[1868,1904],"index":"1904-1910"}],"index":"1904"},{"label":"\u8ba2\u5355\u7ba1\u7406","name":"\u8ba2\u5355\u7ba1\u7406","pid":1868,"id":1927,"value":1927,"path":[1868],"children":[{"label":"\u540e\u53f0\u8ba2\u5355\u5904\u7406","name":"\u540e\u53f0\u8ba2\u5355\u5904\u7406","pid":1927,"id":1928,"value":1928,"path":[1868,1927],"index":"1927-1928"},{"label":"\u8ba2\u5355\u9000\u6b3e","name":"\u8ba2\u5355\u9000\u6b3e","pid":1927,"id":1930,"value":1930,"path":[1868,1927],"index":"1927-1930"}],"index":"1927"},{"label":"\u8d26\u6237\u7ba1\u7406","name":"\u8d26\u6237\u7ba1\u7406","pid":1868,"id":1931,"value":1931,"path":[1868],"children":[{"label":"\u8d26\u53f7\u4fe1\u606f","name":"\u8d26\u53f7\u4fe1\u606f","pid":1931,"id":1932,"value":1932,"path":[1868,1931],"index":"1931-1932"},{"label":"\u8d26\u6237\u8d44\u91d1","name":"\u8d26\u6237\u8d44\u91d1","pid":1931,"id":1933,"value":1933,"path":[1868,1931],"index":"1931-1933"}],"index":"1931"},{"label":"\u90ae\u8d39\u8bf4\u660e","name":"\u90ae\u8d39\u8bf4\u660e","pid":1868,"id":1934,"value":1934,"path":[1868],"children":[{"label":"\u5546\u57ce\u8fd0\u8d39\u8bbe\u7f6e","name":"\u5546\u57ce\u8fd0\u8d39\u8bbe\u7f6e","pid":1934,"id":1935,"value":1935,"path":[1868,1934],"index":"1934-1935"},{"label":"\u8fd0\u8d39\u6a21\u677f","name":"\u8fd0\u8d39\u6a21\u677f","pid":1934,"id":1936,"value":1936,"path":[1868,1934],"index":"1934-1936"},{"label":"\u90ae\u8d39\u7ec4\u6210","name":"\u90ae\u8d39\u7ec4\u6210","pid":1934,"id":1937,"value":1937,"path":[1868,1934],"index":"1934-1937"}],"index":"1934"},{"label":"\u914d\u7f6e\u8bf4\u660e","name":"\u914d\u7f6e\u8bf4\u660e","pid":1868,"id":1938,"value":1938,"path":[1868],"children":[{"label":"\u7b2c\u4e09\u65b9\u63a5\u53e3\u8bbe\u7f6e","name":"\u7b2c\u4e09\u65b9\u63a5\u53e3\u8bbe\u7f6e","pid":1938,"id":1939,"value":1939,"path":[1868,1938],"children":[{"label":"\u7269\u6d41\u67e5\u8be2","name":"\u7269\u6d41\u67e5\u8be2","pid":1939,"id":1940,"value":1940,"path":[1868,1938,1939],"index":"1938-1939-1940"}],"index":"1938-1939"},{"label":"\u9875\u9762\u8bbe\u8ba1","name":"\u9875\u9762\u8bbe\u8ba1","pid":1938,"id":1941,"value":1941,"path":[1868,1938],"children":[{"label":"\u4e00\u952e\u6362\u8272","name":"\u4e00\u952e\u6362\u8272","pid":1941,"id":1942,"value":1942,"path":[1868,1938,1941],"index":"1938-1941-1942"},{"label":"\u9875\u9762\u8bbe\u8ba1","name":"\u9875\u9762\u8bbe\u8ba1","pid":1941,"id":1943,"value":1943,"path":[1868,1938,1941],"index":"1938-1941-1943"}],"index":"1938-1941"},{"label":"\u6587\u4ef6\u4e0a\u4f20\u914d\u7f6e","name":"\u6587\u4ef6\u4e0a\u4f20\u914d\u7f6e","pid":1938,"id":1944,"value":1944,"path":[1868,1938],"index":"1938-1944"},{"label":"\u7269\u6d41\u914d\u7f6e","name":"\u7269\u6d41\u914d\u7f6e","pid":1938,"id":1945,"value":1945,"path":[1868,1938],"index":"1938-1945"},{"label":"\u4f59\u989d\u5145\u503c\u914d\u7f6e","name":"\u4f59\u989d\u5145\u503c\u914d\u7f6e","pid":1938,"id":8729,"value":8729,"path":[1868,1938],"index":"1938-8729"}],"index":"1938"},{"label":"\u63d0\u8d27\u70b9","name":"\u63d0\u8d27\u70b9","pid":1868,"id":1946,"value":1946,"path":[1868],"children":[{"label":"\u95e8\u5e97\u81ea\u63d0\u53ca\u6dfb\u52a0\u6838\u9500\u5458","name":"\u95e8\u5e97\u81ea\u63d0\u53ca\u6dfb\u52a0\u6838\u9500\u5458","pid":1946,"id":1947,"value":1947,"path":[1868,1946],"index":"1946-1947"},{"label":"\u6838\u9500\u8ba2\u5355","name":"\u6838\u9500\u8ba2\u5355","pid":1946,"id":2091,"value":2091,"path":[1868,1946],"index":"1946-2091"}],"index":"1946"},{"label":"\u5e93\u5b58\u8bf4\u660e","name":"\u5e93\u5b58\u8bf4\u660e","pid":1868,"id":1950,"value":1950,"path":[1868],"index":"1950"}],"index":""},{"label":"\u65b0\u624b\u5165\u95e8","name":"\u65b0\u624b\u5165\u95e8","pid":0,"id":2010,"value":2010,"path":[],"children":[{"label":"\u89c6\u9891\u53f7\u7ba1\u7406","name":"\u89c6\u9891\u53f7\u7ba1\u7406","pid":2010,"id":2175,"value":2175,"path":[2010],"children":[{"label":"\u8349\u7a3f\u5217\u8868","name":"\u8349\u7a3f\u5217\u8868","pid":2175,"id":2176,"value":2176,"path":[2010,2175],"index":"2175-2176"},{"label":"\u5ba1\u6838\u540e\u5546\u54c1\u5217\u8868","name":"\u5ba1\u6838\u540e\u5546\u54c1\u5217\u8868","pid":2175,"id":2177,"value":2177,"path":[2010,2175],"index":"2175-2177"}],"index":"2175"},{"label":"App\u6253\u5305","name":"App\u6253\u5305","pid":2010,"id":2157,"value":2157,"path":[2010],"children":[{"label":"\u57fa\u7840\u914d\u7f6e","name":"\u57fa\u7840\u914d\u7f6e","pid":2157,"id":2158,"value":2158,"path":[2010,2157],"index":"2157-2158"},{"label":"\u5f00\u53d1\u8c03\u8bd5","name":"\u5f00\u53d1\u8c03\u8bd5","pid":2157,"id":2159,"value":2159,"path":[2010,2157],"index":"2157-2159"},{"label":"App\u6253\u5305","name":"App\u6253\u5305","pid":2157,"id":2160,"value":2160,"path":[2010,2157],"index":"2157-2160"},{"label":"\u6253\u5305\u4e0a\u7ebf","name":"\u6253\u5305\u4e0a\u7ebf","pid":2157,"id":2161,"value":2161,"path":[2010,2157],"index":"2157-2161"},{"label":"App\u5347\u7ea7","name":"App\u5347\u7ea7","pid":2157,"id":2162,"value":2162,"path":[2010,2157],"index":"2157-2162"}],"index":"2157"},{"label":"v2.0\u7248","name":"v2.0\u7248","pid":2010,"id":2011,"value":2011,"path":[2010],"children":[{"label":"\u5f00\u53d1\u548c\u90e8\u7f72\u624b\u518c","name":"\u5f00\u53d1\u548c\u90e8\u7f72\u624b\u518c","pid":2011,"id":2012,"value":2012,"path":[2010,2011],"index":"2011-2012"},{"label":"\u96c6\u7fa4\u90e8\u7f72","name":"\u96c6\u7fa4\u90e8\u7f72","pid":2011,"id":2013,"value":2013,"path":[2010,2011],"index":"2011-2013"}],"index":"2011"},{"label":"\u5c0f\u7a0b\u5e8f","name":"\u5c0f\u7a0b\u5e8f","pid":2010,"id":2014,"value":2014,"path":[2010],"children":[{"label":"CRMEB\u540e\u53f0\u914d\u7f6e","name":"CRMEB\u540e\u53f0\u914d\u7f6e","pid":2014,"id":2015,"value":2015,"path":[2010,2014],"index":"2014-2015"},{"label":"\u524d\u7aef\u63d0\u4ea4\u5ba1\u6838","name":"\u524d\u7aef\u63d0\u4ea4\u5ba1\u6838","pid":2014,"id":2016,"value":2016,"path":[2010,2014],"index":"2014-2016"},{"label":"\u5fae\u4fe1\u5e73\u53f0\u914d\u7f6e","name":"\u5fae\u4fe1\u5e73\u53f0\u914d\u7f6e","pid":2014,"id":2017,"value":2017,"path":[2010,2014],"index":"2014-2017"},{"label":"\u751f\u6210\u6d77\u62a5\u5931\u8d25","name":"\u751f\u6210\u6d77\u62a5\u5931\u8d25","pid":2014,"id":2018,"value":2018,"path":[2010,2014],"index":"2014-2018"},{"label":"\u786e\u8ba4\u53d1\u5e03","name":"\u786e\u8ba4\u53d1\u5e03","pid":2014,"id":2019,"value":2019,"path":[2010,2014],"index":"2014-2019"},{"label":"\u89c6\u9891\u53f7-\u5fae\u4fe1\u4ea4\u6613\u7ec4\u4ef6","name":"\u89c6\u9891\u53f7-\u5fae\u4fe1\u4ea4\u6613\u7ec4\u4ef6","pid":2014,"id":2094,"value":2094,"path":[2010,2014],"index":"2014-2094"}],"index":"2014"},{"label":"\u652f\u4ed8","name":"\u652f\u4ed8","pid":2010,"id":2020,"value":2020,"path":[2010],"children":[{"label":"\u516c\u4f17\u53f7\u652f\u4ed8","name":"\u516c\u4f17\u53f7\u652f\u4ed8","pid":2020,"id":2021,"value":2021,"path":[2010,2020],"index":"2020-2021"},{"label":"\u5c0f\u7a0b\u5e8f\u652f\u4ed8","name":"\u5c0f\u7a0b\u5e8f\u652f\u4ed8","pid":2020,"id":2022,"value":2022,"path":[2010,2020],"index":"2020-2022"},{"label":"\u652f\u4ed8\u5b9d\u652f\u4ed8","name":"\u652f\u4ed8\u5b9d\u652f\u4ed8","pid":2020,"id":2023,"value":2023,"path":[2010,2020],"index":"2020-2023"},{"label":"\u652f\u4ed8\u914d\u7f6e","name":"\u652f\u4ed8\u914d\u7f6e","pid":2020,"id":2024,"value":2024,"path":[2010,2020],"index":"2020-2024"}],"index":"2020"},{"label":"\u670d\u52a1\u5668\u53ca\u7cfb\u7edf\u642d\u5efa","name":"\u670d\u52a1\u5668\u53ca\u7cfb\u7edf\u642d\u5efa","pid":2010,"id":2025,"value":2025,"path":[2010],"children":[{"label":"\u521b\u5efa\u7ad9\u70b9","name":"\u521b\u5efa\u7ad9\u70b9","pid":2025,"id":2026,"value":2026,"path":[2010,2025],"index":"2025-2026"},{"label":"\u57df\u540d\u89e3\u6790","name":"\u57df\u540d\u89e3\u6790","pid":2025,"id":2027,"value":2027,"path":[2010,2025],"index":"2025-2027"},{"label":"\u57df\u540d\u8d2d\u4e70\uff08\u5df2\u6709\u57df\u540d\u5219\u8df3\u8fc7\uff09","name":"\u57df\u540d\u8d2d\u4e70\uff08\u5df2\u6709\u57df\u540d\u5219\u8df3\u8fc7\uff09","pid":2025,"id":2028,"value":2028,"path":[2010,2025],"index":"2025-2028"},{"label":"\u5b9d\u5854\u914d\u7f6e","name":"\u5b9d\u5854\u914d\u7f6e","pid":2025,"id":2029,"value":2029,"path":[2010,2025],"index":"2025-2029"},{"label":"\u670d\u52a1\u5668\u8d2d\u4e70","name":"\u670d\u52a1\u5668\u8d2d\u4e70","pid":2025,"id":2030,"value":2030,"path":[2010,2025],"index":"2025-2030"},{"label":"\u670d\u52a1\u5668\u914d\u7f6e","name":"\u670d\u52a1\u5668\u914d\u7f6e","pid":2025,"id":2031,"value":2031,"path":[2010,2025],"index":"2025-2031"},{"label":"\u914d\u7f6e\u68c0\u67e5\uff08\u975e\u5e38\u91cd\u8981\uff09","name":"\u914d\u7f6e\u68c0\u67e5\uff08\u975e\u5e38\u91cd\u8981\uff09","pid":2025,"id":2032,"value":2032,"path":[2010,2025],"index":"2025-2032"}],"index":"2025"},{"label":"\u7b2c\u4e09\u65b9","name":"\u7b2c\u4e09\u65b9","pid":2010,"id":2033,"value":2033,"path":[2010],"children":[{"label":"\u4e91\u5b58\u50a8\u5e73\u53f0\u548c\u7533\u8bf7","name":"\u4e91\u5b58\u50a8\u5e73\u53f0\u548c\u7533\u8bf7","pid":2033,"id":2150,"value":2150,"path":[2010,2033],"children":[{"label":"\u963f\u91cc\u4e91\u5b58\u50a8","name":"\u963f\u91cc\u4e91\u5b58\u50a8","pid":2150,"id":2151,"value":2151,"path":[2010,2033,2150],"index":"2033-2150-2151"},{"label":"\u4e03\u725b\u4e91\u5b58\u50a8","name":"\u4e03\u725b\u4e91\u5b58\u50a8","pid":2150,"id":2152,"value":2152,"path":[2010,2033,2150],"index":"2033-2150-2152"},{"label":"\u817e\u8baf\u4e91\u5b58\u50a8","name":"\u817e\u8baf\u4e91\u5b58\u50a8","pid":2150,"id":2153,"value":2153,"path":[2010,2033,2150],"index":"2033-2150-2153"}],"index":"2033-2150"},{"label":"\u590d\u5236\u7b2c\u4e09\u65b9\u5e73\u53f0\u5546\u54c1","name":"\u590d\u5236\u7b2c\u4e09\u65b9\u5e73\u53f0\u5546\u54c1","pid":2033,"id":2034,"value":2034,"path":[2010,2033],"index":"2033-2034"},{"label":"\u5ba2\u670d_\u817e\u8baf\u4e91\u667a\u670d","name":"\u5ba2\u670d_\u817e\u8baf\u4e91\u667a\u670d","pid":2033,"id":2035,"value":2035,"path":[2010,2033],"index":"2033-2035"},{"label":"\u5ba2\u670d_\u8682\u8681\u667a\u80fd\u5ba2\u670d","name":"\u5ba2\u670d_\u8682\u8681\u667a\u80fd\u5ba2\u670d","pid":2033,"id":2036,"value":2036,"path":[2010,2033],"index":"2033-2036"},{"label":"\u5c0f\u7a0b\u5e8f\u5ba2\u670d","name":"\u5c0f\u7a0b\u5e8f\u5ba2\u670d","pid":2033,"id":2037,"value":2037,"path":[2010,2033],"index":"2033-2037"},{"label":"\u5c0f\u7a0b\u5e8f\u8ba2\u9605\u6d88\u606f","name":"\u5c0f\u7a0b\u5e8f\u8ba2\u9605\u6d88\u606f","pid":2033,"id":2039,"value":2039,"path":[2010,2033],"index":"2033-2039"}],"index":"2033"},{"label":"WEBPC\u7ba1\u7406\u7aef\u8fd0\u884c\u548c\u6253\u5305","name":"WEBPC\u7ba1\u7406\u7aef\u8fd0\u884c\u548c\u6253\u5305","pid":2010,"id":2040,"value":2040,"path":[2010],"index":"2040"},{"label":"\u79fb\u52a8\u7aef\u8fd0\u884c\u548c\u6253\u5305","name":"\u79fb\u52a8\u7aef\u8fd0\u884c\u548c\u6253\u5305","pid":2010,"id":2042,"value":2042,"path":[2010],"index":"2042"},{"label":"\u6570\u636e\u5b57\u5178","name":"\u6570\u636e\u5b57\u5178","pid":2010,"id":5410,"value":5410,"path":[2010],"index":"5410"}],"index":""},{"label":"\u5e38\u89c1\u95ee\u9898","name":"\u5e38\u89c1\u95ee\u9898","pid":0,"id":1963,"value":1963,"path":[],"children":[{"label":"WEB PC\u7ba1\u7406\u7aef","name":"WEB PC\u7ba1\u7406\u7aef","pid":1963,"id":2163,"value":2163,"path":[1963],"children":[{"label":"\u540e\u53f0\u7ba1\u7406\u7cfb\u7edf\u767b\u5f55\u95ee\u9898","name":"\u540e\u53f0\u7ba1\u7406\u7cfb\u7edf\u767b\u5f55\u95ee\u9898","pid":2163,"id":1986,"value":1986,"path":[1963,2163],"index":"2163-1986"},{"label":"\u7c92\u5b50\u6548\u679c","name":"\u7c92\u5b50\u6548\u679c","pid":2163,"id":2165,"value":2165,"path":[1963,2163],"index":"2163-2165"},{"label":"\u56fe\u7247\u7d20\u6750","name":"\u56fe\u7247\u7d20\u6750","pid":2163,"id":2166,"value":2166,"path":[1963,2163],"index":"2163-2166"},{"label":"\u9875\u9762\u5237\u65b0404","name":"\u9875\u9762\u5237\u65b0404","pid":2163,"id":2167,"value":2167,"path":[1963,2163],"index":"2163-2167"}],"index":"2163"},{"label":"Java\u9879\u76ee\u5e38\u89c1\u95ee\u9898","name":"Java\u9879\u76ee\u5e38\u89c1\u95ee\u9898","pid":1963,"id":2164,"value":2164,"path":[1963],"children":[{"label":"\u5237\u65b0404","name":"\u5237\u65b0404","pid":2164,"id":1985,"value":1985,"path":[1963,2164],"index":"2164-1985"},{"label":"\u9000\u6b3e\u95ee\u9898","name":"\u9000\u6b3e\u95ee\u9898","pid":2164,"id":2169,"value":2169,"path":[1963,2164],"index":"2164-2169"},{"label":"\u9879\u76ee\u90e8\u7f72\u5728\u540c\u4e00\u4e2anginx\u4e0b\u901a\u8fc7\u76ee\u5f55\u533a\u5206","name":"\u9879\u76ee\u90e8\u7f72\u5728\u540c\u4e00\u4e2anginx\u4e0b\u901a\u8fc7\u76ee\u5f55\u533a\u5206","pid":2164,"id":2170,"value":2170,"path":[1963,2164],"index":"2164-2170"},{"label":"Win\u670d\u52a1\u5668\u51fa\u73b0\u4e71\u7801","name":"Win\u670d\u52a1\u5668\u51fa\u73b0\u4e71\u7801","pid":2164,"id":2171,"value":2171,"path":[1963,2164],"index":"2164-2171"},{"label":"Java\u9879\u76ee\u65e5\u5fd7","name":"Java\u9879\u76ee\u65e5\u5fd7","pid":2164,"id":2173,"value":2173,"path":[1963,2164],"index":"2164-2173"},{"label":"sql\u6570\u636e\u5e93\u95ee\u9898","name":"sql\u6570\u636e\u5e93\u95ee\u9898","pid":2164,"id":8538,"value":8538,"path":[1963,2164],"index":"2164-8538"},{"label":"\u63a5\u53e3\u8bbf\u95eetoken\u83b7\u53d6\u548c\u4f7f\u7528","name":"\u63a5\u53e3\u8bbf\u95eetoken\u83b7\u53d6\u548c\u4f7f\u7528","pid":2164,"id":9839,"value":9839,"path":[1963,2164],"index":"2164-9839"}],"index":"2164"},{"label":"\u56fe\u7247\u95ee\u9898","name":"\u56fe\u7247\u95ee\u9898","pid":1963,"id":1973,"value":1973,"path":[1963],"children":[{"label":"\u4e00\u952e\u6362\u8272","name":"\u4e00\u952e\u6362\u8272","pid":1973,"id":1974,"value":1974,"path":[1963,1973],"index":"1973-1974"}],"index":"1973"},{"label":"\u652f\u4ed8\u76f8\u5173","name":"\u652f\u4ed8\u76f8\u5173","pid":1963,"id":1976,"value":1976,"path":[1963],"children":[{"label":"\u5546\u6237\u5e73\u53f0\u6dfb\u52a0\u652f\u4ed8\u6388\u6743\u76ee\u5f55","name":"\u5546\u6237\u5e73\u53f0\u6dfb\u52a0\u652f\u4ed8\u6388\u6743\u76ee\u5f55","pid":1976,"id":1977,"value":1977,"path":[1963,1976],"index":"1976-1977"},{"label":"\u652f\u4ed8\u6210\u529f\u4f46\u8ba2\u5355\u663e\u793a\u5931\u8d25","name":"\u652f\u4ed8\u6210\u529f\u4f46\u8ba2\u5355\u663e\u793a\u5931\u8d25","pid":1976,"id":2172,"value":2172,"path":[1963,1976],"index":"1976-2172"}],"index":"1976"},{"label":"\u6e90\u7801\u95ee\u9898","name":"\u6e90\u7801\u95ee\u9898","pid":1963,"id":1978,"value":1978,"path":[1963],"children":[{"label":"1.3.7\u66f4\u65b0","name":"1.3.7\u66f4\u65b0","pid":1978,"id":1979,"value":1979,"path":[1963,1978],"index":"1978-1979"},{"label":"\u4ee3\u7801\u600e\u4e48\u4e0b\u8f7d\u548c\u66f4\u65b0","name":"\u4ee3\u7801\u600e\u4e48\u4e0b\u8f7d\u548c\u66f4\u65b0","pid":1978,"id":1980,"value":1980,"path":[1963,1978],"index":"1978-1980"},{"label":"swagger","name":"swagger","pid":1978,"id":8532,"value":8532,"path":[1963,1978],"index":"1978-8532"},{"label":"\u5c0f\u7a0b\u5e8f\u8ba2\u5355\u4fe1\u606f\u590d\u5236","name":"\u5c0f\u7a0b\u5e8f\u8ba2\u5355\u4fe1\u606f\u590d\u5236","pid":1978,"id":12210,"value":12210,"path":[1963,1978],"index":"1978-12210"}],"index":"1978"},{"label":"npm\u955c\u50cf\u95ee\u9898","name":"npm\u955c\u50cf\u95ee\u9898","pid":1963,"id":1981,"value":1981,"path":[1963],"index":"1981"},{"label":"start.sh\u542f\u52a8\u62a5\u9519","name":"start.sh\u542f\u52a8\u62a5\u9519","pid":1963,"id":1982,"value":1982,"path":[1963],"index":"1982"},{"label":"\u4e1a\u52a1\u5e38\u89c1\u95ee\u9898","name":"\u4e1a\u52a1\u5e38\u89c1\u95ee\u9898","pid":1963,"id":1984,"value":1984,"path":[1963],"index":"1984"},{"label":"\u5b9d\u5854redis\u8bbe\u7f6e\u5bc6\u7801","name":"\u5b9d\u5854redis\u8bbe\u7f6e\u5bc6\u7801","pid":1963,"id":1987,"value":1987,"path":[1963],"index":"1987"},{"label":"\u7248\u6743","name":"\u7248\u6743","pid":1963,"id":1988,"value":1988,"path":[1963],"index":"1988"},{"label":"\u516c\u4f17\u53f7\u7f51\u9875\u5206\u4eab\u7ed9\u670b\u53cb\u6216\u670b\u53cb\u5708\u51fa\u73b0\u53ea\u6709url, \u6ca1\u6709\u5361\u7247\u7684\u60c5\u51b5","name":"\u516c\u4f17\u53f7\u7f51\u9875\u5206\u4eab\u7ed9\u670b\u53cb\u6216\u670b\u53cb\u5708\u51fa\u73b0\u53ea\u6709url, \u6ca1\u6709\u5361\u7247\u7684\u60c5\u51b5","pid":1963,"id":8782,"value":8782,"path":[1963],"index":"8782"}],"index":""},{"label":"\u4e8c\u5f00\u9526\u56ca","name":"\u4e8c\u5f00\u9526\u56ca","pid":0,"id":1864,"value":1864,"path":[],"children":[{"label":"\u96c6\u6210\u7b2c\u4e09\u65b9SDK","name":"\u96c6\u6210\u7b2c\u4e09\u65b9SDK","pid":1864,"id":1865,"value":1865,"path":[1864],"children":[{"label":"\u963f\u91cc","name":"\u963f\u91cc","pid":1865,"id":1866,"value":1866,"path":[1864,1865],"children":[{"label":"\u77ed\u4fe1","name":"\u77ed\u4fe1","pid":1866,"id":1867,"value":1867,"path":[1864,1865,1866],"index":"1865-1866-1867"}],"index":"1865-1866"}],"index":"1865"}],"index":""},{"label":"\u53d1\u5e03\u6587\u7ae0","name":"\u53d1\u5e03\u6587\u7ae0","pid":1898,"id":1899,"value":1899,"path":[1868,1898],"index":"1899"},{"label":"\u6587\u7ae0\u754c\u9762","name":"\u6587\u7ae0\u754c\u9762","pid":1898,"id":1900,"value":1900,"path":[1868,1898],"index":"1900"},{"label":"\u4ea4\u6613\u7edf\u8ba1","name":"\u4ea4\u6613\u7edf\u8ba1","pid":1922,"id":1923,"value":1923,"path":[1868,1922],"index":"1923"},{"label":"\u5546\u54c1\u7edf\u8ba1","name":"\u5546\u54c1\u7edf\u8ba1","pid":1922,"id":1924,"value":1924,"path":[1868,1922],"index":"1924"},{"label":"\u7528\u6237\u7edf\u8ba1","name":"\u7528\u6237\u7edf\u8ba1","pid":1922,"id":1925,"value":1925,"path":[1868,1922],"index":"1925"},{"label":"\u9996\u9875\u770b\u677f","name":"\u9996\u9875\u770b\u677f","pid":1922,"id":1926,"value":1926,"path":[1868,1922],"index":"1926"},{"label":"\u524d\u7aef\u8bf4\u660e","name":"\u524d\u7aef\u8bf4\u660e","pid":0,"id":1952,"value":1952,"path":[],"children":[{"label":"\u4e2a\u4eba\u4e2d\u5fc3","name":"\u4e2a\u4eba\u4e2d\u5fc3","pid":1952,"id":1953,"value":1953,"path":[1952],"index":"1953"},{"label":"\u5206\u7c7b\u9875","name":"\u5206\u7c7b\u9875","pid":1952,"id":1954,"value":1954,"path":[1952],"index":"1954"},{"label":"\u9996\u9875","name":"\u9996\u9875","pid":1952,"id":1955,"value":1955,"path":[1952],"index":"1955"}],"index":""}] || [], activeId: parseInt(''), leftMenus:[], currentIndex:0, treeActiveIndex: null, currentActiveId: null, hoverId: null, isManualSelection: false, // 手动选择标志 productName: "java", jpath:'crmeb_java', headingList: [], // 扁平标题列表 headingTree: [], // 树形标题列表 showmenu: true, expandedItems: {}, // 展开状态 {id: true/false} } }, // 指令粘贴指令定义 directives: { paste: { bind(el, binding, vnode) { el.addEventListener('paste', function (event) { //这里直接监听元素的粘贴事件 binding.value(event); }); }, }, }, //计算属性 computed: { isEdit() { if (this.userInfo.admin_id && ( this.userInfo.adminInfo.obj_ids.indexOf(this.objId) !== -1 || this.userInfo.adminInfo.level === 0 )){ return true }else{ return false } }, openedMenus() { return this.getAllSubMenuIds(this.leftMenus); } }, watch: { isSearch(n) { if (!n) { this.$nextTick(function () { this.markdownToHTML() }) } }, }, mounted() { this.getList() this.getuserInfo() this.$nextTick(function () { this.markdownToHTML() }) if (!this.activeId) { this.activeId = this.wikiMenus[0].id } this.getDetails(this.cate_id) this.wikiMenus.map((item) => { if (parseInt(item.id) === parseInt(this.activeId)) { this.leftMenus = item.children } }) const boxContent = document.querySelector('.box-content'); boxContent.addEventListener('scroll', this.checkScrollPosition); this.initScrollTracking(); this.$nextTick(() => { // 延迟执行,等渲染完成 setTimeout(() => { this.calculateCurrentHeading(); console.log('初始化高亮索引:', this.currentIndex); }, 500); }); }, destroyed() { const boxContent = document.querySelector('.box-content'); boxContent.removeEventListener('scroll', this.checkScrollPosition); }, methods: { toggleExpand(id) { this.$set(this.expandedItems, id, !this.expandedItems[id]); }, editPage(){ if (!this.isEdit) { this.$message.error('没有权限') return } getRequest('/api/get_edit_url/'+this.productId,{cid:this.cate_id,objId:objId}).then(res=>{ help.storage.set('adminInfo', res.data.adminInfo); help.storage.set('token', res.data.token); const targetUrl = res.data.url; const targetName = '__tangent'; // 尝试获取已打开的编辑窗口引用 const existingWindow = window.__tangentEditorWindow; if (existingWindow && !existingWindow.closed) { // 窗口已存在,使用 postMessage 发送切换目录消息 existingWindow.postMessage({ type: 'SWITCH_CATALOGUE', cateId: this.cate_id, objId: this.objId }, '*'); this.$message.success('已切换到新的菜单编辑'); } else { // 窗口未打开,打开新窗口并保存引用 window.__tangentEditorWindow = window.open(targetUrl, targetName); } }) }, // 递归获取所有需要展开的菜单ID(所有包含子菜单的节点) getAllSubMenuIds(menuItems) { let ids = []; menuItems.forEach(item => { // 如果有子节点,当前节点需要展开 if (item.children && item.children.length) { ids.push(String(item.id)); // 递归获取子节点中需要展开的ID ids = ids.concat(this.getAllSubMenuIds(item.children)); } }); return ids; }, copyPageUrl() { const url = window.location.href; if (navigator.clipboard?.writeText) { navigator.clipboard.writeText(url).catch(() => { window.prompt('复制链接失败,请手动复制:', url); }).then(() => { this.$message.success('复制成功'); }); } else { window.prompt('复制链接失败,请手动复制:', url); } }, // 新增:监听滚动,自动更新当前高亮索引 setupScrollListener() { let ticking = false; // 使用 requestAnimationFrame 进行性能优化 const handleScroll = () => { if (!ticking) { window.requestAnimationFrame(() => { this.calculateCurrentHeading(); ticking = false; }); ticking = true; } }; // 监听容器的滚动事件 const contentContainer = window.document.getElementById('contentContainer'); if (contentContainer) { contentContainer.addEventListener('scroll', handleScroll); } // 组件销毁时移除监听器(在 Vue 2 的 beforeDestroy 或 Vue 3 的 onUnmounted 中调用) // this.$once('hook:beforeDestroy', () => { // contentContainer.removeEventListener('scroll', handleScroll); // }); }, // 核心方法:计算当前应该高亮的标题索引 calculateCurrentHeading() { try { const container = document.getElementsByClassName('markdown-body')[0]; if (!container) return; // 检查是否有H2标题 const h2Elements = container.querySelectorAll('h2'); const hasH2 = h2Elements.length > 0; // 根据是否有H2决定使用哪个选择器 const headingSelector = hasH2 ? 'h2' : 'h3'; let headingElements = container.querySelectorAll(headingSelector); if (headingElements.length === 0) return; const contentContainer = document.getElementById('contentContainer'); if (!contentContainer) return; const scrollTop = contentContainer.scrollTop; // 找出当前应该高亮的标题索引 let activeIndex = 0; for (let i = 0; i < headingElements.length; i++) { const heading = headingElements[i]; const headingTop = heading.offsetTop - contentContainer.offsetTop; // 如果当前标题的顶部位置小于滚动位置 + 100px,则认为是当前激活的 if (headingTop <= scrollTop + 100) { activeIndex = i; } else { break; // 后面的标题位置更大,不需要继续遍历 } } // 更新高亮索引(只有用户手动选择时才跳过) if (this.isManualSelection) { return; // 用户手动选择中,不自动更新 } if (this.treeActiveIndex !== activeIndex) { console.log(`${hasH2 ? 'H2' : 'H3'}高亮切换: ${this.treeActiveIndex} -> ${activeIndex}`); this.treeActiveIndex = activeIndex; } } catch (e) { console.log('计算当前标题时出错:', e); } }, // 初始化方法(在 mounted 钩子中调用) initScrollTracking() { this.setupScrollListener(); // 初始计算一次 this.calculateCurrentHeading(); }, changeImage(action){ let length = this.imagesList.length switch (action){ case 'prev': if(this.imageIndex === 0){ this.imageUrl = this.imagesList[length - 1] this.imageIndex = length } else { this.imageIndex-- this.imageUrl = this.imagesList[this.imageIndex] } break case 'next': if(this.imageIndex === length){ this.imageIndex = 0 this.imageUrl = this.imagesList[0] }else{ this.imageIndex++ this.imageUrl = this.imagesList[this.imageIndex] } break case 'out': this.scale -= 0.1 this.styleTransform=this.getTransformStr(this.scale,this.rotation) break case 'in': this.scale += 0.1 this.styleTransform=this.getTransformStr(this.scale,this.rotation) break case 'screen': if (this.styleHW) { this.styleHW='' } else { this.styleHW='max-height: 100%; max-width: 100%;' } break case 'left': this.rotation += 90; if( (this.rotation / 90) === 4){ this.rotation = 0 } this.styleTransform=this.getTransformStr(this.scale,this.rotation) break case 'right': this.rotation -= 90; if( (this.rotation / 90) === -4){ this.rotation = 0 } this.styleTransform=this.getTransformStr(this.scale,this.rotation) break } }, getTransformStr(scale, rotation){ return 'scale(' + scale + ') rotate('+rotation+'deg)'; }, checkScrollPosition(){ const boxContent = document.querySelector('.box-content'); // 滚动超过一屏高度时显示回到顶部按钮 this.topShow = boxContent.scrollTop >= boxContent.clientHeight; }, goTopFn() { const contentContainer = document.getElementById('contentContainer'); const scrollTopBtn = document.getElementById('scrollTopBtn'); contentContainer.scrollTo({ top: 0, behavior: 'smooth' }); }, closeImagePreview(){ this.dialogVisible = false this.imageUrl = '' this.imageIndex = 0 this.scale = 1 this.rotation = 0 this.styleTransform = 'scale(1) rotate(0deg)' this.styleHW ='max-height: 100%; max-width: 100%;' }, getWikiLike(){ getRequest('/api/get_detail_like/'+this.cate_id).then(res=>{ this.cateWiki.like = res.data.like }) }, // 点击一级菜单 clickOnTheMenu(item){ this.currentIndex = 0 // 获取详情 this.activeId = item.id if(item.children){ this.cate_id = item.children[0].id this.pid = item.children[0].pid this.leftMenus = item.children this.getDetails() }else { this.leftMenus = [] this.cate_id = item.id this.pid = 0 this.getDetails() } }, delComment(item){ postRequest('/api/comment/delete/'+item.id).then(res=>{ this.cateWiki.comment_num = res.data.commentNum this.isComment = false this.listLodend = false this.commentWhere.page = 1 this.replyIndex = null this.replyIndexJ = null this.commentChildContent = '' this.isChildComment = false this.getList() }) }, saveComment(){ // if(!this.commentContent.replace(/\s/g, "")) { // return this.$message.error('评论内容不能为空') // } if(this.isComment) return this.isComment = true postRequest('/api/comment/save',{ images: this.replyPicList, content: this.commentContent, cate_id: this.cate_id, comment_pid: 0, url:location.href }).then(res=>{ this.replyPicList = [] this.replyPid = 0 this.commentContent = '' this.$message.success(res.msg) this.isComment = false this.listLodend = false this.commentWhere.page = 1 this.getList() this.getCommentNum() }).catch(res=>{ this.$message.error(res.msg) this.isComment = false }) }, saveChildComment(){ // if(!this.commentChildContent.replace(/\s/g, "")) { // return this.$message.error('评论内容不能为空') // } if(this.isChildComment) return this.isChildComment = true postRequest('/api/comment/save',{ images: this.replyChildPicList, content: this.commentChildContent, cate_id: this.cate_id, comment_pid: this.replyPid, url:location.href }).then(res=>{ this.replyChildPicList = [] this.replyPid = 0 this.replyIndex = null this.replyIndexJ = null this.commentChildContent = '' this.$message.success(res.msg) this.isChildComment = false this.listLodend = false this.commentWhere.page = 1 this.getList() this.getCommentNum() }).catch(res=>{ this.$message.error(res.msg) this.isChildComment = false }) }, //微信截图上传图片时触发 handleParse(e) { let file = null; var data = e.clipboardData || window.clipboardData, that = this; console.log('fun', data); blob = data.items[0].getAsFile(); var isImg = (blob && 1) || -1; var reader = new FileReader(); if (isImg >= 0) { //将文件读取为 DataURL reader.readAsDataURL(blob); } reader.onload = function (event) { //获取base64流 var base64_str = event.target.result; //div中的img标签src属性赋值,可以直接展示图片 // console.log('base64_str',base64_str); var bytes = window.atob(base64_str.split(',')[1]); var array = []; for (var i = 0; i < bytes.length; i++) { array.push(bytes.charCodeAt(i)); } var blob = new Blob([new Uint8Array(array)], { type: 'image/jpeg' }); var formData = new FormData(); formData.append('file', blob, Date.now() + '.jpg'); formData.append('filename', 'file') that.update(formData); } }, update(formData) { if (this.replyPid) { if(this.replyChildPicList.length > 10){ return this.$message.error('最多上传10张图片'); } }else{ if(this.replyPicList.length > 10){ return this.$message.error('最多上传10张图片'); } } // 上传 fetch('/api/upload', { method: 'post', headers: { Code: getCookie('gitee_code') }, body: formData }).then(response => response.json()).then(res => { if (res.status == 50000) { this.login(res.msg); return } let pic = res.data.url; if (this.replyPid) { this.replyChildPicList.push(pic); } else { this.replyPicList.push(pic); } }) }, login(msg){ this.$message.error(msg) }, openMenu(index){ if(this.isSearch) this.isSearch = false this.where.search = '' let arr = index.split('-'); try{ if(arr.length == 1){ this.pid = arr[arr.length-1] }else{ this.pid = arr[arr.length-2] } }catch (e) { } try{ this.cate_id = arr[arr.length-1] }catch (e) { } this.parentList = [] this.getDetails() }, handleSelect(index) { event.stopPropagation(); if(this.isSearch) this.isSearch = false this.where.search = '' let arr = index.split('-'); try{ if(arr.length == 1){ this.pid = arr[arr.length-1] }else{ this.pid = arr[arr.length-2] } }catch (e) { } try{ this.cate_id = arr[arr.length-1] }catch (e) { } this.currentIndex = 0 this.parentList = [] // 重点:获取内容容器并重置滚动位置 this.$nextTick(() => { const contentContainer = document.getElementById('contentContainer'); if (contentContainer) { contentContainer.scrollTop = 0; // 滚动到顶部 } }); this.getDetails() window.scrollTo({ top: 0, }); }, getCommentNum(){ if(!this.isVue){ this.isVue = true } getRequest('/api/comment_num/'+this.cate_id,{},false).then(res=>{ this.cateWiki.comment_num = res.data.comment_num }) }, getDetails(cate_id){ // 获取详情 getRequest('/api/details',{ productId:this.productId, pid: this.pid, obj_id:this.objId, cate_id:cate_id || this.cate_id, },false).then(res=>{ this.parentList = res.data.parentList this.wikiTitle = res.data.title this.wikiContent = res.data.content this.wikiContentHtml = res.data.contentHtml this.cateWiki = res.data.catalogueInfo this.h3TagsList = [] this.imagesList = [] if(cate_id === undefined){ this.isVue = true this.getWikiLike() this.setRoute(this.productName+'/'+this.jpath+'/'+this.cate_id) this.$nextTick(function (){ if(this.wikiContent && !this.wikiContentHtml){ this.markdownToHTML(this.wikiContent) } else if(this.wikiContentHtml){ // this.findH3Tags() this.findAllHeadings() } }) }else{ // this.findH3Tags() this.findAllHeadings() } this.isComment = false this.listLodend = false this.commentWhere.page = 1 this.replyIndex = null this.replyIndexJ = null this.commentChildContent = '' this.isChildComment = false this.getList() }).catch(res=>{ }) }, setRoute(url){ let stateObj = {page: "/" + url}; history.pushState(stateObj, "", '/'+url); }, cataloguename(path_data){ let path = ''; path_data.map((item,index)=>{ if(index === path_data.length){ path += item.name }else{ path += item.name+' > ' } }) return path }, // 替换原来的 findH3Tags 方法 findAllHeadings() { setTimeout(() => { const container = document.getElementsByClassName('markdown-body')[0]; if (!container) return; // 清空旧数据 this.headingList = []; this.headingTree = []; this.h3TagsList = []; // 提取所有标题标签 const headingTags = container.querySelectorAll('h2, h3, h4'); // 使用计数器确保唯一性 let counter = 0; headingTags.forEach((tag, index) => { const level = parseInt(tag.tagName[1]); const text = tag.textContent.trim(); // 使用时间戳+计数器+随机数确保唯一性 const timestamp = Date.now(); const random = Math.random().toString(36).substr(2, 5); counter++; // 设置唯一ID tag.id = `heading-${timestamp}-${counter}-${random}`; const heading = { id: tag.id, level: level, text: text, element: tag, children: [] }; this.headingList.push(heading); if (level === 3) { this.h3TagsList.push(text); } }); // 构建标题树 this.headingTree = this.buildHeadingTree(this.headingList); // 初始化展开状态(一级展开,二级和三级默认收起) this.expandedItems = {}; this.headingTree.forEach(heading => { if (heading.children && heading.children.length) { this.$set(this.expandedItems, heading.id, true); heading.children.forEach(child => { if (child.children && child.children.length) { this.$set(this.expandedItems, child.id, false); } }); } }); // 图片点击处理 const that = this; container.querySelectorAll('img').forEach(img => { if (!this.imagesList.includes(img.src)) { this.imagesList.push(img.src); } img.addEventListener('click', function() { that.imageUrl = this.src; that.dialogVisible = true; }); }); // console.log('标题列表:', this.headingList); // console.log('标题树:', this.headingTree); }, 500); }, // 新增:构建标题树 buildHeadingTree(headings) { const tree = []; const stack = []; // 检查是否有H2、H3标题 const hasH2 = headings.some(h => h.level === 2); const hasH3 = headings.some(h => h.level === 3); headings.forEach(heading => { const node = { ...heading, children: [], index: '', // 用于存储序号 }; // 逻辑: // 1. 如果有H2且有H3:处理H2、H3、H4 // 2. 如果有H2但没有H3:只处理H2(H4不显示) // 3. 如果没有H2,有H3:处理H3、H4 // 4. 如果没有H2也没有H3,有H4:H4作为一级 if (hasH2) { // 有H2的情况 if (node.level === 2) { // H2作为一级 node.index = (tree.length + 1).toString(); tree.push(node); stack.length = 0; stack.push({...node, level: 2}); } else if (hasH3 && node.level === 3) { // 有H2有H3时,H3作为H2的子级 const parent = tree[tree.length - 1]; if (parent) { node.index = `${parent.index}.${parent.children.length + 1}`; parent.children.push(node); stack.length = 0; stack.push({...node, level: 3}); } } else if (hasH3 && node.level === 4) { // 有H2有H3时,H4作为H3的子级 const parent = stack[stack.length - 1]; if (parent && parent.level === 3) { node.index = `${parent.index}.${parent.children.length + 1}`; parent.children.push(node); } } // 没有H3时,H3/H4都不处理 } else if (hasH3) { // 没有H2,有H3的情况 if (node.level === 3) { // H3作为一级 node.index = (tree.length + 1).toString(); tree.push(node); stack.length = 0; stack.push({...node, level: 3}); } else if (node.level === 4) { // H4作为H3的子级 const parent = tree[tree.length - 1]; if (parent) { node.index = `${parent.index}.${parent.children.length + 1}`; parent.children.push(node); } } } else { // 没有H2也没有H3,有H4的情况 if (node.level === 4) { // H4作为一级 node.index = (tree.length + 1).toString(); tree.push(node); } } }); return tree; }, // 新增:获取标题索引(用于高亮) getHeadingIndex(heading) { if (!heading || !heading.id) return -1; // 只查找 h3 标题 const container = document.getElementsByClassName('markdown-body')[0]; if (!container) return -1; const h3Elements = container.querySelectorAll('h3'); // 通过元素引用查找索引 for (let i = 0; i < h3Elements.length; i++) { if (h3Elements[i].id === heading.id || h3Elements[i] === heading.element) { return i; } } return -1; }, findH3Tags() { setTimeout(()=>{ const container = document.getElementsByClassName('markdown-body')[0]; console.log(container) if(!container){ return } const h3Tags = container.querySelectorAll('h3'); console.log(h3Tags) if(this.h3TagsList.length <= 0){ h3Tags.forEach(tag => { // 可以在这里对每个 h3 标签进行操作 this.h3TagsList.push(tag.textContent); }); } const that = this container.querySelectorAll('img').forEach(img=>{ this.imagesList.push(img.src) img.addEventListener('click',function (){ that.imageUrl = this.src that.dialogVisible = true }) }) },1000) }, // 滚动到二级/三级目录 scrollToSubHeading(heading) { try { // 设置当前激活的标题ID this.currentActiveId = heading.id; this.treeActiveIndex = null; // 清除一级active this.isManualSelection = true; setTimeout(() => { this.isManualSelection = false; }, 2000); // 2秒后恢复自动更新 const container = document.getElementsByClassName('markdown-body')[0]; if (!container) return; // 通过ID查找对应的元素 const targetElement = document.getElementById(heading.id); if (targetElement) { const contentContainer = document.getElementById('contentContainer'); if (!contentContainer) return; // 计算目标位置 const headingTop = targetElement.offsetTop - contentContainer.offsetTop; const targetPosition = Math.max(0, headingTop + 110); // 留100px边距 console.log(`滚动到二级/三级标题: ${heading.text}, 位置=${headingTop}px`); contentContainer.scrollTo({ top: targetPosition, behavior: 'smooth' }); // 可选:滚动后稍微延迟,让一级目录的高亮更新 // setTimeout(() => { // this.calculateCurrentHeading(); // }, 300); } else { console.warn(`未找到ID为 ${heading.id} 的标题元素`); } } catch (e) { console.log('滚动失败:', e); } }, scrollToHeading(heading, index) { if (index === undefined || index === null) { console.error('滚动索引无效:', index); return; } try { const container = document.getElementsByClassName('markdown-body')[0]; if (!container) return; const contentContainer = document.getElementById('contentContainer'); if (!contentContainer) return; // 直接通过ID查找元素 const targetHeading = document.getElementById(heading.id); if (targetHeading) { // 计算目标位置,留110px边距 const headingTop = targetHeading.offsetTop - contentContainer.offsetTop; const targetPosition = Math.max(0, headingTop + 110); console.log(`滚动到标题: ${heading.text}`); this.currentActiveId = heading.id; contentContainer.scrollTo({ top: targetPosition, behavior: 'smooth' }); } else { console.error('找不到标题元素:', heading.id); } } catch (e) { console.log('滚动失败:', e); } }, markdownToHTML(newMarkdownContent) { if(newMarkdownContent){ if(this.$refs.editormd){ this.$refs.editormd.innerHTML = '' } editormd.markdownToHTML('editormd', { markdown: newMarkdownContent, width: "100%", path: "/static/admin/editor.md-master/lib/", preview: true, watch: true, editor: false, taskList: true, tex: true, tocm: true, htmlDecode: true, flowChart: true, sequenceDiagram: true }); setTimeout( ()=>{ $('#editormd a').on('click', function (e) { e.preventDefault() var url = $(this).attr('href'); if (url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1) { window.open(url); } else { location.href = url; } }) // this.findH3Tags() this.findAllHeadings() }, 300); return; } if (this.$refs.content && this.$refs.content.innerText) { editormd.markdownToHTML('editormd', { width: "100%", path: "/static/admin/editor.md-master/lib/", preview: true, watch: true, editor: false, taskList: true, tex: true, // 默认不解析 tocm: true, htmlDecode: true, // you can filter tags decode flowChart: true, // 默认不解析 sequenceDiagram: true, // 默认不解析 }); setTimeout( ()=> { $('#editormd a').on('click', function (e) { e.preventDefault() var url = $(this).attr('href'); if (url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1) { window.open(url); } else { location.href = url; } }) // this.findH3Tags() this.findAllHeadings() }, 300); } else { window.onload = function () { $('#editormd a').on('click', function (e) { e.preventDefault() var url = $(this).attr('href'); if (url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1) { window.open(url); } else { location.href = url; } }) } // this.findH3Tags() this.findAllHeadings() } }, search() { if (this.where.search == '') { this.isSearch = false } else { if (!this.isSearch) this.isSearch = true this.getSearchList() } }, currentChange(page){ this.where.page = page this.getSearchList() }, getSearchList(){ this.loading = true getRequest('/api/search/' + this.objId, this.where,false).then(res => { this.wikiSearchList = res.data.list this.wikiCount = res.data.count this.loading = false }).catch(res=>{ this.loading = false }); }, // 跳转用户地址 goUser() { window.open("/user/index") }, // 获取个人信息 getuserInfo() { request('/api/user', 'get').then(res => { this.userInfo = res.data this.getWikiLike() }).catch(err => { console.log(err) }) }, orderCommentList(){ this.commentWhere.order = this.commentWhere.order ? 0 : 1 this.listLodend = false this.commentWhere.page = 1 this.getList() }, // 获取评论列表 getList() { if(this.listLoding) return if(this.listLodend) return; this.listLoding = true getRequest(`/api/comment/list/${this.cate_id}`,this.commentWhere,false).then(res=>{ this.list = res.data.list this.count = res.data.count this.listLoding = false this.listLodend = this.list.length < this.commentWhere.limit }).catch(res=>{ this.listLoding = false }); }, // 登录 loginFn() { fetch(`/api/authorize_url`).then(response => response.json()).then(data => { if (data.status == 200) { const width = 1300; const height = 750; const left = (window.innerWidth - width) / 2; const top = (window.innerHeight - height) / 2; const windowFeatures = `width=${width},height=${height},toolbar=no,location=no,status=no,menubar=no,left=${left},top=${top}`; if(this.isMobileDevice()){ setCookie('page_url',window.location.href); window.location.href = data.data.authorizeUrl }else{ window.open(data.data.authorizeUrl, '_blank', windowFeatures) } } else { this.$message.error(data.msg); } }).catch(err => { this.$message.error(err.msg); }); }, isMobileDevice() { return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); }, like(id,type,item){ postRequest('/api/wiki/like/'+id+'/'+type).then(res=>{ if(item){ if(res.data.like){ item.likeUser = {uid:this.userInfo.uid} if(item.like){ item.like.like_num++ }else{ item.like = {like_num:1} } }else{ item.likeUser = null if(item.like){ item.like.like_num-- }else{ item.like =null } } }else{ this.isVue = true if(res.data.like){ this.cateWiki.like_num++ this.cateWiki.like = true }else{ this.cateWiki.like_num-- this.cateWiki.like = false } } this.$message.success(res.msg); }).catch(err => { this.$message.error(err.msg); }); }, replyFn(index, item, type,pid) { if (type == 1 && this.replyIndex != index) { this.replyIndex = index; } else { this.replyIndex = null } if (type == 2 && this.replyIndexJ != index) { this.replyIndexJ = index; } else { this.replyIndexJ = null } this.replyPid = pid }, //上传前 beforeUpload(file) { if (!this.userInfo.uid) { this.$message.error('请先登陆后再进行评论'); } if (this.replyPid) { if(this.replyChildPicList.length > 10){ return this.$message.error('最多上传10张图片'); } }else{ if(this.replyPicList.length > 10){ return this.$message.error('最多上传10张图片'); } } }, picChildDel(index){ this.replyChildPicList.splice(index, 1); }, picdDel(index){ this.replyPicList.splice(index, 1); }, handleChildSuccess(response) { console.log(response, '上传') if (response.status === 200) { this.$message.success('上传成功'); let pic = response.data.url; this.replyChildPicList.push(pic); } else { this.$message.error(response.message); } }, // 上传成功 handleSuccess(response) { console.log(response, '上传') if (response.status === 200) { this.$message.success('上传成功'); let pic = response.data.url; this.replyPicList.push(pic); } else { this.$message.error(response.msg); } }, logout(){ postRequest('/api/logout').then(res=>{ this.userInfo = {} deleteCookie('gitee_code') this.$message.success(res.msg); }).catch(res=>{ this.$message.error(res.msg); }) }, } }) var objId = parseInt(3), clickId, title = "CRMEB Java版单商户v1", productName = "java", jpath = 'crmeb_java', projectList = [{"name":"CRMEB Java\u7248\u5355\u5546\u6237V2.2","path":"crmeb_java_22"},{"name":"CRMEB Java\u7248\u5355\u5546\u6237V2.3A","path":"crmeb_java_23A"},{"name":"CRMEB Java\u7248\u5355\u5546\u6237v1","path":"crmeb_java"},{"name":"CRMEB JAVA \u5355\u5546\u6237V2.0.5","path":"crmeb_java205"},{"name":"CRMEB JAVA \u5355\u5546\u6237V2.1","path":"crmeb_java21"},{"name":"CRMEB Java\u7248\u5355\u5546\u6237V2.3","path":"crmeb_java_23"},{"name":"CRMEB JAVA \u5355\u5546\u6237V2.4","path":"CRMEBJAVA_V2_4"}]; function openImages(obj) { layer.open({ type: 1, offset: 'auto', title: false, closeBtn: 1, skin: 'layui-layer-nobg', //没有背景色 shadeClose: true, content: '' }); } function addEvt(ifr) { var doc = ifr.contentWindow.document; doc.onclick = function () { ifr.style.height = (document.all ? doc.body.scrollHeight : doc.body.offsetHeight) + 'px'; } ifr.style.height = (document.all ? doc.body.scrollHeight : doc.body.offsetHeight) + 'px'; } function bodyiconclick() { $('#docDemoMenu1 .icon').on('click', function (e) { var open = parseInt($(this).data('open')); if (open === 0) { $(this).parent('li').addClass('layui-menu-item-down').removeClass('layui-menu-item-up'); $(this).data('open', 1).children('i').addClass('layui-icon-down').removeClass('layui-icon-right'); } else { $(this).parent('li').addClass('layui-menu-item-up').removeClass('layui-menu-item-down'); $(this).data('open', 0).children('i').addClass('layui-icon-right').removeClass('layui-icon-down'); } }) } function shows() { event.stopPropagation(); document.getElementById("contentLeft").style.animation = "showes 0.1s steps(8) forwards" // document.getElementById("contentRight").style.animation="showes 0.1s steps(8) forwards" // document.getElementById("contentRight").style.marginRight="0rem" if (document.body.clientWidth > 600) { document.getElementById("contentRight").style.marginLeft = "1.25rem" } if (document.body.clientWidth < 600) { document.getElementById("contentRight").style.marginLeft = "0rem" } document.getElementById("menu-mask").style.display = "none" document.getElementById("lists2").style.display = "block" document.getElementById("lists").style.display = "none" } function shows2() { event.stopPropagation(); document.getElementById("contentLeft").style.animation = "noshowes 0.1s steps(8) forwards" // document.getElementById("contentRight").style.animation="noshowes 0.1s steps(8) forwards" // document.getElementById("contentRight").style.marginRight="21.875rem" if (document.body.clientWidth > 600) { document.getElementById("contentRight").style.marginLeft = "20.875rem" } if (document.body.clientWidth < 600) { document.getElementById("contentRight").style.marginLeft = "0rem" } document.getElementById("menu-mask").style.display = "block" document.getElementById("lists").style.display = "block" document.getElementById("lists2").style.display = "none" } function menuBodyTitleClick() { $('.layui-menu-body-title').on('click', function (e) { e.stopPropagation() clickId = $(this).data('id'); $('.layui-menu-body-title').removeClass('on'); $(this).addClass('on'); document.title = $(this).children('span').text() + ' ' + title; $('#title').text($(this).children('span').text()); }) } function loadeInit() { menuBodyTitleClick(); bodyiconclick(); } loadeInit(); if (projectList.length > 1) { layui.use('dropdown', function () { var dropdown = layui.dropdown, data = [] projectList.map(item => { data.push({ title: item.name, id: item.path }) }) dropdown.render({ elem: '#demo1', data: data, id: 'demo1', click: function (obj) { location.href = '/' + productName + '/' + obj.id } }); dropdown.render({ elem: '#demo2', data: data, id: 'demo2', click: function (obj) { location.href = '/' + productName + '/' + obj.id } }); }); }