整理pack代码逻辑