$v) { } } else { # 数据为空,读取一次,后续就得手动读取了 $this->load(); $data = $this->get(); } return $data; } /** * 更新接口 * * @return array */ public function update() { $this->load(); Maze::out('yes'); } /** * 载入从项目中定义好的接口 * * @return array */ public function load() { $project = Maze::load('manage/project.get'); foreach($project as $k => $v) { $data = Base::init($v['path']); if($data) { foreach($data as $i => $j) { $j['order'] = isset($j['order']) ? $j['order'] : 1; $this->updateApi($v['url'] . $i, $j['name'], $j['type'], $k, $j['request'], $j['response'], $j['order']); } } } } private function updateApi($site, $name, $type, $project, $request, $response, $reorder) { $request = Maze::table($request); $response = Maze::table($response); $info = Maze::load('manage/api-site', array('where_site' => $site)); if(!$info) { $update['add_site'] = $site; $update['add_name'] = $name; $update['add_type'] = $type; $update['add_project'] = $project; $update['add_reorder'] = $reorder; $update['add_request'] = $request; $update['add_response'] = $response; $info['id'] = Maze::load('manage/api-insert', $update); } else { $update['set_interface'] = $site; $update['set_name'] = $name; $update['set_type'] = $type; $update['set_project'] = $project; $update['set_reorder'] = $reorder; $update['set_request'] = $request; $update['set_response'] = $response; $update['where_id'] = $info['id']; Maze::load('manage/api-update', $update); } return $info['id']; } }