87 lines
No EOL
1.8 KiB
JavaScript
87 lines
No EOL
1.8 KiB
JavaScript
// otp.js - OTP相关服务
|
||
|
||
import request from '../utils/request';
|
||
|
||
/**
|
||
* 创建新的OTP
|
||
* @param {Object} params - 创建OTP的参数
|
||
* @param {string} params.name - OTP名称
|
||
* @param {string} params.issuer - 发行方
|
||
* @param {string} params.secret - 密钥
|
||
* @param {string} params.algorithm - 算法,默认为SHA1
|
||
* @param {number} params.digits - 位数,默认为6
|
||
* @param {number} params.period - 周期,默认为30秒
|
||
* @returns {Promise} - 返回创建结果
|
||
*/
|
||
export const createOTP = (params) => {
|
||
return request({
|
||
url: '/otp',
|
||
method: 'POST',
|
||
data: params
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 获取用户所有OTP列表
|
||
* @returns {Promise} - 返回OTP列表
|
||
*/
|
||
export const getOTPList = () => {
|
||
return request({
|
||
url: '/otp',
|
||
method: 'GET'
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 获取指定OTP的当前验证码
|
||
* @param {string} id - OTP的ID
|
||
* @returns {Promise} - 返回当前验证码
|
||
*/
|
||
export const getOTPCode = (id) => {
|
||
return request({
|
||
url: `/otp/${id}/code`,
|
||
method: 'GET'
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 验证OTP
|
||
* @param {string} id - OTP的ID
|
||
* @param {string} code - 用户输入的验证码
|
||
* @returns {Promise} - 返回验证结果
|
||
*/
|
||
export const verifyOTP = (id, code) => {
|
||
return request({
|
||
url: `/otp/${id}/verify`,
|
||
method: 'POST',
|
||
data: {
|
||
code: code
|
||
}
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 更新OTP信息
|
||
* @param {string} id - OTP的ID
|
||
* @param {Object} params - 更新的参数
|
||
* @returns {Promise} - 返回更新结果
|
||
*/
|
||
export const updateOTP = (id, params) => {
|
||
return request({
|
||
url: `/otp/${id}`,
|
||
method: 'PUT',
|
||
data: params
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 删除OTP
|
||
* @param {string} id - OTP的ID
|
||
* @returns {Promise} - 返回删除结果
|
||
*/
|
||
export const deleteOTP = (id) => {
|
||
return request({
|
||
url: `/otp/${id}`,
|
||
method: 'DELETE'
|
||
});
|
||
}; |