<track id="5mvoh"><span id="5mvoh"><td id="5mvoh"></td></span></track>
        <track id="5mvoh"><nobr id="5mvoh"></nobr></track>
        <menuitem id="5mvoh"></menuitem>
      1. <menuitem id="5mvoh"><strong id="5mvoh"></strong></menuitem>
      2. DONSEE東信智能 - 身份證社??ㄗx卡智能終端應用服務商

        eastcoms@qq.com
        400-6722-705
        首頁 > 服務支持專區 > 產品支持 > SDK開發包和軟件下載

        EST-100/EST-100GS/EST-J13X系列國產操作系統開發包(麒麟KylinOS、統信UOS等)

        來源:www.tfjj1688.com   標簽:麒麟 KylinOS 統信 UOS 國產系統 Linux   發布時間: 2023-3-17 14:23:33

        廣東東信智能科技有限公司DONSEE系列產品

        廣東東信智能科技有限公司DONSEE系列多功能身份證社??ㄗx卡器國產操作系統Linux開發包(麒麟KylinOS、統信UOS等),支持  EST-100、EST-100GS、EST-100M(HID)、EST-J13X、EST-100G、EST-100R等機型,功能包括身份證信息讀取、社??ㄐ畔⒆x取、IC卡、CPU卡讀取,僅供開發人員和測試人員使用。


        國產系統開發包下載地址:

        DONSEE SDK for 國產系統(麒麟、統信)(20240402)

        DONSEE SDK for 國產系統Web開發包下載(20240325)

        OpenHarmony鴻蒙系統開發包下載(V1.0.2)


        更早版本:

        DONSEE SDK for 國產系統(麒麟、統信)(20240325)

        DONSEE SDK for 國產系統(麒麟、統信)(20231024)

        DONSEE SDK for 國產系統(麒麟、統信)(20230826)

        DONSEE SDK for 國產系統(麒麟、統信)

        DONSEE SDK for 國產系統Web開發包下載

        國產系統麒麟測試效果

        國產操作系統統信測試效果

        麒麟國產系統網頁測試截圖

        統信國產系統網頁測試截圖

        為更好的推廣信創適配產品認證,廣東東信智能科技有限公司EST-100、EST-100GS、EST-100R、EST-J13X等機型已完成國產系統麒麟KylinOS、統信UOS的適配認證。

        EST-100多功能智能卡讀寫器-統信互認證書.jpg

        EST-J13X多功能智能卡讀寫器模組國產系統麒麟系統認證.jpg

        #include "donsee.h"

        int main()

        {

        long t_nHandle = -99;

        int i = 0;

        char pszError[128];

        unsigned char Response[1024] = {0};

        long t_nRe;

        printf("********************************************************\n");

        printf("請輸入數字選擇需要測試的功能:\n");

        printf("0、測試蜂鳴器和版本號\n");

        printf("1、測試 身份證\n");

        printf("2、測試 社??╘n");

        printf("3、測試 M1 卡\n");

        printf("4、測試 非接觸CPU卡\n");

        printf("5、測試 銀行卡\n");

        printf("6、測試 15693卡\n");

        printf("7、測試 接觸CPU卡\n");

        printf("8、測試 磁條卡\n");

        printf("9、測試 4442卡\n");

        printf("10、測試 北京通卡\n");

        printf("11、關閉射頻天線\n");

        printf("********************************************************\n");

        int t_nIndex;

        scanf("%d", &t_nIndex);

        if (t_nIndex == 0) //測試版本號和蜂鳴器

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        t_nRe = Donsee_Version(Response);

        printf("設備版本號:%s\n", Response);

        Donsee_Beep(t_nHandle, 0x16);

        Donsee_Close();

        }

        if (t_nIndex == 1) //測試身份證

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        memset(Response, 0, 1024);

        // t_nRe = Donsee_ReadIDCardUid(Response);   //身份證Uid,有需要的可以這里獲取

        // printf("Donsee_ReadIDCardUid返回:%s\n", Response);

        IDINFO idInfo;

        char t_arrMsg[256];

        // nType [in]:設置身份證讀卡類型:0,文本信息;1,文本+照片;2,文本+照片+指紋

        // nMode [in]:設置讀卡模式:0,讀卡1次、拿開后放上重讀;1,連續讀卡

        int nType = 1;

        int nMode = 1;

        memset(&idInfo, 0, sizeof(IDINFO));

        char t_szPath[256] = "IDPhoto.bmp";

        // char t_szPath[256] = "";

        // char t_szPath[256] = NULL;

        t_nRe = Donsee_ReadIDCard(nType, nMode, t_szPath, &idInfo, t_arrMsg);

        if (t_nRe != 0)

        {

        printf("讀身份證失敗\n");

        Donsee_Close();

        return -2;

        }

        else

        {

        Donsee_Beep(t_nHandle, 0x16);

        printf("讀身份證成功\n");

        printf(("中文姓名:%s\n"), idInfo.name);

        printf(("英文姓名:%s\n"), idInfo.ENfullname);

        printf(("性    別:%s\n"), idInfo.sex);

        printf(("民    族:%s\n"), idInfo.people);

        printf(("出身日期:%s\n"), idInfo.birthday);

        printf(("住    址:%s\n"), idInfo.address);

        printf(("身份證號:%s\n"), idInfo.number);

        printf(("簽發機關:%s\n"), idInfo.organs);

        printf(("有效期開始:%s\n"), idInfo.signdate);

        printf(("有效期結束:%s\n"), idInfo.validterm);

        printf(("證件類別:%s\n"), idInfo.certType);

        printf(("證件版本:%s\n"), idInfo.certVersion);

        printf(("通行證號:%s\n"), idInfo.passNu);

        printf(("簽發數次:%s\n"), idInfo.signCount);

        // printf(("照片文件名:%s\n"), t_cValue);

        // printf("1024相片原始數據:\n");

        // int i ;

        // for ( i = 0; i < 1024; i++)

        //{

        //printf("%02X ", idInfo.Photo[i]);

        //}

        // printf("\n");

        // if (nType == 2)

        //{

        //printf("1024指紋數據:\n");

        //for ( i = 0; i < 1024; i++)

        //{

        //;//printf("%02X ", (unsigned char)idInfo.figData[i]);

        //}

        // }

        Donsee_Close();

        }

        }

        if (t_nIndex == 2) //測試社???,三代社??ㄐ枰狿sam秘鑰才能讀取,二代卡不需要(只能插卡讀?。?/p>

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        SSCard_IDINFO cardInfo;

        memset(&cardInfo, 0, sizeof(cardInfo));

        long t_nRead = Donsee_ReadSSCard(0x11, &cardInfo, pszError);

        if (t_nRead != 0)

        {

        printf("讀社??ㄊ?MSG:%s\n", pszError);

        Donsee_Close();

        return -2;

        }

        else

        {

        Donsee_Beep(t_nHandle, 0x16);

        printf("讀社??ǔ晒n");

        printf("姓名:%s\n", cardInfo.name);

        printf("性別:%s\n", cardInfo.sex);

        printf("民族:%s\n", cardInfo.nation);

        printf("出生日期:%s\n", cardInfo.birthday);

        printf("發證日期:%s\n", cardInfo.signdate);

        printf("有效日期:%s\n", cardInfo.validterm);

        printf("卡號:%s\n", cardInfo.cardnumber);

        printf("社會保障號碼(身份證號):%s\n", cardInfo.idnumber);

        printf("城市代碼:%s\n", cardInfo.city);

        printf("社??ò姹?%s\n", cardInfo.cardveVrsion);

        Donsee_Close();

        }

        }

        if (t_nIndex == 3) //測試M1卡

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        char t_chMsgM1[256] = "";

        // t_nRe = Donsee_ReadICUid(t_chMsgM1);  //功能未實現

        // if (t_nRe == 0)

        //{

        //printf("M1 卡 獲取UID成功,UID:%s\n", t_chMsgM1);

        // }

        // M1尋卡

        t_nRe = Donsee_ICRequest();

        if (t_nRe != 0)

        {

        printf("M1 卡片請求 失敗,返回值:%ld\n", t_nRe);

        }

        t_nRe = Donsee_ICAnticoll(t_chMsgM1); //防碰撞可以出來uid,M1和cpu卡都支持

        if (t_nRe != 0)

        {

        printf("M1 卡片防碰撞 失敗,返回值:%ld\n", t_nRe);

        }

        t_nRe = Donsee_ICSelect(0x41);

        if (t_nRe != 0)

        {

        printf("TypeA 卡片選擇 失敗,返回值:%ld\n", t_nRe);

        }

        printf("M1 尋卡成功");

        printf("M1 卡 獲取UID成功,UID:%s\n", t_chMsgM1);

        int t_nKeyMode = 0x60; // KeyA

        int t_nAdd = 5;

        t_nRe = Donsee_M1VerifyPass(t_nKeyMode, t_nAdd / 4, "FFFFFFFFFFFF");

        if (t_nRe != 0)

        {

        printf("M1 卡片 Donsee_M1VerifyPass 密鑰認證 失敗,返回值:%ld", t_nRe);

        }

        else

        printf("M1 卡 Donsee_M1VerifyPass 密鑰認證 成功\n");

        unsigned char t_chKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

        t_nRe = Donsee_M1VerifyPassHex(t_nKeyMode, t_nAdd / 4, t_chKey);

        if (t_nRe != 0)

        {

        printf("M1 卡片 Donsee_M1VerifyPassHex 密鑰認證 失敗,返回值:%ld", t_nRe);

        }

        else

        printf("M1 卡 Donsee_M1VerifyPassHex 密鑰認證 成功\n");

        char t_pszReadData[128] = "";

        t_nRe = Donsee_M1Read(t_nAdd, t_pszReadData);

        if (t_nRe != 0)

        {

        printf("M1 卡片讀卡 失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("M1 卡 讀取第 %d 塊數據 成功,Data:%s\n", t_nAdd, t_pszReadData);


        t_nRe = Donsee_M1Write(t_nAdd, "0102030405060708090001020304050A");

        if (t_nRe != 0)

        {

        printf("M1 卡片寫卡 失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("M1 卡 寫入第 %d 塊數據: 0102030405060708090001020304050A, 成功\n", t_nAdd);

        memset(t_pszReadData, 0, 128);

        t_nRe = Donsee_M1Read(t_nAdd, t_pszReadData);

        if (t_nRe != 0)

        {

        printf("M1 卡片讀卡 失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("M1 卡 讀取第 %d 塊數據 成功,Data:%s\n", t_nAdd, t_pszReadData);


        unsigned long t_nValue = 256;

        t_nRe = Donsee_M1Initval(t_nAdd, t_nValue);

        if (t_nRe != 0)

        {

        printf("M1 卡片初始化值 失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("M1 卡 卡片初始化第 %d 塊 值  成功\n", t_nAdd);

        t_nRe = Donsee_M1Increment(t_nAdd, 100);

        if (t_nRe != 0)

        {

        printf("M1 卡片增值 失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("M1 卡 卡片增值 第 %d 塊  成功\n", t_nAdd);

        t_nRe = Donsee_M1Decrement(t_nAdd, 20);

        if (t_nRe != 0)

        {

        printf("M1 卡片減值 失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("M1 卡 卡片減值第 %d 塊 成功\n", t_nAdd);


        t_nRe = Donsee_M1Readval(t_nAdd, &t_nValue);

        if (t_nRe != 0)

        {

        printf("M1 卡片讀值 失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("M1 卡 卡片讀值 %d 塊   成功,Value = %ld\n", t_nAdd, t_nValue);

        t_nRe = Donsee_M1LoadKey(t_nKeyMode, t_nAdd / 4, "FFFFFFFFFFFF");

        if (t_nRe != 0)

        {

        printf("M1 卡片加載密鑰 失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("M1 卡 卡片加載到密鑰 第%d扇區   成功\n", t_nAdd / 4);

        t_nRe = Donsee_M1Verify(t_nKeyMode, t_nAdd / 4);

        if (t_nRe != 0)

        {

        printf("M1 卡片認證加載密鑰 第%d扇區 失敗,返回值:%ld\n", t_nAdd / 4, t_nRe);

        }

        else

        printf("M1 卡 卡片認證加載密鑰 第%d扇區   成功\n", t_nAdd / 4);

        Donsee_Beep(t_nHandle, 0x16);

        Donsee_Close();

        }

        if (t_nIndex == 4) //測試非接觸式CPU卡

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        char t_arrDataRe[32] = {0};

        char t_arrDataUID[8] = {0};

        long t_nSet = Donsee_SetTypeA();

        if (t_nSet != 0)

        {

        printf("TypeA 設置失敗\n") ;

        Donsee_Close() ;

        return false;

        }

        long t_nReq = Donsee_ICRequest();

        {

        printf("TypeA 請求失敗\n") ;

        Donsee_Close() ;

        return false;

        }

        long t_nAtl = Donsee_ICAnticoll(t_arrDataUID);

        {

        printf("TypeA 防碰撞失敗\n") ;

        Donsee_Close() ;

        return false;

        }

        printf("TypeA_Anticoll:%s\n", t_arrDataUID);


        long t_nSel = Donsee_ICSelect(0x41);

        {

        printf("TypeA 選卡失敗\n") ;

        Donsee_Close() ;

        return false;

        }

        t_nRe = Donsee_PowerOnTypeA(t_arrDataRe);

        {

        printf("TypeA 上電失敗") ;

        Donsee_Close() ;

        return false;

        }

        printf("TypeA_ATR:%s\n", t_arrDataRe);

        memset(Response, 0, 1024);

        printf("TypeA-APDU發送:0084000008\n");

        t_nRe = Donsee_APDUType("0084000008", Response);

        printf("TypeA-APDU返回:%s\n", Response);

        Donsee_Beep(t_nHandle, 0x16);

        Donsee_Close();

        }

        if (t_nIndex == 5) //測試銀行卡

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        char t_szBankNo[128] = "";

        char *p, *q;

        unsigned char tmp;

        t_nRe = Donsee_GetBankCardNo(t_szBankNo);

        if (t_nRe != 0)

        printf("讀取銀行卡號失敗\n");

        else

        {

        tmp = (unsigned char)(strchr(t_szBankNo, 'D') - t_szBankNo);

        q = (tmp > 0) ? strndup(t_szBankNo, tmp) : strdup(t_szBankNo);

        printf("讀取銀行卡號成功:%s\n", q);

        Donsee_Beep(t_nHandle, 0x16);

        }

        Donsee_Close();

        }

        if (t_nIndex == 6) //測試15693卡

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        char t_chMsg15693[256] = "";

        t_nRe = Donsee_15693_Find(t_chMsg15693);

        if (t_nRe != 0)

        {

        printf("15693 尋卡失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("15693 尋卡成功,UID:%s\n", t_chMsg15693);


        t_nRe = Donsee_15693_Info(t_chMsg15693);

        if (t_nRe != 0)

        {

        printf("15693 卡信息獲取失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("15693 卡信息獲取成功,CardInfo:%s\n", t_chMsg15693);

        unsigned char t_nBlkAdd = 0x00;

        memset(t_chMsg15693, 0, 256);

        t_nRe = Donsee_15693_Read(t_nBlkAdd, t_chMsg15693);

        if (t_nRe != 0)

        {

        printf("15693 卡讀卡失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("15693 卡讀卡成功,Data:%s\n", t_chMsg15693);


        t_nRe = Donsee_15693_Write(t_nBlkAdd, "88898685");

        if (t_nRe != 0)

        {

        printf("15693 卡寫卡失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("15693 卡寫卡成功,Data:88898685\n");


        memset(t_chMsg15693, 0, 256);

        t_nRe = Donsee_15693_Read(t_nBlkAdd, t_chMsg15693);

        if (t_nRe != 0)

        {

        printf("15693 卡讀卡失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("15693 卡讀卡成功,Data:%s\n", t_chMsg15693);

        Donsee_Beep(t_nHandle, 0x16);

        Donsee_Close();

        }

        if (t_nIndex == 7) //測試接觸式CPU卡

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        memset(Response, 0, 1024);

        t_nRe = Donsee_ColdPowerOn(0x01, Response);

        printf("cpu冷復位:%s\n", Response);

        memset(Response, 0, 1024);

        t_nRe = Donsee_HotPowerOn(0x01, Response);

        printf("cpu熱復位:%s\n", Response);

        memset(Response, 0, 1024);

        t_nRe = Donsee_PowerOn(0x01, Response);

        printf("cpu復位:%s\n", Response);

        memset(Response, 0, 1024);

        printf("cpu-APDU發送:0084000008\n");

        t_nRe = Donsee_APDU(0x01, "0084000008", Response);

        printf("cpu-APDU返回:%s\n", Response);

        Donsee_Beep(t_nHandle, 0x16);

        Donsee_Close();

        }

        if (t_nIndex == 8) //測試磁條卡

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        unsigned char t_nTime = 15;

        int t_nTrack = 2;

        char t_pszTrackData[512] = "";

        t_nRe = Donsee_ReadMagCard(t_nTime, t_nTrack, t_pszTrackData);

        if (t_nRe != 0)

        {

        printf("磁條卡刷卡失敗,返回值:%ld\n", t_nRe);

        }

        else

        printf("磁條卡刷卡成功,TrackData:%s\n", t_pszTrackData);

        //設置主動輸出

        unsigned char szConfig[3] = {0x02, 0x00, 0x01};

        // t_nRe = Donsee_ReadMagType(0x00,szConfig) ;

        // if (t_nRe != 0)

        // printf("磁條卡設置主動輸出失敗,返回值:%ld\n", t_nRe);

        // else

        // printf("磁條卡設置主動輸出成功\n");

        //設置被動輸出

        // t_nRe = Donsee_ReadMagType(0x01,szConfig) ;

        // if (t_nRe != 0)

        // printf("磁條卡設置被動輸出失敗,返回值:%ld\n", t_nRe);

        // else

        // printf("磁條卡設置被動輸出成功\n");

        Donsee_Beep(t_nHandle, 0x16);

        Donsee_Close();

        }

        if (t_nIndex == 9) //測試4442卡

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        char t_chMsg4442[256] = "";

        t_nRe = Donsee_4442_PowerOn(t_chMsg4442);

        if (t_nRe == 0)

        {

        printf("4442 卡 上電成功,UID:%s\n", t_chMsg4442);

        }

        int t_nCount;

        t_nRe = Donsee_4442_ReadCount(&t_nCount);

        if (t_nRe == 0)

        {

        printf("4442 卡 密鑰認證剩余次數:%d次\n", t_nCount);

        }

        memset(t_chMsg4442, 0, 256);

        t_nRe = Donsee_4442_Read(32, 16, t_chMsg4442);

        if (t_nRe == 0)

        {

        printf("4442 卡 讀卡成功,Data:%s\n", t_chMsg4442);

        }

        t_nRe = Donsee_4442_Verify("FFFFFF");

        if (t_nRe == 0)

        {

        printf("4442 卡 密鑰認證成功\n");

        }

        t_nRe = Donsee_4442_Write(32, 16, "AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD");

        if (t_nRe == 0)

        {

        printf("4442 卡 寫卡成功,Data:AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD\n");

        }


        t_nRe = Donsee_4442_Read(32, 16, t_chMsg4442);

        if (t_nRe == 0)

        {

        printf("4442 卡 讀卡成功,Data:%s\n", t_chMsg4442);

        }

        t_nRe = Donsee_4442_WriteProtect(0, 16, "AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD");

        if (t_nRe == 0)

        {

        printf("4442 卡 寫卡保護成功,Data:AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDD\n");

        }


        t_nRe = Donsee_4442_ReadProtect(0, 16, t_chMsg4442);

        if (t_nRe == 0)

        {

        printf("4442 卡 讀卡保護成功,Data:%s\n", t_chMsg4442);

        }

        t_nRe = Donsee_4442_PowerOff();

        if (t_nRe == 0)

        {

        printf("4442 卡 下電成功\n");

        }

        Donsee_Beep(t_nHandle, 0x16);

        Donsee_Close();

        }

        if (t_nIndex == 10) //測試北京通卡

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        BJT_IDINFO idInfo;

        char t_arrMsg[256];

        memset(&idInfo, 0, sizeof(BJT_IDINFO));

        t_nRe = Donsee_ReadBJTIDCard(&idInfo, t_arrMsg);

        if (t_nRe != 0)

        {

        printf("讀取北京通失敗\n");

        Donsee_Close();

        return -2;

        }

        else

        Donsee_Beep(t_nHandle, 0x16);

        printf("讀取北京通成功\n");

        printf(("姓名:%s\n"), idInfo.name);

        printf(("性 別:%s\n"), idInfo.sex);

        printf(("北京通號:%s\n"), idInfo.cardnumber);

        printf(("卡片類型:%s\n"), idInfo.nType);

        printf(("證件名稱:%s\n"), idInfo.cardName);

        printf(("發卡機構:%s\n"), idInfo.organs);

        t_nRe = Donsee_ReadBJTIDCard_Photo("./bjt.jpg", t_arrMsg);

        if (t_nRe != 0)

        {

        printf("讀取北京通頭像失敗\n");

        Donsee_Close();

        return -2;

        }

        else

        printf("讀取北京通頭像成功\n");

        Donsee_Close();

        }

        if (t_nIndex == 11) //關閉射頻天線

        {

        t_nHandle = Donsee_Open("USB");

        if (t_nHandle != 0)

        {

        printf("連接讀卡器失敗,t_nRe = %ld\n", t_nHandle);

        return -1;

        }

        Donsee_SwitchRF(0); // 0 關閉天線,1 打開天線

        Donsee_Close();

        }

        }


        以下為老的SDK保留備份使用:

        DONSEE SDK for 麒麟KylinOS下載(舊SDK)

        DONSEE SDK for 統信UOS下載(舊SDK)





         

         
        QQ在線咨詢
        国产小视频a在线观看,久久精品国产一区无码,91久久香蕉国产熟女线看,F91麻豆国产福利精品
        <track id="5mvoh"><span id="5mvoh"><td id="5mvoh"></td></span></track>
            <track id="5mvoh"><nobr id="5mvoh"></nobr></track>
            <menuitem id="5mvoh"></menuitem>
          1. <menuitem id="5mvoh"><strong id="5mvoh"></strong></menuitem>