README.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934
  1. <!DOCTYPE html><html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title></title>
  5. <style>
  6. @font-face {
  7. font-family: octicons-anchor;
  8. src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAYcAA0AAAAACjQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABMAAAABwAAAAca8vGTk9TLzIAAAFMAAAARAAAAFZG1VHVY21hcAAAAZAAAAA+AAABQgAP9AdjdnQgAAAB0AAAAAQAAAAEACICiGdhc3AAAAHUAAAACAAAAAj//wADZ2x5ZgAAAdwAAADRAAABEKyikaNoZWFkAAACsAAAAC0AAAA2AtXoA2hoZWEAAALgAAAAHAAAACQHngNFaG10eAAAAvwAAAAQAAAAEAwAACJsb2NhAAADDAAAAAoAAAAKALIAVG1heHAAAAMYAAAAHwAAACABEAB2bmFtZQAAAzgAAALBAAAFu3I9x/Nwb3N0AAAF/AAAAB0AAAAvaoFvbwAAAAEAAAAAzBdyYwAAAADP2IQvAAAAAM/bz7t4nGNgZGFgnMDAysDB1Ml0hoGBoR9CM75mMGLkYGBgYmBlZsAKAtJcUxgcPsR8iGF2+O/AEMPsznAYKMwIkgMA5REMOXicY2BgYGaAYBkGRgYQsAHyGMF8FgYFIM0ChED+h5j//yEk/3KoSgZGNgYYk4GRCUgwMaACRoZhDwCs7QgGAAAAIgKIAAAAAf//AAJ4nHWMMQrCQBBF/0zWrCCIKUQsTDCL2EXMohYGSSmorScInsRGL2DOYJe0Ntp7BK+gJ1BxF1stZvjz/v8DRghQzEc4kIgKwiAppcA9LtzKLSkdNhKFY3HF4lK69ExKslx7Xa+vPRVS43G98vG1DnkDMIBUgFN0MDXflU8tbaZOUkXUH0+U27RoRpOIyCKjbMCVejwypzJJG4jIwb43rfl6wbwanocrJm9XFYfskuVC5K/TPyczNU7b84CXcbxks1Un6H6tLH9vf2LRnn8Ax7A5WQAAAHicY2BkYGAA4teL1+yI57f5ysDNwgAC529f0kOmWRiYVgEpDgYmEA8AUzEKsQAAAHicY2BkYGB2+O/AEMPCAAJAkpEBFbAAADgKAe0EAAAiAAAAAAQAAAAEAAAAAAAAKgAqACoAiAAAeJxjYGRgYGBhsGFgYgABEMkFhAwM/xn0QAIAD6YBhwB4nI1Ty07cMBS9QwKlQapQW3VXySvEqDCZGbGaHULiIQ1FKgjWMxknMfLEke2A+IJu+wntrt/QbVf9gG75jK577Lg8K1qQPCfnnnt8fX1NRC/pmjrk/zprC+8D7tBy9DHgBXoWfQ44Av8t4Bj4Z8CLtBL9CniJluPXASf0Lm4CXqFX8Q84dOLnMB17N4c7tBo1AS/Qi+hTwBH4rwHHwN8DXqQ30XXAS7QaLwSc0Gn8NuAVWou/gFmnjLrEaEh9GmDdDGgL3B4JsrRPDU2hTOiMSuJUIdKQQayiAth69r6akSSFqIJuA19TrzCIaY8sIoxyrNIrL//pw7A2iMygkX5vDj+G+kuoLdX4GlGK/8Lnlz6/h9MpmoO9rafrz7ILXEHHaAx95s9lsI7AHNMBWEZHULnfAXwG9/ZqdzLI08iuwRloXE8kfhXYAvE23+23DU3t626rbs8/8adv+9DWknsHp3E17oCf+Z48rvEQNZ78paYM38qfk3v/u3l3u3GXN2Dmvmvpf1Srwk3pB/VSsp512bA/GG5i2WJ7wu430yQ5K3nFGiOqgtmSB5pJVSizwaacmUZzZhXLlZTq8qGGFY2YcSkqbth6aW1tRmlaCFs2016m5qn36SbJrqosG4uMV4aP2PHBmB3tjtmgN2izkGQyLWprekbIntJFing32a5rKWCN/SdSoga45EJykyQ7asZvHQ8PTm6cslIpwyeyjbVltNikc2HTR7YKh9LBl9DADC0U/jLcBZDKrMhUBfQBvXRzLtFtjU9eNHKin0x5InTqb8lNpfKv1s1xHzTXRqgKzek/mb7nB8RZTCDhGEX3kK/8Q75AmUM/eLkfA+0Hi908Kx4eNsMgudg5GLdRD7a84npi+YxNr5i5KIbW5izXas7cHXIMAau1OueZhfj+cOcP3P8MNIWLyYOBuxL6DRylJ4cAAAB4nGNgYoAALjDJyIAOWMCiTIxMLDmZedkABtIBygAAAA==) format('woff');
  9. }
  10. body {
  11. background-color: white;
  12. }
  13. .markdown-body {
  14. min-width: 200px;
  15. max-width: 760px;
  16. margin: 0 auto;
  17. padding: 30px;
  18. -ms-text-size-adjust: 100%;
  19. -webkit-text-size-adjust: 100%;
  20. color: #333;
  21. overflow: hidden;
  22. font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
  23. font-size: 16px;
  24. line-height: 1.6;
  25. word-wrap: break-word;
  26. }
  27. .markdown-body a {
  28. background: transparent;
  29. }
  30. .markdown-body a:active,
  31. .markdown-body a:hover {
  32. outline: 0;
  33. }
  34. .markdown-body strong {
  35. font-weight: bold;
  36. }
  37. .markdown-body h1 {
  38. font-size: 2em;
  39. margin: 0.67em 0;
  40. }
  41. .markdown-body img {
  42. border: 0;
  43. }
  44. .markdown-body hr {
  45. -moz-box-sizing: content-box;
  46. box-sizing: content-box;
  47. height: 0;
  48. }
  49. .markdown-body pre {
  50. overflow: auto;
  51. }
  52. .markdown-body code,
  53. .markdown-body kbd,
  54. .markdown-body pre {
  55. font-family: monospace, monospace;
  56. font-size: 1em;
  57. }
  58. .markdown-body input {
  59. color: inherit;
  60. font: inherit;
  61. margin: 0;
  62. }
  63. .markdown-body html input[disabled] {
  64. cursor: default;
  65. }
  66. .markdown-body input {
  67. line-height: normal;
  68. }
  69. .markdown-body input[type="checkbox"] {
  70. -moz-box-sizing: border-box;
  71. box-sizing: border-box;
  72. padding: 0;
  73. }
  74. .markdown-body table {
  75. border-collapse: collapse;
  76. border-spacing: 0;
  77. }
  78. .markdown-body td,
  79. .markdown-body th {
  80. padding: 0;
  81. }
  82. .markdown-body * {
  83. -moz-box-sizing: border-box;
  84. box-sizing: border-box;
  85. }
  86. .markdown-body input {
  87. font: 13px/1.4 Helvetica, arial, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
  88. }
  89. .markdown-body a {
  90. color: #4183c4;
  91. text-decoration: none;
  92. }
  93. .markdown-body a:hover,
  94. .markdown-body a:focus,
  95. .markdown-body a:active {
  96. text-decoration: underline;
  97. }
  98. .markdown-body hr {
  99. height: 0;
  100. margin: 15px 0;
  101. overflow: hidden;
  102. background: transparent;
  103. border: 0;
  104. border-bottom: 1px solid #ddd;
  105. }
  106. .markdown-body hr:before {
  107. display: table;
  108. content: "";
  109. }
  110. .markdown-body hr:after {
  111. display: table;
  112. clear: both;
  113. content: "";
  114. }
  115. .markdown-body h1,
  116. .markdown-body h2,
  117. .markdown-body h3,
  118. .markdown-body h4,
  119. .markdown-body h5,
  120. .markdown-body h6 {
  121. margin-top: 15px;
  122. margin-bottom: 15px;
  123. line-height: 1.1;
  124. }
  125. .markdown-body h1 {
  126. font-size: 30px;
  127. }
  128. .markdown-body h2 {
  129. font-size: 21px;
  130. }
  131. .markdown-body h3 {
  132. font-size: 16px;
  133. }
  134. .markdown-body h4 {
  135. font-size: 14px;
  136. }
  137. .markdown-body h5 {
  138. font-size: 12px;
  139. }
  140. .markdown-body h6 {
  141. font-size: 11px;
  142. }
  143. .markdown-body blockquote {
  144. margin: 0;
  145. }
  146. .markdown-body ul,
  147. .markdown-body ol {
  148. padding: 0;
  149. margin-top: 0;
  150. margin-bottom: 0;
  151. }
  152. .markdown-body ol ol,
  153. .markdown-body ul ol {
  154. list-style-type: lower-roman;
  155. }
  156. .markdown-body ul ul ol,
  157. .markdown-body ul ol ol,
  158. .markdown-body ol ul ol,
  159. .markdown-body ol ol ol {
  160. list-style-type: lower-alpha;
  161. }
  162. .markdown-body dd {
  163. margin-left: 0;
  164. }
  165. .markdown-body code {
  166. font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
  167. }
  168. .markdown-body pre {
  169. margin-top: 0;
  170. margin-bottom: 0;
  171. font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
  172. }
  173. .markdown-body kbd {
  174. background-color: #e7e7e7;
  175. background-image: -webkit-linear-gradient(#fefefe, #e7e7e7);
  176. background-image: linear-gradient(#fefefe, #e7e7e7);
  177. background-repeat: repeat-x;
  178. border-radius: 2px;
  179. border: 1px solid #cfcfcf;
  180. color: #000;
  181. padding: 3px 5px;
  182. line-height: 10px;
  183. font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
  184. display: inline-block;
  185. }
  186. .markdown-body>*:first-child {
  187. margin-top: 0 !important;
  188. }
  189. .markdown-body>*:last-child {
  190. margin-bottom: 0 !important;
  191. }
  192. .markdown-body .anchor {
  193. position: absolute;
  194. top: 0;
  195. bottom: 0;
  196. left: 0;
  197. display: block;
  198. padding-right: 6px;
  199. padding-left: 30px;
  200. margin-left: -30px;
  201. }
  202. .markdown-body .anchor:focus {
  203. outline: none;
  204. }
  205. .markdown-body h1,
  206. .markdown-body h2,
  207. .markdown-body h3,
  208. .markdown-body h4,
  209. .markdown-body h5,
  210. .markdown-body h6 {
  211. position: relative;
  212. margin-top: 1em;
  213. margin-bottom: 16px;
  214. font-weight: bold;
  215. line-height: 1.4;
  216. }
  217. .markdown-body h1 .octicon-link,
  218. .markdown-body h2 .octicon-link,
  219. .markdown-body h3 .octicon-link,
  220. .markdown-body h4 .octicon-link,
  221. .markdown-body h5 .octicon-link,
  222. .markdown-body h6 .octicon-link {
  223. display: none;
  224. color: #000;
  225. vertical-align: middle;
  226. }
  227. .markdown-body h1:hover .anchor,
  228. .markdown-body h2:hover .anchor,
  229. .markdown-body h3:hover .anchor,
  230. .markdown-body h4:hover .anchor,
  231. .markdown-body h5:hover .anchor,
  232. .markdown-body h6:hover .anchor {
  233. height: 1em;
  234. padding-left: 8px;
  235. margin-left: -30px;
  236. line-height: 1;
  237. text-decoration: none;
  238. }
  239. .markdown-body h1:hover .anchor .octicon-link,
  240. .markdown-body h2:hover .anchor .octicon-link,
  241. .markdown-body h3:hover .anchor .octicon-link,
  242. .markdown-body h4:hover .anchor .octicon-link,
  243. .markdown-body h5:hover .anchor .octicon-link,
  244. .markdown-body h6:hover .anchor .octicon-link {
  245. display: inline-block;
  246. }
  247. .markdown-body h1 {
  248. padding-bottom: 0.3em;
  249. font-size: 2.25em;
  250. line-height: 1.2;
  251. border-bottom: 1px solid #eee;
  252. }
  253. .markdown-body h2 {
  254. padding-bottom: 0.3em;
  255. font-size: 1.75em;
  256. line-height: 1.225;
  257. border-bottom: 1px solid #eee;
  258. }
  259. .markdown-body h3 {
  260. font-size: 1.5em;
  261. line-height: 1.43;
  262. }
  263. .markdown-body h4 {
  264. font-size: 1.25em;
  265. }
  266. .markdown-body h5 {
  267. font-size: 1em;
  268. }
  269. .markdown-body h6 {
  270. font-size: 1em;
  271. color: #777;
  272. }
  273. .markdown-body p,
  274. .markdown-body blockquote,
  275. .markdown-body ul,
  276. .markdown-body ol,
  277. .markdown-body dl,
  278. .markdown-body table,
  279. .markdown-body pre {
  280. margin-top: 0;
  281. margin-bottom: 16px;
  282. }
  283. .markdown-body hr {
  284. height: 4px;
  285. padding: 0;
  286. margin: 16px 0;
  287. background-color: #e7e7e7;
  288. border: 0 none;
  289. }
  290. .markdown-body ul,
  291. .markdown-body ol {
  292. padding-left: 2em;
  293. }
  294. .markdown-body ul ul,
  295. .markdown-body ul ol,
  296. .markdown-body ol ol,
  297. .markdown-body ol ul {
  298. margin-top: 0;
  299. margin-bottom: 0;
  300. }
  301. .markdown-body li>p {
  302. margin-top: 16px;
  303. }
  304. .markdown-body dl {
  305. padding: 0;
  306. }
  307. .markdown-body dl dt {
  308. padding: 0;
  309. margin-top: 16px;
  310. font-size: 1em;
  311. font-style: italic;
  312. font-weight: bold;
  313. }
  314. .markdown-body dl dd {
  315. padding: 0 16px;
  316. margin-bottom: 16px;
  317. }
  318. .markdown-body blockquote {
  319. padding: 0 15px;
  320. color: #777;
  321. border-left: 4px solid #ddd;
  322. }
  323. .markdown-body blockquote>:first-child {
  324. margin-top: 0;
  325. }
  326. .markdown-body blockquote>:last-child {
  327. margin-bottom: 0;
  328. }
  329. .markdown-body table {
  330. display: block;
  331. width: 100%;
  332. overflow: auto;
  333. word-break: normal;
  334. word-break: keep-all;
  335. }
  336. .markdown-body table th {
  337. font-weight: bold;
  338. }
  339. .markdown-body table th,
  340. .markdown-body table td {
  341. padding: 6px 13px;
  342. border: 1px solid #ddd;
  343. }
  344. .markdown-body table tr {
  345. background-color: #fff;
  346. border-top: 1px solid #ccc;
  347. }
  348. .markdown-body table tr:nth-child(2n) {
  349. background-color: #f8f8f8;
  350. }
  351. .markdown-body img {
  352. max-width: 100%;
  353. -moz-box-sizing: border-box;
  354. box-sizing: border-box;
  355. }
  356. .markdown-body code {
  357. padding: 0;
  358. padding-top: 0.2em;
  359. padding-bottom: 0.2em;
  360. margin: 0;
  361. font-size: 85%;
  362. background-color: rgba(0,0,0,0.04);
  363. border-radius: 3px;
  364. }
  365. .markdown-body code:before,
  366. .markdown-body code:after {
  367. letter-spacing: -0.2em;
  368. content: "\00a0";
  369. }
  370. .markdown-body pre>code {
  371. padding: 0;
  372. margin: 0;
  373. font-size: 100%;
  374. word-break: normal;
  375. white-space: pre;
  376. background: transparent;
  377. border: 0;
  378. }
  379. .markdown-body .highlight {
  380. margin-bottom: 16px;
  381. }
  382. .markdown-body .highlight pre,
  383. .markdown-body pre {
  384. padding: 16px;
  385. overflow: auto;
  386. font-size: 85%;
  387. line-height: 1.45;
  388. background-color: #f7f7f7;
  389. border-radius: 3px;
  390. }
  391. .markdown-body .highlight pre {
  392. margin-bottom: 0;
  393. word-break: normal;
  394. }
  395. .markdown-body pre {
  396. word-wrap: normal;
  397. }
  398. .markdown-body pre code {
  399. display: inline;
  400. max-width: initial;
  401. padding: 0;
  402. margin: 0;
  403. overflow: initial;
  404. line-height: inherit;
  405. word-wrap: normal;
  406. background-color: transparent;
  407. border: 0;
  408. }
  409. .markdown-body pre code:before,
  410. .markdown-body pre code:after {
  411. content: normal;
  412. }
  413. .markdown-body .highlight {
  414. background: #fff;
  415. }
  416. .markdown-body .highlight .mf,
  417. .markdown-body .highlight .mh,
  418. .markdown-body .highlight .mi,
  419. .markdown-body .highlight .mo,
  420. .markdown-body .highlight .il,
  421. .markdown-body .highlight .m {
  422. color: #945277;
  423. }
  424. .markdown-body .highlight .s,
  425. .markdown-body .highlight .sb,
  426. .markdown-body .highlight .sc,
  427. .markdown-body .highlight .sd,
  428. .markdown-body .highlight .s2,
  429. .markdown-body .highlight .se,
  430. .markdown-body .highlight .sh,
  431. .markdown-body .highlight .si,
  432. .markdown-body .highlight .sx,
  433. .markdown-body .highlight .s1 {
  434. color: #df5000;
  435. }
  436. .markdown-body .highlight .kc,
  437. .markdown-body .highlight .kd,
  438. .markdown-body .highlight .kn,
  439. .markdown-body .highlight .kp,
  440. .markdown-body .highlight .kr,
  441. .markdown-body .highlight .kt,
  442. .markdown-body .highlight .k,
  443. .markdown-body .highlight .o {
  444. font-weight: bold;
  445. }
  446. .markdown-body .highlight .kt {
  447. color: #458;
  448. }
  449. .markdown-body .highlight .c,
  450. .markdown-body .highlight .cm,
  451. .markdown-body .highlight .c1 {
  452. color: #998;
  453. font-style: italic;
  454. }
  455. .markdown-body .highlight .cp,
  456. .markdown-body .highlight .cs {
  457. color: #999;
  458. font-weight: bold;
  459. }
  460. .markdown-body .highlight .cs {
  461. font-style: italic;
  462. }
  463. .markdown-body .highlight .n {
  464. color: #333;
  465. }
  466. .markdown-body .highlight .na,
  467. .markdown-body .highlight .nv,
  468. .markdown-body .highlight .vc,
  469. .markdown-body .highlight .vg,
  470. .markdown-body .highlight .vi {
  471. color: #008080;
  472. }
  473. .markdown-body .highlight .nb {
  474. color: #0086B3;
  475. }
  476. .markdown-body .highlight .nc {
  477. color: #458;
  478. font-weight: bold;
  479. }
  480. .markdown-body .highlight .no {
  481. color: #094e99;
  482. }
  483. .markdown-body .highlight .ni {
  484. color: #800080;
  485. }
  486. .markdown-body .highlight .ne {
  487. color: #990000;
  488. font-weight: bold;
  489. }
  490. .markdown-body .highlight .nf {
  491. color: #945277;
  492. font-weight: bold;
  493. }
  494. .markdown-body .highlight .nn {
  495. color: #555;
  496. }
  497. .markdown-body .highlight .nt {
  498. color: #000080;
  499. }
  500. .markdown-body .highlight .err {
  501. color: #a61717;
  502. background-color: #e3d2d2;
  503. }
  504. .markdown-body .highlight .gd {
  505. color: #000;
  506. background-color: #fdd;
  507. }
  508. .markdown-body .highlight .gd .x {
  509. color: #000;
  510. background-color: #faa;
  511. }
  512. .markdown-body .highlight .ge {
  513. font-style: italic;
  514. }
  515. .markdown-body .highlight .gr {
  516. color: #aa0000;
  517. }
  518. .markdown-body .highlight .gh {
  519. color: #999;
  520. }
  521. .markdown-body .highlight .gi {
  522. color: #000;
  523. background-color: #dfd;
  524. }
  525. .markdown-body .highlight .gi .x {
  526. color: #000;
  527. background-color: #afa;
  528. }
  529. .markdown-body .highlight .go {
  530. color: #888;
  531. }
  532. .markdown-body .highlight .gp {
  533. color: #555;
  534. }
  535. .markdown-body .highlight .gs {
  536. font-weight: bold;
  537. }
  538. .markdown-body .highlight .gu {
  539. color: #800080;
  540. font-weight: bold;
  541. }
  542. .markdown-body .highlight .gt {
  543. color: #aa0000;
  544. }
  545. .markdown-body .highlight .ow {
  546. font-weight: bold;
  547. }
  548. .markdown-body .highlight .w {
  549. color: #bbb;
  550. }
  551. .markdown-body .highlight .sr {
  552. color: #017936;
  553. }
  554. .markdown-body .highlight .ss {
  555. color: #8b467f;
  556. }
  557. .markdown-body .highlight .bp {
  558. color: #999;
  559. }
  560. .markdown-body .highlight .gc {
  561. color: #999;
  562. background-color: #EAF2F5;
  563. }
  564. .markdown-body .octicon {
  565. font: normal normal 16px octicons-anchor;
  566. line-height: 1;
  567. display: inline-block;
  568. text-decoration: none;
  569. -webkit-font-smoothing: antialiased;
  570. -moz-osx-font-smoothing: grayscale;
  571. -webkit-user-select: none;
  572. -moz-user-select: none;
  573. -ms-user-select: none;
  574. user-select: none;
  575. }
  576. .markdown-body .octicon-link:before {
  577. content: '\f05c';
  578. }
  579. .markdown-body .task-list-item {
  580. list-style-type: none;
  581. }
  582. .markdown-body .task-list-item+.task-list-item {
  583. margin-top: 3px;
  584. }
  585. .markdown-body .task-list-item input {
  586. float: left;
  587. margin: 0.3em 0 0.25em -1.6em;
  588. vertical-align: middle;
  589. }
  590. /*
  591. github.com style (c) Vasily Polovnyov <vast@whiteants.net>
  592. */
  593. .hljs {
  594. display: block;
  595. overflow-x: auto;
  596. padding: 0.5em;
  597. color: #333;
  598. background: #f8f8f8;
  599. -webkit-text-size-adjust: none;
  600. }
  601. .hljs-comment,
  602. .diff .hljs-header {
  603. color: #998;
  604. font-style: italic;
  605. }
  606. .hljs-keyword,
  607. .css .rule .hljs-keyword,
  608. .hljs-winutils,
  609. .nginx .hljs-title,
  610. .hljs-subst,
  611. .hljs-request,
  612. .hljs-status {
  613. color: #333;
  614. font-weight: bold;
  615. }
  616. .hljs-number,
  617. .hljs-hexcolor,
  618. .ruby .hljs-constant {
  619. color: #008080;
  620. }
  621. .hljs-string,
  622. .hljs-tag .hljs-value,
  623. .hljs-doctag,
  624. .tex .hljs-formula {
  625. color: #d14;
  626. }
  627. .hljs-title,
  628. .hljs-id,
  629. .scss .hljs-preprocessor {
  630. color: #900;
  631. font-weight: bold;
  632. }
  633. .hljs-list .hljs-keyword,
  634. .hljs-subst {
  635. font-weight: normal;
  636. }
  637. .hljs-class .hljs-title,
  638. .hljs-type,
  639. .vhdl .hljs-literal,
  640. .tex .hljs-command {
  641. color: #458;
  642. font-weight: bold;
  643. }
  644. .hljs-tag,
  645. .hljs-tag .hljs-title,
  646. .hljs-rule .hljs-property,
  647. .django .hljs-tag .hljs-keyword {
  648. color: #000080;
  649. font-weight: normal;
  650. }
  651. .hljs-attribute,
  652. .hljs-variable,
  653. .lisp .hljs-body,
  654. .hljs-name {
  655. color: #008080;
  656. }
  657. .hljs-regexp {
  658. color: #009926;
  659. }
  660. .hljs-symbol,
  661. .ruby .hljs-symbol .hljs-string,
  662. .lisp .hljs-keyword,
  663. .clojure .hljs-keyword,
  664. .scheme .hljs-keyword,
  665. .tex .hljs-special,
  666. .hljs-prompt {
  667. color: #990073;
  668. }
  669. .hljs-built_in {
  670. color: #0086b3;
  671. }
  672. .hljs-preprocessor,
  673. .hljs-pragma,
  674. .hljs-pi,
  675. .hljs-doctype,
  676. .hljs-shebang,
  677. .hljs-cdata {
  678. color: #999;
  679. font-weight: bold;
  680. }
  681. .hljs-deletion {
  682. background: #fdd;
  683. }
  684. .hljs-addition {
  685. background: #dfd;
  686. }
  687. .diff .hljs-change {
  688. background: #0086b3;
  689. }
  690. .hljs-chunk {
  691. color: #aaa;
  692. }
  693. </style>
  694. <style> @media print{ {.hljs{overflow: visible; word-wrap: break-word;} }</style></head><body><div class="markdown-body">
  695. <h1 id="toc_0">SDK使用指南</h1>
  696. <hr/>
  697. <h2 id="toc_1">php</h2>
  698. <h3 id="toc_2">添加依赖包</h3>
  699. <ol>
  700. <li>下载依赖包</li>
  701. </ol>
  702. <pre><code>在config.php 文件内填写你的 APIKEY、APISECRET
  703. 在使用处添加以下引用
  704. require_once(&#39;path/to/YunpianAutoload.php&#39;);
  705. </code></pre>
  706. <h3 id="toc_3">使用</h3>
  707. <pre><code>&lt;?php
  708. /**
  709. * Created by PhpStorm.
  710. * User: bingone
  711. * Date: 16/1/19
  712. * Time: 下午4:10
  713. */
  714. // 1. 首先在 conf/config.php 中配置自己的相关信息
  715. // 返回格式可参考官网: www.yunpian.com
  716. // 2. require the file
  717. require_once &#39;../YunpianAutoload.php&#39;;
  718. // 获取用户信息
  719. $userOperator = new UserOperator();
  720. $result = $userOperator-&gt;get();
  721. print_r($result);
  722. // 模板
  723. $tplOperator = new TplOperator();
  724. $result = $tplOperator-&gt;get_default(array(&quot;tpl_id&quot;=&gt;&#39;2&#39;));
  725. print_r($result);
  726. $result = $tplOperator-&gt;get();
  727. print_r($result);
  728. $result = $tplOperator-&gt;add(array(&quot;tpl_content&quot;=&gt;&quot;【bb】大倪#asdf#&quot;));
  729. print_r($result);
  730. // 发送单条短信
  731. $smsOperator = new SmsOperator();
  732. $data[&#39;mobile&#39;] = &#39;13300000000&#39;;
  733. $data[&#39;text&#39;] = &#39;【云片网】您的验证码是1234&#39;;
  734. $result = $smsOperator-&gt;single_send($data);
  735. print_r($result);
  736. //发送批量短信
  737. $data[&#39;mobile&#39;] = &#39;13100000000,13100000001,2,13100000003&#39;;
  738. $result = $smsOperator-&gt;batch_send($data);
  739. print_r($result);
  740. //发送个性化短信
  741. $data[&#39;mobile&#39;] = &#39;13000000000,13000000001,1,13000000003&#39;;
  742. $data[&#39;text&#39;] = &#39;【云片网】您的验证码是1234,【云片网】您的验证码是6414,【云片网】您的验证码是0099,【云片网】您的验证码是3451&#39;;
  743. $result = $smsOperator-&gt;multi_send($data);
  744. print_r($result);
  745. //发送指定模板短信(不推荐)
  746. // 模板为【#company#】您的验证码是#code#
  747. // 发送内容:【云片网】您的验证码是1234
  748. //$data[&#39;mobile&#39;] = &#39;13400000000,13400000001,1,13400000003&#39;;
  749. //$data[&#39;tpl_id&#39;] = &quot;1&quot;;
  750. //$data[&#39;tpl_value&#39;] =
  751. // urlencode(&quot;#code#&quot;) . &quot;=&quot;
  752. // . urlencode(&quot;1234&quot;) . &quot;&amp;&quot;
  753. // . urlencode(&quot;#company#&quot;) . &quot;=&quot;
  754. // . urlencode(&quot;云片网&quot;);
  755. //$result = $smsOperator-&gt;tpl_send($data);
  756. //print_r($result);
  757. // 流量
  758. $flowOperator = new FlowOperator();
  759. $result = $flowOperator-&gt;get_package();
  760. print_r($result);
  761. $result = $flowOperator-&gt;recharge(array(&quot;sn&quot;=&gt;&quot;1008601&quot;,&quot;mobile&quot;=&gt;&quot;18700000000&quot;));
  762. print_r($result);
  763. // 语音
  764. $voiceOperator = new VoiceOperator();
  765. $result = $voiceOperator-&gt;send(array(&quot;mobile&quot;=&gt;&quot;18700000000&quot;,&quot;code&quot;=&gt;&quot;1234&quot;));
  766. print_r($result);
  767. ?&gt;
  768. </code></pre>
  769. </div></body>
  770. </html>