| 
					
				 | 
			
			
				@@ -10,6 +10,10 @@ class BuildingApiController extends DooController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public $staff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public $authApp = 'scConstruct'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public $authToken = 'sc@ConS!tru@ct*88'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	function __construct() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -22,6 +26,83 @@ class BuildingApiController extends DooController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		exit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 员工列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function StaffList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Doo::loadModel('staff'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$staff = new staff(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$staffList = $staff->find(array('select' => 'sid,username,nature,cid,departmentID,category,qq,phone,telephone', 'where' => 'sid!=1 and nature!=4', 'asArray' => TRUE)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Doo::loadModel('department'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$department = new department(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		foreach($staffList as $k => $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$staffList[$k]['departmentName'] = $v['departmentID'] != 0 ? $department->getDepartmentByDid($v['departmentID'])['departmentName'] : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		echo json_encode($staffList,true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		exit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 计量支付后台登录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function auth() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (isset($_POST['username']) && isset($_POST['password']) && isset($_POST['app']) && isset($_POST['time']) && isset($_POST['token'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 先判断token和time的加密是是否一致,防止被其它接口调用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$token = $this->getSignature($this->authToken.$_POST['time'], $this->authToken); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if ($_POST['app'] == $this->authApp && $_POST['token'] == $token) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Doo::loadModel('staff'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$staff = new staff(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$staffInfo = $staff->getStaffByName($_POST['username']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (!empty($staffInfo) && $staffInfo['passwork'] == md5($_POST['password'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					echo json_encode(array('err' => 0, 'data' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'username' => $staffInfo['username'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'office' => $staffInfo['cid'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'category' => $staffInfo['category'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'email' => $staffInfo['email'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'telephone' => $staffInfo['telephone'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'qq' => $staffInfo['qq'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'fixedphone' => $staffInfo['phone'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'position' => $staffInfo['position'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					exit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		echo json_encode(array('err' => '参数有误')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		exit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// HMAC-SHA1+base64 加密方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	function getSignature($str, $key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$signature = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (function_exists('hash_hmac')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$signature = base64_encode(hash_hmac("sha1", $str, $key, true)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$blocksize = 64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$hashfunc = 'sha1'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (strlen($key) > $blocksize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$key = pack('H*', $hashfunc($key)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$key = str_pad($key, $blocksize, chr(0x00)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$ipad = str_repeat(chr(0x36), $blocksize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$opad = str_repeat(chr(0x5c), $blocksize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$hmac = pack( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				'H*', $hashfunc( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					($key ^ $opad) . pack( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						'H*', $hashfunc( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							($key ^ $ipad) . $str 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$signature = base64_encode($hmac); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $signature; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ?> 
			 |