12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace huolib\oa;
- use huolib\tool\Math;
- class OaAdmin extends Oa {
- public function __construct() {
- parent::__construct();
- }
- /**
- *
- * oa登录跳转接口
- *
- * @param string $user_login
- * @param int $role_type
- *
- * @return bool
- *
- */
- public function adminOaLogin($user_login = '', $role_type = 0) {
- $func = 'ADMIN_LOGIN_URL';
- $_time = time();
- $_query_param = array();
- $_query_param['username'] = $user_login;
- $_query_param['group_id'] = $this->roleToNodeGroup($role_type);
- $_query_param['time'] = $_time;
- $_data = array();
- $_data['tc'] = $_time;
- $_data['data'] = $this->aesEnCode(json_encode($_query_param), $_time);
- $this->jumpOa($func, $_data);
- }
- /**
- * oa跳转过来的登陆
- *
- * @param string $tc
- * @param string $data
- * @param int $group_id
- *
- * @return bool
- */
- public function oaAdminLogin($tc = '', $data = '', $group_id = 0) {
- if (empty($tc) || empty($data) || empty($group_id)) {
- return '';
- }
- $_data_str = $this->aesDeCode($data, $tc);
- if (!$_data_str) {
- return '';
- }
- $_user_info = json_decode($_data_str, true);
- if (empty($_user_info)) {
- return '';
- }
- $_user_login = $this->getVal($_user_info, 'username');
- $_group_id = $this->getVal($_user_info, 'group_id');
- $_time = $this->getVal($_user_info, 'time');
- if ($group_id != $_group_id) {
- return '';
- }
- if (time() > Math::addBigNum($_time, 20)) {
- return '';
- }
- return $_user_login;
- }
- /**
- *
- * 自定义错误处理
- *
- * @param $msg 输出的信息
- * @param string $level 输出等级
- */
- private function _error($msg, $level = 'error') {
- $_info = 'huosdk\oa\Oalogin Error:'.$msg;
- \think\Log::write($_info, $level);
- }
- }
|