修改templateAPI和测试用例，将smart函数放在templateAPI中