{"_id":"frank-node","_rev":"38-361cab3cc4220f9abaf4e70100f73806","name":"frank-node","time":{"modified":"2022-06-18T03:29:31.170Z","created":"2017-06-07T07:33:52.823Z","1.0.0":"2017-06-07T07:33:52.823Z","2.0.0":"2017-06-08T04:11:38.039Z","2.0.1":"2017-06-08T07:15:12.399Z","2.0.3":"2017-06-12T03:50:46.695Z","2.0.4":"2017-06-12T04:50:19.032Z","2.0.5":"2017-06-12T07:26:46.671Z","2.0.6":"2017-06-12T07:28:16.760Z","2.0.7":"2017-06-13T08:33:15.464Z","2.0.8":"2017-06-14T05:07:05.403Z","2.0.9":"2017-06-14T12:45:48.589Z","2.1.0":"2017-06-16T09:15:13.894Z","2.2.0":"2017-06-21T03:52:02.953Z","2.2.1":"2017-06-23T12:41:38.585Z","2.2.2":"2017-06-23T12:57:51.502Z","2.2.3":"2017-06-23T13:09:07.137Z","2.2.4":"2017-06-23T13:12:59.086Z","2.2.5":"2017-06-26T03:16:26.761Z","2.2.6":"2017-06-26T04:11:09.825Z","2.2.7":"2017-07-05T02:28:53.766Z","2.2.8":"2017-07-07T09:03:59.266Z","2.2.9":"2017-07-18T03:09:38.457Z","2.3.0":"2017-10-07T02:49:36.871Z","2.3.1":"2017-10-07T03:24:02.204Z","2.3.2":"2017-10-07T04:26:54.761Z","2.3.3":"2017-10-07T04:57:10.569Z","2.3.4":"2017-10-07T05:33:19.222Z","2.3.5":"2017-10-07T06:27:38.542Z"},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"dist-tags":{"latest":"2.3.5"},"description":"a nodejs framework based on koa","readme":"# frank-node\na nodejs framework based on koa","versions":{"2.0.0":{"name":"frank-node","version":"2.0.0","description":"a nodejs framework based on koa","main":"index.js","scripts":{"start":"set NODE_ENV=dev && node app.js"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-datetime":"2.0.0","frank-node-digest":"1.0.0","frank-node-log":"1.0.0","frank-node-file":"1.0.0","frank-node-token":"1.0.0","koa":"2.0.0","kcors":"1.3.2","koa-session":"5.0.0","koa-favicon":"2.0.0","koa-static":"3.0.0","koa-bodyparser":"3.2.0","koa-router":"7.0.0","koa-multer":"1.0.1","koa-validate":"1.0.7","nunjucks":"2.4.3","request":"2.81.0"},"gitHead":"8865b66931e9d5555ab797d5dfd46ab0904211bd","_id":"frank-node@2.0.0","_shasum":"91bec1d8217ae8f41f9e7667b396fed59db847f3","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"91bec1d8217ae8f41f9e7667b396fed59db847f3","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.0.0.tgz","integrity":"sha512-5Pb5087GqwsCg7PQJm6tMatAvgFugzQqBj5MDflW9DqLg++H/63FwZUTl2gUpoZx2AWrI9Bb1PzE6Qgf31/5Sw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4UJLJtQDVpCx9YaWwiHHBzO34WUIZChzdmYr0IjTp/AiEA8RTFEWXyZzZLGKQ6tJRupMTAnA68qN2A0ZDMiBoQ1MY="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.0.0.tgz_1496895097970_0.23817451880313456"}},"2.2.0":{"name":"frank-node","version":"2.2.0","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"^2.0.0","kcors":"^2.0.0","koa-static":"^3.0.0","koa-favicon":"^2.0.0","koa-bodyparser":"^4.0.0","koa-validate":"^1.0.0","koa-router":"^7.0.0"},"gitHead":"cb29df014335f98e68cfc5b57e522bbb05ca164a","_id":"frank-node@2.2.0","_shasum":"bc55de6d1b90119d4fbfe0c92b7f2db0273fdab6","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"bc55de6d1b90119d4fbfe0c92b7f2db0273fdab6","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.0.tgz","integrity":"sha512-dBfzwpyDpDYDqk218LcM0Lr2bKnNtLwykU5K+ro6SvHQzv950VUpPcrXwhrHCL54i4aVuxo9Kk40rWU9JmRWeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBSW28o3WjarykdlIGJRmE+ixPf/CRF4+iuBS3mfTcyKAiEA542Txm0aCWqAdtnJ80lBf4eHh8YTDso3C+waRYCqgJI="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.0.tgz_1498017122841_0.7024288554675877"}},"2.2.1":{"name":"frank-node","version":"2.2.1","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"^2.0.0","kcors":"^2.0.0","koa-static":"^3.0.0","koa-favicon":"^2.0.0","koa-bodyparser":"^4.0.0","koa-validate":"^1.0.0","koa-router":"^7.0.0"},"gitHead":"221dff2f843197e9c303078f1cbc73eba71937f0","_id":"frank-node@2.2.1","_shasum":"798f009075dda84b568249b280743d19a23b512b","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"798f009075dda84b568249b280743d19a23b512b","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.1.tgz","integrity":"sha512-MJKojDXOUZVM+i9EbpoLTd6OKC8ZXoZsu7O7FZbG7Aek7MJgoJMD2VcNSuAyTeH91yfvexaDdvFQZCjTHjsAXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAgPUhaNPPzJJ+Rzhq6ndf+AjFkKQN4A40JQ5UwUPI0mAiEAuf//E3vjTKdCBVwn21UJ8qr3Y96t/BNor6YhEvNzSck="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.1.tgz_1498221698390_0.6809533413033932"}},"2.2.2":{"name":"frank-node","version":"2.2.2","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"^2.0.0","kcors":"^2.0.0","koa-static":"^3.0.0","koa-favicon":"^2.0.0","koa-bodyparser":"^4.0.0","koa-validate":"^1.0.0","koa-router":"^7.0.0"},"gitHead":"f72d985a8d002e431c40653add048545c26b1844","_id":"frank-node@2.2.2","_shasum":"8b0a998d2e8509666b6ebfb19602a9dbe1cfeaa3","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"8b0a998d2e8509666b6ebfb19602a9dbe1cfeaa3","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.2.tgz","integrity":"sha512-jHEj2utSGk+3kaor97PTGIe9nWh9O7Pt4Kej9KkrXQNRTtRZwC9t2DMPuI/MV8bWYf+YKqIvUVzbXXDr9CMbUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBZ/ESajXsKgDks+sQHvH6bpaOmIEYpVYS9F1SpqN2jiAiBn2WNtNN9gRAplNj+GARFkj31i9pyN9s/AJdohp7z0+Q=="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.2.tgz_1498222671411_0.9465237967669964"}},"2.2.3":{"name":"frank-node","version":"2.2.3","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"^2.0.0","kcors":"^2.0.0","koa-static":"^3.0.0","koa-favicon":"^2.0.0","koa-bodyparser":"^4.0.0","koa-validate":"^1.0.0","koa-router":"^7.0.0"},"gitHead":"00ff5c591b1ec4caa96ee7366325022ddb6b21c9","_id":"frank-node@2.2.3","_shasum":"afb2e520c980fde530959bc0703ab50e347eee6f","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"afb2e520c980fde530959bc0703ab50e347eee6f","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.3.tgz","integrity":"sha512-ZwOap0FefkYecNJUdh+shVhnrtXLkoeZV906Y+b9+DNc2ubv3hLoLu56lRWmOdEVzghksxMZJI6iuQY306qS4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjWxgZwTawH/JsfmDDgXm7vXGb8is1CBIyYJvC3OnLQgIhALrN1vTsJuXoLp+DiGqViHid7P4XsnRTpXlTUD/ZAxov"}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.3.tgz_1498223346951_0.1600448803510517"}},"2.2.4":{"name":"frank-node","version":"2.2.4","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"^2.0.0","kcors":"^2.0.0","koa-static":"^3.0.0","koa-favicon":"^2.0.0","koa-bodyparser":"^4.0.0","koa-validate":"^1.0.0","koa-router":"^7.0.0"},"gitHead":"6edea469f7f88c884224678c99858c98fe6e22b4","_id":"frank-node@2.2.4","_shasum":"3b43a1611a145fb64a9d1157048f43508879f505","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"3b43a1611a145fb64a9d1157048f43508879f505","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.4.tgz","integrity":"sha512-eFD5h15u8ItpDm10NehPSHcmpoVIPsxA4BzhfZvEz6cv6I9Lcyd8OuGxRJ1gBhJjhf7kUta/X1TEmf9j1TALjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICARcpk5/JYZ9GMFtnswdUlRk7IFFg+m6+iy3m5DykyWAiBRqPABc2D2t4j0ePuP1bZqU2NDCXDSpMze1g2jdIedaQ=="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.4.tgz_1498223578882_0.07454101368784904"}},"2.2.5":{"name":"frank-node","version":"2.2.5","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"^2.0.0","kcors":"^2.0.0","koa-static":"^3.0.0","koa-favicon":"^2.0.0","koa-bodyparser":"^4.0.0","koa-validate":"^1.0.0","koa-router":"^7.0.0"},"gitHead":"b57c59429004aac302cb907586bc3b13aae2ab28","_id":"frank-node@2.2.5","_shasum":"aabd1b93b3eb669e18aee238e42c160cd6056ff5","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"aabd1b93b3eb669e18aee238e42c160cd6056ff5","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.5.tgz","integrity":"sha512-qkJ6tgjOTdST7ANRn/BWUEGVuwRaSUBBACahAvIxAfKJ4r4ely5ZoKCEsx7oyhIaRIv8N3yiPkBuIIREKmCyOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZVIOx9qKwk2K0uTF15TzTsP+NQ+AEizt9xWdkIcadzwIhAOglPkf3DoaqpFNZ6azH9030dw76SlbuOOrOSAogmGEA"}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.5.tgz_1498446986618_0.05609483807347715"}},"2.2.6":{"name":"frank-node","version":"2.2.6","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0"},"gitHead":"927501555a6d6876047f28b583e36fab1fa6a852","_id":"frank-node@2.2.6","_shasum":"db3ab132edfc5ef9d7414534c2d0b3a7c822443f","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"db3ab132edfc5ef9d7414534c2d0b3a7c822443f","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.6.tgz","integrity":"sha512-vMLMmKGl8Fa09Fbd8td1f5gZfF94CrjhEfhLAdcfwKa9RlBsv4ksipfyLrxQr64bF2F1BgkTZbx8jbFX2Zeoyg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9j+rpdBVpQfzlT8MiAgRaI01qUx+An9KJDjtm1h7Q/wIhAJSIsjOkW9SNPm0w4u5e5A3S4iVjAZtcmYlZsRpfFNVL"}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.6.tgz_1498450269730_0.6170607919339091"}},"2.2.7":{"name":"frank-node","version":"2.2.7","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0"},"gitHead":"b444c1576f4a8267f28b04dab2ffa7039d0d5601","_id":"frank-node@2.2.7","_shasum":"1732f665f34b6e19465572fa73771e335de7d912","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"1732f665f34b6e19465572fa73771e335de7d912","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.7.tgz","integrity":"sha512-MeT6nOzQXQadOeCQ8OGC7dN47ZyBT+unxeH0euxho5kzplDCBc+0ptb37UNVnqpOg2HctfvI7bt58eGDq9PcQw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDG54+uvH6EUzSdD0+16rq+q707kaD3/Ct6gbJVW+z4JwIhAJJXf1Y1ZxdlfotNK4Vm/pSo6WCMxUU3v/XDtNyzbwgY"}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.7.tgz_1499221733595_0.008371124742552638"}},"2.2.8":{"name":"frank-node","version":"2.2.8","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-request":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0"},"gitHead":"2402e147b5ae1d5d73d29a2d6e2e7fc57569e4e1","_id":"frank-node@2.2.8","_shasum":"bc642b0dd673f22465b21c07d53d97bc8e66bfbd","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"bc642b0dd673f22465b21c07d53d97bc8e66bfbd","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.8.tgz","integrity":"sha512-c9AlQCgoVPeKzV4s/Ah9UpO15wvTRbckhSlkLfEinegvuGXpphCqrvkZA9ZQiT502H7XhQ73ph2j22lyUJBgPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCn61W3EcssESu0YqGodFz4KKY+HIz+zuqsSHKcZbbeGgIhANueFd0o9XzD5lZiS+7tOiU9BSbZspFepr+NmWDd44P1"}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.8.tgz_1499418239086_0.2665101010352373"}},"2.2.9":{"name":"frank-node","version":"2.2.9","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-push":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-request":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0"},"gitHead":"b9f271db42dfe55813527c3999fdad07ca62f4a8","_id":"frank-node@2.2.9","_shasum":"f8c7a023b4619fc24c60ee93b8fe13614d03d246","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"f8c7a023b4619fc24c60ee93b8fe13614d03d246","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.2.9.tgz","integrity":"sha512-5yCarpLsrvOhLjAn0SamRdhzo3snKqOvTJKeH1mzu4waimm2k+QRBhK+XKDQv6u8u1OZWlTFCh2v3ZqgVQM7sg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB+mOd9VhGZQpuZdjHkHzVYj+rfBc0io8gIBILAL4sMPAiEAmAAQmFZDOAIspqEbUlsrRnGivxa6MLhuGFfVU5Tb/y0="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.2.9.tgz_1500347378362_0.125471374951303"}},"2.3.0":{"name":"frank-node","version":"2.3.0","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-push":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-request":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-xml-body":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0"},"gitHead":"2252f037c3b157411094634f04b73b4fa4c9e919","_id":"frank-node@2.3.0","_shasum":"9c2130e528ac02de6b707881c9a8a5bf826f9bd7","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"9c2130e528ac02de6b707881c9a8a5bf826f9bd7","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.3.0.tgz","integrity":"sha512-DwegJ866KGV+bjhprrdApaCLAOkeov6+vJVsFmxbQm2Hm0tLeoIId5GWV+RxnE7DAbdx6/stEUlxUhx75BQI0w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHM2Xwd7i7WhIWkhwZZxn+53oRA5VkMVme6rSThS1wLiAiEA2obqfkrNsNCCNEfPmms4Un3NPfaZZQSFp+EnTbdcVWk="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.3.0.tgz_1507344576700_0.640857704449445"}},"2.3.1":{"name":"frank-node","version":"2.3.1","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-push":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-request":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0"},"gitHead":"8aabeec16d9af9588c638a7a5c6dcc095c1ccb96","_id":"frank-node@2.3.1","_shasum":"7d051a96e23289a422f1ec37bf4ce5385f68c1d2","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"7d051a96e23289a422f1ec37bf4ce5385f68c1d2","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.3.1.tgz","integrity":"sha512-Xg2ozgL0yCSLXYPXRW0WZKadwr9PxrwJRZa3Ck001vWIsoH0uBGkrggEP/dCbWieBf56VFvrUN6MYPjLu0jdSA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBClQIE6VIvxCkT/1zAujzfFQchhG017+6ias3HmFZwRAiEA5PwSPRhB/Us8rimJ4qlzAPP6Iz+02oVARwxOECgNbDc="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.3.1.tgz_1507346642139_0.4080561459995806"}},"2.3.2":{"name":"frank-node","version":"2.3.2","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-push":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-request":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0","xml2js":"0.4.19"},"gitHead":"aa54e45fd3e02e57978f6d398dda42f29c5d62b3","_id":"frank-node@2.3.2","_shasum":"b645509729c64567be972a303435675ac78d7cd3","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"b645509729c64567be972a303435675ac78d7cd3","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.3.2.tgz","integrity":"sha512-lHVPPuksz6l0gMbIMU/dI2fwiBaOmaHe13YwB/WEk5MfD36f313IHBhJxQN5h/cjdReOoGCkUJKZDbs3SqC0Bw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQN5gpVJcS9dp2iP+xvaKpHhY+MM2l6WFZYeoX5BL7rQIgSCF5nJ9hl7QksSuO+CSIiYu6axOcCQnDzNvjfURdyOk="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.3.2.tgz_1507350414692_0.5014678502921015"}},"2.3.3":{"name":"frank-node","version":"2.3.3","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-push":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-request":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0","xml2js":"0.4.19"},"gitHead":"5562158d5298ad4fab4d855d13e9490c65cba916","_id":"frank-node@2.3.3","_shasum":"51cdee951faf8caf730e2f82ade4c41c53a79dcf","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"51cdee951faf8caf730e2f82ade4c41c53a79dcf","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.3.3.tgz","integrity":"sha512-0jibixWfDu8kbzINBtYUv2dm9qkLPZ3LFyPft10n76ZNOdf5XmekX8SJcJTY/dAXB6+53vrTQnPEd+VBLo14bg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBsvSgnLt2CarL2AnFuVthEyBWD6HlGU/sFgM01/+g3gIgK2tXanVRX3OtF4v+uG7Ov0IT/1OWpN4gDHlWmbnMTqk="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.3.3.tgz_1507352230438_0.2572906988207251"}},"2.3.4":{"name":"frank-node","version":"2.3.4","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-push":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-request":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0","xml2js":"0.4.19"},"gitHead":"420885fdb3485ed62a01ac494f7d6bddfd3dbd41","_id":"frank-node@2.3.4","_shasum":"f246acf6ff73312f87f69181dfe7692250619686","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"f246acf6ff73312f87f69181dfe7692250619686","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.3.4.tgz","integrity":"sha512-oBTzaTu6kRQE5O1OfkiVhrUF9+DRTay1V/5OQQ54p5vs3J7OWASO/M2Zv22Bws9UzPYWOdnQWIQlIZ1MJV7rjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/5OswUPpcsZUU4AP8bJDKbnUx7/2KuHEfNXYnA1Ud3wIhAIFA8O2Gq4wZ7nmIqpD4xqE71A760QCPUQ26bmQQ9+8k"}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.3.4.tgz_1507354399100_0.9233554764650762"}},"2.3.5":{"name":"frank-node","version":"2.3.5","description":"a nodejs framework based on koa","main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"keywords":["koa","node","framework"],"author":{"name":"frank5380"},"license":"ISC","bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"homepage":"https://github.com/frank5380/frank-node#readme","dependencies":{"frank-node-captcha":"^2.0.0","frank-node-datetime":"^2.0.0","frank-node-digest":"^2.0.0","frank-node-error":"^2.0.0","frank-node-file":"^2.0.0","frank-node-log":"^2.0.0","frank-node-model":"^2.0.0","frank-node-mysql":"^2.0.0","frank-node-page":"^2.0.0","frank-node-push":"^2.0.0","frank-node-redis":"^2.0.0","frank-node-request":"^2.0.0","frank-node-service":"^2.0.0","frank-node-sms":"^2.0.0","frank-node-token":"^2.0.0","frank-node-valid":"^2.0.0","frank-node-weixin":"^2.0.0","koa":"2.0.0","kcors":"1.3.2","koa-static":"3.0.0","koa-favicon":"2.0.0","koa-bodyparser":"3.2.0","koa-validate":"1.0.7","koa-router":"7.0.0","xml2js":"0.4.19"},"gitHead":"0d7fff8067a8725f5038d9eb2cf2b339a5dad5b2","_id":"frank-node@2.3.5","_shasum":"d487d04dcde40de2c748c77788afe7f07adad9cb","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.7.2","_npmUser":{"name":"frank5380","email":"441530121@qq.com"},"dist":{"shasum":"d487d04dcde40de2c748c77788afe7f07adad9cb","tarball":"https://registry.npmjs.org/frank-node/-/frank-node-2.3.5.tgz","integrity":"sha512-in7lvtoRdy/IrcsQH+nBWewJ51UyWyKfZGMhGsDhpr+nL/TdTCgTiu73rEABl6oSyiiqGlIcJgrhPT1jqBsXHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfNdEbFEqRRV43bmIffuG2qNzpPDCV+jrQFE6y98IwiAIgKSvglmFqVFBTIOsiesFp2sRjrBmA3afie8h0yA84XyE="}]},"maintainers":[{"name":"frank5380","email":"441530121@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frank-node-2.3.5.tgz_1507357658387_0.0930041279643774"}}},"homepage":"https://github.com/frank5380/frank-node#readme","keywords":["koa","node","framework"],"repository":{"type":"git","url":"git+https://github.com/frank5380/frank-node.git"},"author":{"name":"frank5380"},"bugs":{"url":"https://github.com/frank5380/frank-node/issues"},"license":"ISC","readmeFilename":"README.md"}