亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? djsscx.pas.bak

?? 自己寫的用delphi封裝東勁板卡api.
?? BAK
?? 第 1 頁 / 共 2 頁
字號:
unit DjSSCx;

interface

uses
  SysUtils, Classes,DjBase,DjCBase,PubProc,uRecordcenter;

type
  //涉及到兩個通道時的操作
  TOnLinkEvent = procedure(Sender:TObject;ChannelID1,ChannelID2:integer) of object;

  //內線摘機操作
  TOnHookUpEnvent = procedure(Sender:TObject;ChannelID:integer) of object ;

  //外線呼入時
  TOnDialInEvent = procedure(Sender:TObject;ChannelID:integer) of object ;

  //按鍵時
  TOnDTMFHitEvent = procedure(sender:TObject;ChannelID:integer;DTMFNum:string) of object;

  //異常時
  TOnDjExceptionEvent = procedure(Sender:TObject;ChannelID:integer;ErrorCode:integer;ErrorType:integer = 0) of object;
  TOnDjErrorEvent = procedure(Sender:TObject;ChannelID1,ChannelID2:integer;ErrorCode:integer) of object;

  TOnKeepEvent = procedure(Sender:TObject;KeepChnlID:integer;KeepResult:Integer) of object ;

  TBeforeGetKeepEvent = procedure(Sender:TObject;GetChnlID,KeepChnlID:integer) of object ;

  TOnGetKeepEvent = procedure(Sender:TObject;GetChnlID,KeepChnlID:integer;KeepResult:Integer) of object ;

  TOnThreeEvent = procedure(Sender:TObject;ChnlID1,ChnlID2,ChnlID3:integer) of object;

  TOnRecordEvent = procedure(Sender:TObject;Chnlid1,ChnlID2:integer;RecordFile:string) of object;

  TOnPlayFileBeginEvent=procedure(Sender:Tobject;ChnlID:integer;FileName:string) of object;

  TOnPlayFileEndEvent = procedure(Sender:Tobject;ChnlID:integer) of object;

  TDjSSCx = class(TDjCBase)
  private
    { Private declarations }
    FRecorded :boolean;
    FFirstOutNum :Shortstring;
    FFirstInNum :Shortstring;
    FSubPhoneLength:Integer;
    FPreDialNum:Shortstring;
    FIsMeet:boolean;
    FChannelList :TChannelList ;
    FRecordFilePath:Shortstring;
    FPackRate :integer;

    FOnHangUp:TOnLinkEvent;      //掛機
    FOnHookUp:TOnHookUpEnvent;   //內線摘機
    FOnDial:TOnDialInEvent ;     //外線呼入

    FOnDTMFHit:TOnDTMFHitEvent;  //接收到按鍵
    
    FOnException:TOnDjExceptionEvent ;  //異常

    FOnLink :TOnLinkEvent ;    //連通兩條線路
    FOnClearLink:TOnLinkEvent;  //拆線

    FOnDialIn:TOnLinkEvent ;   //呼叫內線
    FOnDialBusy:TOnLinkEvent;   //被呼叫方忙
    FOnDialError:TOnLinkEvent;  //被呼叫號碼錯誤

    FOnCallOut:TOnLinkEvent;    //外線呼出
    FOnCallBusy:TOnLinkEvent;   //呼出外線忙
    FOnCallError:TOnDjErrorEvent ; //呼出外線指定錯誤

    FOnKeep :TOnKeepEvent;   //當保持一個通道后
    FBeforeGetKeep :TBeforeGetKeepEvent;//當取一個保持通道前
    FOnGetKeep :TOnGetKeepEvent;   //取一個保持通道后

    FOnLinkThree:TOnThreeEvent;  //開始三方后
    FOnClearThree:TOnThreeEvent; //三方結束后

    FOnRecord : TOnRecordEvent;

    FOnPlayBegin:TOnPlayFileBeginEvent;
    FOnPlayEnd:TOnPlayFileEndEvent ;

    function InCallIn(Channel1, Channel2: PChannel):integer;overload;
    function InCallIn(ChnlID1,ChnlID2:integer):integer;overload;
    function InCallOut(Channel1, Channel2: PChannel;DialerPhone:string):integer;overload;
    procedure GetKeepChannel(ChnlIn,ChnlOut:PChannel); overload;
    function LinkThree(Channel1,Channel2:PChannel):integer;overload;  //開始一個三方
    function ClearThree(Channel1,Channel2:PChannel):integer;overload; //結束一個三方
    procedure SetFilePath(FilePath:Shortstring);
    procedure SetPackRate(aPackRate:Integer);
    //procedure test;//取保持
  protected
    { Protected declarations }
  public
    { Public declarations }
    //dfsaf:TChannelList
    constructor Create(AOwner:TComponent);override;
    destructor Destroy;override;
    procedure SetSubPhone(ChannelID:integer;Phone:String);
    procedure SetRecord(ChnlId,RecordChnlID:integer;RecordType:integer;IsAgc:boolean);
    procedure SetRecordFilePath(RecordFilePath:string);
    procedure SetUse(ChnlID:integer;IsUse:Boolean);
    function StartDjMonitor:boolean;
    procedure ReceiveDTMFHit(ChnlID:integer);
    procedure HangUp(ChnlID:Integer);       //掛機
    procedure FeedRealRing(ChnlID:Integer);
    procedure DialIn(OutChnlID,InChnlID:integer);
    function CheckDTMFNum(DTMFNum:string):integer;
    function InCallIn(ChnlID:Integer;DialPhone:String):integer;overload;
    function CheckIdleChannelState(SubPhone:string):TChannelState;
    procedure DefaultDial(ChnlID:integer;DTMFNum:string);
    function InCallOut(ChnlID:integer):Integer;overload; //與外線建立連接,手工撥號
    function InCallOut(Chnlid:integer;DTMFNum:String):integer;overload;//不建立連接,軟件送號碼
    function InCallOut(Chnlid:integer;CallerPhone,DTMFNum:String):integer;overload;//不不建立連接,指定外線,軟件送號碼
    procedure HangOff(ChnlID:Integer);  //振鈴摘機坐席
    procedure OffHook(ChnlID:Integer);  //主動摘機坐席
    procedure KeepChannel(ChnlID:Integer) ;overload;//保留來電
    procedure KeepChannel(SubPhone:string) ;overload;//保留來電
    procedure GetKeepChannel(ChnlInID:integer;DTMFNum:string); overload;//取保持
    procedure GetKeepChannel(ChnlInID,ChnlOutID:integer); overload;//取保持
    procedure GetKeepChannel(ChnlInPhone,ChnlOutPhone:string); overload;//取保持
    function GetKeepChannel(KeepChannelList:Variant):integer;overload;//當前系統中保持的通道總數
    function LinkThree(ChnlID1:integer;ChnlID2:integer):integer;overload;  //開始一個三方
    function LinkThree(ChnlID:integer;CallerPhone:string):integer;overload;  //開始一個三方
    function ClearThree(ChnlId:integer;CallerPhone:string):integer;overload; //結束一個三方
    function ClearThree(ChnlId1:integer;ChnlID2:integer):integer;overload; //結束一個三方
    procedure PlayFile(ChnlID:integer;FileName:string);
    procedure StopPlayFile(ChnlId:integer);
    procedure test;
  published
    { Published declarations }
    property FirstOutNum:Shortstring read FFirstOutNum write FFirstOutNum;
    property FirstInNum :Shortstring read FFirstInNum write FFirstInNum ;
    property SubPhoneLength:integer read FSubPhoneLength write FSubPhoneLength ;
    property PreDialNum:Shortstring read FPreDialNum write FPreDialNum ;
    property IsMeet:boolean read FIsMeet write FIsMeet;
    property Recorded :boolean read FRecorded write FRecorded ;
    property RecordFilepath:Shortstring Read FRecordFilePath write SetFilePath;
    property PackRate :integer read FPackRate write SetPackRate;
    property OnHangUp : TOnLinkEvent read FOnHangUp write FOnHangUp;
    property OnHookUp : TOnHookUpEnvent read FOnHookUp write FOnHookUp ;
    property OnDial : TOnDialInEvent read FOnDial write FOnDial ;
    property OnDTMFHit:TOnDTMFHitEvent read FOnDTMFHit write FOnDTMFHit ;
    property ChannelList :TChannelList read FChannelList write FChannelList ;
    property OnException :TOnDjExceptionEvent read FOnException write FOnException;
    property OnDialIn:TOnLinkEvent read FOnDialIn write FOnDialIn ;
    property OnLink :TOnLinkEvent read FOnLink write FOnLink ;
    property OnClearLink:TOnLinkEvent read FOnClearLink write FOnClearLink;
    property OnDialBusy :TOnLinkEvent read FOnDialBusy write FOnDialBusy;
    property OnDialError:TOnLinkEvent read FOnDialError write FOnDialError ;
    property OnCallBusy :TOnLinkEvent read FOnCallBusy write FOnCallBusy ;
    property OnCallError:TOnDjErrorEvent read FOnCallError write FOnCallError ;
    property OnCallOut:TOnLinkEvent read FOnCallOut write FOnCallOut;
    property OnKeep :TOnKeepEvent read FOnKeep write FOnKeep ;
    property BeforeGetKeep:TBeforeGetKeepEvent read FBeforeGetKeep write FBeforeGetKeep;
    property OnGetKeep:TOnGetKeepEvent read FOnGetKeep write FOnGetKeep;
    property OnLinkThree:TOnThreeEvent read FOnLinkThree write FOnLinkThree;
    property OnClearThree :TOnThreeEvent read FOnClearThree write FOnClearThree ;
    property OnRecord:TOnRecordEvent read FOnRecord write FOnRecord;
    property OnPlayBegin:TOnPlayFileBeginEvent read FOnPlayBegin write FOnPlayBegin ;
    property OnPlayEnd:TOnPlayFileEndEvent read FOnPlayEnd write FOnPlayEnd;
  end;

procedure Register;

implementation

uses tc08a32,DjTc081AC,uMeetingCenter, Math;

procedure Register;
begin
  RegisterComponents('djbK', [TDjSSCx]);
end;

{ TDjSSCx }

constructor TDjSSCx.Create;
begin
  inherited;
  FPackRate := 0 ;  
end;

destructor TDjSSCx.Destroy;
begin

  inherited;
end;

procedure TDjSSCx.FeedRealRing(ChnlID: Integer);
begin
  tc08a32.FeedRealRing(ChnlID);
end;

procedure TDjSSCx.HangUp(ChnlID: Integer);
var
  Channel :PChannel;
begin
  Channel := ChannelList.Items[ChnlID];
  Channel.DialActor := MasterActor;
  DjTc081.HangUp(Channel);
end;

procedure TDjSSCx.DialIn(OutChnlID, InChnlID:integer);
var
  ChannelIn,ChannelOut: PChannel;
begin
  ChannelIn := ChannelList.Items[InChnlID];
  ChannelOut := ChannelList.Items[OutChnlID];
  if Assigned(ChannelIn) and (ChannelIn.ChannelType = UserChannel) then
  begin
    if ChannelIn.State <> Idle then
    begin
      if Assigned(FOnDialBusy) then
        FOnDialBusy(self,OutChnlID,InChnlID)
      else
        Self.HangUp(OutChnlID);
      exit;
    end;
  end
  else
  begin
    if Assigned(FOnDialError) then
      FOnDialError(Self,OutChnlID,InChnlID)
    else
      Self.HangUp(OutChnlID);
    exit;
  end;
  StartPlaySignal(OutChnlID,SIG_RINGBACK);//放回鈴
  FeedRealRing(InChnlID);                 //給內線振鈴
  ChannelIn.Ringing := true;
  ChannelIn.State := Dailing;
  ChannelIn.Step := 0;
  ChannelIn.ConnectChannel.ConState := OneConnect;
  ChannelIn.ConnectChannel.ConChnlId := OutChnlID ;
  ChannelIn.ConnectChannel.CallActive :=false ;
  ChannelIn.ConnectChannel.CallerPhone := ChannelOut.ConnectChannel.CallerPhone;
  ChannelIn.ConnectChannel.Channeler := nil ;

  ChannelOut.ConnectChannel.ConState := Ringing;
  ChannelOut.ConnectChannel.ConChnlId := InChnlID;
  ChannelOut.ConnectChannel.CallActive := false;
  ChannelOut.ConnectChannel.Channeler := nil ;

  ChannelOut.Step := 1001 ;
  if Assigned(FOnDialIn) then
  begin
    FOnDialIn(self,OutChnlID,InChnlID);
  end;
end;

procedure TDjSSCx.ReceiveDTMFHit(ChnlID: integer);
var
  Channel:PChannel;
begin
  //StartPlaySignal(ChnlID, SIG_DIALTONE);
  Channel := ChannelList.Items[ChnlID];
  case  Channel.ChannelType of
    UserChannel:
    begin
      StartPlaySignal(ChnlID, SIG_DIALTONE);
    end;
    TrunkChannel:
    begin
      Tc08a32.OffHook(ChnlID);
    end;
  end;
  InitDtmfBuf(ChnlID); 

  Channel.Step := 100 ;
  //Channel.state := occupy;
end;

procedure TDjSSCx.SetSubPhone(ChannelID: integer; Phone: String);
var
  Channel:PChannel;
begin
  Channel := ChannelList.items[ChannelID] ;
  Channel.Phone := Phone ;
end;

function TDjSSCx.StartDjMonitor: boolean;
begin
  if not Assigned(DjTc081) then
  begin
    DjTc081 := TDjTc081AC.Create(Self);
  end;
  DjTc081.InitRecordChannel; //錄音初始化
  FChannelList := DjBase.ChannelList ;
  if FIsMeet then
  begin
    if not Assigned(DjMC) then
    begin
      DjMC := TDjMeetingCenter.Create(Self);
    end;
  end;
  if Recorded then
  begin
    if Not Assigned(RecordCenter) then
    begin
      RecordCenter := TRecordCenter.Create ;
      RecordCenter.RecordPath := FRecordFilePath ;
    end;
  end;
end;

function TDjSSCx.CheckDTMFNum(DTMFNum: string): integer;
var
  Channel:PChannel ;
  SubPhone:string;
begin
  result := 0 ;
  if FFirstOutNum = FFirstInNum then
    raise Exception.Create('內線與外線預撥號碼重復,不能區分內線/外線');
  if DTMFNum = FirstOutNum then
  Begin
    Result := 1;
    exit;
  end;
  if Length(DTMFNum) > Length(FFirstInNum) then
    if copy(DTMFNum,1,length(FFirstInNum)) = FFirstInNum then
    begin
      SubPhone := copy(DTMFNum,length(FFirstInNum)+1,Length(DTMFNum)- Length(FFirstInNum));
      Channel := ChannelList.GetChannelFromPhone(SubPhone);
      if Assigned(Channel) then
        Result := 2
      else
        if Length(DTMFNum) >= SubPhoneLength then
          result := -1 ;
    end
    else
      Result := -1;
end;

function TDjSSCx.InCallIn(ChnlID: Integer; DialPhone: String): integer;
var
  Channel:PChannel;
  SubPhone:string;
begin
  SubPhone := copy(DialPhone,Length(FFirstInNum)+1,Length(DialPhone)-Length(FFirstInNum));
  Channel := ChannelList.GetChannelFromPhone(SubPhone);
  if not Assigned(Channel) then
   Result := -6
  else
    if Channel.ChannelType <> UserChannel then
      Result := -7
    else
      if Channel.State <> Idle then
      begin
        Result := -8;
        if Assigned(FOnCallBusy) then
          FOnCallBusy(Self,ChnlID,Channel.ChannelID)
        else
          Self.HangUp(ChnlID);
      end
      else
      begin
        if Assigned(FOnCallOut) then
          FOnCallOut(self,ChnlID,Channel.ChannelID);
        Result := InCallIn(ChannelList.Items[ChnlID],Channel);
      end;
end;

function TDjSSCx.InCallIn(Channel1, Channel2: PChannel): integer;
var
  ChnlID1,ChnlID2:integer;
begin
  ChnlID1 := Channel1.ChannelID;
  ChnlID2 := Channel2.ChannelID;
  //////FeedRealRing(ChnlID2);  屏蔽
  //Channel1.State := Calling ;
  Channel1.ConnectChannel.ConState := OneConnect ;
  Channel1.ConnectChannel.ConChnlId := ChnlID2 ;
  Channel1.ConnectChannel.CallActive := false;
  Channel1.ConnectChannel.CallerPhone := '';
  Channel1.ConnectChannel.Channeler := Channel2 ;
  Channel1.Step := 1001 ;
  Channel1.CallActor := CallerActor;
  Channel2.State := Dailing ;
  Channel2.Ringing := True ;
  Channel2.ConnectChannel.ConState := OneConnect ;
  Channel2.ConnectChannel.ConChnlId := ChnlID1;
  Channel2.ConnectChannel.CallActive := False;
  Channel2.ConnectChannel.CallerPhone := Channel1.Phone;
  Channel2.ConnectChannel.Channeler := Channel1 ;
  Channel2.Step := 0 ;
  Channel2.CallActor := DialerActor ;
  if Assigned(FOnDialIn) then
    FOnDialIn(Self,ChnlID1,ChnlID2);
  //SetLink(ChnlID1,ChnlID2);
end;

function TDjSSCx.CheckIdleChannelState(SubPhone: string): TChannelState;
var
  Channel:PChannel;
begin
  Result := NotingState;
  Channel := ChannelList.GetChannelFromPhone(SubPhone);
  if Assigned(Channel) then Result := Channel.State;
end;

procedure TDjSSCx.DefaultDial(ChnlID:integer;DTMFNum: string);
var
  ChannelIn:PChannel ;
  ChannelOut:PChannel;
  Caller :integer;
begin
  //SeatRecord := //.GetSeatFromChnlID(ChannelID);
  ChannelOut := ChannelList.Items[ChnlID];
  case  ChannelOut.ChannelType of
    TrunkChannel:
    begin
      if Length(DTMFNum) <= SubPhoneLength then
      begin
        ChannelIn := ChannelList.GetChannelFromPhone(DTMFNum);
        if ChannelIn = nil then
        begin
          if Length(DTMFNum) = SubPhoneLength then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩av一区二区三区在线播放| 亚洲欧洲三级电影| 777午夜精品视频在线播放| 91原创在线视频| 成人a级免费电影| 懂色av中文一区二区三区| 国产精一区二区三区| 国产一区二区不卡在线| 国产一区二区按摩在线观看| 国产一区二区剧情av在线| 国产成人精品一区二| 国产成人精品免费在线| 国产九色sp调教91| av毛片久久久久**hd| 99精品国产99久久久久久白柏| 91丨porny丨中文| 欧美羞羞免费网站| 欧美一区二区视频观看视频| 日韩视频123| 久久久av毛片精品| 亚洲人成在线播放网站岛国| 一区二区三区精品视频在线| 亚洲va欧美va天堂v国产综合| 日韩中文字幕av电影| 久久电影国产免费久久电影| 国产乱子伦视频一区二区三区 | 欧美卡1卡2卡| 制服丝袜av成人在线看| 日韩精品一区二区三区在线播放| 精品日韩欧美在线| 亚洲欧美影音先锋| 图片区小说区区亚洲影院| 国内成人自拍视频| 91一区二区三区在线观看| 欧美日韩视频在线观看一区二区三区 | 亚洲视频在线观看一区| 日本麻豆一区二区三区视频| 国产黄色成人av| 91国产精品成人| 欧美另类变人与禽xxxxx| 日韩一区二区三区电影| 久久久精品tv| 久久综合色天天久久综合图片| 精品美女被调教视频大全网站| 精品国产91九色蝌蚪| 国产精品精品国产色婷婷| 亚洲综合男人的天堂| 美女视频一区二区三区| 国产成人综合在线播放| 91美女片黄在线观看91美女| 欧美日韩成人在线一区| 欧美精品一区二区高清在线观看 | 成人性生交大片免费看在线播放| 成人av电影免费在线播放| 欧美亚洲一区二区三区四区| 日韩限制级电影在线观看| 国产精品午夜久久| 亚洲午夜精品久久久久久久久| 国产成人av电影| 欧美军同video69gay| 中文无字幕一区二区三区| 午夜精品福利一区二区三区av | 91成人国产精品| 欧美岛国在线观看| 亚洲精品国久久99热| 看电影不卡的网站| 91成人免费网站| 国产欧美日韩另类一区| 丝袜脚交一区二区| 99re成人在线| 久久久亚洲综合| 奇米888四色在线精品| 99精品国产视频| 国产欧美视频一区二区三区| 日韩精品亚洲专区| 色综合久久综合网97色综合 | 青青草国产成人av片免费| 不卡视频免费播放| 久久综合久久综合久久综合| 亚洲国产视频在线| 一本大道久久a久久综合婷婷| 国产午夜精品一区二区| 麻豆专区一区二区三区四区五区| 色噜噜夜夜夜综合网| 中文乱码免费一区二区| 紧缚奴在线一区二区三区| 日韩视频一区二区三区| 亚洲国产精品一区二区尤物区| 国产一区二区三区观看| av电影在线观看不卡| 国产片一区二区| 国产盗摄女厕一区二区三区| 精品久久国产97色综合| 免费三级欧美电影| 91精品国产乱码| 五月天一区二区| 欧美日韩在线不卡| 日韩精品久久理论片| 欧美日韩美少妇| 午夜亚洲福利老司机| 欧美日韩视频在线第一区 | 亚洲精品一区二区三区精华液| 午夜精品久久久久久久久久| 国内精品伊人久久久久av影院 | 毛片不卡一区二区| 欧美大白屁股肥臀xxxxxx| 日本最新不卡在线| 欧美sm美女调教| 麻豆国产欧美日韩综合精品二区| 日韩视频免费观看高清完整版| 国内精品伊人久久久久av影院| 5月丁香婷婷综合| 久久99热99| 久久亚洲精华国产精华液 | 欧美午夜精品久久久久久超碰| 亚洲一区免费观看| 欧美一级黄色大片| 免费高清不卡av| 日韩理论电影院| 欧美一区二区三区免费| 久久99精品国产.久久久久久| 国产偷国产偷亚洲高清人白洁 | 狂野欧美性猛交blacked| 日韩欧美不卡在线观看视频| 精品一二三四在线| 亚洲欧洲国产日韩| 欧美三区在线观看| 国产成人午夜精品影院观看视频 | 国产精品伦一区| 欧美伊人精品成人久久综合97| 一区二区三区日韩欧美| 欧美成人精品福利| 91影院在线观看| 韩国一区二区在线观看| 亚洲精品va在线观看| 欧美精品一区二区三| 91国内精品野花午夜精品| 天堂蜜桃91精品| 国产午夜三级一区二区三| 欧美视频中文一区二区三区在线观看| 蜜桃视频一区二区三区在线观看| 国产欧美日韩中文久久| 欧美日韩dvd在线观看| 国产成人免费av在线| 丝袜a∨在线一区二区三区不卡| 久久天堂av综合合色蜜桃网| 欧美在线你懂的| 成人在线综合网| 老司机精品视频线观看86 | 99免费精品在线| 国产真实乱对白精彩久久| 亚洲婷婷国产精品电影人久久| 欧美日韩一区 二区 三区 久久精品| 久久精品国产一区二区三区免费看| 亚洲成人精品一区二区| 亚洲欧美另类久久久精品2019| 精品久久久久久综合日本欧美| 欧美亚洲日本一区| 色综合av在线| 99精品黄色片免费大全| 国产成人午夜电影网| 激情文学综合插| 奇米888四色在线精品| 亚洲无线码一区二区三区| 国产欧美精品在线观看| 国产亚洲成aⅴ人片在线观看 | 99综合影院在线| 国产白丝网站精品污在线入口| 麻豆成人久久精品二区三区红| 亚洲综合在线观看视频| 亚洲人123区| 亚洲欧美欧美一区二区三区| 欧美成人精品二区三区99精品| 欧美一区二区三区视频在线观看| 在线视频你懂得一区二区三区| 91丨九色丨国产丨porny| av亚洲产国偷v产偷v自拍| 91色婷婷久久久久合中文| 成人av综合一区| 91免费在线播放| 日本道免费精品一区二区三区| 国产99久久久精品| 欧美丝袜丝nylons| 欧美高清hd18日本| 5858s免费视频成人| 日韩欧美不卡一区| 中文字幕欧美激情一区| 国产精品传媒在线| 亚洲一区二区三区影院| 日韩电影一区二区三区四区| 亚洲高清视频中文字幕| 韩国中文字幕2020精品| 高潮精品一区videoshd| 99久久精品国产毛片| 91国偷自产一区二区开放时间| 欧美日韩二区三区| 久久中文娱乐网| 亚洲欧美日韩国产手机在线| 亚洲第一久久影院| 国产麻豆视频一区|