├── LICENSE.txt ├── README.md ├── application ├── .htaccess ├── admin │ ├── controller │ │ ├── Article.php │ │ ├── Base.php │ │ ├── Books.php │ │ ├── Index.php │ │ ├── Login.php │ │ ├── Rule.php │ │ ├── Settings.php │ │ ├── Type.php │ │ └── User.php │ ├── model │ │ ├── Article.php │ │ ├── Books.php │ │ ├── Curl.php │ │ ├── Rule.php │ │ ├── Settings.php │ │ └── User.php │ └── view │ │ └── template │ │ ├── admin_add.html │ │ ├── admin_edit.html │ │ ├── admin_list.html │ │ ├── admin_password.html │ │ ├── article_add.html │ │ ├── article_edit.html │ │ ├── article_list.html │ │ ├── book_gather.html │ │ ├── books_add.html │ │ ├── books_add_manual.html │ │ ├── books_chapter.html │ │ ├── books_edit.html │ │ ├── books_list.html │ │ ├── footer.html │ │ ├── header.html │ │ ├── iframe_footer.html │ │ ├── iframe_header.html │ │ ├── index.html │ │ ├── login.html │ │ ├── member-add.html │ │ ├── meun.html │ │ ├── rule_add.html │ │ ├── rule_edit.html │ │ ├── rule_list.html │ │ ├── seo_add.html │ │ ├── seo_edit.html │ │ ├── seo_list.html │ │ ├── settings_changyan.html │ │ ├── settings_home_cache.html │ │ ├── settings_mail.html │ │ ├── settings_slide.html │ │ ├── settings_slide_pc.html │ │ ├── settings_website.html │ │ ├── type_add.html │ │ ├── type_list.html │ │ ├── user_add.html │ │ ├── user_edit.html │ │ ├── user_list.html │ │ ├── user_password.html │ │ └── welcome.html ├── books │ ├── common.php │ ├── config.php │ ├── controller │ │ ├── Apotheosize.php │ │ ├── Base.php │ │ ├── Bibliotheca.php │ │ ├── Catalog.php │ │ ├── Cover.php │ │ ├── Curl.php │ │ ├── Index.php │ │ ├── Info.php │ │ ├── Login.php │ │ ├── Page.php │ │ ├── Rankinglist.php │ │ ├── Search.php │ │ ├── Shelf.php │ │ ├── User.php │ │ └── ZtCurl.php │ ├── model │ │ ├── Bibliotheca.php │ │ ├── Catalog.php │ │ ├── Cou.php │ │ ├── Cover.php │ │ ├── Curl.php │ │ ├── Search.php │ │ ├── Sentence.php │ │ └── User.php │ └── view │ │ ├── mobile │ │ ├── bibliotheca.html │ │ ├── bibliotheca_type.html │ │ ├── catalog.html │ │ ├── copyright.html │ │ ├── cover.html │ │ ├── footer.html │ │ ├── forgetpassword.html │ │ ├── forum.html │ │ ├── header.html │ │ ├── hostory.html │ │ ├── icon.html │ │ ├── index.html │ │ ├── info.html │ │ ├── login.html │ │ ├── more_navigation.html │ │ ├── rankinglist.html │ │ ├── register.html │ │ ├── search.html │ │ ├── search_input.html │ │ ├── shelf.html │ │ ├── user.html │ │ ├── user_badge.html │ │ ├── user_center.html │ │ └── user_message.html │ │ └── template │ │ ├── about.html │ │ ├── apotheosize.html │ │ ├── bibliotheca.html │ │ ├── catalog.html │ │ ├── copyright.html │ │ ├── cover.html │ │ ├── employ.html │ │ ├── footer.html │ │ ├── forgetpassword.html │ │ ├── header.html │ │ ├── headerCon.html │ │ ├── imglazy.html │ │ ├── index.html │ │ ├── info.html │ │ ├── privacy.html │ │ ├── rankinglist.html │ │ ├── register.html │ │ ├── search.html │ │ ├── shelf.html │ │ └── user.html ├── command.php ├── common.php ├── config.php ├── database.php ├── extra │ └── queue.php ├── index │ └── controller │ │ └── Index.php ├── route.php └── tags.php ├── build.php ├── composer.json ├── composer.lock ├── extend ├── Mobile_Detect.php ├── PHPMailer │ ├── PHPMailer.php │ ├── SendEmail.php │ └── class.smtp.php ├── QueryList.php └── phpQuery.php ├── new_books.sql ├── public ├── .htaccess ├── 404.html ├── admin.php ├── favicon.ico ├── index.php ├── robots.txt ├── router.php └── static │ ├── admin │ ├── css │ │ ├── font.css │ │ └── xadmin.css │ ├── fonts │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ ├── images │ │ ├── aiwrap.png │ │ └── bg.png │ ├── js │ │ ├── jquery.1.11.min.js │ │ ├── xadmin.js │ │ └── xcity.js │ └── lib │ │ └── layui │ │ ├── css │ │ ├── layui.css │ │ ├── layui.mobile.css │ │ └── modules │ │ │ ├── code.css │ │ │ ├── laydate │ │ │ └── default │ │ │ │ └── laydate.css │ │ │ └── layer │ │ │ └── default │ │ │ ├── icon-ext.png │ │ │ ├── icon.png │ │ │ ├── layer.css │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ │ ├── font │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ │ ├── images │ │ └── face │ │ │ ├── 0.gif │ │ │ ├── 1.gif │ │ │ ├── 10.gif │ │ │ ├── 11.gif │ │ │ ├── 12.gif │ │ │ ├── 13.gif │ │ │ ├── 14.gif │ │ │ ├── 15.gif │ │ │ ├── 16.gif │ │ │ ├── 17.gif │ │ │ ├── 18.gif │ │ │ ├── 19.gif │ │ │ ├── 2.gif │ │ │ ├── 20.gif │ │ │ ├── 21.gif │ │ │ ├── 22.gif │ │ │ ├── 23.gif │ │ │ ├── 24.gif │ │ │ ├── 25.gif │ │ │ ├── 26.gif │ │ │ ├── 27.gif │ │ │ ├── 28.gif │ │ │ ├── 29.gif │ │ │ ├── 3.gif │ │ │ ├── 30.gif │ │ │ ├── 31.gif │ │ │ ├── 32.gif │ │ │ ├── 33.gif │ │ │ ├── 34.gif │ │ │ ├── 35.gif │ │ │ ├── 36.gif │ │ │ ├── 37.gif │ │ │ ├── 38.gif │ │ │ ├── 39.gif │ │ │ ├── 4.gif │ │ │ ├── 40.gif │ │ │ ├── 41.gif │ │ │ ├── 42.gif │ │ │ ├── 43.gif │ │ │ ├── 44.gif │ │ │ ├── 45.gif │ │ │ ├── 46.gif │ │ │ ├── 47.gif │ │ │ ├── 48.gif │ │ │ ├── 49.gif │ │ │ ├── 5.gif │ │ │ ├── 50.gif │ │ │ ├── 51.gif │ │ │ ├── 52.gif │ │ │ ├── 53.gif │ │ │ ├── 54.gif │ │ │ ├── 55.gif │ │ │ ├── 56.gif │ │ │ ├── 57.gif │ │ │ ├── 58.gif │ │ │ ├── 59.gif │ │ │ ├── 6.gif │ │ │ ├── 60.gif │ │ │ ├── 61.gif │ │ │ ├── 62.gif │ │ │ ├── 63.gif │ │ │ ├── 64.gif │ │ │ ├── 65.gif │ │ │ ├── 66.gif │ │ │ ├── 67.gif │ │ │ ├── 68.gif │ │ │ ├── 69.gif │ │ │ ├── 7.gif │ │ │ ├── 70.gif │ │ │ ├── 71.gif │ │ │ ├── 8.gif │ │ │ └── 9.gif │ │ ├── lay │ │ └── modules │ │ │ ├── carousel.js │ │ │ ├── code.js │ │ │ ├── element.js │ │ │ ├── flow.js │ │ │ ├── form.js │ │ │ ├── jquery.js │ │ │ ├── laydate.js │ │ │ ├── layedit.js │ │ │ ├── layer.js │ │ │ ├── laypage.js │ │ │ ├── laytpl.js │ │ │ ├── mobile.js │ │ │ ├── table.js │ │ │ ├── tree.js │ │ │ ├── upload.js │ │ │ └── util.js │ │ ├── layui.all.js │ │ └── layui.js │ ├── css │ ├── mobile_index.css │ ├── mobile_info.css │ ├── mobile_module.css │ ├── mobile_sprite.css │ ├── mobile_style.css │ ├── mobile_user.css │ └── style.css │ ├── fonts │ ├── fzfont.eot │ ├── fzfont.ttf │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 │ ├── images │ ├── 404.png │ ├── apotheosize_bn.jpg │ ├── badge │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ └── 7.png │ ├── bannerbg.jpg │ ├── bn_arrows.png │ ├── books_img │ │ ├── 1054382.jpg │ │ ├── 1141967.jpg │ │ ├── 1226806.jpg │ │ ├── 1412963.jpg │ │ ├── 1455383.jpg │ │ ├── 1603698.jpg │ │ ├── 1621093.jpg │ │ ├── 1734313.jpg │ │ ├── 1739196.jpg │ │ ├── 1842956.jpg │ │ ├── 1927185.jpg │ │ ├── 1972045.jpg │ │ ├── 1986389.jpg │ │ ├── 203552.jpg │ │ ├── 223083.jpg │ │ ├── 24719.jpg │ │ ├── 2480773.jpg │ │ ├── 2601318.jpg │ │ ├── 2614746.jpg │ │ ├── 265502.jpg │ │ ├── 2977600.jpg │ │ ├── 3090820.jpg │ │ ├── 3287048.jpg │ │ ├── 3311462.jpg │ │ ├── 333557.jpg │ │ ├── 3494873.jpg │ │ ├── 3497924.jpg │ │ ├── 3551940.jpg │ │ ├── 3588867.jpg │ │ ├── 3828735.jpg │ │ ├── 4269714.jpg │ │ ├── 436096.jpg │ │ ├── 4364318.jpg │ │ ├── 4461669.jpg │ │ ├── 4502563.jpg │ │ ├── 466613.jpg │ │ ├── 4675292.jpg │ │ ├── 4759521.jpg │ │ ├── 4805908.jpg │ │ ├── 485839.jpg │ │ ├── 5044555.jpg │ │ ├── 5491027.jpg │ │ ├── 554504.jpg │ │ ├── 55541.jpg │ │ ├── 5861816.jpg │ │ ├── 593872.jpg │ │ ├── 6085205.jpg │ │ ├── 6088256.jpg │ │ ├── 6196899.jpg │ │ ├── 6243286.jpg │ │ ├── 6293029.jpg │ │ ├── 6429748.jpg │ │ ├── 6520385.jpg │ │ ├── 6532897.jpg │ │ ├── 6552124.jpg │ │ ├── 667724.jpg │ │ ├── 680236.jpg │ │ ├── 6822509.jpg │ │ ├── 6926269.jpg │ │ ├── 6936950.jpg │ │ ├── 7107543.jpg │ │ ├── 7133178.jpg │ │ ├── 714416.jpg │ │ ├── 7276611.jpg │ │ ├── 7453918.jpg │ │ ├── 7553405.jpg │ │ ├── 761413.jpg │ │ ├── 7699890.jpg │ │ ├── 7836914.jpg │ │ ├── 7973937.jpg │ │ ├── 7998046.jpg │ │ ├── 8166809.jpg │ │ ├── 838317.jpg │ │ ├── 8745727.jpg │ │ ├── 8793334.jpg │ │ ├── 881958.jpg │ │ ├── 8883972.jpg │ │ ├── 8916931.jpg │ │ ├── 8926391.jpg │ │ ├── 8931579.jpg │ │ ├── 8994140.jpg │ │ ├── 9128723.jpg │ │ ├── 9270629.jpg │ │ ├── 9295959.jpg │ │ ├── 9624328.jpg │ │ └── 9674377.jpg │ ├── bottom_icon.png │ ├── center-header.jpg │ ├── centerbg.jpg │ ├── chapter-btn-cover.png │ ├── class_1.jpg │ ├── class_10.jpg │ ├── class_2.jpg │ ├── class_3.jpg │ ├── class_4.jpg │ ├── class_5.jpg │ ├── class_6.jpg │ ├── class_7.jpg │ ├── class_8.jpg │ ├── class_9.jpg │ ├── cover.jpg │ ├── cover_icon.png │ ├── editpen.png │ ├── emotion.png │ ├── last.png │ ├── logo.png │ ├── next.png │ ├── no.svg │ ├── qq.png │ ├── query.png │ ├── seamlr.png │ ├── setup_icon.png │ ├── shelf_bn.jpg │ ├── shelf_btn.png │ ├── shuku_icon.png │ ├── skin-default-s-6bf528b859.png │ ├── skin-default-t-ece62008d6.jpg │ ├── slider-arrow.png │ ├── sms.png │ ├── sprite.png │ ├── timg.jpg │ ├── timg2.jpg │ ├── ui-icons_444444_256x240.png │ ├── ui-icons_555555_256x240.png │ ├── ui-icons_777620_256x240.png │ ├── ui-icons_777777_256x240.png │ ├── ui-icons_cc0000_256x240.png │ ├── ui-icons_ffffff_256x240.png │ ├── user_center │ │ ├── center-level-ding-7c224d536d.svg │ │ ├── center-level-pri-ce55ba8393.svg │ │ ├── center-level-shang-3a1e6b6e7c.svg │ │ ├── center-level-song-d8f2957e92.svg │ │ └── center-level-yue-5351471dce.svg │ ├── user_ico.png │ ├── vip_icon.gif │ └── wait.gif │ └── js │ ├── changyan.js │ ├── common.js │ ├── jq-c0eb42550f.1.11.min.js │ ├── jquery-1.9.1.min.js │ ├── jquery-546c1da987.lazyload.min.js │ ├── jquery-ui-019252536e.js │ ├── jquery.SuperSlide.2.1.1.js │ ├── jquery.pagination.js │ ├── layer │ ├── layer.js │ ├── mobile │ │ ├── layer.js │ │ └── need │ │ │ └── layer.css │ └── theme │ │ └── default │ │ ├── icon-ext.png │ │ ├── icon.png │ │ ├── layer.css │ │ ├── loading-0.gif │ │ ├── loading-1.gif │ │ └── loading-2.gif │ ├── layer_mobile │ ├── layer.js │ └── need │ │ └── layer.css │ ├── mobile_info.js │ ├── underscore.js │ └── version-v3.js ├── think ├── thinkphp ├── .htaccess ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── base.php ├── codecov.yml ├── composer.json ├── console.php ├── convention.php ├── helper.php ├── lang │ └── zh-cn.php ├── library │ ├── QL │ │ ├── QueryList.class.php │ │ └── phpQuery.php │ ├── think │ │ ├── App.php │ │ ├── Build.php │ │ ├── Cache.php │ │ ├── Collection.php │ │ ├── Config.php │ │ ├── Console.php │ │ ├── Controller.php │ │ ├── Cookie.php │ │ ├── Db.php │ │ ├── Debug.php │ │ ├── Env.php │ │ ├── Error.php │ │ ├── Exception.php │ │ ├── File.php │ │ ├── Hook.php │ │ ├── Lang.php │ │ ├── Loader.php │ │ ├── Log.php │ │ ├── Model.php │ │ ├── Paginator.php │ │ ├── Process.php │ │ ├── Request.php │ │ ├── Response.php │ │ ├── Route.php │ │ ├── Session.php │ │ ├── Template.php │ │ ├── Url.php │ │ ├── Validate.php │ │ ├── View.php │ │ ├── cache │ │ │ ├── Driver.php │ │ │ └── driver │ │ │ │ ├── File.php │ │ │ │ ├── Lite.php │ │ │ │ ├── Memcache.php │ │ │ │ ├── Memcached.php │ │ │ │ ├── Redis.php │ │ │ │ ├── Sqlite.php │ │ │ │ ├── Wincache.php │ │ │ │ └── Xcache.php │ │ ├── config │ │ │ └── driver │ │ │ │ ├── Ini.php │ │ │ │ ├── Json.php │ │ │ │ └── Xml.php │ │ ├── console │ │ │ ├── Command.php │ │ │ ├── Input.php │ │ │ ├── LICENSE │ │ │ ├── Output.php │ │ │ ├── bin │ │ │ │ ├── README.md │ │ │ │ └── hiddeninput.exe │ │ │ ├── command │ │ │ │ ├── Build.php │ │ │ │ ├── Clear.php │ │ │ │ ├── Help.php │ │ │ │ ├── Lists.php │ │ │ │ ├── Make.php │ │ │ │ ├── make │ │ │ │ │ ├── Controller.php │ │ │ │ │ ├── Model.php │ │ │ │ │ └── stubs │ │ │ │ │ │ ├── controller.plain.stub │ │ │ │ │ │ ├── controller.stub │ │ │ │ │ │ └── model.stub │ │ │ │ └── optimize │ │ │ │ │ ├── Autoload.php │ │ │ │ │ ├── Config.php │ │ │ │ │ ├── Route.php │ │ │ │ │ └── Schema.php │ │ │ ├── input │ │ │ │ ├── Argument.php │ │ │ │ ├── Definition.php │ │ │ │ └── Option.php │ │ │ └── output │ │ │ │ ├── Ask.php │ │ │ │ ├── Descriptor.php │ │ │ │ ├── Formatter.php │ │ │ │ ├── Question.php │ │ │ │ ├── descriptor │ │ │ │ └── Console.php │ │ │ │ ├── driver │ │ │ │ ├── Buffer.php │ │ │ │ ├── Console.php │ │ │ │ └── Nothing.php │ │ │ │ ├── formatter │ │ │ │ ├── Stack.php │ │ │ │ └── Style.php │ │ │ │ └── question │ │ │ │ ├── Choice.php │ │ │ │ └── Confirmation.php │ │ ├── controller │ │ │ ├── Rest.php │ │ │ └── Yar.php │ │ ├── db │ │ │ ├── Builder.php │ │ │ ├── Connection.php │ │ │ ├── Expression.php │ │ │ ├── Query.php │ │ │ ├── builder │ │ │ │ ├── Mysql.php │ │ │ │ ├── Pgsql.php │ │ │ │ ├── Sqlite.php │ │ │ │ └── Sqlsrv.php │ │ │ ├── connector │ │ │ │ ├── Mysql.php │ │ │ │ ├── Pgsql.php │ │ │ │ ├── Sqlite.php │ │ │ │ ├── Sqlsrv.php │ │ │ │ └── pgsql.sql │ │ │ └── exception │ │ │ │ ├── BindParamException.php │ │ │ │ ├── DataNotFoundException.php │ │ │ │ └── ModelNotFoundException.php │ │ ├── debug │ │ │ ├── Console.php │ │ │ └── Html.php │ │ ├── exception │ │ │ ├── ClassNotFoundException.php │ │ │ ├── DbException.php │ │ │ ├── ErrorException.php │ │ │ ├── Handle.php │ │ │ ├── HttpException.php │ │ │ ├── HttpResponseException.php │ │ │ ├── PDOException.php │ │ │ ├── RouteNotFoundException.php │ │ │ ├── TemplateNotFoundException.php │ │ │ ├── ThrowableError.php │ │ │ └── ValidateException.php │ │ ├── log │ │ │ └── driver │ │ │ │ ├── File.php │ │ │ │ ├── Socket.php │ │ │ │ └── Test.php │ │ ├── model │ │ │ ├── Collection.php │ │ │ ├── Merge.php │ │ │ ├── Pivot.php │ │ │ ├── Relation.php │ │ │ └── relation │ │ │ │ ├── BelongsTo.php │ │ │ │ ├── BelongsToMany.php │ │ │ │ ├── HasMany.php │ │ │ │ ├── HasManyThrough.php │ │ │ │ ├── HasOne.php │ │ │ │ ├── MorphMany.php │ │ │ │ ├── MorphOne.php │ │ │ │ ├── MorphTo.php │ │ │ │ └── OneToOne.php │ │ ├── paginator │ │ │ └── driver │ │ │ │ └── Bootstrap.php │ │ ├── process │ │ │ ├── Builder.php │ │ │ ├── Utils.php │ │ │ ├── exception │ │ │ │ ├── Failed.php │ │ │ │ └── Timeout.php │ │ │ └── pipes │ │ │ │ ├── Pipes.php │ │ │ │ ├── Unix.php │ │ │ │ └── Windows.php │ │ ├── response │ │ │ ├── Json.php │ │ │ ├── Jsonp.php │ │ │ ├── Redirect.php │ │ │ ├── View.php │ │ │ └── Xml.php │ │ ├── session │ │ │ └── driver │ │ │ │ ├── Memcache.php │ │ │ │ ├── Memcached.php │ │ │ │ └── Redis.php │ │ ├── template │ │ │ ├── TagLib.php │ │ │ ├── driver │ │ │ │ └── File.php │ │ │ └── taglib │ │ │ │ └── Cx.php │ │ └── view │ │ │ └── driver │ │ │ ├── Php.php │ │ │ └── Think.php │ └── traits │ │ ├── controller │ │ └── Jump.php │ │ ├── model │ │ └── SoftDelete.php │ │ └── think │ │ └── Instance.php ├── logo.png ├── phpunit.xml ├── start.php └── tpl │ ├── default_index.tpl │ ├── dispatch_jump.tpl │ ├── page_trace.tpl │ └── think_exception.tpl └── vendor ├── autoload.php ├── composer ├── ClassLoader.php ├── LICENSE ├── autoload_classmap.php ├── autoload_files.php ├── autoload_namespaces.php ├── autoload_psr4.php ├── autoload_real.php ├── autoload_static.php └── installed.json └── topthink ├── think-captcha ├── LICENSE ├── README.md ├── assets │ ├── bgs │ │ ├── 1.jpg │ │ ├── 2.jpg │ │ ├── 3.jpg │ │ ├── 4.jpg │ │ ├── 5.jpg │ │ ├── 6.jpg │ │ ├── 7.jpg │ │ └── 8.jpg │ ├── ttfs │ │ ├── 1.ttf │ │ ├── 2.ttf │ │ ├── 3.ttf │ │ ├── 4.ttf │ │ ├── 5.ttf │ │ └── 6.ttf │ └── zhttfs │ │ └── 1.ttf ├── composer.json └── src │ ├── Captcha.php │ ├── CaptchaController.php │ └── helper.php ├── think-helper ├── LICENSE ├── README.md ├── composer.json └── src │ ├── Arr.php │ ├── Hash.php │ ├── Str.php │ ├── Time.php │ ├── hash │ ├── Bcrypt.php │ └── Md5.php │ └── helper.php ├── think-image ├── .travis.yml ├── LICENSE ├── README.md ├── composer.json ├── phpunit.xml ├── src │ ├── Image.php │ └── image │ │ ├── Exception.php │ │ └── gif │ │ ├── Decoder.php │ │ ├── Encoder.php │ │ └── Gif.php └── tests │ ├── CropTest.php │ ├── FlipTest.php │ ├── InfoTest.php │ ├── RotateTest.php │ ├── TestCase.php │ ├── TextTest.php │ ├── ThumbTest.php │ ├── WaterTest.php │ ├── autoload.php │ └── images │ ├── test.bmp │ ├── test.gif │ ├── test.jpg │ ├── test.png │ └── test.ttf ├── think-installer ├── composer.json └── src │ ├── Plugin.php │ ├── ThinkExtend.php │ ├── ThinkFramework.php │ └── ThinkTesting.php ├── think-migration ├── LICENSE ├── README.md ├── composer.json ├── phinx │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ └── src │ │ └── Phinx │ │ ├── Db │ │ ├── Adapter │ │ │ ├── AdapterFactory.php │ │ │ ├── AdapterInterface.php │ │ │ ├── AdapterWrapper.php │ │ │ ├── MysqlAdapter.php │ │ │ ├── PdoAdapter.php │ │ │ ├── PostgresAdapter.php │ │ │ ├── ProxyAdapter.php │ │ │ ├── SQLiteAdapter.php │ │ │ ├── SqlServerAdapter.php │ │ │ ├── TablePrefixAdapter.php │ │ │ └── WrapperInterface.php │ │ ├── Table.php │ │ └── Table │ │ │ ├── Column.php │ │ │ ├── ForeignKey.php │ │ │ └── Index.php │ │ ├── Migration │ │ ├── AbstractMigration.php │ │ ├── AbstractTemplateCreation.php │ │ ├── CreationInterface.php │ │ ├── IrreversibleMigrationException.php │ │ ├── Migration.template.php.dist │ │ └── MigrationInterface.php │ │ ├── Seed │ │ ├── AbstractSeed.php │ │ ├── Seed.template.php.dist │ │ └── SeedInterface.php │ │ └── Util │ │ └── Util.php └── src │ ├── Command.php │ ├── Migrator.php │ ├── Seeder.php │ ├── command │ ├── Migrate.php │ ├── Seed.php │ ├── migrate │ │ ├── Breakpoint.php │ │ ├── Create.php │ │ ├── Rollback.php │ │ ├── Run.php │ │ └── Status.php │ ├── seed │ │ ├── Create.php │ │ └── Run.php │ └── stubs │ │ ├── migrate.stub │ │ └── seed.stub │ ├── config.php │ └── db │ ├── Column.php │ └── Table.php ├── think-mongo ├── LICENSE ├── README.md ├── composer.json └── src │ ├── Builder.php │ ├── Connection.php │ └── Query.php └── think-queue ├── LICENSE ├── README.md ├── composer.json └── src ├── Queue.php ├── common.php ├── config.php └── queue ├── CallQueuedHandler.php ├── Connector.php ├── Job.php ├── Listener.php ├── Queueable.php ├── ShouldQueue.php ├── Worker.php ├── command ├── Listen.php ├── Restart.php ├── Subscribe.php └── Work.php ├── connector ├── Database.php ├── Redis.php ├── Sync.php └── Topthink.php └── job ├── Database.php ├── Redis.php ├── Sync.php └── Topthink.php /LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 3 | 版权所有Copyright © 2006-2017 by ThinkPHP (http://thinkphp.cn) 4 | All rights reserved。 5 | ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 6 | 7 | Apache Licence是著名的非盈利开源组织Apache采用的协议。 8 | 该协议和BSD类似,鼓励代码共享和尊重原作者的著作权, 9 | 允许代码修改,再作为开源或商业软件发布。需要满足 10 | 的条件: 11 | 1. 需要给代码的用户一份Apache Licence ; 12 | 2. 如果你修改了代码,需要在被修改的文件中说明; 13 | 3. 在延伸的代码中(修改和有源代码衍生的代码中)需要 14 | 带有原来代码中的协议,商标,专利声明和其他原来作者规 15 | 定需要包含的说明; 16 | 4. 如果再发布的产品中包含一个Notice文件,则在Notice文 17 | 件中需要带有本协议内容。你可以在Notice中增加自己的 18 | 许可,但不可以表现为对Apache Licence构成更改。 19 | 具体的协议参考:http://www.apache.org/licenses/LICENSE-2.0 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 27 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 | POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /application/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Options +FollowSymlinks -Multiviews 3 | RewriteEngine on 4 | 5 | RewriteCond %{REQUEST_FILENAME} !-d 6 | RewriteCond %{REQUEST_FILENAME} !-f 7 | RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] 8 | -------------------------------------------------------------------------------- /application/admin/controller/Base.php: -------------------------------------------------------------------------------- 1 | view->admin_name = $admin_name; 25 | $this->view->admin_id =$admin_id; 26 | }else{ 27 | 28 | $this->redirect('login/index'); 29 | } 30 | 31 | $admin = Db::table('books_admin')->where('admin_id',$admin_id)->find() ; 32 | $this->view->arr = $admin['admin_power']; 33 | 34 | 35 | } 36 | } -------------------------------------------------------------------------------- /application/admin/controller/Login.php: -------------------------------------------------------------------------------- 1 | redirect('index/index'); 17 | } 18 | 19 | return $this->fetch('template/login'); 20 | } 21 | 22 | public function login(){ 23 | $admin_name = input("post.admin_name"); 24 | $admin_password = input("post.admin_password"); 25 | 26 | if(empty($admin_name) || empty($admin_password) ){ 27 | return $this->error('用户名或密码不能为空'); 28 | } 29 | 30 | $pwd = md5($admin_password); 31 | 32 | $has = Db::table('books_admin')->where('admin_name',$admin_name)->where('admin_password',$pwd)->find(); 33 | if(!empty($has)){ 34 | 35 | session('admin_id',$has['admin_id']); 36 | session('admin_name',$has['admin_name']); 37 | 38 | return $this->success('登陆成功','index/index'); 39 | }else{ 40 | return $this->error('管理名称或密码错误'); 41 | } 42 | 43 | } 44 | 45 | public function loginout(){ 46 | 47 | Session::delete('admin_id'); 48 | Session::delete('admin_name'); 49 | 50 | return alert_success('退出登陆成功','index'); 51 | 52 | } 53 | 54 | 55 | } -------------------------------------------------------------------------------- /application/admin/model/Article.php: -------------------------------------------------------------------------------- 1 | where($map)->paginate(10,false,['query' => request()->param()]); 28 | }else{ 29 | $result = Db::table('books_article')->paginate('10'); 30 | } 31 | 32 | return $result; 33 | } 34 | 35 | /** 36 | * @param array $res 37 | * @return int|string 38 | * 数据数量 39 | */ 40 | public function getNum($res=array()){ 41 | if(!empty($res['article_name'])){ 42 | $map['article_name'] = ['like',"%{$res['article_name']}%"]; 43 | } 44 | 45 | 46 | if(!empty($map)){ 47 | $result = Db::table('books_article')->where($map)->count(); 48 | }else{ 49 | $result = Db::table('books_article')->count(); 50 | } 51 | 52 | return $result; 53 | } 54 | 55 | 56 | 57 | 58 | 59 | 60 | } -------------------------------------------------------------------------------- /application/admin/model/Rule.php: -------------------------------------------------------------------------------- 1 | where($map)->paginate(10,false,['query' => request()->param()]); 28 | }else{ 29 | $result = Db::table('books_seo')->paginate('10'); 30 | } 31 | 32 | return $result; 33 | } 34 | 35 | /** 36 | * @param array $res 37 | * @return int|string 38 | * 数据数量 39 | */ 40 | public function getNum($res=array()){ 41 | if(!empty($res['seo_remark'])){ 42 | $map['seo_remark'] = ['like',"%{$res['seo_remark']}%"]; 43 | } 44 | 45 | 46 | if(!empty($map)){ 47 | $result = Db::table('books_seo')->where($map)->count(); 48 | }else{ 49 | $result = Db::table('books_seo')->count(); 50 | } 51 | 52 | return $result; 53 | } 54 | 55 | 56 | 57 | 58 | 59 | 60 | } -------------------------------------------------------------------------------- /application/admin/view/template/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /application/admin/view/template/iframe_footer.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/application/admin/view/template/iframe_footer.html -------------------------------------------------------------------------------- /application/admin/view/template/iframe_header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 欢迎页面 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 |
25 | 26 | {volist name='address' id='vo' } 27 | {$vo} 28 | {/volist} 29 | 30 | 31 | 32 | 33 |
-------------------------------------------------------------------------------- /application/admin/view/template/index.html: -------------------------------------------------------------------------------- 1 | {include file='template/header' /} 2 | {include file='template/meun' /} 3 | 4 |
5 |
6 | 9 |
10 |
11 | 12 |
13 |
14 |
15 |
16 |
17 | 18 | {include file='template/footer' /} -------------------------------------------------------------------------------- /application/books/common.php: -------------------------------------------------------------------------------- 1 | fetch('template/apotheosize'); 20 | } 21 | } -------------------------------------------------------------------------------- /application/books/controller/Catalog.php: -------------------------------------------------------------------------------- 1 | getBook($books_id); 29 | 30 | $match = $catalog->getCatalog($books_id); 31 | 32 | $chapter_num = count($match); 33 | 34 | $this->view->books_id = $books_id; 35 | $this->view->chapter_num = $chapter_num; 36 | $this->view->books_name = $books['books_name']; 37 | $this->view->books_author = $books['books_author']; 38 | $this->view->data = $match; 39 | $mobile = session('mobile'); 40 | if($mobile){ 41 | return $this->fetch('mobile/catalog'); 42 | }else{ 43 | return $this->fetch('template/catalog'); 44 | } 45 | } 46 | 47 | 48 | 49 | 50 | 51 | } -------------------------------------------------------------------------------- /application/books/controller/Rankinglist.php: -------------------------------------------------------------------------------- 1 | select(); 21 | 22 | foreach ($list as $key=>$val){ 23 | $name = $val['type_name'].'榜'; 24 | $res = Db::table('books_cou')->where('books_type', $val['type_id'])->order('books_time asc')->limit('9')->select(); 25 | $data[] = array('id'=>$val['type_id'],'name'=>$name,'res'=>$res); 26 | 27 | if($key=='5'){ 28 | break; 29 | } 30 | } 31 | 32 | //所有小说类型 33 | $types= array(); 34 | foreach ($list as $value){ 35 | $types[$value['type_id']] = $value['type_name']; 36 | } 37 | 38 | 39 | $this->view->data = $data; 40 | $this->view->types = $types; 41 | 42 | $mobile = session('mobile'); 43 | if($mobile){ 44 | return $this->fetch('mobile/rankinglist'); 45 | }else{ 46 | return $this->fetch('template/rankinglist'); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /application/books/model/Cou.php: -------------------------------------------------------------------------------- 1 | isUpdate()->saveAll($list); 23 | } 24 | } -------------------------------------------------------------------------------- /application/books/model/Cover.php: -------------------------------------------------------------------------------- 1 | where('books_id',"$books_id")->find(); 13 | return $result; 14 | } 15 | 16 | /*根据书id查询书籍最新章节*/ 17 | public function getNewchapter($books_id){ 18 | $result = Db::table('books_chapter')->where('books_id',"$books_id")->find(); 19 | return $result; 20 | } 21 | 22 | /*根据类型id查询书籍类型名*/ 23 | public function getTypeName($type_id){ 24 | $result = Db::table('books_type')->where('type_id',"$type_id")->find(); 25 | return $result['type_name']; 26 | } 27 | 28 | 29 | } -------------------------------------------------------------------------------- /application/books/model/Search.php: -------------------------------------------------------------------------------- 1 | where('books_name','like',"%{$book_name}%")->paginate(9); 20 | 21 | return $result; 22 | 23 | 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /application/books/model/Sentence.php: -------------------------------------------------------------------------------- 1 | where('user_id',$user_id)->find(); 23 | return $data; 24 | } 25 | 26 | public function history($user_id){ 27 | $data = Db::table('books_history')->alias('h')->field('c.books_id,c.books_name,c.books_img')->join('books_cou c','c.books_id=h.books_id')->where('h.user_id',$user_id)->order('history_time desc')->limit(4)->select(); 28 | 29 | return $data; 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /application/books/view/mobile/more_navigation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |
6 | 32 | 35 |
36 |
37 | -------------------------------------------------------------------------------- /application/books/view/mobile/user_message.html: -------------------------------------------------------------------------------- 1 | {include file="mobile/header" } 2 | 3 | 4 | 5 |
6 |
7 | 8 | 9 | 10 | 22 | 23 | {include file="mobile/more_navigation" /} 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
    32 | 33 | 34 | 35 | 36 | 37 |
    暂无消息
    38 | 39 | 40 |
41 | 42 | 43 | 44 |
45 |
46 | {include file="mobile/footer" } -------------------------------------------------------------------------------- /application/books/view/template/about.html: -------------------------------------------------------------------------------- 1 | {include file="template/header" /} 2 | {include file="template/headerCon" /} 3 |
4 |
5 |
6 |

关于我们

7 |

{$module_data.name}定位于为网民提供优质的小说、电子书资源服务,{$module_data.name}spider自动抓取互联网小说网站数据进行资源整合。为网民提供更舒适的阅读体验。

8 |

如果您有问题,可以通过以下联系方式联系我们。

9 |

QQ:1258598558

10 |

Email:1258598558@qq.com

11 |
12 |
13 |
14 | {include file="template/footer" /} -------------------------------------------------------------------------------- /application/books/view/template/employ.html: -------------------------------------------------------------------------------- 1 | {include file="template/header" /} 2 | {include file="template/headerCon" /} 3 |
4 |
5 |
6 |

申请收录

7 |

我们的收录是完全免费的,所有小说网站站长都可以联系我们提交免费收录申请(无弹窗广告优先收录),只要您的网站符合以下收录原则,都可以联系我们:

8 |

1.不收录有反动、色情、赌博等不良内容或提供不良内容链接的网站,以及网站名称或内容违反国家有关法规的网站

9 |

2.不收录无实用内容的网站,如您的网站正在建设中,尚无完整内容,请不必现在登录,欢迎您在网站建设完成后再来登录

10 |

3.不收录含有病毒、木马,弹出插件或恶意更改他人电脑设置的网站及有多个弹窗广告的网站

11 |

4.对挂靠别人的网站下的网站 ( 即没有自己单独域名的网站 ) ,本站将不予收录

12 |

5.不收录在正常情况下无法正常连接或浏览的网站

13 |

6.本站保留收录决定权以及在本站网址数据库中相关内容的编辑决定权

14 |

15 | 如果您认为您符合上面的要求,请按照如下格式给我们邮箱发邮件申请1258598558@qq.com
16 |

17 |
18 | 网站名称:
19 | 网站地址:
20 | 更新列表更新间隔:
21 | 更新列表页地址:(如果您站点开启了缓存,请提供一个私密的没有缓存的更新列表页)
22 | 小说信息页地址:(任意一本书)
23 | 小说目录页地址:(任意一本书)
24 | 小说章节页地址:(任意一本书)
25 |
26 |

请注意,如果您网站启用了防采集措施,请给我们提供一个私密的没有防采集及缓存的的地址,我们确保不会对外进行泄漏。
27 |

28 |
29 |
30 |
31 | {include file="template/footer" /} -------------------------------------------------------------------------------- /application/books/view/template/footer.html: -------------------------------------------------------------------------------- 1 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /application/books/view/template/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {$module_data.title} 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /application/books/view/template/imglazy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 45 | -------------------------------------------------------------------------------- /application/books/view/template/search.html: -------------------------------------------------------------------------------- 1 | {include file="template/header" /} 2 | {include file="template/headerCon" /} 3 | 4 |
5 |
6 |
7 |

> 搜索结果 > {$search_name}

8 |
9 |
10 | {if condition="empty(count($data))"} 11 |

对不起,没有您搜索的书籍

12 | {else /} 13 | 31 | 32 | {/if} 33 | 34 | 35 |
36 |
37 |
38 |
39 | {$data->render()} 40 | 41 |
42 | 43 | 50 | 51 | {include file="template/footer" /} -------------------------------------------------------------------------------- /application/command.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return []; 13 | -------------------------------------------------------------------------------- /application/extra/queue.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return [ 13 | 'connector' => 'Sync' 14 | ]; 15 | -------------------------------------------------------------------------------- /application/index/controller/Index.php: -------------------------------------------------------------------------------- 1 | *{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }

:)

ThinkPHP V5
十年磨一剑 - 为API开发设计的高性能框架

[ V5.0 版本由 七牛云 独家赞助发布 ]
'; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /application/route.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return [ 13 | '__pattern__' => [ 14 | 'name' => '\w+', 15 | ], 16 | '[hello]' => [ 17 | ':id' => ['index/hello', ['method' => 'get'], ['id' => '\d+']], 18 | ':name' => ['index/hello', ['method' => 'post']], 19 | ], 20 | 21 | ]; 22 | -------------------------------------------------------------------------------- /application/tags.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | // 应用行为扩展定义文件 13 | return [ 14 | // 应用初始化 15 | 'app_init' => [], 16 | // 应用开始 17 | 'app_begin' => [], 18 | // 模块初始化 19 | 'module_init' => [], 20 | // 操作开始执行 21 | 'action_begin' => [], 22 | // 视图内容过滤 23 | 'view_filter' => [], 24 | // 日志写入 25 | 'log_write' => [], 26 | // 应用结束 27 | 'app_end' => [], 28 | ]; 29 | -------------------------------------------------------------------------------- /build.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return [ 13 | // 生成应用公共文件 14 | '__file__' => ['common.php', 'config.php', 'database.php'], 15 | 16 | // 定义demo模块的自动生成 (按照实际定义的文件名生成) 17 | 'demo' => [ 18 | '__file__' => ['common.php'], 19 | '__dir__' => ['behavior', 'controller', 'model', 'view'], 20 | 'controller' => ['Index', 'Test', 'UserType'], 21 | 'model' => ['User', 'UserType'], 22 | 'view' => ['index/index'], 23 | ], 24 | // 其他更多的模块定义 25 | ]; 26 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think", 3 | "description": "the new thinkphp framework", 4 | "type": "project", 5 | "keywords": [ 6 | "framework", 7 | "thinkphp", 8 | "ORM" 9 | ], 10 | "homepage": "http://thinkphp.cn/", 11 | "license": "Apache-2.0", 12 | "authors": [ 13 | { 14 | "name": "liu21st", 15 | "email": "liu21st@gmail.com" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=5.4.0", 20 | "topthink/framework": "5.0.*", 21 | "topthink/think-image": "^1.0", 22 | "topthink/think-captcha": "1.*", 23 | "topthink/think-mongo": "1.*", 24 | "topthink/think-migration": "1.*", 25 | "topthink/think-queue": "1.*", 26 | "topthink/think-helper": "1.*" 27 | }, 28 | "autoload": { 29 | "psr-4": { 30 | "app\\": "application" 31 | } 32 | }, 33 | "extra": { 34 | "think-path": "thinkphp" 35 | }, 36 | "config": { 37 | "preferred-install": "dist" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Options +FollowSymlinks -Multiviews 3 | RewriteEngine on 4 | RewriteCond %{REQUEST_FILENAME} !-d 5 | RewriteCond %{REQUEST_FILENAME} !-f 6 | RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L] 7 | Options -Indexes 8 | 9 | -------------------------------------------------------------------------------- /public/admin.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | // [ 应用入口文件 ] 13 | 14 | // 定义应用目录 15 | define('APP_PATH', __DIR__ . '/../application/'); 16 | //主页地址 17 | define('BIND_MODULE','admin'); 18 | // 加载框架引导文件 19 | require __DIR__ . '/../thinkphp/start.php'; 20 | 21 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/favicon.ico -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | // [ 应用入口文件 ] 13 | 14 | // 定义应用目录 15 | define('APP_PATH', __DIR__ . '/../application/'); 16 | //主页地址 17 | define('BIND_MODULE','books'); 18 | // 加载框架引导文件 19 | require __DIR__ . '/../thinkphp/start.php'; 20 | 21 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/router.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | // $Id$ 12 | 13 | if (is_file($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SCRIPT_NAME"])) { 14 | return false; 15 | } else { 16 | if (!isset($_SERVER['PATH_INFO'])) { 17 | $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI']; 18 | } 19 | require __DIR__ . "/index.php"; 20 | } 21 | -------------------------------------------------------------------------------- /public/static/admin/css/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'iconfont'; 3 | src: url('../fonts/iconfont.eot'); 4 | src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/iconfont.woff') format('woff'), 6 | url('../fonts/iconfont.ttf') format('truetype'), 7 | url('../fonts/iconfont.svg#iconfont') format('svg'); 8 | } 9 | .iconfont{ 10 | font-family:"iconfont" !important; 11 | font-size:16px;font-style:normal; 12 | -webkit-font-smoothing: antialiased; 13 | -webkit-text-stroke-width: 0.2px; 14 | -moz-osx-font-smoothing: grayscale; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /public/static/admin/fonts/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/fonts/iconfont.eot -------------------------------------------------------------------------------- /public/static/admin/fonts/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/fonts/iconfont.ttf -------------------------------------------------------------------------------- /public/static/admin/fonts/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/fonts/iconfont.woff -------------------------------------------------------------------------------- /public/static/admin/images/aiwrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/images/aiwrap.png -------------------------------------------------------------------------------- /public/static/admin/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/images/bg.png -------------------------------------------------------------------------------- /public/static/admin/lib/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /public/static/admin/lib/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /public/static/admin/lib/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /public/static/admin/lib/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/font/iconfont.eot -------------------------------------------------------------------------------- /public/static/admin/lib/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /public/static/admin/lib/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/font/iconfont.woff -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/0.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/1.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/10.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/11.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/12.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/13.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/14.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/15.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/16.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/17.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/18.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/19.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/2.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/20.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/21.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/22.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/23.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/24.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/25.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/26.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/27.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/28.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/29.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/3.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/30.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/31.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/32.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/33.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/34.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/35.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/36.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/37.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/38.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/39.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/4.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/40.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/41.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/42.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/43.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/44.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/45.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/46.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/47.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/48.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/49.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/5.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/50.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/51.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/52.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/53.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/54.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/55.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/56.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/57.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/58.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/59.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/6.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/60.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/61.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/62.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/63.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/64.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/65.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/66.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/67.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/68.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/69.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/7.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/70.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/71.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/8.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/admin/lib/layui/images/face/9.gif -------------------------------------------------------------------------------- /public/static/admin/lib/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /public/static/fonts/fzfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/fonts/fzfont.eot -------------------------------------------------------------------------------- /public/static/fonts/fzfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/fonts/fzfont.ttf -------------------------------------------------------------------------------- /public/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /public/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /public/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /public/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /public/static/images/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/404.png -------------------------------------------------------------------------------- /public/static/images/apotheosize_bn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/apotheosize_bn.jpg -------------------------------------------------------------------------------- /public/static/images/badge/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/badge/0.png -------------------------------------------------------------------------------- /public/static/images/badge/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/badge/1.png -------------------------------------------------------------------------------- /public/static/images/badge/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/badge/2.png -------------------------------------------------------------------------------- /public/static/images/badge/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/badge/3.png -------------------------------------------------------------------------------- /public/static/images/badge/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/badge/4.png -------------------------------------------------------------------------------- /public/static/images/badge/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/badge/5.png -------------------------------------------------------------------------------- /public/static/images/badge/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/badge/6.png -------------------------------------------------------------------------------- /public/static/images/badge/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/badge/7.png -------------------------------------------------------------------------------- /public/static/images/bannerbg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/bannerbg.jpg -------------------------------------------------------------------------------- /public/static/images/bn_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/bn_arrows.png -------------------------------------------------------------------------------- /public/static/images/books_img/1054382.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1054382.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1141967.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1141967.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1226806.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1226806.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1412963.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1412963.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1455383.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1455383.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1603698.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1603698.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1621093.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1621093.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1734313.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1734313.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1739196.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1739196.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1842956.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1842956.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1927185.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1927185.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1972045.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1972045.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/1986389.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/1986389.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/203552.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/203552.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/223083.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/223083.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/24719.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/24719.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/2480773.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/2480773.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/2601318.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/2601318.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/2614746.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/2614746.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/265502.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/265502.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/2977600.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/2977600.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/3090820.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/3090820.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/3287048.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/3287048.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/3311462.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/3311462.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/333557.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/333557.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/3494873.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/3494873.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/3497924.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/3497924.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/3551940.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/3551940.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/3588867.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/3588867.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/3828735.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/3828735.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/4269714.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/4269714.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/436096.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/436096.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/4364318.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/4364318.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/4461669.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/4461669.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/4502563.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/4502563.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/466613.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/466613.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/4675292.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/4675292.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/4759521.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/4759521.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/4805908.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/4805908.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/485839.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/485839.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/5044555.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/5044555.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/5491027.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/5491027.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/554504.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/554504.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/55541.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/55541.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/5861816.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/5861816.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/593872.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/593872.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6085205.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6085205.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6088256.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6088256.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6196899.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6196899.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6243286.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6243286.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6293029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6293029.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6429748.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6429748.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6520385.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6520385.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6532897.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6532897.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6552124.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6552124.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/667724.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/667724.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/680236.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/680236.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6822509.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6822509.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6926269.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6926269.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/6936950.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/6936950.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7107543.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7107543.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7133178.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7133178.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/714416.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/714416.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7276611.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7276611.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7453918.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7453918.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7553405.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7553405.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/761413.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/761413.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7699890.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7699890.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7836914.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7836914.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7973937.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7973937.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/7998046.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/7998046.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/8166809.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/8166809.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/838317.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/838317.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/8745727.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/8745727.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/8793334.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/8793334.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/881958.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/881958.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/8883972.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/8883972.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/8916931.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/8916931.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/8926391.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/8926391.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/8931579.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/8931579.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/8994140.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/8994140.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/9128723.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/9128723.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/9270629.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/9270629.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/9295959.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/9295959.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/9624328.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/9624328.jpg -------------------------------------------------------------------------------- /public/static/images/books_img/9674377.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/books_img/9674377.jpg -------------------------------------------------------------------------------- /public/static/images/bottom_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/bottom_icon.png -------------------------------------------------------------------------------- /public/static/images/center-header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/center-header.jpg -------------------------------------------------------------------------------- /public/static/images/centerbg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/centerbg.jpg -------------------------------------------------------------------------------- /public/static/images/chapter-btn-cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/chapter-btn-cover.png -------------------------------------------------------------------------------- /public/static/images/class_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_1.jpg -------------------------------------------------------------------------------- /public/static/images/class_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_10.jpg -------------------------------------------------------------------------------- /public/static/images/class_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_2.jpg -------------------------------------------------------------------------------- /public/static/images/class_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_3.jpg -------------------------------------------------------------------------------- /public/static/images/class_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_4.jpg -------------------------------------------------------------------------------- /public/static/images/class_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_5.jpg -------------------------------------------------------------------------------- /public/static/images/class_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_6.jpg -------------------------------------------------------------------------------- /public/static/images/class_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_7.jpg -------------------------------------------------------------------------------- /public/static/images/class_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_8.jpg -------------------------------------------------------------------------------- /public/static/images/class_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/class_9.jpg -------------------------------------------------------------------------------- /public/static/images/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/cover.jpg -------------------------------------------------------------------------------- /public/static/images/cover_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/cover_icon.png -------------------------------------------------------------------------------- /public/static/images/editpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/editpen.png -------------------------------------------------------------------------------- /public/static/images/emotion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/emotion.png -------------------------------------------------------------------------------- /public/static/images/last.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/last.png -------------------------------------------------------------------------------- /public/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/logo.png -------------------------------------------------------------------------------- /public/static/images/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/next.png -------------------------------------------------------------------------------- /public/static/images/no.svg: -------------------------------------------------------------------------------- 1 | Group 33 -------------------------------------------------------------------------------- /public/static/images/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/qq.png -------------------------------------------------------------------------------- /public/static/images/query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/query.png -------------------------------------------------------------------------------- /public/static/images/seamlr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/seamlr.png -------------------------------------------------------------------------------- /public/static/images/setup_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/setup_icon.png -------------------------------------------------------------------------------- /public/static/images/shelf_bn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/shelf_bn.jpg -------------------------------------------------------------------------------- /public/static/images/shelf_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/shelf_btn.png -------------------------------------------------------------------------------- /public/static/images/shuku_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/shuku_icon.png -------------------------------------------------------------------------------- /public/static/images/skin-default-s-6bf528b859.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/skin-default-s-6bf528b859.png -------------------------------------------------------------------------------- /public/static/images/skin-default-t-ece62008d6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/skin-default-t-ece62008d6.jpg -------------------------------------------------------------------------------- /public/static/images/slider-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/slider-arrow.png -------------------------------------------------------------------------------- /public/static/images/sms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/sms.png -------------------------------------------------------------------------------- /public/static/images/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/sprite.png -------------------------------------------------------------------------------- /public/static/images/timg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/timg.jpg -------------------------------------------------------------------------------- /public/static/images/timg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/timg2.jpg -------------------------------------------------------------------------------- /public/static/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /public/static/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /public/static/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /public/static/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /public/static/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /public/static/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /public/static/images/user_center/center-level-ding-7c224d536d.svg: -------------------------------------------------------------------------------- 1 | Group 3 Copy 2订阅月票 -------------------------------------------------------------------------------- /public/static/images/user_center/center-level-pri-ce55ba8393.svg: -------------------------------------------------------------------------------- 1 | center-level-pri阅币/千字订阅价格 -------------------------------------------------------------------------------- /public/static/images/user_center/center-level-shang-3a1e6b6e7c.svg: -------------------------------------------------------------------------------- 1 | Group 3 Copy 3打赏月票 -------------------------------------------------------------------------------- /public/static/images/user_center/center-level-song-d8f2957e92.svg: -------------------------------------------------------------------------------- 1 | Group 3 Copy 4张/日送推荐票 -------------------------------------------------------------------------------- /public/static/images/user_center/center-level-yue-5351471dce.svg: -------------------------------------------------------------------------------- 1 | Group 3 Copy月票保底 -------------------------------------------------------------------------------- /public/static/images/user_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/user_ico.png -------------------------------------------------------------------------------- /public/static/images/vip_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/vip_icon.gif -------------------------------------------------------------------------------- /public/static/images/wait.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/images/wait.gif -------------------------------------------------------------------------------- /public/static/js/layer/theme/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/js/layer/theme/default/icon-ext.png -------------------------------------------------------------------------------- /public/static/js/layer/theme/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/js/layer/theme/default/icon.png -------------------------------------------------------------------------------- /public/static/js/layer/theme/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/js/layer/theme/default/loading-0.gif -------------------------------------------------------------------------------- /public/static/js/layer/theme/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/js/layer/theme/default/loading-1.gif -------------------------------------------------------------------------------- /public/static/js/layer/theme/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/public/static/js/layer/theme/default/loading-2.gif -------------------------------------------------------------------------------- /think: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | 11 | // +---------------------------------------------------------------------- 12 | 13 | // 定义项目路径 14 | define('APP_PATH', __DIR__ . '/application/'); 15 | 16 | // 加载框架引导文件 17 | require __DIR__.'/thinkphp/console.php'; 18 | -------------------------------------------------------------------------------- /thinkphp/.htaccess: -------------------------------------------------------------------------------- 1 | deny from all -------------------------------------------------------------------------------- /thinkphp/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: php 4 | 5 | services: 6 | - memcached 7 | - mongodb 8 | - mysql 9 | - postgresql 10 | - redis-server 11 | 12 | matrix: 13 | fast_finish: true 14 | include: 15 | - php: 5.4 16 | - php: 5.5 17 | - php: 5.6 18 | - php: 7.0 19 | - php: hhvm 20 | allow_failures: 21 | - php: hhvm 22 | 23 | cache: 24 | directories: 25 | - $HOME/.composer/cache 26 | 27 | before_install: 28 | - composer self-update 29 | - mysql -e "create database IF NOT EXISTS test;" -uroot 30 | - psql -c 'DROP DATABASE IF EXISTS test;' -U postgres 31 | - psql -c 'create database test;' -U postgres 32 | 33 | install: 34 | - ./tests/script/install.sh 35 | 36 | script: 37 | ## LINT 38 | - find . -path ./vendor -prune -o -type f -name \*.php -exec php -l {} \; 39 | ## PHP Copy/Paste Detector 40 | - vendor/bin/phpcpd --verbose --exclude vendor ./ || true 41 | ## PHPLOC 42 | - vendor/bin/phploc --exclude vendor ./ 43 | ## PHPUNIT 44 | - vendor/bin/phpunit --coverage-clover=coverage.xml --configuration=phpunit.xml 45 | 46 | after_success: 47 | - bash <(curl -s https://codecov.io/bash) 48 | -------------------------------------------------------------------------------- /thinkphp/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 3 | 版权所有Copyright © 2006-2017 by ThinkPHP (http://thinkphp.cn) 4 | All rights reserved。 5 | ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 6 | 7 | Apache Licence是著名的非盈利开源组织Apache采用的协议。 8 | 该协议和BSD类似,鼓励代码共享和尊重原作者的著作权, 9 | 允许代码修改,再作为开源或商业软件发布。需要满足 10 | 的条件: 11 | 1. 需要给代码的用户一份Apache Licence ; 12 | 2. 如果你修改了代码,需要在被修改的文件中说明; 13 | 3. 在延伸的代码中(修改和有源代码衍生的代码中)需要 14 | 带有原来代码中的协议,商标,专利声明和其他原来作者规 15 | 定需要包含的说明; 16 | 4. 如果再发布的产品中包含一个Notice文件,则在Notice文 17 | 件中需要带有本协议内容。你可以在Notice中增加自己的 18 | 许可,但不可以表现为对Apache Licence构成更改。 19 | 具体的协议参考:http://www.apache.org/licenses/LICENSE-2.0 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 27 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 | POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /thinkphp/codecov.yml: -------------------------------------------------------------------------------- 1 | comment: 2 | layout: header, changes, diff 3 | coverage: 4 | ignore: 5 | - base.php 6 | - helper.php 7 | - convention.php 8 | - lang/zh-cn.php 9 | - start.php 10 | - console.php 11 | status: 12 | patch: false 13 | -------------------------------------------------------------------------------- /thinkphp/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/framework", 3 | "description": "the new thinkphp framework", 4 | "type": "think-framework", 5 | "keywords": [ 6 | "framework", 7 | "thinkphp", 8 | "ORM" 9 | ], 10 | "homepage": "http://thinkphp.cn/", 11 | "license": "Apache-2.0", 12 | "authors": [ 13 | { 14 | "name": "liu21st", 15 | "email": "liu21st@gmail.com" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=5.4.0", 20 | "topthink/think-installer": "~1.0" 21 | }, 22 | "require-dev": { 23 | "phpunit/phpunit": "4.8.*", 24 | "johnkary/phpunit-speedtrap": "^1.0", 25 | "mikey179/vfsStream": "~1.6", 26 | "phploc/phploc": "2.*", 27 | "sebastian/phpcpd": "2.*", 28 | "phpdocumentor/reflection-docblock": "^2.0" 29 | }, 30 | "autoload": { 31 | "psr-4": { 32 | "think\\": "library/think" 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /thinkphp/console.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think; 13 | 14 | // ThinkPHP 引导文件 15 | // 加载基础文件 16 | require __DIR__ . '/base.php'; 17 | 18 | // 执行应用 19 | App::initCommon(); 20 | Console::init(); 21 | -------------------------------------------------------------------------------- /thinkphp/library/think/Env.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think; 13 | 14 | class Env 15 | { 16 | /** 17 | * 获取环境变量值 18 | * @access public 19 | * @param string $name 环境变量名(支持二级 . 号分割) 20 | * @param string $default 默认值 21 | * @return mixed 22 | */ 23 | public static function get($name, $default = null) 24 | { 25 | $result = getenv(ENV_PREFIX . strtoupper(str_replace('.', '_', $name))); 26 | 27 | if (false !== $result) { 28 | if ('false' === $result) { 29 | $result = false; 30 | } elseif ('true' === $result) { 31 | $result = true; 32 | } 33 | 34 | return $result; 35 | } 36 | 37 | return $default; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /thinkphp/library/think/config/driver/Ini.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\config\driver; 13 | 14 | class Ini 15 | { 16 | public function parse($config) 17 | { 18 | if (is_file($config)) { 19 | return parse_ini_file($config, true); 20 | } else { 21 | return parse_ini_string($config, true); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /thinkphp/library/think/config/driver/Json.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\config\driver; 13 | 14 | class Json 15 | { 16 | public function parse($config) 17 | { 18 | if (is_file($config)) { 19 | $config = file_get_contents($config); 20 | } 21 | $result = json_decode($config, true); 22 | return $result; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /thinkphp/library/think/config/driver/Xml.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\config\driver; 13 | 14 | class Xml 15 | { 16 | public function parse($config) 17 | { 18 | if (is_file($config)) { 19 | $content = simplexml_load_file($config); 20 | } else { 21 | $content = simplexml_load_string($config); 22 | } 23 | $result = (array) $content; 24 | foreach ($result as $key => $val) { 25 | if (is_object($val)) { 26 | $result[$key] = (array) $val; 27 | } 28 | } 29 | return $result; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /thinkphp/library/think/console/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004-2016 Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /thinkphp/library/think/console/bin/README.md: -------------------------------------------------------------------------------- 1 | console 工具使用 hiddeninput.exe 在 windows 上隐藏密码输入,该二进制文件由第三方提供,相关源码和其他细节可以在 [Hidden Input](https://github.com/Seldaek/hidden-input) 找到。 2 | -------------------------------------------------------------------------------- /thinkphp/library/think/console/bin/hiddeninput.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/thinkphp/library/think/console/bin/hiddeninput.exe -------------------------------------------------------------------------------- /thinkphp/library/think/console/command/make/Model.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\console\command\make; 13 | 14 | use think\console\command\Make; 15 | 16 | class Model extends Make 17 | { 18 | protected $type = "Model"; 19 | 20 | protected function configure() 21 | { 22 | parent::configure(); 23 | $this->setName('make:model') 24 | ->setDescription('Create a new model class'); 25 | } 26 | 27 | protected function getStub() 28 | { 29 | return __DIR__ . '/stubs/model.stub'; 30 | } 31 | 32 | protected function getNamespace($appNamespace, $module) 33 | { 34 | return parent::getNamespace($appNamespace, $module) . '\model'; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /thinkphp/library/think/console/command/make/stubs/controller.plain.stub: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\console\output\driver; 13 | 14 | use think\console\Output; 15 | 16 | class Buffer 17 | { 18 | /** 19 | * @var string 20 | */ 21 | private $buffer = ''; 22 | 23 | public function __construct(Output $output) 24 | { 25 | // do nothing 26 | } 27 | 28 | public function fetch() 29 | { 30 | $content = $this->buffer; 31 | $this->buffer = ''; 32 | return $content; 33 | } 34 | 35 | public function write($messages, $newline = false, $options = Output::OUTPUT_NORMAL) 36 | { 37 | $messages = (array) $messages; 38 | 39 | foreach ($messages as $message) { 40 | $this->buffer .= $message; 41 | } 42 | if ($newline) { 43 | $this->buffer .= "\n"; 44 | } 45 | } 46 | 47 | public function renderException(\Exception $e) 48 | { 49 | // do nothing 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /thinkphp/library/think/console/output/driver/Nothing.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\console\output\driver; 13 | 14 | use think\console\Output; 15 | 16 | class Nothing 17 | { 18 | 19 | public function __construct(Output $output) 20 | { 21 | // do nothing 22 | } 23 | 24 | public function write($messages, $newline = false, $options = Output::OUTPUT_NORMAL) 25 | { 26 | // do nothing 27 | } 28 | 29 | public function renderException(\Exception $e) 30 | { 31 | // do nothing 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /thinkphp/library/think/controller/Yar.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\controller; 13 | 14 | /** 15 | * ThinkPHP Yar控制器类 16 | */ 17 | abstract class Yar 18 | { 19 | 20 | /** 21 | * 构造函数 22 | * @access public 23 | */ 24 | public function __construct() 25 | { 26 | //控制器初始化 27 | if (method_exists($this, '_initialize')) { 28 | $this->_initialize(); 29 | } 30 | 31 | //判断扩展是否存在 32 | if (!extension_loaded('yar')) { 33 | throw new \Exception('not support yar'); 34 | } 35 | 36 | //实例化Yar_Server 37 | $server = new \Yar_Server($this); 38 | // 启动server 39 | $server->handle(); 40 | } 41 | 42 | /** 43 | * 魔术方法 有不存在的操作的时候执行 44 | * @access public 45 | * @param string $method 方法名 46 | * @param array $args 参数 47 | * @return mixed 48 | */ 49 | public function __call($method, $args) 50 | {} 51 | } 52 | -------------------------------------------------------------------------------- /thinkphp/library/think/db/Expression.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\db; 13 | 14 | class Expression 15 | { 16 | /** 17 | * 查询表达式 18 | * 19 | * @var string 20 | */ 21 | protected $value; 22 | 23 | /** 24 | * 创建一个查询表达式 25 | * 26 | * @param string $value 27 | * @return void 28 | */ 29 | public function __construct($value) 30 | { 31 | $this->value = $value; 32 | } 33 | 34 | /** 35 | * 获取表达式 36 | * 37 | * @return string 38 | */ 39 | public function getValue() 40 | { 41 | return $this->value; 42 | } 43 | 44 | public function __toString() 45 | { 46 | return (string) $this->value; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /thinkphp/library/think/db/exception/BindParamException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\db\exception; 13 | 14 | use think\exception\DbException; 15 | 16 | /** 17 | * PDO参数绑定异常 18 | */ 19 | class BindParamException extends DbException 20 | { 21 | 22 | /** 23 | * BindParamException constructor. 24 | * @param string $message 25 | * @param array $config 26 | * @param string $sql 27 | * @param array $bind 28 | * @param int $code 29 | */ 30 | public function __construct($message, $config, $sql, $bind, $code = 10502) 31 | { 32 | $this->setData('Bind Param', $bind); 33 | parent::__construct($message, $config, $sql, $code); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /thinkphp/library/think/db/exception/DataNotFoundException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\db\exception; 13 | 14 | use think\exception\DbException; 15 | 16 | class DataNotFoundException extends DbException 17 | { 18 | protected $table; 19 | 20 | /** 21 | * DbException constructor. 22 | * @param string $message 23 | * @param string $table 24 | * @param array $config 25 | */ 26 | public function __construct($message, $table = '', array $config = []) 27 | { 28 | $this->message = $message; 29 | $this->table = $table; 30 | 31 | $this->setData('Database Config', $config); 32 | } 33 | 34 | /** 35 | * 获取数据表名 36 | * @access public 37 | * @return string 38 | */ 39 | public function getTable() 40 | { 41 | return $this->table; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /thinkphp/library/think/db/exception/ModelNotFoundException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\db\exception; 13 | 14 | use think\exception\DbException; 15 | 16 | class ModelNotFoundException extends DbException 17 | { 18 | protected $model; 19 | 20 | /** 21 | * 构造方法 22 | * @param string $message 23 | * @param string $model 24 | */ 25 | public function __construct($message, $model = '', array $config = []) 26 | { 27 | $this->message = $message; 28 | $this->model = $model; 29 | 30 | $this->setData('Database Config', $config); 31 | } 32 | 33 | /** 34 | * 获取模型类名 35 | * @access public 36 | * @return string 37 | */ 38 | public function getModel() 39 | { 40 | return $this->model; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /thinkphp/library/think/exception/ClassNotFoundException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\exception; 13 | 14 | class ClassNotFoundException extends \RuntimeException 15 | { 16 | protected $class; 17 | public function __construct($message, $class = '') 18 | { 19 | $this->message = $message; 20 | $this->class = $class; 21 | } 22 | 23 | /** 24 | * 获取类名 25 | * @access public 26 | * @return string 27 | */ 28 | public function getClass() 29 | { 30 | return $this->class; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /thinkphp/library/think/exception/DbException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\exception; 13 | 14 | use think\Exception; 15 | 16 | /** 17 | * Database相关异常处理类 18 | */ 19 | class DbException extends Exception 20 | { 21 | /** 22 | * DbException constructor. 23 | * @param string $message 24 | * @param array $config 25 | * @param string $sql 26 | * @param int $code 27 | */ 28 | public function __construct($message, array $config, $sql, $code = 10500) 29 | { 30 | $this->message = $message; 31 | $this->code = $code; 32 | 33 | $this->setData('Database Status', [ 34 | 'Error Code' => $code, 35 | 'Error Message' => $message, 36 | 'Error SQL' => $sql, 37 | ]); 38 | 39 | unset($config['username'], $config['password']); 40 | $this->setData('Database Config', $config); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /thinkphp/library/think/exception/HttpException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\exception; 13 | 14 | class HttpException extends \RuntimeException 15 | { 16 | private $statusCode; 17 | private $headers; 18 | 19 | public function __construct($statusCode, $message = null, \Exception $previous = null, array $headers = [], $code = 0) 20 | { 21 | $this->statusCode = $statusCode; 22 | $this->headers = $headers; 23 | 24 | parent::__construct($message, $code, $previous); 25 | } 26 | 27 | public function getStatusCode() 28 | { 29 | return $this->statusCode; 30 | } 31 | 32 | public function getHeaders() 33 | { 34 | return $this->headers; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /thinkphp/library/think/exception/HttpResponseException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\exception; 13 | 14 | use think\Response; 15 | 16 | class HttpResponseException extends \RuntimeException 17 | { 18 | /** 19 | * @var Response 20 | */ 21 | protected $response; 22 | 23 | public function __construct(Response $response) 24 | { 25 | $this->response = $response; 26 | } 27 | 28 | public function getResponse() 29 | { 30 | return $this->response; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /thinkphp/library/think/exception/PDOException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\exception; 13 | 14 | /** 15 | * PDO异常处理类 16 | * 重新封装了系统的\PDOException类 17 | */ 18 | class PDOException extends DbException 19 | { 20 | /** 21 | * PDOException constructor. 22 | * @param \PDOException $exception 23 | * @param array $config 24 | * @param string $sql 25 | * @param int $code 26 | */ 27 | public function __construct(\PDOException $exception, array $config, $sql, $code = 10501) 28 | { 29 | $error = $exception->errorInfo; 30 | 31 | $this->setData('PDO Error Info', [ 32 | 'SQLSTATE' => $error[0], 33 | 'Driver Error Code' => isset($error[1]) ? $error[1] : 0, 34 | 'Driver Error Message' => isset($error[2]) ? $error[2] : '', 35 | ]); 36 | 37 | parent::__construct($exception->getMessage(), $config, $sql, $code); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /thinkphp/library/think/exception/RouteNotFoundException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\exception; 13 | 14 | class RouteNotFoundException extends HttpException 15 | { 16 | 17 | public function __construct() 18 | { 19 | parent::__construct(404, 'Route Not Found'); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /thinkphp/library/think/exception/TemplateNotFoundException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\exception; 13 | 14 | class TemplateNotFoundException extends \RuntimeException 15 | { 16 | protected $template; 17 | 18 | public function __construct($message, $template = '') 19 | { 20 | $this->message = $message; 21 | $this->template = $template; 22 | } 23 | 24 | /** 25 | * 获取模板文件 26 | * @access public 27 | * @return string 28 | */ 29 | public function getTemplate() 30 | { 31 | return $this->template; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /thinkphp/library/think/exception/ValidateException.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\exception; 13 | 14 | class ValidateException extends \RuntimeException 15 | { 16 | protected $error; 17 | 18 | public function __construct($error) 19 | { 20 | $this->error = $error; 21 | $this->message = is_array($error) ? implode("\n\r", $error) : $error; 22 | } 23 | 24 | /** 25 | * 获取验证错误信息 26 | * @access public 27 | * @return array|string 28 | */ 29 | public function getError() 30 | { 31 | return $this->error; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /thinkphp/library/think/log/driver/Test.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\log\driver; 13 | 14 | /** 15 | * 模拟测试输出 16 | */ 17 | class Test 18 | { 19 | /** 20 | * 日志写入接口 21 | * @access public 22 | * @param array $log 日志信息 23 | * @return bool 24 | */ 25 | public function save(array $log = []) 26 | { 27 | return true; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /thinkphp/library/think/model/Pivot.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\model; 13 | 14 | use think\Model; 15 | 16 | class Pivot extends Model 17 | { 18 | 19 | /** @var Model */ 20 | public $parent; 21 | 22 | protected $autoWriteTimestamp = false; 23 | 24 | /** 25 | * 架构函数 26 | * @access public 27 | * @param array|object $data 数据 28 | * @param Model $parent 上级模型 29 | * @param string $table 中间数据表名 30 | */ 31 | public function __construct($data = [], Model $parent = null, $table = '') 32 | { 33 | $this->parent = $parent; 34 | 35 | if (is_null($this->name)) { 36 | $this->name = $table; 37 | } 38 | 39 | parent::__construct($data); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /thinkphp/library/think/process/exception/Failed.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\process\exception; 13 | 14 | use think\Process; 15 | 16 | class Failed extends \RuntimeException 17 | { 18 | 19 | private $process; 20 | 21 | public function __construct(Process $process) 22 | { 23 | if ($process->isSuccessful()) { 24 | throw new \InvalidArgumentException('Expected a failed process, but the given process was successful.'); 25 | } 26 | 27 | $error = sprintf('The command "%s" failed.' . "\nExit Code: %s(%s)", $process->getCommandLine(), $process->getExitCode(), $process->getExitCodeText()); 28 | 29 | if (!$process->isOutputDisabled()) { 30 | $error .= sprintf("\n\nOutput:\n================\n%s\n\nError Output:\n================\n%s", $process->getOutput(), $process->getErrorOutput()); 31 | } 32 | 33 | parent::__construct($error); 34 | 35 | $this->process = $process; 36 | } 37 | 38 | public function getProcess() 39 | { 40 | return $this->process; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /thinkphp/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/thinkphp/logo.png -------------------------------------------------------------------------------- /thinkphp/phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/thinkphp/ 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | ./ 23 | 24 | tests 25 | vendor 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /thinkphp/start.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think; 13 | 14 | // ThinkPHP 引导文件 15 | // 1. 加载基础文件 16 | require __DIR__ . '/base.php'; 17 | 18 | // 2. 执行应用 19 | App::run()->send(); 20 | -------------------------------------------------------------------------------- /thinkphp/tpl/default_index.tpl: -------------------------------------------------------------------------------- 1 | *{ padding: 0; margin: 0; } div{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }

:)

ThinkPHP V5
十年磨一剑 - 为API开发设计的高性能框架

[ V5.0 版本由 七牛云 独家赞助发布 ]
'; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /vendor/autoload.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/topthink/think-helper/src/helper.php', 10 | '1cfd2761b63b0a29ed23657ea394cb2d' => $vendorDir . '/topthink/think-captcha/src/helper.php', 11 | 'ddc3cd2a04224f9638c5d0de6a69c7e3' => $vendorDir . '/topthink/think-migration/src/config.php', 12 | 'cc56288302d9df745d97c934d6a6e5f0' => $vendorDir . '/topthink/think-queue/src/common.php', 13 | ); 14 | -------------------------------------------------------------------------------- /vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/topthink/think-mongo/src'), 10 | 'think\\migration\\' => array($vendorDir . '/topthink/think-migration/src'), 11 | 'think\\helper\\' => array($vendorDir . '/topthink/think-helper/src'), 12 | 'think\\composer\\' => array($vendorDir . '/topthink/think-installer/src'), 13 | 'think\\captcha\\' => array($vendorDir . '/topthink/think-captcha/src'), 14 | 'think\\' => array($baseDir . '/thinkphp/library/think', $vendorDir . '/topthink/think-image/src', $vendorDir . '/topthink/think-queue/src'), 15 | 'app\\' => array($baseDir . '/application'), 16 | 'Phinx\\' => array($vendorDir . '/topthink/think-migration/phinx/src/Phinx'), 17 | ); 18 | -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 3 | 版权所有Copyright © 2006-2016 by ThinkPHP (http://thinkphp.cn) 4 | All rights reserved。 5 | ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 6 | 7 | Apache Licence是著名的非盈利开源组织Apache采用的协议。 8 | 该协议和BSD类似,鼓励代码共享和尊重原作者的著作权, 9 | 允许代码修改,再作为开源或商业软件发布。需要满足 10 | 的条件: 11 | 1. 需要给代码的用户一份Apache Licence ; 12 | 2. 如果你修改了代码,需要在被修改的文件中说明; 13 | 3. 在延伸的代码中(修改和有源代码衍生的代码中)需要 14 | 带有原来代码中的协议,商标,专利声明和其他原来作者规 15 | 定需要包含的说明; 16 | 4. 如果再发布的产品中包含一个Notice文件,则在Notice文 17 | 件中需要带有本协议内容。你可以在Notice中增加自己的 18 | 许可,但不可以表现为对Apache Licence构成更改。 19 | 具体的协议参考:http://www.apache.org/licenses/LICENSE-2.0 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 27 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 | POSSIBILITY OF SUCH DAMAGE. 33 | -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/README.md: -------------------------------------------------------------------------------- 1 | # think-captcha 2 | thinkphp5 验证码类库 3 | 4 | ## 安装 5 | > composer require topthink/think-captcha 6 | 7 | 8 | ##使用 9 | 10 | ###模板里输出验证码 11 | 12 | ~~~ 13 |
{:captcha_img()}
14 | ~~~ 15 | 或者 16 | ~~~ 17 |
captcha
18 | ~~~ 19 | > 上面两种的最终效果是一样的 20 | 21 | ### 控制器里验证 22 | 使用TP5的内置验证功能即可 23 | ~~~ 24 | $this->validate($data,[ 25 | 'captcha|验证码'=>'required|captcha' 26 | ]); 27 | ~~~ 28 | 或者手动验证 29 | ~~~ 30 | if(!captcha_check($captcha)){ 31 | //验证失败 32 | }; 33 | ~~~ -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/bgs/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/bgs/1.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/bgs/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/bgs/2.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/bgs/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/bgs/3.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/bgs/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/bgs/4.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/bgs/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/bgs/5.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/bgs/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/bgs/6.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/bgs/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/bgs/7.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/bgs/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/bgs/8.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/ttfs/1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/ttfs/1.ttf -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/ttfs/2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/ttfs/2.ttf -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/ttfs/3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/ttfs/3.ttf -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/ttfs/4.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/ttfs/4.ttf -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/ttfs/5.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/ttfs/5.ttf -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/ttfs/6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/ttfs/6.ttf -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/assets/zhttfs/1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-captcha/assets/zhttfs/1.ttf -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think-captcha", 3 | "description": "captcha package for thinkphp5", 4 | "authors": [ 5 | { 6 | "name": "yunwuxin", 7 | "email": "448901948@qq.com" 8 | } 9 | ], 10 | "license": "Apache-2.0", 11 | "require": {}, 12 | "autoload": { 13 | "psr-4": { 14 | "think\\captcha\\": "src/" 15 | }, 16 | "files": [ 17 | "src/helper.php" 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vendor/topthink/think-captcha/src/CaptchaController.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\captcha; 13 | 14 | use think\Config; 15 | 16 | class CaptchaController 17 | { 18 | public function index($id = "") 19 | { 20 | $captcha = new Captcha((array)Config::get('captcha')); 21 | return $captcha->entry($id); 22 | } 23 | } -------------------------------------------------------------------------------- /vendor/topthink/think-helper/README.md: -------------------------------------------------------------------------------- 1 | # thinkphp5 常用的一些扩展类库 2 | 3 | > 更新完善中 4 | 5 | > 以下类库都在`\\think\\helper`命名空间下 6 | 7 | ## Str 8 | > 字符串操作 9 | 10 | ``` 11 | // 检查字符串中是否包含某些字符串 12 | Str::contains($haystack, $needles) 13 | 14 | // 检查字符串是否以某些字符串结尾 15 | Str::endsWith($haystack, $needles) 16 | 17 | // 获取指定长度的随机字母数字组合的字符串 18 | Str::random($length = 16) 19 | 20 | // 字符串转小写 21 | Str::lower($value) 22 | 23 | // 字符串转大写 24 | Str::upper($value) 25 | 26 | // 获取字符串的长度 27 | Str::length($value) 28 | 29 | // 截取字符串 30 | Str::substr($string, $start, $length = null) 31 | 32 | ``` 33 | 34 | ## Hash 35 | > 创建密码的哈希 36 | 37 | ``` 38 | // 创建 39 | Hash::make($value, $type = null, array $options = []) 40 | 41 | // 检查 42 | Hash::check($value, $hashedValue, $type = null, array $options = []) 43 | 44 | ``` 45 | 46 | ## Time 47 | > 时间戳操作 48 | 49 | ``` 50 | // 今日开始和结束的时间戳 51 | Time::today(); 52 | 53 | // 昨日开始和结束的时间戳 54 | Time::yesterday(); 55 | 56 | // 本周开始和结束的时间戳 57 | Time::week(); 58 | 59 | // 上周开始和结束的时间戳 60 | Time::lastWeek(); 61 | 62 | // 本月开始和结束的时间戳 63 | Time::month(); 64 | 65 | // 上月开始和结束的时间戳 66 | Time::lastMonth(); 67 | 68 | // 今年开始和结束的时间戳 69 | Time::year(); 70 | 71 | // 去年开始和结束的时间戳 72 | Time::lastYear(); 73 | 74 | // 获取7天前零点到现在的时间戳 75 | Time::dayToNow(7) 76 | 77 | // 获取7天前零点到昨日结束的时间戳 78 | Time::dayToNow(7, true) 79 | 80 | // 获取7天前的时间戳 81 | Time::daysAgo(7) 82 | 83 | // 获取7天后的时间戳 84 | Time::daysAfter(7) 85 | 86 | // 天数转换成秒数 87 | Time::daysToSecond(5) 88 | 89 | // 周数转换成秒数 90 | Time::weekToSecond(5) 91 | 92 | ``` -------------------------------------------------------------------------------- /vendor/topthink/think-helper/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think-helper", 3 | "description": "The ThinkPHP5 Helper Package", 4 | "license": "Apache-2.0", 5 | "authors": [ 6 | { 7 | "name": "yunwuxin", 8 | "email": "448901948@qq.com" 9 | } 10 | ], 11 | "autoload": { 12 | "psr-4": { 13 | "think\\helper\\": "src" 14 | }, 15 | "files": [ 16 | "src/helper.php" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/topthink/think-helper/src/Arr.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\helper; 13 | 14 | 15 | class Arr 16 | { 17 | 18 | public static function isAssoc(array $array) 19 | { 20 | $keys = array_keys($array); 21 | 22 | return array_keys($keys) !== $keys; 23 | } 24 | 25 | public static function sortRecursive($array) 26 | { 27 | foreach ($array as &$value) { 28 | if (is_array($value)) { 29 | $value = static::sortRecursive($value); 30 | } 31 | } 32 | 33 | if (static::isAssoc($array)) { 34 | ksort($array); 35 | } else { 36 | sort($array); 37 | } 38 | 39 | return $array; 40 | } 41 | } -------------------------------------------------------------------------------- /vendor/topthink/think-helper/src/hash/Bcrypt.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace think\helper\hash; 12 | 13 | class Bcrypt 14 | { 15 | 16 | /** 17 | * Default crypt cost factor. 18 | * 19 | * @var int 20 | */ 21 | protected $rounds = 10; 22 | 23 | public function make($value, array $options = []) 24 | { 25 | $cost = isset($options['rounds']) ? $options['rounds'] : $this->rounds; 26 | 27 | $hash = password_hash($value, PASSWORD_BCRYPT, ['cost' => $cost]); 28 | 29 | if ($hash === false) { 30 | throw new \RuntimeException('Bcrypt hashing not supported.'); 31 | } 32 | 33 | return $hash; 34 | } 35 | 36 | public function check($value, $hashedValue, array $options = []) 37 | { 38 | if (strlen($hashedValue) === 0) { 39 | return false; 40 | } 41 | 42 | return password_verify($value, $hashedValue); 43 | } 44 | 45 | public function setRounds($rounds) 46 | { 47 | $this->rounds = (int)$rounds; 48 | 49 | return $this; 50 | } 51 | } -------------------------------------------------------------------------------- /vendor/topthink/think-helper/src/hash/Md5.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace think\helper\hash; 12 | 13 | class Md5 14 | { 15 | 16 | protected $salt = 'think'; 17 | 18 | public function make($value, array $options = []) 19 | { 20 | $salt = isset($options['salt']) ? $options['salt'] : $this->salt; 21 | 22 | return md5(md5($value) . $salt); 23 | } 24 | 25 | public function check($value, $hashedValue, array $options = []) 26 | { 27 | if (strlen($hashedValue) === 0) { 28 | return false; 29 | } 30 | 31 | $salt = isset($options['salt']) ? $options['salt'] : $this->salt; 32 | 33 | return md5(md5($value) . $salt) == $hashedValue; 34 | } 35 | 36 | public function setSalt($salt) 37 | { 38 | $this->salt = (string)$salt; 39 | 40 | return $this; 41 | } 42 | } -------------------------------------------------------------------------------- /vendor/topthink/think-image/.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | 3 | php: 4 | - 5.4 5 | - 5.5 6 | - 5.6 7 | - 7.0 8 | - hhvm 9 | 10 | matrix: 11 | allow_failures: 12 | - php: 7.0 13 | - php: hhvm 14 | 15 | before_script: 16 | - composer self-update 17 | - composer install --prefer-source --no-interaction --dev 18 | 19 | script: phpunit --coverage-clover=coverage.xml --configuration=phpunit.xml 20 | 21 | after_success: 22 | - bash <(curl -s https://codecov.io/bash) -------------------------------------------------------------------------------- /vendor/topthink/think-image/README.md: -------------------------------------------------------------------------------- 1 | # The ThinkPHP5 Image Package 2 | 3 | [![Build Status](https://img.shields.io/travis/top-think/think-image.svg)](https://travis-ci.org/top-think/think-image) 4 | [![Coverage Status](https://img.shields.io/codecov/c/github/top-think/think-image.svg)](https://codecov.io/github/top-think/think-image) 5 | [![Downloads](https://img.shields.io/github/downloads/top-think/think-image/total.svg)](https://github.com/top-think/think-image/releases) 6 | [![Releases](https://img.shields.io/github/release/top-think/think-image.svg)](https://github.com/top-think/think-image/releases/latest) 7 | [![Releases Downloads](https://img.shields.io/github/downloads/top-think/think-image/latest/total.svg)](https://github.com/top-think/think-image/releases/latest) 8 | [![Packagist Status](https://img.shields.io/packagist/v/top-think/think-image.svg)](https://packagist.org/packages/topthink/think-image) 9 | [![Packagist Downloads](https://img.shields.io/packagist/dt/top-think/think-image.svg)](https://packagist.org/packages/topthink/think-image) 10 | 11 | ## 安装 12 | 13 | > composer require topthink/think-image 14 | 15 | ## 使用 16 | 17 | ~~~ 18 | $image = \think\Image::open('./image.jpg'); 19 | 或者 20 | $image = \think\Image::open(request()->file('image')); 21 | 22 | 23 | $image->crop(...) 24 | ->thumb(...) 25 | ->water(...) 26 | ->text(....) 27 | ->save(..); 28 | 29 | ~~~ -------------------------------------------------------------------------------- /vendor/topthink/think-image/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think-image", 3 | "description": "The ThinkPHP5 Image Package", 4 | "license": "Apache-2.0", 5 | "authors": [ 6 | { 7 | "name": "yunwuxin", 8 | "email": "448901948@qq.com" 9 | } 10 | ], 11 | "require": { 12 | "ext-gd": "*" 13 | }, 14 | "require-dev": { 15 | "topthink/framework": "^5.0", 16 | "phpunit/phpunit": "4.8.*" 17 | }, 18 | "config": { 19 | "preferred-install": "dist" 20 | }, 21 | "autoload": { 22 | "psr-4": { 23 | "think\\": "src" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/topthink/think-image/phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/ 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /vendor/topthink/think-image/src/image/Exception.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\image; 13 | 14 | 15 | class Exception extends \RuntimeException 16 | { 17 | 18 | } -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/FlipTest.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace tests; 12 | 13 | use think\Image; 14 | 15 | class FlipTest extends TestCase 16 | { 17 | public function testJpeg() 18 | { 19 | $pathname = TEST_PATH . 'tmp/flip.jpg'; 20 | $image = Image::open($this->getJpeg()); 21 | $image->flip()->save($pathname); 22 | 23 | $file = new \SplFileInfo($pathname); 24 | 25 | $this->assertTrue($file->isFile()); 26 | 27 | @unlink($pathname); 28 | } 29 | 30 | 31 | public function testGif() 32 | { 33 | $pathname = TEST_PATH . 'tmp/flip.gif'; 34 | $image = Image::open($this->getGif()); 35 | $image->flip(Image::FLIP_Y)->save($pathname); 36 | 37 | $file = new \SplFileInfo($pathname); 38 | 39 | $this->assertTrue($file->isFile()); 40 | 41 | @unlink($pathname); 42 | } 43 | } -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/RotateTest.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace tests; 12 | 13 | use think\Image; 14 | 15 | class RotateTest extends TestCase 16 | { 17 | public function testJpeg() 18 | { 19 | $pathname = TEST_PATH . 'tmp/rotate.jpg'; 20 | $image = Image::open($this->getJpeg()); 21 | $image->rotate(90)->save($pathname); 22 | 23 | $file = new \SplFileInfo($pathname); 24 | 25 | $this->assertTrue($file->isFile()); 26 | 27 | @unlink($pathname); 28 | } 29 | 30 | public function testGif() 31 | { 32 | $pathname = TEST_PATH . 'tmp/rotate.gif'; 33 | $image = Image::open($this->getGif()); 34 | $image->rotate(90)->save($pathname); 35 | 36 | $file = new \SplFileInfo($pathname); 37 | 38 | $this->assertTrue($file->isFile()); 39 | 40 | @unlink($pathname); 41 | } 42 | } -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/TestCase.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace tests; 13 | 14 | use think\File; 15 | 16 | abstract class TestCase extends \PHPUnit_Framework_TestCase 17 | { 18 | 19 | protected function getJpeg() 20 | { 21 | return new File(TEST_PATH . 'images/test.jpg'); 22 | } 23 | 24 | protected function getPng() 25 | { 26 | return new File(TEST_PATH . 'images/test.png'); 27 | } 28 | 29 | protected function getGif() 30 | { 31 | return new File(TEST_PATH . 'images/test.gif'); 32 | } 33 | } -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/autoload.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | define('TEST_PATH', __DIR__ . '/'); 12 | // 加载框架基础文件 13 | require __DIR__ . '/../thinkphp/base.php'; 14 | \think\Loader::addNamespace('tests', TEST_PATH); 15 | \think\Loader::addNamespace('think', __DIR__ . '/../src/'); -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/images/test.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-image/tests/images/test.bmp -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/images/test.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-image/tests/images/test.gif -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/images/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-image/tests/images/test.jpg -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/images/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-image/tests/images/test.png -------------------------------------------------------------------------------- /vendor/topthink/think-image/tests/images/test.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lnlingyuan/tkbooks/da5d31bd2f1b77ceefb2bdc916794f62916a9685/vendor/topthink/think-image/tests/images/test.ttf -------------------------------------------------------------------------------- /vendor/topthink/think-installer/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think-installer", 3 | "type": "composer-plugin", 4 | "require": { 5 | "composer-plugin-api": "^1.0" 6 | }, 7 | "require-dev": { 8 | "composer/composer": "1.0.*@dev" 9 | }, 10 | "license": "Apache-2.0", 11 | "authors": [ 12 | { 13 | "name": "yunwuxin", 14 | "email": "448901948@qq.com" 15 | } 16 | ], 17 | "autoload": { 18 | "psr-4": { 19 | "think\\composer\\": "src" 20 | } 21 | }, 22 | "extra": { 23 | "class": "think\\composer\\Plugin" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/topthink/think-installer/src/Plugin.php: -------------------------------------------------------------------------------- 1 | getInstallationManager(); 15 | 16 | //框架核心 17 | $manager->addInstaller(new ThinkFramework($io, $composer)); 18 | 19 | //单元测试 20 | $manager->addInstaller(new ThinkTesting($io, $composer)); 21 | 22 | //扩展 23 | $manager->addInstaller(new ThinkExtend($io, $composer)); 24 | 25 | } 26 | } -------------------------------------------------------------------------------- /vendor/topthink/think-migration/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 3 | 版权所有Copyright © 2006-2016 by ThinkPHP (http://thinkphp.cn) 4 | All rights reserved。 5 | ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 6 | 7 | Apache Licence是著名的非盈利开源组织Apache采用的协议。 8 | 该协议和BSD类似,鼓励代码共享和尊重原作者的著作权, 9 | 允许代码修改,再作为开源或商业软件发布。需要满足 10 | 的条件: 11 | 1. 需要给代码的用户一份Apache Licence ; 12 | 2. 如果你修改了代码,需要在被修改的文件中说明; 13 | 3. 在延伸的代码中(修改和有源代码衍生的代码中)需要 14 | 带有原来代码中的协议,商标,专利声明和其他原来作者规 15 | 定需要包含的说明; 16 | 4. 如果再发布的产品中包含一个Notice文件,则在Notice文 17 | 件中需要带有本协议内容。你可以在Notice中增加自己的 18 | 许可,但不可以表现为对Apache Licence构成更改。 19 | 具体的协议参考:http://www.apache.org/licenses/LICENSE-2.0 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 27 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 | POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /vendor/topthink/think-migration/README.md: -------------------------------------------------------------------------------- 1 | # thinkphp5 数据库迁移工具 2 | 3 | ## 安装 4 | ~~~ 5 | composer require topthink/think-migration 6 | ~~~ 7 | -------------------------------------------------------------------------------- /vendor/topthink/think-migration/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think-migration", 3 | "authors": [ 4 | { 5 | "name": "yunwuxin", 6 | "email": "448901948@qq.com" 7 | } 8 | ], 9 | "license": "Apache-2.0", 10 | "autoload": { 11 | "psr-4": { 12 | "Phinx\\": "phinx/src/Phinx", 13 | "think\\migration\\": "src" 14 | }, 15 | "files": [ 16 | "src/config.php" 17 | ] 18 | }, 19 | "require-dev": { 20 | "topthink/framework": "^5.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /vendor/topthink/think-migration/phinx/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT license) 2 | 3 | Copyright (c) 2014 Rob Morgan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /vendor/topthink/think-migration/phinx/src/Phinx/Migration/IrreversibleMigrationException.php: -------------------------------------------------------------------------------- 1 | 36 | */ 37 | class IrreversibleMigrationException extends \Exception 38 | { 39 | } 40 | -------------------------------------------------------------------------------- /vendor/topthink/think-migration/phinx/src/Phinx/Migration/Migration.template.php.dist: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace think\migration; 12 | 13 | use Phinx\Migration\AbstractMigration; 14 | use think\migration\db\Table; 15 | 16 | class Migrator extends AbstractMigration 17 | { 18 | /** 19 | * @param string $tableName 20 | * @param array $options 21 | * @return Table 22 | */ 23 | public function table($tableName, $options = []) 24 | { 25 | return new Table($tableName, $options, $this->getAdapter()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/topthink/think-migration/src/Seeder.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace think\migration; 12 | 13 | use Phinx\Seed\AbstractSeed; 14 | 15 | class Seeder extends AbstractSeed 16 | { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /vendor/topthink/think-migration/src/command/stubs/migrate.stub: -------------------------------------------------------------------------------- 1 | 8 | // +---------------------------------------------------------------------- 9 | 10 | \think\Console::addDefaultCommands([ 11 | "think\\migration\\command\\migrate\\Create", 12 | "think\\migration\\command\\migrate\\Run", 13 | "think\\migration\\command\\migrate\\Rollback", 14 | "think\\migration\\command\\migrate\\Breakpoint", 15 | "think\\migration\\command\\migrate\\Status", 16 | "think\\migration\\command\\seed\\Create", 17 | "think\\migration\\command\\seed\\Run", 18 | ]); 19 | -------------------------------------------------------------------------------- /vendor/topthink/think-mongo/README.md: -------------------------------------------------------------------------------- 1 | ThinkPHP 5.0 MongoDb驱动 2 | =============== 3 | 4 | 首先安装官方的mongodb扩展: 5 | 6 | http://pecl.php.net/package/mongodb 7 | 8 | 然后,配置应用的数据库配置文件`database.php`的`type`参数为: 9 | 10 | ~~~ 11 | 'type' => '\think\mongo\Connection', 12 | ~~~ 13 | 14 | 即可正常使用MongoDb,例如: 15 | ~~~ 16 | Db::name('demo') 17 | ->find(); 18 | Db::name('demo') 19 | ->field('id,name') 20 | ->limit(10) 21 | ->order('id','desc') 22 | ->select(); 23 | ~~~ 24 | 25 | 1.*版本支持ThinkPHP 5.0 26 | 2.*版本支持ThinkPHP 5.1 27 | -------------------------------------------------------------------------------- /vendor/topthink/think-mongo/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think-mongo", 3 | "description": "mongodb driver for thinkphp5", 4 | "license": "Apache-2.0", 5 | "authors": [ 6 | { 7 | "name": "liu21st", 8 | "email": "liu21st@gmail.com" 9 | } 10 | ], 11 | "require": {}, 12 | "autoload": { 13 | "psr-4": { 14 | "think\\mongo\\": "src" 15 | }, 16 | "files": [ 17 | ] 18 | } 19 | } -------------------------------------------------------------------------------- /vendor/topthink/think-queue/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think-queue", 3 | "description": "The ThinkPHP5 Queue Package", 4 | "type": "think-extend", 5 | "authors": [ 6 | { 7 | "name": "yunwuxin", 8 | "email": "448901948@qq.com" 9 | } 10 | ], 11 | "license": "Apache-2.0", 12 | "autoload": { 13 | "psr-4": { 14 | "think\\": "src" 15 | }, 16 | "files": [ 17 | "src/common.php" 18 | ] 19 | }, 20 | "require": { 21 | "topthink/think-helper": ">=1.0.4", 22 | "topthink/think-installer": ">=1.0.10" 23 | }, 24 | "extra": { 25 | "think-config": { 26 | "queue": "src/config.php" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/topthink/think-queue/src/common.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | \think\Console::addDefaultCommands([ 13 | "think\\queue\\command\\Work", 14 | "think\\queue\\command\\Restart", 15 | "think\\queue\\command\\Listen", 16 | "think\\queue\\command\\Subscribe" 17 | ]); 18 | 19 | if (!function_exists('queue')) { 20 | 21 | /** 22 | * 添加到队列 23 | * @param $job 24 | * @param string $data 25 | * @param int $delay 26 | * @param null $queue 27 | */ 28 | function queue($job, $data = '', $delay = 0, $queue = null) 29 | { 30 | if ($delay > 0) { 31 | \think\Queue::later($delay, $job, $data, $queue); 32 | } else { 33 | \think\Queue::push($job, $data, $queue); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/topthink/think-queue/src/config.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return [ 13 | 'connector' => 'Sync' 14 | ]; 15 | -------------------------------------------------------------------------------- /vendor/topthink/think-queue/src/queue/CallQueuedHandler.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\queue; 13 | 14 | class CallQueuedHandler 15 | { 16 | 17 | public function call(Job $job, array $data) 18 | { 19 | $command = unserialize($data['command']); 20 | 21 | call_user_func([$command, 'handle']); 22 | 23 | if (!$job->isDeletedOrReleased()) { 24 | $job->delete(); 25 | } 26 | } 27 | 28 | public function failed(array $data) 29 | { 30 | $command = unserialize($data['command']); 31 | 32 | if (method_exists($command, 'failed')) { 33 | $command->failed(); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/topthink/think-queue/src/queue/Queueable.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\queue; 13 | 14 | trait Queueable 15 | { 16 | 17 | /** @var string 队列名称 */ 18 | public $queue; 19 | 20 | /** @var integer 延迟时间 */ 21 | public $delay; 22 | 23 | /** 24 | * 设置队列名 25 | * @param $queue 26 | * @return $this 27 | */ 28 | public function queue($queue) 29 | { 30 | $this->queue = $queue; 31 | 32 | return $this; 33 | } 34 | 35 | /** 36 | * 设置延迟时间 37 | * @param $delay 38 | * @return $this 39 | */ 40 | public function delay($delay) 41 | { 42 | $this->delay = $delay; 43 | 44 | return $this; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /vendor/topthink/think-queue/src/queue/ShouldQueue.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\queue; 13 | 14 | interface ShouldQueue 15 | { 16 | 17 | } 18 | -------------------------------------------------------------------------------- /vendor/topthink/think-queue/src/queue/command/Restart.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\queue\command; 13 | 14 | use think\Cache; 15 | use think\console\Command; 16 | use think\console\Input; 17 | use think\console\Output; 18 | 19 | class Restart extends Command 20 | { 21 | public function configure() 22 | { 23 | $this->setName('queue:restart')->setDescription('Restart queue worker daemons after their current job'); 24 | } 25 | 26 | public function execute(Input $input, Output $output) 27 | { 28 | Cache::set('think:queue:restart', time()); 29 | $output->writeln("Broadcasting queue restart signal."); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/topthink/think-queue/src/queue/job/Sync.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | namespace think\queue\job; 13 | 14 | use think\queue\Job; 15 | 16 | class Sync extends Job 17 | { 18 | /** 19 | * The queue message data. 20 | * 21 | * @var string 22 | */ 23 | protected $payload; 24 | 25 | public function __construct($payload) 26 | { 27 | $this->payload = $payload; 28 | } 29 | 30 | /** 31 | * Fire the job. 32 | * @return void 33 | */ 34 | public function fire() 35 | { 36 | $this->resolveAndFire(json_decode($this->payload, true)); 37 | } 38 | 39 | /** 40 | * Get the number of times the job has been attempted. 41 | * @return int 42 | */ 43 | public function attempts() 44 | { 45 | return 1; 46 | } 47 | 48 | /** 49 | * Get the raw body string for the job. 50 | * @return string 51 | */ 52 | public function getRawBody() 53 | { 54 | return $this->payload; 55 | } 56 | } 57 | --------------------------------------------------------------------------------