/**
 * 公共路由接口封装（/public/*）
 * 注：响应拦截器暂未做业务规范拦截，调用方拿到的是 uni.request 原始 response 结构 { statusCode, data, header ... }
 */
import request from './request.js';

const PREFIX = '/public';

/**
 * 获取商品分类树
 * @param {Object} [params]
 * @param {string|number} [params.countryId] 国家 ID，不传时返回全部国家
 */
export function getCategories(params) {
    return request.get(`${PREFIX}/categories`, params);
}

/**
 * 获取有商品的国家列表
 */
export function getCountries() {
    return request.get(`${PREFIX}/countries`);
}

/**
 * 获取有商品的标签列表
 */
export function getTags() {
    return request.get(`${PREFIX}/tags`);
}

/**
 * 获取标签组及标签筛选项
 * @param {Object} [params]
 * @param {string|number} [params.countryId] 国家 ID，不传时返回全部国家
 */
export function getTagGroups(params) {
    return request.get(`${PREFIX}/tag-groups`, params);
}

/**
 * 分页获取商品
 * @param {Object} params
 * @param {number}  [params.page]
 * @param {number}  [params.pageSize]
 * @param {string|number} [params.countryId]
 * @param {string|number} [params.categoryId]
 * @param {string}  [params.keyword]
 */
export function getGoods(params) {
    return request.get(`${PREFIX}/goods`, params);
}

/**
 * 获取商品完整详情
 * @param {string|number} goodId 商品 ID（替换路径变量 {goodId}）
 */
export function getGoodsDetail(goodId) {
    return request.get(`${PREFIX}/goods/${goodId}`);
}

/**
 * 获取首页商品（可按国家返回）
 * @param {Object} [params]
 * @param {string|number} [params.countryId]
 */
export function getHomeGoods(params) {
    return request.get(`${PREFIX}/home-goods`, params);
}

export default {
    getCategories,
    getCountries,
    getTags,
    getTagGroups,
    getGoods,
    getGoodsDetail,
    getHomeGoods
};
