skillModel = new UserSkill(); $this->userModel = new \app\user\model\User(); } public function login() { $data = decode($this->request->post()); $info = $this->userModel->loginByUid($data['u']); $info['s'] = $this->skillModel->getUserSkill($info['i']); $info['time'] = time(); return json($info); } public function getskill(){ $data = decode($this->request->post()); $info = $this->skillModel->getSkillByInfo($data['i']); return json($info); } public function addskill(){ $data = decode($this->request->post()); $info = $this->skillModel->addUserSkill($data['u'], $data['s']); return json($info); } public function other(){ $data = decode($this->request->post()); $res = $this->userModel->getUserById($data['u']); $path = "load/".$res['id'].'.txt'; $file = fopen($path, "r") or die(json(['error'=>1009])); $info = fread($file, filesize($path)); fclose($file); return json(['l'=>$info, 'p'=>$res['praise']]); } public function load(){ $data = decode($this->request->post()); $id = $data['u']; if(strlen($id) > 10){ $res = $this->userModel->getUserById($id); }else{ $res = $this->userModel->getUserByCode($id); } if(empty($res)) return json(['error'=>1023]); $path = "load/".$res['id'].".txt"; if(!is_file($path)) $path = "load/".$res['short'].".txt"; $file = fopen($path, "r") or die(json(['error'=>1009])); $info = fread($file, filesize($path)); fclose($file); return json(['l'=>$info, 'p'=>$res['praise']]); } public function save(){ $data = decode($this->request->post()); $id = $data['u']; $version = $data['v']; $path = "load/$id.txt"; $res = $this->userModel->getUserById($id); if(empty($res)) return json(['error'=>1023]); $oldversion = isset($res['version'])?$res['version']:1; if($version > $oldversion){ // 读取旧文件 $old_file = fopen($path, "r") or die(json(['error'=>1009])); $info = fread($old_file, filesize($path)); fclose($old_file); // 备份旧文件 $backup_file = fopen("backup/$id-$oldversion.txt", 'w') or die(json(['error'=>1009])); fwrite($backup_file, $info); fclose($backup_file); $this->userModel->update(['version'=>$version], ['id'=>$id]); } $file = fopen($path, 'w') or die(json(['error'=>1009])); fwrite($file, $data['l']); fclose($file); return json(['error'=>0]); } public function rand(){ $data = decode($this->request->post()); $id = $this->userModel->randOtherInfoById($data['i']); if(strlen($id) > 10){ $res = $this->userModel->getUserById($id); }else{ $res = $this->userModel->getUserByCode($id); } $path = "load/$id.txt"; $file = fopen($path, "r") or die(json(['error'=>1009])); $info = fread($file, filesize($path)); fclose($file); return json(['l'=>$info, 'p'=>$res['praise'], 'i'=>$res['id']]); } public function delete(){ $data = decode($this->request->post()); $id = $data['s']; $path = "load/$id.txt"; $res = unlink($path); return json(['r'=>(($res)?1:0)]); } public function look(){ $res = $this->userModel->lookList(); return $res; } public function nickname(){ $data = decode($this->request->post()); $nickname = trim($data['n']); $res = $this->userModel->findUserByName($nickname); if($res) return json(['error'=>2020]); $this->userModel->addAndSave(['id'=>$data['u'], 'nickname'=>$nickname]); return json(['error'=>0]); } }