import api from './index.js';

/**
 * 我的-流水相关接口
 */
export const moneyApi = {
    /**
     * 获取我的流水列表带分页
     * @param {Object} params 查询参数
     * @param {number} params.pageNo 当前页
     * @param {number} params.pageSize 显示条数
     * @param {number} params.status 状态
     */
    getMyMoneyLogPage(params) {
        return api.get('/all_money/getMyMoneyLogPage', { params });
    },

    /**
     * 获取我的可用积分数
     */
    getMyMoneyNum() {
        return api.get('/all_money/getMyMoneyNum');
    }
};

/**
 * 我的-评论相关接口
 */
export const commentApi = {
    /**
     * 删除评论信息
     * @param {string} commentId 评论ID
     */
    deleteComment(commentId) {
        return api.get('/my_comment/deleteComment', {
            params: { commentId }
        });
    },

    /**
     * 获取评论详情
     * @param {string} commentId 评论ID
     */
    getCommentDetail(commentId) {
        return api.post('/my_comment/getCommentDetail', null, {
            params: { commentId }
        });
    },

    /**
     * 根据书籍标识查询评论信息列表带分页
     * @param {Object} params 查询参数
     * @param {string} params.bookId 书籍ID
     * @param {number} params.pageNo 当前页
     * @param {number} params.pageSize 显示条数
     */
    getCommentList(params) {
        return api.get('/my_comment/getCommentList', { params });
    },

    /**
     * 获取我的评论列表
     * @param {Object} params 分页参数
     * @param {number} params.pageNo 当前页
     * @param {number} params.pageSize 显示条数
     * @param {string} params.type 类型
     */
    getMyCommentList(params) {
        return api.get('/my_comment/getMyCommentList', { params });
    },

    /**
     * 获取我的评论数
     */
    getMyCommentNum() {
        return api.get('/my_comment/getMyCommentNum');
    },

    /**
     * 获取回复我的评论列表
     * @param {Object} params 分页参数
     * @param {number} params.pageNo 当前页
     * @param {number} params.pageSize 显示条数
     * @param {string} params.type 类型 N-未读 Y-已读
     */
    getMyReplyCommentList(params) {
        return api.get('/my_comment/getMyReplyCommentList', { params });
    },

    /**
     * 回复评论信息
     * @param {Object} params 回复参数
     * @param {string} params.commentId 评论ID
     * @param {string} params.content 回复内容
     */
    replyComment(params) {
        return api.post('/my_comment/replyComment', null, { params });
    },

    /**
     * 保存评论信息
     * @param {Object} params 评论参数
     * @param {string} params.bookId 书籍ID
     * @param {string} params.content 评论内容
     */
    saveComment(params) {
        return api.post('/my_comment/saveComment', null, { params });
    },

    /**
     * 更新评论已读状态
     * @param {string} commentId 评论ID
     */
    updateCommentRead() {
        return api.post('/my_comment/updateCommentRead');
    }
};

/**
 * 我的-任务中心相关接口
 */
export const taskApi = {
    /**
     * 点击更多任务
     * @param {string} taskId 任务ID
     */
    clickMoreTask(taskId) {
        return api.post('/my_task/clickMoreTask', null, {
            params: { taskId }
        });
    },

    /**
     * 点击签到任务
     * @param {string} taskId 任务ID
     */
    clickSignTask(taskId) {
        return api.get('/my_task/clickSignTask', {
            params: { taskId }
        });
    },

    /**
     * 获取更多任务列表
     * @param {string} token token
     */
    getMoreTaskList(token) {
        return api.get('/my_task/getMoreTaskList', {
            params: { token }
        });
    },

    /**
     * 获取更多任务记录列表
     * @param {Object} params 分页参数
     * @param {number} params.pageNo 当前页
     * @param {number} params.pageSize 显示条数
     */
    getMoreTaskRecordPage(params) {
        return api.get('/my_task/getMoreTaskRecordPage', { params });
    },

    /**
     * 获取我的推荐票数
     */
    getMyRecommendTicketNum() {
        return api.get('/my_task/getMyRecommendTicketNum');
    },

    /**
     * 获取我的推荐任务列表
     * @param {string} token token
     */
    getSignTaskList(token) {
        return api.get('/my_task/getSignTaskList', {
            params: { token }
        });
    },

    /**
     * 获取我的推荐任务记录列表
     * @param {Object} params 分页参数
     * @param {number} params.pageNo 当前页
     * @param {number} params.pageSize 显示条数
     */
    getSignTaskRecordPage(params) {
        return api.get('/my_task/getSignTaskRecordPage', { params });
    },

    /**
     * 获取我当天是否已经签到
     */
    getSignTaskToday() {
        return api.get('/my_task/getSignTaskToday');
    }
};

/**
 * 我的-申请成为作家相关接口
 */
export const writerApi = {
    /**
     * 查询我的笔名以及简介
     */
    getMyWriter() {
        return api.get('/my_writer/getMyWriter');
    },

    /**
     * 填写或修改笔名以及简介成为作家
     * @param {Object} params 作家信息
     * @param {string} params.details 简介
     * @param {string} params.penName 笔名
     */
    saveOrUpdateWriter(params) {
        return api.post('/my_writer/saveOrUpdateWriter', null, { params });
    }
};

/**
 * 我的-礼物订阅接口
 */
export const orderApi = {

    /**
     * 查询礼物详情
     * @param {string} giftId 礼物ID
     */
    getGiftDetail(giftId) {
        return api.get('/my_order/getGiftDetail', {
            params: { giftId }
        });
    },

    /**
     * 查询互动打赏礼物信息列表
     * @param {Object} params 分页参数
     * @param {number} params.pageNo 当前页
     * @param {number} params.pageSize 显示条数
     */
    getInteractionGiftList(params) {
        return api.get('/my_order/getInteractionGiftList', { params });
    },

    /**
     * 查询我的礼物包订单列表
     * @param {Object} params 查询参数
     * @param {number} params.pageNo 当前页
     * @param {number} params.pageSize 显示条数
     * @param {string} params.token token
     */
    getMyGiftList(params) {
        return api.get('/my_order/getMyGiftList', { params });
    },


    /**
     * 购买章节
     * @param {Object} params 购买参数
     * @param {string} params.bookId 书籍ID
     * @param {string} params.novelId 章节ID
     */
    buyNovel(params) {
        return api.post('/my_order/buyNovel', null, { params });
    },

    /**
     * 创建支付套餐订单
     * @param {string} packageId 套餐ID
     */
    createPayPackageOrder(params) {
        return api.post('/my_order/createPayPackageOrder', null, {
            params
        });
    },

    /**
     * 充值套餐列表
     */
    getPayPackageList() {
        return api.get('/my_order/getPayPackageList');
    },

    /**
     * 根据书籍id，礼物id赠送礼物
     * @param {Object} params 赠送参数
     * @param {string} params.bookId 书籍ID
     * @param {string} params.giftId 礼物ID
     * @param {number} params.num 数量
     */
    giveGift(params) {
        return api.post('/my_order/giveGift', null, { params });
    }
};

/**
 * 微信支付相关接口
 */
export const wechatPayApi = {
    /**
     * 查询微信支付订单状态
     * @param {string} outTradeNo 商户订单号
     */
    queryWechatPayStatus(outTradeNo) {
        return api.get('/my_order/queryOrder', {
            params: { outTradeNo }
        });
    },
}; 