Open MrBugDou opened 1 year ago
查了下应该是代码里面的有道账号都是失效了
查了下应该是代码里面的有道账号都是失效了
大佬会改么、我都看不懂这玩意怎么写的,我看有些翻译的插件可以配自己的有道key进去
@MrBugDou https://github.com/xudaolong/CodeVar/blob/master/src/config.js#L7 你查找文件 然后改下这里 或者自己去申请一个就行了哈
迟点我清理一下
@MrBugDou https://github.com/xudaolong/CodeVar/blob/master/src/config.js#L7 你查找文件 然后改下这里 或者自己去申请一个就行了哈
@xudaolong 这个key是什么呀,我看有道的是这样的一个key,一个secret
@MrBugDou http://fanyi.youdao.com/openapi?path=data-mode 很早以前的了,现在申请不了,要改造一波了
同遇到这个问题
@MrBugDou http://fanyi.youdao.com/openapi?path=data-mode 很早以前的了,现在申请不了,要改造一波了
A very handy tool. Good luck.
翻译插件无法使用了
好像有道翻译的 api 挂了
你们有空可以提个mr,最近比较忙
换新的api了,但返回的结构没怎么变,请求的地方要改下,新版api要收费了不过有体验金。我不太会js 有人有空不 https://ai.youdao.com/DOCSIRMA/html/trans/api/wbfy/index.html
我不会写这种项目,我看到有个翻译的workflow,支持多平台,用户自己设置API的方式使用,我觉得可以改成这样,但是我不知道怎么写,有没有大佬愿意参照这个改改的: https://github.com/wensonsmith/YoudaoTranslator
是的,有道更换了api并且添加一些可以的内容,需要申请自己的key,我本地可以使用了,随后给提交一个PR
以下配置建立在你已申请有道key,请自行查询相关申请流程:
第一步:打开codevar项目 第二步:打开config.js文件 第三步: 把以下代码cv到该文件中,并覆盖原本代码 `
'use strict';
const alfy = require('alfy'); const sample = require('lodash.sample'); const CryptoJS = require('crypto-js');
function truncate(q){ var len = q.length; if(len<=20) return q; return q.substring(0, 10) + len + q.substring(len-10, len); }
module.exports = { youDaoApi: 'https://openapi.youdao.com/api', getParams: function () { var appKey = ''; // 你的应用ID var key = ''; // 你的应用秘钥
var salt = (new Date).getTime();
var curtime = Math.round(new Date().getTime()/1000);
var str1 = appKey + truncate(alfy.input) + salt + curtime + key;
var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex);
return {
query: {
q: alfy.input,
appKey,
salt,
from: 'zh-CHS',
to: 'en',
sign: sign,
signType: "v3",
curtime,
}
}
},
filter: {
prep: [
'and', 'or', 'the', 'a', 'at', 'of'
],
prefix: [],
suffix: [
'ing', 'ed', 'ly'
],
verb: [
'was'
]
}
};
`
第四步: 需要注意的是,appKey(应用ID)、key(应用秘钥)分别是你在有道需要申请的,然后分别配置其中
第五步: 需要你安装crypto-js,在当前项目目录下安装跟package.json文件同级别目录,如果安装下载crypto-js,请自行查询
我fork了一份,已经修复了,可以直接用这个版本 https://github.com/liuarui/CodeVar/releases/tag/v1.0.0 配置方式参考readme
我不会写这种项目,我看到有个翻译的workflow,支持多平台,用户自己设置API的方式使用,我觉得可以改成这样,但是我不知道怎么写,有没有大佬愿意参照这个改改的: https://github.com/wensonsmith/YoudaoTranslator
试了下,还是报错
试了下,还是报错
抱歉,昨天上传的是xudaolong的安装包,我刚更新了安装包,再试试,配置方式可以参考我仓库里的readme
以下配置建立在你已申请有道key,请自行查询相关申请流程:
第一步:打开codevar项目 第二步:打开config.js文件 第三步: 把以下代码cv到该文件中,并覆盖原本代码 `
'use strict';
const alfy = require('alfy'); const sample = require('lodash.sample'); const CryptoJS = require('crypto-js');
function truncate(q){ var len = q.length; if(len<=20) return q; return q.substring(0, 10) + len + q.substring(len-10, len); }
module.exports = { youDaoApi: 'https://openapi.youdao.com/api', getParams: function () { var appKey = ''; // 你的应用ID var key = ''; // 你的应用秘钥
var salt = (new Date).getTime(); var curtime = Math.round(new Date().getTime()/1000); var str1 = appKey + truncate(alfy.input) + salt + curtime + key; var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex); return { query: { q: alfy.input, appKey, salt, from: 'zh-CHS', to: 'en', sign: sign, signType: "v3", curtime, } } }, filter: { prep: [ 'and', 'or', 'the', 'a', 'at', 'of' ], prefix: [], suffix: [ 'ing', 'ed', 'ly' ], verb: [ 'was' ] }
};
`
第四步: 需要注意的是,appKey(应用ID)、key(应用秘钥)分别是你在有道需要申请的,然后分别配置其中
第五步: 需要你安装crypto-js,在当前项目目录下安装跟package.json文件同级别目录,如果安装下载crypto-js,请自行查询
大佬 牛逼
以下配置建立在你已申请有道key,请自行查询相关申请流程:
第一步:打开codevar项目 第二步:打开config.js文件 第三步: 把以下代码cv到该文件中,并覆盖原本代码 `
'use strict';
const alfy = require('alfy'); const sample = require('lodash.sample'); const CryptoJS = require('crypto-js');
function truncate(q){ var len = q.length; if(len<=20) return q; return q.substring(0, 10) + len + q.substring(len-10, len); }
module.exports = { youDaoApi: 'https://openapi.youdao.com/api', getParams: function () { var appKey = ''; // 你的应用ID var key = ''; // 你的应用秘钥
var salt = (new Date).getTime(); var curtime = Math.round(new Date().getTime()/1000); var str1 = appKey + truncate(alfy.input) + salt + curtime + key; var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex); return { query: { q: alfy.input, appKey, salt, from: 'zh-CHS', to: 'en', sign: sign, signType: "v3", curtime, } } }, filter: { prep: [ 'and', 'or', 'the', 'a', 'at', 'of' ], prefix: [], suffix: [ 'ing', 'ed', 'ly' ], verb: [ 'was' ] }
};
`
第四步: 需要注意的是,appKey(应用ID)、key(应用秘钥)分别是你在有道需要申请的,然后分别配置其中
第五步: 需要你安装crypto-js,在当前项目目录下安装跟package.json文件同级别目录,如果安装下载crypto-js,请自行查询
跑通了,谢谢大佬!
以下配置在您已申请有道key,请自行查询相关申请流程:
第一步:打开codevar项目 第二步:打开config.js文件 第三步: 把以下代码cv到该文件中,并覆盖不知代码 `
'使用严格';
const alfy = require('alfy'); const 样本 = require('lodash.sample'); const CryptoJS = require('crypto-js');
函数 truncate(q){ var len = q.length; if(len<=20) 返回 q; 返回 q.substring(0, 10) + len + q.substring(len-10, len); }
module.exports = { youDaoApi: ' https://openapi.youdao.com/api ', getParams: function () { var appKey = ''; // 你的应用程序 ID var key = ''; // 你的应用秘钥
var salt = (new Date).getTime(); var curtime = Math.round(new Date().getTime()/1000); var str1 = appKey + truncate(alfy.input) + salt + curtime + key; var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex); return { query: { q: alfy.input, appKey, salt, from: 'zh-CHS', to: 'en', sign: sign, signType: "v3", curtime, } } }, filter: { prep: [ 'and', 'or', 'the', 'a', 'at', 'of' ], prefix: [], suffix: [ 'ing', 'ed', 'ly' ], verb: [ 'was' ] }
};
`
第四步:需要注意的是,appKey(应用ID)、key(应用秘钥)分别是你在有道需要申请的,然后分别配置其中
第五步: 需要安装crypto-js,在当前项目目录下安装跟package.json文件同级别目录,如果安装下载crypto-js,请自行查询
强迫症受不了,格式化下代码
'use strict';
const alfy = require('alfy');
const sample = require('lodash.sample');
const CryptoJS = require('crypto-js');
function truncate(q){
var len = q.length;
if(len<=20) return q;
return q.substring(0, 10) + len + q.substring(len-10, len);
}
module.exports = {
youDaoApi: 'https://openapi.youdao.com/api',
getParams: function () {
var appKey = ''; // 你的应用ID
var key = ''; // 你的应用秘钥
var salt = (new Date).getTime();
var curtime = Math.round(new Date().getTime() / 1000);
var str1 = appKey + truncate(alfy.input) + salt + curtime + key;
var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex);
return {
query: {
q: alfy.input,
appKey,
salt,
from: 'zh-CHS',
to: 'en',
sign: sign,
signType: "v3",
curtime,
}
}
},
filter: {
prep: [
'and', 'or', 'the', 'a', 'at', 'of'
],
prefix: [],
suffix: [
'ing', 'ed', 'ly'
],
verb: [
'was'
]
}
};
@liuarui 大佬,用了你的包,现在还是报错是啥问题啊,有道的key没问题,在有道翻译那个workflow中用是正常的
以下配置在您已申请有道key,请自行查询相关申请流程: 第一步:打开codevar项目 第二步:打开config.js文件 第三步: 把以下代码cv到该文件中,并覆盖不知代码 ` '使用严格'; const alfy = require('alfy'); const 样本 = require('lodash.sample'); const CryptoJS = require('crypto-js'); 函数 truncate(q){ var len = q.length; if(len<=20) 返回 q; 返回 q.substring(0, 10) + len + q.substring(len-10, len); } module.exports = { youDaoApi: ' https://openapi.youdao.com/api ', getParams: function () { var appKey = ''; // 你的应用程序 ID var key = ''; // 你的应用秘钥
var salt = (new Date).getTime(); var curtime = Math.round(new Date().getTime()/1000); var str1 = appKey + truncate(alfy.input) + salt + curtime + key; var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex); return { query: { q: alfy.input, appKey, salt, from: 'zh-CHS', to: 'en', sign: sign, signType: "v3", curtime, } } }, filter: { prep: [ 'and', 'or', 'the', 'a', 'at', 'of' ], prefix: [], suffix: [ 'ing', 'ed', 'ly' ], verb: [ 'was' ] }
}; ` 第四步:需要注意的是,appKey(应用ID)、key(应用秘钥)分别是你在有道需要申请的,然后分别配置其中 第五步: 需要安装crypto-js,在当前项目目录下安装跟package.json文件同级别目录,如果安装下载crypto-js,请自行查询
强迫症受不了,格式化下代码
'use strict'; const alfy = require('alfy'); const sample = require('lodash.sample'); const CryptoJS = require('crypto-js'); function truncate(q){ var len = q.length; if(len<=20) return q; return q.substring(0, 10) + len + q.substring(len-10, len); } module.exports = { youDaoApi: 'https://openapi.youdao.com/api', getParams: function () { var appKey = ''; // 你的应用ID var key = ''; // 你的应用秘钥 var salt = (new Date).getTime(); var curtime = Math.round(new Date().getTime() / 1000); var str1 = appKey + truncate(alfy.input) + salt + curtime + key; var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex); return { query: { q: alfy.input, appKey, salt, from: 'zh-CHS', to: 'en', sign: sign, signType: "v3", curtime, } } }, filter: { prep: [ 'and', 'or', 'the', 'a', 'at', 'of' ], prefix: [], suffix: [ 'ing', 'ed', 'ly' ], verb: [ 'was' ] } };
大佬,我按你这个试了,依赖也都安装了,但还是出现抱歉(无相关记录),系统版本13.3.1
怎么也用不了 也是抱歉
我fork了一份,已经修复了,可以直接用这个版本 liuarui/CodeVar@
v1.0.0
(release) 配置方式参考readme我不会写这种项目,我看到有个翻译的workflow,支持多平台,用户自己设置API的方式使用,我觉得可以改成这样,但是我不知道怎么写,有没有大佬愿意参照这个改改的: wensonsmith/YoudaoTranslator
谢谢大佬 已经可以了
我用python写了一个:https://github.com/daniellauyu/pyCodevar 熟悉python的可以用我这个试试
以下配置建立在你已申请有道key,请自行查询相关申请流程:
第一步:打开codevar项目 第二步:打开config.js文件 第三步: 把以下代码cv到该文件中,并覆盖原本代码 `
'use strict';
const alfy = require('alfy'); const sample = require('lodash.sample'); const CryptoJS = require('crypto-js');
function truncate(q){ var len = q.length; if(len<=20) return q; return q.substring(0, 10) + len + q.substring(len-10, len); }
module.exports = { youDaoApi: 'https://openapi.youdao.com/api', getParams: function () { var appKey = ''; // 你的应用ID var key = ''; // 你的应用秘钥
var salt = (new Date).getTime(); var curtime = Math.round(new Date().getTime()/1000); var str1 = appKey + truncate(alfy.input) + salt + curtime + key; var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex); return { query: { q: alfy.input, appKey, salt, from: 'zh-CHS', to: 'en', sign: sign, signType: "v3", curtime, } } }, filter: { prep: [ 'and', 'or', 'the', 'a', 'at', 'of' ], prefix: [], suffix: [ 'ing', 'ed', 'ly' ], verb: [ 'was' ] }
};
`
第四步: 需要注意的是,appKey(应用ID)、key(应用秘钥)分别是你在有道需要申请的,然后分别配置其中
第五步: 需要你安装crypto-js,在当前项目目录下安装跟package.json文件同级别目录,如果安装下载crypto-js,请自行查询
'use strict';
const alfy = require('alfy');
const sample = require('lodash.sample');
const crypto = require('crypto');
function truncate(q){
var len = q.length;
if(len<=20) return q;
return q.substring(0, 10) + len + q.substring(len-10, len);
}
module.exports = {
youDaoApi: 'https://openapi.youdao.com/api',
getParams: function () {
var appKey = ''; // 你的应用ID
var key = ''; // 你的应用秘钥
var salt = (new Date).getTime();
var curtime = Math.round(new Date().getTime() / 1000);
var str1 = appKey + truncate(alfy.input) + salt + curtime + key;
const hash = crypto.createHash('sha256');
hash.update(str1);
return {
query: {
q: alfy.input,
appKey,
salt,
from: 'zh-CHS',
to: 'en',
sign: hash.digest('hex'),
signType: "v3",
curtime,
}
}
},
filter: {
prep: [
'and', 'or', 'the', 'a', 'at', 'of'
],
prefix: [],
suffix: [
'ing', 'ed', 'ly'
],
verb: [
'was'
]
}
};
CodeVar undefined Alfred 5.0.4 darwin arm64 22.4.0
[11:58:58.213] CodeVar[Script Filter] Queuing argument '你好' [11:58:58.421] CodeVar[Script Filter] Script with argv '(null)' finished [11:58:58.426] ERROR: CodeVar[Script Filter] Code 1: { "items": [ { "title": "ParseError: Unexpected token '<', \"<!DOCTYPE \"... is not valid JSON in \"http://fanyi.youdao.com/openapi.do\": \n<!DOCTYPE html>\n\n
\n <meta http-equiv=\"Content-Type\" content=\"te...\n at /Users/doudou/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.1239E880-0DA5-4507-9E68-9DD6FCD250E2/node_modules/got/index.js:118:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)", "subtitle": "Press ⌘L to see the full error and ⌘C to copy it.", "valid": false, "text": { "copy": "\nParseError: Unexpected token '<', \"<!DOCTYPE \"... is not valid JSON in \"http://fanyi.youdao.com/openapi.do\": \n<!DOCTYPE html>\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"te...\n at /Users/doudou/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.1239E880-0DA5-4507-9E68-9DD6FCD250E2/node_modules/got/index.js:118:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n
\n\n-\nCodeVar undefined\nAlfred 5.0.4\ndarwin arm64 22.4.0", "largetype": "ParseError: Unexpected token '<', \"<!DOCTYPE \"... is not valid JSON in \"http://fanyi.youdao.com/openapi.do\": \n<!DOCTYPE html>\n\n\n <meta http-equiv=\"Content-Type\" content=\"te...\n at /Users/doudou/Library/Application Support/Alfred/Alfred.alfredpreferences/workflows/user.workflow.1239E880-0DA5-4507-9E68-9DD6FCD250E2/node_modules/got/index.js:118:14\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)" }, "icon": { "path": "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertStopIcon.icns" } } ] }