閑聊sdk接入說(shuō)明_第1頁(yè)
閑聊sdk接入說(shuō)明_第2頁(yè)
閑聊sdk接入說(shuō)明_第3頁(yè)
閑聊sdk接入說(shuō)明_第4頁(yè)
閑聊sdk接入說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、閑聊SDK接入以下是游戲需求(Ctrl點(diǎn)擊進(jìn)入超鏈接):游戲場(chǎng)景圖需求補(bǔ)充:游戲頭像以及昵稱(chēng)按照最先點(diǎn)擊登錄的類(lèi)型處理,即先點(diǎn)擊哪種登錄方式,就以該種登錄方式顯示。以下是閑聊給出的文檔:閑聊安卓開(kāi)發(fā)文檔閑聊IOS開(kāi)發(fā)文檔閑聊server開(kāi)發(fā)文檔以下是閑聊給出的demo(在開(kāi)發(fā)過(guò)程中閑聊有更換sdk,所以他們的demo僅做參考):安卓_demoIOS_demo由于閑聊功能的開(kāi)發(fā)周期較長(zhǎng),而閑聊所給的文檔為最早期文檔,期間閑聊方對(duì)sdk有更新而文檔未做更新,所以這些文檔建議當(dāng)作參考。以下是河南麻將項(xiàng)目接入文檔(并未完全按照閑聊所給文檔接入):一、安卓篇1.在Eclipse內(nèi)導(dǎo)入sugramsdk.

2、jar。2. 在android項(xiàng)目?jī)?nèi)添加SGEntryActivity.java(位置為:henmjandroidsrccomhappyplayhnmjsgapi)3. 在android項(xiàng)目?jī)?nèi)添加MyHttpClient.java、SSLSocketFactoryEx.java、XianLiaoActivity.java三個(gè)文件(位置為:henmjandroidsrcorgcocos2dxjavascript)4. 在android項(xiàng)目?jī)?nèi)修改AppActivity.java1) .添加以下內(nèi)容/xianliaoimport org.sugram.im.sdk.api.ISGAPI;import

3、 org.sugram.im.sdk.api.SGAPIFactory;import org.sugram.im.sdk.constants.SGConstants;import org.sugram.im.sdk.modelmsg.SGGameObject;import org.sugram.im.sdk.modelmsg.SGImageObject;import org.sugram.im.sdk.modelmsg.SGMediaMessage;import org.sugram.im.sdk.modelmsg.SGTextObject;import org.sugram.im.sdk.m

4、odelmsg.SendMessageToSG;2) .在AppActivity里添加public class AppActivity extends Cocos2dxActivity ./ xianliaopublic ISGAPI sgApi;public static String XL_AppID = "xxxxxxxxxx閑聊審核獲得xxxxxxxxxx"public static String XL_AppSecret = "xxxxxxxx閑聊審核獲得xxxxxxxxxx"public String xlInviteGameInfo = &

5、quot;".3) .在onCreate函數(shù)內(nèi)添加public void onCreate(Bundle savedInstanceState) .xianLiaoInit();閑聊初始化/get intent data from XianLiaoActivity獲取XianLiaoActivity傳遞過(guò)來(lái)的intentBundle bundle = getIntent().getExtras();if(bundle != null)String msg =bundle.getString("XL_InviteGameInfo");xlInviteGameInfo

6、 = msg;Log.i("getIntent","getIntent_XL_InviteGameInfo:"+msg);.try .this.writeFileData("xianliao.txt", "has xianliao"); catch (IOException e) .4) .添加函數(shù)RunJS_obj/param是 對(duì)象的public void RunJS_obj(String name, String param) Cocos2dxHelper.runOnGLThread(new Runnable

7、() String js; String para; Override public void run() / TODO Auto-generated method stubString command = "cc.eventManager.dispatchCustomEvent('" + js + "'," + para + ")"傳遞類(lèi)型和”類(lèi)型時(shí)結(jié)構(gòu)不同 org.cocos2dx.lib.Cocos2dxJavascriptJavaBridge.evalString(command); public Runnab

8、le setjs(String js, String pa) this.js = js; this.para = pa; return this; ).setjs(name, param);5).添加函數(shù)xianLiaoInitpublic void xianLiaoInit() / 通過(guò) SGAPIFactory 工廠,獲取 ISGAPI 實(shí) sgApi = SGAPIFactory.createSGAPI(this, XL_AppID); sgApi.registerApp(XL_AppID);6) .修改微信登錄函數(shù)wxLogin把 SendAuth.Req req = new Send

9、Auth.Req(); 改為 com.tencent.mm.sdk.modelmsg.SendAuth.Req req = new com.tencent.mm.sdk.modelmsg.SendAuth.Req();防止代碼沖突7) .添加函數(shù)xianLiaoLoginpublic void xianLiaoLogin() if(isXLInstall()org.sugram.im.sdk.modelmsg.SendAuth.Req req = new org.sugram.im.sdk.modelmsg.SendAuth.Req();防止代碼沖突req.state = "none

10、"sgApi.sendReq(req);8) .添加函數(shù)isXLInstall/判斷閑聊是否安裝public boolean isXLInstall()boolean haveXL = sgApi.isSGAppInstalled();if(haveXL)return true;elsedoWithoutXLApp();return false;9) .添加函數(shù)doWithoutXLApp/have no xl apppublic void doWithoutXLApp()Log.i("xianliao","doWithoutXLApp");I

11、ntent viewIntent = new Intent("ent.action.VIEW",Uri.parse("startActivity(viewIntent);10) .添加函數(shù)xlShareText閑聊分享文本public void xlShareText(String text) if(isXLInstall()/ 初始化一個(gè) SGTextObject 對(duì)象,填寫(xiě)分享的文本內(nèi)容SGTextObject textObject = new SGTextObject();textObject.text = text;/ 用 SGTex

12、tObject 對(duì)象初始化一個(gè) SGMediaMessage 對(duì)象SGMediaMessage msg = new SGMediaMessage();msg.mediaObject = textObject;/ 構(gòu)造一個(gè) ReqSendMessageToSG.Req req = new SendMessageToSG.Req();req.transaction = SGConstants.T_TEXT;/ 分享文本req.mediaMessage = msg;req.scene = SendMessageToSG.Req.SGSceneSession; / 代表分享到會(huì)話表/ 調(diào)用 api 接

13、口發(fā)送數(shù)據(jù)到閑聊sgApi.sendReq(req);11) .添加函數(shù)xlShareInviteGame閑聊邀請(qǐng)游戲public void xlShareInviteGame(String roomId, String roomToken,String title, String description) if(isXLInstall()Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.icon);/ 初始化一個(gè) SGGameObject 對(duì)象,設(shè)置所分享的游戲圖片內(nèi)容SGGameObject gam

14、eObject = new SGGameObject(bitmap);gameObject.roomId = roomId;gameObject.roomToken = roomToken;/ 用 SGGameObject 對(duì)象初始化一個(gè) SGMediaMessage 對(duì)象SGMediaMessage msg = new SGMediaMessage();msg.mediaObject = gameObject;msg.title = title;msg.description = description;/ 構(gòu)造一個(gè) ReqSendMessageToSG.Req req = new Send

15、MessageToSG.Req();req.transaction = SGConstants.T_GAME;req.mediaMessage = msg;req.scene = SendMessageToSG.Req.SGSceneSession; / 代表分享到會(huì)話表/ 調(diào)用 api 接口發(fā)送數(shù)據(jù)到閑聊sgApi.sendReq(req);12) .添加函數(shù)xlShareTexture閑聊分享圖片 public void xlShareTexture(String path) if(isXLInstall() Bitmap bitmap = BitmapFactory.decodeFile

16、(path); / 初始化一個(gè)SGImageObject對(duì)象,設(shè)置所分享的圖片內(nèi)容 SGImageObject imageObject = new SGImageObject(Bitmap.createScaledBitmap(bitmap,1000,(int) (bitmap.getHeight() / (bitmap.getWidth() / 1000f),true); / 用SGImageObject對(duì)象初始化一個(gè)SGMediaMessage對(duì)象 SGMediaMessage msg = new SGMediaMessage(); msg.mediaObject = imageObjec

17、t; / 構(gòu)造一個(gè)Req SendMessageToSG.Req req = new SendMessageToSG.Req(); req.transaction = SGConstants.T_IMAGE; req.mediaMessage = msg; req.scene = SendMessageToSG.Req.SGSceneSession; / 代表分享到會(huì)話列表 / 調(diào)用api接口發(fā)送數(shù)據(jù)到Sugram sgApi.sendReq(req); 13) .添加函數(shù)GetXLInviteGameInfo獲取閑聊發(fā)送過(guò)來(lái)的邀請(qǐng)信息public void GetXLInviteGameIn

18、fo()String rtn_msg = xlInviteGameInfo;if(rtn_msg != "")RunJS_obj("XL_InviteGameInfo",rtn_msg);xlInviteGameInfo = ""14) .添加函數(shù)StartXianLiaoLoginJs調(diào)用閑聊登錄public static void StartXianLiaoLogin() if (ccActivity != null) ccActivity.xianLiaoLogin();15) .添加函數(shù)StartShareTextToXLJs

19、調(diào)用閑聊分享文本public static void StartShareTextToXL(String path) if (ccActivity != null) ccActivity.xlShareText(path);16) .添加函數(shù)StartShareInviteGameToXLJs調(diào)用閑聊分享游戲邀請(qǐng)public static void StartShareInviteGameToXL(String roomId,String roomToken, String title, String description) if (ccActivity != null) ccActivit

20、y.xlShareInviteGame(roomId, roomToken, title, description);17) .添加函數(shù)StartShareTextureToXLJs調(diào)用閑聊分享圖片public static void StartShareTextureToXL(String path) if (ccActivity != null) ccActivity.xlShareTexture(path);18) .添加函數(shù)xlGetInviteGameInfoJs調(diào)用獲取閑聊的邀請(qǐng)信息public static void xlGetInviteGameInfo()if (ccActi

21、vity != null) ccActivity.GetXLInviteGameInfo();19) .在AndroidManifest.xml中添加<!- xianliao -><activity android:name="org.cocos2dx.javascript.XianLiaoActivity" android:screenOrientation="sensorLandscape" android:configChanges="orientation" android:theme="andro

22、id:style/Theme.NoTitleBar.Fullscreen"><intent-filter><action android:name="ent.action.VIEW" /><category android:name="ent.category.DEFAULT"/><category android:name="ent.category.BROWSABLE"/><data androi

23、d:scheme="paraches"android:host="xianliao*閑聊審核獲得的APPID*"/>內(nèi)容為xianliao+從閑聊獲取的APPID</intent-filter></activity><activity android:name="com.happyplay.hnmj.sgapi.SGEntryActivity改成自己項(xiàng)目的" android:exported="true"></activity>二、JS篇1. 在app.js中修

24、改函數(shù)jsclient.logout,在函數(shù)中添加以下內(nèi)容jsclient.logout = function () if (jsclient.remoteCfg.httpLogin) sys.localStorage.removeItem("WX_USER_LOGIN");sys.localStorage.removeItem("XL_USER_LOGIN");sys.localStorage.removeItem("LoginType");sys.localStorage.removeItem("loginData&qu

25、ot;);sendEvent("logout");else jsclient.block();jsclient.gamenet.request("pkcon.handler.logout", ,function () sys.localStorage.removeItem("WX_USER_LOGIN");sys.localStorage.removeItem("XL_USER_LOGIN");sys.localStorage.removeItem("LoginType");sys.localS

26、torage.removeItem("loginData");sendEvent("logout");jsclient.unblock(););2. 在app.js中添加函數(shù)getWXunionid獲取微信的unionid,用來(lái)和閑聊綁定jsclient.getWXunionid = function () var unionid = ""var WX_USER_LOGIN = sys.localStorage.getItem("WX_USER_LOGIN");if(WX_USER_LOGIN)WX_USER_LO

27、GIN = JSON.parse(WX_USER_LOGIN);unionid = WX_USER_LOGIN.unionid;return unionid;3. 在app.js中添加函數(shù)operateFirstLoginType查詢 存儲(chǔ)第一次登陸的登錄方式(微信、閑聊)jsclient.operateFirstLoginType = function (type) if(!type)var loginType = sys.localStorage.getItem("LoginType");if(loginType)return loginType;else if(typ

28、e) sys.localStorage.setItem("LoginType", type);return type;elsereturn null;4. 在app.js中添加函數(shù)doInviteGameInfo收到游戲邀請(qǐng)信息后的操作jsclient.doInviteGameInfo = function (para) if(!para)return;/玩家還未登陸if (jsclient.loginui) jsclient.showMsgDelay(0.2,"請(qǐng)先登陸游戲后再次點(diǎn)擊游戲約局信息!");/玩家已經(jīng)登錄-未在房間內(nèi)else if (!js

29、client.data.sData) jsclient.joinGame(para.roomId, para.roomToken.gameType);/玩家已經(jīng)登錄-在房間內(nèi)else if (jsclient.data.sData) var sData = jsclient.data.sData;var tData = sData.tData;var xl_type = para.roomToken.gameType;var xl_roomid = para.roomId;var pp_type = sData.gameid;var pp_roomid = tData.tableid;if(x

30、l_type!=pp_type | xl_roomid!=pp_roomid)jsclient.showMsgDelay(0.2, "您現(xiàn)在已經(jīng)在游戲中,請(qǐng)先退出當(dāng)前房間后再次點(diǎn)擊游戲約局信息!");5. 在app.js中添加函數(shù)xlCheckAndShare檢查是否進(jìn)行了閑聊授權(quán)并進(jìn)行分享jsclient.xlCheckAndShare = function () /檢查是否進(jìn)行過(guò)閑聊授權(quán)(此處為第二處可以關(guān)聯(lián)微信、閑聊、皮皮賬號(hào)的地方),如果沒(méi)有就進(jìn)行閑聊授權(quán)登錄var XL_USER_LOGIN = sys.localStorage.getItem("XL_

31、USER_LOGIN");if(!XL_USER_LOGIN)if (jsclient.native)jsclient.native.xlLogin();return;/進(jìn)行函數(shù)調(diào)用if(jsclient.xianLiaoPara)var para = jsclient.xianLiaoPara;if(para.type = XianLiaoType.text)/文本var text = para.text;jsclient.native.xlShareText(text);else if(para.type = XianLiaoType.image)/圖片jsclient.nati

32、ve.xlShareImage();else /游戲邀請(qǐng)var roomId = para.roomId;var roomToken = para.roomToken;var title = para.title;var description = para.description;jsclient.native.xlInviteGame(roomId,roomToken,title,description);6. 在app.js中添加函數(shù)showMsgDelay延時(shí)顯示showMsg界面,因?yàn)楫?dāng)游戲在后臺(tái)時(shí),調(diào)用界面會(huì)缺失紋理,暫時(shí)沒(méi)有找到別的解決辦法,只能用這種辦法處理,哪位同志學(xué)如果有好

33、的方法請(qǐng)指教指教,多謝!jsclient.showMsgDelay = function (delay, msg, yesfunc, nofunc, style) if (jsclient.Scene) jsclient.Scene.scheduleOnce(function () jsclient.showMsg(msg, yesfunc, nofunc, style);,delay);7. 在app.js中的CallBack中的initSceneData消息中添加xlGetInviteGameInfo的函數(shù)調(diào)用使用閑聊拉起游戲后需要檢測(cè)三次游戲邀請(qǐng)信息,此處為創(chuàng)建房間后的檢測(cè) initSc

34、eneData: 0, function (d) . if (d.tData.roundNum <= -2) . else .jsclient.native.xlGetInviteGameInfo();這里檢測(cè)邀請(qǐng)信息 ,8. 在app.js中的JSScene的jsBind中的loginOK消息中添加xlGetInviteGameInfo的函數(shù)調(diào)用使用閑聊拉起游戲后需要檢測(cè)三次游戲邀請(qǐng)信息,此處為登錄成功后的檢測(cè)loginOK: function (rtn) . if (rtn.vipTable > 0) . else . jsclient.native.xlGetInviteGa

35、meInfo(); ,9. 在app.js中的JSScene的jsBind中添加X(jué)L_InviteGameInfo消息收到邀請(qǐng)信息的處理XL_InviteGameInfo: function (para) jsclient.doInviteGameInfo(para);,10. 在app.js中的jsclient.native中添加xlLogin函數(shù)閑聊登錄xlLogin: function () try if (cc.sys.OS_ANDROID = cc.sys.os) jsb.reflection.callStaticMethod("org.cocos2dx.javascrip

36、t.AppActivity", "StartXianLiaoLogin", "()V");else if (cc.sys.OS_IOS = cc.sys.os) jsb.reflection.callStaticMethod("AppController", "sendXLRequest"); catch (e) jsclient.native.HelloOC("xianLiaoLogin throw: " + JSON.stringify(e);,11. 在app.js中的jscli

37、ent.native中添加xlInviteGame函數(shù)閑聊游戲邀請(qǐng)xlInviteGame:function (roomId,roomToken,title,description) try if (cc.sys.OS_ANDROID = cc.sys.os) jsb.reflection.callStaticMethod("org.cocos2dx.javascript.AppActivity","StartShareInviteGameToXL","(Ljava/lang/String;Ljava/lang/String;Ljava/lan

38、g/String;Ljava/lang/String;)V",roomId, roomToken, title, description);else if (cc.sys.OS_IOS = cc.sys.os) jsb.reflection.callStaticMethod("AppController","xlShareInvite:AndID:AndTitle:AndText:",roomToken,roomId,title,description); catch (e) jsclient.native.HelloOC("XLIn

39、viteGame throw: " + JSON.stringify(e);,12. 在app.js中的jsclient.native中添加xlShareImage函數(shù)閑聊圖片分享xlShareImage:function () try var writePath = jsb.fileUtils.getWritablePath();var textrueName = "wxcapture_screen.png"if (cc.sys.OS_ANDROID = cc.sys.os) jsb.reflection.callStaticMethod("org.c

40、ocos2dx.javascript.AppActivity","StartShareTextureToXL","(Ljava/lang/String;)V",writePath + textrueName);else if (cc.sys.OS_IOS = cc.sys.os) var writePath = jsb.fileUtils.getWritablePath();var textrueName = "wxcapture_screen.png"jsb.reflection.callStaticMethod(&quo

41、t;AppController","xlShareImage:",writePath + textrueName); catch (e) jsclient.native.HelloOC("XLShareImage throw: " + JSON.stringify(e);,13. 在app.js中的jsclient.native中添加xlShareText函數(shù)閑聊文本分享xlShareText:function (text) try if (cc.sys.OS_ANDROID = cc.sys.os) jsb.reflection.callSt

42、aticMethod("org.cocos2dx.javascript.AppActivity","StartShareTextToXL","(Ljava/lang/String;)V",text);else if (cc.sys.OS_IOS = cc.sys.os) jsb.reflection.callStaticMethod("AppController","xlShareText:AndText:","【四方河南麻將】",text); catch (e) jscli

43、ent.native.HelloOC("xlShareText throw: " + JSON.stringify(e);,14. 在app.js中的jsclient.native中添加xlGetInviteGameInfo函數(shù)閑聊查詢游戲邀請(qǐng)信息xlGetInviteGameInfo:function () .這里請(qǐng)自己加上自己項(xiàng)目的控制信息,防止調(diào)用出錯(cuò)try if (cc.sys.OS_ANDROID = cc.sys.os) jsb.reflection.callStaticMethod("org.cocos2dx.javascript.AppActivi

44、ty", "xlGetInviteGameInfo", "()V");else if (cc.sys.OS_IOS = cc.sys.os) jsb.reflection.callStaticMethod("AppController", "xlGetInviteGameInfo"); catch (e) jsclient.native.HelloOC("xlGetInviteGameInfo throw: " + JSON.stringify(e);,15. 在Login.js中添加

45、變量xlLoginPara = ;16. 在Login.js中的f_login函數(shù)中添加:檢測(cè)時(shí)候?yàn)槭褂瞄e聊登錄并附加閑聊信息到登錄信息if(xlLoginPara.useSugram)loginData.useSugram = xlLoginPara.useSugram;loginData.xl_unionid = xlLoginPara.xl_unionid;loginData.xl_nickname = xlLoginPara.xl_nickname;loginData.xl_headimgurl = xlLoginPara.xl_headimgurl;17. 在Login.js中修改函

46、數(shù)autoLogin jsclient.autoLogin = function () jsclient.block();var type = jsclient.operateFirstLoginType();獲取首次登陸類(lèi)型var beginLogin = false;判斷是否在自動(dòng)登錄mylog("判斷是否可以進(jìn)行閑聊或者微信的自動(dòng)登錄 type:" + type);if (type = "wx") mylog("開(kāi)始進(jìn)行微信自動(dòng)登錄.");var WX_USER_LOGIN = sys.localStorage.getItem(

47、"WX_USER_LOGIN");if (WX_USER_LOGIN) mylog("微信自動(dòng)登錄.");WX_USER_LOGIN = JSON.parse(WX_USER_LOGIN);LoginAsWeChat(WX_USER_LOGIN);beginLogin = true;else if (type = "xl") mylog("開(kāi)始進(jìn)行閑聊自動(dòng)登錄.");var XL_USER_LOGIN = sys.localStorage.getItem("XL_USER_LOGIN");if

48、(XL_USER_LOGIN) mylog("閑聊自動(dòng)登錄.");XL_USER_LOGIN = JSON.parse(XL_USER_LOGIN);/mylog("XL_USER_LOGIN info:" + XL_USER_LOGIN);/閑聊登錄信息初始化xlLoginPara.useSugram = true;xlLoginPara.xl_unionid = XL_USER_LOGIN.openId;xlLoginPara.xl_nickname = XL_USER_LOGIN.nickName;xlLoginPara.xl_headimgurl

49、 = XL_USER_LOGIN.smallAvatar;/閑聊登錄f_login(xlLoginPara);beginLogin = true;else mylog("開(kāi)始進(jìn)行l(wèi)oginData自動(dòng)登錄.");loginData = sys.localStorage.getItem("loginData");if (loginData) mylog("loginData自動(dòng)登錄.");loginData = JSON.parse(loginData);f_login(loginData.mail, loginData.code);b

50、eginLogin = true;/在不能自動(dòng)登錄的時(shí)候去判斷并執(zhí)行是否是從游戲邀請(qǐng)鏈接啟動(dòng)的游戲if (!beginLogin) jsclient.native.xlGetInviteGameInfo();使用閑聊拉起游戲后需要檢測(cè)三次游戲邀請(qǐng)信息,此處為不能自動(dòng)登錄時(shí)的檢測(cè);18. 在Login.js中LoginLayer的wechatLogin事件中添加: 在login.js里自己定義一個(gè) var iswxLogin = false; _click: function (btn, etype) if (agreeNode.isSelected() /點(diǎn)擊微信登錄就清除閑聊的登錄信息(保證點(diǎn)什么登錄游戲內(nèi)就是該登錄方式的信息)xlLoginPara = ;點(diǎn)擊微信登錄就清除閑聊的登錄信息(保證點(diǎn)什么登錄游戲內(nèi)就是該登錄方式的信息) if (jsclient.native)iswxLogin = true; jsclient.native.wxLogin(); else

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論