UNPKG

youdaotom

Version:
3 lines (2 loc) 2.26 kB
"use strict";var e=require("@darkobits/lolcatjs"),o=require("chalk"),r=require("cli-table2/src/table"),t=require("commander"),n=require("configstore"),a=require("figlet"),c=require("superagent");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=i(e),l=i(o),y=i(r),u=i(n),d=i(a),g=i(c),f=new u.default("youdaoTom"),p=868480929,m="toaijf",k=f.get("key")||p,q=f.get("keyfrom")||m,v=d.default.textSync("Youdao"),x=s.default.fromString("\n========================================= \n 汤姆的youdao翻译".concat("1.1.7","\n\n").concat(v,"\n========================================="));t.program.allowUnknownOption().version(x,"-V, --version").usage("translator <cmd> [input]");var b="http://fanyi.youdao.com/openapi.do?keyfrom=".concat(q,"&key=").concat(k,"&type=data&doctype=json&version=1.1");t.program.command("set").description("config key,keyfrom").requiredOption("-key,--key <string>","youdao api key").requiredOption("-keyfrom,--keyfrom <string>","youdao api keyfrom").action((e=>{console.log("cmd",e,e.key),f.set("key",e.key),f.set("keyfrom",e.keyfrom)})),t.program.command("query",{isDefault:!0}).description("translate query").action(((e,o)=>{var r,t=null===(r=o.args)||void 0===r?void 0:r.join(" ");g.default.get(b).query({q:t}).end(((e,o)=>{if(e)return console.log("excuse me, try again"),!1;try{if(!(e=>{try{return JSON.parse(e),!0}catch(e){return!1}})(o.text))return console.log("\n ".concat(l.default.red("有道翻译API出错信息:"))),console.log("\n".concat("💔".repeat(3),"来自您key的翻译API请求异常频繁,为保护其他用户的正常访问,只能暂时禁止您目前key的访问\n")),console.log("\n你可以使用 ".concat(l.default.red("youdaotom set -key xxx -keyfrom yyy")," 命令来配置你自己在网易申请的key和keyfrom,或者几个小时后再尝试,随着本npm包下载的用户数越多,很容易超出网易的限制\n")),!1;var r=JSON.parse(o.text),n={};r.basic?n[t]=r.basic.explains:r.translation?n[t]=r.translation:console.error("error"),console.log();var a=new y.default;a.push(n),console.log(a.toString())}catch(e){console.log(e.toString())}}))})),process.argv[2]||(console.log(x),t.program.help()),t.program.parse(process.argv); //# sourceMappingURL=youdao.js.map