mirror of
https://gitee.com/sjqzhang/go-fastdfs.git
synced 2024-11-30 02:07:45 +08:00
modify authentication download
This commit is contained in:
parent
f028f077a2
commit
fc2e5299bb
2
api.html
2
api.html
@ -699,7 +699,7 @@ force:是否强行修复(0|1)
|
|||||||
<script>
|
<script>
|
||||||
var gitbook = gitbook || [];
|
var gitbook = gitbook || [];
|
||||||
gitbook.push(function() {
|
gitbook.push(function() {
|
||||||
gitbook.page.hasChanged({"page":{"title":"管理API","level":"1.8","depth":1,"next":{"title":"问题汇总","level":"1.9","depth":1,"path":"QA.md","ref":"QA.md","articles":[{"title":"常见问题","level":"1.9.1","depth":2,"path":"QA.md","ref":"QA.md","articles":[]},{"title":"维护问题","level":"1.9.2","depth":2,"path":"QA.md","ref":"QA.md","articles":[]}]},"previous":{"title":"Javascript","level":"1.7.2","depth":2,"anchor":"#js","path":"breakpoint.md","ref":"breakpoint.md#js","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"api.md","mtime":"2019-08-23T03:25:24.133Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-04T03:24:31.908Z"},"basePath":".","book":{"language":""}});
|
gitbook.page.hasChanged({"page":{"title":"管理API","level":"1.8","depth":1,"next":{"title":"问题汇总","level":"1.9","depth":1,"path":"QA.md","ref":"QA.md","articles":[{"title":"常见问题","level":"1.9.1","depth":2,"path":"QA.md","ref":"QA.md","articles":[]},{"title":"维护问题","level":"1.9.2","depth":2,"path":"QA.md","ref":"QA.md","articles":[]}]},"previous":{"title":"Javascript","level":"1.7.2","depth":2,"anchor":"#js","path":"breakpoint.md","ref":"breakpoint.md#js","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"api.md","mtime":"2019-08-23T03:25:24.133Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-28T06:39:40.626Z"},"basePath":".","book":{"language":""}});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
@ -626,17 +626,20 @@ app = Flask(__name__)
|
|||||||
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">index</span><span class="hljs-params">()</span>:</span>
|
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">index</span><span class="hljs-params">()</span>:</span>
|
||||||
auth_token = request.form.get(<span class="hljs-string">"auth_token"</span>) <span class="hljs-comment"># check auth_token here</span>
|
auth_token = request.form.get(<span class="hljs-string">"auth_token"</span>) <span class="hljs-comment"># check auth_token here</span>
|
||||||
print(auth_token)
|
print(auth_token)
|
||||||
|
<span class="hljs-keyword">if</span> auth_token==<span class="hljs-string">'abc'</span>:
|
||||||
<span class="hljs-keyword">return</span> <span class="hljs-string">'ok'</span> <span class="hljs-comment">#success</span>
|
<span class="hljs-keyword">return</span> <span class="hljs-string">'ok'</span> <span class="hljs-comment">#success</span>
|
||||||
|
<span class="hljs-keyword">else</span>:
|
||||||
|
<span class="hljs-keyword">return</span> <span class="hljs-string">'fail'</span>
|
||||||
<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">'__main__'</span>:
|
<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">'__main__'</span>:
|
||||||
app.run(debug=<span class="hljs-keyword">True</span>)
|
app.run(host=<span class="hljs-string">'0.0.0.0'</span>,debug=<span class="hljs-keyword">True</span>)
|
||||||
</code></pre>
|
</code></pre>
|
||||||
<h4 id="启动服务">启动服务</h4>
|
<h4 id="启动服务">启动服务</h4>
|
||||||
<pre><code>python app.py
|
<pre><code>python app.py
|
||||||
</code></pre><h4 id="上传示例">上传示例</h4>
|
</code></pre><h4 id="上传示例">上传示例</h4>
|
||||||
<pre><code class="lang-python"><span class="hljs-keyword">import</span> requests
|
<pre><code class="lang-python"><span class="hljs-keyword">import</span> requests
|
||||||
url = <span class="hljs-string">'http://10.1.5.9:8080/upload'</span>
|
url = <span class="hljs-string">'http://10.1.5.9:8080/group1/upload'</span>
|
||||||
files = {<span class="hljs-string">'file'</span>: open(<span class="hljs-string">'report.xls'</span>, <span class="hljs-string">'rb'</span>)}
|
files = {<span class="hljs-string">'file'</span>: open(<span class="hljs-string">'report.xls'</span>, <span class="hljs-string">'rb'</span>)}
|
||||||
options={<span class="hljs-string">'output'</span>:<span class="hljs-string">'json'</span>,<span class="hljs-string">'path'</span>:<span class="hljs-string">''</span>,<span class="hljs-string">'scene'</span>:<span class="hljs-string">''</span>,<span class="hljs-string">'auth_token'</span>:<span class="hljs-string">'2b33b60980b1a37454f008daf7e5d558'</span>} <span class="hljs-comment">#参阅浏览器上传的选项</span>
|
options={<span class="hljs-string">'output'</span>:<span class="hljs-string">'json'</span>,<span class="hljs-string">'path'</span>:<span class="hljs-string">''</span>,<span class="hljs-string">'scene'</span>:<span class="hljs-string">''</span>,<span class="hljs-string">'auth_token'</span>:<span class="hljs-string">'abc'</span>} <span class="hljs-comment">#参阅浏览器上传的选项</span>
|
||||||
r = requests.post(url,data=options, files=files)
|
r = requests.post(url,data=options, files=files)
|
||||||
print(r.text)
|
print(r.text)
|
||||||
</code></pre>
|
</code></pre>
|
||||||
@ -684,7 +687,7 @@ print(r.text)
|
|||||||
<script>
|
<script>
|
||||||
var gitbook = gitbook || [];
|
var gitbook = gitbook || [];
|
||||||
gitbook.push(function() {
|
gitbook.push(function() {
|
||||||
gitbook.page.hasChanged({"page":{"title":"认证","level":"1.5","depth":1,"next":{"title":"按文件指纹认证","level":"1.5.1","depth":2,"anchor":"#fingerprint","path":"authentication.md","ref":"authentication.md#fingerprint","articles":[]},"previous":{"title":"海量集群安装(推荐)","level":"1.4.5","depth":2,"anchor":"#big-cluster","path":"install.md","ref":"install.md#big-cluster","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"authentication.md","mtime":"2019-08-27T04:05:29.569Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-04T03:24:31.908Z"},"basePath":".","book":{"language":""}});
|
gitbook.page.hasChanged({"page":{"title":"认证","level":"1.5","depth":1,"next":{"title":"按文件指纹认证","level":"1.5.1","depth":2,"anchor":"#fingerprint","path":"authentication.md","ref":"authentication.md#fingerprint","articles":[]},"previous":{"title":"海量集群安装(推荐)","level":"1.4.5","depth":2,"anchor":"#big-cluster","path":"install.md","ref":"install.md#big-cluster","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"authentication.md","mtime":"2019-11-28T06:38:39.157Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-28T06:39:40.626Z"},"basePath":".","book":{"language":""}});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
12
book/QA.md
12
book/QA.md
@ -2,7 +2,7 @@
|
|||||||
```
|
```
|
||||||
一、如果是海量存储,不要开启文件token认证功能,减少性能开消。
|
一、如果是海量存储,不要开启文件token认证功能,减少性能开消。
|
||||||
二、尽量用标准上传,上传后业务保存path,在业务用的时候再并接上域名(方便迁移扩展等)。
|
二、尽量用标准上传,上传后业务保存path,在业务用的时候再并接上域名(方便迁移扩展等)。
|
||||||
三、如果使用断点续传,上传后一定要用文件id置换成path存储(如何置换看QA/API文档),为后面访问减少性能开消。
|
三、如果使用断点续传,上传后一定要用文件id置换成path存储(如何置换看QA/API文档秒传接口),为后面访问减少性能开消。
|
||||||
四、尽量使用物理服务器部署,因为主要压力或性能来自于IO
|
四、尽量使用物理服务器部署,因为主要压力或性能来自于IO
|
||||||
五、线上业务尽量使用nginx+gofastdfs部署架构(均衡算法使用ip_hash),以满足后面的功能扩展性(nginx+lua)。
|
五、线上业务尽量使用nginx+gofastdfs部署架构(均衡算法使用ip_hash),以满足后面的功能扩展性(nginx+lua)。
|
||||||
六、线上环境最好不要使用容器部署,容器适用于测试和功能验证。
|
六、线上环境最好不要使用容器部署,容器适用于测试和功能验证。
|
||||||
@ -26,6 +26,8 @@ https://github.com/perfree/go-fastdfs-web
|
|||||||
https://github.com/tus
|
https://github.com/tus
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 在微信讨论群中大家都问到go-fastdfs性能怎样?
|
## 在微信讨论群中大家都问到go-fastdfs性能怎样?
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -121,13 +123,13 @@ go-fastdfs的文件定位与其它分布式系统不同,它的寻址是直接
|
|||||||
四、认证通过后,可以上传或下载
|
四、认证通过后,可以上传或下载
|
||||||
```
|
```
|
||||||
|
|
||||||
## 认证无效是怎么回事?
|
## 下载无认证是怎么回事?
|
||||||
```
|
```
|
||||||
认证对集群内的机器无效,需要用集群以外的机器进行验证。
|
1.检查配置文件 auth_url 不为空,且必须有效
|
||||||
|
2.检查配置文件中的 enable_download_auth:true
|
||||||
|
3.在集群以外的机器进行下载(集群内不检查认证)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 还需要安装nginx么?
|
## 还需要安装nginx么?
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -58,9 +58,12 @@ app = Flask(__name__)
|
|||||||
def index():
|
def index():
|
||||||
auth_token = request.form.get("auth_token") # check auth_token here
|
auth_token = request.form.get("auth_token") # check auth_token here
|
||||||
print(auth_token)
|
print(auth_token)
|
||||||
|
if auth_token=='abc':
|
||||||
return 'ok' #success
|
return 'ok' #success
|
||||||
|
else:
|
||||||
|
return 'fail'
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(debug=True)
|
app.run(host='0.0.0.0',debug=True)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 启动服务
|
#### 启动服务
|
||||||
@ -71,9 +74,9 @@ python app.py
|
|||||||
#### 上传示例
|
#### 上传示例
|
||||||
```python
|
```python
|
||||||
import requests
|
import requests
|
||||||
url = 'http://10.1.5.9:8080/upload'
|
url = 'http://10.1.5.9:8080/group1/upload'
|
||||||
files = {'file': open('report.xls', 'rb')}
|
files = {'file': open('report.xls', 'rb')}
|
||||||
options={'output':'json','path':'','scene':'','auth_token':'2b33b60980b1a37454f008daf7e5d558'} #参阅浏览器上传的选项
|
options={'output':'json','path':'','scene':'','auth_token':'abc'} #参阅浏览器上传的选项
|
||||||
r = requests.post(url,data=options, files=files)
|
r = requests.post(url,data=options, files=files)
|
||||||
print(r.text)
|
print(r.text)
|
||||||
```
|
```
|
||||||
|
@ -692,7 +692,7 @@
|
|||||||
<script>
|
<script>
|
||||||
var gitbook = gitbook || [];
|
var gitbook = gitbook || [];
|
||||||
gitbook.push(function() {
|
gitbook.push(function() {
|
||||||
gitbook.page.hasChanged({"page":{"title":"断点续传\"SDK\"","level":"1.7","depth":1,"next":{"title":"GO","level":"1.7.1","depth":2,"anchor":"#go","path":"breakpoint.md","ref":"breakpoint.md#go","articles":[]},"previous":{"title":"Java流上传","level":"1.6.6.1","depth":3,"anchor":"#java-stream","path":"usage.md","ref":"usage.md#java-stream","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"breakpoint.md","mtime":"2019-08-29T03:43:35.178Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-04T03:24:31.908Z"},"basePath":".","book":{"language":""}});
|
gitbook.page.hasChanged({"page":{"title":"断点续传\"SDK\"","level":"1.7","depth":1,"next":{"title":"GO","level":"1.7.1","depth":2,"anchor":"#go","path":"breakpoint.md","ref":"breakpoint.md#go","articles":[]},"previous":{"title":"Java流上传","level":"1.6.6.1","depth":3,"anchor":"#java-stream","path":"usage.md","ref":"usage.md#java-stream","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"breakpoint.md","mtime":"2019-08-29T03:43:35.178Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-28T06:39:40.626Z"},"basePath":".","book":{"language":""}});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
@ -696,7 +696,7 @@
|
|||||||
<script>
|
<script>
|
||||||
var gitbook = gitbook || [];
|
var gitbook = gitbook || [];
|
||||||
gitbook.push(function() {
|
gitbook.push(function() {
|
||||||
gitbook.page.hasChanged({"page":{"title":"愿景","level":"1.1","depth":1,"next":{"title":"背景","level":"1.2","depth":1,"anchor":"#background","path":"README.md","ref":"README.md#background","articles":[{"title":"go-fastdfs是什么?","level":"1.2.1","depth":2,"anchor":"#what","path":"README.md","ref":"README.md#what","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2019-09-09T06:17:48.684Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-04T03:24:31.908Z"},"basePath":".","book":{"language":""}});
|
gitbook.page.hasChanged({"page":{"title":"愿景","level":"1.1","depth":1,"next":{"title":"背景","level":"1.2","depth":1,"anchor":"#background","path":"README.md","ref":"README.md#background","articles":[{"title":"go-fastdfs是什么?","level":"1.2.1","depth":2,"anchor":"#what","path":"README.md","ref":"README.md#what","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2019-09-09T06:17:48.684Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-28T06:39:40.626Z"},"basePath":".","book":{"language":""}});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
@ -753,7 +753,7 @@ http {
|
|||||||
<script>
|
<script>
|
||||||
var gitbook = gitbook || [];
|
var gitbook = gitbook || [];
|
||||||
gitbook.push(function() {
|
gitbook.push(function() {
|
||||||
gitbook.page.hasChanged({"page":{"title":"安装","level":"1.4","depth":1,"next":{"title":"极速体验","level":"1.4.1","depth":2,"anchor":"#quick","path":"install.md","ref":"install.md#quick","articles":[]},"previous":{"title":"go-fastdfs优点","level":"1.3.1","depth":2,"anchor":"#advantage","path":"README.md","ref":"README.md#advantage","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"install.md","mtime":"2019-10-18T09:41:45.852Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-04T03:24:31.908Z"},"basePath":".","book":{"language":""}});
|
gitbook.page.hasChanged({"page":{"title":"安装","level":"1.4","depth":1,"next":{"title":"极速体验","level":"1.4.1","depth":2,"anchor":"#quick","path":"install.md","ref":"install.md#quick","articles":[]},"previous":{"title":"go-fastdfs优点","level":"1.3.1","depth":2,"anchor":"#advantage","path":"README.md","ref":"README.md#advantage","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"install.md","mtime":"2019-10-18T09:41:45.852Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-28T06:39:40.626Z"},"basePath":".","book":{"language":""}});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
File diff suppressed because one or more lines are too long
@ -820,7 +820,7 @@ pom文件依赖</p>
|
|||||||
<script>
|
<script>
|
||||||
var gitbook = gitbook || [];
|
var gitbook = gitbook || [];
|
||||||
gitbook.push(function() {
|
gitbook.push(function() {
|
||||||
gitbook.page.hasChanged({"page":{"title":"语言\"SDK\"","level":"1.6","depth":1,"next":{"title":"统一说明(重要)","level":"1.6.1","depth":2,"anchor":"#description","path":"usage.md","ref":"usage.md#description","articles":[]},"previous":{"title":"用户自定义认证","level":"1.5.3","depth":2,"anchor":"#custom","path":"authentication.md","ref":"authentication.md#custom","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"usage.md","mtime":"2019-11-04T03:26:02.622Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-04T03:24:31.908Z"},"basePath":".","book":{"language":""}});
|
gitbook.page.hasChanged({"page":{"title":"语言\"SDK\"","level":"1.6","depth":1,"next":{"title":"统一说明(重要)","level":"1.6.1","depth":2,"anchor":"#description","path":"usage.md","ref":"usage.md#description","articles":[]},"previous":{"title":"用户自定义认证","level":"1.5.3","depth":2,"anchor":"#custom","path":"authentication.md","ref":"authentication.md#custom","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["livereload"],"pluginsConfig":{"livereload":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"usage.md","mtime":"2019-11-04T03:26:02.622Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-11-28T06:39:40.626Z"},"basePath":".","book":{"language":""}});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user