完成hook