Forráskód Böngészése

Make code more standardized
让代码更规范化

star7th 5 éve
szülő
commit
00e4fedfbc
3 módosított fájl, 779 hozzáadás és 860 törlés
  1. 449 548
      web_src/src/components/page/edit/Index.vue
  2. 2 2
      web_src/static/lang/en.js
  3. 328 310
      web_src/static/lang/zh-CN.js

+ 449 - 548
web_src/src/components/page/edit/Index.vue

@@ -1,255 +1,155 @@
 <template>
   <div class="hello" @keydown.ctrl.83.prevent="save" @keydown.meta.83.prevent="save">
-    <Header> </Header>
+    <Header></Header>
 
     <el-container class="container-narrow">
-
       <el-row class="masthead">
-        <el-form :inline="true"   class="demo-form-inline" size="small">
+        <el-form :inline="true" class="demo-form-inline" size="small">
           <el-form-item :label="$t('title')+' : '">
-            <el-input  placeholder="" v-model="title"></el-input>
+            <el-input placeholder v-model="title"></el-input>
           </el-form-item>
 
-          <el-form-item :label="$t('catalog')+' : '" >
-            <el-select  :placeholder="$t('optional')" class="cat" v-model="cat_id">
-              <el-option v-if="belong_to_catalogs" v-for="cat in belong_to_catalogs " :key="cat.cat_name" :label="cat.cat_name" :value="cat.cat_id"></el-option>
+          <el-form-item :label="$t('catalog')+' : '">
+            <el-select
+              :placeholder="$t('optional')"
+              class="cat"
+              v-model="cat_id"
+              v-if="belong_to_catalogs"
+            >
+              <el-option
+                v-for="cat in belong_to_catalogs "
+                :key="cat.cat_name"
+                :label="cat.cat_name"
+                :value="cat.cat_id"
+              ></el-option>
             </el-select>
           </el-form-item>
 
-          <el-form-item label="" >
+          <el-form-item label>
             <el-button type="text" @click="ShowSortPage">{{$t('sort_pages')}}</el-button>
           </el-form-item>
-          <el-form-item label="" >
+          <el-form-item label>
             <el-button type="text" @click="ShowHistoryVersion">{{$t('history_version')}}</el-button>
           </el-form-item>
 
           <el-form-item class="pull-right">
-              <el-dropdown  @command="dropdown_callback" split-button type="primary" size="medium" title="Ctrl + S" trigger="click" @click="save">
-                <span id="save-page">{{$t('save')}}</span>
-                <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item :command="save_to_template">{{$t('save_to_templ')}}</el-dropdown-item>
-                  <!-- <el-dropdown-item>保存前添加注释</el-dropdown-item> -->
-                </el-dropdown-menu>
-              </el-dropdown>
-            <el-button type="" size="medium" @click="goback">{{$t('goback')}}</el-button>
+            <el-dropdown
+              @command="dropdown_callback"
+              split-button
+              type="primary"
+              size="medium"
+              title="Ctrl + S"
+              trigger="click"
+              @click="save"
+            >
+              <span id="save-page">{{$t('save')}}</span>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item :command="save_to_template">{{$t('save_to_templ')}}</el-dropdown-item>
+                <!-- <el-dropdown-item>保存前添加注释</el-dropdown-item> -->
+              </el-dropdown-menu>
+            </el-dropdown>
+            <el-button type size="medium" @click="goback">{{$t('goback')}}</el-button>
           </el-form-item>
         </el-form>
 
         <el-row class="fun-btn-group">
-          <el-button type="" size="medium" @click="insert_api_template">{{$t('insert_apidoc_template')}}</el-button>
-          <el-button type="" size="medium" @click="insert_database_template">{{$t('insert_database_doc_template')}}</el-button>
-          <el-button type="" size="medium" @click.native="ShowTemplateList">{{$t('more_templ')}}</el-button>
-          
-            <el-dropdown split-button type="" style="margin-left:100px;" size="medium" trigger="hover" >
-              {{$t('format_tools')}}
-              <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item @click.native="ShowJsonToTable">{{$t('json_to_table')}}</el-dropdown-item>
-                <el-dropdown-item @click.native="ShowJsonBeautify">{{$t('beautify_json')}}</el-dropdown-item>
-                <el-dropdown-item @click.native="ShowPasteTable">{{$t('paste_insert_table')}}</el-dropdown-item>
-              </el-dropdown-menu>
-            </el-dropdown>
-          <el-button type="" size="medium" @click="ShowRunApi">{{$t('http_test_api')}}</el-button>
+          <el-button
+            type
+            size="medium"
+            @click="insert_api_template"
+          >{{$t('insert_apidoc_template')}}</el-button>
+          <el-button
+            type
+            size="medium"
+            @click="insert_database_template"
+          >{{$t('insert_database_doc_template')}}</el-button>
+          <el-button type size="medium" @click.native="ShowTemplateList">{{$t('more_templ')}}</el-button>
+
+          <el-dropdown split-button type style="margin-left:100px;" size="medium" trigger="hover">
+            {{$t('format_tools')}}
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item @click.native="ShowJsonToTable">{{$t('json_to_table')}}</el-dropdown-item>
+              <el-dropdown-item @click.native="ShowJsonBeautify">{{$t('beautify_json')}}</el-dropdown-item>
+              <el-dropdown-item @click.native="ShowPasteTable">{{$t('paste_insert_table')}}</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+          <el-button type size="medium" @click="ShowRunApi">{{$t('http_test_api')}}</el-button>
 
           <el-badge :value="attachment_count" class="item">
-            <el-button type="" size="medium" @click="ShowAttachment">{{$t('attachment')}}</el-button>
+            <el-button type size="medium" @click="ShowAttachment">{{$t('attachment')}}</el-button>
           </el-badge>
+        </el-row>
 
-          </el-row>
-
-      <Editormd v-bind:content="content" v-if="content" ref="Editormd"  type="editor" ></Editormd>
-
-        
+        <Editormd v-bind:content="content" v-if="content" ref="Editormd" type="editor"></Editormd>
       </el-row>
 
-        <!-- 更多模板 -->
-        <TemplateList :callback="insertValue" ref="TemplateList"></TemplateList>
-
-        <!-- 历史版本 -->
-        <HistoryVersion :callback="insertValue" :is_show_recover_btn="true"  ref="HistoryVersion"></HistoryVersion>
-
-        <!-- Json转表格 组件 -->
-        <JsonToTable   :callback="insertValue" ref="JsonToTable" ></JsonToTable>
-
-        <!-- Json格式化 -->
-        <JsonBeautify :callback="insertValue" ref="JsonBeautify"></JsonBeautify>
-
-
-        <!-- 附件列表 -->
-        <AttachmentList :callback="insertValue" :item_id="item_id" :manage="true" :page_id="page_id" ref="AttachmentList"></AttachmentList>
-
-        <!-- 粘贴插入表格 -->
-        <PasteTable :callback="insertValue" :item_id="item_id" :manage="true" :page_id="page_id" ref="PasteTable"></PasteTable>
-        
-        <!-- 页面排序 -->
-        <SortPage :callback="insertValue" :belong_to_catalogs="belong_to_catalogs" :item_id="item_id" :page_id="page_id" :cat_id="cat_id" ref="SortPage"></SortPage>
-        
-      </el-container>
-    <Footer> </Footer>
-    <div class=""></div>
-<!-- 模板存放的地方 -->
-<div id="api-doc-templ"  ref="api_doc_templ" style="display:none">
-    
-**简要描述:** 
-
-- 用户注册接口
-
-**请求URL:** 
-- ` http://xx.com/api/user/register `
-  
-**请求方式:**
-- POST 
-
-**参数:** 
-
-|参数名|必选|类型|说明|
-|:----    |:---|:----- |-----   |
-|username |是  |string |用户名   |
-|password |是  |string | 密码    |
-|name     |否  |string | 昵称    |
-
- **返回示例**
-
-``` 
-  {
-    "error_code": 0,
-    "data": {
-      "uid": "1",
-      "username": "12154545",
-      "name": "吴系挂",
-      "groupid": 2 ,
-      "reg_time": "1436864169",
-      "last_login_time": "0",
-    }
-  }
-```
-
- **返回参数说明** 
-
-|参数名|类型|说明|
-|:-----  |:-----|-----                           |
-|groupid |int   |用户组id,1:超级管理员;2:普通用户  |
-
- **备注** 
-
-- 更多返回错误代码请看首页的错误代码描述
-
-
-</div>
-<div id="database-doc-templ" ref="database_doc_templ" style="display:none">
-    
--  用户表,储存用户信息
-
-|字段|类型|空|默认|注释|
-|:----    |:-------    |:--- |-- -|------      |
-|uid    |int(10)     |否 |  |             |
-|username |varchar(20) |否 |    |   用户名  |
-|password |varchar(50) |否   |    |   密码    |
-|name     |varchar(15) |是   |    |    昵称     |
-|reg_time |int(11)     |否   | 0  |   注册时间  |
-
-- 备注:无
-
-
-</div>
-
-<div id="api-doc-templ-en"  ref="api_doc_templ_en" style="display:none">
-    
-**Brief description:** 
-
-- User Registration Interface
-
-
-**Request URL:** 
-- ` http://xx.com/api/user/register `
-  
-**Method:**
-- POST 
-
-**Parameter:** 
-
-|Parameter name|Required|Type|Explain|
-|:----    |:---|:----- |-----   |
-|username |Yes  |string |Your username   |
-|password |Yes  |string | Your password    |
-|name     |No  |string | Your name    |
-
- **Return example**
-
-``` 
-  {
-    "error_code": 0,
-    "data": {
-      "uid": "1",
-      "username": "12154545",
-      "name": "harry",
-      "groupid": 2 ,
-      "reg_time": "1436864169",
-      "last_login_time": "0",
-    }
-  }
-```
-
- **Return parameter description** 
-
-|Parameter name|Type|Explain|
-|:-----  |:-----|-----                           |
-|groupid |int   |  .|
-
- **Remark** 
-
-- For more error code returns, see the error code description on the home page
-
-
-
-</div>
-<div id="database-doc-templ-en" ref="database_doc_templ_en" style="display:none">
-    
--  User table , to store user information
-
-
-
-|Field|Type|Empty|Default|Explain|
-|:----    |:-------    |:--- |-- -|------      |
-|uid    |int(10)     |No |  |             |
-|username |varchar(20) |No |    |     |
-|password |varchar(50) |No   |    |       |
-|name     |varchar(15) |No   |    |         |
-|reg_time |int(11)     |No   | 0  |    . |
-
-- Remark : no
-
-
-</div>
-
+      <!-- 更多模板 -->
+      <TemplateList :callback="insertValue" ref="TemplateList"></TemplateList>
+
+      <!-- 历史版本 -->
+      <HistoryVersion :callback="insertValue" :is_show_recover_btn="true" ref="HistoryVersion"></HistoryVersion>
+
+      <!-- Json转表格 组件 -->
+      <JsonToTable :callback="insertValue" ref="JsonToTable"></JsonToTable>
+
+      <!-- Json格式化 -->
+      <JsonBeautify :callback="insertValue" ref="JsonBeautify"></JsonBeautify>
+
+      <!-- 附件列表 -->
+      <AttachmentList
+        :callback="insertValue"
+        :item_id="item_id"
+        :manage="true"
+        :page_id="page_id"
+        ref="AttachmentList"
+      ></AttachmentList>
+
+      <!-- 粘贴插入表格 -->
+      <PasteTable
+        :callback="insertValue"
+        :item_id="item_id"
+        :manage="true"
+        :page_id="page_id"
+        ref="PasteTable"
+      ></PasteTable>
+
+      <!-- 页面排序 -->
+      <SortPage
+        :callback="insertValue"
+        :belong_to_catalogs="belong_to_catalogs"
+        :item_id="item_id"
+        :page_id="page_id"
+        :cat_id="cat_id"
+        ref="SortPage"
+      ></SortPage>
+    </el-container>
+    <Footer></Footer>
+    <div class></div>
   </div>
 </template>
 
 <style scoped>
+.container-narrow {
+  margin: 0 auto;
+  max-width: 90%;
+}
 
+.masthead {
+  width: 100%;
+  margin-top: 5px;
+}
 
-  .container-narrow{
-    margin: 0 auto;
-    max-width: 90%;
-  }
-
-  .masthead{
-    width: 100%;
-    margin-top: 5px;
-  }
-
-  .cat{
-    width: 200px;
-  }
-
-  .num{
-    width: 60px;
-
-  }
-  .fun-btn-group{
-    margin-top: 15px;
-    margin-bottom: 15px;
-  }
+.cat {
+  width: 200px;
+}
 
+.num {
+  width: 60px;
+}
+.fun-btn-group {
+  margin-top: 15px;
+  margin-bottom: 15px;
+}
 </style>
 
 <script>
@@ -261,62 +161,60 @@ import HistoryVersion from '@/components/page/edit/HistoryVersion'
 import AttachmentList from '@/components/page/edit/AttachmentList'
 import PasteTable from '@/components/page/edit/PasteTable'
 import SortPage from '@/components/page/edit/SortPage'
+import { Base64 } from 'js-base64'
 
 export default {
-  data () {
+  data() {
     return {
       currentDate: new Date(),
-      itemList:{},
-      content:"",
-      title:"",
-      item_id:0,
-      cat_id:'',
-      s_number:'',
-      page_id:'',
-      copy_page_id:'',
-      attachment_count:'',
-      catalogs:[]
-    };
+      itemList: {},
+      content: '',
+      title: '',
+      item_id: 0,
+      cat_id: '',
+      s_number: '',
+      page_id: '',
+      copy_page_id: '',
+      attachment_count: '',
+      catalogs: []
+    }
   },
   computed: {
-
     //新建/编辑目录时供用户选择的上级目录列表
-    belong_to_catalogs:function(){
-        if (!this.catalogs || this.catalogs.length <=0 ) {
-          return [];
-        };
-        
-        var Info = this.catalogs.slice(0);
-        var cat_array = [] ;
-
-        //这个函数将递归
-        var rename = function(catalog , p_cat_name){
-          if (catalog.length > 0 ) {
-            for (var j = 0; j < catalog.length; j++) {
-
-              var cat_name = p_cat_name+' / ' + catalog[j]['cat_name'] ;
-              cat_array.push( {
-                "cat_id":catalog[j]['cat_id'] ,
-                "cat_name": cat_name 
-              });
-              if (catalog[j].sub && catalog[j].sub.length > 0) {
-                rename(catalog[j].sub , cat_name);
-              };
-            };
-          };
-        }
+    belong_to_catalogs: function() {
+      if (!this.catalogs || this.catalogs.length <= 0) {
+        return []
+      }
 
-        for (var i = 0; i < Info.length; i++) {
-          cat_array.push(Info[i]);
-          rename(Info[i]['sub'] , Info[i].cat_name);
-        };
-        var no_cat = {"cat_id":0 ,"cat_name":this.$t("none")} ;
-        cat_array.push(no_cat);
-        return cat_array;
+      var Info = this.catalogs.slice(0)
+      var cat_array = []
+
+      //这个函数将递归
+      var rename = function(catalog, p_cat_name) {
+        if (catalog.length > 0) {
+          for (var j = 0; j < catalog.length; j++) {
+            var cat_name = p_cat_name + ' / ' + catalog[j]['cat_name']
+            cat_array.push({
+              cat_id: catalog[j]['cat_id'],
+              cat_name: cat_name
+            })
+            if (catalog[j].sub && catalog[j].sub.length > 0) {
+              rename(catalog[j].sub, cat_name)
+            }
+          }
+        }
+      }
 
+      for (var i = 0; i < Info.length; i++) {
+        cat_array.push(Info[i])
+        rename(Info[i]['sub'], Info[i].cat_name)
+      }
+      var no_cat = { cat_id: 0, cat_name: this.$t('none') }
+      cat_array.push(no_cat)
+      return cat_array
     }
   },
-  components:{
+  components: {
     Editormd,
     JsonToTable,
     JsonBeautify,
@@ -326,388 +224,391 @@ export default {
     PasteTable,
     SortPage
   },
-  methods:{
+  methods: {
     //获取页面内容
-    get_page_content(page_id){
-        if (!page_id) {
-          var page_id = this.page_id ;
-        };
-        var that = this ;
-        var url = DocConfig.server+'/api/page/info';
-        var params = new URLSearchParams();
-        params.append('page_id', page_id );
-        that.axios.post(url, params)
-          .then(function (response) {
-            if (response.data.error_code === 0 ) {
-              //that.$message.success("加载成功");
-              that.content = response.data.data.page_content ;
-              setTimeout(function(){
-                that.insertValue(that.content ,1) ;
-                document.body.scrollTop = document.documentElement.scrollTop = 0;//回到顶部
-              },500);
-              setTimeout(function(){
-                //如果长度大于3000,则关闭预览
-                if (that.content.length > 3000) {
-                  that.editor_unwatch();
-                }else{
-                  that.editor_watch();
-                }
-              },1000);
-              that.title = response.data.data.page_title ;
-              that.item_id = response.data.data.item_id ;
-              that.s_number = response.data.data.s_number ;
-              that.attachment_count = response.data.data.attachment_count > 0 ? "..." :'' ;
-            }else{
-              that.$alert(response.data.error_message);
-            }
-            
-          })
-          .catch(function (error) {
-            console.log(error);
-          });
+    get_page_content(page_id) {
+      if (!page_id) {
+        var page_id = this.page_id
+      }
+      var that = this
+      var url = DocConfig.server + '/api/page/info'
+      var params = new URLSearchParams()
+      params.append('page_id', page_id)
+      that.axios
+        .post(url, params)
+        .then(function(response) {
+          if (response.data.error_code === 0) {
+            //that.$message.success("加载成功");
+            that.content = response.data.data.page_content
+            setTimeout(function() {
+              that.insertValue(that.content, 1)
+              document.body.scrollTop = document.documentElement.scrollTop = 0 //回到顶部
+            }, 500)
+            setTimeout(function() {
+              //如果长度大于3000,则关闭预览
+              if (that.content.length > 3000) {
+                that.editor_unwatch()
+              } else {
+                that.editor_watch()
+              }
+            }, 1000)
+            that.title = response.data.data.page_title
+            that.item_id = response.data.data.item_id
+            that.s_number = response.data.data.s_number
+            that.attachment_count =
+              response.data.data.attachment_count > 0 ? '...' : ''
+          } else {
+            that.$alert(response.data.error_message)
+          }
+        })
+        .catch(function(error) {
+          console.log(error)
+        })
     },
 
     //获取所有目录
-    get_catalog(item_id){
-      var that = this ;
-      var url = DocConfig.server+'/api/catalog/catListGroup';
-      var params = new URLSearchParams();
-      params.append('item_id',  item_id);
-      that.axios.post(url, params)
-        .then(function (response) {
-          if (response.data.error_code === 0 ) {
-            var Info = response.data.data ;
-
-            that.catalogs =  Info;
-            that.get_default_cat();
-          }else{
-            that.$alert(response.data.error_message);
+    get_catalog(item_id) {
+      var that = this
+      var url = DocConfig.server + '/api/catalog/catListGroup'
+      var params = new URLSearchParams()
+      params.append('item_id', item_id)
+      that.axios
+        .post(url, params)
+        .then(function(response) {
+          if (response.data.error_code === 0) {
+            var Info = response.data.data
+
+            that.catalogs = Info
+            that.get_default_cat()
+          } else {
+            that.$alert(response.data.error_message)
           }
-          
         })
-        .catch(function (error) {
-          console.log(error);
-        });
+        .catch(function(error) {
+          console.log(error)
+        })
     },
     //获取默认该选中的目录
-    get_default_cat(){
-      var that = this ;
-      var url = DocConfig.server+'/api/catalog/getDefaultCat';
-      var params = new URLSearchParams();
-      params.append('page_id',  this.page_id);
-      params.append('item_id',  that.$route.params.item_id);
-      params.append('copy_page_id',  this.copy_page_id);
-
-      that.axios.post(url, params)
-        .then(function (response) {
-          if (response.data.error_code === 0 ) {
-            //that.$message.success("加载成功");
-            var json = response.data.data ;
-            that.cat_id = json.default_cat_id ;
-
-          }else{
-            that.$alert(response.data.error_message);
-          }
-          
-        });
+    get_default_cat() {
+      var that = this
+      var url = DocConfig.server + '/api/catalog/getDefaultCat'
+      var params = new URLSearchParams()
+      params.append('page_id', this.page_id)
+      params.append('item_id', that.$route.params.item_id)
+      params.append('copy_page_id', this.copy_page_id)
+
+      that.axios.post(url, params).then(function(response) {
+        if (response.data.error_code === 0) {
+          //that.$message.success("加载成功");
+          var json = response.data.data
+          that.cat_id = json.default_cat_id
+        } else {
+          that.$alert(response.data.error_message)
+        }
+      })
     },
     //插入数据到编辑器中。插入到光标处。如果参数is_cover为真,则清空后再插入(即覆盖)。
-    insertValue(value,is_cover){
+    insertValue(value, is_cover) {
       if (value) {
-        let childRef = this.$refs.Editormd ;//获取子组件
+        let childRef = this.$refs.Editormd //获取子组件
         if (is_cover) {
           // 清空
-          childRef.clear();
-        };
-        childRef.insertValue(value) ; //调用子组件的方法
-      };
-
+          childRef.clear()
+        }
+        childRef.insertValue(value) //调用子组件的方法
+      }
     },
 
     //插入api模板
-    insert_api_template(){
+    insert_api_template() {
       if (DocConfig.lang == 'zh-cn') {
-        var val = this.$refs.api_doc_templ.innerHTML ;
-      }else{
-        var val = this.$refs.api_doc_templ_en.innerHTML ;
+        var val = Base64.decode(
+          'CiAgICAKKirnroDopoHmj4/ov7DvvJoqKiAKCi0g55So5oi35rOo5YaM5o6l5Y+jCgoqKuivt+axglVSTO+8mioqIAotIGAgaHR0cDovL3h4LmNvbS9hcGkvdXNlci9yZWdpc3RlciBgCiAgCioq6K+35rGC5pa55byP77yaKioKLSBQT1NUIAoKKirlj4LmlbDvvJoqKiAKCnzlj4LmlbDlkI185b+F6YCJfOexu+Wei3zor7TmmI58Cnw6LS0tLSAgICB8Oi0tLXw6LS0tLS0gfC0tLS0tICAgfAp8dXNlcm5hbWUgfOaYryAgfHN0cmluZyB855So5oi35ZCNICAgfAp8cGFzc3dvcmQgfOaYryAgfHN0cmluZyB8IOWvhueggSAgICB8CnxuYW1lICAgICB85ZCmICB8c3RyaW5nIHwg5pi156ewICAgIHwKCiAqKui/lOWbnuekuuS+iyoqCgpgYGAgCiAgewogICAgImVycm9yX2NvZGUiOiAwLAogICAgImRhdGEiOiB7CiAgICAgICJ1aWQiOiAiMSIsCiAgICAgICJ1c2VybmFtZSI6ICIxMjE1NDU0NSIsCiAgICAgICJuYW1lIjogIuWQtOezu+aMgiIsCiAgICAgICJncm91cGlkIjogMiAsCiAgICAgICJyZWdfdGltZSI6ICIxNDM2ODY0MTY5IiwKICAgICAgImxhc3RfbG9naW5fdGltZSI6ICIwIiwKICAgIH0KICB9CmBgYAoKICoq6L+U5Zue5Y+C5pWw6K+05piOKiogCgp85Y+C5pWw5ZCNfOexu+Wei3zor7TmmI58Cnw6LS0tLS0gIHw6LS0tLS18LS0tLS0gICAgICAgICAgICAgICAgICAgICAgICAgICB8Cnxncm91cGlkIHxpbnQgICB855So5oi357uEaWTvvIwx77ya6LaF57qn566h55CG5ZGY77ybMu+8muaZrumAmueUqOaItyAgfAoKICoq5aSH5rOoKiogCgotIOabtOWkmui/lOWbnumUmeivr+S7o+eggeivt+eci+mmlumhteeahOmUmeivr+S7o+eggeaPj+i/sAoKCg=='
+        )
+      } else {
+        var val = Base64.decode(
+          'ICAgIAoqKkJyaWVmIGRlc2NyaXB0aW9uOioqIAoKLSBVc2VyIFJlZ2lzdHJhdGlvbiBJbnRlcmZhY2UKCgoqKlJlcXVlc3QgVVJM77yaKiogCi0gYCBodHRwOi8veHguY29tL2FwaS91c2VyL3JlZ2lzdGVyIGAKICAKKipNZXRob2Q6KioKLSBQT1NUIAoKKipQYXJhbWV0ZXI6KiogCgp8UGFyYW1ldGVyIG5hbWV8UmVxdWlyZWR8VHlwZXxFeHBsYWlufAp8Oi0tLS0gICAgfDotLS18Oi0tLS0tIHwtLS0tLSAgIHwKfHVzZXJuYW1lIHxZZXMgIHxzdHJpbmcgfFlvdXIgdXNlcm5hbWUgICB8CnxwYXNzd29yZCB8WWVzICB8c3RyaW5nIHwgWW91ciBwYXNzd29yZCAgICB8CnxuYW1lICAgICB8Tm8gIHxzdHJpbmcgfCBZb3VyIG5hbWUgICAgfAoKICoqUmV0dXJuIGV4YW1wbGUqKgoKYGBgIAogIHsKICAgICJlcnJvcl9jb2RlIjogMCwKICAgICJkYXRhIjogewogICAgICAidWlkIjogIjEiLAogICAgICAidXNlcm5hbWUiOiAiMTIxNTQ1NDUiLAogICAgICAibmFtZSI6ICJoYXJyeSIsCiAgICAgICJncm91cGlkIjogMiAsCiAgICAgICJyZWdfdGltZSI6ICIxNDM2ODY0MTY5IiwKICAgICAgImxhc3RfbG9naW5fdGltZSI6ICIwIiwKICAgIH0KICB9CmBgYAoKICoqUmV0dXJuIHBhcmFtZXRlciBkZXNjcmlwdGlvbioqIAoKfFBhcmFtZXRlciBuYW1lfFR5cGV8RXhwbGFpbnwKfDotLS0tLSAgfDotLS0tLXwtLS0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfGdyb3VwaWQgfGludCAgIHwgIC58CgogKipSZW1hcmsqKiAKCi0gRm9yIG1vcmUgZXJyb3IgY29kZSByZXR1cm5zLCBzZWUgdGhlIGVycm9yIGNvZGUgZGVzY3JpcHRpb24gb24gdGhlIGhvbWUgcGFnZQoKCg=='
+        )
       }
-      this.insertValue(val ) ;
+      this.insertValue(val)
     },
 
     //插入数据字典模板
-    insert_database_template(){
+    insert_database_template() {
       if (DocConfig.lang == 'zh-cn') {
-        var val = this.$refs.database_doc_templ.innerHTML ;
-      }else{
-        var val = this.$refs.database_doc_templ_en.innerHTML ;
+        var val = Base64.decode(
+          'CiAgICAKLSAg55So5oi36KGo77yM5YKo5a2Y55So5oi35L+h5oGvCgp85a2X5q61fOexu+Wei3znqbp86buY6K6kfOazqOmHinwKfDotLS0tICAgIHw6LS0tLS0tLSAgICB8Oi0tLSB8LS0gLXwtLS0tLS0gICAgICB8Cnx1aWQgICAgfGludCgxMCkgICAgIHzlkKYgfCAgfCAgICAgICAgICAgICB8Cnx1c2VybmFtZSB8dmFyY2hhcigyMCkgfOWQpiB8ICAgIHwgICDnlKjmiLflkI0gIHwKfHBhc3N3b3JkIHx2YXJjaGFyKDUwKSB85ZCmICAgfCAgICB8ICAg5a+G56CBICAgIHwKfG5hbWUgICAgIHx2YXJjaGFyKDE1KSB85pivICAgfCAgICB8ICAgIOaYteensCAgICAgfAp8cmVnX3RpbWUgfGludCgxMSkgICAgIHzlkKYgICB8IDAgIHwgICDms6jlhozml7bpl7QgIHwKCi0g5aSH5rOo77ya5pegCgoK'
+        )
+      } else {
+        var val = Base64.decode(
+          'ICAgIAotICBVc2VyIHRhYmxlICwgdG8gc3RvcmUgdXNlciBpbmZvcm1hdGlvbgoKCgp8RmllbGR8VHlwZXxFbXB0eXxEZWZhdWx0fEV4cGxhaW58Cnw6LS0tLSAgICB8Oi0tLS0tLS0gICAgfDotLS0gfC0tIC18LS0tLS0tICAgICAgfAp8dWlkICAgIHxpbnQoMTApICAgICB8Tm8gfCAgfCAgICAgICAgICAgICB8Cnx1c2VybmFtZSB8dmFyY2hhcigyMCkgfE5vIHwgICAgfCAgICAgfAp8cGFzc3dvcmQgfHZhcmNoYXIoNTApIHxObyAgIHwgICAgfCAgICAgICB8CnxuYW1lICAgICB8dmFyY2hhcigxNSkgfE5vICAgfCAgICB8ICAgICAgICAgfAp8cmVnX3RpbWUgfGludCgxMSkgICAgIHxObyAgIHwgMCAgfCAgICAuIHwKCi0gUmVtYXJrIDogbm8KCg=='
+        )
       }
-      this.insertValue(val) ;
+      this.insertValue(val)
     },
     //关闭预览
-    editor_unwatch(){
-      let childRef = this.$refs.Editormd ;//获取子组件
-      childRef.editor_unwatch();
-      if ( sessionStorage.getItem("page_id_unwatch_"+this.page_id) ) {
-
-      }else{
-        this.$alert(this.$t("long_page_tips"));
-         sessionStorage.setItem("page_id_unwatch_"+this.page_id,1)
+    editor_unwatch() {
+      let childRef = this.$refs.Editormd //获取子组件
+      childRef.editor_unwatch()
+      if (sessionStorage.getItem('page_id_unwatch_' + this.page_id)) {
+      } else {
+        this.$alert(this.$t('long_page_tips'))
+        sessionStorage.setItem('page_id_unwatch_' + this.page_id, 1)
       }
-
     },
     //
-    editor_watch(){
-      let childRef = this.$refs.Editormd ;//获取子组件
-      childRef.editor_watch();
+    editor_watch() {
+      let childRef = this.$refs.Editormd //获取子组件
+      childRef.editor_watch()
     },
     //json转参数表格
-    ShowJsonToTable(){
-        let childRef = this.$refs.JsonToTable ;//获取子组件
-        childRef.dialogFormVisible = true ; 
+    ShowJsonToTable() {
+      let childRef = this.$refs.JsonToTable //获取子组件
+      childRef.dialogFormVisible = true
     },
     //json格式化
-    ShowJsonBeautify(){
-        let childRef = this.$refs.JsonBeautify ;//获取子组件
-        childRef.dialogFormVisible = true ; 
+    ShowJsonBeautify() {
+      let childRef = this.$refs.JsonBeautify //获取子组件
+      childRef.dialogFormVisible = true
     },
 
-    ShowRunApi(){
-      window.open('http://runapi.showdoc.cc/');
+    ShowRunApi() {
+      window.open('http://runapi.showdoc.cc/')
     },
     //更多模板、模板列表
-    ShowTemplateList(){
-        let childRef = this.$refs.TemplateList ;//获取子组件
-        childRef.show() ; 
+    ShowTemplateList() {
+      let childRef = this.$refs.TemplateList //获取子组件
+      childRef.show()
     },
     //粘贴插入表格
-    ShowPasteTable(){
-        let childRef = this.$refs.PasteTable ;//获取子组件
-        childRef.dialogFormVisible = true ;
+    ShowPasteTable() {
+      let childRef = this.$refs.PasteTable //获取子组件
+      childRef.dialogFormVisible = true
     },
 
     //展示历史版本
-    ShowHistoryVersion(){
-        let childRef = this.$refs.HistoryVersion ;//获取子组件
-        childRef.show() ; 
+    ShowHistoryVersion() {
+      let childRef = this.$refs.HistoryVersion //获取子组件
+      childRef.show()
     },
     //展示页面排序
-    ShowSortPage(){
-        this.save(()=>{
-          let childRef = this.$refs.SortPage ;//获取子组件
-          childRef.show() ; 
-        });
+    ShowSortPage() {
+      this.save(() => {
+        let childRef = this.$refs.SortPage //获取子组件
+        childRef.show()
+      })
     },
-    save(callback){
-      var that = this ;
-      var loading = that.$loading();
-      let childRef = this.$refs.Editormd ;
-      var content = childRef.getMarkdown() ;
-      var cat_id = this.cat_id ;
-      var item_id = that.$route.params.item_id ;
-      var page_id = that.$route.params.page_id ;
-      var url = DocConfig.server+'/api/page/save';
-      var params = new URLSearchParams();
-      params.append('page_id',  page_id);
-      params.append('item_id',  item_id);
-      params.append('page_title',  that.title);
-      params.append('page_content',  encodeURIComponent(content));
-      params.append('is_urlencode',  1);
-      params.append('cat_id',  cat_id);
-      that.axios.post(url, params)
-        .then(function (response) {
-          loading.close();
-          if (response.data.error_code === 0 ) {
-
-              if (typeof callback == 'function') {
-                callback();
-              }else{
-                that.$message({
-                  showClose: true,
-                  message: that.$t("save_success"),
-                  type: 'success'
-                });
-              }
-
-
+    save(callback) {
+      var that = this
+      var loading = that.$loading()
+      let childRef = this.$refs.Editormd
+      var content = childRef.getMarkdown()
+      var cat_id = this.cat_id
+      var item_id = that.$route.params.item_id
+      var page_id = that.$route.params.page_id
+      var url = DocConfig.server + '/api/page/save'
+      var params = new URLSearchParams()
+      params.append('page_id', page_id)
+      params.append('item_id', item_id)
+      params.append('page_title', that.title)
+      params.append('page_content', encodeURIComponent(content))
+      params.append('is_urlencode', 1)
+      params.append('cat_id', cat_id)
+      that.axios.post(url, params).then(function(response) {
+        loading.close()
+        if (response.data.error_code === 0) {
+          if (typeof callback == 'function') {
+            callback()
+          } else {
+            that.$message({
+              showClose: true,
+              message: that.$t('save_success'),
+              type: 'success'
+            })
+          }
 
-            //删除草稿
-            that.deleteDraft();
+          //删除草稿
+          that.deleteDraft()
 
-            if (page_id <= 0 ) {
-              that.$router.push({path:'/page/edit/'+item_id+'/'+response.data.data.page_id}) ;
-              that.page_id = response.data.data.page_id ;
-            };
-          }else{
-            that.$alert(response.data.error_message);
+          if (page_id <= 0) {
+            that.$router.push({
+              path: '/page/edit/' + item_id + '/' + response.data.data.page_id
+            })
+            that.page_id = response.data.data.page_id
           }
-          
-        });
-        //设置一个最长关闭时间
-        setTimeout(() => {
-          loading.close();
-        }, 20000);
+        } else {
+          that.$alert(response.data.error_message)
+        }
+      })
+      //设置一个最长关闭时间
+      setTimeout(() => {
+        loading.close()
+      }, 20000)
     },
-    goback(){
-      var url = '/'+this.$route.params.item_id;
-      this.$router.push({path:url,query:{page_id:this.$route.params.page_id}}) ; 
+    goback() {
+      var url = '/' + this.$route.params.item_id
+      this.$router.push({
+        path: url,
+        query: { page_id: this.$route.params.page_id }
+      })
     },
-    dropdown_callback(data){
+    dropdown_callback(data) {
       if (data) {
-        data();
-      };
+        data()
+      }
     },
     //另存为模板
-    save_to_template(){
-      var that = this ;
-      let childRef = this.$refs.Editormd ;
-      var content = childRef.getMarkdown() ;
-       this.$prompt(that.$t("save_templ_title"), ' ', {
-       }).then(function(data){
-          var url = DocConfig.server+'/api/template/save';
-          var params = new URLSearchParams();
-          params.append('template_title',  data.value);
-          params.append('template_content',  content);
-          that.axios.post(url, params)
-            .then(function (response) {
-              if (response.data.error_code === 0 ) {
-                  that.$alert(that.$t("save_templ_text"));
-              }else{
-                that.$alert(response.data.error_message);
-              }
-              
-            });
-       });
+    save_to_template() {
+      var that = this
+      let childRef = this.$refs.Editormd
+      var content = childRef.getMarkdown()
+      this.$prompt(that.$t('save_templ_title'), ' ', {}).then(function(data) {
+        var url = DocConfig.server + '/api/template/save'
+        var params = new URLSearchParams()
+        params.append('template_title', data.value)
+        params.append('template_content', content)
+        that.axios.post(url, params).then(function(response) {
+          if (response.data.error_code === 0) {
+            that.$alert(that.$t('save_templ_text'))
+          } else {
+            that.$alert(response.data.error_message)
+          }
+        })
+      })
     },
     //附件
-    ShowAttachment(){
-        let childRef = this.$refs.AttachmentList ;//获取子组件
-        childRef.show() ; 
+    ShowAttachment() {
+      let childRef = this.$refs.AttachmentList //获取子组件
+      childRef.show()
     },
     /** 粘贴上传图片 **/
-    upload_paste_img(e){
-      var that = this;
-      var url = DocConfig.server+'/api/page/uploadImg';
-      var clipboard = e.clipboardData;
+    upload_paste_img(e) {
+      var that = this
+      var url = DocConfig.server + '/api/page/uploadImg'
+      var clipboard = e.clipboardData
       for (var i = 0, len = clipboard.items.length; i < len; i++) {
-        if (clipboard.items[i].kind == 'file' || clipboard.items[i].type.indexOf('image') > -1) {
-          var imageFile = clipboard.items[i].getAsFile();
-          var form = new FormData;
-          form.append('t', 'ajax-uploadpic');
-          form.append('editormd-image-file', imageFile);
-          var loading = '';
+        if (
+          clipboard.items[i].kind == 'file' ||
+          clipboard.items[i].type.indexOf('image') > -1
+        ) {
+          var imageFile = clipboard.items[i].getAsFile()
+          var form = new FormData()
+          form.append('t', 'ajax-uploadpic')
+          form.append('editormd-image-file', imageFile)
+          var loading = ''
           var callback = function(type, data) {
-            type = type || 'before';
+            type = type || 'before'
             switch (type) {
               // 开始上传
               case 'before':
-                loading = that.$loading();
-                break;
-                // 服务器返回错误
+                loading = that.$loading()
+                break
+              // 服务器返回错误
               case 'error':
-                loading.close();
-                that.$alert('图片上传失败');
-                break;
-                // 上传成功
+                loading.close()
+                that.$alert('图片上传失败')
+                break
+              // 上传成功
               case 'success':
-                loading.close();
+                loading.close()
                 if (data.success == 1) {
-                  var value = '![](' + data.url + ')';
-                  that.insertValue(value);
+                  var value = '![](' + data.url + ')'
+                  that.insertValue(value)
                 } else {
-                  that.$alert(data.message);
+                  that.$alert(data.message)
                 }
 
-                break;
+                break
             }
-          };
+          }
           $.ajax({
             url: url,
-            type: "POST",
-            dataType: "json",
+            type: 'POST',
+            dataType: 'json',
             data: form,
             processData: false,
             contentType: false,
             beforeSend: function() {
-              callback('before');
+              callback('before')
             },
             error: function() {
-              callback('error');
+              callback('error')
             },
             success: function(data) {
-              callback('success', data);
+              callback('success', data)
             }
           })
-          e.preventDefault();
+          e.preventDefault()
         }
       }
     },
     //草稿
-    draft(){
-      var that = this ;
-      var pkey = "page_content_"+this.page_id ;
-        //定时保存文本内容到localStorage
-        setInterval(()=>{
-          let childRef = this.$refs.Editormd ;
-          var content = childRef.getMarkdown() ;
-            localStorage.setItem(pkey , content);
-        }, 30*1000);
-
-        //检测是否有定时保存的内容
-        var page_content = localStorage.getItem(pkey);
-        if (page_content && page_content.length > 0) {
-          localStorage.removeItem(pkey);
-          that.$confirm(that.$t('draft_tips'),'',{
-            showClose:false
-          }
-          ).then(()=>{
-              that.insertValue(page_content , true) ;
-              localStorage.removeItem(pkey);
-            }).catch(()=>{
-              localStorage.removeItem(pkey);
-            });
-        };
+    draft() {
+      var that = this
+      var pkey = 'page_content_' + this.page_id
+      //定时保存文本内容到localStorage
+      setInterval(() => {
+        let childRef = this.$refs.Editormd
+        var content = childRef.getMarkdown()
+        localStorage.setItem(pkey, content)
+      }, 30 * 1000)
+
+      //检测是否有定时保存的内容
+      var page_content = localStorage.getItem(pkey)
+      if (page_content && page_content.length > 0) {
+        localStorage.removeItem(pkey)
+        that
+          .$confirm(that.$t('draft_tips'), '', {
+            showClose: false
+          })
+          .then(() => {
+            that.insertValue(page_content, true)
+            localStorage.removeItem(pkey)
+          })
+          .catch(() => {
+            localStorage.removeItem(pkey)
+          })
+      }
     },
 
     //遍历删除草稿
-    deleteDraft(){
-      for(var i=0; i<localStorage.length;i++){
-          var name = localStorage.key(i) ;
-          if (name.indexOf("page_content_") > -1) {
-            localStorage.removeItem(name)
-          };
+    deleteDraft() {
+      for (var i = 0; i < localStorage.length; i++) {
+        var name = localStorage.key(i)
+        if (name.indexOf('page_content_') > -1) {
+          localStorage.removeItem(name)
+        }
       }
     }
   },
 
-  mounted () {
-    var that = this ;
-    this.page_id = this.$route.params.page_id ;
-    this.copy_page_id = this.$route.query.copy_page_id ? this.$route.query.copy_page_id : '' ;
-    
-    if (this.copy_page_id > 0 ) {
-      this.get_page_content(this.copy_page_id);
-    }
-    else if (this.page_id > 0 ) {
-      this.get_page_content(this.page_id);
-    }else{
-      this.item_id = this.$route.params.item_id ;
-      this.content = this.$t("welcome_use_showdoc") ;
+  mounted() {
+    var that = this
+    this.page_id = this.$route.params.page_id
+    this.copy_page_id = this.$route.query.copy_page_id
+      ? this.$route.query.copy_page_id
+      : ''
+
+    if (this.copy_page_id > 0) {
+      this.get_page_content(this.copy_page_id)
+    } else if (this.page_id > 0) {
+      this.get_page_content(this.page_id)
+    } else {
+      this.item_id = this.$route.params.item_id
+      this.content = this.$t('welcome_use_showdoc')
     }
-    this.get_catalog(this.$route.params.item_id);
-    
-    this.draft();
+    this.get_catalog(this.$route.params.item_id)
+
+    this.draft()
 
     /** 监听粘贴上传图片 **/
-    document.addEventListener('paste', this.upload_paste_img);
-    
-    
+    document.addEventListener('paste', this.upload_paste_img)
   },
 
-  beforeDestroy(){
-    
+  beforeDestroy() {
     //解除对粘贴上传图片的监听
-    document.removeEventListener('paste', this.upload_paste_img);
-    this.$message.closeAll();
+    document.removeEventListener('paste', this.upload_paste_img)
+    this.$message.closeAll()
   }
 }
 </script>

+ 2 - 2
web_src/static/lang/en.js

@@ -160,8 +160,8 @@ exports.default = {
     'history_version':'History version',
     'save':'Save',
     'cancel':'Cancel',
-    'insert_apidoc_template':'Insert ApiDoc template',
-    'insert_database_doc_template':'Insert DatabaseDoc template',
+    'insert_apidoc_template':'ApiDoc template',
+    'insert_database_doc_template':'DatabaseDoc template',
     'json_tools':'Json tools',
     'format_tools':'Format tools',
     'json_to_table':'JSON to table',

+ 328 - 310
web_src/static/lang/zh-CN.js

@@ -1,342 +1,360 @@
 exports.__esModule = true;
 exports.default = {
-    //index
-    'help' : '帮助',
-    'demo' : '示例',
-    'index_login_or_register' : '登录 / 注册',
-    'my_item' : '我的项目',
-    'section_title1' : 'ShowDoc',
-    'section_description1' : '一个非常适合IT团队的在线API文档、技术文档工具',
-    'section_title2' : 'API文档',
-    'section_description2' : ' APP、web前端与服务器常用API来进行交互<br>用ShowDoc可以非常方便快速地编写出美观的API文档',
-    'section_title3' : '数据字典',
-    'section_description3' : '好的数据字典可以很方便地向别人描述你的数据库结构<br>用ShowDoc可以编辑出美观的数据字典',
-    'section_title4' : '说明文档',
-    'section_description4' : '你完全可以使用 ShowDoc来编写一些工具的说明书<br>也可以编写一些技术规范说明文档以供团队查阅',
-    'section_title5' : '团队协作',
-    'section_description5' : '团队权限管理机制让团队良好地协同编写文档',
-    'section_title6' : '免费开源',
-    'section_description6' : 'ShowDoc提供免费开源的版本<br>你可以选择将ShowDoc部署到你的服务器',
-    'section_title7' : '在线托管',
-    'section_description7'  :'www.showdoc.cc 提供安全稳定的在线文档托管服务<br>你可以放心地选择托管你的文档数据在云端',
-    'section_title8' : '立即体验',
-    'section_description8' : '超过10000+互联网团队正在使用ShowDoc',
+  //index
+  help: "帮助",
+  demo: "示例",
+  index_login_or_register: "登录 / 注册",
+  my_item: "我的项目",
+  section_title1: "ShowDoc",
+  section_description1: "一个非常适合IT团队的在线API文档、技术文档工具",
+  section_title2: "API文档",
+  section_description2:
+    " APP、web前端与服务器常用API来进行交互<br>用ShowDoc可以非常方便快速地编写出美观的API文档",
+  section_title3: "数据字典",
+  section_description3:
+    "好的数据字典可以很方便地向别人描述你的数据库结构<br>用ShowDoc可以编辑出美观的数据字典",
+  section_title4: "说明文档",
+  section_description4:
+    "你完全可以使用 ShowDoc来编写一些工具的说明书<br>也可以编写一些技术规范说明文档以供团队查阅",
+  section_title5: "团队协作",
+  section_description5: "团队权限管理机制让团队良好地协同编写文档",
+  section_title6: "免费开源",
+  section_description6:
+    "ShowDoc提供免费开源的版本<br>你可以选择将ShowDoc部署到你的服务器",
+  section_title7: "在线托管",
+  section_description7:
+    "www.showdoc.cc 提供安全稳定的在线文档托管服务<br>你可以放心地选择托管你的文档数据在云端",
+  section_title8: "立即体验",
+  section_description8: "超过10000+互联网团队正在使用ShowDoc",
 
-    //user
-    'login':'登录',
-    'username':'用户名',
-    'password':'密码',
-    'register_new_account':'注册新账号',
-    'forget_password':'忘记密码',
-    'username_description':'用户名/邮箱',
-    'password_again':'再次输入密码',
-    'verification_code':'验证码',
-    'register':'注册',
-    'update_personal_info':'修改个人信息',
-    'submit':'提交',
-    'goback':'返回',
-    'my_email':'我的邮箱',
-    'input_email':'请输入要绑定的邮箱',
-    'input_login_password':'请输入你的登录密码以验证',
-    'status':'状态',
-    'status_1':'已验证',
-    'status_2':'未验证',
-    'status_3':'未绑定',
-    'binding':'绑定',
-    'modify':'修改',
-    'modify_password':'修改密码',
-    'old_password':'原密码',
-    'new_password':'新密码',
-    'modify_success':'修改成功',
-    'update_email_success':'更新邮箱成功!请登录邮箱查收验证邮件',
+  //user
+  login: "登录",
+  username: "用户名",
+  password: "密码",
+  register_new_account: "注册新账号",
+  forget_password: "忘记密码",
+  username_description: "用户名/邮箱",
+  password_again: "再次输入密码",
+  verification_code: "验证码",
+  register: "注册",
+  update_personal_info: "修改个人信息",
+  submit: "提交",
+  goback: "返回",
+  my_email: "我的邮箱",
+  input_email: "请输入要绑定的邮箱",
+  input_login_password: "请输入你的登录密码以验证",
+  status: "状态",
+  status_1: "已验证",
+  status_2: "未验证",
+  status_3: "未绑定",
+  binding: "绑定",
+  modify: "修改",
+  modify_password: "修改密码",
+  old_password: "原密码",
+  new_password: "新密码",
+  modify_success: "修改成功",
+  update_email_success: "更新邮箱成功!请登录邮箱查收验证邮件",
 
-    //item/index
-    'personal_setting':'个人设置',
-    'web_home':'网站首页',
-    'logout':'退出登录',
-    'add_an_item':'添加一个新项目',
-    'new_item':'新建项目',
-    'feedback':'反馈',
-    'more':'更多',
-    'my_notice':'我的消息',
-    'item_setting':'项目设置',
-    'item_top':'置顶项目',
-    'cancel_item_top':'取消置顶',
+  //item/index
+  personal_setting: "个人设置",
+  web_home: "网站首页",
+  logout: "退出登录",
+  add_an_item: "添加一个新项目",
+  new_item: "新建项目",
+  feedback: "反馈",
+  more: "更多",
+  my_notice: "我的消息",
+  item_setting: "项目设置",
+  item_top: "置顶项目",
+  cancel_item_top: "取消置顶",
 
-    //item/add
-    'item_type1' : '常规项目',
-    'item_type2' : '单页项目',
-    'item_name' : '项目名',
-    'item_description' : '项目描述',
-    'item_domain' : '(可选)个性域名',
-    'item_domain_illegal' : '个性域名只能是字母或数字的组合',
-    'domain_already_exists' : '个性域名已经存在',
-    'visit_password_placeholder' : '访问密码',
-    'submit' : '提交',
-    'goback' : '返回',
-    'copy_exists_item' : '复制已存在项目',
-    'please_choose' : '请选择',
-    'auto_db' : '我要自动生成数据字典',
+  //item/add
+  item_type1: "常规项目",
+  item_type2: "单页项目",
+  item_name: "项目名",
+  item_description: "项目描述",
+  item_domain: "(可选)个性域名",
+  item_domain_illegal: "个性域名只能是字母或数字的组合",
+  domain_already_exists: "个性域名已经存在",
+  visit_password_placeholder: "访问密码",
+  submit: "提交",
+  goback: "返回",
+  copy_exists_item: "复制已存在项目",
+  please_choose: "请选择",
+  auto_db: "我要自动生成数据字典",
 
+  //item/pwd
+  input_visit_password: "请输入访问密码",
 
-    //item/pwd
-    'input_visit_password' : '请输入访问密码',
+  //item/export
+  export_all: "导出全部",
+  export_cat: "按目录导出",
+  select_cat_2: "选择二级目录:",
+  select_cat_3: "选择三级目录:",
+  begin_export: "开始导出",
 
-    //item/export
-    'export_all' : '导出全部',
-    'export_cat' : '按目录导出',
-    'select_cat_2' : '选择二级目录:',
-    'select_cat_3' : '选择三级目录:',
-    'begin_export' : '开始导出',
+  //item/setting
+  base_info: "基础信息",
+  member_manage: "成员管理",
+  advance_setting: "高级设置",
+  open_api: "开放API",
+  info_item_domain: "个性域名",
+  visit_password: "访问密码",
+  visit_password_description: "(可选)私有项目请设置访问密码",
+  add_member: "添加成员",
+  authority: "权限",
+  add_time: "添加时间",
+  operation: "操作",
+  delete: "删除",
+  input_target_member: "请输入目标成员的用户名",
+  readonly: "只读",
+  member_authority_tips:
+    "权限说明:默认成员可以新建/编辑项目页面,删除时将只能删除自己新建/编辑的页面。 勾选只读属性后,该成员对所有页面都只能查看,无法新增/编辑/删除",
+  cancel: "取消",
+  confirm: "确定",
+  confirm_delete: "确认删除吗?",
+  attorn: "转让",
+  archive: "归档",
+  attorn_tips: "你可以将项目转让给他人",
+  archive_tips:
+    "归档后,项目将变为只读,无法再修改/新增内容。如果要重新编辑,请复制到新项目后编辑",
+  delete_tips: "删除后将不可恢复!",
+  attorn_username: "接受者用户名",
+  archive_tips2:
+    "说明: 归档项目后,项目将无法再新增和修改内容,并且无法取消归档状态。 如想再次修改内容,可复制本项目,在新的项目基础上修改。复制项目的方法是,在创建项目的时候,选择从已有项目里复制。",
+  success_jump: "操作成功!正在跳转...",
+  reset_token: "重新生成api_token",
+  open_api_tips1:
+    "showdoc开放文档编辑的API,供使用者更加方便地操作文档数据。<br>利用开放API,你可以自动化地完成很多事",
+  open_api_tips2:
+    '如果你想自动化生成API文档,则可参考<a target="_bank" href="https://www.showdoc.cc/page/741656402509783">API文档</a>',
+  open_api_tips3:
+    '如果你想自动化生成数据字典,则可参考<a target="_bank" href="https://www.showdoc.cc/page/312209902620725">数据字典</a>',
+  open_api_tips4:
+    '如果你更自由地生成自己所需要的格式,则可参考<a target="_bank" href="https://www.showdoc.cc/page/102098">开放API</a>',
 
-    //item/setting
-    'base_info' : '基础信息',
-    'member_manage' : '成员管理',
-    'advance_setting' : '高级设置',
-    'open_api' : '开放API',
-    'info_item_domain':"个性域名",
-    'visit_password':"访问密码",
-    'visit_password_description':"(可选)私有项目请设置访问密码",
-    "add_member" :"添加成员",
-    "authority" :"权限",
-    "add_time" :"添加时间",
-    "operation" :"操作",
-    "delete" :"删除",
-    "input_target_member" :"请输入目标成员的用户名",
-    "readonly" :"只读",
-    "member_authority_tips" :"权限说明:默认成员可以新建/编辑项目页面,删除时将只能删除自己新建/编辑的页面。 勾选只读属性后,该成员对所有页面都只能查看,无法新增/编辑/删除",
-    "cancel" :"取消",
-    "confirm" :"确定",
-    "confirm_delete" :"确认删除吗?",
-    "attorn" :"转让",
-    "archive" :"归档",
-    "attorn_tips":"你可以将项目转让给他人",
-    "archive_tips":"归档后,项目将变为只读,无法再修改/新增内容。如果要重新编辑,请复制到新项目后编辑",
-    "delete_tips":"删除后将不可恢复!",
-    "attorn_username" :"接受者用户名",
-    "archive_tips2":"说明: 归档项目后,项目将无法再新增和修改内容,并且无法取消归档状态。 如想再次修改内容,可复制本项目,在新的项目基础上修改。复制项目的方法是,在创建项目的时候,选择从已有项目里复制。",
-    "success_jump" :"操作成功!正在跳转...",
-    "reset_token":"重新生成api_token",
-    "open_api_tips1":"showdoc开放文档编辑的API,供使用者更加方便地操作文档数据。<br>利用开放API,你可以自动化地完成很多事",
-    "open_api_tips2":'如果你想自动化生成API文档,则可参考<a target="_bank" href="https://www.showdoc.cc/page/741656402509783">API文档</a>',
-    "open_api_tips3":'如果你想自动化生成数据字典,则可参考<a target="_bank" href="https://www.showdoc.cc/page/312209902620725">数据字典</a>',
-    "open_api_tips4":'如果你更自由地生成自己所需要的格式,则可参考<a target="_bank" href="https://www.showdoc.cc/page/102098">开放API</a>',
+  //item/show
+  item: "项目",
+  share: "分享",
+  export: "导出",
+  update_info: "修改信息",
+  manage_members: "成员管理",
+  more_item: "更多项目",
+  login_or_register: "登录/注册",
+  about_showdoc: "关于ShowDoc",
+  my_item: "我的项目",
+  new_page: "新建页面",
+  edit_page: "编辑页面",
+  new_catalog: "新建/管理目录",
+  share_address_to_your_friends: "分享该接口地址给你的好友",
+  share: "分享",
+  copy_interface_to_new: "复制该页面到新页面",
+  copy: "复制",
+  edit: "编辑",
+  detail: "详情",
+  delete_interface: "删除页面",
+  comfirm_delete: "确认删除吗?",
+  delete: "删除",
+  item_address: "项目地址",
+  copy_address_to_your_friends: "你可以复制地址给你的好友",
+  share_page: "分享页面",
+  page_address: "页面地址",
+  copy_address_to_your_friends: "你可以复制地址给你的好友",
+  input_keyword: "输入关键字后按回车以搜索",
+  item_page_address: "项目页面地址",
+  single_page_address: "单页面地址",
+  page_diff_tips: "项目页面地址和单页面地址有什么区别?",
 
-    //item/show
-    'item':'项目',
-    'share':'分享',
-    'export':'导出',
-    'update_info':'修改信息',
-    'manage_members':'成员管理',
-    'more_item':'更多项目',
-    'login_or_register':'登录/注册',
-    'about_showdoc':'关于ShowDoc',
-    'my_item':'我的项目',
-    'new_page':'新建页面',
-    'edit_page':'编辑页面',
-    'new_catalog':'新建/管理目录',
-    'share_address_to_your_friends':'分享该接口地址给你的好友',
-    'share':'分享',
-    'copy_interface_to_new':'复制该页面到新页面',
-    'copy':'复制',
-    'edit':'编辑',
-    'detail':'详情',
-    'delete_interface':'删除页面',
-    'comfirm_delete':'确认删除吗?',
-    'delete':'删除',
-    'item_address':'项目地址',
-    'copy_address_to_your_friends':'你可以复制地址给你的好友',
-    'share_page':'分享页面',
-    'page_address':'页面地址',
-    'copy_address_to_your_friends':'你可以复制地址给你的好友',
-    'input_keyword':'输入关键字后按回车以搜索',
-    'item_page_address':'项目页面地址',
-    'single_page_address':'单页面地址',
-    'page_diff_tips':'项目页面地址和单页面地址有什么区别?',
+  //page
+  title: "标题",
+  catalog: "目录",
+  level_2_directory: "二级目录",
+  level_3_directory: "三级目录",
+  s_number: "序号",
+  s_number_explain: "(可选)默认是99,数字越小越靠前",
+  optional: "可选",
+  history_version: "历史版本",
+  save: "保存",
+  cancel: "取消",
+  insert_apidoc_template: "API接口模板",
+  insert_database_doc_template: "数据字典模板",
+  json_tools: "JSON工具",
+  format_tools: "格式工具",
+  json_to_table: "JSON转参数表格",
+  beautify_json: "JSON格式化",
+  beautify_json_description: "请粘贴一段json,程序将自动以美观的方式格式化显示",
+  http_test_api: "在线测试API",
+  json_to_table_description:
+    "请粘贴一段json,程序将自动将json解析并生成参数表格。此功能适合用于快速编写API文档的返回参数表格",
+  confirm: "确定",
+  cancel: "取消",
+  update_time: "修改时间",
+  update_by_who: "修改人",
+  recover_to_this_version: "恢复到此版本",
+  close: "关闭",
+  finish: "完成",
+  params: "参数",
+  clear: "清除",
+  result: "返回结果",
+  save_to_templ: "另存为模板",
+  more_templ: "更多模板",
+  saved_templ_list: "保存的模板列表",
+  page_comments: "页面注释",
+  cur_page_content: "当前最新版本",
+  overview: "预览",
+  save_templ_title: "请为要保存的模板设置标题",
+  save_templ_text:
+    "已经保存好模板。你以后新建或者编辑编辑页面时,点击“更多模板”按钮,便可以使用你保存的模板",
+  welcome_use_showdoc: "欢迎使用ShowDoc!",
+  templ_list: "模板列表",
+  templ_title: "模板标题",
+  no_templ_text:
+    "你尚未保存过任何模板。你可以在编辑页面时,在“保存”按钮右边点击,在下拉菜单中选择“另存为模板”。把页面内容保存为模板后,你下次新建或者编辑页面时便可以使用你之前保存的模板",
+  save_time: "保存时间",
+  insert_templ: "插入此模板",
+  delete_templ: "删除模板",
+  save_success: "保存成功",
+  paste_insert_table: "粘贴插入表格",
+  paste_insert_table_tips:
+    "你可以从网页或者excel中复制表格,然后粘贴在此处。粘贴并确定后,程序将自动把源表格转为markdown格式的表格。注:复制excel后,请鼠标右击,粘贴为纯文本。否则会当做图片上传。",
 
-    //page
-    'title':'标题',
-    'catalog':'目录',
-    'level_2_directory':'二级目录',
-    'level_3_directory':'三级目录',
-    's_number':'序号',
-    's_number_explain':'(可选)默认是99,数字越小越靠前',
-    'optional':'可选',
-    'history_version':'历史版本',
-    'save':'保存',
-    'cancel':'取消',
-    'insert_apidoc_template':'插入API接口模板',
-    'insert_database_doc_template':'插入数据字典模板',
-    'json_tools':'JSON工具',
-    'format_tools':'格式工具',
-    'json_to_table':'JSON转参数表格',
-    'beautify_json':'JSON格式化',
-    'beautify_json_description':'请粘贴一段json,程序将自动以美观的方式格式化显示',
-    'http_test_api':'在线测试API',
-    'json_to_table_description':'请粘贴一段json,程序将自动将json解析并生成参数表格。此功能适合用于快速编写API文档的返回参数表格',
-    'confirm':'确定',
-    'cancel':'取消',
-    'update_time':'修改时间',
-    'update_by_who':'修改人',
-    'recover_to_this_version':'恢复到此版本',
-    'close':'关闭',
-    'finish':'完成',
-    'params':'参数',
-    'clear':'清除',
-    'result':'返回结果',
-    'save_to_templ':'另存为模板',
-    'more_templ':'更多模板',
-    'saved_templ_list':'保存的模板列表',
-    'page_comments':'页面注释',
-    'cur_page_content':'当前最新版本',
-    'overview':'预览',
-    'save_templ_title':'请为要保存的模板设置标题',
-    'save_templ_text':'已经保存好模板。你以后新建或者编辑编辑页面时,点击“更多模板”按钮,便可以使用你保存的模板',
-    'welcome_use_showdoc':'欢迎使用ShowDoc!',
-    'templ_list':'模板列表',
-    'templ_title':'模板标题',
-    'no_templ_text':'你尚未保存过任何模板。你可以在编辑页面时,在“保存”按钮右边点击,在下拉菜单中选择“另存为模板”。把页面内容保存为模板后,你下次新建或者编辑页面时便可以使用你之前保存的模板',
-    'save_time':'保存时间' ,
-    'insert_templ':'插入此模板',
-    'delete_templ':'删除模板',
-    'save_success':'保存成功',
-    'paste_insert_table': '粘贴插入表格',
-    'paste_insert_table_tips':'你可以从网页或者excel中复制表格,然后粘贴在此处。粘贴并确定后,程序将自动把源表格转为markdown格式的表格。注:复制excel后,请鼠标右击,粘贴为纯文本。否则会当做图片上传。',
+  //catalog
+  add_cat: "添加目录",
+  cat_name: "目录名",
+  input_cat_name: "请输入目录名",
+  parent_cat_name: "上级目录",
+  none: "无",
 
-    //catalog
-    'add_cat':'添加目录',
-    'cat_name':'目录名',
-    'input_cat_name':'请输入目录名',
-    'parent_cat_name':'上级目录',
-    'none':'无',
+  //其他
+  back_to_top: "回到顶部",
+  draft_tips: "检测到有上次编辑时自动保存的草稿。是否自动填充上次的草稿内容?",
 
+  //管理后台
+  management_backstage: "管理后台",
+  user_management: "用户管理",
+  item_management: "项目管理",
+  add_user: "新增用户",
+  search: "查询",
 
-    //其他
-    "back_to_top":'回到顶部',
-    'draft_tips':"检测到有上次编辑时自动保存的草稿。是否自动填充上次的草稿内容?",
+  team_mamage: "团队管理",
+  background: "管理后台",
+  distribution_to_team: "分配项目给团队",
+  back_to_team: "返回团队管理",
+  check_item: "查看项目",
+  unassign: "取消分配",
+  go_to_new_an_item: "去新建项目",
+  confirm_unassign: "确认取消分配吗?此操作会取消项目和团队之间的关联",
+  Join_time: "加入时间",
+  add_team: "添加团队",
+  member_authority: "成员权限",
+  go_to_new_an_team: "去新建团队",
+  adjust_member_authority: "调整每一个成员的项目权限",
+  team_member_empty_tips: "该团队尚未有任何成员",
+  team_member_authority_tips:
+    "权限说明:编辑权限指的是成员可以新建/编辑项目页面,删除时将只能删除自己新建/编辑的页面。 只读权限指的是,该成员对本项目所有页面都只能查看,无法新增/编辑/删除",
+  member: "成员",
+  team_item: "项目",
+  add_member: "添加成员",
+  member_username: "成员用户名",
+  team_name: "团队名",
+  memberCount: "成员数",
+  itemCount: "分配项目数",
+  empty_team_tips:
+    "欢迎使用团队管理功能。此功能非常适合Team leader对多人员、跨团队项目的协作管理。请先点击左上方按钮添加团队。添加团队后,可以随时增加/删除团队成员、批量分配到不同项目,并且可以设置不同项目里的成员权限。相比简单成员管理模式,团队管理功能可以批量地进行人员的增删,更方便复杂团队的协作。",
 
-    //管理后台
-    "management_backstage":"管理后台" ,
-    "user_management":"用户管理" ,
-    "item_management":"项目管理" ,
-    "add_user":"新增用户" ,
-    "search":"查询" ,
+  copy_link: "复制链接",
+  copy_success: "复制成功",
 
-    "team_mamage":'团队管理',
-    "background":'管理后台',
-    "distribution_to_team":'分配项目给团队',
-    "back_to_team":'返回团队管理',
-    "check_item":'查看项目',
-    "unassign":'取消分配',
-    "go_to_new_an_item":'去新建项目',
-    "confirm_unassign":'确认取消分配吗?此操作会取消项目和团队之间的关联',
-    "Join_time":'加入时间',
-    "add_team":'添加团队',
-    "member_authority":'成员权限',
-    "go_to_new_an_team":'去新建团队',
-    "adjust_member_authority":'调整每一个成员的项目权限',
-    "team_member_empty_tips":'该团队尚未有任何成员',
-    "team_member_authority_tips":'权限说明:编辑权限指的是成员可以新建/编辑项目页面,删除时将只能删除自己新建/编辑的页面。 只读权限指的是,该成员对本项目所有页面都只能查看,无法新增/编辑/删除',
-    "member":"成员",
-    "team_item":"项目",
-    "add_member":"添加成员",
-    "member_username":"成员用户名",
-    "team_name":"团队名",
-    "memberCount":"成员数",
-    "itemCount":"分配项目数",
-    "empty_team_tips":"欢迎使用团队管理功能。此功能非常适合Team leader对多人员、跨团队项目的协作管理。请先点击左上方按钮添加团队。添加团队后,可以随时增加/删除团队成员、批量分配到不同项目,并且可以设置不同项目里的成员权限。相比简单成员管理模式,团队管理功能可以批量地进行人员的增删,更方便复杂团队的协作。",
+  user_manage: "用户管理",
+  item_manage: "项目管理",
+  web_setting: "站点设置",
+  register_open_label: "开放用户注册",
+  ldap_open_label: "启用ldap登录",
 
-    "copy_link":"复制链接",
-    "copy_success":"复制成功",
-    
-    "user_manage":"用户管理",
-    "item_manage":"项目管理",
-    "web_setting":"站点设置",
-    "register_open_label":"开放用户注册",
-    "ldap_open_label":"启用ldap登录",
+  name: "姓名",
+  name_tips: "推荐使用真实姓名",
 
-    "name":"姓名",
-    "name_tips":"推荐使用真实姓名",
+  attachment: "附件",
+  upload: "上传",
+  upload_file: "上传文件",
+  file_name: "文件名",
+  download: "下载",
+  file_size_tips: "文件大小在4M内",
 
-    "attachment":"附件",
-    "upload":"上传",
-    "upload_file":"上传文件",
-    "file_name":"文件名",
-    "download":"下载",
-    "file_size_tips":"文件大小在4M内",
-    
-    "confirm_cat_delete" :"确认删除目录吗?此操作会把该目录下的所有页面一并删除,请谨慎操作。",
+  confirm_cat_delete:
+    "确认删除目录吗?此操作会把该目录下的所有页面一并删除,请谨慎操作。",
 
-    "userrole":"用户角色",
-    "reg_time":"注册时间",
-    "last_login_time":"最后登录时间",
-    "administrator":"管理员",
-    "ordinary_users":"普通用户",
-    "owner":"所有者",
-    "privacy":"私密性",
-    "link":"链接",
-    "private":"密码访问",
-    "public":"公开访问",
-    "register_open":"开放用户注册",
-    "long_page_tips":"检测到本页面内容比较多,showdoc暂时关闭了html实时预览功能,以防止过多内容造成页面卡顿。你可以在编辑栏中找到预览按钮进行手动打开。",
+  userrole: "用户角色",
+  reg_time: "注册时间",
+  last_login_time: "最后登录时间",
+  administrator: "管理员",
+  ordinary_users: "普通用户",
+  owner: "所有者",
+  privacy: "私密性",
+  link: "链接",
+  private: "密码访问",
+  public: "公开访问",
+  register_open: "开放用户注册",
+  long_page_tips:
+    "检测到本页面内容比较多,showdoc暂时关闭了html实时预览功能,以防止过多内容造成页面卡顿。你可以在编辑栏中找到预览按钮进行手动打开。",
 
+  item_exit: "退出项目",
+  confirm_exit_item: "你确定要退出该项目吗?",
 
-    "item_exit":"退出项目",
-    "confirm_exit_item":"你确定要退出该项目吗?",   
+  insert: "插入",
 
-     "insert":"插入",
+  Open_item: "公开项目",
+  private_item: "私密项目",
+  private_item_passwrod: "私密项目请设置访问密码",
 
-    "Open_item":"公开项目",
-    "private_item":"私密项目",
-    "private_item_passwrod":"私密项目请设置访问密码",
+  create_sigle_page: "我要创建单页面地址",
+  create_sigle_page_tips:
+    "当仅仅想分享某个页面、而不想分享整个项目的时候,你可以选择分享单页面地址。分享出去后,你的好友将仅仅只看到单个页面,无法浏览目录菜单,也无法切换到其他页面查看。",
 
-    "create_sigle_page":"我要创建单页面地址",
-    "create_sigle_page_tips":"当仅仅想分享某个页面、而不想分享整个项目的时候,你可以选择分享单页面地址。分享出去后,你的好友将仅仅只看到单个页面,无法浏览目录菜单,也无法切换到其他页面查看。",
+  home_page: "网站首页",
+  full_page: "全屏介绍页面",
+  login_page: "跳转到登录页面",
+  jump_to_an_item: "跳转到某个项目",
+  jump_to_item: "跳转到项目",
 
-    "home_page":"网站首页",
-    "full_page":"全屏介绍页面",
-    "login_page":"跳转到登录页面",
-    "jump_to_an_item":"跳转到某个项目",
-    "jump_to_item":"跳转到项目",
+  recycle: "回收站",
+  recycle_tips:
+    "被删除的页面会进入回收站。在回收站超过30天的内容将被系统自动选择合适时候清理掉",
+  page_title: "页面标题",
+  deleter: "删除账号",
+  del_time: "删除时间",
+  recover: "恢复",
+  recover_tips: "确认恢复吗?恢复的页面将出现在项目根目录",
 
-    "recycle":"回收站",
-    "recycle_tips":"被删除的页面会进入回收站。在回收站超过30天的内容将被系统自动选择合适时候清理掉",
-    "page_title":"页面标题",
-    "deleter":"删除账号",
-    "del_time":"删除时间",
-    "recover":"恢复",
-    "recover_tips":"确认恢复吗?恢复的页面将出现在项目根目录",
-    
-    "cat_tips":"可拖动以排序",
-    "cat_limite_tips":"showdoc只支持最多三层目录,请优化目录结构",
+  cat_tips: "可拖动以排序",
+  cat_limite_tips: "showdoc只支持最多三层目录,请优化目录结构",
 
+  sort_pages: "页面排序",
+  sort_pages_tips: "选择特定的目录后,你可以对该目录下的页面进行拖动排序",
 
-    "sort_pages":"页面排序",
-    "sort_pages_tips":"选择特定的目录后,你可以对该目录下的页面进行拖动排序",
+  regular_item: "常规项目",
+  single_item: "单页项目",
+  copy_item: "复制项目",
+  import_file: "导入文件",
+  auto_item: "自动生成",
+  single_item_tips: "单页项目指的是指没有目录结构,只有一个页面的项目",
+  copy_item_tips1: "从你已有的项目中选择并复制",
+  copy_item_tips2: "复制后将新项目重命名为:",
+  import_file_tips1:
+    "导入的文件可以是<b>postman</b>的json文件、<b>swagger</b>的json文件、showdoc的<b>markdown压缩包</b>。系统会自动识别文件类型。",
+  import_file_tips2: "将文件拖到此处,或<em>点击上传</em>",
+  export_format_word: "word格式",
+  export_format_markdown: "markdown压缩包",
+  export_markdown_tips:
+    "导出的压缩包可以重新导入showdoc,在新建项目的时候选择“文件导入”即可",
 
-    "regular_item":"常规项目",
-    "single_item":"单页项目",
-    "copy_item":"复制项目",
-    "import_file":"导入文件",
-    "auto_item":"自动生成",
-    "single_item_tips":"单页项目指的是指没有目录结构,只有一个页面的项目",
-    "copy_item_tips1":"从你已有的项目中选择并复制",
-    "copy_item_tips2":"复制后将新项目重命名为:",
-    "import_file_tips1":"导入的文件可以是<b>postman</b>的json文件、<b>swagger</b>的json文件、showdoc的<b>markdown压缩包</b>。系统会自动识别文件类型。",
-    "import_file_tips2":"将文件拖到此处,或<em>点击上传</em>",
-    "export_format_word":"word格式",
-    "export_format_markdown":"markdown压缩包",
-    "export_markdown_tips":"导出的压缩包可以重新导入showdoc,在新建项目的时候选择“文件导入”即可",
-    
-    "private_tips":"这是一个私密项目",
+  private_tips: "这是一个私密项目",
 
-    "oss_open":"图片附件储存到云",
-    "oss_server":"云服务商",
-    "aliyun":"阿里云",
-    "qiniu":"七牛云",
-    "oss_domain":"oss绑定域名(选填)",
+  oss_open: "图片附件储存到云",
+  oss_server: "云服务商",
+  aliyun: "阿里云",
+  qiniu: "七牛云",
+  oss_domain: "oss绑定域名(选填)",
 
-    "attornTeamTips":"转让团队后,该团队下拥有的所有项目也会一并转让给对方",
-
-    
-};
+  attornTeamTips: "转让团队后,该团队下拥有的所有项目也会一并转让给对方"
+};