import { MODULES_API_URL } from '@/config/setting';

/**
 * 小程序码参数
 */
export interface MiniProgramCodeParam {
  page?: string;
  scene: string;
  width?: number;
  checkPath?: boolean;
  envVersion?: 'release' | 'trial' | 'develop';
}

/**
 * 生成小程序码
 */
export async function generateMiniProgramCode(data: MiniProgramCodeParam) {
  try {
    const url = '/wx-login/getOrderQRCodeUnlimited/' + data.scene;
    const fullUrl = MODULES_API_URL + `${url}`;

    console.log('生成小程序码URL:', fullUrl);
    console.log('小程序码参数:', data);
    console.log('scene 参数:', data.scene);

    // 直接返回URL，让浏览器处理图片加载
    // scene 参数中包含了租户ID信息
    return fullUrl;
  } catch (error: any) {
    console.error('生成小程序码失败:', error);
    throw new Error(error.message || '生成小程序码失败');
  }
}

/**
 * 生成邀请小程序码
 */
export async function generateInviteCode(inviterId: number) {
  const scene = `uid_${inviterId}`;

  console.log('生成邀请小程序码 scene:', scene);

  return generateMiniProgramCode({
    page: 'pages/index/index',
    scene: scene,
    width: 180,
    checkPath: true,
    envVersion: 'trial'
  });
}
