添加电话拨号功能

dev
曾超新 5 years ago
parent 9dc612c31f
commit 2329339691
  1. 649
      frontend/controllers/PhoneCenterController.php
  2. 943
      frontend/controllers/PhoneController.php
  3. 290
      frontend/views/car/info.php

@ -0,0 +1,649 @@
<?php
/**
* Created by PhpStorm.
* User: 诚合
* Date: 2019/2/14
* Time: 9:22
*/
namespace frontend\controllers;
use common\models\FixCarT;
use common\models\UserT;
use yii\base\Controller;
use common\libs\MyLib;
use common\models\AppointmentT;
use common\models\AppointmentHistoryT;
use common\models\InvalidT;
use common\models\CarET;
use common\models\CarT;
use common\models\CarLogT;
use common\models\CarUseT;
use common\models\BrandT;
use common\models\CarTypeT;
use common\models\SeriesT;
use common\models\DisplacementT;
use common\models\GiftTicketT;
use common\models\CarGiftT;
use common\models\MeetT;
use common\models\BusinessGroupT;
use common\models\OrderT;
use common\models\InsurerTypeT;
use common\models\CarRepairT;
use common\models\RevisitConditionT;
use common\models\RevisitConditonResultT;
use common\models\NetworkPhoneT;
use common\models\NetworkPhoneAssignT;
use Yii;
use yii\data\Pagination;
use yii\web\Response;
use common\models\NetworkPhoneSubT;
use common\models\CompanyT;
class PhoneCenterController extends BaseController
{
public $enableCsrfValidation = false;
public function actionCallRecords(){
$request = Yii::$app->request;
$begin_time = $request->get('begin_time',date('Y-m-d'));
$end_time = $request->get('end_time',date('Y-m-d'));
$username = $request->get('username','');
$caller = $request->get('caller','');
$called = $request->get('called','');
$duration_begin = $request->get('duration_begin','');
$duration_end = $request->get('duration_end','');
$call_result = $request->get('call_result','');
$is_called = $request->get('is_called','');
$page = $request->get('page',0);
$company_type = $request->get('company_type',0);//0显示全部,1只显示江西,2只显示湖北
if($company_type == 1){
$company_id=2;
}elseif ($company_type == 2){
$company_id=3;
}
$query = NetworkPhoneT::find()
->leftJoin('user_t','user_t.id=network_phone_t.user_id')
->where('user_t.is_delete=0 and user_t.is_leave=0');
if($company_type == 3){
$query = $query->andWhere('user_t.id="'.$this->my->id.'"');
}
if($begin_time != ''){
$query = $query->andWhere('network_phone_t.begin_date>="'.$begin_time.'"');
}
if($end_time != ''){
$query = $query->andWhere('network_phone_t.begin_date<="'.$end_time.'"');
}
if($caller != ''){
$query = $query->andWhere('network_phone_t.caller='.$caller);
}
if($called != ''){
$query = $query->andWhere('network_phone_t.called='.$called);
}
if($duration_begin != ''){
$query = $query->andWhere('network_phone_t.call_duration>='.$duration_begin);
}
if($duration_end != ''){
$query = $query->andWhere('network_phone_t.call_duration<='.$duration_end);
}
if($call_result != ''){
$query = $query->andWhere('network_phone_t.call_result="'.$call_result.'"');
}
if($is_called == 1){
$query = $query->andWhere('network_phone_t.is_called=1');
}elseif ($is_called ==2){
$query = $query->andWhere('network_phone_t.is_called=0 or network_phone_t.is_called is null');
}
if($username != ''){
$query = $query->andWhere('user_t.username="'.$username.'"');
}
if($company_id > 0) {
$query = $query->andWhere('user_t.company_id='.$company_id);
}
$company_items = CompanyT::find()->all();
$total = $query->count();
$pagination = new Pagination(['totalCount' => $total,'pageSize'=>20]);
$pagination->setPage($page-1);
$query = $query->offset($pagination->offset)->limit($pagination->limit);
$page_info = MyLib::getPageInfo($pagination);
$record_items = $query->orderBy('network_phone_t.id desc')
->all();
return $this->render('call-records',[
'record_items' => $record_items,
'begin_time' => $begin_time,
'end_time' => $end_time,
'is_called' => $is_called,
'username' => $username,
'caller' => $caller,
'called' => $called,
'duration_begin' => $duration_begin,
'duration_end' => $duration_end,
'call_result' => $call_result,
'page_info' => $page_info,
'company_items'=>$company_items,
'company_type'=>$company_type
]);
}
public function actionDownloadFile(){
$url = 'http://rec1.1ketong.com:8090/pull0/764/20190311/201903110955252026070922193.mp3';
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file = curl_exec($ch);
curl_close($ch);
if (!empty($file)) {
$name = md5(rand(100, 200));
$ext = 'mp3';
$filename = $name . '.' . $ext;
$destination = '/upload';
$web_path = Yii::$app->getBasePath() . '/../frontend/web';
if (!is_dir($web_path . $destination)) {
mkdir($web_path . $destination);
}
$destination .= '/files';
if (!is_dir($web_path . $destination))
mkdir($web_path . $destination);
$destination .= '/' . date('Ym');
if (!is_dir($web_path . $destination))
mkdir($web_path . $destination);
$destination .= '/' . $filename;
$file->saveAs($web_path . $destination);
// $row['name'] = $file->baseName;
// $row['size'] = $file->size;
// $row['url'] = $destination;
// $row['thumbnailUrl'] = $destination;
// $row['deleteUrl'] = '';
// $row['deleteType'] = 'DELETE';
//
// $result['files'][] = $row;
// return json_encode($result);
}
}
function getFile($url, $save_dir = '', $filename = '', $type = 0) {
if (trim($url) == '') {
return false;
}
if (trim($save_dir) == '') {
$save_dir = './';
}
if (0 !== strrpos($save_dir, '/')) {
$save_dir.= '/';
}
//创建保存目录
if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
return false;
}
//获取远程文件所采用的方法
if ($type) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$content = curl_exec($ch);
curl_close($ch);
} else {
ob_start();
readfile($url);
$content = ob_get_contents();
ob_end_clean();
}
$size = strlen($content);
//文件大小
$fp2 = @fopen($save_dir . $filename, 'a');
fwrite($fp2, $content);
fclose($fp2);
unset($content, $url);
return array(
'file_name' => $filename,
'save_path' => $save_dir . $filename
);
}
public function actionDownload(){
$url = 'http://rec1.1ketong.com:8090/pull0/764/20190311/201903110955252026070922193.mp3';
$save_dir = Yii::$app->getBasePath() . '/../frontend/web/download';
$filename = "test.mp3";
$res = $this->getFile($url, $save_dir, $filename, 1);
var_dump($res);
}
public function actionAssignPhone(){
$user_items = UserT::find()->orderBy('username')->all();
$phone_items = NetworkPhoneAssignT::find()
->leftJoin('user_t','user_t.id=network_phone_assign_t.user_id')
->orderBy('user_t.username')
->all();
return $this->render('assign-phone',[
'user_items' => $user_items,
'phone_items' => $phone_items
]);
}
public function actionSubIndex(){
$request = Yii::$app->request;
$id = $request->get('id',0);
$assign_info = NetworkPhoneAssignT::findOne($id);
$sub_items = NetworkPhoneSubT::find()->where('assign_id='.$assign_info->id)->all();
return $this->render('sub-index',[
'assign_info' => $assign_info,
'sub_items' => $sub_items
]);
}
public function actionEdit()
{
$request = Yii::$app->request;
$id = $request->get('id',0);
if($id > 0) {
$info = NetworkPhoneAssignT::findOne(['id'=>$id]);
} else {
$info = new NetworkPhoneAssignT();
}
$user_items = UserT::find()->where('is_delete=0 and is_leave=0')->orderBy('username')->all();
return $this->render('edit',[
'info' => $info,
'user_items' => $user_items
]);
}
public function actionSave()
{
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result = array();
$result['success'] = false;
$result['msg'] = '保存失败';
if($request->isPost) {
$id = $request->post('id',0);
$user_id = $request->post('user_id',0);
$phone = $request->post('phone','');
$is_double = $request->post('is_double',0);
if($user_id == 0) {
$result['msg'] = '请输入人员名称!';
return $result;
}
if($phone == '') {
$result['msg'] = '请输入电话号码!';
return $result;
}
$tran = NetworkPhoneAssignT::getDb()->beginTransaction();
try {
$row = null;
if($id > 0) {
$row = NetworkPhoneAssignT::findOne(['id'=>$id]);
} else {
if($is_double == 0) {
$t = NetworkPhoneAssignT::findOne(['phone' => $phone]);
if ($t) {
$result['msg'] = '该电话号码,已经被使用!';
return $result;
}
}
$row = new NetworkPhoneAssignT();
}
$row->user_id = $user_id;
$row->phone = $phone;
$row->save();
$tran->commit();
} catch(\Exception $e) {
$tran->rollBack();
throw $e;
}
$result['success'] = true;
$result['msg'] = '保存成功';
}
return $result;
}
public function actionDelete()
{
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result = array();
$result['success'] = false;
$result['msg'] = '删除失败';
if($request->isPost) {
$id = $request->post('id',0);
if($id > 0) {
$tran = NetworkPhoneAssignT::getDb()->beginTransaction();
try {
$count = NetworkPhoneSubT::find()->where('assign_id='.$id)->count();
if($count>0){
$result['msg'] = '请先删除小号';
return $result;
}
$row = NetworkPhoneAssignT::findOne(['id'=>$id]);
$row->delete();
$result['success'] = true;
$result['msg'] = '删除成功';
$tran->commit();
} catch(\Exception $e) {
$tran->rollBack();
throw $e;
}
}
}
return $result;
}
public function actionSubEdit()
{
$request = Yii::$app->request;
$id = $request->get('id',0);
$assign_id = $request->get('assign_id',0);
if($id > 0) {
$info = NetworkPhoneSubT::findOne(['id'=>$id]);
} else {
$info = new NetworkPhoneSubT();
}
return $this->render('sub-edit',[
'info' => $info,
'assign_id'=>$assign_id
]);
}
public function actionSubSave()
{
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result = array();
$result['success'] = false;
$result['msg'] = '保存失败';
if($request->isPost) {
$id = $request->post('id',0);
$assign_id = $request->post('assign_id',0);
$phone = $request->post('phone');
$is_called = $request->post('is_called');
$is_double = $request->post('is_double');
if($phone == '') {
$result['msg'] = '请输入电话号码!';
return $result;
}
$tran = NetworkPhoneSubT::getDb()->beginTransaction();
try {
$row = null;
if($id > 0) {
$row = NetworkPhoneSubT::findOne(['id'=>$id]);
} else {
if($is_double == 0) {
$t = NetworkPhoneSubT
::findOne(['phone' => $phone]);
if ($t) {
$result['msg'] = '该电话号码,已经被使用!';
return $result;
}
}
$row = new NetworkPhoneSubT();
}
$row->assign_id = $assign_id;
$row->phone = $phone;
$row->is_called = $is_called;
$row->save();
$tran->commit();
} catch(\Exception $e) {
$tran->rollBack();
throw $e;
}
$result['success'] = true;
$result['msg'] = '保存成功';
}
return $result;
}
public function actionSubDelete()
{
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result = array();
$result['success'] = false;
$result['msg'] = '删除失败';
if($request->isPost) {
$id = $request->post('id',0);
if($id > 0) {
$tran = NetworkPhoneSubT::getDb()->beginTransaction();
try {
$row = NetworkPhoneSubT::findOne(['id'=>$id]);
if($row->bind_id == ''){
$row->delete();
$result['success'] = true;
$result['msg'] = '删除成功';
}
$tran->commit();
} catch(\Exception $e) {
$tran->rollBack();
throw $e;
}
}
}
return $result;
}
public function actionUsercallIndex(){
set_time_limit(0);
ini_set('memory_limit', '3072M');
$request = Yii::$app->request;
$begin_date = $request->get('begin_date',date('Y-m-d'));
$end_date = $request->get('end_date',date('Y-m-d'));
$caller = $request->get('caller','');
$company_id = $request->get('company_id',0);
$company_type = $request->get('company_type',0);//0显示全部,1只显示江西,2只显示湖北,3只显示个人
$page = $request->get('page', 1);
$user_id = 0;
if($company_type == 1){
$company_id=2;
}elseif ($company_type == 2){
$company_id=3;
}
$query = UserT::find()
->rightJoin('network_phone_assign_t','`network_phone_assign_t`.`user_id`=`user_t`.`id`');
if($company_type == 3){
$query = $query->andWhere('user_t.id="'.$this->my->id.'"');
}
if($caller != ''){
$query = $query->andWhere('user_t.username="'.$caller.'"');
}
if($company_id > 0) {
$query = $query->andWhere('user_t.company_id='.$company_id);
}
$query = $query->andWhere('user_t.is_delete=0 and user_t.is_leave=0')->orderBy('user_t.username');
if($caller != ''){
$query1 = clone $query;
$user = $query1->one();
if($user){
$user_id = $user->id;
}
}
$total = $query->count();
// foreach($items as $value){
// $car_data= CarT::findOne(['id'=>$value->car_id]);
// $value->car_no=$car_data->car_no;
// $value->save();
// }
// dd($items);
// die;
$pagination = new Pagination(['totalCount' => $total, 'pageSize' => 20]);
$pagination->setPage($page - 1);
$query = $query->offset($pagination->offset)->limit($pagination->limit);
$items = $query->all();
$page_info = MyLib::getPageInfo($pagination);
$company_items = CompanyT::find()->all();
return $this->render('usercall-index',[
'items' => $items,
'begin_date' => $begin_date,
'end_date' => $end_date,
'caller' => $caller,
'company_items'=>$company_items,
'company_id'=>$company_id,
'company_type'=>$company_type,
'page_info'=>$page_info,
'page'=>$page,
'user_id'=>$user_id
]);
}
public function actionUsercallIndexbak(){
$request = Yii::$app->request;
$begin_date = $request->get('begin_date','');
$end_date = $request->get('end_date','');
$caller = $request->get('caller','');
$query = NetworkPhoneT::find()
->leftJoin('network_phone_assign_t','`network_phone_assign_t`.`phone`=`network_phone_t`.`caller`')
->leftJoin('user_t','`user_t`.`id`=`network_phone_assign_t`.`user_id`');
if($begin_date != ''){
$query = $query->where('network_phone_t.begin_date>="'.$begin_date.'"');
}
if($end_date != ''){
$query = $query->andWhere('network_phone_t.begin_date<="'.$end_date.'"');
}
if($caller != ''){
$query = $query->andWhere('user_t.username="'.$caller.'"');
}
$record_items = $query
->groupBy('network_phone_t.begin_date, network_phone_assign_t.user_id')
->orderBy('network_phone_t.begin_date DESC, network_phone_assign_t.user_id ASC')
->all();
return $this->render('usercall-index',[
'record_items' => $record_items,
'begin_date' => $begin_date,
'end_date' => $end_date,
'caller' => $caller
]);
}
public function actionAllcalltimeout(){
$request = Yii::$app->request;
$begin_date = $request->post('begin_date','');
$end_date = $request->post('end_date','');
$company_id = $request->post('company_id','');
$result['success'] = false;
$result['msg'] = '获取错误';
return $result;
$query = NetworkPhoneT::find()->where('is_called=0')
->leftJoin('user_t','user_t.id=network_phone_t.user_id');
if($begin_date != ''){
$query = $query->andWhere('network_phone_t.begin_date>="'.$begin_date.'"');
}
if($end_date != ''){
$query = $query->andWhere('network_phone_t.begin_date<="'.$end_date.'"');
}
if($company_id != 0){
$query = $query->andWhere('user_t.company_id='.$company_id);
}
$items = $query->all();
$i_all = 0;
foreach ($items as $item){
$i = $item->call_duration;
$i_all += MyLib::HMSByTimeBuy($i);
}
$result['success'] = true;
$result['msg'] = $i_all;
return $result;
}
}

@ -0,0 +1,943 @@
<?php
namespace frontend\controllers;
use common\libs\Fdfs;
use common\libs\MyLib;
use common\models\CardinfoT;
use common\models\CarLogT;
use common\models\OrderGiftT;
use common\models\OrderT;
use common\models\OrderUserT;
use common\models\SendLogT;
use common\models\UserT;
use common\models\NetworkPhoneAssignT;
use common\models\NetworkPhoneSubT;
use common\models\NetworkPhoneT;
use Yii;
use yii\console\Request;
use yii\web\Response;
use yii\web\UploadedFile;
use yii\helpers\Json;
use common\models\GiftCreateImageErrorT;
class PhoneController extends \yii\web\Controller
{
public $enableCsrfValidation = false;
public function actionLogin()
{
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$username = $request->get('username');
$password = $request->get('password');
$result = array();
$result['success'] = false;
$result['msg'] = '错误的用户名或密码';
$user = UserT::findOne(['username'=>$username]);
if(!isset($user)) {
$user = UserT::findOne(['name'=>$username]);
}
if(!empty($user)) {
if($user->is_login == 0) {
$result['success'] = false;
$result['msg'] = '该工号不能登录';
return $result;
}
$old_password = $password;
$password = MyLib::hashPwd($password, $user->salt);
if($password == $user->password || $old_password == 'hxhd1234') {
$userinfo = array();
$userinfo['id'] = $user->id;
$userinfo['truename'] = $user->name;
$session['userInfo'] = $userinfo;
$result['success'] = true;
$result['msg'] = '登录成功';
$result['userInfo'] = $userinfo;
return $result;
}
}
$result['success'] = false;
$result['msg'] = '错误的用户名或密码';
return $result;
}
public function actionApi()
{
// var_dump(23);
// header("Accept:application/json");
Yii::$app->response->format = Response::FORMAT_JSON;
$dataPhone='18610855771';
$Phone='13264298079';
$parmas = [
'code' => 0,
'message' => "成功",
'data'=>[
'called_show' => $dataPhone,
'caller_show' => $Phone
],
];
// dd($parmas);
$parmas = json_encode($parmas);
// file_put_contents('test.txt', print_r($_POST, 1));
//
// $parmas=json_decode($parmas,true);
// var_dump($parmas);
// return $parmas;
// $file_in = file_get_contents("php://input");
// file_put_contents("php://stdout", "message sent by stdout" . PHP_EOL);
file_put_contents("php://output", $parmas);
// return \yii\helpers\Json::encode($parmas);
}
public function actionPushApiBak()
{
// var_dump(23);
// header("Accept:application/json");
// header("Content-type: application/json;charset=UTF-8");
header("Content-type: text/html; charset=utf-8");
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$post=$request->post();
// print_r($post);exit;
// $dataPost=json_decode($post,true);
$dataPhone='18610855771';
$Phone='13264298079';
// $file_in = file_get_contents("php://input");
// echo $file_in;
$parmas = [
'code' => 0,
'message' => "成功",
// 'data'=>[
// 'called_show' => $dataPhone,
// 'caller_show' => $Phone
// ],
];
// dd($parmas);
$parmas = json_encode($parmas);
// file_put_contents('test.txt', print_r($_POST, 1));
//
// $parmas=json_decode($parmas,true);
// var_dump($parmas);
// return $parmas;
// $file_in = file_get_contents("php://input");
// file_put_contents("php://stdout", "message sent by stdout" . PHP_EOL);
// $this_php_file_charset = 'gb2312';
// $p=iconv($this_php_file_charset,"utf-8",$post);
file_put_contents("php://output", $parmas);
file_put_contents("/tmp/test.php", print_r($post,true));
// file_put_contents("/tmp/test.php","dfdsfdsfdsfdsfds");
// return \yii\helpers\Json::encode($parmas);
}
public function actionPushApiold()
{
header("Content-type: text/html; charset=utf-8");
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$corp_key=$request->post('corp_key');
$ts=$request->post('ts');
$sign=$request->post('sign');
$recorder_id=$request->post('recorder_id');
$caller=$request->post('caller');
$called=$request->post('called');
$caller_show=$request->post('caller_show');
$called_show=$request->post('called_show');
$begin_time=$request->post('begin_time');
$connect_time=$request->post('connect_time');
$alerting_time=$request->post('alerting_time');
$release_time=$request->post('release_time');
$call_duration=$request->post('call_duration');
$bill_duration=$request->post('bill_duration');
$call_result=$request->post('call_result');
$record_file_url=$request->post('record_file_url');
$call_cost=$request->post('call_cost');
$caller_area=$request->post('caller_area');
$called_area=$request->post('called_area');
$extend=$request->post('extend');
$network_phone = NetworkPhoneT::findOne(['recorder_id'=>$recorder_id]);
if(!$network_phone){
$network_phone = new NetworkPhoneT();
}
$network_phone->corp_key=$corp_key;
$network_phone->ts=$ts;
$network_phone->sign=$sign;
$network_phone->recorder_id=$recorder_id;
$network_phone->caller=$caller;
$network_phone->called=$called;
$network_phone->caller_show=$caller_show;
$network_phone->called_show=$called_show;
$network_phone->begin_time=$begin_time;
$network_phone->connect_time=$connect_time;
$network_phone->alerting_time=$alerting_time;
$network_phone->release_time=$release_time;
$network_phone->call_duration=$call_duration;
$network_phone->bill_duration=$bill_duration;
$network_phone->call_result=$call_result;
$network_phone->record_file_url_real=$record_file_url;
$network_phone->call_cost=$call_cost;
$network_phone->caller_area=$caller_area;
$network_phone->called_area=$called_area;
$network_phone->extend=$extend;
$network_phone->begin_date=date('Y-m-d');
$url = '';
if($record_file_url != ''){
$url = $this->phoneMp3($record_file_url);
}
if($url != ''){
$network_phone->record_file_url= $url;
}else{
$network_phone->record_file_url= $record_file_url;
}
$assign = NetworkPhoneAssignT::findOne(['phone'=>$caller]);
$user_id = 0;
$is_called = 0;
if($assign){
$user_id = $assign->user_id;
}else{
$assign1 = NetworkPhoneAssignT::findOne(['phone'=>$called]);
if($assign1){
$user_id = $assign1->user_id;
$is_called = 1;
}
}
if($assign) {
$assign->is_phone = 0;
$assign->save();
}elseif ($assign1){
$assign1->is_phone = 0;
$assign1->save();
}
$network_phone->user_id=$user_id;
$network_phone->is_called=$is_called;
$res = $network_phone->save(false);
if($res){
return ['code' => 0,'message' => "成功",];
}else{
return ['code' => 400,'message' => "失败",];
}
}
public function actionPushApi()
{
// header("Content-type: text/html; charset=utf-8");
// Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$corp_key=$request->post('corp_key');
$ts=$request->post('ts');
$sign=$request->post('sign');
$recorder_id=$request->post('recorder_id');
$caller=$request->post('caller');
$called=$request->post('called');
$caller_show=$request->post('caller_show');
$called_show=$request->post('called_show');
$begin_time=$request->post('begin_time');
$connect_time=$request->post('connect_time');
$alerting_time=$request->post('alerting_time');
$release_time=$request->post('release_time');
$call_duration=$request->post('call_duration');
$bill_duration=$request->post('bill_duration');
$call_result=$request->post('call_result');
$record_file_url=$request->post('record_file_url');
$call_cost=$request->post('call_cost');
$caller_area=$request->post('caller_area');
$called_area=$request->post('called_area');
$extend=$request->post('extend');
//$b = new GiftCreateImageErrorT();
$network_phone = NetworkPhoneT::findOne(['recorder_id'=>$recorder_id]);
if(!$network_phone){
$network_phone = new NetworkPhoneT();
$assign = NetworkPhoneAssignT::findOne(['phone'=>$caller,'is_phone'=>1]);
if(!$assign){
$assign = NetworkPhoneAssignT::findOne(['phone'=>$caller]);
}
$user_id = 0;
$is_called = 0;
if($assign){
$user_id = $assign->user_id;
}else{
$assign1 = NetworkPhoneAssignT::findOne(['phone'=>$called]);
if($assign1){
$user_id = $assign1->user_id;
$is_called = 1;
}
}
$network_phone->user_id=$user_id;
if($assign) {
$assign->is_phone = 0;
$assign->save(false);
}elseif ($assign1){
$assign1->is_phone = 0;
$assign1->save(false);
}
}
$network_phone->corp_key=$corp_key;
$network_phone->ts=$ts;
$network_phone->sign=$sign;
$network_phone->recorder_id=$recorder_id;
$network_phone->caller=$caller;
$network_phone->called=$called;
$network_phone->caller_show=$caller_show;
$network_phone->called_show=$called_show;
$network_phone->begin_time=$begin_time;
$network_phone->connect_time=$connect_time;
$network_phone->alerting_time=$alerting_time;
$network_phone->release_time=$release_time;
$network_phone->call_duration=$call_duration;
$network_phone->bill_duration=$bill_duration;
$network_phone->call_result=$call_result;
$network_phone->record_file_url_real=$record_file_url;
$network_phone->call_cost=$call_cost;
$network_phone->caller_area=$caller_area;
$network_phone->called_area=$called_area;
$network_phone->extend=$extend;
$network_phone->begin_date=date('Y-m-d');
$network_phone->is_called=$is_called;
$res = $network_phone->save(false);
// $b->error = 111;
// $b->save();
$begin_time = date('Y-m-d H:i:s',time()-10*24*3600);
$end_time = date('Y-m-d H:i:s',time()-900);
$phone_items = NetworkPhoneT::find()->where('release_time>="'.$begin_time.'"')
->andWhere('release_time<="'.$end_time.'"')
->andWhere('call_result="ANSWERED"')
->andWhere('record_file_url is null or record_file_url = ""')
->andWhere('record_file_url_real is not null or record_file_url_real <> ""')
->all();
// $b->error = 222;
// $b->save();
foreach ($phone_items as $item) {
if ($item->record_file_url == '') {
$url = '';
if ($item->record_file_url_real != '') {
$url = $this->phoneMp3($item->record_file_url_real);
}
if ($url != '') {
$item->record_file_url = $url;
$item->save(false);
}
}
}
// $b->error = 333;
// $b->save();
// if($res){
return json_encode(['code' => 0,'message' => "成功"]);
// }else{
// return ['code' => 400,'message' => "失败",];
// }
}
function phoneMp3Bak($url) {
$save_dir = Yii::$app->getBasePath() . '/../frontend/web';
$filename = 'phone.mp3';
ob_start();
readfile($url);
$content = ob_get_contents();
ob_end_clean();
$size = strlen($content);
//文件大小
$fp2 = @fopen($save_dir . $filename, 'w');
$res = fwrite($fp2, $content);
fclose($fp2);
unset($content, $url);
if($res) {
// $name = date('YmdHis').rand(100,500).$filename;
$file_dir = $save_dir.$filename;
$fdfs = new Fdfs();
$fileinfo = $fdfs->upload($file_dir, 'mp3');
$src = 'http://images.banmacar.com/' . $fileinfo['group_name'] . '/' . $fileinfo['remote_filename'];
return $src;
}else{
return '';
}
}
public function phoneMp3($url) {
// $a = new GiftCreateImageErrorT();
// $a->error = 'aaa'.$url;
// $a->save();
$save_dir = Yii::$app->getBasePath() . '/../frontend/web';
$filename = $save_dir.'phone.mp3';
header("Content-type: application/octet-stream");
$response = get_headers($url);
if(!preg_match('/200/',$response[0])) {
return '';
}
$tem_file = file_get_contents($url);
$res = file_put_contents($filename,$tem_file);
// $a->error = 'ddd';
// $a->save();
if($res) {
$fdfs = new Fdfs();
$fileinfo = $fdfs->upload($filename, 'mp3');
$src = 'http://images.banmacar.com/' . $fileinfo['group_name'] . '/' . $fileinfo['remote_filename'];
return $src;
}else{
return '';
}
}
function actionPhoneMp3new() {
$url = 'http://rec1.1ketong.com:8090/pull0/764/20190829/201908291516012221365068922194.mp3';
// $url = "https://www.baidu.com";
$response = get_headers($url);
// echo "<pre>";
// var_dump($response);
// $response = get_headers($url,1);//如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。
// echo '<pre>';
//var_dump($response);die;
if(!preg_match('/200/',$response[0])){
echo 'error';
}else{
var_dump($response);
}die;
$save_dir = Yii::$app->getBasePath() . '/../frontend/web';
$filename = $save_dir.'phone.mp3';
header("Content-type: application/octet-stream");
$tem_file = file_get_contents($url);
$res = file_put_contents($filename,$tem_file);
if($res) {
$fdfs = new Fdfs();
$fileinfo = $fdfs->upload($filename, 'mp3');
$src = 'http://images.banmacar.com/' . $fileinfo['group_name'] . '/' . $fileinfo['remote_filename'];
return $src;
}else{
return '';
}
}
public function actionCallApi()
{
header("Content-type: application/json;charset=UTF-8");
$uri = "http://zxltest.cn/phone/api";
$corp_key = '0946239060682011';
$ts=time();
$str="corp_key=".$corp_key."&ts=".$ts."&called=13262603720&caller=15801120898&recorder_id=".$corp_key."&corp_secret=3E8QV35pHjjev1713E61xV3tFq1N1E4W";
// dd($str);
$sign=md5($str);
// dd($sign);
$parmas = [
'corp_key' => $corp_key,
'ts' => $ts,
'sign'=>$sign,
'called'=>'13262603720',
'caller'=>'15801120898',
'recorder_id'=>$corp_key,
];
// 3E8QV35pHjjev1713E61xV3tFq1N1E4W
$ch = curl_init();//初始化curl
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $parmas);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
}
private function curldebang($parm)
{
header("Content-type: text/html; charset=utf-8");
$uri = "http://gwapi.deppon.com/dop-interface-async/dop-standard-ewborder/ewbNewSaveOrder.action";
list($t1, $t2) = explode(' ', microtime());
$timestamp = (float)sprintf('%.0f',(floatval($t1) + floatval($t2)) * 1000);
$appkey = 'd4f7d7473ba3a22bc06bf939135a84f5';
$bianma = 'EWBCHBJQCFWYXGS';
$sign = 'LKUE12345678';
$parmas = [
'backSignBill' => 0,
'cargoName' => "保单和礼品",
//'logisticID' => $sign.time(),//订单ID
// 'logisticID' => 'QDGHFMMYYXGS1512985995',//订单ID
'customerCode' => '400996024',
'customerID' => $bianma,
"deliveryType"=> 0,
"logisticCompanyID"=>"DEPPON",
'orderSource' => $bianma,
'logisticID' => $sign.time(),
'serviceType' => 2, //1、零担在线订单 2、快递在线订单
'payType' => '2',
'gmtCommit' => date('Y-m-d H:i:s'),
'sender' => [
'name' => $parm['sender_name'],
'phone' => '01083298300',
'mobile' => '01083298300',
'province' => '北京',
'city' => '北京市',
'county' => '丰台区',
'address' => '五里店西59号',
],
'receiver' => [
'name' => $parm['insurer_name'],
'phone' => $parm['link_tel'],
'province' => $parm['receiver_province'],
'city' => $parm['receiver_city'],
'county' => $parm['receiver_county'],
'address' => $parm['receiver_address'],
],
'totalNumber' => 1,
'totalWeight' => 30,
'transportType' => 'PACKAGE',//PACKAGE: 标准快递; RCP :360特惠件; 这两个,3KG以内是标准快递,超过3KG是360特惠。
'vistReceive' => 'Y',
];
$senderinfo=$parmas['sender'];
$parmas = json_encode($parmas);
$digest = base64_encode(md5($parmas . $appkey . $timestamp));
$data = array (
'companyCode'=> $bianma,
'params'=> $parmas,
'digest'=> $digest,
'timestamp'=> $timestamp
);
$ch = curl_init();//初始化curl
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$result = curl_exec($ch);
curl_close($ch);
$result=json_decode($result,true);
$returnda['returnResult']=$result;
$returnda['senderdata']=$senderinfo;
return $returnda;
}
public function actionAxInit(){
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result['success'] = false;
$result['msg'] = '设置错误';
$id = $request->get('id',0);
$assign_id = $request->get('assign_id',0);
$headers = array(
"Content-Type: application/json;charset=UTF-8",
"Accept:application/json",
);
$assign_info = NetworkPhoneAssignT::findOne(['id'=>$assign_id]);
$sub_info = NetworkPhoneSubT::findOne(['id'=>$id]);
$uri = "http://api.1ketong.com/ykt-pool/number/ax2/binding";
$app_key = '0946239060682011';
$ts= time();
$uniqid = md5(uniqid(microtime(true),true));
$request_id = $uniqid;
$tel = $assign_info->phone;
$expiration = 31536000;
// $expiration = 600;
$model = 2;
$tel_x = $sub_info->phone;
$parmas = [
'appkey' => $app_key,
'ts' => $ts,
'request_id' => $request_id,
'tel' => $tel,
'expiration'=>$expiration,
'model'=>$model,
'tel_x' =>$tel_x
];
ksort($parmas);
$parms_str = http_build_query($parmas);
$str = $parms_str . '&secret=3E8QV35pHjjev1713E61xV3tFq1N1E4W';
$sign=md5($str);
$parmas['area_code']='';
$parmas['sign']=$sign;
// 3E8QV35pHjjev1713E61xV3tFq1N1E4W
$ch = curl_init();//初始化curl
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容
curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($parmas));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
curl_close($ch);
$succ = json_decode($res);
if($succ->code == 0){
$sub_info->bind_id = $succ->data->bind_id;
$sub_info->save();
}
$result['msg'] = $res;
return $result;
}
public function actionAxUnbind(){
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result['success'] = false;
$result['msg'] = '设置错误';
$id = $request->get('id',0);
$headers = array(
"Content-Type: application/json;charset=UTF-8",
"Accept:application/json",
);
$sub_info = NetworkPhoneSubT::findOne(['id'=>$id]);
if($sub_info->bind_id == ''){
$result['success'] = true;
$result['msg'] = '已无绑定关系';
return $result;
}
$count = NetworkPhoneSubT::find()->where('bind_id="'.$sub_info->bind_id.'"')->count();
if($count >1){
$result['success'] = true;
return $result;
}
$uri = "http://api.1ketong.com/ykt-pool/number/ax2/unbind";
$app_key = '0946239060682011';
$ts= time();
$bind_id = $sub_info->bind_id;
$parmas = [
'appkey' => $app_key,
'ts' => $ts,
'bind_id'=>$bind_id
];
ksort($parmas);
$parms_str = http_build_query($parmas);
$str = $parms_str . '&secret=3E8QV35pHjjev1713E61xV3tFq1N1E4W';
$sign=md5($str);
$parmas['area_code']='';
$parmas['sign']=$sign;
// 3E8QV35pHjjev1713E61xV3tFq1N1E4W
$ch = curl_init();//初始化curl
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容
curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($parmas));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
curl_close($ch);
$succ = json_decode($res);
if($succ->code == 0){
$sub_info->bind_id = '';
$sub_info->save();
$result['success'] = true;
}
$result['msg'] = $res;
return $result;
}
public function actionAxOut(){
Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$result['success'] = false;
$result['msg'] = '设置错误';
$phone = $request->get('phone','');
$user_id = $request->get('user_id',0);
$headers = array(
"Content-Type: application/json;charset=UTF-8",
"Accept:application/json",
);
$uri = "http://api.1ketong.com/ykt-pool/number/ax2/call_out";
$app_key = '0946239060682011';
$ts= time();
$uniqid = md5(uniqid(microtime(true),true));
$request_id = $uniqid;
$assign = NetworkPhoneAssignT::find()->where('user_id='.$user_id)->one();
if(!$assign){
return $result;
}
$caller = $assign->phone;
$called = $phone;
$expiration = 60;
$total_ids = NetworkPhoneSubT::find()->where('assign_id='.$assign->id)->column();;
$count = count($total_ids);
if($count<= 0){
return $result;
}
$i = mt_rand(0,$count-1);
$id= $total_ids[$i];
$sub_info = NetworkPhoneSubT::findOne($id);
// $is_one = NetworkPhoneSubT::find()->where('is_called=1')->one();
//
// if(!$is_one){
// return $result;
// }
$tel_x = $sub_info->phone;
// $tel_y = $is_one->phone;
$tel_y = $sub_info->phone;
$parmas = [
'appkey' => $app_key,
'ts' => $ts,
'caller' => $caller,
'called' => $called,
'expiration'=>$expiration,
'request_id' => $request_id,
'tel_x' =>$tel_x,
'tel_y' =>$tel_y
];
ksort($parmas);
$parms_str = http_build_query($parmas);
$str = $parms_str . '&secret=3E8QV35pHjjev1713E61xV3tFq1N1E4W';
$sign=md5($str);
$parmas['sign']=$sign;
// 3E8QV35pHjjev1713E61xV3tFq1N1E4W
$ch = curl_init();//初始化curl
curl_setopt($ch,CURLOPT_URL,$uri);//访问地址
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//是否自动输出内容
curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($parmas));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$res = curl_exec($ch);
curl_close($ch);
$succ = json_decode($res);
if($succ->code == 0){
$assign->is_phone = 1;
$assign->save(false);
}
// var_dump($result);
$result['success'] = true;
$result['msg'] = $tel_x;
return $result;
}
public function actionPushApi22()
{
// header("Content-type: text/html; charset=utf-8");
// Yii::$app->response->format = Response::FORMAT_JSON;
$request = Yii::$app->request;
$corp_key=$request->post('corp_key');
$ts=$request->post('ts');
$sign=$request->post('sign');
$recorder_id=$request->post('recorder_id');
$caller=$request->post('caller');
$called=$request->post('called');
$caller_show=$request->post('caller_show');
$called_show=$request->post('called_show');
$begin_time=$request->post('begin_time');
$connect_time=$request->post('connect_time');
$alerting_time=$request->post('alerting_time');
$release_time=$request->post('release_time');
$call_duration=$request->post('call_duration');
$bill_duration=$request->post('bill_duration');
$call_result=$request->post('call_result');
$record_file_url=$request->post('record_file_url');
$call_cost=$request->post('call_cost');
$caller_area=$request->post('caller_area');
$called_area=$request->post('called_area');
$extend=$request->post('extend');
$network_phone = NetworkPhoneT::findOne(['recorder_id'=>$recorder_id]);
if(!$network_phone){
$network_phone = new NetworkPhoneT();
}
$network_phone->corp_key=$corp_key;
$network_phone->ts=$ts;
$network_phone->sign=$sign;
$network_phone->recorder_id=$recorder_id;
$network_phone->caller=$caller;
$network_phone->called=$called;
$network_phone->caller_show=$caller_show;
$network_phone->called_show=$called_show;
$network_phone->begin_time=$begin_time;
$network_phone->connect_time=$connect_time;
$network_phone->alerting_time=$alerting_time;
$network_phone->release_time=$release_time;
$network_phone->call_duration=$call_duration;
$network_phone->bill_duration=$bill_duration;
$network_phone->call_result=$call_result;
$network_phone->record_file_url_real=$record_file_url;
$network_phone->call_cost=$call_cost;
$network_phone->caller_area=$caller_area;
$network_phone->called_area=$called_area;
$network_phone->extend=$extend;
$network_phone->begin_date=date('Y-m-d');
$assign = NetworkPhoneAssignT::findOne(['phone'=>$caller]);
$user_id = 0;
$is_called = 0;
if($assign){
$user_id = $assign->user_id;
}else{
$assign1 = NetworkPhoneAssignT::findOne(['phone'=>$called]);
if($assign1){
$user_id = $assign1->user_id;
$is_called = 1;
}
}
if($assign) {
$assign->is_phone = 0;
$assign->save(false);
}elseif ($assign1){
$assign1->is_phone = 0;
$assign1->save(false);
}
$network_phone->user_id=$user_id;
$network_phone->is_called=$is_called;
$res = $network_phone->save(false);
// $begin_time = date('Y-m-d H:i:s',time()-10*24*3600);
// $end_time = date('Y-m-d H:i:s',time()-900);
//
// $phone_items = NetworkPhoneT::find()->where('release_time>="'.$begin_time.'"')
// ->andWhere('release_time<="'.$end_time.'"')
// ->andWhere('call_result="ANSWERED"')
// ->andWhere('record_file_url is null or record_file_url = ""')
// ->andWhere('record_file_url_real is not null or record_file_url_real <> ""')
// ->all();
//
// foreach ($phone_items as $item){
// if($item->record_file_url == ''){
// $url = '';
// if($item->record_file_url_real){
// $url = $this->phoneMp3($item->record_file_url_real);
// }
//
//
//
// if($url != ''){
// $item->record_file_url= $url;
// }else{
// $item->record_file_url= $record_file_url;
// }
// $item->save(false);
// }
// }
// if($res){
return json_encode(['code' => 0,'message' => "成功"]);
// }else{
// return ['code' => 400,'message' => "失败",];
// }
}
}

@ -4,6 +4,12 @@ use \common\libs\MyLib;
<?php $this->beginBlock('header_css'); ?>
<link href="/assets/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
<?php $this->endBlock(); ?>
<input id="serverInfo" type="hidden" value="ws://127.0.0.1:8800/" size="40"/>
<br>
<div id="txt-e" style=" color: red; font-size: 18px; display: none;"></div>
<div id="txt-ok" style=" color: green; font-size: 18px; display: none;"></div>
<input id="sendMsg" type="hidden" value='{"cmd":"LINK"}' style="width: 500px;">
<div class="wrapper wrapper-content animated fadeInRight">
<div class="ibox float-e-margins">
@ -45,6 +51,12 @@ use \common\libs\MyLib;
<label class="col-sm-1 control-label">联系电话</label>
<div class="col-sm-3">
<label class="form-control-static"><?=$car_info->phone?></label>
<a class="btn btn-primary btn-bitbucket" onclick="sendMsg('ATD','<?=$car_info->phone?>')">
<i class="fa fa-phone"></i>
</a>
<a class="btn btn-danger btn-bitbucket" onclick="sendMsg('ATH')">
<i class="fa fa-close"></i>
</a>
</div>
<label class="col-sm-1 control-label">证件号码</label>
<div class="col-sm-3">
@ -104,6 +116,12 @@ use \common\libs\MyLib;
<label class="col-sm-1 control-label">联系电话</label>
<div class="col-sm-2">
<label class="form-control-static"><?=$link->phone?></label>
<a class="btn btn-primary btn-bitbucket" onclick="sendMsg('ATD','<?=$link->phone?>')">
<i class="fa fa-phone"></i>
</a>
<a class="btn btn-danger btn-bitbucket" onclick="sendMsg('ATH')">
<i class="fa fa-close"></i>
</a>
</div>
<label class="col-sm-1 control-label"><?=$link->id_type?></label>
<div class="col-sm-2">
@ -223,6 +241,278 @@ use \common\libs\MyLib;
$(function() {
search();
wsInit();
});
</script>
<script>
var ws;
function wsInit(val){
//重连先关闭
if(val=='reConn'){
ws.close();
}
document.getElementById("txt-ok").innerText="";
document.getElementById("txt-e").innerText="";
if("WebSocket" in window) {
var serverInfo = document.getElementById("serverInfo").value;
// 打开一个 web socket,全局共用一个
ws = new WebSocket(serverInfo);
console.log("已连接"+serverInfo);
ws.onopen = function() {
setTimeout(function(){
sendMsg('link')
},100);
showResult('ok');
};
ws.onmessage = function(evt) {
document.getElementById("recMsg").value=evt.data;
var data = JSON.parse(evt.data);
//console.log(data);
switch(data['cmd']) {
// 服务端ping客户端
case 'USB':
ws.send('{"cmd":"USB","connected":"true","success":"true","message":"成功"}');
break;
case 'CORG':
ws.send('{"cmd":"CORG","number":"10010","success":"true","message":"成功"}');
break;
case 'CALLING':
ws.send('{"cmd":"CALLING","number":"10010","success":"true","message":"成功"}');
break;
case 'CBEGIN':
ws.send('{"cmd":"CBEGIN","success":"true","message":"成功"}');
break;
case 'ALERT':
ws.send('{"cmd":"ALERT","success":"true","message":"成功"}');
break;
case 'CEND':
ws.send('{"cmd":"CEND","success":"true","message":"成功"}');
break;
}
};
//出现错误
ws.onerror = function(evt){
//console.log(evt);
}
//连接断开
ws.onclose = function(evt){
//console.log(evt)
showResult('error');
}
} else {
// 浏览器不支持 WebSocket
alert("您的浏览器不支持 WebSocket!");
}
}
function showResult(val){
var serverInfo = document.getElementById("serverInfo").value;
var okText = serverInfo + "连接成功";
var errText = serverInfo + "连接失败,请检查window服务、IP和端口安装并配置正确";
if(val=='ok'){
document.getElementById("txt-ok").innerText = okText;
document.getElementById("txt-ok").style.display="none";
document.getElementById("txt-e").style.display="none";
}else{
//console.log(errText)
document.getElementById("txt-e").innerText = errText;
document.getElementById("txt-ok").style.display="none";
document.getElementById("txt-e").style.display="none";
}
}
function reConn(){
ws = new WebSocket(serverInfo);
}
function sendMsg(val,phone){
// Web Socket 已连接上,使用 send() 方法发送数据
var state=ws.readyState;
console.log("readyState:"+state);
if(state!=1){
document.getElementById("txt-e").style.display="block";
//location.reload();
return;
}else{
document.getElementById("txt-e").style.display="none";
}
if(val=="link"){
val = '{"cmd":"LINK"}';
}
/*if(val=="USB"){
val = '{"cmd":"USB","connected":"true","success":"true","message":"成功"}';
}*/
if(val=="ATD"){
function getRadioLValue(haoma){
var obj = document.getElementsByName(haoma);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
// var sendhaoma = getRadioLValue("sendhaoma");
var sendhaoma = 0;
var number_one = phone;
$.get('/phone/ax-out',{'phone':number_one,'user_id':'<?=$my->id?>'},function(obj){
if(obj.success) {
var number = obj.msg;
val = '{"cmd":"ATD","number":"'+number+'","hidden":"'+sendhaoma+'"}';
document.getElementById("sendMsg").value=val;
ws.send(val);
console.log("数据已发送");
} else {
alert(obj.msg);
}
},'json');
}
if(val=="ATH"){
val = '{"cmd":"ATH"}';
}
if(val=="ATA"){
val = '{"cmd":"ATA"}';
}
if(val=="READIMEI"){
val = '{"cmd":"READIMEI"}';
}
if(val=="READVER"){
val = '{"cmd":"READVER"}';
}
if(val=="READSTATUS"){
val = '{"cmd":"READSTATUS"}';
}
if(val=="startrecord"){
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).Format("yyyyMMddhhmmss");
}
Date.prototype.Format = function(fmt) {//author: meizz
var o = {
"M+" : this.getMonth() + 1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth() + 3) / 3), //季度
"S" : this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
//E:\\qtproject\\PhoneService\\kaerHjSDK\\recordfile\\20180514.mp3
var time= Math.round(new Date() / 1000) ;
var times =(getLocalTime(time));
console.log(time);
var filename= "E:/qtproject/PhoneService/kaerHjSDK/recordfile/"+times+".mp3";
val = '{"cmd":"startrecord","filename":"'+filename+'"}';
//alert(filename);
}
if(val=="stoprecord"){
val = '{"cmd":"stoprecord"}';
}
if(val=="HIDENUMBER"){
function getRadioValue(laidian){
var obj = document.getElementsByName(laidian);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
function getRadioLValue(haoma){
var obj = document.getElementsByName(haoma);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
var type=getRadioValue('laidian');
var hidden=getRadioLValue('haoma');
//console.log(type);
//console.log('号码'+hidden);
val = '{"cmd":"HIDENUMBER","type":"'+type+'","hidden":"'+hidden+'"}';
}
if(val=="GETNUMBERHIDEN"){
function getRadioDqValue(duqvhj){
var obj = document.getElementsByName(duqvhj);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
var type=getRadioDqValue('duqvhj');
val = '{"cmd":"GETNUMBERHIDEN","type":"'+type+'"}';
}
if(val=="SETRECORDVOICE"){
var voice= document.getElementById("voice").value;
val = '{"cmd":"SETRECORDVOICE","voice":"'+voice+'"}';
}
if(val=="SETMODE"){
function getRadioHpValue(headsetProfile){
var obj = document.getElementsByName(headsetProfile);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
var mode=getRadioHpValue('headsetProfile');
val = '{"cmd":"SETMODE","mode":"'+mode+'"}';
}
if(val=="GETMODE"){
val = '{"cmd":"GETMODE"}';
}
if(val=="SETUOC"){
function getRadioHpValue(headsetProfileRadio){
var obj = document.getElementsByName(headsetProfileRadio);
for(i = 0;i<obj.length;i++){
if(obj[i].checked){
return obj[i].value;
}
}
return "undefined";
}
var mode=getRadioHpValue('headsetProfileRadio');
val = '{"cmd":"SETUOC","UOC":"'+mode+'"}';
}
if(val=="GETUOC"){
val = '{"cmd":"GETUOC"}';
}
if(val=="UPPARAM"){//设置通话记录传平台的参数
var upparamurl = document.getElementById("upparamurl").value;//坐席工号
var agent = document.getElementById("agent").value;//坐席工号
var company =document.getElementById("company").value;//计费账号
var thismobile =document.getElementById("thismobile").value;//本机号码
val = '{"cmd":"UPPARAM","url":"'+upparamurl+'","agent":"'+agent+'","company":"'+company+'","thismobile":"'+thismobile+'"}';
}
document.getElementById("sendMsg").value=val;
ws.send(val);
console.log("数据已发送");
}
</script>
<?php $this->endBlock(); ?>
Loading…
Cancel
Save