You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
46 KiB
162 lines
46 KiB
(window.webpackJsonp=window.webpackJsonp||[]).push([[196],{"07cG":function(Re,m,n){Re.exports={ldsRing:"ldsRing___2F8W7",idsRingWrapper:"idsRingWrapper___fC2cF",ldsring:"ldsring___3A88y"}},AKST:function(Re,m,n){},Dqnf:function(Re,m,n){"use strict";var T=n("k1fw"),d=n("tJVT"),me=n("rAM+"),W=n("q1tI"),G=n.n(W),R=n("J66h"),ne=n.n(R),_e=n("/POA"),re=n.n(_e),U=n("q7KB"),k=n.n(U),_=n("dhSg"),ve=n("bdgK");function q(N,A,S){var le=S._core._renderService.dimensions.actualCellWidth||9.5,ee=S._core._renderService.dimensions.actualCellHeight||18,O=Math.floor(A/ee),L=Math.floor(N/le);return[L,O]}function je(N,A){var S=new ve.default(function(le){var ee=Object(me.a)(le),O;try{for(ee.s();!(O=ee.n()).done;){var L=O.value;if(L.target.offsetHeight>0||L.target.offsetWidth>0){var V=q(L.target.offsetWidth,L.target.offsetHeight,N),Y=Object(d.a)(V,2),C=Y[0],z=Y[1];console.log("cols, rows",C,z),N.resize(C,z),_.a.publish("ssh-xterm-resize",{columns:C,rows:z,width:L.target.offsetWidth,height:L.target.offsetHeight})}}}catch(g){ee.e(g)}finally{ee.f()}});return S.observe(A),S}var x=3e4;m.a=function(N){var A=N.sshConfigData,S=N.sid,le=Object(W.useState)(null),ee=Object(d.a)(le,2),O=ee[0],L=ee[1],V=A.ws_url,Y=A.password,C=A.port,z=Object(W.useRef)(),g=Object(W.useRef)(),H=Object(W.useRef)(!1);return Object(W.useEffect)(function(){if(z.current&&V){var Z=new _e.Terminal({fontSize:16,rendererType:"dom"});Z.open(z.current),Z.onData(function(P){g.current&&(g.current.readyState===1&&(g.current.send(JSON.stringify({tp:"client",data:P})),_.a.publish("on-operating-ssh")))}),Z.write("Connecting..."),L(Z);var oe=je(Z,z.current);return function(){Z.dispose(),oe.unobserve(z.current)}}},[V,z.current]),Object(W.useEffect)(function(){if(O&&V){var Z=function(){var y=new WebSocket(V);g.current=y,y.onopen=function(){var $=O.element.parentElement;if($){var J=$.offsetWidth,s=$.offsetHeight;console.log("init",{tp:"init",data:Object(T.a)(Object(T.a)({},A),{},{secret:Y,width:J,height:s,rows:O.rows,columns:O.cols})}),y.send(JSON.stringify({tp:"init",data:Object(T.a)(Object(T.a)({},A),{},{secret:Y,width:J,height:s,rows:O.rows,columns:O.cols})}))}O.focus()},y.onerror=function($){console.log("------in socket error----",$,y,V)},y.onmessage=function($){H.current||(O.write("\r"),setTimeout(function(){},1e3)),H.current=!0,console.log("event:",$);var J=R.Base64.decode($.data.toString()),s=O._core._renderService.dimensions.actualCellWidth||9.5;console.log("data:",J,s,O),O.write(J)},y.onclose=function($){oe&&clearInterval(oe),O.write(`\r
|
|
connection closed`)}},oe=setInterval(function(){g.current&&g.current.send(JSON.stringify({tp:"h"}))},x),P=_.a.subscribe("create-socket",function(te){S==te&&(g.current&&g.current.readyState===1?O.focus():Z(),O.focus())}),pe=_.a.subscribe("close-socket",function(te){S===te&&(g.current&&(g.current.close(),H.current=!1,O.clear()),g.current=null)}),Le=_.a.subscribe("ssh-xterm-resize",function(te){g.current&&g.current.readyState===1&&g.current.send(JSON.stringify({tp:"resize",data:Object(T.a)({},te)}))}),ae=_.a.subscribe("ssh-add-connect-time",function(){g.current&&g.current.readyState===1&&g.current.send(JSON.stringify({tp:"overtime"}))});return function(){pe(),P(),Le(),ae(),g.current&&(g.current.close(),H.current=!1)}}},[O,V,C]),G.a.createElement("div",{ref:z,className:"xterm-panel"},V?null:G.a.createElement("p",{style:{color:"#fff"}},"\u6B63\u5728\u8FDE\u63A5\u547D\u4EE4\u884C\u670D\u52A1..."))}},IZBM:function(Re,m,n){"use strict";n.d(m,"l",function(){return ne}),n.d(m,"m",function(){return _e}),n.d(m,"i",function(){return re}),n.d(m,"D",function(){return U}),n.d(m,"h",function(){return k}),n.d(m,"G",function(){return _}),n.d(m,"C",function(){return ve}),n.d(m,"x",function(){return q}),n.d(m,"z",function(){return je}),n.d(m,"f",function(){return x}),n.d(m,"q",function(){return N}),n.d(m,"g",function(){return A}),n.d(m,"j",function(){return S}),n.d(m,"v",function(){return O}),n.d(m,"k",function(){return L}),n.d(m,"t",function(){return V}),n.d(m,"u",function(){return Y}),n.d(m,"d",function(){return C}),n.d(m,"A",function(){return z}),n.d(m,"B",function(){return g}),n.d(m,"y",function(){return H}),n.d(m,"F",function(){return Z}),n.d(m,"n",function(){return oe}),n.d(m,"o",function(){return P}),n.d(m,"p",function(){return pe}),n.d(m,"s",function(){return Le}),n.d(m,"E",function(){return ae}),n.d(m,"b",function(){return te}),n.d(m,"c",function(){return y}),n.d(m,"a",function(){return $}),n.d(m,"r",function(){return J}),n.d(m,"e",function(){return s}),n.d(m,"w",function(){return M});var T=n("k1fw"),d=n("ErOA"),me=n("1vsH"),W,G,R=((W=Object(me.z)())===null||W===void 0?void 0:W.homework_common_id)?{homework_common_id:(G=Object(me.z)())===null||G===void 0?void 0:G.homework_common_id}:{};function ne(e){return Object(d.c)("tasks/".concat(e,".json"),R)}function _e(e){return Object(d.c)("myshixuns/".concat(e,"/challenges.json"))}function re(e,t){return Object(d.c)("myshixuns/".concat(e,"/subject_challenges.json"),t)}function U(e,t,a){return Object(d.c)("tasks/".concat(e,"/star.json?shixun_id=").concat(t,"&star=").concat(a))}function k(e,t){return Object(d.c)("tasks/".concat(e,"/rep_content.json"),Object(T.a)(Object(T.a)({},t),R))}function _(e,t){return Object(d.f)("myshixuns/".concat(e,"/update_file.json"),t)}function ve(e,t){return Object(d.c)("tasks/".concat(e,"/reset_original_code.json"),Object(T.a)(Object(T.a)({},t),R))}function q(e,t){return Object(d.f)("myshixuns/".concat(e,"/reset_repository.json"),t)}function je(e,t){return Object(d.c)("tasks/".concat(e,"/reset_passed_code.json"),Object(T.a)(Object(T.a)({},t),R))}function x(e,t){return Object(d.f)("tasks/".concat(e,"/game_build.json"),Object(T.a)(Object(T.a)({},t),R))}function N(e,t){return Object(d.c)("tasks/".concat(e,"/game_status.json"),Object(T.a)(Object(T.a)({},t),R))}function A(e,t){return Object(d.f)("tasks/".concat(e,"/choose_build.json"),Object(T.a)(Object(T.a)({},t),R))}function S(e){return Object(d.c)("tasks/".concat(e,"/picture_display.json"),R)}function le(e,t){return Object(d.c)("tasks/".concat(e,"/cost_time.json"),Object(T.a)(Object(T.a)({},t),R))}function ee(e,t){return Object(d.c)("courses/".concat(e,"/inform_detail.json"),t)}function O(e){return Object(d.f)("tasks/".concat(e,"/plus_or_cancel_praise.json"))}function L(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object(d.f)("myshixuns/".concat(e,"/repository.json"),t)}function V(e){return Object(d.c)("myshixuns/".concat(e,"/open_webssh.json"))}function Y(e,t){return Object(d.c)("myshixuns/".concat(e,"/open_vm_webssh.json"),t)}function C(e){return Object(d.c)("tasks/".concat(e,"/close_webssh.json"))}function z(e){return Object(d.c)("tasks/".concat(e,"/reset_vnc_link.json"),R)}function g(e){return Object(d.f)("tasks/".concat(e,"/reset_windows_vnc_link.json"))}function H(e,t){return Object(d.f)("tasks/".concat(e,"/reset_linux_vnc_link.json"),t||{})}function Z(e){return Object(d.c)("tasks/".concat(e,"/check_test_sets.json"))}function oe(e){return Object(d.c)("tasks/".concat(e,"/get_answer_info.json"))}function P(e){return Object(d.c)("tasks/".concat(e,"/get_choose_answer.json"))}function pe(e){return Object(d.c)("tasks/".concat(e,"/unlock_choose_answer.json"))}function Le(e,t){return Object(d.c)("tasks/".concat(e,"/unlock_answer.json?answer_id=").concat(t))}function ae(e,t,a){return Object(d.f)("tasks/".concat(e,"/set_games_status.json"),{result:t,data:a})}function te(e){return Object(d.f)("tasks/".concat(e,"/extend_vnc.json"))}function y(e){return Object(d.f)("tasks/".concat(e,"/extend_windows_vnc.json"))}function $(e){return Object(d.f)("tasks/".concat(e,"/extend_linux_vnc.json"),R)}function J(e,t){return Object(d.c)("tasks/".concat(e,"/rank_list.json"),t)}function s(e,t){return Object(d.f)("tasks/".concat(e,"/close_windows_vnc.json"),{tpi_id:t})}function M(e){return Object(d.c)("tasks/".concat(e,"/pull_files.json"))}},IxHN:function(Re,m,n){"use strict";var T=n("q1tI"),d=n.n(T),me=n("07cG"),W=n.n(me);m.a=function(G){var R=G.message,ne=G.className,_e=G.children,re=G.style,U=re===void 0?{}:re;return d.a.createElement("div",{className:"".concat(W.a.idsRingWrapper," ").concat(ne)},d.a.createElement("div",{className:W.a.ldsRing},d.a.createElement("div",null),d.a.createElement("div",null),d.a.createElement("div",null),d.a.createElement("div",null)),R?d.a.createElement("p",{style:U},R):null,_e)}},Lmeb:function(Re,m,n){},M8RZ:function(Re,m,n){"use strict";n.d(m,"a",function(){return re});var T=n("fWQN"),d=n("mtLc"),me=n("yKVA"),W=n("879j"),G=n("q1tI"),R=n.n(G),ne=n("i8i4"),_e=n.n(ne),re=function(U){Object(me.a)(_,U);var k=Object(W.a)(_);function _(ve){var q;Object(T.a)(this,_),q=k.call(this,ve);var je=window.document;return q.node=je.createElement("div"),je.body.appendChild(q.node),q}return Object(d.a)(_,[{key:"render",value:function(){var q=this.props.children;return Object(ne.createPortal)(q,this.node)}},{key:"componentWillUnmount",value:function(){window.document.body.removeChild(this.node)}}]),_}(R.a.Component)},PYMJ:function(Re,m,n){"use strict";n.r(m);var T=n("k1fw"),d=n("9og8"),me=n("tJVT"),W=n("PpiC"),G=n("q1tI"),R=n.n(G),ne=n("9kvl"),_e=n("Dqnf"),re=n("qZJd"),U=n("Lmeb"),k=n.n(U),_=n("dhSg"),ve=n("ErOA");function q(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */q=function(){return x};var x={},N=Object.prototype,A=N.hasOwnProperty,S=typeof Symbol=="function"?Symbol:{},le=S.iterator||"@@iterator",ee=S.asyncIterator||"@@asyncIterator",O=S.toStringTag||"@@toStringTag";function L(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{L({},"")}catch(e){L=function(a,i,f){return a[i]=f}}function V(e,t,a,i){var f=t&&t.prototype instanceof z?t:z,c=Object.create(f.prototype),D=new J(i||[]);return c._invoke=function(X,j,h){var I="suspendedStart";return function(F,Ee){if(I==="executing")throw new Error("Generator is already running");if(I==="completed"){if(F==="throw")throw Ee;return M()}for(h.method=F,h.arg=Ee;;){var ye=h.delegate;if(ye){var Pe=te(ye,h);if(Pe){if(Pe===C)continue;return Pe}}if(h.method==="next")h.sent=h._sent=h.arg;else if(h.method==="throw"){if(I==="suspendedStart")throw I="completed",h.arg;h.dispatchException(h.arg)}else h.method==="return"&&h.abrupt("return",h.arg);I="executing";var Q=Y(X,j,h);if(Q.type==="normal"){if(I=h.done?"completed":"suspendedYield",Q.arg===C)continue;return{value:Q.arg,done:h.done}}Q.type==="throw"&&(I="completed",h.method="throw",h.arg=Q.arg)}}}(e,a,D),c}function Y(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(i){return{type:"throw",arg:i}}}x.wrap=V;var C={};function z(){}function g(){}function H(){}var Z={};L(Z,le,function(){return this});var oe=Object.getPrototypeOf,P=oe&&oe(oe(s([])));P&&P!==N&&A.call(P,le)&&(Z=P);var pe=H.prototype=z.prototype=Object.create(Z);function Le(e){["next","throw","return"].forEach(function(t){L(e,t,function(a){return this._invoke(t,a)})})}function ae(e,t){function a(f,c,D,X){var j=Y(e[f],e,c);if(j.type!=="throw"){var h=j.arg,I=h.value;return I&&typeof I=="object"&&A.call(I,"__await")?t.resolve(I.__await).then(function(F){a("next",F,D,X)},function(F){a("throw",F,D,X)}):t.resolve(I).then(function(F){h.value=F,D(h)},function(F){return a("throw",F,D,X)})}X(j.arg)}var i;this._invoke=function(f,c){function D(){return new t(function(X,j){a(f,c,X,j)})}return i=i?i.then(D,D):D()}}function te(e,t){var a=e.iterator[t.method];if(a===void 0){if(t.delegate=null,t.method==="throw"){if(e.iterator.return&&(t.method="return",t.arg=void 0,te(e,t),t.method==="throw"))return C;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return C}var i=Y(a,e.iterator,t.arg);if(i.type==="throw")return t.method="throw",t.arg=i.arg,t.delegate=null,C;var f=i.arg;return f?f.done?(t[e.resultName]=f.value,t.next=e.nextLoc,t.method!=="return"&&(t.method="next",t.arg=void 0),t.delegate=null,C):f:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,C)}function y(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function $(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function J(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(y,this),this.reset(!0)}function s(e){if(e){var t=e[le];if(t)return t.call(e);if(typeof e.next=="function")return e;if(!isNaN(e.length)){var a=-1,i=function f(){for(;++a<e.length;)if(A.call(e,a))return f.value=e[a],f.done=!1,f;return f.value=void 0,f.done=!0,f};return i.next=i}}return{next:M}}function M(){return{value:void 0,done:!0}}return g.prototype=H,L(pe,"constructor",H),L(H,"constructor",g),g.displayName=L(H,O,"GeneratorFunction"),x.isGeneratorFunction=function(e){var t=typeof e=="function"&&e.constructor;return!!t&&(t===g||(t.displayName||t.name)==="GeneratorFunction")},x.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,H):(e.__proto__=H,L(e,O,"GeneratorFunction")),e.prototype=Object.create(pe),e},x.awrap=function(e){return{__await:e}},Le(ae.prototype),L(ae.prototype,ee,function(){return this}),x.AsyncIterator=ae,x.async=function(e,t,a,i,f){f===void 0&&(f=Promise);var c=new ae(V(e,t,a,i),f);return x.isGeneratorFunction(t)?c:c.next().then(function(D){return D.done?D.value:c.next()})},Le(pe),L(pe,O,"Generator"),L(pe,le,function(){return this}),L(pe,"toString",function(){return"[object Generator]"}),x.keys=function(e){var t=[];for(var a in e)t.push(a);return t.reverse(),function i(){for(;t.length;){var f=t.pop();if(f in e)return i.value=f,i.done=!1,i}return i.done=!0,i}},x.values=s,J.prototype={constructor:J,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach($),!t)for(var a in this)a.charAt(0)==="t"&&A.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(t.type==="throw")throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var a=this;function i(h,I){return D.type="throw",D.arg=t,a.next=h,I&&(a.method="next",a.arg=void 0),!!I}for(var f=this.tryEntries.length-1;f>=0;--f){var c=this.tryEntries[f],D=c.completion;if(c.tryLoc==="root")return i("end");if(c.tryLoc<=this.prev){var X=A.call(c,"catchLoc"),j=A.call(c,"finallyLoc");if(X&&j){if(this.prev<c.catchLoc)return i(c.catchLoc,!0);if(this.prev<c.finallyLoc)return i(c.finallyLoc)}else if(X){if(this.prev<c.catchLoc)return i(c.catchLoc,!0)}else{if(!j)throw new Error("try statement without catch or finally");if(this.prev<c.finallyLoc)return i(c.finallyLoc)}}}},abrupt:function(t,a){for(var i=this.tryEntries.length-1;i>=0;--i){var f=this.tryEntries[i];if(f.tryLoc<=this.prev&&A.call(f,"finallyLoc")&&this.prev<f.finallyLoc){var c=f;break}}c&&(t==="break"||t==="continue")&&c.tryLoc<=a&&a<=c.finallyLoc&&(c=null);var D=c?c.completion:{};return D.type=t,D.arg=a,c?(this.method="next",this.next=c.finallyLoc,C):this.complete(D)},complete:function(t,a){if(t.type==="throw")throw t.arg;return t.type==="break"||t.type==="continue"?this.next=t.arg:t.type==="return"?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):t.type==="normal"&&a&&(this.next=a),C},finish:function(t){for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),$(i),C}},catch:function(t){for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a];if(i.tryLoc===t){var f=i.completion;if(f.type==="throw"){var c=f.arg;$(i)}return c}}throw new Error("illegal catch attempt")},delegateYield:function(t,a,i){return this.delegate={iterator:s(t),resultName:a,nextLoc:i},this.method==="next"&&(this.arg=void 0),C}},x}var je=function(N){var A=N.classroomList,S=N.globalSetting,le=N.loading,ee=N.dispatch,O=Object(W.a)(N,["classroomList","globalSetting","loading","dispatch"]),L=Object(G.useState)({}),V=Object(me.a)(L,2),Y=V[0],C=V[1],z=Object(G.useState)({st:0,discusses_count:0,game_count:4,record_consume_time:null,prev_game:null,next_game:"cfwqv7lsi5pj",praise_count:0,user_praise:!1,time_limit:9,tomcat_url:"http://121.40.224.66",is_teacher:!0,myshixun_manager:!0,game:{id:2192586,myshixun_id:576993,user_id:1,created_at:"2021-03-16T20:38:10.000+08:00",updated_at:"2021-03-16T21:28:37.000+08:00",status:0,final_score:0,challenge_id:11829,open_time:"2021-03-16T20:38:12.000+08:00",identifier:"pcf9t4w6vrnz",answer_open:0,end_time:null,retry_status:0,resubmit_identifier:null,test_sets_view:!1,picture_path:null,accuracy:null,modify_time:"2020-07-20T15:04:34.000+08:00",star:0,cost_time:847,evaluate_count:0,answer_deduction:0,play_time:null,play_sign:0,extend_score:null,score_radio:0,exericse_evaluate_count:0,exercise_finished_at:null,homework_common_answer_open:!1},challenge:{id:11829,shixun_id:5207,subject:"\u5143\u7EC4\u4F7F\u7528\uFF1A\u8FD9\u4EFD\u83DC\u5355\u80FD\u4FEE\u6539\u5417\uFF1F",position:1,task_pass:`[TOC]
|
|
|
|
---
|
|
####\u4EFB\u52A1\u63CF\u8FF0
|
|
|
|
\u5143\u7EC4\u770B\u8D77\u6765\u72B9\u5982\u5217\u8868\uFF0C\u4F46\u5143\u7EC4\u4F7F\u7528\u5706\u62EC\u53F7\`\uFF08\uFF09\`\u800C\u4E0D\u662F\`[]\`\u6765\u6807\u8BC6\uFF0C\u800C\u4E14\u5217\u8868\u7684\u5143\u7D20\u53EF\u4EE5\u4FEE\u6539\uFF0C\u4F46\u5143\u7EC4\u7684\u5143\u7D20\u4E0D\u80FD\u4FEE\u6539\u3002\u672C\u5173\u4ECB\u7ECD\u5143\u7EC4\u7684\u5E38\u89C1\u4F7F\u7528\u65B9\u6CD5\u4EE5\u53CA\u5143\u7EC4\u548C\u5217\u8868\u7684\u4F7F\u7528\u533A\u522B\u3002\u4E0B\u9762\u7528\u996D\u5E97\u83DC\u5355\u7684\u4F8B\u5B50\u6765\u8BF4\u660E\u5217\u8868\u548C\u5143\u7EC4\u4F7F\u7528\u7684\u5E94\u7528\u573A\u666F\u3002
|
|
|
|
\u73B0\u5728\u6709\u4E00\u4E2A\u9910\u9986\u8981\u5411\u6BCF\u4E2A\u5305\u53A2\u90FD\u6295\u653E\u4E24\u4EFD\u83DC\u5355\uFF0C\u83DC\u5355\u4E0A\u67094\u79CD\u83DC\u540D\uFF0C\u6211\u4EEC\u60F3\u5C06\u4E24\u4E2A\u83DC\u5355\u4E0A\u6700\u540E\u4E00\u9053\u83DC\u540D\u4E92\u6362\u4E00\u4E0B\uFF0C\u4E5F\u60F3\u5FEB\u901F\u77E5\u9053\u6539\u53D8\u540E\u7684\u4E24\u4EFD\u83DC\u5355\u4E0A\u5355\u8BCD\u9996\u5B57\u6BCD\u6700\u5927\u7684\u83DC\u540D\u3002\u800C\u6211\u4EEC\u9996\u5148\u9700\u8981\u5224\u65AD\u8BE5\u7528\u5217\u8868\u7684\u65B9\u6CD5\u8FD8\u662F\u5143\u7EC4\u7684\u65B9\u6CD5\u5B9E\u73B0\u8FD9\u4E2A\u76EE\u6807\u3002
|
|
|
|
\u4E3A\u4E86\u5B9E\u73B0\u8FD9\u4E2A\u76EE\u6807\uFF0C\u6211\u4EEC\u9700\u8981\u5148\u5B66\u4E60\u5143\u7EC4\u7684\u76F8\u5173\u4F7F\u7528\u77E5\u8BC6\u4EE5\u53CA\u5143\u7EC4\u4E0E\u5217\u8868\u7684\u533A\u522B\u3002
|
|
|
|
####\u76F8\u5173\u77E5\u8BC6
|
|
|
|
#####\u5143\u7EC4\u4E0E\u5217\u8868
|
|
\u5143\u7EC4\u4E0E\u5217\u8868\u5F88\u76F8\u4F3C\uFF0C\u4E24\u8005\u4E4B\u95F4\u7684\u5DEE\u522B\u5728\u4E8E\uFF0C\u5217\u8868\u5728\u521D\u59CB\u5316\u540E\u5176\u4E2D\u7684\u5143\u7D20\u8FD8\u53EF\u4EE5\u8FDB\u884C\u589E\u5220\u6539\u7B49\u64CD\u4F5C\uFF0C\u4F46\u662F\u5143\u7EC4\u5728\u521D\u59CB\u5316\u540E\u5176\u4E2D\u7684\u5143\u7D20\u4E0D\u80FD\u8FDB\u884C\u66F4\u6539\uFF0C\u5217\u8868\u5728\u8D4B\u503C\u65F6\u4F7F\u7528\u65B9\u62EC\u53F7\`[]\`\uFF0C\u800C\u5143\u7EC4\u5728\u8D4B\u503C\u65F6\u4F7F\u7528\u5C0F\u62EC\u53F7\`()\`\u3002\u56E0\u4E3A\u5143\u7EC4\u5177\u6709\u4E0D\u53EF\u53D8\u7684\u7279\u6027\uFF0C\u6240\u4EE5\u5728\u80FD\u7528\u5143\u7EC4\u66FF\u4EE3\u5217\u8868\u7684\u5730\u65B9\u6700\u597D\u90FD\u4F7F\u7528\u5143\u7EC4\uFF0C\u8FD9\u6837\u4EE3\u7801\u66F4\u5B89\u5168\u3002
|
|
|
|
#####\u521B\u5EFA\u5143\u7EC4
|
|
\u5143\u7EC4\u521B\u5EFA\u5F88\u7B80\u5355\uFF0C\u53EA\u9700\u8981\u5728\u62EC\u53F7\`()\`\u4E2D\u6DFB\u52A0\u5143\u7D20\uFF0C\u5143\u7D20\u4E4B\u95F4\u7528\u9017\u53F7\u9694\u5F00\u3002\u5143\u7EC4\u4E2D\u53EA\u5305\u542B\u5355\u4E2A\u5143\u7D20\u65F6\uFF0C\u9700\u8981\u5728\u8BE5\u5143\u7D20\u540E\u9762\u6DFB\u52A0\u9017\u53F7\uFF0C\u4F8B\u5982\uFF1A
|
|
|
|
\`menu1 = ('meat','fish','chicken')\`
|
|
\`menu2 = ('meat',)\`
|
|
****
|
|
#####\u8BBF\u95EE\u5143\u7EC4
|
|
\u5143\u7EC4\u548C\u5217\u8868\u4E00\u6837\uFF0C\u53EF\u4EE5\u4F7F\u7528\u4E0B\u6807\u7D22\u5F15\u6765\u8BBF\u95EE\u5143\u7EC4\u4E2D\u7684\u503C\uFF0C\u4F8B\u5982:
|
|
|
|
\`\`\`python
|
|
menu = ('meat','fish','chicken','carrot')
|
|
print(menu[0])
|
|
print(menu[1:3])
|
|
\`\`\`
|
|
|
|
\u8F93\u51FA\u7ED3\u679C\uFF1A
|
|
|
|
\`meat\`
|
|
\`('fish', 'chicken')\`
|
|
|
|
#####\u4FEE\u6539\u5143\u7EC4
|
|
|
|
\u5143\u7EC4\u4E2D\u7684\u5143\u7D20\u503C\u662F\u4E0D\u53EF\u4EE5\u4FEE\u6539\u7684\uFF0C\u5982\u679C\u5F3A\u884C\u4FEE\u6539\u4F1A\u62A5\u9519\uFF0C\u4F8B\u5982\u5982\u679C\u6211\u4EEC\u60F3\u4FEE\u6539\u5143\u7EC4\`menu\`\u4E2D\u7684\u67D0\u4E2A\u503C\uFF1A
|
|
|
|
\`\`\`python
|
|
menu = ('meat','fish','chicken','carrot')
|
|
menu[0] = 'pizza'
|
|
print(menu[0])
|
|
\`\`\`
|
|
|
|
\u8F93\u51FA\u7ED3\u679C\uFF1A
|
|
|
|
\`TypeError: 'tuple' object does not support item assignment\`
|
|
|
|
\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u62A5\u9519\uFF0C\u5143\u7EC4\u4E2D\u7684\u5143\u7D20\u503C\u4E0D\u652F\u6301\u4FEE\u6539\u3002
|
|
|
|
#####\u5143\u7EC4\u5185\u7F6E\u51FD\u6570
|
|
|
|
\u5143\u7EC4\u548C\u5217\u8868\u4E00\u6837\uFF0C\u90FD\u6709\u4E00\u4E9B\u5185\u7F6E\u51FD\u6570\u65B9\u4FBF\u7F16\u7A0B\u3002\u4F8B\u5982\uFF1A
|
|
|
|
\`len(tuple)\`\uFF1A\u8BA1\u7B97\u5143\u7EC4\u4E2D\u5143\u7D20\u4E2A\u6570\u3002
|
|
|
|
\`max(tuple)\`\uFF1A\u8FD4\u56DE\u5143\u7EC4\u4E2D\u5143\u7D20\u7684\u6700\u5927\u503C\u3002
|
|
|
|
\`min(tuple)\`\uFF1A\u8FD4\u56DE\u5143\u7EC4\u4E2D\u5143\u7D20\u7684\u6700\u5C0F\u503C\u3002
|
|
|
|
\`tuple(seq)\`\uFF1A\u5C06\u5217\u8868\u8F6C\u6362\u4E3A\u5143\u7EC4\u3002
|
|
|
|
\u5143\u7EC4\u4E2D\u7684\u5143\u7D20\u662F\u4E0D\u80FD\u6539\u53D8\u7684\uFF0C\u5B83\u4E5F\u6CA1\u6709\`append()\`\uFF0C\`insert()\`\u8FD9\u6837\u7684\u65B9\u6CD5\u3002\u4F46\u5176\u4ED6\u83B7\u53D6\u5143\u7D20\u7684\u65B9\u6CD5\u548C\u5217\u8868\u662F\u4E00\u6837\u7684\u3002
|
|
|
|
####\u7F16\u7A0B\u8981\u6C42
|
|
|
|
\u672C\u5173\u7684\u7F16\u7A0B\u4EFB\u52A1\u662F\u8865\u5168\`src/Step1/menu_test.py\`\u6587\u4EF6\u7684\u4EE3\u7801\u5185\u5BB9\uFF0C\u5B9E\u73B0\u5982\u4E0B\u529F\u80FD\uFF1A
|
|
|
|
- \u5C06\u8F93\u5165\u7684\u83DC\u5355menu_list\u8F6C\u6362\u4E3A\u5143\u7EC4\u7C7B\u578B
|
|
- \u6253\u5370\u8F93\u51FA\u751F\u6210\u7684\u5143\u7EC4
|
|
- \u6253\u5370\u8F93\u51FA\u5143\u7EC4\u4E2D\u9996\u5B57\u6BCD\u6700\u5927\u7684\u5143\u7D20
|
|
|
|
\u672C\u5173\u6D89\u53CA\u7684\u4EE3\u7801\u6587\u4EF6\`src/Step1/menu_test.py\`\u7684\u4EE3\u7801\u6846\u67B6\u5982\u4E0B\uFF1A
|
|
|
|
\`\`\`python
|
|
# coding=utf-8
|
|
|
|
# \u521B\u5EFA\u5E76\u521D\u59CB\u5316munu_list\u5217\u8868
|
|
menu_list = []
|
|
while True:
|
|
try:
|
|
food = input()
|
|
menu_list.append(food)
|
|
except:
|
|
break
|
|
|
|
# \u8BF7\u5728\u6B64\u6DFB\u52A0\u4EE3\u7801\uFF0C\u5BF9menu_list\u8FDB\u884C\u5143\u7EC4\u8F6C\u6362\u4EE5\u53CA\u5143\u7EC4\u8BA1\u7B97\u7B49\u64CD\u4F5C\uFF0C\u5E76\u6253\u5370\u8F93\u51FA\u5143\u7EC4\u53CA\u5143\u7EC4\u6700\u5927\u7684\u5143\u7D20
|
|
###### Begin ######
|
|
|
|
|
|
|
|
|
|
####### End #######
|
|
\`\`\`
|
|
|
|
####\u6D4B\u8BD5\u8BF4\u660E
|
|
|
|
\u672C\u5173\u7684\u6D4B\u8BD5\u6587\u4EF6\u662F\`src/Step1/menu_test.py\`\uFF0C\u6D4B\u8BD5\u8FC7\u7A0B\u5982\u4E0B\uFF1A
|
|
|
|
1. \u5E73\u53F0\u81EA\u52A8\u7F16\u8BD1\u5E76\u8FD0\u884C\`menu_test.py\`\uFF0C\u5E76\u4EE5\u6807\u51C6\u8F93\u5165\u65B9\u5F0F\u63D0\u4F9B\u6D4B\u8BC4\u8F93\u5165\uFF1B
|
|
3. \u5E73\u53F0\u83B7\u53D6\u7A0B\u5E8F\u7684\u8F93\u51FA\uFF0C\u7136\u540E\u5C06\u5176\u4E0E\u9884\u671F\u8F93\u51FA\u5BF9\u6BD4\uFF0C\u5982\u679C\u4E00\u81F4\u5219\u6D4B\u8BD5\u901A\u8FC7\uFF1B\u5426\u5219\u6D4B\u8BD5\u5931\u8D25\u3002
|
|
|
|
\u4EE5\u4E0B\u662F\u5E73\u53F0\u5BF9\`src/Step1/menu_test.py\`\u7684\u6837\u4F8B\u6D4B\u8BD5\u96C6\uFF1A
|
|
|
|
\u6D4B\u8BD5\u8F93\u5165\uFF1A
|
|
\`beef\`
|
|
\`veal\`
|
|
\`lamb\`
|
|
\`pork\`
|
|
\u9884\u671F\u8F93\u51FA\uFF1A
|
|
\`('beef', 'veal', 'lamb', 'pork')\`
|
|
\`veal\`
|
|
|
|
\u6D4B\u8BD5\u8F93\u5165\uFF1A
|
|
\`duck\`
|
|
\`broth\`
|
|
\`fish\`
|
|
\`macaroni\`
|
|
\u9884\u671F\u8F93\u51FA\uFF1A
|
|
\`('duck', 'broth', 'fish', 'macaroni')\`
|
|
\`macaroni\`
|
|
|
|
\u5F00\u59CB\u4F60\u7684\u4EFB\u52A1\u5427\uFF0C\u795D\u4F60\u6210\u529F\uFF01
|
|
|
|
\u5982\u679C\u4F60\u5E0C\u671B\u6210\u529F\uFF0C\u4EE5\u6052\u5FC3\u4E3A\u826F\u53CB\uFF0C\u4EE5\u7ECF\u9A8C\u4E3A\u53C2\u8C0B\uFF0C\u4EE5\u5C0F\u5FC3\u4E3A\u5144\u5F1F\uFF0C\u4EE5\u5E0C\u671B\u4E3A\u54E8\u5175\u3002
|
|
|
|
`,score:100,path:"src/step1/menu_test.py",difficulty:1,st:0,web_route:null,modify_time:"2020-07-20T15:04:34.000+08:00",exec_time:9,praises_count:0,ignore_space:1,open_rank:"CLOSE",hide_answer:!1,disable_copy:!1},shixun:{id:5207,name:"Python\u5143\u7EC4\u4E0E\u5B57\u5178\u5165\u95E8",user_id:1,gpid:null,visits:17,created_at:"2021-03-15T11:18:22.000+08:00",updated_at:"2021-03-16T20:38:08.000+08:00",status:0,language:"Python3.6",authentication:!1,identifier:"pmrfko5h",trainee:1,major_id:635,webssh:0,homepage_show:!1,hidden:!1,fork_from:3028,can_copy:!1,modify_time:"2017-10-11T09:45:02.000+08:00",reset_time:"2017-10-11T09:45:02.000+08:00",publish_time:"2019-08-02T11:30:27.000+08:00",closer_id:null,end_time:null,git_url:"eduforge/afvk9r35-1",myshixuns_count:1,challenges_count:4,use_scope:0,mirror_script_id:null,image_text:null,show_code_dir:!1,task_pass:!1,exec_time:145,test_set_permission:!0,sigle_training:!1,hide_code:!1,multi_webssh:!1,excute_time:null,repo_name:"innov/pmrfko5h20210315111822",averge_star:5,opening_time:null,users_count:1,forbid_copy:!1,pod_life:0,code_edit_permission:!1,laboratory_id:null,vip:!1,is_jupyter:!1,public:0,is_wechat_support:!0,to_be_built:!1,prebuild_click_count:0,display_git_address:!1,delete_user_id:null,sticky:0},myshixun:{id:576993,shixun_id:5207,is_public:!0,user_id:1,gpid:null,created_at:"2021-03-16T20:38:10.000+08:00",updated_at:"2021-03-16T21:28:39.000+08:00",status:0,identifier:"ln7i95zmef",commit_id:"c170e4ad0cb670cd610754f374af5f35974f4f8a",modify_time:"2017-10-11T09:45:02.000+08:00",reset_time:"2017-10-11T09:45:02.000+08:00",system_tip:!1,git_url:null,onclick_time:"2021-03-16T20:38:10.000+08:00",repo_name:"innov/ln7i95zmef20210316203810",hidden:!1,reset_repository_user_id:null},rank_name:null,windows_vnc:!0,user:{user_id:1,login:"innov",name:"99999",grade:368953,identity:1,image_url:"avatars/User/1?t=1593675434",school:"",user_url:"/users/innov"},tpm_modified:!1,tpm_cases_modified:!1,mirror_name:["Python3.6"],has_answer:!0,mirror_description:[`##### \u9002\u7528\u573A\u666F\r
|
|
\u7A0B\u5E8F\u8BBE\u8BA1\u3001\u7F51\u7EDC\u722C\u866B\u3001\u56FE\u50CF\u5904\u7406\u3001\u5927\u6570\u636E\u3001\u4EBA\u5DE5\u667A\u80FD\r
|
|
##### \u5305\u542B\u7684\u70ED\u95E8\u5E93\r
|
|
basemap;beautifulsoup4;Django;Flask;Keras;matplotlib;numpy;opencv;pip;PyMySQL;Scrapy;tensorflow;torch;pandas;tensorboard;requests;scikit-learn\r
|
|
##### \u5DF2\u5B89\u88C5\u5E93\u5217\u8868\uFF1A\r
|
|
absl-py;asn1crypto;astor;attrs;Automat;backcall;baidu-aip;basemap;beautifulsoup4;bleach;blinker;blis;bokeh;boto;boto3;botocore;cachetools;catalogue;certifi;cffi;chardet;click;constantly;crypto;cryptography;cssselect;cssutils;cycler;cymem;Cython;decorator;Django;dlib;dnspython;docutils;dominate;dpkt;dyNET;EasyProcess;et-xmlfile;ExifRead;face-recognition;face-recognition-models;ffmpeg;Flask;Flask-Bootstrap;Flask-Mail;Flask-SQLAlchemy;Flask-WTF;fonttools;gast;gensim;gpt-2-simple;graphviz;grpcio;h5py;html5lib;hyperlink;idna;importlib-metadata;incremental;IPy;ipython;ipython-genutils;itsdangerous;jdcal;jedi;jieba;Jinja2;jmespath;JPype1;Keras;Keras-Applications;Keras-Preprocessing;kiwisolver;lightgbm;llvmlite;lxml;Markdown;MarkupSafe;matplotlib;mpmath;murmurhash;mysql-connector;mysqlclient;Naked;networkx;nltk;numba;numpy;olefile;opencv-contrib-python;opencv-python;openpyxl;packaging;pandas;parsel;parso;patsy;pexpect;pickleshare;Pillow;pip;plac;popen;premailer;preshed;prettytable;prompt-toolkit;protobuf;psutil;ptyprocess;py4j;pyasn1;pyasn1-modules;PyAudio;pycparser;pycryptodome;pycurl;PyDispatcher;pydub;pyecharts;PyExecJS;Pygments;pygraphviz;pyhanlp;pymongo;PyMySQL;pyOpenSSL;pyparsing;PyPDF2;pyproj;pyquery;pyshp;pyspark;python-dateutil;python-docx;pyttsx3;pytz;PyVirtualDisplay;PyYAML;queuelib;regex;requests;rsa;s3transfer;scapy;scikit-learn;scipy;Scrapy;seaborn;selenium;service-identity;setuptools;shellescape;simplejson;six;smart-open;snapshot-phantomjs;snownlp;soupsieve;spacy;SQLAlchemy;srsly;statsmodels;sympy;tensorboard;tensorflow;tensorflow-tensorboard;termcolor;thinc;toposort;torch;torchvision;tornado;tqdm;traitlets;Twisted;urllib3;visitor;w3lib;wasabi;wcwidth;Werkzeug;wheel;wikipedia;wordcloud;WTForms;xgboost;xlrd;XlsxWriter;xlwt;z3-solver;zipp;zope.interface`],test_sets:[{is_public:!0,result:null,input:`pizza
|
|
ch icken
|
|
ca rrot
|
|
turkey
|
|
banana`,output:`('piz za', 'chicken', 'carrot', 'turkey', 'banana')
|
|
turkey
|
|
`,actual_output:null,compile_success:null,ts_time:null,ts_mem:null},{is_public:!0,result:null,input:`potato\r
|
|
agaric\r
|
|
beet\r
|
|
tomato`,output:`('potato', 'agaric', 'beet', 'tomato')
|
|
tomato
|
|
`,actual_output:null,compile_success:null,ts_time:null,ts_mem:null},{is_public:!1,result:null,input:`Spring Rolls\r
|
|
Lobster slices\r
|
|
Fried Wonton\r
|
|
Fried seaweed\r
|
|
Shrimp stoast\r
|
|
Wonton soup\r
|
|
shark fin soup`,output:`('Spring Rolls', 'Lobster slices', 'Fried Wonton', 'Fried seaweed', 'Shrimp stoast', 'Wonton soup', 'shark fin soup')
|
|
shark fin soup
|
|
`,actual_output:null,compile_success:null,ts_time:null,ts_mem:null},{is_public:!1,result:null,input:`turkey\r
|
|
duck\r
|
|
agaric\r
|
|
lamb`,output:`('turkey', 'duck', 'agaric', 'lamb')
|
|
turkey
|
|
`,actual_output:null,compile_success:null,ts_time:null,ts_mem:null},{is_public:!1,result:null,input:"Fried seaweed",output:`('Fried seaweed',)
|
|
Fried seaweed
|
|
`,actual_output:null,compile_success:null,ts_time:null,ts_mem:null}],allowed_unlock:!0,test_sets_count:null,sets_error_count:null}),g=Object(me.a)(z,2),H=g[0],Z=g[1],oe=O.match.params,P=O.location.query,pe;Object(G.useEffect)(function(){Le()},[]),Object(G.useEffect)(function(){Y.host&&setTimeout(function(){_.a.publish("create-socket",1)},500)},[Y]);var Le=function(){var ae=Object(d.a)(q().mark(function te(){var y;return q().wrap(function(J){for(;;)switch(J.prev=J.next){case 0:if(!(P.type==="terminal")){J.next=5;break}return J.next=3,Object(ve.a)("/api/myshixuns/".concat(P.taskId||"f3n9o5xvik","/open_webssh.json"),{method:"get"});case 3:y=J.sent,C(Object(T.a)({},y));case 5:P.type==="windows";case 6:case"end":return J.stop()}},te)}));return function(){return ae.apply(this,arguments)}}();return R.a.createElement("section",{style:{position:"fixed",width:"100%",height:"100%",zIndex:22,top:0,right:0,bottom:0,left:0}},P.type==="terminal"&&R.a.createElement(_e.a,{sshConfigData:Y,sid:1}),P.type!=="terminal"&&R.a.createElement(re.a,{taskId:P.type==="windows"?"pcf9t4w6vrnz":"ijby95c82nsh",vnc_url:P.type==="vnc",window_vnc_url:P.type==="windows",taskData:H}))};m.default=Object(ne.a)(function(x){var N=x.classroomList,A=x.loading,S=x.globalSetting;return{classroomList:N,globalSetting:S,loading:A.models.classroomList}})(je)},qZJd:function(Re,m,n){"use strict";var T=n("MXD1"),d=n("CFYs"),me=n("miYZ"),W=n("tsqr"),G=n("2qtc"),R=n("kLXV"),ne=n("9og8"),_e=n("rAM+"),re=n("tJVT"),U=n("k1fw"),k=n("q1tI"),_=n.n(k),ve=n("IxHN"),q=n("bdgK"),je=n("M8RZ"),x=n("Ty5D"),N=n("1dTM"),A=n.n(N),S=n("dhSg"),le=n("+L6B"),ee=n("2/Rp"),O=n("5NDa"),L=n("5rEg"),V=n("AKST"),Y=L.a.TextArea,C=function(s){var M=s.onCancel,e=s.onSave,t=s.content,a=Object(k.useState)(t),i=Object(re.a)(a,2),f=i[0],c=i[1];function D(j){c(j.target.value)}function X(){e(f)}return Object(k.useEffect)(function(){c(t)},[t]),_.a.createElement("div",{className:"clipboard-box"},_.a.createElement("h3",null,"\u5B9E\u9A8C\u73AF\u5883\u526A\u5207\u677F\uFF1A"),_.a.createElement(Y,{value:f,onChange:D,className:"clipboard"}),_.a.createElement("p",null," ",_.a.createElement("b",null," 1.\u4ECE\u5916\u90E8\u590D\u5236\u5185\u5BB9\u5230\u5B9E\u9A8C\u73AF\u5883\u5185\uFF1A ")," \u7C98\u8D34\u5185\u5BB9\u5230\u4E0A\u9762\u6587\u672C\u6846\uFF0C\u70B9\u51FB\u4FDD\u5B58\uFF0C\u7136\u540E\u5728\u5B9E\u9A8C\u73AF\u5883\u4E2D\u8FDB\u884C\u7C98\u8D34\u3002 "),_.a.createElement("p",null," ",_.a.createElement("b",null," 2.\u83B7\u53D6\u5B9E\u9A8C\u73AF\u5883\u4E2D\u7684\u5185\u5BB9\uFF1A ")," \u8BF7\u5148\u5728\u73AF\u5883\u4E2D\u590D\u5236\u5185\u5BB9\uFF0C\u590D\u5236\u52A8\u4F5C\u5B8C\u6210\u540E\u5185\u5BB9\u4F1A\u663E\u793A\u5728\u4E0A\u9762\u6587\u672C\u6846\uFF0C\u7136\u540E\u5728\u4E0A\u9762\u6587\u672C\u6846\u4E2D\u518D\u6B21\u590D\u5236\u3002 "),_.a.createElement("div",{className:"btn-action-container"},_.a.createElement(ee.a,{type:"ghost",onClick:M,style:{marginRight:10}},"\u53D6\u6D88"),_.a.createElement(ee.a,{type:"primary",onClick:X},"\u4FDD\u5B58")))},z=n("ErOA"),g=n("IZBM"),H=n("ye1Q"),Z=n("wd/R"),oe=n.n(Z);function P(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */P=function(){return s};var s={},M=Object.prototype,e=M.hasOwnProperty,t=typeof Symbol=="function"?Symbol:{},a=t.iterator||"@@iterator",i=t.asyncIterator||"@@asyncIterator",f=t.toStringTag||"@@toStringTag";function c(o,r,u){return Object.defineProperty(o,r,{value:u,enumerable:!0,configurable:!0,writable:!0}),o[r]}try{c({},"")}catch(o){c=function(u,p,v){return u[p]=v}}function D(o,r,u,p){var v=r&&r.prototype instanceof h?r:h,E=Object.create(v.prototype),B=new de(p||[]);return E._invoke=function(fe,he,l){var b="suspendedStart";return function(K,ie){if(b==="executing")throw new Error("Generator is already running");if(b==="completed"){if(K==="throw")throw ie;return Se()}for(l.method=K,l.arg=ie;;){var ge=l.delegate;if(ge){var w=ke(ge,l);if(w){if(w===j)continue;return w}}if(l.method==="next")l.sent=l._sent=l.arg;else if(l.method==="throw"){if(b==="suspendedStart")throw b="completed",l.arg;l.dispatchException(l.arg)}else l.method==="return"&&l.abrupt("return",l.arg);b="executing";var Te=X(fe,he,l);if(Te.type==="normal"){if(b=l.done?"completed":"suspendedYield",Te.arg===j)continue;return{value:Te.arg,done:l.done}}Te.type==="throw"&&(b="completed",l.method="throw",l.arg=Te.arg)}}}(o,u,B),E}function X(o,r,u){try{return{type:"normal",arg:o.call(r,u)}}catch(p){return{type:"throw",arg:p}}}s.wrap=D;var j={};function h(){}function I(){}function F(){}var Ee={};c(Ee,a,function(){return this});var ye=Object.getPrototypeOf,Pe=ye&&ye(ye(we([])));Pe&&Pe!==M&&e.call(Pe,a)&&(Ee=Pe);var Q=F.prototype=h.prototype=Object.create(Ee);function We(o){["next","throw","return"].forEach(function(r){c(o,r,function(u){return this._invoke(r,u)})})}function se(o,r){function u(v,E,B,fe){var he=X(o[v],o,E);if(he.type!=="throw"){var l=he.arg,b=l.value;return b&&typeof b=="object"&&e.call(b,"__await")?r.resolve(b.__await).then(function(K){u("next",K,B,fe)},function(K){u("throw",K,B,fe)}):r.resolve(b).then(function(K){l.value=K,B(l)},function(K){return u("throw",K,B,fe)})}fe(he.arg)}var p;this._invoke=function(v,E){function B(){return new r(function(fe,he){u(v,E,fe,he)})}return p=p?p.then(B,B):B()}}function ke(o,r){var u=o.iterator[r.method];if(u===void 0){if(r.delegate=null,r.method==="throw"){if(o.iterator.return&&(r.method="return",r.arg=void 0,ke(o,r),r.method==="throw"))return j;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return j}var p=X(u,o.iterator,r.arg);if(p.type==="throw")return r.method="throw",r.arg=p.arg,r.delegate=null,j;var v=p.arg;return v?v.done?(r[o.resultName]=v.value,r.next=o.nextLoc,r.method!=="return"&&(r.method="next",r.arg=void 0),r.delegate=null,j):v:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,j)}function Fe(o){var r={tryLoc:o[0]};1 in o&&(r.catchLoc=o[1]),2 in o&&(r.finallyLoc=o[2],r.afterLoc=o[3]),this.tryEntries.push(r)}function Ie(o){var r=o.completion||{};r.type="normal",delete r.arg,o.completion=r}function de(o){this.tryEntries=[{tryLoc:"root"}],o.forEach(Fe,this),this.reset(!0)}function we(o){if(o){var r=o[a];if(r)return r.call(o);if(typeof o.next=="function")return o;if(!isNaN(o.length)){var u=-1,p=function v(){for(;++u<o.length;)if(e.call(o,u))return v.value=o[u],v.done=!1,v;return v.value=void 0,v.done=!0,v};return p.next=p}}return{next:Se}}function Se(){return{value:void 0,done:!0}}return I.prototype=F,c(Q,"constructor",F),c(F,"constructor",I),I.displayName=c(F,f,"GeneratorFunction"),s.isGeneratorFunction=function(o){var r=typeof o=="function"&&o.constructor;return!!r&&(r===I||(r.displayName||r.name)==="GeneratorFunction")},s.mark=function(o){return Object.setPrototypeOf?Object.setPrototypeOf(o,F):(o.__proto__=F,c(o,f,"GeneratorFunction")),o.prototype=Object.create(Q),o},s.awrap=function(o){return{__await:o}},We(se.prototype),c(se.prototype,i,function(){return this}),s.AsyncIterator=se,s.async=function(o,r,u,p,v){v===void 0&&(v=Promise);var E=new se(D(o,r,u,p),v);return s.isGeneratorFunction(r)?E:E.next().then(function(B){return B.done?B.value:E.next()})},We(Q),c(Q,f,"Generator"),c(Q,a,function(){return this}),c(Q,"toString",function(){return"[object Generator]"}),s.keys=function(o){var r=[];for(var u in o)r.push(u);return r.reverse(),function p(){for(;r.length;){var v=r.pop();if(v in o)return p.value=v,p.done=!1,p}return p.done=!0,p}},s.values=we,de.prototype={constructor:de,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(Ie),!r)for(var u in this)u.charAt(0)==="t"&&e.call(this,u)&&!isNaN(+u.slice(1))&&(this[u]=void 0)},stop:function(){this.done=!0;var r=this.tryEntries[0].completion;if(r.type==="throw")throw r.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var u=this;function p(l,b){return B.type="throw",B.arg=r,u.next=l,b&&(u.method="next",u.arg=void 0),!!b}for(var v=this.tryEntries.length-1;v>=0;--v){var E=this.tryEntries[v],B=E.completion;if(E.tryLoc==="root")return p("end");if(E.tryLoc<=this.prev){var fe=e.call(E,"catchLoc"),he=e.call(E,"finallyLoc");if(fe&&he){if(this.prev<E.catchLoc)return p(E.catchLoc,!0);if(this.prev<E.finallyLoc)return p(E.finallyLoc)}else if(fe){if(this.prev<E.catchLoc)return p(E.catchLoc,!0)}else{if(!he)throw new Error("try statement without catch or finally");if(this.prev<E.finallyLoc)return p(E.finallyLoc)}}}},abrupt:function(r,u){for(var p=this.tryEntries.length-1;p>=0;--p){var v=this.tryEntries[p];if(v.tryLoc<=this.prev&&e.call(v,"finallyLoc")&&this.prev<v.finallyLoc){var E=v;break}}E&&(r==="break"||r==="continue")&&E.tryLoc<=u&&u<=E.finallyLoc&&(E=null);var B=E?E.completion:{};return B.type=r,B.arg=u,E?(this.method="next",this.next=E.finallyLoc,j):this.complete(B)},complete:function(r,u){if(r.type==="throw")throw r.arg;return r.type==="break"||r.type==="continue"?this.next=r.arg:r.type==="return"?(this.rval=this.arg=r.arg,this.method="return",this.next="end"):r.type==="normal"&&u&&(this.next=u),j},finish:function(r){for(var u=this.tryEntries.length-1;u>=0;--u){var p=this.tryEntries[u];if(p.finallyLoc===r)return this.complete(p.completion,p.afterLoc),Ie(p),j}},catch:function(r){for(var u=this.tryEntries.length-1;u>=0;--u){var p=this.tryEntries[u];if(p.tryLoc===r){var v=p.completion;if(v.type==="throw"){var E=v.arg;Ie(p)}return E}}throw new Error("illegal catch attempt")},delegateYield:function(r,u,p){return this.delegate={iterator:we(r),resultName:u,nextLoc:p},this.method==="next"&&(this.arg=void 0),j}},s}var pe=_.a.createElement(H.a,{style:{fontSize:24},spin:!0});function Le(s){return s.replace(/\\u([\dA-Za-z]{4})/g,function(M,e){return String.fromCharCode(parseInt("0x"+e))})}function ae(s){s||(s=window.location.search);var M=s.substr(1),e={};return M.split("&").forEach(function(t){var a=t.split("=");e[a[0]]=decodeURIComponent(a[1])}),e}var te={loading:!0,isLarge:!1,showClipBoardBox:!1,transferContent:"",mes:"\u5B9E\u9A8C\u73AF\u5883\u51C6\u5907\u4E2D"},y;(function(s){s[s.SET_LOADING=0]="SET_LOADING",s[s.SET_IS_LARGE=1]="SET_IS_LARGE",s[s.SET_MES=2]="SET_MES",s[s.SET_STATE=3]="SET_STATE",s[s.SHOW_CLIPBOARD_BOX=4]="SHOW_CLIPBOARD_BOX",s[s.SET_TRANSFER_CONTENT=5]="SET_TRANSFER_CONTENT"})(y||(y={}));function $(s,M){switch(M.type){case y.SET_LOADING:return Object(U.a)(Object(U.a)({},s),{},{loading:M.payload});case y.SET_IS_LARGE:return Object(U.a)(Object(U.a)({},s),{},{isLarge:M.payload});case y.SET_MES:return Object(U.a)(Object(U.a)({},s),{},{mes:M.payload});case y.SET_STATE:return Object(U.a)(Object(U.a)({},s),M.payload);case y.SET_TRANSFER_CONTENT:return Object(U.a)(Object(U.a)({},s),{},{transferContent:M.payload});case y.SHOW_CLIPBOARD_BOX:return Object(U.a)(Object(U.a)({},s),{},{showClipBoardBox:M.payload});default:throw new Error}}var J=m.a=function(s){var M=s.vnc_url,e=s.window_vnc_url,t=s.linux_vnc,a=s.taskId,i=Object(k.useRef)(),f=Object(k.useRef)(),c=Object(k.useRef)(),D=Object(k.useReducer)($,te),X=Object(re.a)(D,2),j=X[0],h=X[1],I=Object(k.useState)(0),F=Object(re.a)(I,2),Ee=F[0],ye=F[1],Pe=j.mes,Q=j.loading,We=j.showClipBoardBox,se=j.isLarge,ke=j.transferContent,Fe=Object(k.useState)(0),Ie=Object(re.a)(Fe,2),de=Ie[0],we=Ie[1],Se=Object(k.useRef)(),o=Object(x.m)();Object(k.useEffect)(function(){return window.addEventListener("visibilitychange",r),function(){window.removeEventListener("visibilitychange",r)}},[]);var r=function(b){if(document.visibilityState==="visible"){var K=sessionStorage.vncPageLeaveTime;oe()(new Date).diff(oe()(K),"minutes")>9&&ye(new Date().getTime()),sessionStorage.removeItem("vncPageLeaveTime")}else sessionStorage.vncPageLeaveTime=new Date};function u(){h({type:y.SHOW_CLIPBOARD_BOX,payload:!1})}function p(){h({type:y.SET_IS_LARGE,payload:!se})}function v(l){var b;return i.current&&(b=new q.default(function(K){var ie=Object(_e.a)(K),ge;try{for(ie.s();!(ge=ie.n()).done;){var w=ge.value;(w.target.offsetHeight>0||w.target.offsetWidth>0)&&l._eventHandlers.windowResize()}}catch(Te){ie.e(Te)}finally{ie.f()}}),b.observe(i.current)),b}var E=function(){var l=Object(ne.a)(P().mark(function b(){var K,ie,ge,w;return P().wrap(function(be){for(;;)switch(be.prev=be.next){case 0:return ge=((K=ae())===null||K===void 0?void 0:K.homework_common_id)?{homework_common_id:(ie=ae())===null||ie===void 0?void 0:ie.homework_common_id}:{},be.next=3,Object(z.a)("/api/tasks/".concat(o.taskId||a,"/get_vnc_link.json"),{method:"post",body:Object(U.a)(Object(U.a)({},o),ge)});case 3:if(w=be.sent,!((w==null?void 0:w.status)===-3)){be.next=6;break}return be.abrupt("return",new Promise(function(){var ue=Object(ne.a)(P().mark(function ce(De,Ue){return P().wrap(function(Ce){for(;;)switch(Ce.prev=Ce.next){case 0:R.a.confirm({content:"\u68C0\u6D4B\u5230\u60A8\u5DF2\u7ECF\u5F00\u542F\u4E86\u5176\u4ED6\u5B9E\u9A8C\u73AF\u5883\uFF0C\u8BF7\u5148\u5173\u95ED\u73AF\u5883\u540E\uFF0C\u518D\u8FDE\u63A5",okText:"\u7ACB\u5373\u5173\u95ED",cancelText:"\u7A0D\u540E\u5173\u95ED",onOk:function(){var Ne=Object(ne.a)(P().mark(function xe(){return P().wrap(function(Ae){for(;;)switch(Ae.prev=Ae.next){case 0:return clearTimeout(Se.current),we(0),Ae.next=4,Object(g.e)(o.taskId,w==null?void 0:w.message);case 4:return ye(Ee+1),Ae.abrupt("return");case 6:case"end":return Ae.stop()}},xe)}));function Be(){return Ne.apply(this,arguments)}return Be}()});case 1:case"end":return Ce.stop()}},ce)}));return function(ce,De){return ue.apply(this,arguments)}}()));case 6:if(!((w==null?void 0:w.status)===-1)){be.next=8;break}throw new String(w==null?void 0:w.message);case 8:return S.a.publish("update-windows-time",w==null?void 0:w.data),be.abrupt("return",w);case 10:case"end":return be.stop()}},b)}));return function(){return l.apply(this,arguments)}}();Object(k.useEffect)(function(){var l,b;function K(ue){e&&(W.b.warn("\u7531\u4E8E\u957F\u65F6\u95F4\u672A\u64CD\u4F5C\uFF0C\u8FDE\u63A5\u5931\u6548\uFF0C\u6B63\u5728\u91CD\u65B0\u8FDE\u63A5Windows VNC\u670D\u52A1"),h({type:y.SET_LOADING,payload:!0}),ye(Ee+1))}S.a.subscribe("reset-linux-windows-loading",function(){h({type:y.SET_LOADING,payload:!0})}),S.a.subscribe("reset-linux-windos-vnc",function(){ye(Ee+1)});function ie(){clearTimeout(Se.current),we(100),setTimeout(function(){h({type:y.SET_LOADING,payload:!1})},1300),S.a.subscribe("send-ctrl-alt-delete",function(){var ue;(ue=l)===null||ue===void 0||ue.sendCtrlAltDel()})}function ge(ue){var ce=Le(ue.detail.text);h({type:y.SET_TRANSFER_CONTENT,payload:ce})}if((e||M||t)&&i.current){clearTimeout(Se.current),new Promise(Object(ne.a)(P().mark(function ue(){var ce,De,Ue,Oe,Ce,Ne,Be,xe,Ke,Ae,Ge;return P().wrap(function(Me){for(;;)switch(Me.prev=Me.next){case 0:return ce=ae(),De="",Me.next=4,E();case 4:if(Oe=Me.sent,!t){Me.next=11;break}return c.current.src=(Oe==null||((Ce=Oe.data)===null||Ce===void 0)?void 0:Ce.vnc_url)+"&time="+Date.now(),h({type:y.SET_STATE,payload:{loading:!1,mes:"\u5B9E\u9A8C\u73AF\u5883\u91CD\u7F6E\u4E2D"}}),Me.abrupt("return");case 11:e?(Ue="Edu123",De=decodeURIComponent(Oe==null||((Ne=Oe.data)===null||Ne===void 0)?void 0:Ne.vnc_url)):(xe=new URL(decodeURIComponent(Oe==null||((Be=Oe.data)===null||Be===void 0)?void 0:Be.vnc_url)),Ke=xe.protocol,Ae=xe.searchParams,Ge=xe.host,Ue=Ae.get("password"),De="".concat(Ke==="https:"?"wss":"ws","://").concat(Ge,"/").concat(ce.path||"websockify"));case 12:l=new A.a(i.current,De,{credentials:{password:Ue},wsProtocols:["binary"]}),b=v(l),l.viewOnly=ce.view_only||!1,e?l.scaleViewport=!0:l.scaleViewport=ce.scale||!1,l.scaleViewport=ce.scale||!0,l.resizeSession=!0,f.current=l,l.addEventListener("disconnect",K),l.addEventListener("connect",ie),l.addEventListener("clipboard",ge);case 22:case"end":return Me.stop()}},ue)})));var w=S.a.subscribe("vnc-reseting",function(){we(0),h({type:y.SET_STATE,payload:{loading:!0,mes:"\u5B9E\u9A8C\u73AF\u5883\u91CD\u7F6E\u4E2D"}})}),Te=S.a.subscribe("vnc-enlarge",function(){h({type:y.SET_IS_LARGE,payload:!0})}),be=S.a.subscribe("show-clipboard-box",function(){h({type:y.SHOW_CLIPBOARD_BOX,payload:!0})});return we(0),function(){var ue,ce,De,Ue;(ue=l)===null||ue===void 0||ue.removeEventListener("disconnect",K),(ce=l)===null||ce===void 0||ce.removeEventListener("connect",ie),(De=l)===null||De===void 0||De.removeEventListener("clipboard",ge),w(),Te(),be(),(Ue=b)===null||Ue===void 0||Ue.unobserve(i.current)}}},[M,e,t,Ee]);function B(l){var b;(b=f.current)===null||b===void 0||b.clipboardPasteFrom(l),h({type:y.SET_TRANSFER_CONTENT,payload:l}),W.b.success("\u4FDD\u5B58\u6210\u529F\uFF01\u4F60\u53EF\u4EE5\u5728\u5B9E\u9A8C\u73AF\u5883\u4E2D\u7C98\u8D34\u8BE5\u5185\u5BB9"),u()}Object(k.useEffect)(function(){de==0&&(clearTimeout(Se.current),fe())},[de]);var fe=function l(){de>99?de=99:(de=de+1,Se.current=setTimeout(function(){l()},1500)),de<100&&we(de)},he=Object(k.useMemo)(function(){return Q?"none":t?"block":"none"},[t,Q]);return _.a.createElement(k.Fragment,null,se&&_.a.createElement("a",{className:"btn-vnc-resize",onClick:p},_.a.createElement("i",{className:"iconfont icon-tuichuquanping"})),_.a.createElement("iframe",{style:{display:he,position:se?"fixed":"absolute",left:0,top:se?54:40,zIndex:6,width:"100%",height:"calc(100% - ".concat(se?"100px":"45px",")")},frameBorder:"0",ref:c}),_.a.createElement("div",{style:{position:se?"fixed":"absolute",left:0,top:se?54:40,zIndex:5,width:"100%",height:"calc(100% - ".concat(se?"100px":"45px",")")},className:"".concat(e?"vnc-panel-wrapper-windows":"vnc-panel-wrapper"," ").concat(se?"full-screen":"")},Q?_.a.createElement(ve.a,{message:Pe,style:{color:"#4CACFF"}},_.a.createElement("div",{className:"tc",style:{width:500,margin:"0 auto",color:"#FFF"}},_.a.createElement(d.a,{percent:de,format:function(b){return _.a.createElement("span",{className:"c-white"},b,"%")}}))):null,_.a.createElement("div",{ref:i,className:"vnc-panel ".concat(Q?"hide":"animated fadeIn")})),_.a.createElement(je.a,null,_.a.createElement(R.a,{title:"\u590D\u5236\u7C98\u8D34",centered:!0,maskClosable:!1,visible:We,onCancel:u,footer:null},_.a.createElement(C,{onCancel:u,onSave:B,content:ke}))))}}}]);
|