daShangDao_psiWebApp/backups/config.js.bak
97694731 0543936df8
Some checks failed
CI / build (20.x) (push) Waiting to run
CI / lint (push) Waiting to run
CI / test (push) Waiting to run
CI / deploy-preview (push) Blocked by required conditions
CI / security (push) Waiting to run
CI / build (18.x) (push) Has been cancelled
change store
2026-06-04 11:18:46 +08:00

97 lines
3.2 KiB
JavaScript

import axios from 'axios'
/**
* 测试连接核价器
* @param {string} ip - IP 地址
* @param {string} port - 端口
* @returns {Promise}
*/
export const testConnection = (ip, port) => {
const params = new URLSearchParams()
params.append('isbn', '0')
params.append('out_id', '0')
params.append('quality', '0')
params.append('query_index', '1')
params.append('user_id', '0')
return axios.post(`http://${ip}:${port}/api/goods/query`, params.toString(), {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
timeout: 10000
}).then(res => res.data)
}
/**
* 保存新价格到核价器
* @param {string} ip - IP 地址
* @param {string} port - 端口
* @returns {Promise}
*/
export const saveNewPrice = (ip, port, newPrice, placeholderDownPrice, minShippingFee, minPrice, verifyIndex) => {
const formData = new URLSearchParams()
formData.append('new_price', newPrice)
formData.append('placeholder_down_price', placeholderDownPrice)
formData.append('min_shipping_fee', minShippingFee)
formData.append('min_price', minPrice)
formData.append('query_index', verifyIndex)
console.log(formData.toString())
return axios.post(`http://${ip}:${port}/api/config/price/set`, formData.toString(), {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
timeout: 10000
}).then(res => res.data)
}
/**
* 孔夫子旧书网登录(直接请求核价器)
* @param {string} username - 孔网用户名
* @param {string} password - 孔网密码
* @param {string} ip - 核价器 IP
* @param {string} port - 核价器端口
* @returns {Promise<{code: number, data: {token: string, nickname: string}, message: string}>}
*/
export const kongfzLogin = (username, password, ip, port) => {
const formData = new FormData()
formData.append('username', username)
formData.append('password', password)
return axios.post(`http://${ip}:${port}/api/kfz/login`, formData, {
timeout: 15000
}).then(res => res.data)
}
/**
* 批量提交 Token 到核价器
* @param {Array<{username: string, token: string}>} tokens - 账号 Token 列表
* @param {string} ip - 核价器 IP
* @param {string} port - 核价器端口
* @returns {Promise}
*/
export const batchAddTokens = (tokens, ip, port) => {
return axios.post(`http://${ip}:${port}/api/token/add`, tokens, {
headers: { 'Content-Type': 'application/json' },
timeout: 10000
}).then(res => res.data)
}
/**
* 从核价器获取已保存的 Token 列表
* @param {string} ip - 核价器 IP
* @param {string} port - 核价器端口
* @returns {Promise<{code: number, data: Array<{Username: string, Token: string, ID: number, IsEnable: boolean}>, message: string}>}
*/
export const fetchTokenList = (ip, port) => {
return axios.post(`http://${ip}:${port}/api/token/list`, {}, {
headers: { 'Content-Type': 'application/json' },
timeout: 10000
}).then(res => res.data)
}
/**
* 从核价器获取config配置
* @param {string} ip - 核价器 IP
* @param {string} port - 核价器端口
*/
export const fetchConfig = (ip, port) => {
return axios.post(`http://${ip}:${port}/api/config/price/get`, {}, {
headers: { 'Content-Type': 'application/json' },
timeout: 10000
}).then(res => res.data)
}