client_type_array)) { ds_json_encode(10001, lang('param_error')); } $seller_model = model('seller'); $seller_info = $seller_model->getSellerInfo(array('seller_name' => input('post.seller_name'))); if (!$seller_info) { ds_json_encode(10001, lang('seller_account_not_exisit')); } //验证身份 $member_model = model('member'); $member_info = $member_model->getMemberInfo(array( 'member_id' => $seller_info['member_id'], 'member_password' => md5(input('post.password')) )); if (!$member_info) { ds_json_encode(10001, lang('password_error')); } //读取店铺信息 $store_model = model('store'); $store_info = $store_model->getStoreInfoByID($seller_info['store_id']); //更新卖家登陆时间 $seller_model->editSeller(array('last_logintime' => TIMESTAMP), array('seller_id' => $seller_info['seller_id'])); //生成登录令牌 $token = self::_get_seller_token($seller_info['seller_id'], $seller_info['seller_name'], $client); if ($token) { $result = array(); $result['token'] = $token; $result['info'] = $this->getSellerUser($seller_info,$store_info); $result['member_info'] = $this->getMemberUser($member_info); $token = $member_model->getBuyerToken($member_info['member_id'], $member_info['member_name'], $client); if(!$token){ ds_json_encode(10001, lang('ds_common_op_fail')); } $result['member_token'] = $token; ds_json_encode(10000, '', $result); } else { ds_json_encode(10001, lang('ds_common_op_fail')); } } /** * 登录生成token */ public static function _get_seller_token($seller_id, $seller_name, $client) { $mbsellertoken_model = model('mbsellertoken'); //重新登录后以前的令牌失效 $condition = array(); $condition[] = array('seller_id','=',$seller_id); $condition[] = array('seller_clienttype','=',$client); $mbsellertoken_model->delMbsellertoken($condition); //生成新的token $mb_seller_token_info = array(); $token = md5($seller_name . strval(TIMESTAMP) . strval(rand(0, 999999))); $mb_seller_token_info['seller_id'] = $seller_id; $mb_seller_token_info['seller_name'] = $seller_name; $mb_seller_token_info['seller_token'] = $token; $mb_seller_token_info['seller_logintime'] = TIMESTAMP; $mb_seller_token_info['seller_clienttype'] = $client; $result = $mbsellertoken_model->addMbsellertoken($mb_seller_token_info); if ($result) { return $token; } else { return null; } } }