import request from '/@/utils/request';

/**
 * 获取Google验证器二维码
 * @returns 返回base64编码的二维码图片
 */
export function getGoogleCode() {
	return request({
		url: '/admin/google/getCode',
		method: 'post',
	});
}

/**
 * 绑定Google验证器
 * @param code 6位验证码
 * @returns 绑定结果
 */
export function bindingGoogle(code: string) {
	return request({
		url: '/admin/google/binding',
		method: 'get',
		params: { code },
	});
}

/**
 * 解绑Google验证器
 * @param pwd 登录密码(明文)
 * @returns 解绑结果
 */
export function unbindingGoogle(pwd: string) {
	// 密码加密,与登录时使用相同的加密方式
	return request({
		url: '/admin/google/unbinding',
		method: 'post',
		data: { pwd },
	});
}

/**
 * 查看白名单
 * @returns 返回白名单字符串
 */
export function getWhitelist() {
	return request({
		url: '/admin/merchant/getWhitelist',
		method: 'get',
	});
}

/**
 * 设置白名单
 * @param whitelist 白名单字符串
 * @returns 设置结果
 */
export function editWhitelist(whitelist: string) {
	return request({
		url: '/admin/merchant/editWhitelist',
		method: 'patch',
		data: { whitelist },
	});
}

/**
 * 设置支付密码(二级密码)
 * @param secondaryPwd 新的支付密码
 * @param oldSecondaryPwd 旧的支付密码(可选,首次设置时为空)
 * @returns 设置结果
 */
export function editSecondaryPwd(secondaryPwd: string, oldSecondaryPwd?: string) {
	return request({
		url: '/admin/merchant/editSecondaryPwd',
		method: 'patch',
		data: {
			secondaryPwd,
			oldSecondaryPwd: oldSecondaryPwd || '',
		},
	});
}
