| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- <?php
 
- /**
 
-  * 建筑接口控制器
 
-  *
 
-  * @author EllisRan
 
-  */
 
- class BuildingApiController extends DooController {
 
- 	public $staff;
 
- 	public $authApp = 'scConstruct';
 
- 	public $authToken = 'sc@ConS!tru@ct*88';
 
- 	function __construct() {
 
- 	}
 
- 	public function categoryStaff() {
 
- 		Doo::loadModel('staff');
 
- 		$staff = new staff();
 
- 		$stafflist = $staff->getStaffByCidOnBuilding($this->params['cid']);
 
- 		echo json_encode($stafflist);
 
- 		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;
 
- 	}
 
- }
 
- ?>
 
 
  |