Message processing method, apparatus, device, and storage medium
By switching the display mode of the control in the chat interface from message sending mode to message recall mode, the operation of sending and recalling messages is simplified, the complexity of users searching for the recall option among multiple options is resolved, and the convenience of operation and the timeliness of recall are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2025-01-24
- Publication Date
- 2026-07-24
AI Technical Summary
In existing technologies, users face complex operations when searching for message recall options among multiple options, and they are prone to missing the effective recall time.
By switching the display mode of controls in the chat interface from message sending mode to message recall mode, users can send and recall messages simply by triggering operations on controls with different display modes, simplifying the operation process.
It reduces the complexity for users to find the recall option among multiple operation options, improves the convenience of operation, and helps users complete the message recall within a valid time.
Smart Images

Figure CN122457574A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of human-computer interaction, and in particular to a message processing method, apparatus, device, and storage medium. Background Technology
[0002] Message recall functionality is widely used in various chat scenarios. Instant messaging applications allow users to recall sent messages to prevent accidental sending or information errors.
[0003] In related technologies, when recalling a message, the user needs to long-press the sent message within a limited time after it was sent to trigger an options menu. This menu contains multiple options, such as "copy," "forward," and "delete." The user then needs to find and select the "recall" option to recall the message.
[0004] However, the relevant technology requires users to search for the reversal option among multiple operation options, which is relatively complicated. Users may miss the valid time for reversal while searching for and triggering the reversal. Summary of the Invention
[0005] This application provides a message processing method, apparatus, device, and storage medium, the technical solution of which is as follows.
[0006] According to one aspect of this application, a message processing method is provided, the method being executed by a first client, the first client having a first account logged in, the method comprising:
[0007] The chat interface of the first account is displayed. The chat interface includes controls in a first display mode, and the first display mode corresponds to the message sending function.
[0008] In response to a first trigger operation on the control in the first display mode, the message content is sent to the chat interface, and the control is switched from the first display mode to the second display mode, the second display mode corresponding to the message recall function;
[0009] In response to a second trigger operation on a control in the second display mode, all or part of the sent message content is withdrawn from the chat interface.
[0010] According to one aspect of this application, a message processing apparatus is provided, the apparatus comprising:
[0011] The display module is used to display the chat interface of the first account. The chat interface includes controls in a first display mode, and the first display mode corresponds to the message sending function.
[0012] The switching module is used to respond to a first trigger operation on the control in the first display mode, send the message content to the chat interface, and switch the control from the first display mode to the second display mode, the second display mode corresponding to the message recall function;
[0013] The recall module is used to recall all or part of the sent message content from the chat interface in response to a second trigger operation on a control in the second display mode.
[0014] According to another aspect of this application, a computer device is provided, comprising: a processor and a memory, wherein the memory stores at least one computer program, the at least one computer program being loaded and executed by the processor to implement the message processing method as described above.
[0015] According to another aspect of this application, a computer storage medium is provided, wherein at least one computer program is stored in the computer-readable storage medium, and the at least one computer program is loaded and executed by a processor to implement the message processing method as described above.
[0016] According to another aspect of this application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium; the computer program is read from and executed by a processor of a computer device, causing the computer device to perform the message processing method as described above.
[0017] The beneficial effects of the technical solutions provided in this application include at least the following:
[0018] The user edits the message content to be sent in the chat interface of the first account. Before sending the message, a control in a first display mode is displayed in the chat interface, corresponding to the message sending function of the control. After the message is sent, the display mode of the control switches from the first display mode to a second display mode, corresponding to the message recall function of the control. When the control is in the second display mode, the sent message content can be recalled from the chat interface by triggering the control in the second display mode. By combining the display mode of the control with the message sending and recall functions of the message content, the user only needs to perform the corresponding triggering operation on the control in different display modes to complete the sending and recalling of messages. Compared with related technologies that require searching for the recall option among multiple operation options, this application reduces complex operation steps and improves the convenience of operation. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is an architecture diagram of a computer system provided in one embodiment of this application;
[0021] Figure 2 This is a schematic diagram of message recall in a related technology provided in one embodiment of this application;
[0022] Figure 3 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0023] Figure 4 This is a flowchart of a message processing method provided in one embodiment of this application;
[0024] Figure 5 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0025] Figure 6 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0026] Figure 7 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0027] Figure 8 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0028] Figure 9 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0029] Figure 10 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0030] Figure 11 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0031] Figure 12 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0032] Figure 13 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0033] Figure 14 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0034] Figure 15 This is a schematic diagram of a message processing method provided in one embodiment of this application;
[0035] Figure 16 This is a flowchart of a message processing method provided in one embodiment of this application;
[0036] Figure 17 This is a flowchart of a message processing method provided in one embodiment of this application;
[0037] Figure 18 This is a structural block diagram of a message processing apparatus provided in one embodiment of this application;
[0038] Figure 19 This is a schematic diagram of the structure of a computer device provided in one embodiment of this application. Detailed Implementation
[0039] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0040] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0041] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0042] It should be understood that although the terms first, second, etc., may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, a first parameter may also be referred to as a second parameter, and similarly, a second parameter may also be referred to as a first parameter. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0043] It should be noted that this application may display prompt interfaces, pop-ups, or output voice prompts before and during the collection of user data. These prompt interfaces, pop-ups, or voice prompts are used to inform the user that their data is being collected. This ensures that the application only begins the steps for collecting user data after receiving confirmation from the user regarding the prompt interface or pop-up; otherwise (i.e., without user confirmation), the steps for collecting user data end, meaning no user data is collected. In other words, all user data collected in this application is collected with the user's consent and authorization, and the collection, use, and processing of related user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.
[0044] Figure 1 An architectural diagram of a computer system provided in an exemplary embodiment of this application is given. The computer system 100 includes: a first terminal 110, a server 120, and a second terminal 130.
[0045] The first terminal 110 has a first client 111 installed and running. The first client 111 is a client for the target application. For example, the first client 111 can be an application with instant messaging functionality or a web client. When the first terminal 110 runs the first client 111, the user interface of the first client 111 is displayed on the screen of the first terminal 110. The target application can be any one of an instant messaging program, a microblogging program, a voice call program, a conferencing program, an online community program, a payment program, a shopping program, a dating program, or a marriage and matchmaking program. In this embodiment, the application is an instant messaging program as an example. The first terminal 110 is the terminal used by the first user 112, and the first account of the first user 112 is logged in on the first client 111. This application embodiment uses an instant messaging program as an example for illustration.
[0046] The second terminal 130 installs and runs the second client 131, which is a client for the target application. For example, the second client 131 can be an application with instant messaging functionality or a web client. When the second terminal 130 runs the second client 131, the user interface of the second client 131 is displayed on the screen of the second terminal 130. This application can be any one of an instant messaging program, a microblogging program, a voice call program, a conferencing program, an online community program, a payment program, a shopping program, a dating program, or a marriage and matchmaking program. In this embodiment, an instant messaging program is used as an example. The second terminal 130 is the terminal used by the second user 132, and the second account of the second user 132 is logged in on the second client 131.
[0047] Optionally, the first and second accounts can be friends in the communication list or have temporary communication permissions.
[0048] Optionally, the target application installed on the first terminal 110 and the second terminal 130 is the same, or the application installed on the two terminals is the same type of target application on different operating system platforms (Android or iOS). The first terminal 110 can refer to one of a plurality of terminals, and the second terminal 130 can refer to another of a plurality of terminals. This embodiment only uses the first terminal 110 and the second terminal 130 as examples. The device types of the first terminal 110 and the second terminal 130 may be the same or different, and the device types include at least one of the following: smartphone, tablet computer, e-book reader, MP3 player, MP4 player, laptop computer, and desktop computer.
[0049] Figure 1 Only two terminals are shown in the diagram, but in different embodiments, multiple other terminals 140 can access the server 120. Optionally, one or more terminals 140 may also be terminals corresponding to developers, on which a development and editing platform supporting instant messaging clients is installed. Developers can edit and update the client on the terminal 140 and transmit the updated application installation package to the server 120 via wired or wireless network. The first terminal 110 and the second terminal 130 can download the application installation package from the server 120 to update the client.
[0050] The first terminal 110, the second terminal 130, and other terminals 140 are connected to the server 120 via a wireless network or a wired network.
[0051] Server 120 includes at least one of a single server, multiple servers, a cloud computing platform, and a virtualization center. Server 120 is used to provide backend services for clients supporting three-dimensional instant messaging. Optionally, server 120 undertakes the main computing work, and the terminal undertakes the secondary computing work; or, server 120 undertakes the secondary computing work, and the terminal undertakes the main computing work; or, server 120 and the terminal use a distributed computing architecture for collaborative computing.
[0052] In an illustrative example, server 120 includes processor 122, user account database 123, instant messaging service module 124, and user-facing input / output interface (I / O interface) 125. Processor 122 loads instructions stored in server 120 and processes data in user account database 123 and instant messaging service module 124. User account database 123 stores user account data used by first terminal 110, second terminal 130, and other terminals 140, such as user account avatars, nicknames, and group memberships. Instant messaging service module 124 provides multiple chat rooms (two-person or multi-person chat) for users to chat, send emoticons, send red envelopes, etc., in real-time. User-facing I / O interface 125 establishes communication and exchanges data with first terminal 110 and / or second terminal 130 via wireless or wired network.
[0053] The message processing method provided in this application will be described in conjunction with the above embodiments, taking the execution subject of the method as... Figure 1 The example shown illustrates a client running on a terminal. This terminal runs a client, for example, an application that supports instant messaging.
[0054] In related technologies, when recalling a message, the user needs to long-press the sent message within a limited time after it was sent to trigger an options menu. The options menu contains multiple operation options, and the user needs to find and select the "Recall" option to recall the message. For example, refer to the reference... Figure 2 , Figure 2 This illustration shows a message recall method according to an embodiment of this application. Chat interface 200 is the chat interface for user A, used to display the chat session between user A and user B. For example, user A sends a message 201 of "Yes". Within a limited time after sending message 201, in response to a long press operation on message 201, an option menu 202 appears at the top of message 201. Option menu 202 includes multiple operation options. For example, option menu 202 includes "Copy", "Forward", "Favorite", "Recall", "Multi-select", "Quote", "Remind", and "Search". The user needs to find and select the "Recall" option 203 from the multiple operation options in option menu 202 to recall message 201. However, the user needs to find the recall option among multiple operation options, making the operation relatively complex; on the other hand, the location of the recall option may differ on different chat interfaces, making it difficult for the user to quickly locate it, which makes it easy for the user to miss the best time to recall.
[0055] In view of this, and in order to solve the problems existing in the related technologies, this application provides a message processing method. Figure 3 A schematic diagram of a message processing method provided in an exemplary embodiment of this application is shown. The method is executed by a computer device, with the computer device serving as the... Figure 1 Taking the first terminal 110 as an example, this method is executed by the first terminal 110, or by the first client on the first terminal 110, where the first client is logged into a first account. The steps of this method are briefly described below:
[0056] (1) Display the chat interface of the first account 10;
[0057] For example, a chat interface 10 is displayed on the first client. The chat interface 10 may be a conversation interface provided by an instant messaging program; or, a bullet screen interface provided by a video playback program; or, a comment interface provided by a social networking program; or, a comment interface provided by a music playback program; or, a live streaming interface provided by a live streaming program.
[0058] In this embodiment, the example described is a chat interface 10 provided by an instant messaging program. The chat interface 10 can be a two-person chat interface or a multi-person chat interface (group chat interface).
[0059] Optionally, the chat interface includes a control 20 in a first display state. This first display state corresponds to the message sending function. The first display state is the display state of control 20 before the message content is sent. (Refer to the reference.) Figure 3 In the diagram of part (a), the chat interface 10 includes a control 20 in a first display form. For example, control 20 is a send control, and its first display form is a straight arrow style.
[0060] (2) In response to a first trigger operation on the control 20 in the first display mode, the message content is sent from the message input area 30 to the message display area 40, and the control 20 is switched from the first display mode to the second display mode;
[0061] The first display mode corresponds to the message sending function, and the second display mode corresponds to the message recall function.
[0062] In some embodiments, in response to a first trigger operation on the control 20 in the first display mode, message content is sent from the message input area 30 to the message display area 40, and the control 20 is switched from the first display mode to the second display mode.
[0063] Optionally, at the moment of triggering the first triggering operation, the control 20 is switched from the first display mode to the second display mode, and for the effective duration of the timer starting at the moment of triggering, the control 20 remains in the second display mode. That is, the control 20 is in the second display mode for the effective duration.
[0064] Optionally, the effective duration includes either a fixed duration or a dynamic duration. For example, the effective duration may be a fixed duration, which is the effective withdrawal duration of the message content; for instance, the effective withdrawal duration is 30 seconds, and the control 20 is in the second display state for 30 seconds. Alternatively, the effective duration may be a dynamic duration, which is related to the message input area 30 receiving the next editing operation; for instance, the dynamic duration starts counting from the first trigger operation and ends when the message input area 30 receives the next editing operation. This application does not limit the effective duration.
[0065] In some embodiments, the first display mode and the second display mode are different display modes of the control 20. The display modes of the control 20 include, but are not limited to, at least one of arrow style, display size, display color, display shape, display animation, and display text.
[0066] For example, taking an arrow style as an example, in response to a first trigger operation on the control 20 of the first display style, the arrow style of the display control 20 is switched from an arrow style in a first direction to an arrow style in a second direction. For example, the arrow style of the control 20 is switched from a straight arrow style to a curved arrow style.
[0067] For example, such as Figure 3 As shown in part (b) of the figure, in response to a click operation on control 20, the message content is sent from message input area 30 to message display area 40, and control 20 is switched from a straight arrow style to a curved arrow style.
[0068] In some embodiments, the control 20 is in a second display state during the valid duration. Taking the valid duration as an example of a valid withdrawal duration, after the message content is sent from the message input area 30 to the message display area 40, progress prompt information 50 is displayed around the message content. The progress prompt information 50 is used to indicate the progress information of the valid withdrawal duration corresponding to the message content. For example, the progress prompt information 50 is displayed as a progress bar. Optionally, countdown information 60 of the valid withdrawal duration is displayed based on the control 20. Optionally, the countdown information 60 includes at least one of the following: countdown progress, countdown percentage, and countdown number.
[0069] For example, countdown information 60 includes the countdown progress, displaying the countdown progress around control 20, and an animation effect showing the countdown progress gradually increasing in a clockwise or counterclockwise direction. Figure 3 As shown in part (c) of the figure, the countdown progress is displayed around control 20. The countdown progress is displayed with an animation effect that gradually increases in a clockwise direction. The longer the countdown progress, the longer the effective withdrawal time has been.
[0070] (3) In response to a second trigger operation on the control 20 in the second display mode, the displayed message content is withdrawn from the message display area 40 to the message input area 30, and after the effective duration expires, the display control 20 switches from the second display mode to the first display mode.
[0071] In some embodiments, within a valid duration, in response to a second trigger operation on the control 20 of the second display mode, the message content is withdrawn, and the displayed message content is withdrawn from the message display area 40 back to the message input area 30. Optionally, all of the message content may be withdrawn, or only a portion of the message content may be withdrawn. This application does not limit this.
[0072] In some embodiments, when the validity period expires, the control 20 is switched from the second display mode to (restored to) the first display mode. For example, the curved arrow style in the control 20 is restored to the straight arrow style, at which point the first message that has been sent cannot be recalled.
[0073] In this embodiment, by combining the display mode of the control with the sending and recall functions of the message content, the display mode of the control is switched from a first display mode to a second display mode within the valid time period. In the second display mode, the message content can be recalled. If the valid time period expires, the display mode of the control is restored from the second display mode to the first display mode, in which the message content cannot be recalled. Within the valid time period, the sent message content can be recalled by clicking the control. This method greatly reduces the complexity of the operation, and the user can clearly perceive the time limit for recall through the countdown information around the control.
[0074] The message processing method will now be described in detail through the following examples.
[0075] Figure 4 This is a flowchart illustrating a message processing method provided in an exemplary embodiment of this application. The method is executed by a computer device, with the computer device serving as the... Figure 1 Taking the first terminal 110 as an example, the method is executed by the first terminal 110 or by a first client on the first terminal 110, where the first client is logged into a first account. The method includes at least a portion of steps 210, 220, and 230:
[0076] Step 210: Display the chat interface of the first account;
[0077] The first account is the account logged into the first client. Optionally, the first account is a user account; or, the first account is an account controlled by artificial intelligence (AI); or, the first account is an account controlled by a robot; or, the first account is an account controlled by a chat assistant. This application does not limit this. The embodiments of this application mainly use a user account as an example for illustration.
[0078] Optionally, the chat interface of the first account is displayed on the first client. Optionally, the chat interface is the conversation interface of an instant messaging program; or, the chat interface is the bullet screen interface provided by a video playback program; or, the chat interface is the comment interface provided by a social networking program. This application does not limit this to any particular type. The embodiments of this application are mainly described using the example of the chat interface being the conversation interface of an instant messaging program.
[0079] In some embodiments, an instant messaging program is installed on the first client, providing instant messaging functionality. When the chat interface is a session interface of the instant messaging program, the chat interface can be a two-person chat interface or a multi-person chat interface (group chat interface). The chat interface can be the chat interface of a first type of chat session, for example, a long-term chat session; or, the chat interface can be the chat interface of a second type of chat session, for example, a temporary chat session.
[0080] In some embodiments, the chat interface displays a message list sorted chronologically. Taking a multi-user chat interface as an example, this multi-user chat interface includes at least two accounts, including a first account, a second account, and other accounts. It should be noted that in the following embodiments, sending a message from the first user to the second user can be understood as the first user sending a message through the first account to the second account controlled by the second user, or the first user sending a message through the first account to other accounts in the chat session besides the first account.
[0081] In some embodiments, the chat interface includes controls in a first display state. The first display state is the display state of the controls when editing message content, or it can be understood as the display state of the controls before the message content is sent; or it can be understood as the display state of the controls when the message content is in the message input area.
[0082] In some embodiments, the first display form corresponds to the message sending function. The message sending function refers to the function of sending message content through a control. The message content is a multimedia message edited by the first account. Optionally, the message content includes at least one of text messages, voice messages, image messages, video messages, emoticon messages, file messages, hyperlink messages, and character messages. This application does not limit the specific content of the message content.
[0083] In some embodiments, a control is an interactive element in a chat interface used to send or recall message content. For example, a control may be a send control in the chat interface; or, when the message content is a voice message, a control may be a voice input button in the chat interface. This application does not limit the specific type of control; the following description primarily uses a send control as an example.
[0084] In some embodiments, the chat interface includes a message input area. When the message input area is empty, the control is in the display form before the message is entered. In response to the editing operation in the message input area, the control is switched from the display form before the message is entered to the display form after the message is entered. The display form after the message is entered is the first display form, which corresponds to the message sending function.
[0085] For example, in conjunction with the reference Figure 5 The message input area 301 is displayed in the chat interface 300. If the message input area 301 is empty, such as... Figure 5 As shown in part (a) of the diagram, the display control 302 is in its pre-input display state; for example, the display state of control 302 is a plus sign. In response to a message editing operation in the message input area 301, such as... Figure 5 As shown in part (b) of the figure, the control 302 is switched from the display form before the input message to the display form after the input message (first display form). For example, the control 302 is switched from the plus sign style to the straight arrow style.
[0086] Step 220: In response to a first trigger operation on the control in the first display mode, send the message content to the chat interface and switch the control from the first display mode to the second display mode;
[0087] In some embodiments, the first triggering operation refers to the triggering operation when the control is in a first display state. Optionally, the first triggering operation on the control in the first display state includes, but is not limited to: click operation, long press operation, double click operation, swipe operation, touch operation, button operation, gesture operation, voice command operation, shake operation, and free combination of at least two of the above operations.
[0088] In some embodiments, in response to a first trigger operation on a control in a first display mode, message content is sent from the message input area in the chat interface to the message display area in the chat interface, and the control is switched from the first display mode to a second display mode. The first display mode corresponds to the message sending function, and the second display mode corresponds to the message recall function. The message recall function refers to the ability for the user to recall message content using a control.
[0089] In some embodiments, the first display mode and the second display mode are different display modes of the control. Optionally, the display modes of the control include, but are not limited to, at least one of: arrow style, display size, display color, display shape, display animation, and display text. This application does not limit this.
[0090] In some embodiments, in response to a first trigger operation on a control in a first display mode, message content is sent from the message input area in the chat interface to the message display area in the chat interface, an animation effect of the message content being sent from the message input area to the message display area is displayed, and a switch of the control from the first display mode to the second display mode is displayed. Optionally, an animation effect of the message content being sent from the starting position in the message input area to the ending position in the message display area is displayed.
[0091] In some embodiments, the animation effect of sending message content from the message input area to the message display area includes, but is not limited to, at least one of the following: a movement effect of the message content moving from the message input area (the starting position in the message input area) to the message display area (the ending position in the message display area); a sliding effect of the message content sliding from the message input area (the starting position in the message input area) to the message display area (the ending position in the message display area); a bouncing effect of the message content jumping from the message input area (the starting position in the message input area) to the message display area (the ending position in the message display area); and a gradual display effect of the message content being sent from the message input area (the starting position in the message input area) to the message display area (the ending position in the message display area).
[0092] For example, in conjunction with the reference Figure 6 The chat interface 400 includes controls 401 in the first display form, such as... Figure 6 As shown in part (a) of the figure, the first display form is a straight arrow style, responding to a trigger operation of control 401 for the first display form, as follows: Figure 6As shown in part (b) of the figure, the message content is sent from the message input area 402 to the message display area 403. For example, the message content sent by the user is "I've been quite busy with work lately". An animation effect 404 is displayed to show the message content being sent from the message input area 402 to the message display area 403. For example, the animation effect 404 is the message content "bouncing" from the message input area 402 to the message display area 403. The display control 401 also switches from a first display mode to a second display mode, for example, from a straight arrow style to a curved arrow style.
[0093] Step 230: In response to a second trigger operation on a control in the second display mode, withdraw all or part of the sent message content from the chat interface.
[0094] In some embodiments, the second triggering operation refers to the triggering operation when the control is in a second display state. Optionally, the second triggering operation on the control in the second display state includes, but is not limited to: click operation, long press operation, double click operation, swipe operation, touch operation, button operation, gesture operation, voice command operation, shake operation, and free combination of at least two of the above operations.
[0095] In some embodiments, in response to a second trigger operation on a control in the second display mode, the entire content of a sent message is retracted from the chat interface. Here, "entire content" refers to the entire message content sent from the message input area to the message display area.
[0096] For example, the message content includes text messages and emoticons. For instance, the message content is "I met a friend I haven't seen in a long time today [happy]". In response to a click operation on a control in the second display form, all content is withdrawn from the chat interface, that is, "I met a friend I haven't seen in a long time today [happy]" is withdrawn from the chat interface.
[0097] In some embodiments, in response to a second trigger operation on a control in the second display mode, a portion of the sent message content is withdrawn from the chat interface. Here, "partial content" refers to a portion of the entire message content sent from the message input area to the message display area.
[0098] For example, the message content includes text messages and emoticons. For instance, the message content might be "Met a friend I haven't seen in a long time today [feeling happy]". In response to a click on a control in the second display mode, part of the content is withdrawn from the chat interface. For example, if part of the content is an emoticon, "[feeling happy]" is withdrawn from the chat interface, while the remaining part, "Met a friend I haven't seen in a long time today," remains in the chat interface.
[0099] In some embodiments, in response to a second trigger operation on a control of the second display mode, the message content is withdrawn from the message display area in the chat interface to the message input area in the chat interface, and an animation effect of the message content withdrawing from the message display area to the message input area is displayed. Optionally, an animation effect of the message content withdrawing from the end position in the message display area to the start position in the message input area is displayed.
[0100] In some embodiments, the animation effect of sending message content from the message display area to the message input area includes, but is not limited to, at least one of the following: a movement effect of the message content moving from the message display area (the end position in the message display area) to the message input area (the starting position in the message input area); a sliding effect of the message content sliding from the message display area (the end position in the message display area) to the message input area (the starting position in the message input area); a bouncing effect of the message content jumping from the message display area (the end position in the message display area) to the message input area (the starting position in the message input area); and a gradual withdrawal effect of the message content withdrawing from the message display area (the end position in the message display area) to the message input area (the starting position in the message input area).
[0101] For example, in conjunction with the reference Figure 7 The chat interface 500 includes a control 501 in a second display form, such as... Figure 7 As shown in part (a) of the figure, the second display form is a curved arrow style, responding to a trigger operation of the control 501 for the second display form, as follows: Figure 7 As shown in part (b) of the figure, the message content is withdrawn from the message display area 502 to the message input area 503. For example, if the message content sent by the user is "I've been quite busy with work lately", an animation effect 504 is displayed to show the message content withdrawing from the message display area 502 to the message input area 503. For example, the animation effect 504 is that the message content "bounces" from the message display area 502 to the message input area 503. Also, the display control 501 is restored from the second display mode to the first display mode, for example, switching from a curved arrow style to a straight arrow style.
[0102] In summary, the method provided in this application involves editing message content to be sent in the chat interface of a first account. Before sending the message content, a control in a first display state is displayed in the chat interface, corresponding to the message sending function of the control. After the message content is sent, the display state of the control switches from the first display state to a second display state, corresponding to the message recall function of the control. When the control is in the second display state, the sent message content can be recalled from the chat interface by triggering the control in the second display state. By combining the display state of the control with the message sending and recall functions of the message content, the user only needs to perform corresponding triggering operations on the controls in different display states to complete the functions of sending and recalling messages. Compared with related technologies that require searching for a recall option among multiple operation options, this application reduces complex operation steps and improves the convenience of operation.
[0103] Switch the control from the first display mode to the second display mode.
[0104] In some embodiments, switching a control from a first display mode to a second display mode includes, but is not limited to, at least one of the following: switching the control's arrow style from a first-direction arrow style to a second-direction arrow style; switching the control's display size from a first-size display size to a second-size display size; switching the control's display color from a first-hue display color to a second-hue display color; switching the control's display shape from a first-type display shape to a second-type display shape; switching the control's display animation from a first-type display animation to a second-type display animation; and switching the control's display text from first-content display text to second-content display text. This application does not limit this.
[0105] For example, the display style of a control includes an arrow style. The arrow style indicates the shape of the arrow displayed on the control. Optionally, the arrow style of the control can be switched from a first-direction arrow style to a second-direction arrow style. For example, if the first direction is a straight line and the second direction is a curve, the arrow style of the control can be switched from a straight arrow style to a curved arrow style.
[0106] For example, the display format of a control includes its display size. The display size indicates the area occupied by the control within the chat interface. Optionally, the display size of the control can be switched from a first size to a second size. For example, the first size is the original size of the control, and the second size is the enlarged size; switching the display size of the control from the original size to the enlarged size...
[0107] For example, the display appearance of a control includes a display color. The display color indicates the visual color of the control in the chat interface, including the background color or border color. Optionally, the display color of the control can be switched from a first hue to a second hue. For example, if the first hue is light blue and the second hue is dark blue, the display color of the control can be switched from light blue to dark blue.
[0108] For example, the display form of a control includes a display shape. The display shape indicates the visual appearance of the control in the chat interface. Optionally, the display shape of the control can be switched from a first type of display shape to a second type of display shape. For example, if the first type is a triangle and the second type is a rectangle, the display shape of the control can be switched from a triangle to a rectangle.
[0109] For example, the display mode of a control includes a display animation. The display animation indicates the animation effect exhibited by the control in the chat interface. Optionally, the display animation of the control can be switched from a first type of display animation to a second type. For example, if the first type is a scrolling animation and the second type is a loading animation, the display animation of the control can be switched from a scrolling animation to a loading animation.
[0110] For example, the display format of a control includes displayed text. The displayed text indicates the text content displayed by the control in the chat interface. Optionally, the displayed text of the control can be switched from the displayed text of a first type of content to the displayed text of a second type of content. For example, if the first type of content is "Can be sent" and the second type of content is "Can be retracted," the displayed text of the control can be switched from "Can be sent" to "Can be retracted."
[0111] It should be noted that the above is only an illustrative description of the display form, and this application does not limit the display form of the control.
[0112] Valid duration for message content
[0113] In some embodiments, in response to a first trigger operation on a control in a first display mode, message content is sent to the chat interface; at the trigger time of the first trigger operation, the control is switched from the first display mode to the second display mode, and the control remains in the second display mode for a valid duration starting from the trigger time. Optionally, the valid duration includes a fixed duration (first duration) or a dynamic duration (second duration or third duration).
[0114] In some embodiments, when the validity period expires, the control is switched from the second display form to the first display form; that is, when the validity period exceeds the limit, the control is restored from the second display form to the first display form. Optionally, the control is switched from a revocable state to an irrevocable state. The revocable state refers to the state where the user can retract all or part of the sent message content from the chat interface; that is, the user has the permission to retract all or part of the sent message content from the chat interface. The irrevocable state refers to the state where the user cannot retract all or part of the sent message content from the chat interface; that is, the user does not have the permission to retract all or part of the sent message content from the chat interface.
[0115] For example, the effective duration is 30 seconds. Within 30 seconds, the control switches from a first display form to a second display form, such as switching from a straight arrow style to a curved arrow style. The control remains in the curved arrow style for 30 seconds. After 30 seconds, the control reverts from the second display form to the first display form, such as reverting from the curved arrow style back to the straight arrow style.
[0116] In this embodiment, when the validity period expires, the control automatically switches back to the first display form, which helps maintain the clarity and standardization of the interface and avoids an overly complex or cluttered user interface. By automatically switching the display form of the control, users do not need to manually restore the initial state, improving the smoothness and convenience of operation.
[0117] In some embodiments, the effective duration is the intersection of one or more of the following durations:
[0118] • First duration: The first duration is the effective recall period for the message content;
[0119] • The second duration is the time from the start of the first triggering operation to the end of the editing operation after receiving the next message content;
[0120] • The third duration is the time from the start of the first trigger operation to the end of the second trigger operation.
[0121] The three durations are described below:
[0122] 1. Regarding the first duration
[0123] In some embodiments, the control is switched from a first display mode to a second display mode within a first duration. The first duration is the effective recall duration of the message content.
[0124] In some embodiments, the effective recall duration indicates the valid time period during which sent message content can be recalled. It can also be understood as the maximum time range from when the sent message content was sent to when it can be recalled. The maximum time range represents the longest period after the message content is sent to the message display area that the message can be recalled. If the effective recall duration is exceeded, the message recall function will be disabled.
[0125] In some embodiments, the effective withdrawal duration is a fixed duration, which is counted from the first triggered operation until the effective withdrawal duration ends. The effective withdrawal duration is measured in seconds or minutes. The effective withdrawal duration is the same on the same application platform, but may differ on different application platforms. The effective withdrawal duration is typically preset by the developers in the system.
[0126] If the valid retraction period expires, the control will switch from the second display mode to the first display mode. In other words, if the valid retraction period is exceeded, the control will switch from the second display mode to the first display mode. The control will then change from a revocable state to a non-revocable state.
[0127] For example, chat platform A stipulates that the effective recall period is 2 minutes, starting from the user's first trigger operation on the control. Within 2 minutes, the user has the right to recall the sent message content. After 2 minutes, that is, after the effective recall period, the sent message content cannot be recalled.
[0128] In some embodiments, at the triggering time of the first triggering operation, the control is switched from a first display mode to a second display mode, and during the effective withdrawal duration (first duration), the control remains in the second display mode, including but not limited to at least one of the following:
[0129] • At the moment of triggering the first triggering operation, switch the arrow style of the control from the arrow style of the first direction to the arrow style of the second direction, and keep the arrow style of the control as the arrow style of the second direction during the effective withdrawal time (first time).
[0130] • At the moment of triggering the first triggering operation, the display size of the control is switched from the first size to the second size, and the display size of the control is kept at the second size during the effective withdrawal period (first duration);
[0131] • At the moment of triggering the first triggering operation, switch the display color of the control from the first hue to the second hue, and maintain the display color of the control as the second hue during the effective withdrawal period (first duration).
[0132] • At the moment of triggering the first triggering operation, the display shape of the control is switched from the first type of display shape to the second type of display shape, and the display shape of the control is kept in the second type of display shape during the effective withdrawal period (first duration);
[0133] • At the moment of triggering the first triggering operation, switch the display animation of the control from the first type of display animation to the second type of display animation, and keep the display animation of the control as the second type of display animation during the effective withdrawal duration (first duration);
[0134] • At the moment of triggering the first triggering operation, switch the displayed text of the control from the first content to the second content, and keep the displayed text of the control as the second content for the effective withdrawal period (first duration).
[0135] It should be noted that the above is merely an illustrative example and is not intended to limit the scope of this application. For details regarding the switching of display modes, please refer to the relevant content in the above embodiment of "switching the control from the first display mode to the second display mode," which will not be repeated here.
[0136] In some embodiments, after the effective withdrawal period expires, that is, after the effective withdrawal period has elapsed, the control is restored from the second display form to the first display form, including but not limited to at least one of the following: after the effective withdrawal period expires, the arrow style of the control is restored from the arrow style of the second direction to the arrow style of the first direction; after the effective withdrawal period expires, the display size of the control is switched from the display size of the second size to the display size of the first size; after the effective withdrawal period expires, the display color of the control is restored from the display color of the second hue to the display color of the first hue; after the effective withdrawal period expires, the display shape of the control is restored from the display shape of the second type to the display shape of the first type; after the effective withdrawal period expires, the display animation of the control is restored from the display animation of the second type to the display animation of the first type; after the effective withdrawal period expires, the display text of the control is restored from the display text of the second content to the display text of the first content. This application does not limit this.
[0137] 2. Regarding the second duration
[0138] In some embodiments, the control is switched from a first display mode to a second display mode within a second duration. The second duration is the time from the start of the first trigger operation to the end of the editing operation upon receiving the next message content.
[0139] In some embodiments, the second duration is the time from the start of the first triggering operation to the end of the editing operation when the message input area receives the next message content. Optionally, the second duration is a dynamic duration, or a dynamically changing duration, which changes with the editing operation of the first account.
[0140] In some embodiments, in response to a first trigger operation on a control in the first display mode, message content is sent to the chat interface, that is, the message content is sent from the message input area to the message display area, and the control is switched from the first display mode to the second display mode. When the message content is sent from the message input area to the message display area, the message input area changes from an edit state to an empty state. In response to the message input area receiving an edit operation for the next message content, until the edit operation for the next message content ends, it is determined that the first account has a new round of input intent. When the second duration of the new round of input intent ends, the control is switched from the second display mode to the first display mode, that is, the control is restored from the second display mode to the first display mode.
[0141] For example, a user edits message content A in the message input area, such as "Let's have hot pot together this weekend." In response to a first trigger operation on the control in the first display mode, a second duration begins timing from the first trigger operation. Message content A is sent from the message input area to the message display area. If there is no message content in the message input area at the moment, and the user edits message content B in the message input area, it is determined that the first account has a new input intention, such as message content B being "I heard XX has opened a new hot pot restaurant." After the editing operation of message content B ends, the second duration ends timing, and the control is restored from the second display mode to the first display mode. For example, the duration from the start of the first trigger operation to the end of the editing operation of the next message content is 10 seconds, that is, the second duration is 10 seconds.
[0142] In some embodiments, at the moment the first triggering operation is triggered, the control is switched from a first display mode to a second display mode, and during a second duration, the control remains in the second display mode, including but not limited to at least one of the following:
[0143] • During the second duration, switch the arrow style of the control from the arrow style in the first direction to the arrow style in the second direction, and during the second duration, keep the arrow style of the control in the arrow style in the second direction.
[0144] • During the second duration, the display size of the control is switched from the first size to the second size, and during the second duration, the display size of the control remains at the second size.
[0145] • During the second duration, the display color of the control is switched from the first hue to the second hue, and during the second duration, the display color of the control remains at the second hue.
[0146] • During the second duration, the display shape of the control is switched from the first type of display shape to the second type of display shape, and during the second duration, the display shape of the control remains the second type of display shape;
[0147] • During the second duration, the display animation of the control is switched from the first type of display animation to the second type of display animation, and during the second duration, the display animation of the control remains the second type of display animation;
[0148] • During the second duration, switch the displayed text of the control from the displayed text of the first content to the displayed text of the second content, and during the second duration, keep the displayed text of the control as the displayed text of the second content.
[0149] It should be noted that the above is merely an illustrative example and is not intended to limit the scope of this application. For details regarding the switching of display modes, please refer to the relevant content in the above embodiment of "switching the control from the first display mode to the second display mode," which will not be repeated here.
[0150] In some embodiments, after the second duration expires, that is, after the second duration ends, the control is restored from the second display form to the first display form, including but not limited to at least one of the following: after the second duration expires (the countdown ends), the arrow style of the control is restored from a second-direction arrow style to a first-direction arrow style; after the second duration expires (the countdown ends), the display size of the control is switched from a second-size display size to a first-size display size; after the second duration expires (the countdown ends), the display color of the control is restored from a second-hue display color to a first-hue display color; after the second duration expires (the countdown ends), the display shape of the control is restored from a second-type display shape to a first-type display shape; after the second duration expires (the countdown ends), the display animation of the control is restored from a second-type display animation to a first-type display animation; after the second duration expires (the countdown ends), the display text of the control is restored from second-content display text to first-content display text. This application does not limit this.
[0151] 3. Regarding the third duration
[0152] In some embodiments, the control is switched from a first display mode to a second display mode within a third duration. The third duration is the time from the start of the first trigger operation to the end of the second trigger operation.
[0153] In some embodiments, the third duration is the time from the start of the first triggering operation to the end of the second triggering operation received by the control; or, the third duration is the time from the start of the first triggering operation to the time when the next message content is sent to the message display area. Optionally, the third duration is a dynamic duration, or a dynamically changing duration, which changes with the triggering operation of the first account.
[0154] In some embodiments, in response to a first trigger operation on a control in the first display mode, message content is sent to the chat interface, that is, the message content is sent from the message input area to the message display area, and the control is switched from the first display mode to the second display mode. In response to a second trigger operation on a control in the second display mode, the sent message content is withdrawn from the chat interface, that is, the message content is sent from the message display area to the message input area, a third duration ends, and the control is switched from the second display mode to the first display mode.
[0155] For example, a user edits message content C in the message input area, such as "XX's taro milk tea is delicious." In response to a first trigger operation on a control in the first display mode, the third duration begins timing from the first trigger operation. Message content C is sent from the message input area to the message display area, and the control switches from the first display mode to the second display mode. In response to a second trigger operation on a control in the second display mode, the sent message content C is withdrawn from the chat interface, and the third duration ends timing. At this point, the control is restored from the second display mode to the first display mode. For example, the duration from the start of the first trigger operation to the end of the second trigger operation is 15 seconds, meaning the third duration is 15 seconds.
[0156] In some embodiments, at the moment the first triggering operation is triggered, the control is switched from a first display mode to a second display mode, and for a third duration, the control remains in the second display mode, including but not limited to at least one of the following:
[0157] • During the third duration, switch the arrow style of the control from the arrow style of the first direction to the arrow style of the second direction, and during the third duration, keep the arrow style of the control as the arrow style of the second direction;
[0158] • During the third duration, the display size of the control is switched from the first size to the second size, and during the third duration, the display size of the control remains at the second size.
[0159] • During the third duration, switch the display color of the control from the first hue to the second hue, and during the third duration, keep the display color of the control at the second hue.
[0160] • During the third duration, the display shape of the control is switched from the first type of display shape to the second type of display shape, and during the third duration, the display shape of the control remains the second type of display shape;
[0161] • During the third duration, the display animation of the control is switched from the first type of display animation to the second type of display animation;
[0162] • During the third duration, switch the displayed text of the control from the first content to the second content, and during the third duration, keep the displayed text of the control as the second content.
[0163] It should be noted that the above is merely an illustrative example and is not intended to limit the scope of this application. For details regarding the switching of display modes, please refer to the relevant content in the above embodiment of "switching the control from the first display mode to the second display mode," which will not be repeated here.
[0164] In some embodiments, after the third duration expires, that is, after the third duration ends, the control is restored from the second display form to the first display form, including but not limited to at least one of the following: after the third duration expires (ends the countdown), the arrow style of the control is restored from the second-direction arrow style to the first-direction arrow style; after the third duration expires (ends the countdown), the display size of the control is switched from the second size display size to the first size display size; after the third duration expires (ends the countdown), the display color of the control is restored from the second hue display color to the first hue display color; after the third duration expires (ends the countdown), the display shape of the control is restored from the second type display shape to the first type display shape; after the third duration expires (ends the countdown), the display animation of the control is restored from the second type display animation to the first type display animation; after the third duration expires (ends the countdown), the display text of the control is restored from the second content display text to the first content display text. This application does not limit this.
[0165] In some embodiments, the effective duration is at least one of a first duration (effective withdrawal duration), a second duration, and a third duration. Alternatively, the effective duration is the intersection of at least two of the first duration, the second duration, and the third duration; or, the effective duration is the intersection of three of the first duration, the second duration, and the third duration. This application does not limit this.
[0166] For example, the effective duration is the intersection of the first duration and the second duration. The first duration is the effective recall duration (fixed duration), and the second duration is the duration from the start of the first triggering operation to the end of the editing operation upon receiving the next message content (dynamic duration). For instance, if the first duration is 20 seconds, meaning the maximum time range from sending the sent message content to recall is 20 seconds, and the second duration is 10 seconds, then the effective duration is the intersection of the first and second durations, and the effective duration is 10 seconds.
[0167] In summary, in this embodiment, at the moment of triggering the first triggering operation, the control switches from the first display form to the second display form, providing immediate visual feedback. At the start of the triggering moment, the system begins timing and controls the control to maintain the second display form within the valid duration, allowing the user to clearly perceive whether the current time is still within the valid duration.
[0168] Furthermore, by allowing multiple changes to the control within its effective duration (such as arrow direction, display size, color, shape, animation, and text), a more dynamic and interactive interface experience can be provided. During operation, users can clearly perceive the state of the control (whether it is an undoable or non-undoable state), and such feedback can visually convey clear state information to the user.
[0169] By defining multiple valid durations, users can recall or edit message content within a more flexible time window, providing them with more operational flexibility. By refining different durations (such as recall duration, editing duration, and triggering duration), this mechanism can adapt to different operational scenarios, providing more personalized and contextualized solutions. For example, in some scenarios, users may need more time to recall messages, while in other cases, they may be more concerned with the amount of time spent editing and receiving new messages.
[0170] When the effective duration is the effective withdrawal duration, a countdown timer for the effective withdrawal duration will be displayed.
[0171] In some embodiments, the effective duration is a first duration, which is the effective recall duration of the message content. The effective recall duration is used to indicate the valid time period during which the sent message content can be recalled; it can also be understood as indicating the maximum time range from sending to recalling the sent message content. Optionally, the effective recall duration is a fixed duration.
[0172] • Display countdown information for the first duration based on the control.
[0173] In some embodiments, countdown information for a first duration is displayed based on the control; that is, countdown information for the effective withdrawal duration is displayed based on the control. The countdown information for the first duration includes, but is not limited to, at least one of the following: countdown progress, countdown percentage, and countdown value.
[0174] Optionally, the countdown information includes the countdown progress. The countdown progress indicates the progress of the effective withdrawal period relative to the total duration. The countdown progress is displayed based on at least one of progress points, progress circles, or progress bars. For example, the countdown progress is displayed based on progress points, which are typically displayed as multiple small dots that gradually increase in number as the countdown progresses, for example, one progress point every second. For example, the countdown progress is displayed based on progress circles, which are typically displayed as a circular icon. As the countdown progresses, a portion of the progress circle is filled; for example, the progress circle is empty at the start of the effective withdrawal period, and gradually fills in until it is completely filled, indicating the end of the effective withdrawal period. For example, the countdown progress is displayed based on progress bars, which are typically displayed as a horizontal or vertical bar graph. As the countdown progresses, the fill level of the progress bar gradually increases or decreases over time until the progress bar is completely filled or blank, indicating the end of the effective withdrawal period.
[0175] Optionally, the countdown information includes a countdown percentage. Optionally, the countdown percentage represents the percentage of the remaining effective withdrawal time out of the total duration; or, the countdown percentage represents the percentage of the effective withdrawal time already in effect out of the total duration. For example, if the effective withdrawal time is 30 seconds, 12 seconds have elapsed, and 18 seconds remain, the countdown percentage is displayed as 40% (based on the percentage of the effective withdrawal time out of the total duration) or 60% (based on the percentage of the remaining duration out of the total duration). As another example, if the effective withdrawal time is 30 seconds, 21 seconds have elapsed, and 9 seconds remain, the countdown percentage is displayed as 70% (based on the percentage of the effective withdrawal time out of the total duration) or 30% (based on the percentage of the remaining duration out of the total duration).
[0176] Optionally, the countdown information includes a countdown value. Optionally, the countdown value represents the specific remaining duration of the valid withdrawal period; or, the countdown value represents the specific duration of the valid withdrawal period that has already taken effect. Optionally, the countdown value is displayed in combination with text. For example, if the valid withdrawal period is 30 seconds and 10 seconds have elapsed, when displaying based on the effective duration, the countdown value is displayed as "10 seconds" or "Sent 10 seconds"; when displaying based on the remaining duration, the countdown value is displayed as "20 seconds" or "20 seconds remaining".
[0177] It should be noted that the above is merely an illustrative example of countdown information and does not constitute a limitation on countdown information.
[0178] In this embodiment, when displaying the countdown information for the first duration, multiple display methods for the countdown information are provided, allowing users to select the most suitable display method according to different user needs. Users can intuitively see the effective duration or remaining time of the valid withdrawal period through various methods such as progress, percentage, and numerical values. The countdown information helps users better manage time and avoid missing the valid withdrawal period due to insufficient information.
[0179] In some embodiments, the countdown information includes the progress of the countdown. The countdown progress is used to indicate the progress of the effective withdrawal duration relative to the total duration. In response to a first trigger operation on a control in a first display mode, the message content is sent from the message input area to the message display area, and the control is switched from the first display mode to a second display mode. After the control is switched to the second display mode, the countdown progress is displayed around the control. Optionally, an animation effect is displayed to show the countdown progress gradually changing in line with the effective withdrawal duration. Specifically, in response to the effective withdrawal duration gradually increasing, an animation effect is displayed to show the countdown progress gradually increasing, and the countdown progress is positively correlated with the effective withdrawal duration; in response to the effective withdrawal duration reaching the total effective withdrawal duration, that is, in response to the remaining effective withdrawal duration decreasing to zero, an animation effect is displayed to show the countdown progress reaching completion.
[0180] In some embodiments, a countdown progress is displayed around the control, along with an animation effect showing the countdown progress gradually increasing in a clockwise or counterclockwise direction. Specifically, in response to the gradually increasing effective duration of the valid withdrawal period, the countdown progress is displayed with an animation effect showing a gradual increase in a clockwise or counterclockwise direction, and the countdown progress is positively correlated with the effective duration.
[0181] For example, in conjunction with the reference Figure 8 Within the first duration (the effective withdrawal period), control 500 is displayed in the chat interface in its second display form. For example, the second display form of control 500 is a curved arrow, with a countdown progress 501 displayed around control 500. The countdown progress gradually increases in a clockwise or counterclockwise direction. Taking an effective withdrawal period of 30 seconds as an example, if 15 seconds have already passed since the effective withdrawal period, such as... Figure 8 As shown in part (a) of the diagram, the animation effect shows the countdown progress at 50%. When the effective duration increases to 27 seconds, the animation effect shows the countdown progress increasing clockwise by 501. Figure 8As shown in section (b) of the figure, the animation shows the countdown progress increasing to 90% from 501.
[0182] In this embodiment, the countdown information is displayed based on the countdown progress. By displaying the countdown progress around the control, the passage of the countdown can be intuitively shown. By displaying an animation effect where the countdown progress gradually increases in a clockwise or counterclockwise direction, the directionality of the animation effect (clockwise or counterclockwise) can further enhance the user's perception of the countdown's passage. The user can not only see the changes in the countdown progress but also clearly perceive the flow of time through visual effects. This display method can help users more accurately decide whether to recall the message, thereby reducing the possibility of erroneous operations.
[0183] • Display a countdown timer around the message content for the first duration.
[0184] In some embodiments, the effective duration is a first duration, which is the effective withdrawal duration of the message content. A countdown timer for the first duration is displayed around the message content. In response to a first trigger operation on a control in the first display mode, the message content is sent from a starting position in the message input area to an ending position in the message display area. Optionally, after the message content is sent to the ending position in the message display area, progress information is displayed around the message content to indicate the progress information during the first duration. The progress information can be displayed as at least one of a progress bar, a progress circle, a percentage, a numerical value, or text.
[0185] Optionally, the progress indicator displayed around the message content is positively correlated with the effective duration. An animation effect showing the progress indicator gradually increasing in response to the effective duration gradually increasing.
[0186] In some embodiments, a countdown timer is displayed based on a control for a first duration, and a progress indicator is displayed around the message content. Optionally, the countdown timer and the progress indicator are different types of information. For example, the countdown timer is displayed as progress points around the control, and the progress indicator is displayed as a progress bar at the bottom of the message content. Another example is that the countdown timer is displayed as a progress circle around the control, and the progress indicator is displayed as the countdown value next to the message content. The progress indicator displayed around the message content is positively correlated with the progress of the countdown displayed around the control.
[0187] For example, in conjunction with the reference Figure 9In the chat interface 600, a control 601 is displayed. Based on the control 601, countdown information 602 for the first duration is displayed. For example, countdown information 602 represents the progress point of the countdown, and the countdown progress point is displayed around the control 601. Progress prompt information 603 is displayed around the message content, for example, the progress prompt information 603 is displayed as a progress bar. The first duration represents the effective recall duration of the message content. Taking an effective recall duration of 30 seconds as an example, the effective duration is 15 seconds, the countdown progress point around the control 601 is displayed as 50%, and the progress bar displayed around the message content is 1 / 2.
[0188] In this embodiment, after a user sends a message, a progress indicator (progress bar) is displayed around each message. This progress indicator clearly informs the user of the effective recall time for each message. This reduces user uncertainty, allowing them to estimate the effective recall time based on the progress indicator for each message, thus making the recall operation more controllable.
[0189] The second display mode is a dynamic display mode.
[0190] In some embodiments, the control is in a second display state during the effective duration, and the second display state corresponds to the message recall function. Optionally, the second display state is a dynamic display form, which includes an initial display form and an animation sequence that gradually transitions from the initial display form to the first display form. At the beginning of the effective duration, the control is in the initial display form, and as the effective duration increases, the control gradually transitions from the initial display form to the first display form.
[0191] In some embodiments, the second display form gradually changes as the effective duration increases. The dynamic display form indicates the dynamic effect exhibited by the control in the second display state based on the change in the effective duration. Changes in the dynamic display form can manifest in at least one of the following: changes in arrow style, changes in display size, changes in display color, changes in display shape, changes in display animation, changes in display text, and changes in display position. This application does not limit the scope of these changes.
[0192] In some embodiments, the second display form of the display control gradually changes to the first display form as the effective duration increases. Optionally, the first display form includes an arrow style in a first direction, and the second display form includes an arrow style in a second direction and an animation sequence of gradual transition from the arrow style in the second direction to the arrow style in the first direction. Optionally, as the effective duration increases, the display control gradually changes from the arrow style in the second direction to the arrow style in the first direction using an animation sequence. Here, the animation sequence refers to the animation effect of the control's arrow style gradually changing from the second direction to the first direction.
[0193] In an animation sequence, the arrow style of a control can be gradientd through rotation, stretching, deformation, or other gradient methods to gradually change from an arrow style in the second direction to an arrow style in the first direction. As the control gradually changes from the arrow style in the second direction to the arrow style in the first direction, the sent message content is in a revocable state, and the gradual change of the control indicates that the remaining effective revocable time is gradually decreasing.
[0194] For example, in conjunction with the reference Figure 10 Within the valid duration, control 700 in the chat interface is in its second display mode, with a countdown progress bar 701 displayed around control 700. This second display mode is dynamic. For example, with a valid duration of 20 seconds, at the start of the countdown, if... Figure 10 As shown in part (a) of the diagram, control 700 is displayed as a curved arrow pointing to the left. This follows the increase in the effective duration; for example, if the effective duration is 15 seconds... Figure 10 As shown in part (b) of the diagram, the countdown progress 701 increases, and the animation sequence of the display control 700 changing from a left-facing curved arrow style to an upper-left curved arrow style follows the increase in the effective duration, for example, if the effective duration is 20 seconds. Figure 10 As shown in part (c) of the figure, the countdown progress 701 increases, and the animation sequence of the display control 700 changes from a curved arrow style in the upper left direction to a straight arrow style in the upward direction.
[0195] In this embodiment, the second display form of the control is a dynamic display form. The visual appearance of the control (e.g., the direction of the arrow) gradually changes (or transitions) from the second direction to the first direction over the duration of the effective period. This transition is typically smooth and continuous, providing timely feedback to the user. Through gradual animation, users can more clearly perceive changes in the control's state. For example, a gradual change in the arrow's direction from the second direction to the first direction clearly indicates the current state transition of the control, avoiding abrupt changes.
[0196] Retract all or part of the message content
[0197] In some embodiments, in response to a second trigger operation on a control in the second display mode, all or part of the sent message content is recalled from the chat interface. Here, "all content" refers to the entire message content sent from the message input area to the message display area. "Partial content" refers to a portion of the entire message content sent from the message input area to the message display area.
[0198] • All content in the message
[0199] In some embodiments, within a valid duration, in response to a second trigger operation on a control in the second display mode, all content of the sent message is withdrawn from the chat interface, that is, all content of the message is withdrawn from the message display area to the message input area.
[0200] In some embodiments, the number of message contents sent by the first account is i. When i is 1, in response to the second trigger operation on the control of the second display form, the entire content of a sent message is withdrawn from the chat interface, and the entire content of a message is withdrawn from the message display area to the message input area.
[0201] For example, in conjunction with the reference Figure 11 The message content 801 sent by the first account is displayed in the chat interface 800. The message content 801 includes both text messages and emoticons, such as... Figure 11 As shown in part (a) of the diagram, the message content 801 is "I've been quite busy with work lately [helpless]". In response to a click on the control 802 in the second display mode, the entire message content 801 is withdrawn from the chat interface 800, as shown below. Figure 11 As shown in part (b) of the diagram, the message content 801 is withdrawn from the message display area in the chat interface 800 to the message input area, that is, "I've been quite busy with work lately [helpless]" is withdrawn to the message input area.
[0202] In some embodiments, when the number of messages sent by the first account is i, where i is a positive integer greater than 1, in response to a second trigger operation on the control of the second display mode, the sent j-th message content (the entire content of the j-th message content) is withdrawn from the chat interface, where j is a positive integer less than i. That is, the j-th message content (the entire content of the j-th message content) is withdrawn from the message display area to the message input area. Optionally, the j-th message content includes at least one of the following: the message content with the most recent sending time among the i message contents; the selected message content among the i message contents.
[0203] Optionally, the first account sends i (more than 1) messages consecutively in the chat interface. The i messages are displayed in the message display area of the chat interface in chronological order. All i messages are within their valid duration and are displayed in a control with a second display format. This second display format is determined based on the most recent message among the i messages; that is, the second display format is the display format corresponding to the most recent message among the i messages.
[0204] When the message content sent by the first account is recalled based on the control, that is, when the second trigger operation is performed on the control of the second display form, the message content with the most recent sending time is recalled from the i message contents by default. In other words, the message content with the most recent sending time (the entire content of the most recent message content) is recalled from the message display area to the message sending area by default.
[0205] For example, in conjunction with the reference Figure 12 In the chat interface 900, the contents of two consecutive messages sent by the first account are displayed, such as... Figure 12 As shown in part (a) of the diagram, the two message contents are message content 901 and message content 902. Message content 901 and message content 902 are displayed in the message display area of the chat interface 900 according to the sending order of the first account. For example, message content 901 is displayed as "I heard a new hot pot restaurant opened nearby", and message content 902 is displayed as "Let's go eat hot pot this weekend [V]". Optionally, progress prompt information is displayed around each message content to indicate the progress of the effective withdrawal time of the message content. The chat interface 900 displays a control 903 in a second display mode. The second display mode is the message content with the most recent sending time among the two message contents, that is, the second display mode is the display mode corresponding to message content 902. In response to the control 903 in the second display mode, a second trigger operation is performed, such as... Figure 12 As shown in part (b) of the diagram, by default, the message content sent most recently is withdrawn from the two message contents. That is, by default, the sent message content 902 is withdrawn from the chat interface 900. Optionally, the entire content of message content 902 can be withdrawn from the message display area to the message input area. For example, "Let's go eat hot pot this weekend [V]" can be withdrawn to the message input area.
[0206] In some embodiments, in response to a selection operation on the j-th message content among i message contents, the selected message content is withdrawn from the i message contents.
[0207] For example, in conjunction with the reference Figure 13 In the chat interface 1000, the content of two consecutive messages sent by the first account is displayed, such as... Figure 13 As shown in part (a) of the diagram, there are two message contents, message content 1001 and message content 1002. Message content 1001 reads "I heard a new hot pot restaurant opened nearby," and message content 1002 reads "Let's go eat hot pot this weekend [thumbs up]." Optionally, a progress indicator is displayed around each message content to show the progress of the effective withdrawal time of that message content. In response to a selection operation on message content 1001, such as... Figure 13As shown in part (a) of the figure, the message content 1001 is highlighted (e.g., bolded), and a second trigger operation is performed in response to the control 1003 in the second display mode, such as... Figure 13 As shown in part (b) of the diagram, the selected message content 1001 is withdrawn from the two message contents, that is, the sent message content 1001 is withdrawn from the chat interface 1000. Optionally, the entire content of message content 1001 can be withdrawn from the message display area to the message input area, for example, withdrawing "I heard that a new hot pot restaurant has opened nearby" to the message input area.
[0208] In this embodiment, by responding to a second trigger operation on a control in the second display mode, the content of the j-th sent message can be retracted, giving the user more operational freedom. Users can retract not only the most recently sent message but also selected messages, providing flexible choices when processing chat information and enhancing the personalization and flexibility of the operation.
[0209] • Targeting certain parts of the message content
[0210] In some embodiments, within a valid duration, in response to a second trigger operation on a control in the second display mode, a portion of the sent message content is withdrawn from the chat interface, that is, a portion of the message content is withdrawn from the message display area to the message input area.
[0211] Within the valid duration, in response to a selection operation on a subset of strings in the message content, the selected subset of strings is highlighted; in response to a second trigger operation on a control in the second display mode, the chat interface is displayed to recall the subset of strings.
[0212] In some embodiments, the message content sent by the first account is a message consisting of strings. A subset of strings refers to a portion of the strings extracted from the message content. A subset of strings refers to a subset, fragment, or part of the text in the message content.
[0213] For example, a subset of strings can be words, phrases, symbols, emoticons, or letters in the message content. For instance, if the message sent by the first account is "The weather is so nice today, perfect for going out [happy]", then "The weather is so nice today", ",", "perfect for going out", and "[happy]" can all be considered subsets of the message content. "The weather is so nice today" can be further broken down into "today", "weather", "nice", and so on, and so on. These will not be elaborated further here.
[0214] In some embodiments, within a valid duration, in response to a selection operation on a subset of strings in the message content, the selected subset of strings is highlighted. For example, the selected subset of strings is displayed in bold, the font size of the selected subset of strings is increased, or the color of the selected subset of strings is made more prominent. This application does not limit the highlighting.
[0215] In some embodiments, in response to a second trigger operation on a control in a second display mode, a first subset of strings is displayed to be withdrawn from the chat interface, and a second subset of strings is displayed to be retained in the chat interface. The first subset of strings is the selected subset of strings, and the second subset of strings is the remaining subset of strings in the message content excluding the first subset. Optionally, the first subset of strings is withdrawn directly, or the first subset of strings is withdrawn to the message input area; this application does not limit this to either option.
[0216] Optionally, each message sent by the first account corresponds to a message identifier, which is used to identify the message content sent by the first account. In response to a second trigger operation on a control in the second display mode, the message identifier corresponding to the message content is sent to the server, and the message identifier corresponding to a second subset of strings sent by the server is received. Based on the message identifier corresponding to the second subset of strings, the second subset of strings is retained in the chat interface.
[0217] In some embodiments, a control in a second display mode is displayed in the chat interface, and a countdown progress is displayed around the control. After updating part of the content in the chat interface, the countdown progress displayed around the control is refreshed, based on the display time of the part of the content retained in the chat interface (the aforementioned second string subset).
[0218] For example, in conjunction with the reference Figure 14 In the chat interface 1100, the message content 1101 sent by the first account is displayed, such as... Figure 14 As shown in part (a) of the diagram, message content 1101 is displayed as "Recently quite busy at work." Progress information is displayed around message content 1101 to indicate the progress of the effective withdrawal period. Within the effective withdrawal period, in response to a selection operation on the string subset "recent" in the message content, the selected string subset "recent" is highlighted. In response to a second trigger operation on control 1102 in the second display mode, such as... Figure 14 As shown in part (b) of the diagram, the subset of the string "near" is withdrawn from the chat interface 1100, while the other part of the message content 1101, "I've been quite busy with work lately," is retained in the chat interface.
[0219] In this embodiment, the user can select a portion (i.e., a subset of strings) of the message content to recall, rather than recalling the entire message. This precise control allows for more flexible operation. After selecting a subset of strings, the selected portion is highlighted, providing immediate visual feedback, which enhances the visibility and controllability of the operation. Unlike directly recalling the entire message, recalling a portion of the text (a subset of strings) avoids unnecessary modification of the entire message, reducing interference with other content. For example, if the user only needs to recall a specific error or inappropriate expression in the message, recalling a portion achieves the goal more effectively.
[0220] The control is a voice input button.
[0221] In some embodiments, the chat interface includes controls in a first display state, which corresponds to the message sending function. The controls are interactive elements in the chat interface used to send or recall message content. For example, the control is a send control in the chat interface; or, for example, when the message content is a voice message, the control is a voice input button in the chat interface.
[0222] In some embodiments, a chat interface of a first account is displayed. The chat interface includes controls in a first display mode, which corresponds to a voice sending function. In response to a long press operation on the controls in the first display mode, a voice message is sent to the chat interface, and the voice input button is switched from the first display mode to a second display mode, which corresponds to a voice recall function. In response to a click operation on the voice input button in the second display mode, the sent voice message is recalled from the chat interface.
[0223] In some embodiments, when a voice message is sent to the message display area, the voice input button is switched from a first display mode to a second display mode, and the voice input control remains in the second display mode for a valid duration. When the valid duration expires, the voice input button is switched from the second display mode to the first display mode.
[0224] Optionally, the effective duration is the intersection of one or more of the following durations: a first duration, which is the effective recall duration of the voice message; a second duration, which is the duration from the start of the long press operation to the end of the long press operation when the next voice message is received; and a third duration, which is the duration from the start of the long press operation to the end of the trigger operation for the voice input button.
[0225] In some embodiments, a countdown timer for the effective withdrawal duration is displayed based on the voice input button. The countdown timer includes at least one of the following: countdown progress, countdown percentage, and countdown value. Taking the countdown progress as an example, optionally, the countdown progress is displayed around the voice input button, along with an animation showing the countdown progress gradually increasing in a clockwise or counter-clockwise direction. In some embodiments, progress indicator information is displayed around the voice message, indicating the progress of the effective withdrawal duration corresponding to the voice message.
[0226] In some embodiments, the second display form includes an initial display form and an animation sequence that gradually transitions from the initial display form to the first display form, with the second display form gradually changing to the first display form as the effective duration increases.
[0227] For example, in conjunction with the reference Figure 15 In the chat interface 1200, such as Figure 15 As shown in part (a) of the figure, a voice input control 1201 is displayed in a first display mode. The first display mode corresponds to the voice sending function. In response to a long press operation on the voice input control 1201, a voice message 1202 is input, and the voice message 1202 is sent to the message display area in the chat interface 1200. Figure 15 As shown in part (b) of the figure, in response to the voice message 1202 being sent to the message display area, the voice input button 1201 is switched from a first display mode to a second display mode. For example, the display lines of the voice input button 1201 are switched from a first fineness to a second fineness. Optionally, countdown information 1203 is displayed around the voice input button 1201, and progress prompt information 1204 is displayed around the voice message 1202. For example, the countdown information 1203 is displayed as a progress point, and the progress prompt information 1204 is displayed as a progress bar. The countdown information 1203 and / or the progress prompt information 1204 are positively correlated with the effective duration of the voice message 1202's valid withdrawal period. The longer the effective duration of the voice message 1202's valid withdrawal period, the longer the progress of the countdown information 1203 and the longer the progress of the progress prompt information 1204. When the voice input button 1201 is in the second display state, the voice message 1202 can be recalled by tapping the voice input button 1201.
[0228] This application's embodiments can be applied to various chat interfaces, such as the conversation interface in instant messaging programs; the bullet screen interface provided by video playback programs; the comment interface provided by social networking programs; and the comment interface in live streaming scenarios. This application's embodiments do not limit the application scenario.
[0229] The following describes the backend technical implementation of the message processing method provided in this application.
[0230] 1. Message passing and message rollback process
[0231] Figure 16 This is a flowchart of a message processing method provided in an exemplary embodiment of this application. Figure 16 This involves user A, client A used by user A, a server, user B, and client B used by user B. In the following steps, steps 1 to 5 involve sending message content, and steps 6 to 10 involve recalling message content. A brief description of the steps is as follows:
[0232] Step 1: User A posts a message;
[0233] User A is the user who controls the first account.
[0234] Optionally, in response to performing a first trigger operation on a control in the first display mode, the message content is sent to the chat interface. When the chat interface is a session interface of an instant messaging program, the chat interface can be a two-person chat interface or a multi-person chat interface (group chat interface). The chat interface displays a list of messages sorted chronologically.
[0235] The first display mode corresponds to the message sending function. The message sending function refers to the ability for users to send message content via controls. The message content is a multimedia message edited by the first account. Optionally, the message content includes at least one of the following: text message, voice message, image message, video message, emoticon message, file message, hyperlink message, and character message. This application does not limit the specific content of the message.
[0236] Step 2: Display the message content on client A;
[0237] Optionally, client A is the client corresponding to the first account. The message content sent by the first account is displayed on the chat interface of client A, and the message content is displayed in the message display area of the chat interface.
[0238] Step 3: Client A sends the message content to the server;
[0239] Optionally, after receiving the message content sent by user A, client A sends the message content to the server, or in other words, uploads the message content to the server.
[0240] Step 4: The server pushes the message content to client B;
[0241] Optionally, after receiving the message content sent by client A, the server pushes the message content to client B, where client B is the client corresponding to the second account or other accounts.
[0242] Taking the chat interface as the conversation interface of an instant messaging program as an example, if the chat conversation is a two-person conversation (i.e., the chat interface is a two-person chat interface), the server pushes the message content to the second account. If the chat conversation is a group conversation (i.e., the chat interface is a group chat interface), the server pushes the message content to the other member accounts in the group conversation. This application does not limit this.
[0243] Step 5: Client B displays the message content to user B;
[0244] Optionally, after receiving the message content sent by the server, the message content is displayed on client B.
[0245] Step 6: User A recalls the message content;
[0246] Step 7: Display the message content to be recalled on client A;
[0247] Optionally, in response to a second trigger operation on a control in the second display mode, all or part of the sent message content can be withdrawn from the chat interface. Here, "all content" refers to the entire message content sent from the message input area to the message display area.
[0248] The second display mode corresponds to the message recall function. The message recall function refers to the ability for users to recall message content using a control.
[0249] For example, client B displays "You withdrew a message".
[0250] Step 8: Client A retracts the message content and sends it to the server;
[0251] Step 9: The server pushes the message content to client B to retract;
[0252] Optionally, after receiving a message withdrawal from client A, the server pushes the message withdrawal information to client B, where client B is the client corresponding to the second account or another account.
[0253] Step 10: Client B displays the message content to user B indicating that the message has been withdrawn;
[0254] Optionally, after receiving the message content sent by the server, the client B displays a message withdrawal message, for example, displaying "XX withdrew a message" on the client B. Here, "XX" is the account name of the first account.
[0255] 2. Animation display
[0256] In some embodiments, a chat interface is displayed on the client, and controls are displayed on the chat interface. These controls are interactive elements in the chat interface used to send or recall message content. For example, a control might be a send control in the chat interface; or, for example, when the message content is a voice message, a control might be a voice input button in the chat interface. This application does not limit the specific type of control; the following description primarily uses a send control as an example.
[0257] Figure 17 This is a flowchart of a message processing method provided in an exemplary embodiment of this application. Figure 17 This involves the user and the client they use. (Refer to the reference.) Figure 17 In the diagram (a) above, steps 1 to 4 show the animation of the send control appearing, and steps 5 to 9 show the animation of the message content being sent from the message input area to the message display area. (Refer to the reference.) Figure 17 In part (b) of the diagram, steps 10 to 12 are the display of a countdown animation, and steps 13 to 17 are the display of an animation showing the message content being withdrawn from the message display area to the message input area. The steps are briefly described below:
[0258] The following is the animation of the send control appearing.
[0259] Step 1: The user enters the message content in the message input area;
[0260] In some embodiments, the chat interface includes a message input area. When the message input area is empty, the control is in the display form before the message is entered. In response to the editing operation in the message input area, the control is switched from the display form before the message is entered to the display form after the message is entered. The display form after the message is entered is the first display form, which corresponds to the message sending function.
[0261] For example, when user A opens the chat panel, the send control is displayed as a plus button before the user enters a message. After entering the message content in the message input area, the send control is displayed in the form of a plus button (the first display form mentioned above), for example, the send control changes from a plus button style to a blue straight arrow style.
[0262] Step 2: The client-side animation shows the plus button disappearing;
[0263] Step 3: The client draws a blue background and an animation appears;
[0264] Step 4: The client draws an arrow and an animation appears;
[0265] The following is an animation of the message content being sent from the message input area to the message display area.
[0266] Step 5: The user sends a message to the client;
[0267] In some embodiments, the chat interface includes controls in a first display state. The first display state is the display state of the controls when editing message content, or, more specifically, the display state of the controls before the message content is sent; or, the display state of the controls when the message content is in the message input area. The first display state corresponds to the message sending function. The message sending function refers to the ability of the user to send message content through the controls.
[0268] Step 6: Obtain the animation endpoint: Calculate the endpoint position of the message content in the message display area;
[0269] Optionally, in response to a first trigger operation on a control in the first display mode, the message content is sent from the message input area in the chat interface to the message display area in the chat interface, and an animation effect is displayed showing the message content being sent from the starting position in the message input area to the ending position in the message display area.
[0270] In some embodiments, an animation effect is achieved by sending message content from a starting position in the message input area to an ending position in the message display area based on a first Bézier curve. Optionally, the first Bézier curve is determined based on three key points: the starting position of the message content in the message input area, the ending position of the message content in the message display area, and the position of a control point in the message display area. Optionally, the trajectory and direction of the first Bézier curve are determined based on the three key points.
[0271] Step 7: Obtain the animation starting point: Calculate the starting position of the message content in the message input area;
[0272] Step 8: Obtain the curve control point: Use a second-order Bézier curve to select a control point to smooth the motion trajectory and control the direction of the curve;
[0273] Step 9: Begin drawing the animation;
[0274] Optionally, the client can draw an animation of the message content being sent from the starting position in the message input area to the ending position in the message display area, based on the animation start point and animation end point.
[0275] The following is a countdown animation.
[0276] Step 10: Start the timer;
[0277] Optionally, the timer is used to record the effective duration of the message content. The effective duration is at least one of a first duration (effective recall duration), a second duration, and a third duration. Alternatively, the effective duration is the intersection of at least two of the first duration, the second duration, and the third duration; or, the effective duration is the intersection of three of the first duration, the second duration, and the third duration. This application does not limit this.
[0278] The first duration is the effective recall duration of the message content. The second duration is the time from the start of the first triggering operation to the end of the editing operation of the next message content. The third duration is the time from the start of the first triggering operation to the end of the second triggering operation.
[0279] Step 11: Draw a progress indicator message based on the timer's duration;
[0280] In some embodiments, the effective withdrawal period is described as the valid duration. Optionally, whether it is within the valid withdrawal period is determined based on the timer's time. In response to being within the valid withdrawal period, progress information is displayed around the message content, which indicates the progress of the message content's valid withdrawal period.
[0281] Step 12: Draw the countdown information based on the timer's duration;
[0282] In some embodiments, the effective withdrawal period is described as a valid duration. Optionally, whether it is within the valid withdrawal period is determined based on the timer's time, and in response to being within the valid withdrawal period, countdown information for the valid withdrawal period is displayed based on the control. The countdown information includes, but is not limited to, at least one of the following: countdown progress, countdown percentage, and countdown value.
[0283] For example, consider a countdown timer that includes the countdown progress. The countdown progress is displayed around the control, along with an animation effect showing the countdown progress gradually increasing in a clockwise or counter-clockwise direction. Specifically, in response to the gradually increasing effective duration of the valid withdrawal period, the animation effect shows the countdown progress gradually increasing in a clockwise or counter-clockwise direction, with the countdown progress being positively correlated with the effective duration.
[0284] The following is an animation showing the message content being moved from the message display area to the message input area.
[0285] Step 13: Recall the message content;
[0286] In some embodiments, the chat interface includes controls in a second display state. The first display state corresponds to the message recall function. The message recall function refers to the ability for users to recall message content using controls.
[0287] Step 14: Obtain the animation endpoint: Calculate the endpoint position of the message content in the message input area;
[0288] Optionally, in response to a second trigger operation on a control in the second display mode, the message content is withdrawn from the message display area in the chat interface to the message input area in the chat interface, and an animation effect is displayed showing the message content being sent from the starting position in the message display area to the ending position in the message input area.
[0289] In some embodiments, an animation effect is achieved by sending message content from a starting position in the message display area to an ending position in the message input area based on a second Bézier curve. Optionally, the second Bézier curve is determined based on three key points: the starting position of the message content in the message display area, the ending position of the message content in the message input area, and the position of a control point in the message display area. Optionally, the trajectory and direction of the second Bézier curve are determined based on these three key points.
[0290] It should be noted that the first Bézier curve and the second Bézier curve can be the same Bézier curve or different Bézier curves, and this application does not limit this.
[0291] Step 15: Obtain the animation starting point: Calculate the starting position of the message content in the message display area;
[0292] Step 16: Obtain the curve control point: Use a second-order Bézier curve to select a control point to smooth the motion trajectory and control the curve direction;
[0293] Step 17: Begin drawing the animation.
[0294] Optionally, the client can draw an animation of the message content being sent from the starting position in the message display area to the ending position in the message input area, based on the animation start point and the animation end point.
[0295] Figure 18 A structural block diagram of a message processing apparatus according to an embodiment of this application is shown. This apparatus has the functionality to implement the message processing method example described above; the functionality can be implemented in hardware or by hardware executing corresponding software. This apparatus can be the first client described above, or it can be located within the first client. Figure 18 As shown, the device may include: a display module 1710, a switching module 1720, and a retraction module 1730.
[0296] Display module 1710 is used to display the chat interface of the first account. The chat interface includes controls in a first display mode, and the first display mode corresponds to the message sending function.
[0297] The switching module 1720 is used to respond to a first trigger operation on the control in the first display mode, send the message content to the chat interface, and switch the control from the first display mode to the second display mode, the second display mode corresponding to the message recall function;
[0298] The recall module 1730 is used to recall all or part of the sent message content from the chat interface in response to a second trigger operation on a control in the second display mode.
[0299] In some embodiments, the switching module 1720 further includes a switching submodule.
[0300] In an optional example, a switching submodule is configured to switch the control from the first display mode to the second display mode at the triggering time of the first triggering operation, and to maintain the control in the second display mode for a valid duration starting from the triggering time.
[0301] In an optional example, at the moment the first triggering operation is triggered, the arrow style of the control is switched from the arrow style in the first direction to the arrow style in the second direction;
[0302] At the moment the first triggering operation is triggered, the display size of the control is switched from the first size to the second size.
[0303] At the moment the first triggering operation is triggered, the display color of the control is switched from the first hue to the second hue.
[0304] At the moment the first triggering operation is triggered, the display shape of the control is switched from the first type of display shape to the second type of display shape;
[0305] At the moment the first triggering operation is triggered, the display animation of the control is switched from the first type of display animation to the second type of display animation;
[0306] At the moment the first triggering operation is triggered, the displayed text of the control is switched from the first content to the second content.
[0307] In one optional example, the effective duration is the intersection of one or more of the following durations;
[0308] The first duration is the effective withdrawal duration of the message content;
[0309] The second duration is the duration from the start of the first triggering operation to the end of the editing operation after receiving the next message content;
[0310] The third duration is the time from the start of the first triggering operation to the end of the second triggering operation.
[0311] In an optional example, a switching submodule is used to switch the control from the second display mode to the first display mode when the effective duration expires.
[0312] In some embodiments, the display module 1710 further includes a display submodule.
[0313] In an optional example, a submodule is displayed for displaying countdown information for the first duration based on the control;
[0314] The countdown information for the first duration includes at least one of the following: countdown progress, countdown percentage, and countdown value.
[0315] In some embodiments, the display submodule further includes a display unit.
[0316] In an optional example, the countdown information for the first duration includes the progress of the countdown;
[0317] The display unit is used to display the progress of the countdown around the control, and to display an animation effect in which the progress of the countdown gradually increases in a clockwise or counterclockwise direction.
[0318] In an optional example, a display submodule is used to display progress information around the message content, the progress information indicating the progress of the message content for a first duration.
[0319] In an optional example, the second display form includes an initial display form and an animation sequence that transitions from the initial display form to the first display form;
[0320] The display submodule is used to gradually change the second display form to the first display form as the effective duration increases.
[0321] In an optional example, the first display form includes an arrow style in a first direction, and the second display form includes an arrow style in a second direction and an animation sequence that transitions from the arrow style in the second direction to the arrow style in the first direction.
[0322] The display unit is used to display an animation sequence in which the control gradually changes from an arrow style in the second direction to an arrow style in the first direction as the effective duration increases.
[0323] In some embodiments, the withdrawal module 1730 further includes a withdrawal submodule.
[0324] In an optional example, the number of message contents is i, where i is a positive integer greater than 1;
[0325] The recall submodule is used to respond to a second trigger operation on the control of the second display form to recall the j-th message content that has been sent from the chat interface, where j is a positive integer less than i;
[0326] The j-th message content includes at least one of the following: the message content with the most recent sending time among the i-th message content; the selected message content among the i-th message content.
[0327] In an optional example, a display submodule is configured to, within the effective duration, highlight the selected subset of strings in response to a selection operation for a subset of strings in the message content;
[0328] The withdraw submodule is used to respond to a second trigger operation on a control in the second display mode to display the chat interface to withdraw the subset of strings.
[0329] In an optional example, a submodule is displayed to display an animation effect that sends the message content from the message input area to the message display area in response to a first trigger operation on a control of the first display mode.
[0330] The display submodule is used to respond to a second trigger operation on the control of the second display mode to display an animation effect that withdraws all or part of the message content from the message display area to the message input area.
[0331] It should be noted that the specific limitations of the embodiments of the one or more message processing devices provided above can be found in the limitations of the message processing methods above, and will not be repeated here. Each module of the above-mentioned device can be implemented entirely or partially by software, hardware, or a combination thereof. Each module can be embedded in the processor of the computer device in hardware form or independent of the processor of the computer device, or it can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.
[0332] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0333] This application also provides a computer device, which includes a processor and a memory. The memory stores at least one computer program, which is loaded and executed by the processor to implement the message processing methods provided in the above-described method embodiments.
[0334] Figure 19 This illustration shows a structural block diagram of a computer device 2800 provided in an exemplary embodiment of this application. The computer device 2800 may be a portable mobile terminal, such as a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), or MP4 player (Moving Picture Experts Group Audio Layer IV). The computer device 2800 may also be referred to as a user device, portable terminal, or other names. Typically, the computer device 2800 includes a processor 2801 and a memory 2802.
[0335] Processor 2801 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 2801 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 2801 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 2801 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 2801 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0336] The memory 2802 may include one or more computer-readable storage media, which may be tangible and non-transitory. The memory 2802 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 2802 is used to store at least one instruction, which is executed by the processor 2801 to implement the message processing method provided in the embodiments of this application.
[0337] In some embodiments, the computer device 2800 may optionally include a peripheral device interface 2803 and at least one peripheral device. The processor 2801, memory 2802, and peripheral device interface 2803 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 2803 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 2804, a touch display screen 2805, a camera assembly 2806, an audio circuit 2807, and a power supply 2808.
[0338] Peripheral device interface 2803 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 2801 and memory 2802. In some embodiments, processor 2801, memory 2802 and peripheral device interface 2803 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 2801, memory 2802 and peripheral device interface 2803 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0339] The radio frequency (RF) circuit 2804 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 2804 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 2804 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 2804 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 2804 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or Wi-Fi (Wireless Fidelity) networks. In some embodiments, the RF circuit 2804 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0340] The touch display screen 2805 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. The touch display screen 2805 also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to the processor 2801 for processing. The touch display screen 2805 is used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one touch display screen 2805, located on the front panel of the computer device 2800; in other embodiments, there may be at least two touch display screens, respectively located on different surfaces of the computer device 2800 or in a folded design; in some embodiments, the touch display screen 2805 may be a flexible display screen, located on a curved or folded surface of the computer device 2800. Furthermore, the touch display screen 2805 may be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The touch display screen 2805 may be made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).
[0341] The camera assembly 2806 is used to acquire images or videos. Optionally, the camera assembly 2806 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is used for video calls or selfies, and the rear-facing camera is used for taking photos or videos. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, and a wide-angle camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, and panoramic shooting and VR shooting by fusion of the main camera and the wide-angle camera. In some embodiments, the camera assembly 2806 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash is a combination of a warm-light flash and a cool-light flash, which can be used for light compensation at different color temperatures.
[0342] Audio circuitry 2807 provides an audio interface between the user and computer device 2800. Audio circuitry 2807 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to processor 2801 for processing, or input to radio frequency circuitry 2804 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each located at a different location on the computer device 2800. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from processor 2801 or radio frequency circuitry 2804 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, audio circuitry 2807 may also include a headphone jack.
[0343] Power supply 2808 is used to supply power to the various components in computer device 2800. Power supply 2808 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 2808 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0344] In some embodiments, the computer device 2800 further includes one or more sensors 2809. The one or more sensors 2809 include, but are not limited to, an accelerometer 2810, a gyroscope 2811, a pressure sensor 2812, an optical sensor 2813, and a proximity sensor 2814.
[0345] Accelerometer 2810 can detect the magnitude of acceleration on the three coordinate axes of a coordinate system established by computer device 2800. For example, accelerometer 2810 can be used to detect the components of gravitational acceleration on the three coordinate axes. Processor 2801 can control touch screen 2805 to display the user interface in landscape or portrait view based on the gravitational acceleration signal collected by accelerometer 2810. Accelerometer 2810 can also be used for games or to collect user motion data. Gyroscope 2811 can detect the orientation and rotation angle of computer device 2800. Gyroscope 2811 can work in conjunction with accelerometer 2810 to collect 3D movements of the user on computer device 2800. Based on the data collected by gyroscope 2811, processor 2801 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
[0346] The pressure sensor 2812 can be disposed on the side bezel of the computer device 2800 and / or on the lower layer of the touch display screen 2805. When the pressure sensor 2812 is disposed on the side bezel of the computer device 2800, it can detect the user's grip signal on the computer device 2800 and perform left / right hand recognition or quick operation based on the grip signal. When the pressure sensor 2812 is disposed on the lower layer of the touch display screen 2805, it can control operable controls on the UI interface based on the user's pressure operation on the touch display screen 2805. Operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0347] Optical sensor 2813 is used to collect ambient light intensity. In one embodiment, processor 2801 can control the display brightness of touch display screen 2805 based on the ambient light intensity collected by optical sensor 2813. Specifically, when the ambient light intensity is high, the display brightness of touch display screen 2805 is increased; when the ambient light intensity is low, the display brightness of touch display screen 2805 is decreased. In another embodiment, processor 2801 can also dynamically adjust the shooting parameters of camera assembly 2806 based on the ambient light intensity collected by optical sensor 2813.
[0348] The proximity sensor 2814, also known as a distance sensor, is typically located on the front of the computer device 2800. The proximity sensor 2814 is used to detect the distance between the user and the front of the computer device 2800. In one embodiment, when the proximity sensor 2814 detects that the distance between the user and the front of the computer device 2800 is gradually decreasing, the processor 2801 controls the touch display screen 2805 to switch from a screen-on state to a screen-off state; when the proximity sensor 2814 detects that the distance between the user and the front of the computer device 2800 is gradually increasing, the processor 2801 controls the touch display screen 2805 to switch from a screen-off state to a screen-on state.
[0349] Those skilled in the art will understand that the above structure does not constitute a limitation on the computer device 2800, and may include more or fewer components than shown, or combine certain components, or employ different component arrangements.
[0350] This application also provides a computer-readable storage medium storing at least one computer program, which is loaded and executed by a processor to implement the message processing methods provided in the above-described method embodiments.
[0351] This application also provides a computer program product, which includes at least one computer program stored in a computer-readable storage medium; the at least one computer program is read from and executed by a processor of a computer device from the computer-readable storage medium, causing the computer device to perform the message processing methods provided in the above-described method embodiments.
[0352] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.
[0353] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0354] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent switching, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A message processing method, characterized in that, The method is executed by a first client, which is logged into a first account. The method includes: The chat interface of the first account is displayed. The chat interface includes controls in a first display mode, and the first display mode corresponds to the message sending function. In response to a first trigger operation on the control in the first display mode, the message content is sent to the chat interface, and the control is switched from the first display mode to the second display mode, the second display mode corresponding to the message recall function; In response to a second trigger operation on a control in the second display mode, all or part of the sent message content is withdrawn from the chat interface.
2. The method according to claim 1, characterized in that, Switching the control from the first display mode to the second display mode includes: At the triggering time of the first triggering operation, the control is switched from the first display mode to the second display mode, and the control remains in the second display mode for the effective duration of the timer starting at the triggering time.
3. The method according to claim 2, characterized in that, Switching the control from the first display mode to the second display mode at the triggering time of the first triggering operation includes at least one of the following: At the moment the first triggering operation is triggered, the arrow style of the control is switched from the arrow style in the first direction to the arrow style in the second direction; At the moment the first triggering operation is triggered, the display size of the control is switched from the first size to the second size. At the moment the first triggering operation is triggered, the display color of the control is switched from the first hue to the second hue. At the moment the first triggering operation is triggered, the display shape of the control is switched from the first type of display shape to the second type of display shape; At the moment the first triggering operation is triggered, the display animation of the control is switched from the first type of display animation to the second type of display animation; At the moment the first triggering operation is triggered, the displayed text of the control is switched from the first content to the second content.
4. The method according to claim 2 or 3, characterized in that, The effective duration is the intersection of one or more of the following durations; The first duration is the effective withdrawal duration of the message content; The second duration is the duration from the start of the first triggering operation to the end of the editing operation after receiving the next message content; The third duration is the time from the start of the first triggering operation to the end of the second triggering operation.
5. The method according to any one of claims 2 to 4, characterized in that, The method further includes: If the effective duration expires, the control will be switched from the second display mode to the first display mode.
6. The method according to claim 3 or 4, characterized in that, The method further includes: The control displays countdown information for the first duration. The countdown information for the first duration includes at least one of the following: countdown progress, countdown percentage, and countdown value.
7. The method according to claim 6, characterized in that, The countdown information for the first duration includes the progress of the countdown; The step of displaying countdown information for the first duration based on the control includes: The countdown progress is displayed around the control, and an animation effect is shown showing the countdown progress gradually increasing in a clockwise or counterclockwise direction.
8. The method according to claim 6 or 7, characterized in that, The method further includes: Progress information is displayed around the message content, and the progress information is used to indicate the progress information of the first duration corresponding to the message content.
9. The method according to any one of claims 1 to 8, characterized in that, The second display form includes an initial display form and an animation sequence that transitions from the initial display form to the first display form; the method further includes: As the effective duration increases, the second display mode gradually changes back to the first display mode.
10. The method according to claim 9, characterized in that, The first display form includes an arrow pattern in a first direction, and the second display form includes an arrow pattern in a second direction and an animation sequence that gradually transitions from the arrow pattern in the second direction to the arrow pattern in the first direction. As the effective duration increases, the second display form gradually changes towards the first display form, following the increase in the effective duration. This includes: As the effective duration increases, an animation sequence is displayed in which the control gradually changes from an arrow style in the second direction to an arrow style in the first direction.
11. The method according to any one of claims 1 to 10, characterized in that, The number of message contents is i, where i is a positive integer greater than 1; The second trigger operation in response to the control in the second display mode, retracting all content of the sent message from the chat interface, includes: In response to a second trigger operation on a control in the second display mode, the content of the j-th message that has been sent is withdrawn from the chat interface, where j is a positive integer less than i; The j-th message content includes at least one of the following: the message content with the most recent sending time among the i-th message content; the selected message content among the i-th message content.
12. The method according to any one of claims 1 to 10, characterized in that, The method further includes: During the effective duration, in response to a selection operation on a subset of strings in the message content, the selected subset of strings is highlighted; The second trigger operation in response to the control in the second display mode, retracting a portion of the sent message content from the chat interface, includes: In response to a second trigger operation on a control in the second display mode, the chat interface is displayed to retract the subset of strings.
13. The method according to any one of claims 1 to 11, characterized in that, The first trigger operation in response to the control in the first display mode, sending message content to the chat interface, includes: In response to a first trigger operation on a control in the first display mode, an animation effect is displayed that sends the message content from the message input area to the message display area.
14. The method according to any one of claims 1 to 11, characterized in that, In response to a second trigger operation on a control in the second display mode, all or part of the sent message content is withdrawn from the chat interface, including: In response to a second trigger operation on a control in the second display mode, an animation effect is displayed that withdraws all or part of the message content from the message display area to the message input area.
15. A message processing device, characterized in that, The device includes: The display module is used to display the chat interface of the first account. The chat interface includes controls in a first display mode, and the first display mode corresponds to the message sending function. The switching module is used to respond to a first trigger operation on the control of the first display mode, send the message content to the chat interface, and switch the control from the first display mode to the second display mode, the second display mode corresponding to the message recall function; The recall module is used to recall all or part of the sent message content from the chat interface in response to a second trigger operation on a control in the second display mode.
16. A computer device, characterized in that, The computer device includes a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the message processing method as described in any one of claims 1 to 14.
17. A computer storage medium, characterized in that, The computer-readable storage medium stores at least one computer program, which is loaded and executed by a processor to implement the message processing method as described in any one of claims 1 to 14.
18. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium; the computer program is read from and executed by a processor of a computer device, causing the computer device to perform the message processing method as described in any one of claims 1 to 14.