{ "_type": "Project", "_id": "AAAAAAFF+h6SjaM2Hec=", "name": "stormchat", "ownedElements": [ { "_type": "UMLModel", "_id": "AAAAAAFF+qBWK6M3Z8Y=", "_parent": { "$ref": "AAAAAAFF+h6SjaM2Hec=" }, "name": "server", "ownedElements": [ { "_type": "UMLClassDiagram", "_id": "AAAAAAFm+G3MId0ghoE=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "storm-server", "ownedViews": [ { "_type": "UMLClassView", "_id": "AAAAAAFm+LRASuNkAdE=", "_parent": { "$ref": "AAAAAAFm+G3MId0ghoE=" }, "model": { "$ref": "AAAAAAFm+LRASeNiRy4=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFm+LRASuNlAdM=", "_parent": { "$ref": "AAAAAAFm+LRASuNkAdE=" }, "model": { "$ref": "AAAAAAFm+LRASeNiRy4=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFm+LRASuNmzYA=", "_parent": { "$ref": "AAAAAAFm+LRASuNlAdM=" }, "visible": false, "font": "Arial;13;0", "left": 32, "top": -48, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFm+LRASuNnrf0=", "_parent": { "$ref": "AAAAAAFm+LRASuNlAdM=" }, "font": "Arial;13;1", "left": 301, "top": 151, "width": 390, "height": 13, "text": "StormServer" }, { "_type": "LabelView", "_id": "AAAAAAFm+LRASuNo+YA=", "_parent": { "$ref": "AAAAAAFm+LRASuNlAdM=" }, "visible": false, "font": "Arial;13;0", "left": 32, "top": -48, "width": 74.38818359375, "height": 13, "text": "(from server)" }, { "_type": "LabelView", "_id": "AAAAAAFm+LRASuNpL9Q=", "_parent": { "$ref": "AAAAAAFm+LRASuNlAdM=" }, "visible": false, "font": "Arial;13;0", "left": 32, "top": -48, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 296, "top": 144, "width": 400, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFm+LRASuNmzYA=" }, "nameLabel": { "$ref": "AAAAAAFm+LRASuNnrf0=" }, "namespaceLabel": { "$ref": "AAAAAAFm+LRASuNo+YA=" }, "propertyLabel": { "$ref": "AAAAAAFm+LRASuNpL9Q=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFm+LRAS+NqEJk=", "_parent": { "$ref": "AAAAAAFm+LRASuNkAdE=" }, "model": { "$ref": "AAAAAAFm+LRASeNiRy4=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFm+LoO8+ORHu4=", "_parent": { "$ref": "AAAAAAFm+LRAS+NqEJk=" }, "model": { "$ref": "AAAAAAFm+LoOseOOhqY=" }, "font": "Arial;13;0", "left": 301, "top": 174, "width": 390, "height": 13, "text": "+ChatMap[]: StormChat", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 296, "top": 169, "width": 400, "height": 23 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFm+LRAS+NrDlI=", "_parent": { "$ref": "AAAAAAFm+LRASuNkAdE=" }, "model": { "$ref": "AAAAAAFm+LRASeNiRy4=" }, "subViews": [ { "_type": "UMLOperationView", "_id": "AAAAAAFm+LojluOXF1w=", "_parent": { "$ref": "AAAAAAFm+LRAS+NrDlI=" }, "model": { "$ref": "AAAAAAFm+LojWOOU4vE=" }, "font": "Arial;13;0", "left": 301, "top": 197, "width": 390, "height": 13, "text": "+Destroy()", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 296, "top": 192, "width": 400, "height": 23 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFm+LRAS+NsLsE=", "_parent": { "$ref": "AAAAAAFm+LRASuNkAdE=" }, "model": { "$ref": "AAAAAAFm+LRASeNiRy4=" }, "visible": false, "font": "Arial;13;0", "left": 16, "top": -24, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFm+LRAS+Ntj4E=", "_parent": { "$ref": "AAAAAAFm+LRASuNkAdE=" }, "model": { "$ref": "AAAAAAFm+LRASeNiRy4=" }, "visible": false, "font": "Arial;13;0", "left": 16, "top": -24, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 296, "top": 144, "width": 400, "height": 248, "nameCompartment": { "$ref": "AAAAAAFm+LRASuNlAdM=" }, "attributeCompartment": { "$ref": "AAAAAAFm+LRAS+NqEJk=" }, "operationCompartment": { "$ref": "AAAAAAFm+LRAS+NrDlI=" }, "receptionCompartment": { "$ref": "AAAAAAFm+LRAS+NsLsE=" }, "templateParameterCompartment": { "$ref": "AAAAAAFm+LRAS+Ntj4E=" } } ] }, { "_type": "UMLClassDiagram", "_id": "AAAAAAFm+G804d1aFHo=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "session", "ownedViews": [ { "_type": "UMLClassView", "_id": "AAAAAAFnEWVvaYWDNMI=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "model": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnEWVvaYWEvNM=", "_parent": { "$ref": "AAAAAAFnEWVvaYWDNMI=" }, "model": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnEWVvaYWFQ48=", "_parent": { "$ref": "AAAAAAFnEWVvaYWEvNM=" }, "visible": false, "font": "Arial;13;0", "left": -208, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnEWVvaYWGa8U=", "_parent": { "$ref": "AAAAAAFnEWVvaYWEvNM=" }, "font": "Arial;13;1", "left": 245, "top": 127, "width": 391, "height": 13, "text": "StormChat" }, { "_type": "LabelView", "_id": "AAAAAAFnEWVvaYWH67o=", "_parent": { "$ref": "AAAAAAFnEWVvaYWEvNM=" }, "visible": false, "font": "Arial;13;0", "left": -208, "width": 74.38818359375, "height": 13, "text": "(from server)" }, { "_type": "LabelView", "_id": "AAAAAAFnEWVvaoWIAy0=", "_parent": { "$ref": "AAAAAAFnEWVvaYWEvNM=" }, "visible": false, "font": "Arial;13;0", "left": -208, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 240, "top": 120, "width": 401, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnEWVvaYWFQ48=" }, "nameLabel": { "$ref": "AAAAAAFnEWVvaYWGa8U=" }, "namespaceLabel": { "$ref": "AAAAAAFnEWVvaYWH67o=" }, "propertyLabel": { "$ref": "AAAAAAFnEWVvaoWIAy0=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnEWVvaoWJSV8=", "_parent": { "$ref": "AAAAAAFnEWVvaYWDNMI=" }, "model": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnEWnZuIWu4k8=", "_parent": { "$ref": "AAAAAAFnEWVvaoWJSV8=" }, "model": { "$ref": "AAAAAAFnEWnZiIWryTE=" }, "font": "Arial;13;0", "left": 245, "top": 150, "width": 391, "height": 13, "text": "+Sender: UserInfo", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnEWyr3YYLWDo=", "_parent": { "$ref": "AAAAAAFnEWVvaoWJSV8=" }, "model": { "$ref": "AAAAAAFnEWyrloYIf2g=" }, "font": "Arial;13;0", "left": 245, "top": 165, "width": 391, "height": 13, "text": "+Receiver: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnEWznUIYSe8c=", "_parent": { "$ref": "AAAAAAFnEWVvaoWJSV8=" }, "model": { "$ref": "AAAAAAFnEWznDoYPN0I=" }, "font": "Arial;13;0", "left": 245, "top": 180, "width": 391, "height": 13, "text": "+Addr: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnEWz5VoYZQ9o=", "_parent": { "$ref": "AAAAAAFnEWVvaoWJSV8=" }, "model": { "$ref": "AAAAAAFnEWz5PYYWY/c=" }, "font": "Arial;13;0", "left": 245, "top": 195, "width": 391, "height": 13, "text": "+Conn: net.TCPConn", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnEW141YYh7Jo=", "_parent": { "$ref": "AAAAAAFnEWVvaoWJSV8=" }, "model": { "$ref": "AAAAAAFnEW14k4Ye2rE=" }, "font": "Arial;13;0", "left": 245, "top": 210, "width": 391, "height": 13, "text": "+Status", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnSakoDABAPV4=", "_parent": { "$ref": "AAAAAAFnEWVvaoWJSV8=" }, "model": { "$ref": "AAAAAAFnSaknzQA9h10=" }, "font": "Arial;13;0", "left": 245, "top": 225, "width": 391, "height": 13, "text": "+WriteChan", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnSaeIlPzlSEA=", "_parent": { "$ref": "AAAAAAFnEWVvaoWJSV8=" }, "model": { "$ref": "AAAAAAFnSaeIUPziNPs=" }, "font": "Arial;13;0", "left": 245, "top": 240, "width": 391, "height": 13, "text": "+StopChan", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 240, "top": 145, "width": 401, "height": 113 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnEWVvaoWKnDU=", "_parent": { "$ref": "AAAAAAFnEWVvaYWDNMI=" }, "model": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "subViews": [ { "_type": "UMLOperationView", "_id": "AAAAAAFnEXFVPIdhRko=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXFU9odeVIE=" }, "font": "Arial;13;0", "left": 245, "top": 263, "width": 391, "height": 13, "text": "+ReceiveLoop()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXF4xoeG8/s=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXF4d4eDYps=" }, "font": "Arial;13;0", "left": 245, "top": 278, "width": 391, "height": 13, "text": "+SendLoop()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXJj+YgFy2A=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXJjtIgC21E=" }, "font": "Arial;13;0", "left": 245, "top": 293, "width": 391, "height": 13, "text": "+PingHandler()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXKIWogqe3s=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXKIBognOsg=" }, "font": "Arial;13;0", "left": 245, "top": 308, "width": 391, "height": 13, "text": "+LoginHandler(headInfo: HeadInfo)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnvB8JN99v6ag=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnvB8I/99sBJY=" }, "font": "Arial;13;0", "left": 245, "top": 323, "width": 391, "height": 13, "text": "+Login2Handler(headInfo: HeadInfo)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXKo6ohGQYg=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXKo04hDb4A=" }, "font": "Arial;13;0", "left": 245, "top": 338, "width": 391, "height": 13, "text": "+LogoutHandler(HeadInfo)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXLkG4hi+ac=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXLkBIhfO7A=" }, "font": "Arial;13;0", "left": 245, "top": 353, "width": 391, "height": 13, "text": "+MessageHandler(HeadInfo)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnNJrkCs+fRlk=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnNJrjwc+cZXA=" }, "font": "Arial;13;0", "left": 245, "top": 368, "width": 391, "height": 13, "text": "+GetUserListHandler()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnNJx3l9BwN+Q=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnNJx3VtBtnX4=" }, "font": "Arial;13;0", "left": 245, "top": 383, "width": 391, "height": 13, "text": "+GetUserPhotoHandler()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnNEUs4sNNKas=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnNEUsocNKo78=" }, "font": "Arial;13;0", "left": 245, "top": 398, "width": 391, "height": 13, "text": "+UpdateUserInfoHandler(head, data)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnvB+A/+B99ho=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnvB+AzuB6Egg=" }, "font": "Arial;13;0", "left": 245, "top": 413, "width": 391, "height": 13, "text": "+GetUsersHandler()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXaxnIpTtYI=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXaxZopQL7c=" }, "font": "Arial;13;0", "left": 245, "top": 428, "width": 391, "height": 13, "text": "+TransMessage(msg: Message)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnHQDeUcF39L8=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnHOHLVLx/3c8=" }, "font": "Arial;13;0", "left": 245, "top": 443, "width": 391, "height": 13, "text": "+TransUnreadedMessages(user: UserInfo)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXYsYYogyBw=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXYsG4odrxk=" }, "font": "Arial;13;0", "left": 245, "top": 458, "width": 391, "height": 13, "text": "+Offline(oldChat: StormChat)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXWjvYnNnY8=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXWjeInK3VY=" }, "font": "Arial;13;0", "left": 245, "top": 473, "width": 391, "height": 13, "text": "+SendData(HeadInfo, data []byte)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXSNEomVoYs=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXSMy4mSlKM=" }, "font": "Arial;13;0", "left": 245, "top": 488, "width": 391, "height": 13, "text": "+SendPanic(curOperation: string, err: string)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXPIjokF61M=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXPIW4kCkf0=" }, "font": "Arial;13;0", "left": 245, "top": 503, "width": 391, "height": 13, "text": "-send(byte[*], []byte)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXGVXIeiwzs=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXGVR4efI0Q=" }, "font": "Arial;13;0", "left": 245, "top": 518, "width": 391, "height": 13, "text": "-waitData()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnEXOCAojXmGU=", "_parent": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "model": { "$ref": "AAAAAAFnEXOBu4jUIMs=" }, "font": "Arial;13;0", "left": 245, "top": 533, "width": 391, "height": 13, "text": "-readDataWithLength(maxLength: int16)", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 240, "top": 258, "width": 401, "height": 293 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnEWVvaoWLRA0=", "_parent": { "$ref": "AAAAAAFnEWVvaYWDNMI=" }, "model": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "visible": false, "font": "Arial;13;0", "left": -112, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnEWVvaoWMG6E=", "_parent": { "$ref": "AAAAAAFnEWVvaYWDNMI=" }, "model": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "visible": false, "font": "Arial;13;0", "left": -112, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 240, "top": 120, "width": 401, "height": 681, "nameCompartment": { "$ref": "AAAAAAFnEWVvaYWEvNM=" }, "attributeCompartment": { "$ref": "AAAAAAFnEWVvaoWJSV8=" }, "operationCompartment": { "$ref": "AAAAAAFnEWVvaoWKnDU=" }, "receptionCompartment": { "$ref": "AAAAAAFnEWVvaoWLRA0=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnEWVvaoWMG6E=" } }, { "_type": "UMLEnumerationView", "_id": "AAAAAAFnEW3HG4Yn2uw=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "model": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnEW3HG4YowBo=", "_parent": { "$ref": "AAAAAAFnEW3HG4Yn2uw=" }, "model": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnEW3HG4YpU54=", "_parent": { "$ref": "AAAAAAFnEW3HG4YowBo=" }, "font": "Arial;13;0", "left": 21, "top": 125, "width": 151, "height": 13, "text": "«enumeration»" }, { "_type": "LabelView", "_id": "AAAAAAFnEW3HG4YqruA=", "_parent": { "$ref": "AAAAAAFnEW3HG4YowBo=" }, "font": "Arial;13;1", "left": 21, "top": 140, "width": 151, "height": 13, "text": "ChatStatus" }, { "_type": "LabelView", "_id": "AAAAAAFnEW3HG4YrANU=", "_parent": { "$ref": "AAAAAAFnEW3HG4YowBo=" }, "visible": false, "font": "Arial;13;0", "left": -1808, "width": 74.38818359375, "height": 13, "text": "(from server)" }, { "_type": "LabelView", "_id": "AAAAAAFnEW3HG4YsudY=", "_parent": { "$ref": "AAAAAAFnEW3HG4YowBo=" }, "visible": false, "font": "Arial;13;0", "left": -1808, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 16, "top": 120, "width": 161, "height": 38, "stereotypeLabel": { "$ref": "AAAAAAFnEW3HG4YpU54=" }, "nameLabel": { "$ref": "AAAAAAFnEW3HG4YqruA=" }, "namespaceLabel": { "$ref": "AAAAAAFnEW3HG4YrANU=" }, "propertyLabel": { "$ref": "AAAAAAFnEW3HG4YsudY=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnEW3HG4Yt1ZQ=", "_parent": { "$ref": "AAAAAAFnEW3HG4Yn2uw=" }, "model": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "visible": false, "font": "Arial;13;0", "left": -904, "width": 10, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnEW3HG4YuReM=", "_parent": { "$ref": "AAAAAAFnEW3HG4Yn2uw=" }, "model": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "visible": false, "font": "Arial;13;0", "left": -904, "width": 10, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnEW3HG4YvUCk=", "_parent": { "$ref": "AAAAAAFnEW3HG4Yn2uw=" }, "model": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "visible": false, "font": "Arial;13;0", "left": -904, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnEW3HG4YwyUg=", "_parent": { "$ref": "AAAAAAFnEW3HG4Yn2uw=" }, "model": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "visible": false, "font": "Arial;13;0", "left": -904, "width": 10, "height": 10 }, { "_type": "UMLEnumerationLiteralCompartmentView", "_id": "AAAAAAFnEW3HHIYx9Bc=", "_parent": { "$ref": "AAAAAAFnEW3HG4Yn2uw=" }, "model": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "subViews": [ { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnEW53C4ZdZic=", "_parent": { "$ref": "AAAAAAFnEW3HHIYx9Bc=" }, "model": { "$ref": "AAAAAAFnEW52y4Zawso=" }, "font": "Arial;13;0", "left": 21, "top": 163, "width": 151, "height": 13, "text": "Created", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnEW6k5IZkTT8=", "_parent": { "$ref": "AAAAAAFnEW3HHIYx9Bc=" }, "model": { "$ref": "AAAAAAFnEW6ksIZhQUw=" }, "font": "Arial;13;0", "left": 21, "top": 178, "width": 151, "height": 13, "text": "Running", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnEW62zYZra8g=", "_parent": { "$ref": "AAAAAAFnEW3HHIYx9Bc=" }, "model": { "$ref": "AAAAAAFnEW62tYZoR1g=" }, "font": "Arial;13;0", "left": 21, "top": 193, "width": 151, "height": 13, "text": "Stopped", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnEW8SL4Zy0wI=", "_parent": { "$ref": "AAAAAAFnEW3HHIYx9Bc=" }, "model": { "$ref": "AAAAAAFnEW8R8oZvC94=" }, "font": "Arial;13;0", "left": 21, "top": 208, "width": 151, "height": 13, "text": "RecvClosed", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnEW/+Z4Z7+tI=", "_parent": { "$ref": "AAAAAAFnEW3HHIYx9Bc=" }, "model": { "$ref": "AAAAAAFnEW/+IoZ4QEo=" }, "font": "Arial;13;0", "left": 21, "top": 223, "width": 151, "height": 13, "text": "Destroyed", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 16, "top": 158, "width": 161, "height": 83 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 16, "top": 120, "width": 161, "height": 153, "nameCompartment": { "$ref": "AAAAAAFnEW3HG4YowBo=" }, "suppressAttributes": true, "suppressOperations": true, "attributeCompartment": { "$ref": "AAAAAAFnEW3HG4Yt1ZQ=" }, "operationCompartment": { "$ref": "AAAAAAFnEW3HG4YuReM=" }, "receptionCompartment": { "$ref": "AAAAAAFnEW3HG4YvUCk=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnEW3HG4YwyUg=" }, "enumerationLiteralCompartment": { "$ref": "AAAAAAFnEW3HHIYx9Bc=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF5+zJ/7OaVE=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 120, "width": 333.751953125, "height": 25, "text": "StormChat,一个session,处理一个客户的事务" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6ENK//d+34=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 168, "width": 333.751953125, "height": 25, "text": "Sender,消息发送者(客户身份)" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6Hr2AAf67s=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 192, "width": 333.751953125, "height": 25, "text": "Receiver,消息接收者" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6KV2ACdnAQ=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 216, "width": 333.751953125, "height": 25, "text": "Addr,远程客户端地址" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6MOVAEKugk=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 240, "width": 333.751953125, "height": 25, "text": "Conn,与客户的TCP连接" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6NiewE0GSE=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 264, "width": 333.751953125, "height": 25, "text": "Status,当前Session状态" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6Pb7QFi4aE=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 352, "width": 333.751953125, "height": 25, "text": "ReceiveLoop(),消息接收循环线程" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6RUcwGVIQQ=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 376, "width": 333.751953125, "height": 25, "text": "SendLoop(),消息发送循环线程" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6TqyAHObCE=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 400, "width": 333.751953125, "height": 25, "text": "PingHandler(),心跳包到达事件处理函数" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6VrhwIB0Cg=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 424, "width": 333.751953125, "height": 25, "text": "LoginHandler(),登录请求处理函数" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6X5OAJEG9U=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 472, "width": 333.751953125, "height": 25, "text": "LogoutHandler(),登出请求处理函数" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6ZBQAJo5+k=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 496, "width": 333.751953125, "height": 25, "text": "MessageHandler(),消息到达处理函数" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF6asewKS0sI=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 616, "width": 333.751953125, "height": 25, "text": "TransMessage(),转发消息到目标客户" }, { "_type": "UMLClassView", "_id": "AAAAAAFnF6x5vANWYps=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "model": { "$ref": "AAAAAAFnF6x5vANUQRA=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnF6x5vANXN80=", "_parent": { "$ref": "AAAAAAFnF6x5vANWYps=" }, "model": { "$ref": "AAAAAAFnF6x5vANUQRA=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnF6x5vANYfYI=", "_parent": { "$ref": "AAAAAAFnF6x5vANXN80=" }, "visible": false, "font": "Arial;13;0", "top": -48, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnF6x5vANZHJk=", "_parent": { "$ref": "AAAAAAFnF6x5vANXN80=" }, "font": "Arial;13;1", "left": 21, "top": 295, "width": 151, "height": 13, "text": "HeadInfo" }, { "_type": "LabelView", "_id": "AAAAAAFnF6x5vANae7A=", "_parent": { "$ref": "AAAAAAFnF6x5vANXN80=" }, "visible": false, "font": "Arial;13;0", "top": -48, "width": 74.38818359375, "height": 13, "text": "(from server)" }, { "_type": "LabelView", "_id": "AAAAAAFnF6x5vANblg4=", "_parent": { "$ref": "AAAAAAFnF6x5vANXN80=" }, "visible": false, "font": "Arial;13;0", "top": -48, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 16, "top": 288, "width": 161, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnF6x5vANYfYI=" }, "nameLabel": { "$ref": "AAAAAAFnF6x5vANZHJk=" }, "namespaceLabel": { "$ref": "AAAAAAFnF6x5vANae7A=" }, "propertyLabel": { "$ref": "AAAAAAFnF6x5vANblg4=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnF6x5vANcRXM=", "_parent": { "$ref": "AAAAAAFnF6x5vANWYps=" }, "model": { "$ref": "AAAAAAFnF6x5vANUQRA=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnF64oJAWmnmw=", "_parent": { "$ref": "AAAAAAFnF6x5vANcRXM=" }, "model": { "$ref": "AAAAAAFnF64n4gWgwPM=" }, "font": "Arial;13;0", "left": 21, "top": 318, "width": 151, "height": 13, "text": "+map[string]string", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 16, "top": 313, "width": 161, "height": 23 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnF6x5vQNdv24=", "_parent": { "$ref": "AAAAAAFnF6x5vANWYps=" }, "model": { "$ref": "AAAAAAFnF6x5vANUQRA=" }, "font": "Arial;13;0", "left": 16, "top": 336, "width": 161, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnF6x5vQNeSmU=", "_parent": { "$ref": "AAAAAAFnF6x5vANWYps=" }, "model": { "$ref": "AAAAAAFnF6x5vANUQRA=" }, "visible": false, "font": "Arial;13;0", "top": -24, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnF6x5vQNfrqg=", "_parent": { "$ref": "AAAAAAFnF6x5vANWYps=" }, "model": { "$ref": "AAAAAAFnF6x5vANUQRA=" }, "visible": false, "font": "Arial;13;0", "top": -24, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 16, "top": 288, "width": 161, "height": 105, "nameCompartment": { "$ref": "AAAAAAFnF6x5vANXN80=" }, "attributeCompartment": { "$ref": "AAAAAAFnF6x5vANcRXM=" }, "operationCompartment": { "$ref": "AAAAAAFnF6x5vQNdv24=" }, "receptionCompartment": { "$ref": "AAAAAAFnF6x5vQNeSmU=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnF6x5vQNfrqg=" } }, { "_type": "UMLTextView", "_id": "AAAAAAFnF6yirgOTEb0=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 16, "top": 352, "width": 160.9599609375, "height": 32, "text": "解析JSON得到的map数据" }, { "_type": "UMLAssociationView", "_id": "AAAAAAFnF63FfgTH+e0=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "model": { "$ref": "AAAAAAFnF63FfQTDJrc=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTILqA=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTDJrc=" }, "visible": false, "font": "Arial;13;0", "left": 202, "top": 387, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTJkX8=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTDJrc=" }, "visible": null, "font": "Arial;13;0", "left": 197, "top": 401, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTKgWc=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTDJrc=" }, "visible": false, "font": "Arial;13;0", "left": 213, "top": 358, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTLMCU=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTEm/8=" }, "visible": false, "font": "Arial;13;0", "left": 209, "top": 389, "height": 13, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTMg6c=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTEm/8=" }, "visible": false, "font": "Arial;13;0", "left": 202, "top": 401, "height": 13, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTNPVI=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTEm/8=" }, "visible": false, "font": "Arial;13;0", "left": 222, "top": 364, "height": 13, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTOy8Y=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTFJFk=" }, "visible": false, "font": "Arial;13;0", "left": 196, "top": 384, "height": 13, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTPuOs=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTFJFk=" }, "visible": false, "font": "Arial;13;0", "left": 194, "top": 398, "height": 13, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnF63FfgTQfZM=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTFJFk=" }, "visible": false, "font": "Arial;13;0", "left": 201, "top": 357, "height": 13, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnF63FfgTH+e0=" } }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnF63FfgTR3cE=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTEm/8=" }, "visible": false, "font": "Arial;13;0", "width": 10, "height": 10 }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnF63FfgTS0WM=", "_parent": { "$ref": "AAAAAAFnF63FfgTH+e0=" }, "model": { "$ref": "AAAAAAFnF63FfQTFJFk=" }, "visible": false, "font": "Arial;13;0", "width": 10, "height": 10 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnF6x5vANWYps=" }, "tail": { "$ref": "AAAAAAFnEWVvaYWDNMI=" }, "lineStyle": 1, "points": "239:390;177:368", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFnF63FfgTILqA=" }, "stereotypeLabel": { "$ref": "AAAAAAFnF63FfgTJkX8=" }, "propertyLabel": { "$ref": "AAAAAAFnF63FfgTKgWc=" }, "tailRoleNameLabel": { "$ref": "AAAAAAFnF63FfgTLMCU=" }, "tailPropertyLabel": { "$ref": "AAAAAAFnF63FfgTMg6c=" }, "tailMultiplicityLabel": { "$ref": "AAAAAAFnF63FfgTNPVI=" }, "headRoleNameLabel": { "$ref": "AAAAAAFnF63FfgTOy8Y=" }, "headPropertyLabel": { "$ref": "AAAAAAFnF63FfgTPuOs=" }, "headMultiplicityLabel": { "$ref": "AAAAAAFnF63FfgTQfZM=" }, "tailQualifiersCompartment": { "$ref": "AAAAAAFnF63FfgTR3cE=" }, "headQualifiersCompartment": { "$ref": "AAAAAAFnF63FfgTS0WM=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF7W+vguHgVA=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 664, "width": 333.751953125, "height": 25, "text": "Offline(),勒令用户下线" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF7ab/AvV55A=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 688, "width": 333.751953125, "height": 25, "text": "SendData(),发送数据到客户端" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF7gWbA6pwnE=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 712, "width": 333.751953125, "height": 25, "text": "SendPanic(),发送Panic消息到客户端,断开连接" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF7jcJQ9AuyM=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 768, "width": 333.751953125, "height": 25, "text": "waitData(),等待客户端数据,并监控Status变化" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF7swshEZ84s=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 744, "width": 333.751953125, "height": 25, "text": "send(),将要发送给客户端的数据发送到写循环线程" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF75+CBdmdQM=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 792, "width": 333.751953125, "height": 25, "text": "readDataWinthLength(),从TCP连接中读出数据" }, { "_type": "UMLAssociationView", "_id": "AAAAAAFnHGiwobHwLWA=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "model": { "$ref": "AAAAAAFnHGiwoLHsuQA=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobHx8bY=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHsuQA=" }, "visible": false, "font": "Arial;13;0", "left": 198, "top": 287, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobHyv+o=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHsuQA=" }, "visible": null, "font": "Arial;13;0", "left": 189, "top": 299, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobHzaZA=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHsuQA=" }, "visible": false, "font": "Arial;13;0", "left": 217, "top": 264, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobH0Pu8=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHtB+k=" }, "visible": false, "font": "Arial;13;0", "left": 209, "top": 295, "height": 13, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobH1mwk=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHtB+k=" }, "visible": false, "font": "Arial;13;0", "left": 199, "top": 305, "height": 13, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobH2emA=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHtB+k=" }, "visible": false, "font": "Arial;13;0", "left": 229, "top": 276, "height": 13, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobH38DY=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHuup8=" }, "visible": false, "font": "Arial;13;0", "left": 188, "top": 279, "height": 13, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobH47Y8=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHuup8=" }, "visible": false, "font": "Arial;13;0", "left": 182, "top": 291, "height": 13, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGiwobH5v4M=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHuup8=" }, "visible": false, "font": "Arial;13;0", "left": 201, "top": 255, "height": 13, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnHGiwobHwLWA=" } }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnHGiwobH6SAQ=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHtB+k=" }, "visible": false, "font": "Arial;13;0", "width": 10, "height": 10 }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnHGiwobH7Acc=", "_parent": { "$ref": "AAAAAAFnHGiwobHwLWA=" }, "model": { "$ref": "AAAAAAFnHGiwoLHuup8=" }, "visible": false, "font": "Arial;13;0", "width": 10, "height": 10 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnEW3HG4Yn2uw=" }, "tail": { "$ref": "AAAAAAFnEWVvaYWDNMI=" }, "lineStyle": 1, "points": "239:306;177:258", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFnHGiwobHx8bY=" }, "stereotypeLabel": { "$ref": "AAAAAAFnHGiwobHyv+o=" }, "propertyLabel": { "$ref": "AAAAAAFnHGiwobHzaZA=" }, "tailRoleNameLabel": { "$ref": "AAAAAAFnHGiwobH0Pu8=" }, "tailPropertyLabel": { "$ref": "AAAAAAFnHGiwobH1mwk=" }, "tailMultiplicityLabel": { "$ref": "AAAAAAFnHGiwobH2emA=" }, "headRoleNameLabel": { "$ref": "AAAAAAFnHGiwobH38DY=" }, "headPropertyLabel": { "$ref": "AAAAAAFnHGiwobH47Y8=" }, "headMultiplicityLabel": { "$ref": "AAAAAAFnHGiwobH5v4M=" }, "tailQualifiersCompartment": { "$ref": "AAAAAAFnHGiwobH6SAQ=" }, "headQualifiersCompartment": { "$ref": "AAAAAAFnHGiwobH7Acc=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHOKpEL3X7TU=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 640, "width": 333.751953125, "height": 25, "text": "TransUnreadedMessages(),用户登录时转发未读消息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNEYMi8SAYDA=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 568, "width": 333.751953125, "height": 25, "text": "UpdateUserInfoHandler(),更新用户信息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNJzn+dG8VUo=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 520, "width": 333.751953125, "height": 25, "text": "GetUserListHandler(),请求好友列表处理函数" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNJz2kdHx7Fc=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 544, "width": 333.751953125, "height": 25, "text": "GetUserPhotoHandler(),请求用户头像处理函数" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnSagt6f+Wz7c=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 288, "width": 333.751953125, "height": 25, "text": "WriteChan,数据发送通道" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnSah+Zf/YZG8=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 312, "width": 333.751953125, "height": 25, "text": "StopChan,写消息循环终止通道,由读循环控制" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvB0JrN2oGL0=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 592, "width": 333.751953125, "height": 25, "text": "GetUsersHandler(),获取(特定/所有)用户信息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvB6LNt6HInk=", "_parent": { "$ref": "AAAAAAFm+G804d1aFHo=" }, "font": "Arial;13;0", "left": 704, "top": 448, "width": 333.751953125, "height": 25, "text": "Login2Handler(),登录请求处理函数(新版)" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFm+LRASeNiRy4=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "StormServer", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFm+LoOseOOhqY=", "_parent": { "$ref": "AAAAAAFm+LRASeNiRy4=" }, "name": "ChatMap[]", "type": "StormChat" } ], "operations": [ { "_type": "UMLOperation", "_id": "AAAAAAFm+LojWOOU4vE=", "_parent": { "$ref": "AAAAAAFm+LRASeNiRy4=" }, "name": "Destroy" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnEWVvaYWB2bQ=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "StormChat", "ownedElements": [ { "_type": "UMLAssociation", "_id": "AAAAAAFnEXBQR4Z/6/w=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnEXBQR4aA5pk=", "_parent": { "$ref": "AAAAAAFnEXBQR4Z/6/w=" }, "reference": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnEXBQR4aBFak=", "_parent": { "$ref": "AAAAAAFnEXBQR4Z/6/w=" }, "reference": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnF63FfQTDJrc=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnF63FfQTEm/8=", "_parent": { "$ref": "AAAAAAFnF63FfQTDJrc=" }, "reference": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnF63FfQTFJFk=", "_parent": { "$ref": "AAAAAAFnF63FfQTDJrc=" }, "reference": { "$ref": "AAAAAAFnF6x5vANUQRA=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnHGiwoLHsuQA=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGiwoLHtB+k=", "_parent": { "$ref": "AAAAAAFnHGiwoLHsuQA=" }, "reference": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGiwoLHuup8=", "_parent": { "$ref": "AAAAAAFnHGiwoLHsuQA=" }, "reference": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "aggregation": "composite" } } ], "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnEWnZiIWryTE=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "Sender", "type": { "$ref": "AAAAAAFnEWqAz4W4XMc=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFnEWyrloYIf2g=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "Receiver", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnEWznDoYPN0I=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "Addr", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnEWz5PYYWY/c=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "Conn", "type": "net.TCPConn" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnEW14k4Ye2rE=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "Status", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnSaknzQA9h10=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "WriteChan", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnSaeIUPziNPs=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "StopChan", "type": "" } ], "operations": [ { "_type": "UMLOperation", "_id": "AAAAAAFnEXFU9odeVIE=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "ReceiveLoop" }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXF4d4eDYps=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "SendLoop" }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXJjtIgC21E=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "PingHandler" }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXKIBognOsg=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "LoginHandler", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnF6u02AMcEJA=", "_parent": { "$ref": "AAAAAAFnEXKIBognOsg=" }, "name": "headInfo", "type": { "$ref": "AAAAAAFnF6x5vANUQRA=" } } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnvB8I/99sBJY=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "Login2Handler", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnvB9WDN+RXos=", "_parent": { "$ref": "AAAAAAFnvB8I/99sBJY=" }, "name": "headInfo", "type": { "$ref": "AAAAAAFnF6x5vANUQRA=" } } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXKo04hDb4A=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "LogoutHandler", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnF6wF9AMxgrc=", "_parent": { "$ref": "AAAAAAFnEXKo04hDb4A=" }, "name": "HeadInfo", "type": "" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXLkBIhfO7A=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "MessageHandler", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnF65/QQYCBK4=", "_parent": { "$ref": "AAAAAAFnEXLkBIhfO7A=" }, "name": "HeadInfo", "type": "" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnNJrjwc+cZXA=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "GetUserListHandler" }, { "_type": "UMLOperation", "_id": "AAAAAAFnNJx3VtBtnX4=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "GetUserPhotoHandler" }, { "_type": "UMLOperation", "_id": "AAAAAAFnNEUsocNKo78=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "UpdateUserInfoHandler", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnNEW7gcOBER4=", "_parent": { "$ref": "AAAAAAFnNEUsocNKo78=" }, "name": "head", "type": "" }, { "_type": "UMLParameter", "_id": "AAAAAAFnNEb1DMTUXeY=", "_parent": { "$ref": "AAAAAAFnNEUsocNKo78=" }, "name": "data", "type": "" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnvB+AzuB6Egg=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "GetUsersHandler" }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXaxZopQL7c=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "TransMessage", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnEXbd94pviZ0=", "_parent": { "$ref": "AAAAAAFnEXaxZopQL7c=" }, "name": "msg", "type": "Message" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnHOHLVLx/3c8=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "TransUnreadedMessages", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnHOI8aLy2EFo=", "_parent": { "$ref": "AAAAAAFnHOHLVLx/3c8=" }, "name": "user", "type": { "$ref": "AAAAAAFnF+MPOh2+3go=" } } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXYsG4odrxk=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "Offline", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnEXZ9u4o8Ohc=", "_parent": { "$ref": "AAAAAAFnEXYsG4odrxk=" }, "name": "oldChat", "type": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" } } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXWjeInK3VY=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "SendData", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnEXX3eonpuE0=", "_parent": { "$ref": "AAAAAAFnEXWjeInK3VY=" }, "name": "HeadInfo", "type": "" }, { "_type": "UMLParameter", "_id": "AAAAAAFnEXX3eonqcX0=", "_parent": { "$ref": "AAAAAAFnEXWjeInK3VY=" }, "name": "data []byte", "type": "" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXSMy4mSlKM=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "SendPanic", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnEXUtBomxzxc=", "_parent": { "$ref": "AAAAAAFnEXSMy4mSlKM=" }, "name": "curOperation", "type": "string" }, { "_type": "UMLParameter", "_id": "AAAAAAFnEXUtB4myJGA=", "_parent": { "$ref": "AAAAAAFnEXSMy4mSlKM=" }, "name": "err", "type": "string" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXPIW4kCkf0=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "send", "visibility": "private", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnEXQAw4kfUOM=", "_parent": { "$ref": "AAAAAAFnEXPIW4kCkf0=" }, "name": "byte", "type": "", "multiplicity": "*" }, { "_type": "UMLParameter", "_id": "AAAAAAFnEXQAxIkgaG8=", "_parent": { "$ref": "AAAAAAFnEXPIW4kCkf0=" }, "name": "[]byte", "type": "" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXGVR4efI0Q=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "waitData", "visibility": "private" }, { "_type": "UMLOperation", "_id": "AAAAAAFnEXOBu4jUIMs=", "_parent": { "$ref": "AAAAAAFnEWVvaYWB2bQ=" }, "name": "readDataWithLength", "visibility": "private", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnF79TahiTxxE=", "_parent": { "$ref": "AAAAAAFnEXOBu4jUIMs=" }, "name": "maxLength", "type": "int16" } ] } ] }, { "_type": "UMLEnumeration", "_id": "AAAAAAFnEW3HGoYlYQQ=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "ChatStatus", "literals": [ { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnEW52y4Zawso=", "_parent": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "name": "Created" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnEW6ksIZhQUw=", "_parent": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "name": "Running" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnEW62tYZoR1g=", "_parent": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "name": "Stopped" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnEW8R8oZvC94=", "_parent": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "name": "RecvClosed" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnEW/+IoZ4QEo=", "_parent": { "$ref": "AAAAAAFnEW3HGoYlYQQ=" }, "name": "Destroyed" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnF6x5vANUQRA=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "HeadInfo", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnF64n4gWgwPM=", "_parent": { "$ref": "AAAAAAFnF6x5vANUQRA=" }, "name": "map[string]string", "type": "" } ] }, { "_type": "UMLClassDiagram", "_id": "AAAAAAFnF7Co3Af+aBY=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "message", "ownedViews": [ { "_type": "UMLClassView", "_id": "AAAAAAFnF7DtHggQ1Is=", "_parent": { "$ref": "AAAAAAFnF7Co3Af+aBY=" }, "model": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnF7DtHggRKdA=", "_parent": { "$ref": "AAAAAAFnF7DtHggQ1Is=" }, "model": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnF7DtHggSnPM=", "_parent": { "$ref": "AAAAAAFnF7DtHggRKdA=" }, "visible": false, "font": "Arial;13;0", "left": -144, "top": -16, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnF7DtHggTdq0=", "_parent": { "$ref": "AAAAAAFnF7DtHggRKdA=" }, "font": "Arial;13;1", "left": 269, "top": 79, "width": 319, "height": 13, "text": "Message" }, { "_type": "LabelView", "_id": "AAAAAAFnF7DtHggUd1Q=", "_parent": { "$ref": "AAAAAAFnF7DtHggRKdA=" }, "visible": false, "font": "Arial;13;0", "left": -144, "top": -16, "width": 74.38818359375, "height": 13, "text": "(from server)" }, { "_type": "LabelView", "_id": "AAAAAAFnF7DtHggVoG8=", "_parent": { "$ref": "AAAAAAFnF7DtHggRKdA=" }, "visible": false, "font": "Arial;13;0", "left": -144, "top": -16, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 264, "top": 72, "width": 329, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnF7DtHggSnPM=" }, "nameLabel": { "$ref": "AAAAAAFnF7DtHggTdq0=" }, "namespaceLabel": { "$ref": "AAAAAAFnF7DtHggUd1Q=" }, "propertyLabel": { "$ref": "AAAAAAFnF7DtHggVoG8=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnF7DtHggWJFs=", "_parent": { "$ref": "AAAAAAFnF7DtHggQ1Is=" }, "model": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnF7ET+wg78tY=", "_parent": { "$ref": "AAAAAAFnF7DtHggWJFs=" }, "model": { "$ref": "AAAAAAFnF7ETugg4dHY=" }, "font": "Arial;13;0", "left": 269, "top": 102, "width": 319, "height": 13, "text": "+When: Time", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnF7GenQhHUsk=", "_parent": { "$ref": "AAAAAAFnF7DtHggWJFs=" }, "model": { "$ref": "AAAAAAFnF7GeYwhE1Wo=" }, "font": "Arial;13;0", "left": 269, "top": 117, "width": 319, "height": 13, "text": "+From UserInfo", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnF8T6shvg9Co=", "_parent": { "$ref": "AAAAAAFnF7DtHggWJFs=" }, "model": { "$ref": "AAAAAAFnF8T6gRvdDz0=" }, "font": "Arial;13;0", "left": 269, "top": 132, "width": 319, "height": 13, "text": "+To: UserInfo", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnF7HqxghOHIY=", "_parent": { "$ref": "AAAAAAFnF7DtHggWJFs=" }, "model": { "$ref": "AAAAAAFnF7HqighLw+E=" }, "font": "Arial;13;0", "left": 269, "top": 147, "width": 319, "height": 13, "text": "+Msg: byte", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 264, "top": 97, "width": 329, "height": 68 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnF7DtHggXvzQ=", "_parent": { "$ref": "AAAAAAFnF7DtHggQ1Is=" }, "model": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "subViews": [ { "_type": "UMLOperationView", "_id": "AAAAAAFnF9MLJRwARgM=", "_parent": { "$ref": "AAAAAAFnF7DtHggXvzQ=" }, "model": { "$ref": "AAAAAAFnF9MK8Bv967Y=" }, "font": "Arial;13;0", "left": 269, "top": 170, "width": 319, "height": 13, "text": "+Save()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnHQDeYsGA+2Y=", "_parent": { "$ref": "AAAAAAFnF7DtHggXvzQ=" }, "model": { "$ref": "AAAAAAFnHME3IbpNHo0=" }, "font": "Arial;13;0", "left": 269, "top": 185, "width": 319, "height": 13, "text": "+QuerySavedMessages(user: UserInfo): Messages", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 264, "top": 165, "width": 329, "height": 38 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnF7DtHggYF1Q=", "_parent": { "$ref": "AAAAAAFnF7DtHggQ1Is=" }, "model": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "visible": false, "font": "Arial;13;0", "left": -72, "top": -8, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnF7DtHggZjZg=", "_parent": { "$ref": "AAAAAAFnF7DtHggQ1Is=" }, "model": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "visible": false, "font": "Arial;13;0", "left": -72, "top": -8, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 264, "top": 72, "width": 329, "height": 265, "nameCompartment": { "$ref": "AAAAAAFnF7DtHggRKdA=" }, "attributeCompartment": { "$ref": "AAAAAAFnF7DtHggWJFs=" }, "operationCompartment": { "$ref": "AAAAAAFnF7DtHggXvzQ=" }, "receptionCompartment": { "$ref": "AAAAAAFnF7DtHggYF1Q=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnF7DtHggZjZg=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF85QHRvogp0=", "_parent": { "$ref": "AAAAAAFnF7Co3Af+aBY=" }, "font": "Arial;13;0", "left": 640, "top": 72, "width": 329, "height": 25, "text": "定义一条客户消息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF86clhvxXrY=", "_parent": { "$ref": "AAAAAAFnF7Co3Af+aBY=" }, "font": "Arial;13;0", "left": 640, "top": 120, "width": 329, "height": 25, "text": "When,服务器接收消息的时间" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF87o0xv3ZVY=", "_parent": { "$ref": "AAAAAAFnF7Co3Af+aBY=" }, "font": "Arial;13;0", "left": 640, "top": 144, "width": 329, "height": 25, "text": "From,消息发送者" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF9NEixwEDYg=", "_parent": { "$ref": "AAAAAAFnF7Co3Af+aBY=" }, "font": "Arial;13;0", "left": 640, "top": 168, "width": 329, "height": 25, "text": "To,消息接收者" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF9RGQRwPf98=", "_parent": { "$ref": "AAAAAAFnF7Co3Af+aBY=" }, "font": "Arial;13;0", "left": 640, "top": 192, "width": 329, "height": 27, "text": "\nMsg,消息内容" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnF9S+txwY94A=", "_parent": { "$ref": "AAAAAAFnF7Co3Af+aBY=" }, "font": "Arial;13;0", "left": 640, "top": 232, "width": 329, "height": 27, "text": "\nSave(),将消息存储到数据库,标准Base64编码" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHMF+ALpXrHw=", "_parent": { "$ref": "AAAAAAFnF7Co3Af+aBY=" }, "font": "Arial;13;0", "left": 640, "top": 256, "width": 355.1689453125, "height": 27, "text": "QuerySavedMessages(),查询用户未读消息,解码后返回" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnF7DtHggOpZA=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "Message", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnF7ETugg4dHY=", "_parent": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "name": "When", "type": "Time" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnF7GeYwhE1Wo=", "_parent": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "name": "From UserInfo", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnF8T6gRvdDz0=", "_parent": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "name": "To", "type": { "$ref": "AAAAAAFnEWqAz4W4XMc=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFnF7HqighLw+E=", "_parent": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "name": "Msg", "type": "byte" } ], "operations": [ { "_type": "UMLOperation", "_id": "AAAAAAFnF9MK8Bv967Y=", "_parent": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "name": "Save" }, { "_type": "UMLOperation", "_id": "AAAAAAFnHME3IbpNHo0=", "_parent": { "$ref": "AAAAAAFnF7DtHggOpZA=" }, "name": "QuerySavedMessages", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnHMFu0rpUNtw=", "_parent": { "$ref": "AAAAAAFnHME3IbpNHo0=" }, "type": "Messages", "direction": "return" }, { "_type": "UMLParameter", "_id": "AAAAAAFnHMO1lbpeGTs=", "_parent": { "$ref": "AAAAAAFnHME3IbpNHo0=" }, "name": "user", "type": { "$ref": "AAAAAAFnF+MPOh2+3go=" } } ] } ] }, { "_type": "UMLClassDiagram", "_id": "AAAAAAFnF+LbDx2rrJU=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "user", "ownedViews": [ { "_type": "UMLClassView", "_id": "AAAAAAFnF+MPOh3Ah9c=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "model": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnF+MPOh3B2qU=", "_parent": { "$ref": "AAAAAAFnF+MPOh3Ah9c=" }, "model": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnF+MPOh3C2a4=", "_parent": { "$ref": "AAAAAAFnF+MPOh3B2qU=" }, "visible": false, "font": "Arial;13;0", "left": -32, "top": -432, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnF+MPOh3D3b4=", "_parent": { "$ref": "AAAAAAFnF+MPOh3B2qU=" }, "font": "Arial;13;1", "left": 365, "top": 111, "width": 279, "height": 13, "text": "UserInfo" }, { "_type": "LabelView", "_id": "AAAAAAFnF+MPOx3ETNU=", "_parent": { "$ref": "AAAAAAFnF+MPOh3B2qU=" }, "visible": false, "font": "Arial;13;0", "left": -32, "top": -432, "width": 74.38818359375, "height": 13, "text": "(from server)" }, { "_type": "LabelView", "_id": "AAAAAAFnF+MPOx3FORU=", "_parent": { "$ref": "AAAAAAFnF+MPOh3B2qU=" }, "visible": false, "font": "Arial;13;0", "left": -32, "top": -432, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 360, "top": 104, "width": 289, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnF+MPOh3C2a4=" }, "nameLabel": { "$ref": "AAAAAAFnF+MPOh3D3b4=" }, "namespaceLabel": { "$ref": "AAAAAAFnF+MPOx3ETNU=" }, "propertyLabel": { "$ref": "AAAAAAFnF+MPOx3FORU=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnF+MPOx3GT1E=", "_parent": { "$ref": "AAAAAAFnF+MPOh3Ah9c=" }, "model": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnHF0praQxI8w=", "_parent": { "$ref": "AAAAAAFnF+MPOx3GT1E=" }, "model": { "$ref": "AAAAAAFnHF0paKQue3s=" }, "font": "Arial;13;0", "left": 365, "top": 134, "width": 279, "height": 13, "text": "+User: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnHF1NBKQ400o=", "_parent": { "$ref": "AAAAAAFnF+MPOx3GT1E=" }, "model": { "$ref": "AAAAAAFnHF1M0qQ1ZdQ=" }, "font": "Arial;13;0", "left": 365, "top": 149, "width": 279, "height": 13, "text": "+NickName: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnHF1+GqQ//bo=", "_parent": { "$ref": "AAAAAAFnF+MPOx3GT1E=" }, "model": { "$ref": "AAAAAAFnHF196qQ8FaI=" }, "font": "Arial;13;0", "left": 365, "top": 164, "width": 279, "height": 13, "text": "+Motto: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnHF2SQaRGd3c=", "_parent": { "$ref": "AAAAAAFnF+MPOx3GT1E=" }, "model": { "$ref": "AAAAAAFnHF2SJqRDyZg=" }, "font": "Arial;13;0", "left": 365, "top": 179, "width": 279, "height": 13, "text": "+UGroup: UserGroup", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 360, "top": 129, "width": 289, "height": 68 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnF+MPOx3Hu30=", "_parent": { "$ref": "AAAAAAFnF+MPOh3Ah9c=" }, "model": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "subViews": [ { "_type": "UMLOperationView", "_id": "AAAAAAFnHGxn7rUX64A=", "_parent": { "$ref": "AAAAAAFnF+MPOx3Hu30=" }, "model": { "$ref": "AAAAAAFnHGxntrUUPQI=" }, "font": "Arial;13;0", "left": 365, "top": 202, "width": 279, "height": 13, "text": "+QueryUserInfo(username: string): UserInfo", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnNIovKMvDK10=", "_parent": { "$ref": "AAAAAAFnF+MPOx3Hu30=" }, "model": { "$ref": "AAAAAAFnNIou5svA2E0=" }, "font": "Arial;13;0", "left": 365, "top": 217, "width": 279, "height": 13, "text": "+GetUserPhoto()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnHG5RNLW9Kno=", "_parent": { "$ref": "AAAAAAFnF+MPOx3Hu30=" }, "model": { "$ref": "AAAAAAFnHG5RCrW6s4U=" }, "font": "Arial;13;0", "left": 365, "top": 232, "width": 279, "height": 13, "text": "+Login(user: string, pwd: string): UserInfo", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnHH+oP7efH7c=", "_parent": { "$ref": "AAAAAAFnF+MPOx3Hu30=" }, "model": { "$ref": "AAAAAAFnHH+oB7ec5iI=" }, "font": "Arial;13;0", "left": 365, "top": 247, "width": 279, "height": 13, "text": "+GetUserList(): UserInfos", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnNEGSN8EFdBs=", "_parent": { "$ref": "AAAAAAFnF+MPOx3Hu30=" }, "model": { "$ref": "AAAAAAFnNEGR78EC40I=" }, "font": "Arial;13;0", "left": 365, "top": 262, "width": 279, "height": 13, "text": "+UpdateNickName(nickname: string)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnNEIlysFIRF0=", "_parent": { "$ref": "AAAAAAFnF+MPOx3Hu30=" }, "model": { "$ref": "AAAAAAFnNEIllsFFV4Q=" }, "font": "Arial;13;0", "left": 365, "top": 277, "width": 279, "height": 13, "text": "+UpdatePassword(pwd: string)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnNELSRMGCeG4=", "_parent": { "$ref": "AAAAAAFnF+MPOx3Hu30=" }, "model": { "$ref": "AAAAAAFnNELSC8F/wmA=" }, "font": "Arial;13;0", "left": 365, "top": 292, "width": 279, "height": 13, "text": "+UpdateMotto(motto: string)", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 360, "top": 197, "width": 289, "height": 113 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnF+MPOx3Ir0E=", "_parent": { "$ref": "AAAAAAFnF+MPOh3Ah9c=" }, "model": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "visible": false, "font": "Arial;13;0", "left": -24, "top": -216, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnF+MPOx3Jv6A=", "_parent": { "$ref": "AAAAAAFnF+MPOh3Ah9c=" }, "model": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "visible": false, "font": "Arial;13;0", "left": -24, "top": -216, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 360, "top": 104, "width": 289, "height": 329, "nameCompartment": { "$ref": "AAAAAAFnF+MPOh3B2qU=" }, "attributeCompartment": { "$ref": "AAAAAAFnF+MPOx3GT1E=" }, "operationCompartment": { "$ref": "AAAAAAFnF+MPOx3Hu30=" }, "receptionCompartment": { "$ref": "AAAAAAFnF+MPOx3Ir0E=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnF+MPOx3Jv6A=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGDD3KZXhY4=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 104, "width": 329, "height": 25, "text": "UserInfo,用户信息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGFaC6i8nvI=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 152, "width": 329, "height": 25, "text": "User,用户名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGHrcqlz90c=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 176, "width": 329, "height": 25, "text": "NickName,昵称(12字以内)" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGWkYa2qj6A=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 200, "width": 329, "height": 25, "text": "Motto,签名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGXYu63OCGk=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 224, "width": 329, "height": 25, "text": "UGroup,用户组,标识用户类型" }, { "_type": "UMLEnumerationView", "_id": "AAAAAAFnHGdeda68Fuw=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnHGdeda69+eQ=", "_parent": { "$ref": "AAAAAAFnHGdeda68Fuw=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnHGdeda6+3AQ=", "_parent": { "$ref": "AAAAAAFnHGdeda69+eQ=" }, "font": "Arial;13;0", "left": 365, "top": 485, "width": 279, "height": 13, "text": "«enumeration»" }, { "_type": "LabelView", "_id": "AAAAAAFnHGdeda6/zHE=", "_parent": { "$ref": "AAAAAAFnHGdeda69+eQ=" }, "font": "Arial;13;1", "left": 365, "top": 500, "width": 279, "height": 13, "text": "UserGroup" }, { "_type": "LabelView", "_id": "AAAAAAFnHGdeda7ANxU=", "_parent": { "$ref": "AAAAAAFnHGdeda69+eQ=" }, "visible": false, "font": "Arial;13;0", "left": -1184, "top": 165, "width": 74.38818359375, "height": 13, "text": "(from server)" }, { "_type": "LabelView", "_id": "AAAAAAFnHGdeda7BDws=", "_parent": { "$ref": "AAAAAAFnHGdeda69+eQ=" }, "visible": false, "font": "Arial;13;0", "left": -1184, "top": 165, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 360, "top": 480, "width": 289, "height": 38, "stereotypeLabel": { "$ref": "AAAAAAFnHGdeda6+3AQ=" }, "nameLabel": { "$ref": "AAAAAAFnHGdeda6/zHE=" }, "namespaceLabel": { "$ref": "AAAAAAFnHGdeda7ANxU=" }, "propertyLabel": { "$ref": "AAAAAAFnHGdeda7BDws=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnHGdeda7C104=", "_parent": { "$ref": "AAAAAAFnHGdeda68Fuw=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "visible": false, "font": "Arial;13;0", "left": -384, "top": 184, "width": 10, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnHGdeda7D46s=", "_parent": { "$ref": "AAAAAAFnHGdeda68Fuw=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "visible": false, "font": "Arial;13;0", "left": -384, "top": 184, "width": 10, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnHGdeda7E8ZA=", "_parent": { "$ref": "AAAAAAFnHGdeda68Fuw=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "visible": false, "font": "Arial;13;0", "left": -384, "top": 184, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnHGdeda7F6Gw=", "_parent": { "$ref": "AAAAAAFnHGdeda68Fuw=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "visible": false, "font": "Arial;13;0", "left": -384, "top": 184, "width": 10, "height": 10 }, { "_type": "UMLEnumerationLiteralCompartmentView", "_id": "AAAAAAFnHGdeda7G6+Y=", "_parent": { "$ref": "AAAAAAFnHGdeda68Fuw=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "subViews": [ { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnHGdeda7HkwI=", "_parent": { "$ref": "AAAAAAFnHGdeda7G6+Y=" }, "model": { "$ref": "AAAAAAFnHF5YU6R71+g=" }, "font": "Arial;13;0", "left": 365, "top": 523, "width": 279, "height": 13, "text": "User", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnHGdeda7IVxk=", "_parent": { "$ref": "AAAAAAFnHGdeda7G6+Y=" }, "model": { "$ref": "AAAAAAFnHF5rxaSCsIQ=" }, "font": "Arial;13;0", "left": 365, "top": 538, "width": 279, "height": 13, "text": "Vip", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnHGdeda7JbWM=", "_parent": { "$ref": "AAAAAAFnHGdeda7G6+Y=" }, "model": { "$ref": "AAAAAAFnHF6LOaSJQiU=" }, "font": "Arial;13;0", "left": 365, "top": 553, "width": 279, "height": 13, "text": "Admin", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnHGdeda7KWwU=", "_parent": { "$ref": "AAAAAAFnHGdeda7G6+Y=" }, "model": { "$ref": "AAAAAAFnHGZJBa4BuKs=" }, "font": "Arial;13;0", "left": 365, "top": 568, "width": 279, "height": 13, "text": "Group", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 360, "top": 518, "width": 289, "height": 68 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 360, "top": 480, "width": 289, "height": 137, "nameCompartment": { "$ref": "AAAAAAFnHGdeda69+eQ=" }, "suppressAttributes": true, "suppressOperations": true, "attributeCompartment": { "$ref": "AAAAAAFnHGdeda7C104=" }, "operationCompartment": { "$ref": "AAAAAAFnHGdeda7D46s=" }, "receptionCompartment": { "$ref": "AAAAAAFnHGdeda7E8ZA=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnHGdeda7F6Gw=" }, "enumerationLiteralCompartment": { "$ref": "AAAAAAFnHGdeda7G6+Y=" } }, { "_type": "UMLAssociationView", "_id": "AAAAAAFnHGh+SbFiJxY=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "model": { "$ref": "AAAAAAFnHGh+SbFeoFk=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SbFjvfk=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFeoFk=" }, "visible": false, "font": "Arial;13;0", "left": 518, "top": 449, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SbFkqZ8=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFeoFk=" }, "visible": null, "font": "Arial;13;0", "left": 533, "top": 449, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SbFlV7U=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFeoFk=" }, "visible": false, "font": "Arial;13;0", "left": 489, "top": 450, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SbFmLxU=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFfN6M=" }, "visible": false, "font": "Arial;13;0", "left": 519, "top": 452, "height": 13, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SrFn/wE=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFfN6M=" }, "visible": false, "font": "Arial;13;0", "left": 532, "top": 455, "height": 13, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SrFomvc=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFfN6M=" }, "visible": false, "font": "Arial;13;0", "left": 491, "top": 448, "height": 13, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SrFpw9Q=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFgji0=" }, "visible": false, "font": "Arial;13;0", "left": 519, "top": 447, "height": 13, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SrFq3kM=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFgji0=" }, "visible": false, "font": "Arial;13;0", "left": 532, "top": 444, "height": 13, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnHGh+SrFr8No=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFgji0=" }, "visible": false, "font": "Arial;13;0", "left": 491, "top": 451, "height": 13, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnHGh+SbFiJxY=" } }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnHGh+SrFsUKg=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFfN6M=" }, "visible": false, "font": "Arial;13;0", "top": 32, "width": 10, "height": 10 }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnHGh+SrFtPHI=", "_parent": { "$ref": "AAAAAAFnHGh+SbFiJxY=" }, "model": { "$ref": "AAAAAAFnHGh+SbFgji0=" }, "visible": false, "font": "Arial;13;0", "top": 32, "width": 10, "height": 10 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnHGdeda68Fuw=" }, "tail": { "$ref": "AAAAAAFnF+MPOh3Ah9c=" }, "lineStyle": 1, "points": "504:433;504:479", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFnHGh+SbFjvfk=" }, "stereotypeLabel": { "$ref": "AAAAAAFnHGh+SbFkqZ8=" }, "propertyLabel": { "$ref": "AAAAAAFnHGh+SbFlV7U=" }, "tailRoleNameLabel": { "$ref": "AAAAAAFnHGh+SbFmLxU=" }, "tailPropertyLabel": { "$ref": "AAAAAAFnHGh+SrFn/wE=" }, "tailMultiplicityLabel": { "$ref": "AAAAAAFnHGh+SrFomvc=" }, "headRoleNameLabel": { "$ref": "AAAAAAFnHGh+SrFpw9Q=" }, "headPropertyLabel": { "$ref": "AAAAAAFnHGh+SrFq3kM=" }, "headMultiplicityLabel": { "$ref": "AAAAAAFnHGh+SrFr8No=" }, "tailQualifiersCompartment": { "$ref": "AAAAAAFnHGh+SrFsUKg=" }, "headQualifiersCompartment": { "$ref": "AAAAAAFnHGh+SrFtPHI=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGnbWbLtmq8=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 704, "top": 480, "width": 329, "height": 25, "text": "UserGroup,用户组,定义用户类型" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGpPErNQ2i4=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 704, "top": 520, "width": 329, "height": 25, "text": "User,普通用户" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGqEWbODSNc=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 704, "top": 544, "width": 329, "height": 25, "text": "Vip,氪金用户" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGras7P82O8=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 704, "top": 568, "width": 329, "height": 25, "text": "Admin,管理员账户" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHGsWyLQqk6Q=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 704, "top": 591, "width": 329, "height": 25, "text": "Group,群组" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHHXINLb8A6g=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 264, "width": 329, "height": 25, "text": "QueryUserInfo(),查询指定用户信息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHHaBXbdgsYw=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 312, "width": 329, "height": 25, "text": "Login(),根据用户名和密码匹配用户" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHH/wxLfQ018=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 336, "width": 329, "height": 25, "text": "GetUserList(),获取用户信息列表(不含头像)" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNEMmRcHOXrg=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 360, "width": 329, "height": 25, "text": "UpdateNickName(),更改昵称" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNEOn2cJCCEc=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 384, "width": 329, "height": 25, "text": "UpdatePassword(),更改密码" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNEP1AMKWAUo=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 408, "width": 329, "height": 25, "text": "UpdateMotto(),更改签名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNIsE08yc2Sg=", "_parent": { "$ref": "AAAAAAFnF+LbDx2rrJU=" }, "font": "Arial;13;0", "left": 712, "top": 288, "width": 329, "height": 25, "text": "GetUserPhoto(),获取用户头像数据" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnF+MPOh2+3go=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "UserInfo", "ownedElements": [ { "_type": "UMLAssociation", "_id": "AAAAAAFnHGBztaUBOxE=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGBztaUC6+4=", "_parent": { "$ref": "AAAAAAFnHGBztaUBOxE=" }, "reference": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGBztaUD/Io=", "_parent": { "$ref": "AAAAAAFnHGBztaUBOxE=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnHGgCGq/1DQc=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGgCGq/25C8=", "_parent": { "$ref": "AAAAAAFnHGgCGq/1DQc=" }, "reference": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGgCGq/3BGY=", "_parent": { "$ref": "AAAAAAFnHGgCGq/1DQc=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnHGgnQrA+bvw=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGgnQrA/+r4=", "_parent": { "$ref": "AAAAAAFnHGgnQrA+bvw=" }, "reference": { "$ref": "AAAAAAFnF+MPOh2+3go=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGgnQrBAN7c=", "_parent": { "$ref": "AAAAAAFnHGgnQrA+bvw=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnHGhKdbD0b70=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGhKdbD1Kts=", "_parent": { "$ref": "AAAAAAFnHGhKdbD0b70=" }, "reference": { "$ref": "AAAAAAFnF+MPOh2+3go=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGhKdbD2cz4=", "_parent": { "$ref": "AAAAAAFnHGhKdbD0b70=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "aggregation": "shared" } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnHGh+SbFeoFk=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGh+SbFfN6M=", "_parent": { "$ref": "AAAAAAFnHGh+SbFeoFk=" }, "reference": { "$ref": "AAAAAAFnF+MPOh2+3go=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGh+SbFgji0=", "_parent": { "$ref": "AAAAAAFnHGh+SbFeoFk=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "aggregation": "composite" } } ], "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnHF0paKQue3s=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "User", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnHF1M0qQ1ZdQ=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "NickName", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnHF196qQ8FaI=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "Motto", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnHF2SJqRDyZg=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "UGroup", "type": { "$ref": "AAAAAAFnHF4MoqRKqMY=" } } ], "operations": [ { "_type": "UMLOperation", "_id": "AAAAAAFnHGxntrUUPQI=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "QueryUserInfo", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnHGyi1rUzAYA=", "_parent": { "$ref": "AAAAAAFnHGxntrUUPQI=" }, "name": "username", "type": "string" }, { "_type": "UMLParameter", "_id": "AAAAAAFnHG4/4rWmb6M=", "_parent": { "$ref": "AAAAAAFnHGxntrUUPQI=" }, "type": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "direction": "return" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnNIou5svA2E0=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "GetUserPhoto" }, { "_type": "UMLOperation", "_id": "AAAAAAFnHG5RCrW6s4U=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "Login", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnHHWJYLa+/wc=", "_parent": { "$ref": "AAAAAAFnHG5RCrW6s4U=" }, "name": "user", "type": "string" }, { "_type": "UMLParameter", "_id": "AAAAAAFnHHWJYba/1zw=", "_parent": { "$ref": "AAAAAAFnHG5RCrW6s4U=" }, "name": "pwd", "type": "string" }, { "_type": "UMLParameter", "_id": "AAAAAAFnHHWlbbbYpcc=", "_parent": { "$ref": "AAAAAAFnHG5RCrW6s4U=" }, "type": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "direction": "return" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnHH+oB7ec5iI=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "GetUserList", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnHH/iw7e7VoA=", "_parent": { "$ref": "AAAAAAFnHH+oB7ec5iI=" }, "type": "UserInfos", "direction": "return" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnNEGR78EC40I=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "UpdateNickName", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnNEH+EcEol1I=", "_parent": { "$ref": "AAAAAAFnNEGR78EC40I=" }, "name": "nickname", "type": "string" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnNEIllsFFV4Q=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "UpdatePassword", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnNEK/7MFrhaw=", "_parent": { "$ref": "AAAAAAFnNEIllsFFV4Q=" }, "name": "pwd", "type": "string" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnNELSC8F/wmA=", "_parent": { "$ref": "AAAAAAFnF+MPOh2+3go=" }, "name": "UpdateMotto", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnNEMMh8Gpufg=", "_parent": { "$ref": "AAAAAAFnNELSC8F/wmA=" }, "name": "motto", "type": "string" } ] } ] }, { "_type": "UMLEnumeration", "_id": "AAAAAAFnHF4MoqRKqMY=", "_parent": { "$ref": "AAAAAAFF+qBWK6M3Z8Y=" }, "name": "UserGroup", "ownedElements": [ { "_type": "UMLAssociation", "_id": "AAAAAAFnHGBdzaSXm54=", "_parent": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGBdzaSYh5Q=", "_parent": { "$ref": "AAAAAAFnHGBdzaSXm54=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnHGBdzaSZ3dg=", "_parent": { "$ref": "AAAAAAFnHGBdzaSXm54=" }, "reference": { "$ref": "AAAAAAFnF+MPOh2+3go=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnr9dVuBWlpUo=", "_parent": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnr9dVuBWmjPo=", "_parent": { "$ref": "AAAAAAFnr9dVuBWlpUo=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnr9dVuBWnHJg=", "_parent": { "$ref": "AAAAAAFnr9dVuBWlpUo=" }, "reference": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnr9eGThYZPw8=", "_parent": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnr9eGVxYaV1o=", "_parent": { "$ref": "AAAAAAFnr9eGThYZPw8=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnr9eGVxYbDBk=", "_parent": { "$ref": "AAAAAAFnr9eGThYZPw8=" }, "reference": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "aggregation": "composite" } }, { "_type": "UMLAssociation", "_id": "AAAAAAFn1TBcaRoBYXc=", "_parent": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFn1TBcahoCC4w=", "_parent": { "$ref": "AAAAAAFn1TBcaRoBYXc=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFn1TBcahoDot8=", "_parent": { "$ref": "AAAAAAFn1TBcaRoBYXc=" }, "reference": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "aggregation": "composite" } } ], "literals": [ { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnHF5YU6R71+g=", "_parent": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "name": "User" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnHF5rxaSCsIQ=", "_parent": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "name": "Vip" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnHF6LOaSJQiU=", "_parent": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "name": "Admin" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnHGZJBa4BuKs=", "_parent": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "name": "Group" } ] } ] }, { "_type": "UMLModel", "_id": "AAAAAAFm+GxoNtz31qw=", "_parent": { "$ref": "AAAAAAFF+h6SjaM2Hec=" }, "name": "common", "ownedElements": [ { "_type": "UMLClassDiagram", "_id": "AAAAAAFm+MaskuOd1fg=", "_parent": { "$ref": "AAAAAAFm+GxoNtz31qw=" }, "name": "message", "ownedViews": [ { "_type": "RectangleView", "_id": "AAAAAAFm+Mkj7uPlg1g=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 192, "top": 96, "width": 193, "height": 160 }, { "_type": "RectangleView", "_id": "AAAAAAFm+MlnGuPqOjg=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 472, "top": 96, "width": 497, "height": 160 }, { "_type": "RectangleView", "_id": "AAAAAAFm+MmMQePuImY=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 104, "top": 96, "width": 89, "height": 160 }, { "_type": "RectangleView", "_id": "AAAAAAFm+MmpIuPyTfg=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 384, "top": 96, "width": 89, "height": 160 }, { "_type": "UMLTextView", "_id": "AAAAAAFm+MvNo+QZPxE=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 120, "top": 144, "width": 62, "height": 25, "text": "包头长度" }, { "_type": "UMLTextView", "_id": "AAAAAAFm+M16N+Rtz70=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 112, "top": 168, "width": 75, "height": 25, "text": "大端字节序" }, { "_type": "UMLTextView", "_id": "AAAAAAFm+M6X5eR+smY=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;18;0", "left": 104, "top": 56, "width": 187.029296875, "height": 32, "text": "Server-Client通信规则" }, { "_type": "UMLTextView", "_id": "AAAAAAFm+M7NY+SCBUo=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 120, "top": 192, "width": 60, "height": 25, "text": "len = 4B" }, { "_type": "UMLTextView", "_id": "AAAAAAFm+M7/vOSHrTA=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 216, "top": 176, "width": 145.0908203125, "height": 25, "text": "包头,由Operation决定" }, { "_type": "UMLTextView", "_id": "AAAAAAFm+M/douSPDWk=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 400, "top": 144, "width": 62, "height": 25, "text": "数据长度" }, { "_type": "UMLTextView", "_id": "AAAAAAFm+NBTleSW4TE=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 392, "top": 168, "width": 75, "height": 25, "text": "大端字节序" }, { "_type": "UMLTextView", "_id": "AAAAAAFm+NB4g+ScPhM=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 400, "top": 192, "width": 60, "height": 25, "text": "len = 4B" }, { "_type": "UMLTextView", "_id": "AAAAAAFm+NCc4eSgILE=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 648, "top": 152, "width": 127, "height": 25, "text": "长数据,由包头决定" }, { "_type": "UMLClassView", "_id": "AAAAAAFnB/GmZ0LPano=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnB/GmZ0LQBBs=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LPano=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnB/GmZ0LRJ6M=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LQBBs=" }, "visible": false, "font": "Arial;13;0", "left": 293, "top": 373, "width": 303, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnB/GmZ0LSVCc=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LQBBs=" }, "font": "Arial;13;1", "left": 293, "top": 375, "width": 303, "height": 13, "text": "Head" }, { "_type": "LabelView", "_id": "AAAAAAFnB/GmZ0LTQeA=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LQBBs=" }, "visible": false, "font": "Arial;13;0", "left": 688, "top": -32, "width": 88.1181640625, "height": 13, "text": "(from common)" }, { "_type": "LabelView", "_id": "AAAAAAFnB/GmZ0LUJKU=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LQBBs=" }, "visible": false, "font": "Arial;13;0", "left": 293, "top": 390, "width": 303, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 288, "top": 368, "width": 313, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnB/GmZ0LRJ6M=" }, "nameLabel": { "$ref": "AAAAAAFnB/GmZ0LSVCc=" }, "namespaceLabel": { "$ref": "AAAAAAFnB/GmZ0LTQeA=" }, "propertyLabel": { "$ref": "AAAAAAFnB/GmZ0LUJKU=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnB/GmZ0LVtTs=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LPano=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnB/JpT0MDDSE=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LVtTs=" }, "model": { "$ref": "AAAAAAFnB/JpGUMAMdM=" }, "font": "Arial;13;0", "left": 293, "top": 398, "width": 303, "height": 13, "text": "+Token: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnCFqg47NT+9g=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LVtTs=" }, "model": { "$ref": "AAAAAAFnCFqgsLNQb/0=" }, "font": "Arial;13;0", "left": 293, "top": 413, "width": 303, "height": 13, "text": "+Operation: Operations", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFn1T+c0Bv9wMY=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LVtTs=" }, "model": { "$ref": "AAAAAAFn1T+cnRv6m1U=" }, "font": "Arial;13;0", "left": 293, "top": 428, "width": 303, "height": 13, "text": "+Attribute1", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 288, "top": 393, "width": 313, "height": 53 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnB/GmZ0LWxMU=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LPano=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "font": "Arial;13;0", "left": 288, "top": 446, "width": 313, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnB/GmZ0LXX6I=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LPano=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "visible": false, "font": "Arial;13;0", "left": 344, "top": -16, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnB/GmZ0LYnUE=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LPano=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "visible": false, "font": "Arial;13;0", "left": 344, "top": -16, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 288, "top": 368, "width": 313, "height": 113, "nameCompartment": { "$ref": "AAAAAAFnB/GmZ0LQBBs=" }, "attributeCompartment": { "$ref": "AAAAAAFnB/GmZ0LVtTs=" }, "operationCompartment": { "$ref": "AAAAAAFnB/GmZ0LWxMU=" }, "receptionCompartment": { "$ref": "AAAAAAFnB/GmZ0LXX6I=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnB/GmZ0LYnUE=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnB/O8SUMbArk=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 368, "width": 492.3798828125, "height": 25, "text": "Token,消息编号,由发送方生成,接受方处理后返回相同Token(如有返回数据)", "wordWrap": false }, { "_type": "UMLClassView", "_id": "AAAAAAFnB/P+CUM2h7g=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnB/P+CUM3vHo=", "_parent": { "$ref": "AAAAAAFnB/P+CUM2h7g=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnB/P+CUM4y5Q=", "_parent": { "$ref": "AAAAAAFnB/P+CUM3vHo=" }, "visible": false, "font": "Arial;13;0", "left": 197, "top": 101, "width": 183, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnB/P+CUM5z8U=", "_parent": { "$ref": "AAAAAAFnB/P+CUM3vHo=" }, "font": "Arial;13;1", "left": 197, "top": 103, "width": 183, "height": 13, "text": "Head" }, { "_type": "LabelView", "_id": "AAAAAAFnB/P+CUM6qjE=", "_parent": { "$ref": "AAAAAAFnB/P+CUM3vHo=" }, "visible": false, "font": "Arial;13;0", "left": 332, "top": -877, "width": 88.1181640625, "height": 13, "text": "(from common)" }, { "_type": "LabelView", "_id": "AAAAAAFnB/P+CUM7jUU=", "_parent": { "$ref": "AAAAAAFnB/P+CUM3vHo=" }, "visible": false, "font": "Arial;13;0", "left": 197, "top": 118, "width": 183, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 192, "top": 96, "width": 193, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnB/P+CUM4y5Q=" }, "nameLabel": { "$ref": "AAAAAAFnB/P+CUM5z8U=" }, "namespaceLabel": { "$ref": "AAAAAAFnB/P+CUM6qjE=" }, "propertyLabel": { "$ref": "AAAAAAFnB/P+CUM7jUU=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnB/P+CUM8ppM=", "_parent": { "$ref": "AAAAAAFnB/P+CUM2h7g=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnB/P+CUM9svo=", "_parent": { "$ref": "AAAAAAFnB/P+CUM8ppM=" }, "model": { "$ref": "AAAAAAFnB/JpGUMAMdM=" }, "visible": false, "font": "Arial;13;0", "left": -47, "top": -335, "width": 183, "height": 13, "text": "+Token: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnCFqg5bNWuWQ=", "_parent": { "$ref": "AAAAAAFnB/P+CUM8ppM=" }, "model": { "$ref": "AAAAAAFnCFqgsLNQb/0=" }, "visible": false, "font": "Arial;13;0", "left": -64, "top": 32, "width": 135.4970703125, "height": 13, "text": "+Operation: Operations", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFn1T+c0hwAvDE=", "_parent": { "$ref": "AAAAAAFnB/P+CUM8ppM=" }, "model": { "$ref": "AAAAAAFn1T+cnRv6m1U=" }, "visible": false, "font": "Arial;13;0", "width": 63.2353515625, "height": 13, "text": "+Attribute1", "horizontalAlignment": 0 } ], "visible": false, "font": "Arial;13;0", "left": 176, "top": -52, "width": 193, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnB/P+CUM+Zno=", "_parent": { "$ref": "AAAAAAFnB/P+CUM2h7g=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "font": "Arial;13;0", "left": 192, "top": 121, "width": 193, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnB/P+CUM/eUo=", "_parent": { "$ref": "AAAAAAFnB/P+CUM2h7g=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "visible": false, "font": "Arial;13;0", "left": 256, "top": -461, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnB/P+CUNAz/E=", "_parent": { "$ref": "AAAAAAFnB/P+CUM2h7g=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "visible": false, "font": "Arial;13;0", "left": 256, "top": -461, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 192, "top": 96, "width": 193, "height": 52, "nameCompartment": { "$ref": "AAAAAAFnB/P+CUM3vHo=" }, "suppressAttributes": true, "attributeCompartment": { "$ref": "AAAAAAFnB/P+CUM8ppM=" }, "operationCompartment": { "$ref": "AAAAAAFnB/P+CUM+Zno=" }, "receptionCompartment": { "$ref": "AAAAAAFnB/P+CUM/eUo=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnB/P+CUNAz/E=" } }, { "_type": "UMLClassView", "_id": "AAAAAAFnB/tAVUOm4D4=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnB/tAVUOnI0Q=", "_parent": { "$ref": "AAAAAAFnB/tAVUOm4D4=" }, "model": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnB/tAVUOoWDA=", "_parent": { "$ref": "AAAAAAFnB/tAVUOnI0Q=" }, "visible": false, "font": "Arial;13;0", "left": 64, "top": 640, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnB/tAVUOp+wk=", "_parent": { "$ref": "AAAAAAFnB/tAVUOnI0Q=" }, "font": "Arial;13;1", "left": 293, "top": 991, "width": 303, "height": 13, "text": "SenderHead" }, { "_type": "LabelView", "_id": "AAAAAAFnB/tAVUOqri4=", "_parent": { "$ref": "AAAAAAFnB/tAVUOnI0Q=" }, "visible": false, "font": "Arial;13;0", "left": 64, "top": 640, "width": 88.1181640625, "height": 13, "text": "(from common)" }, { "_type": "LabelView", "_id": "AAAAAAFnB/tAVUOr28U=", "_parent": { "$ref": "AAAAAAFnB/tAVUOnI0Q=" }, "visible": false, "font": "Arial;13;0", "left": 64, "top": 640, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 288, "top": 984, "width": 313, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnB/tAVUOoWDA=" }, "nameLabel": { "$ref": "AAAAAAFnB/tAVUOp+wk=" }, "namespaceLabel": { "$ref": "AAAAAAFnB/tAVUOqri4=" }, "propertyLabel": { "$ref": "AAAAAAFnB/tAVUOr28U=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnB/tAVUOsNNw=", "_parent": { "$ref": "AAAAAAFnB/tAVUOm4D4=" }, "model": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnCIXVL+CtL9A=", "_parent": { "$ref": "AAAAAAFnB/tAVUOsNNw=" }, "model": { "$ref": "AAAAAAFnCIXU/uCqkk0=" }, "font": "Arial;13;0", "left": 293, "top": 1014, "width": 303, "height": 13, "text": "+Params", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 288, "top": 1009, "width": 313, "height": 23 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnB/tAVUOtW20=", "_parent": { "$ref": "AAAAAAFnB/tAVUOm4D4=" }, "model": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "font": "Arial;13;0", "left": 288, "top": 1032, "width": 313, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnB/tAVUOuwQk=", "_parent": { "$ref": "AAAAAAFnB/tAVUOm4D4=" }, "model": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "visible": false, "font": "Arial;13;0", "left": 48, "top": 320, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnB/tAVUOv+r8=", "_parent": { "$ref": "AAAAAAFnB/tAVUOm4D4=" }, "model": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "visible": false, "font": "Arial;13;0", "left": 48, "top": 320, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 288, "top": 984, "width": 313, "height": 89, "nameCompartment": { "$ref": "AAAAAAFnB/tAVUOnI0Q=" }, "attributeCompartment": { "$ref": "AAAAAAFnB/tAVUOsNNw=" }, "operationCompartment": { "$ref": "AAAAAAFnB/tAVUOtW20=" }, "receptionCompartment": { "$ref": "AAAAAAFnB/tAVUOuwQk=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnB/tAVUOv+r8=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnB/0/FUeAUnk=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 1160, "width": 376, "height": 25, "text": "Results,参数,由Operation决定,详见operation说明图" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCFwRObRss6c=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 392, "width": 377, "height": 25, "text": "Operation,执行的操作名称" }, { "_type": "UMLEnumerationView", "_id": "AAAAAAFnCGJSWraVVWw=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnCGJSWraWeX0=", "_parent": { "$ref": "AAAAAAFnCGJSWraVVWw=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnCGJSWraX+5U=", "_parent": { "$ref": "AAAAAAFnCGJSWraWeX0=" }, "font": "Arial;13;0", "left": 293, "top": 541, "width": 303, "height": 13, "text": "«enumeration»" }, { "_type": "LabelView", "_id": "AAAAAAFnCGJSWraYxS0=", "_parent": { "$ref": "AAAAAAFnCGJSWraWeX0=" }, "font": "Arial;13;1", "left": 293, "top": 556, "width": 303, "height": 13, "text": "Operations" }, { "_type": "LabelView", "_id": "AAAAAAFnCGJSWraZCrA=", "_parent": { "$ref": "AAAAAAFnCGJSWraWeX0=" }, "visible": false, "font": "Arial;13;0", "left": 592, "top": 320, "width": 88.1181640625, "height": 13, "text": "(from common)" }, { "_type": "LabelView", "_id": "AAAAAAFnCGJSWraatYo=", "_parent": { "$ref": "AAAAAAFnCGJSWraWeX0=" }, "visible": false, "font": "Arial;13;0", "left": 592, "top": 320, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 288, "top": 536, "width": 313, "height": 38, "stereotypeLabel": { "$ref": "AAAAAAFnCGJSWraX+5U=" }, "nameLabel": { "$ref": "AAAAAAFnCGJSWraYxS0=" }, "namespaceLabel": { "$ref": "AAAAAAFnCGJSWraZCrA=" }, "propertyLabel": { "$ref": "AAAAAAFnCGJSWraatYo=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnCGJSWrab6Y0=", "_parent": { "$ref": "AAAAAAFnCGJSWraVVWw=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "visible": false, "font": "Arial;13;0", "left": 296, "top": 160, "width": 10, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnCGJSWracy6Q=", "_parent": { "$ref": "AAAAAAFnCGJSWraVVWw=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "visible": false, "font": "Arial;13;0", "left": 296, "top": 160, "width": 10, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnCGJSWradov4=", "_parent": { "$ref": "AAAAAAFnCGJSWraVVWw=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "visible": false, "font": "Arial;13;0", "left": 296, "top": 160, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnCGJSWraeG3M=", "_parent": { "$ref": "AAAAAAFnCGJSWraVVWw=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "visible": false, "font": "Arial;13;0", "left": 296, "top": 160, "width": 10, "height": 10 }, { "_type": "UMLEnumerationLiteralCompartmentView", "_id": "AAAAAAFnCGJSWraf2OI=", "_parent": { "$ref": "AAAAAAFnCGJSWraVVWw=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "subViews": [ { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnCPW051mphr4=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnCPW0mFmm2/k=" }, "font": "Arial;13;0", "left": 293, "top": 579, "width": 303, "height": 13, "text": "Panic", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnCGRXaLy+43g=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnCGRXMLy4Bb0=" }, "font": "Arial;13;0", "left": 293, "top": 594, "width": 303, "height": 13, "text": "TransMessage", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnCL6ID+w8dgI=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnCL6HzOw5F3o=" }, "font": "Arial;13;0", "left": 293, "top": 609, "width": 303, "height": 13, "text": "SendMessage", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnvAowT9Z4jvo=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnvAowIdZ1zwM=" }, "font": "Arial;13;0", "left": 293, "top": 624, "width": 303, "height": 13, "text": "Login2", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnCGSpwr0xHDQ=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnCGSpgr0r+FQ=" }, "font": "Arial;13;0", "left": 293, "top": 639, "width": 303, "height": 13, "text": "Login", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnDdBFkNOsZjY=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnDdBFTdOpQvw=" }, "font": "Arial;13;0", "left": 293, "top": 654, "width": 303, "height": 13, "text": "Logout", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnD9vlwak+Cbg=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnD9vlbKk7PfU=" }, "font": "Arial;13;0", "left": 293, "top": 669, "width": 303, "height": 13, "text": "Offline", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnCGlEQMcS6QI=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnCGlD8scMQVU=" }, "font": "Arial;13;0", "left": 293, "top": 684, "width": 303, "height": 13, "text": "GetUserList", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnHQCFLsBXRWg=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnHPTor7+hW/0=" }, "font": "Arial;13;0", "left": 293, "top": 699, "width": 303, "height": 13, "text": "UpdateUserInfo", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnvBqhN9o5JZM=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnvBqg/9o2cxE=" }, "font": "Arial;13;0", "left": 293, "top": 714, "width": 303, "height": 13, "text": "GetUsers", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnDNSmwM7I+lg=", "_parent": { "$ref": "AAAAAAFnCGJSWraf2OI=" }, "model": { "$ref": "AAAAAAFnDNSmdc7FPgA=" }, "font": "Arial;13;0", "left": 293, "top": 729, "width": 303, "height": 13, "text": "Ping", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 288, "top": 574, "width": 313, "height": 173 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 288, "top": 536, "width": 313, "height": 345, "nameCompartment": { "$ref": "AAAAAAFnCGJSWraWeX0=" }, "suppressAttributes": true, "suppressOperations": true, "attributeCompartment": { "$ref": "AAAAAAFnCGJSWrab6Y0=" }, "operationCompartment": { "$ref": "AAAAAAFnCGJSWracy6Q=" }, "receptionCompartment": { "$ref": "AAAAAAFnCGJSWradov4=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnCGJSWraeG3M=" }, "enumerationLiteralCompartment": { "$ref": "AAAAAAFnCGJSWraf2OI=" } }, { "_type": "UMLAssociationView", "_id": "AAAAAAFnCGPW5bvAfB4=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnCGPW5bu8hGY=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvBz4Y=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu8hGY=" }, "visible": false, "font": "Arial;13;0", "left": 458, "top": 501, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvCF+E=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu8hGY=" }, "visible": null, "font": "Arial;13;0", "left": 473, "top": 501, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvDfyg=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu8hGY=" }, "visible": false, "font": "Arial;13;0", "left": 429, "top": 502, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvEnkk=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu9YGY=" }, "visible": false, "font": "Arial;13;0", "left": 459, "top": 500, "height": 13, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvFnag=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu9YGY=" }, "visible": false, "font": "Arial;13;0", "left": 472, "top": 503, "height": 13, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvGn/A=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu9YGY=" }, "visible": false, "font": "Arial;13;0", "left": 431, "top": 496, "height": 13, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvHNo8=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu+SVM=" }, "visible": false, "font": "Arial;13;0", "left": 459, "top": 503, "height": 13, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvIh9I=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu+SVM=" }, "visible": false, "font": "Arial;13;0", "left": 472, "top": 500, "height": 13, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCGPW5bvJvew=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu+SVM=" }, "visible": false, "font": "Arial;13;0", "left": 431, "top": 507, "height": 13, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnCGPW5bvAfB4=" } }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnCGPW5bvKA6U=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu9YGY=" }, "visible": false, "font": "Arial;13;0", "left": -24, "width": 10, "height": 10 }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnCGPW5bvLgIM=", "_parent": { "$ref": "AAAAAAFnCGPW5bvAfB4=" }, "model": { "$ref": "AAAAAAFnCGPW5bu+SVM=" }, "visible": false, "font": "Arial;13;0", "left": -24, "width": 10, "height": 10 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnCGJSWraVVWw=" }, "tail": { "$ref": "AAAAAAFnB/GmZ0LPano=" }, "lineStyle": 1, "points": "444:481;444:535", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFnCGPW5bvBz4Y=" }, "stereotypeLabel": { "$ref": "AAAAAAFnCGPW5bvCF+E=" }, "propertyLabel": { "$ref": "AAAAAAFnCGPW5bvDfyg=" }, "tailRoleNameLabel": { "$ref": "AAAAAAFnCGPW5bvEnkk=" }, "tailPropertyLabel": { "$ref": "AAAAAAFnCGPW5bvFnag=" }, "tailMultiplicityLabel": { "$ref": "AAAAAAFnCGPW5bvGn/A=" }, "headRoleNameLabel": { "$ref": "AAAAAAFnCGPW5bvHNo8=" }, "headPropertyLabel": { "$ref": "AAAAAAFnCGPW5bvIh9I=" }, "headMultiplicityLabel": { "$ref": "AAAAAAFnCGPW5bvJvew=" }, "tailQualifiersCompartment": { "$ref": "AAAAAAFnCGPW5bvKA6U=" }, "headQualifiersCompartment": { "$ref": "AAAAAAFnCGPW5bvLgIM=" } }, { "_type": "UMLTextView", "_id": "AAAAAAFnCGvzbctSDBs=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 184, "top": 368, "width": 101, "height": 25, "text": "消息头基本信息" }, { "_type": "UMLTextView", "_id": "AAAAAAFnCGx4ZMws6lo=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 224, "top": 536, "width": 62, "height": 25, "text": "执行操作" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCGzWJcxlsI4=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 616, "width": 377, "height": 25, "text": "TransMessage,服务器转发消息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCG7yz81miW0=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 688, "width": 377, "height": 25, "text": "Login,客户端登录,服务器返回用户基本数据" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCG9uVs2olKQ=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 760, "width": 377, "height": 25, "text": "GetUserList,客户端获取好友列表" }, { "_type": "UMLClassView", "_id": "AAAAAAFnCHRdb9B4LG8=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnCHRdb9B5wws=", "_parent": { "$ref": "AAAAAAFnCHRdb9B4LG8=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnCHRdb9B6ngw=", "_parent": { "$ref": "AAAAAAFnCHRdb9B5wws=" }, "visible": false, "font": "Arial;13;0", "left": 29, "top": 989, "width": 183, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnCHRdb9B77AQ=", "_parent": { "$ref": "AAAAAAFnCHRdb9B5wws=" }, "font": "Arial;13;1", "left": 29, "top": 991, "width": 183, "height": 13, "text": "Head" }, { "_type": "LabelView", "_id": "AAAAAAFnCHRdb9B8w74=", "_parent": { "$ref": "AAAAAAFnCHRdb9B5wws=" }, "visible": false, "font": "Arial;13;0", "left": -248, "top": 233, "width": 88.1181640625, "height": 13, "text": "(from common)" }, { "_type": "LabelView", "_id": "AAAAAAFnCHRdb9B9Jmc=", "_parent": { "$ref": "AAAAAAFnCHRdb9B5wws=" }, "visible": false, "font": "Arial;13;0", "left": 29, "top": 1006, "width": 183, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 24, "top": 984, "width": 193, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnCHRdb9B6ngw=" }, "nameLabel": { "$ref": "AAAAAAFnCHRdb9B77AQ=" }, "namespaceLabel": { "$ref": "AAAAAAFnCHRdb9B8w74=" }, "propertyLabel": { "$ref": "AAAAAAFnCHRdb9B9Jmc=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnCHRdb9B+MO0=", "_parent": { "$ref": "AAAAAAFnCHRdb9B4LG8=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnCHRdb9B/e9M=", "_parent": { "$ref": "AAAAAAFnCHRdb9B+MO0=" }, "model": { "$ref": "AAAAAAFnB/JpGUMAMdM=" }, "visible": false, "font": "Arial;13;0", "left": -627, "top": 775, "width": 183, "height": 13, "text": "+Token: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnCHRdb9CAowY=", "_parent": { "$ref": "AAAAAAFnCHRdb9B+MO0=" }, "model": { "$ref": "AAAAAAFnCFqgsLNQb/0=" }, "visible": false, "font": "Arial;13;0", "left": -644, "top": 1142, "width": 135.4970703125, "height": 13, "text": "+Operation: Operations", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFn1T+c1BwGLxY=", "_parent": { "$ref": "AAAAAAFnCHRdb9B+MO0=" }, "model": { "$ref": "AAAAAAFn1T+cnRv6m1U=" }, "visible": false, "font": "Arial;13;0", "width": 63.2353515625, "height": 13, "text": "+Attribute1", "horizontalAlignment": 0 } ], "visible": false, "font": "Arial;13;0", "left": 24, "top": 868, "width": 193, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnCHRdb9CBdQg=", "_parent": { "$ref": "AAAAAAFnCHRdb9B4LG8=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "font": "Arial;13;0", "left": 24, "top": 1009, "width": 193, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnCHRdb9CC8ww=", "_parent": { "$ref": "AAAAAAFnCHRdb9B4LG8=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "visible": false, "font": "Arial;13;0", "left": 104, "top": 459, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnCHRdb9CDibY=", "_parent": { "$ref": "AAAAAAFnCHRdb9B4LG8=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "visible": false, "font": "Arial;13;0", "left": 104, "top": 459, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 24, "top": 984, "width": 193, "height": 73, "nameCompartment": { "$ref": "AAAAAAFnCHRdb9B5wws=" }, "suppressAttributes": true, "attributeCompartment": { "$ref": "AAAAAAFnCHRdb9B+MO0=" }, "operationCompartment": { "$ref": "AAAAAAFnCHRdb9CBdQg=" }, "receptionCompartment": { "$ref": "AAAAAAFnCHRdb9CC8ww=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnCHRdb9CDibY=" } }, { "_type": "UMLGeneralizationView", "_id": "AAAAAAFnCHSVXtFJVnQ=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnCHSVXtFHBsE=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFnCHSVXtFKsUc=", "_parent": { "$ref": "AAAAAAFnCHSVXtFJVnQ=" }, "model": { "$ref": "AAAAAAFnCHSVXtFHBsE=" }, "visible": false, "font": "Arial;13;0", "left": 251, "top": 1031, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnCHSVXtFJVnQ=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCHSVXtFLCpg=", "_parent": { "$ref": "AAAAAAFnCHSVXtFJVnQ=" }, "model": { "$ref": "AAAAAAFnCHSVXtFHBsE=" }, "visible": null, "font": "Arial;13;0", "left": 251, "top": 1046, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnCHSVXtFJVnQ=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCHSVXtFMXC8=", "_parent": { "$ref": "AAAAAAFnCHSVXtFJVnQ=" }, "model": { "$ref": "AAAAAAFnCHSVXtFHBsE=" }, "visible": false, "font": "Arial;13;0", "left": 252, "top": 1002, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnCHSVXtFJVnQ=" }, "edgePosition": 1 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnCHRdb9B4LG8=" }, "tail": { "$ref": "AAAAAAFnB/tAVUOm4D4=" }, "lineStyle": 1, "points": "287:1024;217:1022", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFnCHSVXtFKsUc=" }, "stereotypeLabel": { "$ref": "AAAAAAFnCHSVXtFLCpg=" }, "propertyLabel": { "$ref": "AAAAAAFnCHSVXtFMXC8=" } }, { "_type": "UMLClassView", "_id": "AAAAAAFnCHpyXtg9Qx4=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnCHpyXtg+Spc=", "_parent": { "$ref": "AAAAAAFnCHpyXtg9Qx4=" }, "model": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnCHpyXtg/PF4=", "_parent": { "$ref": "AAAAAAFnCHpyXtg+Spc=" }, "visible": false, "font": "Arial;13;0", "left": -64, "top": 464, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnCHpyXthAkss=", "_parent": { "$ref": "AAAAAAFnCHpyXtg+Spc=" }, "font": "Arial;13;1", "left": 293, "top": 1167, "width": 303, "height": 13, "text": "ResponseHead" }, { "_type": "LabelView", "_id": "AAAAAAFnCHpyXthB47s=", "_parent": { "$ref": "AAAAAAFnCHpyXtg+Spc=" }, "visible": false, "font": "Arial;13;0", "left": -64, "top": 464, "width": 88.1181640625, "height": 13, "text": "(from common)" }, { "_type": "LabelView", "_id": "AAAAAAFnCHpyXthCc6A=", "_parent": { "$ref": "AAAAAAFnCHpyXtg+Spc=" }, "visible": false, "font": "Arial;13;0", "left": -64, "top": 464, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 288, "top": 1160, "width": 313, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnCHpyXtg/PF4=" }, "nameLabel": { "$ref": "AAAAAAFnCHpyXthAkss=" }, "namespaceLabel": { "$ref": "AAAAAAFnCHpyXthB47s=" }, "propertyLabel": { "$ref": "AAAAAAFnCHpyXthCc6A=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnCHpyXthDhbA=", "_parent": { "$ref": "AAAAAAFnCHpyXtg9Qx4=" }, "model": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnCIVMS99wDZg=", "_parent": { "$ref": "AAAAAAFnCHpyXthDhbA=" }, "model": { "$ref": "AAAAAAFnCIVMEt9qVYo=" }, "font": "Arial;13;0", "left": 293, "top": 1190, "width": 303, "height": 13, "text": "+Results", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 288, "top": 1185, "width": 313, "height": 23 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnCHpyXthE9Nk=", "_parent": { "$ref": "AAAAAAFnCHpyXtg9Qx4=" }, "model": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "font": "Arial;13;0", "left": 288, "top": 1208, "width": 313, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnCHpyXthFg68=", "_parent": { "$ref": "AAAAAAFnCHpyXtg9Qx4=" }, "model": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "visible": false, "font": "Arial;13;0", "left": -32, "top": 232, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnCHpyX9hGqpQ=", "_parent": { "$ref": "AAAAAAFnCHpyXtg9Qx4=" }, "model": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "visible": false, "font": "Arial;13;0", "left": -32, "top": 232, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 288, "top": 1160, "width": 313, "height": 97, "nameCompartment": { "$ref": "AAAAAAFnCHpyXtg+Spc=" }, "attributeCompartment": { "$ref": "AAAAAAFnCHpyXthDhbA=" }, "operationCompartment": { "$ref": "AAAAAAFnCHpyXthE9Nk=" }, "receptionCompartment": { "$ref": "AAAAAAFnCHpyXthFg68=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnCHpyX9hGqpQ=" } }, { "_type": "UMLClassView", "_id": "AAAAAAFnCHtq1Nmoepc=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnCHtq1NmpLYE=", "_parent": { "$ref": "AAAAAAFnCHtq1Nmoepc=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnCHtq1NmqtFk=", "_parent": { "$ref": "AAAAAAFnCHtq1NmpLYE=" }, "visible": false, "font": "Arial;13;0", "left": 29, "top": 1165, "width": 183, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnCHtq1NmrAp0=", "_parent": { "$ref": "AAAAAAFnCHtq1NmpLYE=" }, "font": "Arial;13;1", "left": 29, "top": 1167, "width": 183, "height": 13, "text": "Head" }, { "_type": "LabelView", "_id": "AAAAAAFnCHtq1Nms9gE=", "_parent": { "$ref": "AAAAAAFnCHtq1NmpLYE=" }, "visible": false, "font": "Arial;13;0", "left": -644, "top": 510, "width": 88.1181640625, "height": 13, "text": "(from common)" }, { "_type": "LabelView", "_id": "AAAAAAFnCHtq1NmtYQg=", "_parent": { "$ref": "AAAAAAFnCHtq1NmpLYE=" }, "visible": false, "font": "Arial;13;0", "left": 29, "top": 1182, "width": 183, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 24, "top": 1160, "width": 193, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnCHtq1NmqtFk=" }, "nameLabel": { "$ref": "AAAAAAFnCHtq1NmrAp0=" }, "namespaceLabel": { "$ref": "AAAAAAFnCHtq1Nms9gE=" }, "propertyLabel": { "$ref": "AAAAAAFnCHtq1NmtYQg=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnCHtq1NmuIhc=", "_parent": { "$ref": "AAAAAAFnCHtq1Nmoepc=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnCHtq1NmvWeU=", "_parent": { "$ref": "AAAAAAFnCHtq1NmuIhc=" }, "model": { "$ref": "AAAAAAFnB/JpGUMAMdM=" }, "visible": false, "font": "Arial;13;0", "left": -1023, "top": 1052, "width": 183, "height": 13, "text": "+Token: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnCHtq1Nmw/Iw=", "_parent": { "$ref": "AAAAAAFnCHtq1NmuIhc=" }, "model": { "$ref": "AAAAAAFnCFqgsLNQb/0=" }, "visible": false, "font": "Arial;13;0", "left": -1040, "top": 1419, "width": 135.4970703125, "height": 13, "text": "+Operation: Operations", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFn1T+c1hwJzsA=", "_parent": { "$ref": "AAAAAAFnCHtq1NmuIhc=" }, "model": { "$ref": "AAAAAAFn1T+cnRv6m1U=" }, "visible": false, "font": "Arial;13;0", "width": 63.2353515625, "height": 13, "text": "+Attribute1", "horizontalAlignment": 0 } ], "visible": false, "font": "Arial;13;0", "left": 24, "top": 1044, "width": 193, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnCHtq1NmxuiI=", "_parent": { "$ref": "AAAAAAFnCHtq1Nmoepc=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "font": "Arial;13;0", "left": 24, "top": 1185, "width": 193, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnCHtq1NmywIQ=", "_parent": { "$ref": "AAAAAAFnCHtq1Nmoepc=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "visible": false, "font": "Arial;13;0", "left": 104, "top": 635, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnCHtq1Nmzeqc=", "_parent": { "$ref": "AAAAAAFnCHtq1Nmoepc=" }, "model": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "visible": false, "font": "Arial;13;0", "left": 104, "top": 635, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 24, "top": 1160, "width": 193, "height": 73, "nameCompartment": { "$ref": "AAAAAAFnCHtq1NmpLYE=" }, "suppressAttributes": true, "attributeCompartment": { "$ref": "AAAAAAFnCHtq1NmuIhc=" }, "operationCompartment": { "$ref": "AAAAAAFnCHtq1NmxuiI=" }, "receptionCompartment": { "$ref": "AAAAAAFnCHtq1NmywIQ=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnCHtq1Nmzeqc=" } }, { "_type": "UMLGeneralizationView", "_id": "AAAAAAFnCHu3ltoLyoU=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "model": { "$ref": "AAAAAAFnCHu3ltoJx+Q=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFnCHu3ltoMpaY=", "_parent": { "$ref": "AAAAAAFnCHu3ltoLyoU=" }, "model": { "$ref": "AAAAAAFnCHu3ltoJx+Q=" }, "visible": false, "font": "Arial;13;0", "left": 251, "top": 1209, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnCHu3ltoLyoU=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCHu3ltoNEFE=", "_parent": { "$ref": "AAAAAAFnCHu3ltoLyoU=" }, "model": { "$ref": "AAAAAAFnCHu3ltoJx+Q=" }, "visible": null, "font": "Arial;13;0", "left": 251, "top": 1224, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnCHu3ltoLyoU=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnCHu3ltoODbY=", "_parent": { "$ref": "AAAAAAFnCHu3ltoLyoU=" }, "model": { "$ref": "AAAAAAFnCHu3ltoJx+Q=" }, "visible": false, "font": "Arial;13;0", "left": 252, "top": 1180, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnCHu3ltoLyoU=" }, "edgePosition": 1 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnCHtq1Nmoepc=" }, "tail": { "$ref": "AAAAAAFnCHpyXtg9Qx4=" }, "lineStyle": 1, "points": "287:1202;217:1200", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFnCHu3ltoMpaY=" }, "stereotypeLabel": { "$ref": "AAAAAAFnCHu3ltoNEFE=" }, "propertyLabel": { "$ref": "AAAAAAFnCHu3ltoODbY=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCIYd1+DZTto=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 984, "width": 377, "height": 25, "text": "Params,参数,由Operation决定,详见operation说明图" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCL7PSOyLyF0=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 640, "width": 377, "height": 25, "text": "SendMessage,客户端发送消息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCPX1bFozJBo=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 592, "width": 377, "height": 25, "text": "Panic,数据异常,服务器断开连接" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnDNTq8M8Ih7M=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 832, "width": 377, "height": 25, "text": "Ping,客户端发送心跳包" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnDdBv+NPfi2w=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 712, "width": 377, "height": 25, "text": "Logout,用户登出" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnD9xsB6sDcxo=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 736, "width": 377, "height": 25, "text": "Offline,服务器勒令下线(账号被另一客户登录)" }, { "_type": "UMLTextView", "_id": "AAAAAAFnF7K3iAicAxA=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 240, "top": 200, "width": 96.6708984375, "height": 25, "text": "JSON序列化" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHPbAnr/QD2g=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 784, "width": 377, "height": 25, "text": "UpdateUserInfo,客户端请求更改昵称、密码、签名或头像" }, { "_type": "UMLTextView", "_id": "AAAAAAFnbjBn64PCDXo=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 192, "top": 224, "width": 192.78076171875, "height": 25, "text": "至少包含Operation和Token字段" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnbjOHRYdgvm0=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 536, "width": 377, "height": 33, "text": "Operation决定包头需要携带的信息,详细定义见operation图" }, { "_type": "UMLTextView", "_id": "AAAAAAFnrTfiTu07lXc=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 120, "top": 120, "width": 62, "height": 25, "text": "【必须】" }, { "_type": "UMLTextView", "_id": "AAAAAAFnrTjqte4Jxjk=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 400, "top": 120, "width": 62, "height": 25, "text": "【必须】" }, { "_type": "UMLTextView", "_id": "AAAAAAFnrTkHfe5HC1g=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 256, "top": 152, "width": 62, "height": 25, "text": "【必须】" }, { "_type": "UMLTextView", "_id": "AAAAAAFnr8EKbxH4UTI=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 104, "top": 264, "width": 319.8291015625, "height": 25, "text": "注:数据传输中文本数据一律采用UTF-8编码" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvAezD9XQN6w=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 664, "width": 377, "height": 25, "text": "Login2,客户端登录,服务器返回用户信息数据" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBtCtts2F1w=", "_parent": { "$ref": "AAAAAAFm+MaskuOd1fg=" }, "font": "Arial;13;0", "left": 632, "top": 808, "width": 377, "height": 25, "text": "GetUsers,获取(特定/所有)用户数据" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnB/GmZ0LNVTQ=", "_parent": { "$ref": "AAAAAAFm+GxoNtz31qw=" }, "name": "Head", "ownedElements": [ { "_type": "UMLAssociation", "_id": "AAAAAAFnCGN4oro+bt4=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGN4oro/ibw=", "_parent": { "$ref": "AAAAAAFnCGN4oro+bt4=" }, "reference": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGN4orpAZYU=", "_parent": { "$ref": "AAAAAAFnCGN4oro+bt4=" }, "reference": { "$ref": "AAAAAAFnCGJSWbaTRcY=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnCGPW5bu8hGY=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGPW5bu9YGY=", "_parent": { "$ref": "AAAAAAFnCGPW5bu8hGY=" }, "reference": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGPW5bu+SVM=", "_parent": { "$ref": "AAAAAAFnCGPW5bu8hGY=" }, "reference": { "$ref": "AAAAAAFnCGJSWbaTRcY=" } } } ], "stereotype": "", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnB/JpGUMAMdM=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "name": "Token", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnCFqgsLNQb/0=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "name": "Operation", "type": { "$ref": "AAAAAAFnCGJSWbaTRcY=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFn1T+cnRv6m1U=", "_parent": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" }, "name": "Attribute1", "type": "" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnB/tAVUOkVvY=", "_parent": { "$ref": "AAAAAAFm+GxoNtz31qw=" }, "name": "SenderHead", "ownedElements": [ { "_type": "UMLAssociation", "_id": "AAAAAAFnB/vJKEPQqWY=", "_parent": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnB/vJKEPRo7U=", "_parent": { "$ref": "AAAAAAFnB/vJKEPQqWY=" }, "reference": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnB/vJKEPSV0g=", "_parent": { "$ref": "AAAAAAFnB/vJKEPQqWY=" }, "reference": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" } } }, { "_type": "UMLGeneralization", "_id": "AAAAAAFnCHSVXtFHBsE=", "_parent": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "source": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "target": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" } } ], "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnCIXU/uCqkk0=", "_parent": { "$ref": "AAAAAAFnB/tAVUOkVvY=" }, "name": "Params", "type": "" } ] }, { "_type": "UMLEnumeration", "_id": "AAAAAAFnCGJSWbaTRcY=", "_parent": { "$ref": "AAAAAAFm+GxoNtz31qw=" }, "name": "Operations", "ownedElements": [ { "_type": "UMLAssociation", "_id": "AAAAAAFnCGLvQ7e8Mpo=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGLvQ7e9Hdc=", "_parent": { "$ref": "AAAAAAFnCGLvQ7e8Mpo=" }, "reference": { "$ref": "AAAAAAFnCGJSWbaTRcY=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGLvQ7e+EGs=", "_parent": { "$ref": "AAAAAAFnCGLvQ7e8Mpo=" }, "reference": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnCGMW/rhNFjE=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGMW/rhOFig=", "_parent": { "$ref": "AAAAAAFnCGMW/rhNFjE=" }, "reference": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGMW/rhPte8=", "_parent": { "$ref": "AAAAAAFnCGMW/rhNFjE=" }, "reference": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnCGNg27mt690=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGNg27mu7bQ=", "_parent": { "$ref": "AAAAAAFnCGNg27mt690=" }, "reference": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnCGNg27mvtaU=", "_parent": { "$ref": "AAAAAAFnCGNg27mt690=" }, "reference": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" } } }, { "_type": "UMLAssociation", "_id": "AAAAAAFnsPLr+JLzefQ=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnsPLr+JL0FuM=", "_parent": { "$ref": "AAAAAAFnsPLr+JLzefQ=" }, "reference": { "$ref": "AAAAAAFnCGJSWbaTRcY=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnsPLr+JL1UJA=", "_parent": { "$ref": "AAAAAAFnsPLr+JLzefQ=" }, "reference": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "aggregation": "shared" } } ], "literals": [ { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnCPW0mFmm2/k=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "Panic" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnCGRXMLy4Bb0=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "TransMessage" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnCL6HzOw5F3o=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "SendMessage" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnvAowIdZ1zwM=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "Login2" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnCGSpgr0r+FQ=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "Login" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnDdBFTdOpQvw=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "Logout" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnD9vlbKk7PfU=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "Offline" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnCGlD8scMQVU=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "GetUserList" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnHPTor7+hW/0=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "UpdateUserInfo" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnvBqg/9o2cxE=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "GetUsers" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnDNSmdc7FPgA=", "_parent": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "name": "Ping" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnCHpyXdg7Uic=", "_parent": { "$ref": "AAAAAAFm+GxoNtz31qw=" }, "name": "ResponseHead", "ownedElements": [ { "_type": "UMLGeneralization", "_id": "AAAAAAFnCHu3ltoJx+Q=", "_parent": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "source": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "target": { "$ref": "AAAAAAFnB/GmZ0LNVTQ=" } } ], "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnCIVMEt9qVYo=", "_parent": { "$ref": "AAAAAAFnCHpyXdg7Uic=" }, "name": "Results", "type": "" } ] }, { "_type": "UMLClassDiagram", "_id": "AAAAAAFnCJD5xebaqTo=", "_parent": { "$ref": "AAAAAAFm+GxoNtz31qw=" }, "name": "operation", "ownedViews": [ { "_type": "UMLTextView", "_id": "AAAAAAFnCJGmiedYJb0=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;18;0", "left": 24, "top": 48, "width": 125.048828125, "height": 30, "text": "Operation说明" }, { "_type": "RectangleView", "_id": "AAAAAAFnCJIDWedeuHw=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 544, "width": 209, "height": 41 }, { "_type": "RectangleView", "_id": "AAAAAAFnCJKzvudvTus=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 544, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCJNpH+d+vBI=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 648, "width": 401, "height": 97 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCJyFDOgUMVg=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 552, "width": 201, "height": 25, "text": "【SERVER】TransMessage" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCJ+wH+ip1tE=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 544, "width": 393, "height": 25, "text": "When,消息产生时间;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCKW2gOizfRI=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 568, "width": 393, "height": 25, "text": "From,消息发送者ID;" }, { "_type": "RectangleView", "_id": "AAAAAAFnCLIN3+riI2I=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 544, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCLOol+r+kR0=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 648, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCLV/M+sVeJM=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 111, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCLXuoOskTHA=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;15;0", "left": 24, "top": 120, "width": 145, "height": 27, "text": "【发送方】操作名称" }, { "_type": "RectangleView", "_id": "AAAAAAFnCLbkZus6M2w=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 111, "width": 401, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCLbkZus78Xk=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;15;0", "left": 240, "top": 120, "width": 257, "height": 27, "text": "Head域 请求参数列表" }, { "_type": "RectangleView", "_id": "AAAAAAFnCLhGTutSdcs=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 111, "width": 345, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCLhGTutTjgA=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;15;0", "left": 644, "top": 119, "width": 145, "height": 27, "text": "Data域,请求数据" }, { "_type": "RectangleView", "_id": "AAAAAAFnCLouX+uLBdE=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 175, "width": 401, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCLouX+uMFHQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;15;0", "left": 240, "top": 184, "width": 257, "height": 27, "text": "Head域 反馈参数列表" }, { "_type": "RectangleView", "_id": "AAAAAAFnCLouX+uN8K8=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 175, "width": 345, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCLouX+uOEoA=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;15;0", "left": 644, "top": 183, "width": 145, "height": 27, "text": "Data域,反馈数据" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCLs2L+ujcrY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 544, "width": 337, "height": 25, "text": "消息内容数据" }, { "_type": "RectangleView", "_id": "AAAAAAFnCL1FP+vDJAQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 783, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCL1FP+vEWck=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 887, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCL1FP+vFcG4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 783, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCL1FP+vG6Eo=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 887, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCL1FP+vHvyU=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 783, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCL1FP+vIYdo=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 791, "width": 209, "height": 25, "text": "【CLIENT】SendMessage" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCL/HJ+0bmLY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 784, "width": 393, "height": 25, "text": "To,消息接收者ID;若省略则发送到上一接收对象" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCMCIJu0j+fQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 784, "width": 337, "height": 25, "text": "消息内容数据" }, { "_type": "UMLTextView", "_id": "AAAAAAFnCMKEJe0wR3s=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 88, "width": 75, "height": 25, "text": "请求数据:" }, { "_type": "UMLTextView", "_id": "AAAAAAFnCMOW7e1FzZc=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 152, "width": 75, "height": 25, "text": "反馈数据:" }, { "_type": "RectangleView", "_id": "AAAAAAFnCNFtCe7IU4k=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 1343, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCNFtCe7JFyY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 1447, "width": 401, "height": 106 }, { "_type": "RectangleView", "_id": "AAAAAAFnCNFtCe7KrTY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 1343, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCNFtCe7LZvA=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 1447, "width": 345, "height": 106 }, { "_type": "RectangleView", "_id": "AAAAAAFnCNFtCe7MmKI=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 1343, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCNFtCe7NUqs=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 1351, "width": 209, "height": 25, "text": "【CLIENT】Login" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCNFtCe7OEHg=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 1344, "width": 393, "height": 25, "text": "User,用户名;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCNI1he7g/Ow=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 1368, "width": 393, "height": 25, "text": "Pwd,密码;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCNQJbe7tzk0=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 1448, "width": 393, "height": 25, "text": "Error,错误文本,登陆成功为空;" }, { "_type": "RectangleView", "_id": "AAAAAAFnCNUJRe78V98=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 2095, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCNUJRe79Zm4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 2200, "width": 401, "height": 169 }, { "_type": "RectangleView", "_id": "AAAAAAFnCNUJRe7+nDQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 2095, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCNUJRe7/QCU=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 2199, "width": 345, "height": 170 }, { "_type": "RectangleView", "_id": "AAAAAAFnCNUJRe8A+UE=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 2095, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCNUJRe8BBVI=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 2103, "width": 209, "height": 25, "text": "【CLIENT】GetUserList" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCNUJRe8Eh88=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 2224, "width": 393, "height": 25, "text": "Error,错误文本,成功为空;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCNcftO8eCos=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 2200, "width": 393, "height": 25, "text": "Count,获取到的用户个数;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCNoGre81BBc=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 2224, "width": 337, "height": 25, "text": "User,用户名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCNu9de88WCY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 2248, "width": 337, "height": 25, "text": "NickName,昵称" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCNz89+9C904=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 2200, "width": 337, "height": 25, "text": "0...*" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCN5Itu9LpX8=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 2272, "width": 337, "height": 25, "text": "Motto,签名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCN68ju9RKkc=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 2296, "width": 337, "height": 25, "text": "UGroup,用户组" }, { "_type": "UMLTextView", "_id": "AAAAAAFnCOvQU++gsU0=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;14;0", "left": 240, "top": 224, "width": 323.4619140625, "height": 26, "text": "注:有结构的数据皆为json编码数据,[]为可选数据" }, { "_type": "RectangleView", "_id": "AAAAAAFnCPH85FlGy4g=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 303, "width": 209, "height": 42 }, { "_type": "RectangleView", "_id": "AAAAAAFnCPH85FlH4r0=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 303, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCPH85FlIvME=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 407, "width": 401, "height": 97 }, { "_type": "UMLTextView", "_id": "AAAAAAFnCPH85FlJ4VI=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 28, "top": 311, "width": 201, "height": 25, "text": "【SERVER】Panic" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCPH85FlKpJE=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 303, "width": 393, "height": 25, "text": "Job,正在执行的操作" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnCPH85FlL00s=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 327, "width": 393, "height": 25, "text": "Error,错误原因" }, { "_type": "RectangleView", "_id": "AAAAAAFnCPH85FlMK5Y=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 303, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnCPH85FlNvNc=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 407, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDNXnP8/e/SY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 943, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDNXnP8/fYLM=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 1047, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDNXnP8/g4Vo=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1668, "top": 943, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDNXnP8/hCwA=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1668, "top": 1047, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDNXnP8/iLT4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1052, "top": 943, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnDNXnP8/jd70=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1052, "top": 951, "width": 209, "height": 25, "text": "【CLIENT】Ping" }, { "_type": "RectangleView", "_id": "AAAAAAFnDc7JK9LgFsc=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 241, "top": 1849, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDc7JK9LhMF4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 241, "top": 1953, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDc7JLdLilC8=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 641, "top": 1849, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDc7JLdLjpxE=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 641, "top": 1953, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDc7JLdLkks4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 25, "top": 1849, "width": 209, "height": 41 }, { "_type": "RectangleView", "_id": "AAAAAAFnDdK1O9TScWI=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 241, "top": 1598, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDdK1O9TTkCE=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 241, "top": 1702, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDdK1O9TUhic=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 641, "top": 1598, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDdK1O9TV4Nc=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 641, "top": 1702, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnDdK1O9TWrIY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 25, "top": 1598, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnDdK1O9TXGpE=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 25, "top": 1856, "width": 209, "height": 25, "text": "【SERVER】Offline" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnDdK1O9TYSas=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 241, "top": 1848, "width": 393, "height": 25, "text": "Error,勒令下线原因" }, { "_type": "UMLTextView", "_id": "AAAAAAFnD94Nt6todGc=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 1608, "width": 209, "height": 25, "text": "【Client】Logout" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnD+Va8Ktugac=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 1872, "width": 393, "height": 25, "text": "Addr,新客户端的地址(如果有)" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnD+0dQqt0An8=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 888, "width": 393, "height": 25, "text": "[Error],当NeedResult存在时返回错误内容,成功为空" }, { "_type": "RectangleView", "_id": "AAAAAAFnHQLERFeSNiU=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 111, "width": 401, "height": 105 }, { "_type": "RectangleView", "_id": "AAAAAAFnHQLERFeTygY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 232, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnHQLERFeUHMU=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1668, "top": 111, "width": 345, "height": 105 }, { "_type": "RectangleView", "_id": "AAAAAAFnHQLERFeV5Ts=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1668, "top": 232, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnHQLERFeWElM=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1052, "top": 112, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnHQLERFeXiyY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1052, "top": 119, "width": 209, "height": 25, "text": "【Client】UpdateUserInfo" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHQLERFeYSAk=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 111, "width": 393, "height": 25, "text": "[NickName],新昵称" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnHQRMh1euW+c=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 232, "width": 393, "height": 25, "text": "Error,执行结果,为空则修改成功" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnND+1cMCMi0w=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 136, "width": 393, "height": 25, "text": "[Password],新密码" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNEEGJsCTawo=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 160, "width": 393, "height": 25, "text": "[Motto],新签名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNEj138eeNg8=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1268, "top": 184, "width": 393, "height": 25, "text": "Photo,头像数据长度" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnNEoaOceqiEY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1668, "top": 111, "width": 333, "height": 25, "text": "头像数据" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnq49swuujVy8=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 808, "width": 393, "height": 25, "text": "NeedResullt,当此字段不为0时要求服务器返回处理结果" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnu/aCZNMr80g=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 24, "top": 2136, "width": 121.50537109375, "height": 25, "text": "Deprecated" }, { "_type": "RectangleView", "_id": "AAAAAAFnu/sWMNNLHc4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1052, "top": 415, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnu/sWMNNM+W4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1052, "top": 422, "width": 209, "height": 25, "text": "【Client】GetUsers" }, { "_type": "RectangleView", "_id": "AAAAAAFnu/uZltNaOC4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 415, "width": 401, "height": 105 }, { "_type": "RectangleView", "_id": "AAAAAAFnu/uZltNbF/E=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 535, "width": 401, "height": 290 }, { "_type": "RectangleView", "_id": "AAAAAAFnu/uZltNcDw8=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1670, "top": 415, "width": 345, "height": 105 }, { "_type": "RectangleView", "_id": "AAAAAAFnu/uZltNd53k=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1670, "top": 535, "width": 345, "height": 202 }, { "_type": "UMLNoteView", "_id": "AAAAAAFnu/wvPdNopbU=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 535, "width": 393, "height": 25, "text": "Error,错误文本,如果非空其他数据将不存在" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnu/2rlNN2c7Y=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 1451, "width": 337, "height": 25, "text": "User,用户名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnu/2rlNN3BTY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 1475, "width": 337, "height": 25, "text": "NickName,昵称" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnu/2rlNN4K+o=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 1499, "width": 337, "height": 25, "text": "Motto,签名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnu/2rlNN5vRQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 1523, "width": 337, "height": 25, "text": "UGroup,用户组" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnu//q9tOQqwc=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 415, "width": 393, "height": 25, "text": "[User],用户名,如果指定了此参数,则仅返回对应用户的信息" }, { "_type": "RectangleView", "_id": "AAAAAAFnvAq/eNccJf4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1015, "width": 401, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnvAq/eNcdS/w=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1119, "width": 401, "height": 162 }, { "_type": "RectangleView", "_id": "AAAAAAFnvAq/eNceDMI=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 642, "top": 1015, "width": 345, "height": 97 }, { "_type": "RectangleView", "_id": "AAAAAAFnvAq/eNcf9bg=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 642, "top": 1119, "width": 345, "height": 162 }, { "_type": "RectangleView", "_id": "AAAAAAFnvAq/eNcgiLQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 26, "top": 1015, "width": 209, "height": 41 }, { "_type": "UMLTextView", "_id": "AAAAAAFnvAq/eNchCrs=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 26, "top": 1023, "width": 209, "height": 25, "text": "【CLIENT】Login2" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvAq/eNciSFk=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1016, "width": 393, "height": 25, "text": "User,用户名;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvAq/eNcjJmQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1040, "width": 393, "height": 25, "text": "Pwd,密码;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvAq/eNckv6o=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1119, "width": 393, "height": 25, "text": "Error,错误文本,登陆成功为空;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvAq/eNclRZ4=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1147, "width": 393, "height": 25, "text": "User,用户名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvAq/eNcmAgs=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1171, "width": 393, "height": 25, "text": "NickName,昵称" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvAq/eNcn3SI=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1195, "width": 393, "height": 25, "text": "Motto,签名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvAq/eNcontQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 242, "top": 1219, "width": 393, "height": 25, "text": "UGroup,用户组" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvA5u3ddUbgk=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 240, "top": 1240, "width": 393, "height": 25, "text": "Photo,头像数据长度" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvA/XXNdmAfY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 640, "top": 1120, "width": 337, "height": 25, "text": "头像数据" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBLyndd44Jo=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 559, "width": 393, "height": 25, "text": "Total,总用户数" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBNcDtd/KG8=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 584, "width": 393, "height": 25, "text": "Count,当前数据序号" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBTLRNeJ17c=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 752, "width": 393, "height": 25, "text": "Photo,头像数据长度" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBTLRNeKCi0=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 729, "width": 393, "height": 25, "text": "UGroup,用户组" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBTLRNeLZ8c=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 705, "width": 393, "height": 25, "text": "Motto,签名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBTLRdeMLdQ=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 681, "width": 393, "height": 25, "text": "NickName,昵称" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBTLRdeN5CY=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1270, "top": 657, "width": 393, "height": 25, "text": "User,用户名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvBakXNefJXw=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1672, "top": 536, "width": 333, "height": 25, "text": "头像数据" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvE9vhOFyodw=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1289.080078125, "top": 608, "width": 373.919921875, "height": 25, "text": "从1开始递增;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnvE+VU+F3e0s=", "_parent": { "$ref": "AAAAAAFnCJD5xebaqTo=" }, "font": "Arial;13;0", "left": 1289.080078125, "top": 632, "width": 373.919921875, "height": 25, "text": "最后一个包值为-1,仅作结束封包而不包含数据;" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnEWqAz4W4XMc=", "_parent": { "$ref": "AAAAAAFm+GxoNtz31qw=" }, "name": "UserInfo", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnEWqu5oXimAI=", "_parent": { "$ref": "AAAAAAFnEWqAz4W4XMc=" }, "name": "User", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnEWsfIoXwLj8=", "_parent": { "$ref": "AAAAAAFnEWqAz4W4XMc=" }, "name": "NickName", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnEWtJUoX3EUs=", "_parent": { "$ref": "AAAAAAFnEWqAz4W4XMc=" }, "name": "Motto", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnEWrYd4Xp700=", "_parent": { "$ref": "AAAAAAFnEWqAz4W4XMc=" }, "name": "UGroup", "type": "" } ] } ] }, { "_type": "UMLModel", "_id": "AAAAAAFnzmBkZ12L4iE=", "_parent": { "$ref": "AAAAAAFF+h6SjaM2Hec=" }, "name": "client-C#", "ownedElements": [ { "_type": "UMLModel", "_id": "AAAAAAFnp7Q36fVR840=", "_parent": { "$ref": "AAAAAAFnzmBkZ12L4iE=" }, "name": "Interact", "ownedElements": [ { "_type": "UMLEnumeration", "_id": "AAAAAAFnr9ZqNhTx5eA=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "UserGroup", "literals": [ { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnr9bCvxUhVCM=", "_parent": { "$ref": "AAAAAAFnr9ZqNhTx5eA=" }, "name": "User" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnsOF0roya30o=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "Packet", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnsOH+b42O/1o=", "_parent": { "$ref": "AAAAAAFnsOF0roya30o=" }, "name": "Head", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnsOOYe42ngLw=", "_parent": { "$ref": "AAAAAAFnsOF0roya30o=" }, "name": "Data", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnsOO36I2umgg=", "_parent": { "$ref": "AAAAAAFnsOF0roya30o=" }, "name": "Callback", "type": "" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnsOuL+43sqcU=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "BaseHead", "ownedElements": [ { "_type": "UMLAssociation", "_id": "AAAAAAFnsPMMupNdKCE=", "_parent": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnsPMMupNeAIo=", "_parent": { "$ref": "AAAAAAFnsPMMupNdKCE=" }, "reference": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "navigable": false }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnsPMMvpNfy8Q=", "_parent": { "$ref": "AAAAAAFnsPMMupNdKCE=" }, "reference": { "$ref": "AAAAAAFnCGJSWbaTRcY=" } } }, { "_type": "UMLGeneralization", "_id": "AAAAAAFnsPPysJRAUmU=", "_parent": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "source": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "target": { "$ref": "AAAAAAFnsPO66JPy0oQ=" } } ], "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnsOwFTY5BrAg=", "_parent": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "name": "Token", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnsOyo5I5JH1Y=", "_parent": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "name": "Operation", "type": "string" } ] }, { "_type": "UMLEnumeration", "_id": "AAAAAAFnsO+FF451S20=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "Operations" }, { "_type": "UMLClass", "_id": "AAAAAAFnsPO66JPy0oQ=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "ResultHead", "ownedElements": [ { "_type": "UMLGeneralization", "_id": "AAAAAAFnsPQSvJSAhyQ=", "_parent": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "source": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "target": { "$ref": "AAAAAAFnsOuL+43sqcU=" } } ], "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnsPQ4WpT62vE=", "_parent": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "name": "Error", "type": "string" } ] }, { "_type": "UMLEnumeration", "_id": "AAAAAAFnzkz+TxyfrCs=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "ClientStatus", "literals": [ { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnzk1CRRzON0w=", "_parent": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "name": "Uninitialized" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnzk10khzVNiA=", "_parent": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "name": "Running" }, { "_type": "UMLEnumerationLiteral", "_id": "AAAAAAFnzk2CXBzc3Fw=", "_parent": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "name": "Stopped" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnr8Qm+hLRI9k=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "User", "ownedElements": [ { "_type": "UMLAssociation", "_id": "AAAAAAFnr9ed4BaDT+g=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnr9ed4BaEQOY=", "_parent": { "$ref": "AAAAAAFnr9ed4BaDT+g=" }, "reference": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFnr9ed4BaFpjg=", "_parent": { "$ref": "AAAAAAFnr9ed4BaDT+g=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "aggregation": "composite" } }, { "_type": "UMLAssociation", "_id": "AAAAAAFn1TBGwRmQGqs=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "end1": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFn1TBGwRmRsXM=", "_parent": { "$ref": "AAAAAAFn1TBGwRmQGqs=" }, "reference": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" } }, "end2": { "_type": "UMLAssociationEnd", "_id": "AAAAAAFn1TBGwRmSJX0=", "_parent": { "$ref": "AAAAAAFn1TBGwRmQGqs=" }, "reference": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "aggregation": "composite" } } ], "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnzm3g9mH6cuk=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "Users", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr8RZVxL7Cr4=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "Me", "type": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFnzmz/ymGwrvs=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "DefaultPhoto", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr8UJDhMGjKw=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "Name", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr9XURxTioew=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "NickName", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr9YNXxTqmO4=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "Motto", "type": "string" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr9fdLhb5Ct0=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "Group", "type": { "$ref": "AAAAAAFnr9ZqNhTx5eA=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFnznKWLGXL/cI=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "Photo", "type": "Image" } ], "operations": [ { "_type": "UMLOperation", "_id": "AAAAAAFnznDaKWTA3VQ=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "name": "FromUserName", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnznEMbmToMe0=", "_parent": { "$ref": "AAAAAAFnznDaKWTA3VQ=" }, "name": "username", "type": "string" } ] } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnp7WMX/VycEU=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "StormClient", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnr7CKIxB3kro=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "event OnDisconnect", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnscqUXXp9khQ=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "event OnPanic", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnscrsBHqFWxc=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "event OnOffline", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnscsMgHqMhpc=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "event OnMessage", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnscsivnqT/q0=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "event OnSendMessageDone", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnsctOLXqaI5Q=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "event OnUpdateUserInfoDone", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr7EXRBB+XvI=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "event OnLoginDone", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnscttN3qhUIQ=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "event OnGetUserListDone", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnsgarpnyDHjs=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "DoesSendMessageReturn", "type": "bool" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnzkx7pByTqx8=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "Status", "type": { "$ref": "AAAAAAFnzkz+TxyfrCs=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr7MFkRCjl/U=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "tcpClient", "visibility": "private", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr7NYIhCrWDg=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "sendQueue", "visibility": "private", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr7OQQRCyG4Q=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "readLoopThread", "visibility": "private", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnr7PGUxC5YyU=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "sendLoopThread", "visibility": "private", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnzkYEqBxoDdg=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "workingDictionary", "type": "" } ], "operations": [ { "_type": "UMLOperation", "_id": "AAAAAAFnp768IvXdZko=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "Initialize" }, { "_type": "UMLOperation", "_id": "AAAAAAFnp8DShvXnMlE=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "QueueLogin", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnp8FQqfXuyEU=", "_parent": { "$ref": "AAAAAAFnp8DShvXnMlE=" }, "name": "user", "type": "string" }, { "_type": "UMLParameter", "_id": "AAAAAAFnp8FQqvXv45c=", "_parent": { "$ref": "AAAAAAFnp8DShvXnMlE=" }, "name": "password", "type": "string" }, { "_type": "UMLParameter", "_id": "AAAAAAFnp8HDPvXzyKo=", "_parent": { "$ref": "AAAAAAFnp8DShvXnMlE=" }, "name": "callback", "type": "" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnsgqsQHzr9t0=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "QueueSendMessage", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnsgrhyXzyR5Q=", "_parent": { "$ref": "AAAAAAFnsgqsQHzr9t0=" }, "name": "Message message", "type": "" }, { "_type": "UMLParameter", "_id": "AAAAAAFnsgrhyXzzIp8=", "_parent": { "$ref": "AAAAAAFnsgqsQHzr9t0=" }, "name": "callback ", "type": "", "defaultValue": "null" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnsgsDdnz4B8w=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "QueueLogout", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnsgs4oXz/O+g=", "_parent": { "$ref": "AAAAAAFnsgsDdnz4B8w=" }, "name": "callback", "type": "", "defaultValue": "null" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnsgtHZX0BC2k=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "QueueGetUserList", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnsguEP30ISq8=", "_parent": { "$ref": "AAAAAAFnsgtHZX0BC2k=" }, "name": "callback", "type": "", "defaultValue": "null" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnsguS1X0KYI8=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "QueueUpdateUserInfo", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnsgu7G30Rc7g=", "_parent": { "$ref": "AAAAAAFnsguS1X0KYI8=" }, "name": "callback", "type": "", "defaultValue": "null" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnr76c/BEU+cs=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "HandleAll", "visibility": "private", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnr77kWREcONc=", "_parent": { "$ref": "AAAAAAFnr76c/BEU+cs=" }, "name": "head", "type": "" }, { "_type": "UMLParameter", "_id": "AAAAAAFnr77kWREdGAA=", "_parent": { "$ref": "AAAAAAFnr76c/BEU+cs=" }, "name": "data", "type": "" } ] }, { "_type": "UMLOperation", "_id": "AAAAAAFnp8vRhPYPjkU=", "_parent": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "name": "Send", "visibility": "private", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnp8xaYPYXzF8=", "_parent": { "$ref": "AAAAAAFnp8vRhPYPjkU=" }, "name": "head", "type": "" }, { "_type": "UMLParameter", "_id": "AAAAAAFnp8xaYPYYnrY=", "_parent": { "$ref": "AAAAAAFnp8vRhPYPjkU=" }, "name": "data", "type": "" } ] } ] }, { "_type": "UMLClassDiagram", "_id": "AAAAAAFnr6FF9A/7VxI=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "User", "ownedViews": [ { "_type": "UMLClassView", "_id": "AAAAAAFnr8Qm+hLTl68=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "model": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnr8Qm+xLU/SA=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLTl68=" }, "model": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnr8Qm+xLVONA=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLU/SA=" }, "visible": false, "font": "Arial;13;0", "left": -112, "top": -32, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnr8Qm+xLW9IE=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLU/SA=" }, "font": "Arial;13;1", "left": 285, "top": 95, "width": 342, "height": 13, "text": "User" }, { "_type": "LabelView", "_id": "AAAAAAFnr8Qm+xLXdf4=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLU/SA=" }, "visible": false, "font": "Arial;13;0", "left": -112, "top": -32, "width": 86.67724609375, "height": 13, "text": "(from Interact)" }, { "_type": "LabelView", "_id": "AAAAAAFnr8Qm+xLY/1I=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLU/SA=" }, "visible": false, "font": "Arial;13;0", "left": -112, "top": -32, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 280, "top": 88, "width": 352, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnr8Qm+xLVONA=" }, "nameLabel": { "$ref": "AAAAAAFnr8Qm+xLW9IE=" }, "namespaceLabel": { "$ref": "AAAAAAFnr8Qm+xLXdf4=" }, "propertyLabel": { "$ref": "AAAAAAFnr8Qm+xLY/1I=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnr8Qm+xLZ5IM=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLTl68=" }, "model": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnzm3hJWH9Ixo=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "model": { "$ref": "AAAAAAFnzm3g9mH6cuk=" }, "font": "Arial;13;0", "left": 285, "top": 118, "width": 342, "height": 13, "text": "+Users", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr8RZlRL+968=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "model": { "$ref": "AAAAAAFnr8RZVxL7Cr4=" }, "font": "Arial;13;0", "left": 285, "top": 133, "width": 342, "height": 13, "text": "+Me: User", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnzm0AD2Gz7nI=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "model": { "$ref": "AAAAAAFnzmz/ymGwrvs=" }, "font": "Arial;13;0", "left": 285, "top": 148, "width": 342, "height": 13, "text": "+DefaultPhoto", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr8UJShMJhDc=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "model": { "$ref": "AAAAAAFnr8UJDhMGjKw=" }, "font": "Arial;13;0", "left": 285, "top": 163, "width": 342, "height": 13, "text": "+Name: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr9XUfRTl1tQ=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "model": { "$ref": "AAAAAAFnr9XURxTioew=" }, "font": "Arial;13;0", "left": 285, "top": 178, "width": 342, "height": 13, "text": "+NickName: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr9YNlxTtV9w=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "model": { "$ref": "AAAAAAFnr9YNXxTqmO4=" }, "font": "Arial;13;0", "left": 285, "top": 193, "width": 342, "height": 13, "text": "+Motto: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr9fdXxb8Rcw=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "model": { "$ref": "AAAAAAFnr9fdLhb5Ct0=" }, "font": "Arial;13;0", "left": 285, "top": 208, "width": 342, "height": 13, "text": "+Group: UserGroup", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnznKWaWXOR30=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "model": { "$ref": "AAAAAAFnznKWLGXL/cI=" }, "font": "Arial;13;0", "left": 285, "top": 223, "width": 342, "height": 13, "text": "+Photo: Image", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 280, "top": 113, "width": 352, "height": 128 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnr8Qm+xLaij0=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLTl68=" }, "model": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "subViews": [ { "_type": "UMLOperationView", "_id": "AAAAAAFnznDaYWTD2PM=", "_parent": { "$ref": "AAAAAAFnr8Qm+xLaij0=" }, "model": { "$ref": "AAAAAAFnznDaKWTA3VQ=" }, "font": "Arial;13;0", "left": 285, "top": 246, "width": 342, "height": 13, "text": "+FromUserName(username: string)", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 280, "top": 241, "width": 352, "height": 23 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnr8Qm+xLbuIo=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLTl68=" }, "model": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "visible": false, "font": "Arial;13;0", "left": -56, "top": -16, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnr8Qm+xLc5V8=", "_parent": { "$ref": "AAAAAAFnr8Qm+hLTl68=" }, "model": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" }, "visible": false, "font": "Arial;13;0", "left": -56, "top": -16, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 280, "top": 88, "width": 352, "height": 289, "nameCompartment": { "$ref": "AAAAAAFnr8Qm+xLU/SA=" }, "attributeCompartment": { "$ref": "AAAAAAFnr8Qm+xLZ5IM=" }, "operationCompartment": { "$ref": "AAAAAAFnr8Qm+xLaij0=" }, "receptionCompartment": { "$ref": "AAAAAAFnr8Qm+xLbuIo=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnr8Qm+xLc5V8=" } }, { "_type": "UMLEnumerationView", "_id": "AAAAAAFnr9cV3xVaXcM=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnr9cV3xVbnkc=", "_parent": { "$ref": "AAAAAAFnr9cV3xVaXcM=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnr9cV3xVcylc=", "_parent": { "$ref": "AAAAAAFnr9cV3xVbnkc=" }, "font": "Arial;13;0", "left": 21, "top": 101, "width": 199, "height": 13, "text": "«enumeration»" }, { "_type": "LabelView", "_id": "AAAAAAFnr9cV3xVd1M0=", "_parent": { "$ref": "AAAAAAFnr9cV3xVbnkc=" }, "font": "Arial;13;1", "left": 21, "top": 116, "width": 199, "height": 13, "text": "UserGroup" }, { "_type": "LabelView", "_id": "AAAAAAFnr9cV3xVesYo=", "_parent": { "$ref": "AAAAAAFnr9cV3xVbnkc=" }, "visible": false, "font": "Arial;13;0", "left": -1916, "top": -426, "width": 74.38818359375, "height": 13, "text": "(from server)" }, { "_type": "LabelView", "_id": "AAAAAAFnr9cV3xVf65E=", "_parent": { "$ref": "AAAAAAFnr9cV3xVbnkc=" }, "visible": false, "font": "Arial;13;0", "left": -1916, "top": -426, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 16, "top": 96, "width": 209, "height": 38, "stereotypeLabel": { "$ref": "AAAAAAFnr9cV3xVcylc=" }, "nameLabel": { "$ref": "AAAAAAFnr9cV3xVd1M0=" }, "namespaceLabel": { "$ref": "AAAAAAFnr9cV3xVesYo=" }, "propertyLabel": { "$ref": "AAAAAAFnr9cV3xVf65E=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnr9cV3xVgrnE=", "_parent": { "$ref": "AAAAAAFnr9cV3xVaXcM=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "visible": false, "font": "Arial;13;0", "left": -728, "top": -200, "width": 10, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnr9cV3xVhAnA=", "_parent": { "$ref": "AAAAAAFnr9cV3xVaXcM=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "visible": false, "font": "Arial;13;0", "left": -728, "top": -200, "width": 10, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnr9cV3xVieQo=", "_parent": { "$ref": "AAAAAAFnr9cV3xVaXcM=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "visible": false, "font": "Arial;13;0", "left": -728, "top": -200, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnr9cV3xVjyfU=", "_parent": { "$ref": "AAAAAAFnr9cV3xVaXcM=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "visible": false, "font": "Arial;13;0", "left": -728, "top": -200, "width": 10, "height": 10 }, { "_type": "UMLEnumerationLiteralCompartmentView", "_id": "AAAAAAFnr9cV3xVk1s4=", "_parent": { "$ref": "AAAAAAFnr9cV3xVaXcM=" }, "model": { "$ref": "AAAAAAFnHF4MoqRKqMY=" }, "subViews": [ { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnr9cV3xVl4cY=", "_parent": { "$ref": "AAAAAAFnr9cV3xVk1s4=" }, "model": { "$ref": "AAAAAAFnHF5YU6R71+g=" }, "font": "Arial;13;0", "left": 21, "top": 139, "width": 199, "height": 13, "text": "User", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnr9cV3xVmhHw=", "_parent": { "$ref": "AAAAAAFnr9cV3xVk1s4=" }, "model": { "$ref": "AAAAAAFnHF5rxaSCsIQ=" }, "font": "Arial;13;0", "left": 21, "top": 154, "width": 199, "height": 13, "text": "Vip", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnr9cV3xVnAhU=", "_parent": { "$ref": "AAAAAAFnr9cV3xVk1s4=" }, "model": { "$ref": "AAAAAAFnHF6LOaSJQiU=" }, "font": "Arial;13;0", "left": 21, "top": 169, "width": 199, "height": 13, "text": "Admin", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnr9cV3xVoM5I=", "_parent": { "$ref": "AAAAAAFnr9cV3xVk1s4=" }, "model": { "$ref": "AAAAAAFnHGZJBa4BuKs=" }, "font": "Arial;13;0", "left": 21, "top": 184, "width": 199, "height": 13, "text": "Group", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 16, "top": 134, "width": 209, "height": 68 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 16, "top": 96, "width": 209, "height": 137, "nameCompartment": { "$ref": "AAAAAAFnr9cV3xVbnkc=" }, "suppressAttributes": true, "suppressOperations": true, "attributeCompartment": { "$ref": "AAAAAAFnr9cV3xVgrnE=" }, "operationCompartment": { "$ref": "AAAAAAFnr9cV3xVhAnA=" }, "receptionCompartment": { "$ref": "AAAAAAFnr9cV3xVieQo=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnr9cV3xVjyfU=" }, "enumerationLiteralCompartment": { "$ref": "AAAAAAFnr9cV3xVk1s4=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr9iUahctUCQ=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 96, "width": 385, "height": 25, "text": "定义一个用户" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr9jMFRdh4P4=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 168, "width": 385, "height": 25, "text": "Me,静态成员,当前登录用户的引用" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr9lAxxfKDj4=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 224, "width": 385, "height": 25, "text": "Name,用户名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr9qzBBi/nBI=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 248, "width": 385, "height": 25, "text": "NickName,昵称" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr9r+NBjjGpM=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 272, "width": 385, "height": 25, "text": "Motto,签名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr9suuxkH+o4=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 296, "width": 385, "height": 25, "text": "Group,用户类型" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnzm5t72LV5tM=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 144, "width": 385, "height": 25, "text": "Users,静态成员,用户列表,仅内部使用" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznBcFWRo/5A=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 192, "width": 385, "height": 25, "text": "DefaultPhoto,静态成员,默认头像" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznEbImUD70E=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 360, "width": 420.11181640625, "height": 25, "text": "FromUserName(),匹配用户名,如果用户列表不存在则创建一个实例" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznLN22Yh25I=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 664, "top": 320, "width": 385, "height": 25, "text": "Photo,用户头像" }, { "_type": "UMLClassView", "_id": "AAAAAAFnznRHjGb9cVI=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "model": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnznRHjGb+dKU=", "_parent": { "$ref": "AAAAAAFnznRHjGb9cVI=" }, "model": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnznRHjGb/Op8=", "_parent": { "$ref": "AAAAAAFnznRHjGb+dKU=" }, "visible": false, "font": "Arial;13;0", "left": 16, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnznRHjGcASxg=", "_parent": { "$ref": "AAAAAAFnznRHjGb+dKU=" }, "font": "Arial;13;1", "left": 285, "top": 479, "width": 343, "height": 13, "text": "UserInfo" }, { "_type": "LabelView", "_id": "AAAAAAFnznRHjGcBpao=", "_parent": { "$ref": "AAAAAAFnznRHjGb+dKU=" }, "visible": false, "font": "Arial;13;0", "left": 16, "width": 81.62451171875, "height": 13, "text": "(from Interact)" }, { "_type": "LabelView", "_id": "AAAAAAFnznRHjGcCuiw=", "_parent": { "$ref": "AAAAAAFnznRHjGb+dKU=" }, "visible": false, "font": "Arial;13;0", "left": 16, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 280, "top": 472, "width": 353, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnznRHjGb/Op8=" }, "nameLabel": { "$ref": "AAAAAAFnznRHjGcASxg=" }, "namespaceLabel": { "$ref": "AAAAAAFnznRHjGcBpao=" }, "propertyLabel": { "$ref": "AAAAAAFnznRHjGcCuiw=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnznRHjGcDGWw=", "_parent": { "$ref": "AAAAAAFnznRHjGb9cVI=" }, "model": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnznSV/2e0AW0=", "_parent": { "$ref": "AAAAAAFnznRHjGcDGWw=" }, "model": { "$ref": "AAAAAAFnznSVvWeuc08=" }, "font": "Arial;13;0", "left": 285, "top": 502, "width": 343, "height": 13, "text": "+Password", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnznSuEWfZbU4=", "_parent": { "$ref": "AAAAAAFnznRHjGcDGWw=" }, "model": { "$ref": "AAAAAAFnznSt92fTpzo=" }, "font": "Arial;13;0", "left": 285, "top": 517, "width": 343, "height": 13, "text": "+NickName", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnznS73mf1P2I=", "_parent": { "$ref": "AAAAAAFnznRHjGcDGWw=" }, "model": { "$ref": "AAAAAAFnznS7xmfvl+8=" }, "font": "Arial;13;0", "left": 285, "top": 532, "width": 343, "height": 13, "text": "+Motto", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnznTFO2gRtso=", "_parent": { "$ref": "AAAAAAFnznRHjGcDGWw=" }, "model": { "$ref": "AAAAAAFnznTFImgLxZo=" }, "font": "Arial;13;0", "left": 285, "top": 547, "width": 343, "height": 13, "text": "+Photo", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 280, "top": 497, "width": 353, "height": 68 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnznRHjGcEufk=", "_parent": { "$ref": "AAAAAAFnznRHjGb9cVI=" }, "model": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "font": "Arial;13;0", "left": 280, "top": 565, "width": 353, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnznRHjWcFQ3U=", "_parent": { "$ref": "AAAAAAFnznRHjGb9cVI=" }, "model": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "visible": false, "font": "Arial;13;0", "left": 8, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnznRHjWcGRNw=", "_parent": { "$ref": "AAAAAAFnznRHjGb9cVI=" }, "model": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "visible": false, "font": "Arial;13;0", "left": 8, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 280, "top": 472, "width": 353, "height": 160, "nameCompartment": { "$ref": "AAAAAAFnznRHjGb+dKU=" }, "attributeCompartment": { "$ref": "AAAAAAFnznRHjGcDGWw=" }, "operationCompartment": { "$ref": "AAAAAAFnznRHjGcEufk=" }, "receptionCompartment": { "$ref": "AAAAAAFnznRHjWcFQ3U=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnznRHjWcGRNw=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznT4wmiEsO4=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "font": "Arial;13;0", "left": 704, "top": 472, "width": 345, "height": 25, "text": "修改用户信息结构,不修改的项赋null" }, { "_type": "UMLAssociationView", "_id": "AAAAAAFn1TBcahoFlmo=", "_parent": { "$ref": "AAAAAAFnr6FF9A/7VxI=" }, "model": { "$ref": "AAAAAAFn1TBcaRoBYXc=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoG+m8=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcaRoBYXc=" }, "visible": false, "font": "Arial;13;0", "left": 255, "top": 169, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoHd/k=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcaRoBYXc=" }, "visible": null, "font": "Arial;13;0", "left": 258, "top": 154, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoINOs=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcaRoBYXc=" }, "visible": false, "font": "Arial;13;0", "left": 248, "top": 198, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoJ/9k=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcahoCC4w=" }, "visible": false, "font": "Arial;13;0", "left": 253, "top": 169, "height": 13, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoKllg=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcahoCC4w=" }, "visible": false, "font": "Arial;13;0", "left": 258, "top": 156, "height": 13, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoL9Ls=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcahoCC4w=" }, "visible": false, "font": "Arial;13;0", "left": 243, "top": 195, "height": 13, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoMMMU=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcahoDot8=" }, "visible": false, "font": "Arial;13;0", "left": 256, "top": 170, "height": 13, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoN8D8=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcahoDot8=" }, "visible": false, "font": "Arial;13;0", "left": 256, "top": 156, "height": 13, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFn1TBcahoOGmI=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcahoDot8=" }, "visible": false, "font": "Arial;13;0", "left": 255, "top": 197, "height": 13, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFn1TBcahoFlmo=" } }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFn1TBcahoPxn4=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcahoCC4w=" }, "visible": false, "font": "Arial;13;0", "width": 10, "height": 10 }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFn1TBcahoQ/Do=", "_parent": { "$ref": "AAAAAAFn1TBcahoFlmo=" }, "model": { "$ref": "AAAAAAFn1TBcahoDot8=" }, "visible": false, "font": "Arial;13;0", "width": 10, "height": 10 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnr8Qm+hLTl68=" }, "tail": { "$ref": "AAAAAAFnr9cV3xVaXcM=" }, "lineStyle": 1, "points": "225:185;279:196", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFn1TBcahoG+m8=" }, "stereotypeLabel": { "$ref": "AAAAAAFn1TBcahoHd/k=" }, "propertyLabel": { "$ref": "AAAAAAFn1TBcahoINOs=" }, "tailRoleNameLabel": { "$ref": "AAAAAAFn1TBcahoJ/9k=" }, "tailPropertyLabel": { "$ref": "AAAAAAFn1TBcahoKllg=" }, "tailMultiplicityLabel": { "$ref": "AAAAAAFn1TBcahoL9Ls=" }, "headRoleNameLabel": { "$ref": "AAAAAAFn1TBcahoMMMU=" }, "headPropertyLabel": { "$ref": "AAAAAAFn1TBcahoN8D8=" }, "headMultiplicityLabel": { "$ref": "AAAAAAFn1TBcahoOGmI=" }, "tailQualifiersCompartment": { "$ref": "AAAAAAFn1TBcahoPxn4=" }, "headQualifiersCompartment": { "$ref": "AAAAAAFn1TBcahoQ/Do=" } } ] }, { "_type": "UMLClassDiagram", "_id": "AAAAAAFnr6LOHhAL49A=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "Message", "ownedViews": [ { "_type": "UMLNoteView", "_id": "AAAAAAFnsN0+ZIx9AKY=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 112, "width": 417, "height": 25, "text": "定义一条用户消息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsN6XNIyJdDc=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 160, "width": 417, "height": 25, "text": "When: DateTime,服务器接收消息的时间" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsN7xh4yPZag=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 184, "width": 417, "height": 25, "text": "From,消息的发送者;" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsN9r04yV+4c=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 208, "width": 417, "height": 25, "text": "Text,消息内容文本" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsOIT9I2VvQ8=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 368, "width": 417, "height": 25, "text": "定义一个数据包,仅内部使用" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsOLhXI2bZ/o=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 416, "width": 417, "height": 25, "text": "Head,消息包头,总是继承于BaseHead" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsON7vI2iu2A=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 440, "width": 417, "height": 25, "text": "Data,二进制数据,可空" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsOSdSI23Pzg=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 464, "width": 417, "height": 25, "text": "CallBack,数据包发送完成后的回调函数,可空。委托类型:" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsOUQwY29Dmo=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 664, "top": 488, "width": 393, "height": 25, "text": "Action,参数的Error成员为出错原因(无错为空)" }, { "_type": "UMLClassView", "_id": "AAAAAAFnzmH7l2AqixU=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "model": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnzmH7l2Ar8dM=", "_parent": { "$ref": "AAAAAAFnzmH7l2AqixU=" }, "model": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnzmH7mGAsYNk=", "_parent": { "$ref": "AAAAAAFnzmH7l2Ar8dM=" }, "visible": false, "font": "Arial;13;0", "left": 96, "top": 32, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnzmH7mGAtlyo=", "_parent": { "$ref": "AAAAAAFnzmH7l2Ar8dM=" }, "font": "Arial;13;1", "left": 253, "top": 119, "width": 335, "height": 13, "text": "Message" }, { "_type": "LabelView", "_id": "AAAAAAFnzmH7mGAuaWw=", "_parent": { "$ref": "AAAAAAFnzmH7l2Ar8dM=" }, "visible": false, "font": "Arial;13;0", "left": 96, "top": 32, "width": 81.62451171875, "height": 13, "text": "(from Interact)" }, { "_type": "LabelView", "_id": "AAAAAAFnzmH7mGAvufA=", "_parent": { "$ref": "AAAAAAFnzmH7l2Ar8dM=" }, "visible": false, "font": "Arial;13;0", "left": 96, "top": 32, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 248, "top": 112, "width": 345, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnzmH7mGAsYNk=" }, "nameLabel": { "$ref": "AAAAAAFnzmH7mGAtlyo=" }, "namespaceLabel": { "$ref": "AAAAAAFnzmH7mGAuaWw=" }, "propertyLabel": { "$ref": "AAAAAAFnzmH7mGAvufA=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnzmH7mGAwFa0=", "_parent": { "$ref": "AAAAAAFnzmH7l2AqixU=" }, "model": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnzmKdkWBbVaE=", "_parent": { "$ref": "AAAAAAFnzmH7mGAwFa0=" }, "model": { "$ref": "AAAAAAFnzmKdUWBYqP8=" }, "font": "Arial;13;0", "left": 253, "top": 142, "width": 335, "height": 13, "text": "+When", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnzmKz5mBi9eg=", "_parent": { "$ref": "AAAAAAFnzmH7mGAwFa0=" }, "model": { "$ref": "AAAAAAFnzmKzz2BfZl8=" }, "font": "Arial;13;0", "left": 253, "top": 157, "width": 335, "height": 13, "text": "+From: User", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnzmLRaWBpLkU=", "_parent": { "$ref": "AAAAAAFnzmH7mGAwFa0=" }, "model": { "$ref": "AAAAAAFnzmLRUWBm5P0=" }, "font": "Arial;13;0", "left": 253, "top": 172, "width": 335, "height": 13, "text": "+To: User", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnzmLt32Bwbuo=", "_parent": { "$ref": "AAAAAAFnzmH7mGAwFa0=" }, "model": { "$ref": "AAAAAAFnzmLtrmBtxXU=" }, "font": "Arial;13;0", "left": 253, "top": 187, "width": 335, "height": 13, "text": "+Text: string", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 248, "top": 137, "width": 345, "height": 68 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnzmH7mGAxaks=", "_parent": { "$ref": "AAAAAAFnzmH7l2AqixU=" }, "model": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "subViews": [ { "_type": "UMLOperationView", "_id": "AAAAAAFnzmPuZmB4WHA=", "_parent": { "$ref": "AAAAAAFnzmH7mGAxaks=" }, "model": { "$ref": "AAAAAAFnzmPuNGB1v60=" }, "font": "Arial;13;0", "left": 253, "top": 210, "width": 335, "height": 13, "text": "+Message(text: string, receiver: User)", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 248, "top": 205, "width": 345, "height": 23 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnzmH7mGAyMLk=", "_parent": { "$ref": "AAAAAAFnzmH7l2AqixU=" }, "model": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "visible": false, "font": "Arial;13;0", "left": 48, "top": 16, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnzmH7mGAzZGc=", "_parent": { "$ref": "AAAAAAFnzmH7l2AqixU=" }, "model": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "visible": false, "font": "Arial;13;0", "left": 461.3310546875, "top": 112, "width": 130.6689453125, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 248, "top": 112, "width": 345, "height": 161, "nameCompartment": { "$ref": "AAAAAAFnzmH7l2Ar8dM=" }, "attributeCompartment": { "$ref": "AAAAAAFnzmH7mGAwFa0=" }, "operationCompartment": { "$ref": "AAAAAAFnzmH7mGAxaks=" }, "receptionCompartment": { "$ref": "AAAAAAFnzmH7mGAyMLk=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnzmH7mGAzZGc=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnzmRdWGCCq44=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 640, "top": 248, "width": 417, "height": 25, "text": "Message(),构造函数,新建一条己方消息" }, { "_type": "UMLClassView", "_id": "AAAAAAFnzmVclmCMfog=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "model": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnzmVcl2CNzPc=", "_parent": { "$ref": "AAAAAAFnzmVclmCMfog=" }, "model": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnzmVcl2COBjY=", "_parent": { "$ref": "AAAAAAFnzmVcl2CNzPc=" }, "visible": false, "font": "Arial;13;0", "left": -16, "top": -112, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnzmVcl2CPG9o=", "_parent": { "$ref": "AAAAAAFnzmVcl2CNzPc=" }, "font": "Arial;13;1", "left": 253, "top": 375, "width": 335, "height": 13, "text": "Packet" }, { "_type": "LabelView", "_id": "AAAAAAFnzmVcl2CQ8aw=", "_parent": { "$ref": "AAAAAAFnzmVcl2CNzPc=" }, "visible": false, "font": "Arial;13;0", "left": -16, "top": -112, "width": 81.62451171875, "height": 13, "text": "(from Interact)" }, { "_type": "LabelView", "_id": "AAAAAAFnzmVcl2CRrls=", "_parent": { "$ref": "AAAAAAFnzmVcl2CNzPc=" }, "visible": false, "font": "Arial;13;0", "left": -16, "top": -112, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 248, "top": 368, "width": 345, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnzmVcl2COBjY=" }, "nameLabel": { "$ref": "AAAAAAFnzmVcl2CPG9o=" }, "namespaceLabel": { "$ref": "AAAAAAFnzmVcl2CQ8aw=" }, "propertyLabel": { "$ref": "AAAAAAFnzmVcl2CRrls=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnzmVcl2CS+9A=", "_parent": { "$ref": "AAAAAAFnzmVclmCMfog=" }, "model": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnzmX4nGC9bhU=", "_parent": { "$ref": "AAAAAAFnzmVcl2CS+9A=" }, "model": { "$ref": "AAAAAAFnzmX4W2C6Upg=" }, "font": "Arial;13;0", "left": 253, "top": 398, "width": 335, "height": 13, "text": "+Head: BaseHead", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnzma0v2DHBZ0=", "_parent": { "$ref": "AAAAAAFnzmVcl2CS+9A=" }, "model": { "$ref": "AAAAAAFnzma0jmDE/dY=" }, "font": "Arial;13;0", "left": 253, "top": 413, "width": 335, "height": 13, "text": "+Data: bytes", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnzmb9rmDQsak=", "_parent": { "$ref": "AAAAAAFnzmVcl2CS+9A=" }, "model": { "$ref": "AAAAAAFnzmb9fmDNRmg=" }, "font": "Arial;13;0", "left": 253, "top": 428, "width": 335, "height": 13, "text": "+Callback", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 248, "top": 393, "width": 345, "height": 53 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnzmVcl2CTmxs=", "_parent": { "$ref": "AAAAAAFnzmVclmCMfog=" }, "model": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "font": "Arial;13;0", "left": 248, "top": 446, "width": 345, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnzmVcl2CU0EA=", "_parent": { "$ref": "AAAAAAFnzmVclmCMfog=" }, "model": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "visible": false, "font": "Arial;13;0", "left": -8, "top": -56, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnzmVcl2CVins=", "_parent": { "$ref": "AAAAAAFnzmVclmCMfog=" }, "model": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "visible": false, "font": "Arial;13;0", "left": -8, "top": -56, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 248, "top": 368, "width": 345, "height": 153, "nameCompartment": { "$ref": "AAAAAAFnzmVcl2CNzPc=" }, "attributeCompartment": { "$ref": "AAAAAAFnzmVcl2CS+9A=" }, "operationCompartment": { "$ref": "AAAAAAFnzmVcl2CTmxs=" }, "receptionCompartment": { "$ref": "AAAAAAFnzmVcl2CU0EA=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnzmVcl2CVins=" } }, { "_type": "UMLClassView", "_id": "AAAAAAFnznY50mstYOQ=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "model": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnznY50msuTSM=", "_parent": { "$ref": "AAAAAAFnznY50mstYOQ=" }, "model": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnznY50msv+ec=", "_parent": { "$ref": "AAAAAAFnznY50msuTSM=" }, "visible": false, "font": "Arial;13;0", "left": -140, "top": -48, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnznY50mswNMc=", "_parent": { "$ref": "AAAAAAFnznY50msuTSM=" }, "font": "Arial;13;1", "left": 289, "top": 615, "width": 342, "height": 13, "text": "BaseHead" }, { "_type": "LabelView", "_id": "AAAAAAFnznY50msxzv4=", "_parent": { "$ref": "AAAAAAFnznY50msuTSM=" }, "visible": false, "font": "Arial;13;0", "left": -140, "top": -48, "width": 86.67724609375, "height": 13, "text": "(from Interact)" }, { "_type": "LabelView", "_id": "AAAAAAFnznY50msyjWU=", "_parent": { "$ref": "AAAAAAFnznY50msuTSM=" }, "visible": false, "font": "Arial;13;0", "left": -140, "top": -48, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 284, "top": 608, "width": 352, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnznY50msv+ec=" }, "nameLabel": { "$ref": "AAAAAAFnznY50mswNMc=" }, "namespaceLabel": { "$ref": "AAAAAAFnznY50msxzv4=" }, "propertyLabel": { "$ref": "AAAAAAFnznY50msyjWU=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnznY50mszmpM=", "_parent": { "$ref": "AAAAAAFnznY50mstYOQ=" }, "model": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnznY50ms0W50=", "_parent": { "$ref": "AAAAAAFnznY50mszmpM=" }, "model": { "$ref": "AAAAAAFnsOwFTY5BrAg=" }, "font": "Arial;13;0", "left": 289, "top": 638, "width": 342, "height": 13, "text": "+Token: string", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnznY50ms1PJY=", "_parent": { "$ref": "AAAAAAFnznY50mszmpM=" }, "model": { "$ref": "AAAAAAFnsOyo5I5JH1Y=" }, "font": "Arial;13;0", "left": 289, "top": 653, "width": 342, "height": 13, "text": "+Operation: string", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 284, "top": 633, "width": 352, "height": 38 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnznY50ms2FlQ=", "_parent": { "$ref": "AAAAAAFnznY50mstYOQ=" }, "model": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "font": "Arial;13;0", "left": 284, "top": 671, "width": 352, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnznY50ms3eqc=", "_parent": { "$ref": "AAAAAAFnznY50mstYOQ=" }, "model": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "visible": false, "font": "Arial;13;0", "left": -68, "top": 520, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnznY50ms412I=", "_parent": { "$ref": "AAAAAAFnznY50mstYOQ=" }, "model": { "$ref": "AAAAAAFnsOuL+43sqcU=" }, "visible": false, "font": "Arial;13;0", "left": -68, "top": 520, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 284, "top": 608, "width": 352, "height": 192, "nameCompartment": { "$ref": "AAAAAAFnznY50msuTSM=" }, "attributeCompartment": { "$ref": "AAAAAAFnznY50mszmpM=" }, "operationCompartment": { "$ref": "AAAAAAFnznY50ms2FlQ=" }, "receptionCompartment": { "$ref": "AAAAAAFnznY50ms3eqc=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnznY50ms412I=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznY50ms5cX0=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 668, "top": 608, "width": 385, "height": 25, "text": "定义基本的包头结构" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznY50ms6SQU=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 668, "top": 656, "width": 385, "height": 25, "text": "Token,数据请求方生成的随机ID,可据此识别返回数据包" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznY50ms7z+Q=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 668, "top": 680, "width": 385, "height": 25, "text": "Operation,相应请求要执行的操作" }, { "_type": "UMLEnumerationView", "_id": "AAAAAAFnznY50ms8guo=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnznY50ms9fAY=", "_parent": { "$ref": "AAAAAAFnznY50ms8guo=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnznY50ms+y0k=", "_parent": { "$ref": "AAAAAAFnznY50ms9fAY=" }, "font": "Arial;13;0", "left": 17, "top": 613, "width": 183, "height": 13, "text": "«enumeration»" }, { "_type": "LabelView", "_id": "AAAAAAFnznY50ms/Q6U=", "_parent": { "$ref": "AAAAAAFnznY50ms9fAY=" }, "font": "Arial;13;1", "left": 17, "top": 628, "width": 183, "height": 13, "text": "Operations" }, { "_type": "LabelView", "_id": "AAAAAAFnznY50mtArYU=", "_parent": { "$ref": "AAAAAAFnznY50ms9fAY=" }, "visible": false, "font": "Arial;13;0", "left": -68, "top": -291, "width": 88.1181640625, "height": 13, "text": "(from common)" }, { "_type": "LabelView", "_id": "AAAAAAFnznY50mtB8WA=", "_parent": { "$ref": "AAAAAAFnznY50ms9fAY=" }, "visible": false, "font": "Arial;13;0", "left": -68, "top": -291, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 12, "top": 608, "width": 193, "height": 38, "stereotypeLabel": { "$ref": "AAAAAAFnznY50ms+y0k=" }, "nameLabel": { "$ref": "AAAAAAFnznY50ms/Q6U=" }, "namespaceLabel": { "$ref": "AAAAAAFnznY50mtArYU=" }, "propertyLabel": { "$ref": "AAAAAAFnznY50mtB8WA=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnznY50mtC+gw=", "_parent": { "$ref": "AAAAAAFnznY50ms8guo=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "visible": false, "font": "Arial;13;0", "left": 20, "top": 232, "width": 10, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnznY50mtD9Gw=", "_parent": { "$ref": "AAAAAAFnznY50ms8guo=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "visible": false, "font": "Arial;13;0", "left": 20, "top": 232, "width": 10, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnznY50mtE1tg=", "_parent": { "$ref": "AAAAAAFnznY50ms8guo=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "visible": false, "font": "Arial;13;0", "left": 20, "top": 232, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnznY50mtFEdk=", "_parent": { "$ref": "AAAAAAFnznY50ms8guo=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "visible": false, "font": "Arial;13;0", "left": 20, "top": 232, "width": 10, "height": 10 }, { "_type": "UMLEnumerationLiteralCompartmentView", "_id": "AAAAAAFnznY50mtG9+M=", "_parent": { "$ref": "AAAAAAFnznY50ms8guo=" }, "model": { "$ref": "AAAAAAFnCGJSWbaTRcY=" }, "subViews": [ { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtHW8k=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnCPW0mFmm2/k=" }, "font": "Arial;13;0", "left": 17, "top": 651, "width": 183, "height": 13, "text": "Panic", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtIQiM=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnCGRXMLy4Bb0=" }, "font": "Arial;13;0", "left": 17, "top": 666, "width": 183, "height": 13, "text": "TransMessage", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtJ7Jk=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnCL6HzOw5F3o=" }, "font": "Arial;13;0", "left": 17, "top": 681, "width": 183, "height": 13, "text": "SendMessage", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtKF9Q=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnvAowIdZ1zwM=" }, "font": "Arial;13;0", "left": 17, "top": 696, "width": 183, "height": 13, "text": "Login2", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtLb/U=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnCGSpgr0r+FQ=" }, "font": "Arial;13;0", "left": 17, "top": 711, "width": 183, "height": 13, "text": "Login", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtMidQ=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnDdBFTdOpQvw=" }, "font": "Arial;13;0", "left": 17, "top": 726, "width": 183, "height": 13, "text": "Logout", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtN67k=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnD9vlbKk7PfU=" }, "font": "Arial;13;0", "left": 17, "top": 741, "width": 183, "height": 13, "text": "Offline", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtO5m8=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnCGlD8scMQVU=" }, "font": "Arial;13;0", "left": 17, "top": 756, "width": 183, "height": 13, "text": "GetUserList", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtPItY=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnHPTor7+hW/0=" }, "font": "Arial;13;0", "left": 17, "top": 771, "width": 183, "height": 13, "text": "UpdateUserInfo", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtQ0zA=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnvBqg/9o2cxE=" }, "font": "Arial;13;0", "left": 17, "top": 786, "width": 183, "height": 13, "text": "GetUsers", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnznY50mtRYXg=", "_parent": { "$ref": "AAAAAAFnznY50mtG9+M=" }, "model": { "$ref": "AAAAAAFnDNSmdc7FPgA=" }, "font": "Arial;13;0", "left": 17, "top": 801, "width": 183, "height": 13, "text": "Ping", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 12, "top": 646, "width": 193, "height": 173 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 12, "top": 608, "width": 193, "height": 225, "nameCompartment": { "$ref": "AAAAAAFnznY50ms9fAY=" }, "suppressAttributes": true, "suppressOperations": true, "attributeCompartment": { "$ref": "AAAAAAFnznY50mtC+gw=" }, "operationCompartment": { "$ref": "AAAAAAFnznY50mtD9Gw=" }, "receptionCompartment": { "$ref": "AAAAAAFnznY50mtE1tg=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnznY50mtFEdk=" }, "enumerationLiteralCompartment": { "$ref": "AAAAAAFnznY50mtG9+M=" } }, { "_type": "UMLAssociationView", "_id": "AAAAAAFnznY50mtSJQk=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "model": { "$ref": "AAAAAAFnsPMMupNdKCE=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtTgL8=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMupNdKCE=" }, "visible": false, "font": "Arial;13;0", "left": 244, "top": 721, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtU3Jk=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMupNdKCE=" }, "visible": null, "font": "Arial;13;0", "left": 245, "top": 736, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtVpe8=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMupNdKCE=" }, "visible": false, "font": "Arial;13;0", "left": 243, "top": 692, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtW4lk=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMupNeAIo=" }, "visible": false, "font": "Arial;13;0", "left": 257, "top": 721, "height": 13, "alpha": 0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtXo4M=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMupNeAIo=" }, "visible": false, "font": "Arial;13;0", "left": 255, "top": 735, "height": 13, "alpha": 0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtYgW4=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMupNeAIo=" }, "visible": false, "font": "Arial;13;0", "left": 260, "top": 694, "height": 13, "alpha": -0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "edgePosition": 2 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtZcX4=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMvpNfy8Q=" }, "visible": false, "font": "Arial;13;0", "left": 231, "top": 722, "height": 13, "alpha": -0.5235987755982988, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtadjo=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMvpNfy8Q=" }, "visible": false, "font": "Arial;13;0", "left": 234, "top": 736, "height": 13, "alpha": -0.7853981633974483, "distance": 40, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" } }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtbC/w=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMvpNfy8Q=" }, "visible": false, "font": "Arial;13;0", "left": 226, "top": 695, "height": 13, "alpha": 0.5235987755982988, "distance": 25, "hostEdge": { "$ref": "AAAAAAFnznY50mtSJQk=" } }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnznY50mtcmDM=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMupNeAIo=" }, "visible": false, "font": "Arial;13;0", "left": -12, "top": 520, "width": 10, "height": 10 }, { "_type": "UMLQualifierCompartmentView", "_id": "AAAAAAFnznY50mtdsNc=", "_parent": { "$ref": "AAAAAAFnznY50mtSJQk=" }, "model": { "$ref": "AAAAAAFnsPMMvpNfy8Q=" }, "visible": false, "font": "Arial;13;0", "left": -12, "top": 520, "width": 10, "height": 10 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnznY50ms8guo=" }, "tail": { "$ref": "AAAAAAFnznY50mstYOQ=" }, "lineStyle": 1, "points": "283:712;205:715", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFnznY50mtTgL8=" }, "stereotypeLabel": { "$ref": "AAAAAAFnznY50mtU3Jk=" }, "propertyLabel": { "$ref": "AAAAAAFnznY50mtVpe8=" }, "tailRoleNameLabel": { "$ref": "AAAAAAFnznY50mtW4lk=" }, "tailPropertyLabel": { "$ref": "AAAAAAFnznY50mtXo4M=" }, "tailMultiplicityLabel": { "$ref": "AAAAAAFnznY50mtYgW4=" }, "headRoleNameLabel": { "$ref": "AAAAAAFnznY50mtZcX4=" }, "headPropertyLabel": { "$ref": "AAAAAAFnznY50mtadjo=" }, "headMultiplicityLabel": { "$ref": "AAAAAAFnznY50mtbC/w=" }, "tailQualifiersCompartment": { "$ref": "AAAAAAFnznY50mtcmDM=" }, "headQualifiersCompartment": { "$ref": "AAAAAAFnznY50mtdsNc=" } }, { "_type": "UMLClassView", "_id": "AAAAAAFnznY50mteIqQ=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "model": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnznY50mtfrFI=", "_parent": { "$ref": "AAAAAAFnznY50mteIqQ=" }, "model": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnznY50mtg1TA=", "_parent": { "$ref": "AAAAAAFnznY50mtfrFI=" }, "visible": false, "font": "Arial;13;0", "left": -28, "top": -144, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnznY50mthY/o=", "_parent": { "$ref": "AAAAAAFnznY50mtfrFI=" }, "font": "Arial;13;1", "left": 289, "top": 855, "width": 342, "height": 13, "text": "ResultHead" }, { "_type": "LabelView", "_id": "AAAAAAFnznY50mti0xo=", "_parent": { "$ref": "AAAAAAFnznY50mtfrFI=" }, "visible": false, "font": "Arial;13;0", "left": -28, "top": -144, "width": 86.67724609375, "height": 13, "text": "(from Interact)" }, { "_type": "LabelView", "_id": "AAAAAAFnznY50mtj1NA=", "_parent": { "$ref": "AAAAAAFnznY50mtfrFI=" }, "visible": false, "font": "Arial;13;0", "left": -28, "top": -144, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 284, "top": 848, "width": 352, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnznY50mtg1TA=" }, "nameLabel": { "$ref": "AAAAAAFnznY50mthY/o=" }, "namespaceLabel": { "$ref": "AAAAAAFnznY50mti0xo=" }, "propertyLabel": { "$ref": "AAAAAAFnznY50mtj1NA=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnznY50mtkYHc=", "_parent": { "$ref": "AAAAAAFnznY50mteIqQ=" }, "model": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnznY50mtl9uU=", "_parent": { "$ref": "AAAAAAFnznY50mtkYHc=" }, "model": { "$ref": "AAAAAAFnsPQ4WpT62vE=" }, "font": "Arial;13;0", "left": 289, "top": 878, "width": 342, "height": 13, "text": "+Error: string", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 284, "top": 873, "width": 352, "height": 23 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnznY50mtmg4k=", "_parent": { "$ref": "AAAAAAFnznY50mteIqQ=" }, "model": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "font": "Arial;13;0", "left": 284, "top": 896, "width": 352, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnznY50mtnz1Q=", "_parent": { "$ref": "AAAAAAFnznY50mteIqQ=" }, "model": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "visible": false, "font": "Arial;13;0", "left": -12, "top": 472, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnznY50mtoVW0=", "_parent": { "$ref": "AAAAAAFnznY50mteIqQ=" }, "model": { "$ref": "AAAAAAFnsPO66JPy0oQ=" }, "visible": false, "font": "Arial;13;0", "left": -12, "top": 472, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 284, "top": 848, "width": 352, "height": 152, "nameCompartment": { "$ref": "AAAAAAFnznY50mtfrFI=" }, "attributeCompartment": { "$ref": "AAAAAAFnznY50mtkYHc=" }, "operationCompartment": { "$ref": "AAAAAAFnznY50mtmg4k=" }, "receptionCompartment": { "$ref": "AAAAAAFnznY50mtnz1Q=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnznY50mtoVW0=" } }, { "_type": "UMLGeneralizationView", "_id": "AAAAAAFnznY50mtpZXU=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "model": { "$ref": "AAAAAAFnsPQSvJSAhyQ=" }, "subViews": [ { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtq6Go=", "_parent": { "$ref": "AAAAAAFnznY50mtpZXU=" }, "model": { "$ref": "AAAAAAFnsPQSvJSAhyQ=" }, "visible": false, "font": "Arial;13;0", "left": 444, "top": 816, "height": 13, "alpha": 1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnznY50mtpZXU=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtrTiw=", "_parent": { "$ref": "AAAAAAFnznY50mtpZXU=" }, "model": { "$ref": "AAAAAAFnsPQSvJSAhyQ=" }, "visible": null, "font": "Arial;13;0", "left": 429, "top": 816, "height": 13, "alpha": 1.5707963267948966, "distance": 30, "hostEdge": { "$ref": "AAAAAAFnznY50mtpZXU=" }, "edgePosition": 1 }, { "_type": "EdgeLabelView", "_id": "AAAAAAFnznY50mtsUU8=", "_parent": { "$ref": "AAAAAAFnznY50mtpZXU=" }, "model": { "$ref": "AAAAAAFnsPQSvJSAhyQ=" }, "visible": false, "font": "Arial;13;0", "left": 473, "top": 817, "height": 13, "alpha": -1.5707963267948966, "distance": 15, "hostEdge": { "$ref": "AAAAAAFnznY50mtpZXU=" }, "edgePosition": 1 } ], "font": "Arial;13;0", "head": { "$ref": "AAAAAAFnznY50mstYOQ=" }, "tail": { "$ref": "AAAAAAFnznY50mteIqQ=" }, "lineStyle": 1, "points": "459:847;459:800", "showVisibility": true, "nameLabel": { "$ref": "AAAAAAFnznY50mtq6Go=" }, "stereotypeLabel": { "$ref": "AAAAAAFnznY50mtrTiw=" }, "propertyLabel": { "$ref": "AAAAAAFnznY50mtsUU8=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznY50mttLNo=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 668, "top": 848, "width": 385, "height": 25, "text": "返回数据基本包头" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnznY50mtutT8=", "_parent": { "$ref": "AAAAAAFnr6LOHhAL49A=" }, "font": "Arial;13;0", "left": 668, "top": 896, "width": 385, "height": 25, "text": "Error,错误文本,如果操作成功为空" } ] }, { "_type": "UMLClassDiagram", "_id": "AAAAAAFnp7RjNPVeQwI=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "Client", "ownedViews": [ { "_type": "UMLClassView", "_id": "AAAAAAFnp7WMX/V0AOs=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "model": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnp7WMX/V1gtQ=", "_parent": { "$ref": "AAAAAAFnp7WMX/V0AOs=" }, "model": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnp7WMX/V20gA=", "_parent": { "$ref": "AAAAAAFnp7WMX/V1gtQ=" }, "visible": false, "font": "Arial;13;0", "left": -720, "top": -1232, "height": 13 }, { "_type": "LabelView", "_id": "AAAAAAFnp7WMX/V3zv4=", "_parent": { "$ref": "AAAAAAFnp7WMX/V1gtQ=" }, "font": "Arial;13;1", "left": 61, "top": 71, "width": 375, "height": 13, "text": "StormClient" }, { "_type": "LabelView", "_id": "AAAAAAFnp7WMX/V4T8M=", "_parent": { "$ref": "AAAAAAFnp7WMX/V1gtQ=" }, "visible": false, "font": "Arial;13;0", "left": -720, "top": -1232, "width": 86.67724609375, "height": 13, "text": "(from Interact)" }, { "_type": "LabelView", "_id": "AAAAAAFnp7WMX/V5vG0=", "_parent": { "$ref": "AAAAAAFnp7WMX/V1gtQ=" }, "visible": false, "font": "Arial;13;0", "left": -720, "top": -1232, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 56, "top": 64, "width": 385, "height": 25, "stereotypeLabel": { "$ref": "AAAAAAFnp7WMX/V20gA=" }, "nameLabel": { "$ref": "AAAAAAFnp7WMX/V3zv4=" }, "namespaceLabel": { "$ref": "AAAAAAFnp7WMX/V4T8M=" }, "propertyLabel": { "$ref": "AAAAAAFnp7WMX/V5vG0=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnp7WMX/V6Ofo=", "_parent": { "$ref": "AAAAAAFnp7WMX/V0AOs=" }, "model": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "subViews": [ { "_type": "UMLAttributeView", "_id": "AAAAAAFnr7CKYRB6XZ0=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnr7CKIxB3kro=" }, "font": "Arial;13;0", "left": 61, "top": 94, "width": 375, "height": 13, "text": "+event OnDisconnect", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnscqUl3qAYzo=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnscqUXXp9khQ=" }, "font": "Arial;13;0", "left": 61, "top": 109, "width": 375, "height": 13, "text": "+event OnPanic", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnscrsG3qIGBA=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnscrsBHqFWxc=" }, "font": "Arial;13;0", "left": 61, "top": 124, "width": 375, "height": 13, "text": "+event OnOffline", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnscsMmHqP/KU=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnscsMgHqMhpc=" }, "font": "Arial;13;0", "left": 61, "top": 139, "width": 375, "height": 13, "text": "+event OnMessage", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnscsi03qW9+s=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnscsivnqT/q0=" }, "font": "Arial;13;0", "left": 61, "top": 154, "width": 375, "height": 13, "text": "+event OnSendMessageDone", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnsctORXqdPCM=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnsctOLXqaI5Q=" }, "font": "Arial;13;0", "left": 61, "top": 169, "width": 375, "height": 13, "text": "+event OnUpdateUserInfoDone", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr7EXehCBktU=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnr7EXRBB+XvI=" }, "font": "Arial;13;0", "left": 61, "top": 184, "width": 375, "height": 13, "text": "+event OnLoginDone", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnscttTXqk/vU=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnscttN3qhUIQ=" }, "font": "Arial;13;0", "left": 61, "top": 199, "width": 375, "height": 13, "text": "+event OnGetUserListDone", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnsgar4HyGns8=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnsgarpnyDHjs=" }, "font": "Arial;13;0", "left": 61, "top": 214, "width": 375, "height": 13, "text": "+DoesSendMessageReturn: bool", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnzkx74ByWSpI=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnzkx7pByTqx8=" }, "font": "Arial;13;0", "left": 61, "top": 229, "width": 375, "height": 13, "text": "+Status: ClientStatus", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr7MFzRCm3OA=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnr7MFkRCjl/U=" }, "font": "Arial;13;0", "left": 61, "top": 244, "width": 375, "height": 13, "text": "-tcpClient", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr7NYTRCuNGE=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnr7NYIhCrWDg=" }, "font": "Arial;13;0", "left": 61, "top": 259, "width": 375, "height": 13, "text": "-sendQueue", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr7OQWBC1yQU=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnr7OQQRCyG4Q=" }, "font": "Arial;13;0", "left": 61, "top": 274, "width": 375, "height": 13, "text": "-readLoopThread", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnr7PGaxC8UAg=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnr7PGUxC5YyU=" }, "font": "Arial;13;0", "left": 61, "top": 289, "width": 375, "height": 13, "text": "-sendLoopThread", "horizontalAlignment": 0 }, { "_type": "UMLAttributeView", "_id": "AAAAAAFnzkYE8BxrEEE=", "_parent": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "model": { "$ref": "AAAAAAFnzkYEqBxoDdg=" }, "font": "Arial;13;0", "left": 61, "top": 304, "width": 375, "height": 13, "text": "+workingDictionary", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 56, "top": 89, "width": 385, "height": 233 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnp7WMX/V7vnU=", "_parent": { "$ref": "AAAAAAFnp7WMX/V0AOs=" }, "model": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "subViews": [ { "_type": "UMLOperationView", "_id": "AAAAAAFnp768ZPXgGAs=", "_parent": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "model": { "$ref": "AAAAAAFnp768IvXdZko=" }, "font": "Arial;13;0", "left": 61, "top": 327, "width": 375, "height": 13, "text": "+Initialize()", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnp8DSu/Xqv4Y=", "_parent": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "model": { "$ref": "AAAAAAFnp8DShvXnMlE=" }, "font": "Arial;13;0", "left": 61, "top": 342, "width": 375, "height": 13, "text": "+QueueLogin(user: string, password: string, callback)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnsgqsdXzumlU=", "_parent": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "model": { "$ref": "AAAAAAFnsgqsQHzr9t0=" }, "font": "Arial;13;0", "left": 61, "top": 357, "width": 375, "height": 13, "text": "+QueueSendMessage(Message message, callback = null)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnsgsDpXz7aWk=", "_parent": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "model": { "$ref": "AAAAAAFnsgsDdnz4B8w=" }, "font": "Arial;13;0", "left": 61, "top": 372, "width": 375, "height": 13, "text": "+QueueLogout(callback = null)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnsgtHmH0EZds=", "_parent": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "model": { "$ref": "AAAAAAFnsgtHZX0BC2k=" }, "font": "Arial;13;0", "left": 61, "top": 387, "width": 375, "height": 13, "text": "+QueueGetUserList(callback = null)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnsguTCH0N+eE=", "_parent": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "model": { "$ref": "AAAAAAFnsguS1X0KYI8=" }, "font": "Arial;13;0", "left": 61, "top": 402, "width": 375, "height": 13, "text": "+QueueUpdateUserInfo(callback = null)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnr76dOREXvjQ=", "_parent": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "model": { "$ref": "AAAAAAFnr76c/BEU+cs=" }, "font": "Arial;13;0", "left": 61, "top": 417, "width": 375, "height": 13, "text": "-HandleAll(head, data)", "horizontalAlignment": 0 }, { "_type": "UMLOperationView", "_id": "AAAAAAFnp8vRtvYSX+I=", "_parent": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "model": { "$ref": "AAAAAAFnp8vRhPYPjkU=" }, "font": "Arial;13;0", "left": 61, "top": 432, "width": 375, "height": 13, "text": "-Send(head, data)", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 56, "top": 322, "width": 385, "height": 128 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnp7WMYPV8x54=", "_parent": { "$ref": "AAAAAAFnp7WMX/V0AOs=" }, "model": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "visible": false, "font": "Arial;13;0", "left": -368, "top": -616, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnp7WMYPV9V1s=", "_parent": { "$ref": "AAAAAAFnp7WMX/V0AOs=" }, "model": { "$ref": "AAAAAAFnp7WMX/VycEU=" }, "visible": false, "font": "Arial;13;0", "left": -368, "top": -616, "width": 10, "height": 10 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 56, "top": 64, "width": 385, "height": 865, "nameCompartment": { "$ref": "AAAAAAFnp7WMX/V1gtQ=" }, "attributeCompartment": { "$ref": "AAAAAAFnp7WMX/V6Ofo=" }, "operationCompartment": { "$ref": "AAAAAAFnp7WMX/V7vnU=" }, "receptionCompartment": { "$ref": "AAAAAAFnp7WMYPV8x54=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnp7WMYPV9V1s=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnp7ZHEfWlEF8=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 64, "width": 585, "height": 25, "text": "静态类,负责与服务器的数据交换" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnp73i+PXBgxE=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 520, "width": 585, "height": 25, "text": "Initialize(),连接到服务器,初始化读写线程" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnp74wSfXQvNg=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 544, "width": 585, "height": 25, "text": "QueuetLogin(),异步发起登录请求" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnp8pPovX388s=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 640, "width": 561, "height": 25, "text": "@param callback = null,请求发送回调函数,处理结果回调请设置OnLoginDone事件" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnp8pR0fX70iw=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 616, "width": 561, "height": 25, "text": "@param password,密码" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnp8pSsfX/dd8=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 592, "width": 561, "height": 25, "text": "@param user,用户名" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr6+BmBBx4yU=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 840, "width": 585, "height": 25, "text": "Send(),将数据添加到发送队列等待写数据线程" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7Fl+RCSAX0=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 112, "width": 585, "height": 25, "text": "OnDisconnect,连接中断事件" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7Il+RCe41c=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 256, "width": 585, "height": 25, "text": "OnLoginDone,登录结果到达事件" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7RZChDPLi4=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 360, "width": 585, "height": 25, "text": "tcpClient,用于通信的TCP连接" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7Tt2BDV274=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 384, "width": 585, "height": 25, "text": "sendQueue,数据包发送队列,C#使用BlockCollection实现" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7WpehDbtA8=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 408, "width": 585, "height": 25, "text": " readLoopThread,读数据线程" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7YjChDhPzU=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 432, "width": 585, "height": 25, "text": " sendLoopThread,写数据线程" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7bEkxDrFhI=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 568, "width": 561, "height": 25, "text": "@return : bool,成功将请求加入发送队列返回true,否则返回false" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7i2nRDyl5k=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 864, "width": 561, "height": 25, "text": "@return : bool,成功将请求加入发送队列返回true,否则返回false" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7jWPhD3j5s=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 888, "width": 561, "height": 25, "text": "@param head : JObject,包头,至少包含Token和Operation信息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7my+BD9DV8=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 912, "width": 561, "height": 25, "text": "@param data : byte[],数据,二进制数据,可为空" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr78XhBEiZUY=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 768, "width": 585, "height": 25, "text": "HandleAll(),处理接收到的数据,调用对应的事件处理" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7/QtBEx4wU=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 816, "width": 561, "height": 25, "text": "@param data : byte[],数据,二进制数据,可为空" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnr7/tURE2sQw=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 488, "top": 792, "width": 561, "height": 25, "text": "@param head : byte[],包头,二进制数据" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsc7tJns2Izs=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 136, "width": 585, "height": 25, "text": "OnPanic,服务器异常消息处理事件" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsgVjgXxtBxU=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 160, "width": 585, "height": 25, "text": "OnOffline,服务器强制注销登陆事件" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsgW4UXx1j2o=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 184, "width": 585, "height": 25, "text": "OnMessage,消息到达事件" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsgYBjHx85SY=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 208, "width": 585, "height": 25, "text": "OnSendMessageDone,发送消息处理完成反馈事件(DoesSendMessageReturn为true时有效)" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsgcB3HyREIY=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 312, "width": 585, "height": 25, "text": "DoesSendMessageReturn = false,发送消息时是否要求服务器返回处理结果" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsgecHHyaHm4=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 232, "width": 585, "height": 25, "text": "OnUpdateUserInfoDone,更新用户信息结果处理事件" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsghvp3yvdMs=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 280, "width": 585, "height": 25, "text": "OnGetUserListDone,获取用户列表结果处理事件" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsg3eZn0zvh8=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 664, "width": 585, "height": 25, "text": "QueueSendMessage(),请求发送一条消息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnsg8C7X1EQqQ=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 688, "width": 585, "height": 25, "text": "QueueLogout(),请求登出" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnshBq931LDmc=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 712, "width": 585, "height": 25, "text": "QueueGetUserList(),请求用户列表" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnshDeS31SmAI=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 736, "width": 585, "height": 25, "text": "QueueUpdateUserInfo(),请求更新当前登录用户信息" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnzkaWfhx5gHw=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 456, "width": 585, "height": 51, "text": "workingDictonary : Dictionary,工作暂存区,从服务器接收多个包的数据,接收完成再触发相应事件。如接收用户列表。 key为对应请求的Token" }, { "_type": "UMLEnumerationView", "_id": "AAAAAAFnzkz+Txyhr0A=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "model": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "subViews": [ { "_type": "UMLNameCompartmentView", "_id": "AAAAAAFnzkz+Txyimqk=", "_parent": { "$ref": "AAAAAAFnzkz+Txyhr0A=" }, "model": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "subViews": [ { "_type": "LabelView", "_id": "AAAAAAFnzkz+TxyjZS8=", "_parent": { "$ref": "AAAAAAFnzkz+Txyimqk=" }, "font": "Arial;13;0", "left": 141, "top": 1053, "width": 295, "height": 13, "text": "«enumeration»" }, { "_type": "LabelView", "_id": "AAAAAAFnzkz+Txykv2Q=", "_parent": { "$ref": "AAAAAAFnzkz+Txyimqk=" }, "font": "Arial;13;1", "left": 141, "top": 1068, "width": 295, "height": 13, "text": "ClientStatus" }, { "_type": "LabelView", "_id": "AAAAAAFnzkz+Txyljb0=", "_parent": { "$ref": "AAAAAAFnzkz+Txyimqk=" }, "visible": false, "font": "Arial;13;0", "left": -608, "top": -144, "width": 86.67724609375, "height": 13, "text": "(from Interact)" }, { "_type": "LabelView", "_id": "AAAAAAFnzkz+TxymYFw=", "_parent": { "$ref": "AAAAAAFnzkz+Txyimqk=" }, "visible": false, "font": "Arial;13;0", "left": -608, "top": -144, "height": 13, "horizontalAlignment": 1 } ], "font": "Arial;13;0", "left": 136, "top": 1048, "width": 305, "height": 38, "stereotypeLabel": { "$ref": "AAAAAAFnzkz+TxyjZS8=" }, "nameLabel": { "$ref": "AAAAAAFnzkz+Txykv2Q=" }, "namespaceLabel": { "$ref": "AAAAAAFnzkz+Txyljb0=" }, "propertyLabel": { "$ref": "AAAAAAFnzkz+TxymYFw=" } }, { "_type": "UMLAttributeCompartmentView", "_id": "AAAAAAFnzkz+Txyn7ec=", "_parent": { "$ref": "AAAAAAFnzkz+Txyhr0A=" }, "model": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "visible": false, "font": "Arial;13;0", "left": -304, "top": -72, "width": 10, "height": 10 }, { "_type": "UMLOperationCompartmentView", "_id": "AAAAAAFnzkz+UByo1FQ=", "_parent": { "$ref": "AAAAAAFnzkz+Txyhr0A=" }, "model": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "visible": false, "font": "Arial;13;0", "left": -304, "top": -72, "width": 10, "height": 10 }, { "_type": "UMLReceptionCompartmentView", "_id": "AAAAAAFnzkz+UByp0os=", "_parent": { "$ref": "AAAAAAFnzkz+Txyhr0A=" }, "model": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "visible": false, "font": "Arial;13;0", "left": -304, "top": -72, "width": 10, "height": 10 }, { "_type": "UMLTemplateParameterCompartmentView", "_id": "AAAAAAFnzkz+UByq4cw=", "_parent": { "$ref": "AAAAAAFnzkz+Txyhr0A=" }, "model": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "visible": false, "font": "Arial;13;0", "left": -304, "top": -72, "width": 10, "height": 10 }, { "_type": "UMLEnumerationLiteralCompartmentView", "_id": "AAAAAAFnzkz+UByrsEc=", "_parent": { "$ref": "AAAAAAFnzkz+Txyhr0A=" }, "model": { "$ref": "AAAAAAFnzkz+TxyfrCs=" }, "subViews": [ { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnzk1CixzRXoA=", "_parent": { "$ref": "AAAAAAFnzkz+UByrsEc=" }, "model": { "$ref": "AAAAAAFnzk1CRRzON0w=" }, "font": "Arial;13;0", "left": 141, "top": 1091, "width": 295, "height": 13, "text": "Uninitialized", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnzk10xxzYb14=", "_parent": { "$ref": "AAAAAAFnzkz+UByrsEc=" }, "model": { "$ref": "AAAAAAFnzk10khzVNiA=" }, "font": "Arial;13;0", "left": 141, "top": 1106, "width": 295, "height": 13, "text": "Running", "horizontalAlignment": 0 }, { "_type": "UMLEnumerationLiteralView", "_id": "AAAAAAFnzk2CehzfVdY=", "_parent": { "$ref": "AAAAAAFnzkz+UByrsEc=" }, "model": { "$ref": "AAAAAAFnzk2CXBzc3Fw=" }, "font": "Arial;13;0", "left": 141, "top": 1121, "width": 295, "height": 13, "text": "Stopped", "horizontalAlignment": 0 } ], "font": "Arial;13;0", "left": 136, "top": 1086, "width": 305, "height": 53 } ], "font": "Arial;13;0", "containerChangeable": true, "left": 136, "top": 1048, "width": 305, "height": 113, "nameCompartment": { "$ref": "AAAAAAFnzkz+Txyimqk=" }, "suppressAttributes": true, "suppressOperations": true, "attributeCompartment": { "$ref": "AAAAAAFnzkz+Txyn7ec=" }, "operationCompartment": { "$ref": "AAAAAAFnzkz+UByo1FQ=" }, "receptionCompartment": { "$ref": "AAAAAAFnzkz+UByp0os=" }, "templateParameterCompartment": { "$ref": "AAAAAAFnzkz+UByq4cw=" }, "enumerationLiteralCompartment": { "$ref": "AAAAAAFnzkz+UByrsEc=" } }, { "_type": "UMLNoteView", "_id": "AAAAAAFnzk3nmxznoB4=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 1048, "width": 585, "height": 25, "text": "客户端连接状态" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnzk5JbBzwxH8=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 1088, "width": 585, "height": 25, "text": "Uninitialized,最初态,未初始化" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnzk6gsBz2wBM=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 1112, "width": 585, "height": 25, "text": "Running,正在工作" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnzk7U9hz9luo=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 1136, "width": 585, "height": 25, "text": "Stopped,连接已断开,读写线程停止工作" }, { "_type": "UMLNoteView", "_id": "AAAAAAFnzk/PHh0JAqk=", "_parent": { "$ref": "AAAAAAFnp7RjNPVeQwI=" }, "font": "Arial;13;0", "left": 464, "top": 336, "width": 585, "height": 25, "text": "Status,客户端连接状态,线程安全,可据此判断当前连接是否可用" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnzmH7l2AoT9U=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "Message", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnzmKdUWBYqP8=", "_parent": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "name": "When", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnzmKzz2BfZl8=", "_parent": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "name": "From", "type": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFnzmLRUWBm5P0=", "_parent": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "name": "To", "type": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFnzmLtrmBtxXU=", "_parent": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "name": "Text", "type": "string" } ], "operations": [ { "_type": "UMLOperation", "_id": "AAAAAAFnzmPuNGB1v60=", "_parent": { "$ref": "AAAAAAFnzmH7l2AoT9U=" }, "name": "Message", "parameters": [ { "_type": "UMLParameter", "_id": "AAAAAAFnzmQ712B8eDM=", "_parent": { "$ref": "AAAAAAFnzmPuNGB1v60=" }, "name": "text", "type": "string" }, { "_type": "UMLParameter", "_id": "AAAAAAFnzmQ712B983c=", "_parent": { "$ref": "AAAAAAFnzmPuNGB1v60=" }, "name": "receiver", "type": { "$ref": "AAAAAAFnr8Qm+hLRI9k=" } } ] } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnzmVclmCKA/I=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "Packet", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnzmX4W2C6Upg=", "_parent": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "name": "Head", "type": { "$ref": "AAAAAAFnsOuL+43sqcU=" } }, { "_type": "UMLAttribute", "_id": "AAAAAAFnzma0jmDE/dY=", "_parent": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "name": "Data", "type": "bytes" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnzmb9fmDNRmg=", "_parent": { "$ref": "AAAAAAFnzmVclmCKA/I=" }, "name": "Callback", "type": "" } ] }, { "_type": "UMLClass", "_id": "AAAAAAFnznRHjGb7FmQ=", "_parent": { "$ref": "AAAAAAFnp7Q36fVR840=" }, "name": "UserInfo", "attributes": [ { "_type": "UMLAttribute", "_id": "AAAAAAFnznSVvWeuc08=", "_parent": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "name": "Password", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnznSt92fTpzo=", "_parent": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "name": "NickName", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnznS7xmfvl+8=", "_parent": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "name": "Motto", "type": "" }, { "_type": "UMLAttribute", "_id": "AAAAAAFnznTFImgLxZo=", "_parent": { "$ref": "AAAAAAFnznRHjGb7FmQ=" }, "name": "Photo", "type": "" } ] } ] } ] } ] }