first commit
This commit is contained in:
105
src/api/api.js
Executable file
105
src/api/api.js
Executable file
@@ -0,0 +1,105 @@
|
||||
|
||||
|
||||
import userConfig from '../../.user-config.js'
|
||||
|
||||
const axios = require('axios')
|
||||
|
||||
const { baiDuTranslationAppId, baiDuTranslationAppKey } = userConfig
|
||||
const { MD5: swMd5 } = require('./baidu-md5')
|
||||
const { apiBaseUrl } = require('../utils/config')
|
||||
|
||||
const instance = axios.create({
|
||||
baseURL: apiBaseUrl,
|
||||
timeout: 1000,
|
||||
|
||||
})
|
||||
|
||||
/**
|
||||
* 第一次的时候注册
|
||||
*/
|
||||
export const postRegister = data => new Promise((resolve, reject) => {
|
||||
instance({
|
||||
url: '/register',
|
||||
method: 'post',
|
||||
data,
|
||||
}).then((res) => {
|
||||
const { data: result } = res
|
||||
if (result.code === 0 || result.code === 400){
|
||||
resolve()
|
||||
}
|
||||
else {
|
||||
reject()
|
||||
}
|
||||
}).catch((error) => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
/**
|
||||
* 统计用户的使用情况
|
||||
*/
|
||||
export const apiStatisticActive = data => instance.post('/active', data)
|
||||
|
||||
export const apiGetNotices = () => new Promise((resolve) => {
|
||||
instance.get('/notice', {
|
||||
params: {
|
||||
is_test: 1
|
||||
}
|
||||
}).then((res) => {
|
||||
const { data: result } = res
|
||||
if (result.code === 0){
|
||||
resolve(result.data || [])
|
||||
}
|
||||
else {
|
||||
resolve([])
|
||||
}
|
||||
}).catch(() => { resolve([]) })
|
||||
})
|
||||
|
||||
/**
|
||||
* 百度翻译接口,将用户搜索的中文转成英文
|
||||
*/
|
||||
export const apiTranslation = val => new Promise((resolve, reject) => {
|
||||
if (val === ''){
|
||||
resolve('')
|
||||
return
|
||||
}
|
||||
// 如果包含数字就直接返回搜索值
|
||||
// eslint-disable-next-line no-restricted-globals
|
||||
if (!isNaN(Number(val))){
|
||||
resolve(val)
|
||||
return
|
||||
}
|
||||
const appid = baiDuTranslationAppId
|
||||
const key = baiDuTranslationAppKey
|
||||
const salt = (new Date()).getTime()
|
||||
const query = val
|
||||
// 多个query可以用\n连接 如 query='apple\norange\nbanana\npear'
|
||||
const from = 'zh'
|
||||
const to = 'en'
|
||||
const str1 = appid + query + salt + key
|
||||
const sign = swMd5(str1)
|
||||
|
||||
axios({
|
||||
url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
|
||||
method: 'get',
|
||||
params: {
|
||||
q: val,
|
||||
appid,
|
||||
salt,
|
||||
from,
|
||||
to,
|
||||
sign
|
||||
}
|
||||
}).then((result) => {
|
||||
const { trans_result: transResult } = result.data
|
||||
if (transResult && transResult.length > 0){
|
||||
const { dst = '' } = transResult[0]
|
||||
resolve(dst.toLocaleLowerCase())
|
||||
}
|
||||
else {
|
||||
resolve('')
|
||||
}
|
||||
}).catch(() => {
|
||||
resolve('')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user