/**
 * 短信发送服务
 *
 * 当前使用 console.log 模拟发送。
 * 对接真实 API 时，替换 send() 函数内容即可。
 *
 * 常见对接 SDK（按需安装）：
 *   腾讯云短信: @tencentcloud/sms  (tencentcloud-sdk-nodejs)
 *   阿里云短信: @alicloud/sms
 *   云片:      yunpian-sdk
 */

/**
 * 发送短信
 * @param {string} phone    手机号
 * @param {string} content  短信内容（已渲染）
 * @param {object} options  可选参数（对接真实 API 时使用）
 * @returns {Promise<{success: boolean, messageId?: string, error?: string}>}
 */
async function send(phone, content, options = {}) {
  // ===== 对接真实短信 API 时替换以下模拟逻辑 =====
  console.log(`[短信模拟] 发送到 ${phone}`);
  console.log(`[短信模拟] 内容: ${content}`);
  if (options.templateCode) {
    console.log(`[短信模拟] 模板: ${options.templateCode}`);
  }

  // 模拟成功
  return {
    success: true,
    messageId: `SMS_${Date.now()}_${String(Math.random()).slice(2, 10)}`,
    error: null
  };

  // ===== 真实对接示例（腾讯云短信） =====
  /*
  const tencentcloud = require('tencentcloud-sdk-nodejs');
  const smsClient = tencentcloud.sms.v20210111.Client;
  const client = new smsClient({
    credential: { secretId: process.env.TX_SECRET_ID, secretKey: process.env.TX_SECRET_KEY },
    region: 'ap-guangzhou',
  });
  const result = await client.SendSms({
    PhoneNumberSet: ['+86' + phone],
    TemplateId: options.templateCode,
    TemplateParamSet: Object.values(options.templateParams || []),
    SignName: options.signName || '您的商城',
  });
  return { success: true, messageId: result.SendStatusSet[0].SerialNo };
  */
}

module.exports = { send };
