Interaction processing method and apparatus for mini-programs, and electronic device, computer-readable storage medium and computer program product
By explicitly creating controls in a subroutine and sending interactive programs directly to the client, the problem of weak integration between the subroutine and the client is solved, improving interaction efficiency and system stability, simplifying the process, and reducing resource consumption and latency.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2025-11-12
- Publication Date
- 2026-07-02
AI Technical Summary
In existing technologies, the openness of subroutines and clients is relatively weak, which means that interaction needs to be achieved by downloading third-party software, increasing system resource consumption and data processing overhead, and reducing system real-time performance and interaction efficiency.
By displaying the creation control in the first subroutine, responding to user actions by displaying a list of contact objects and highlighting the selected object, and directly sending the second subroutine to the client for interaction, the communication link between the subroutine and the client is optimized, reducing network requests and data transfers.
It improves the relevance between subroutines and clients, simplifies the interaction creation process, reduces system resource consumption and data processing overhead, enhances system stability and interaction efficiency, shortens data transmission paths, and reduces response latency.
Smart Images

Figure CN2025134392_02072026_PF_FP_ABST
Abstract
Description
Interactive processing methods, apparatuses, electronic devices, computer-readable storage media, and computer program products of subroutines
[0001] Cross-references to related applications
[0002] This application is based on and claims priority to Chinese Patent Application No. 2024119345623, filed on December 25, 2024, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of instant messaging technology, and in particular to an interactive processing method, apparatus, electronic device, computer-readable storage medium, and computer program product for a subroutine. Background Technology
[0004] With the widespread adoption of mobile applications, subroutines, as lightweight applications, are increasingly favored by developers and users. They are easy to develop, deploy, and distribute, require no download or installation from users, have a clean user interface, and provide a good user experience. In instant messaging and social applications, subroutines are frequently used to implement specific interactions, such as games, polls, and check-ins.
[0005] In related technologies, the open capabilities of subroutines and their integration with the client-side of the contact object are weak. This necessitates the download of third-party software for client-side interactions, resulting in low subroutine utilization and a cumbersome interaction creation process. Downloading third-party software increases the resource consumption of the computer system. The download, installation, and operation of third-party software consume additional storage space, memory, and processor resources, which can easily lead to system lag and slow response times, especially on resource-constrained devices. Furthermore, the multiple data transfers between the client, third-party software, and subroutines generate redundant network requests and data processing operations, increasing internal data flow overhead, reducing data processing efficiency, prolonging interaction response time, and impacting the system's real-time performance. Summary of the Invention
[0006] In view of this, embodiments of this application provide a method, apparatus, electronic device, computer-readable storage medium, and computer program product for processing interactive subroutines, which can improve the relevance between subroutines and clients and quickly create interactions.
[0007] The technical solution of this application embodiment is implemented as follows:
[0008] This application provides an interactive processing method for a subroutine, the method being executed by an electronic device, the method comprising:
[0009] Display the first subroutine, wherein the first subroutine includes at least one creation control corresponding to each interaction;
[0010] In response to a triggering operation on a first creation control, a list of contact objects is displayed, wherein the first creation control is any one of at least one of the creation controls, the first creation control corresponds to a first interaction, and the first interaction is any one of the at least one interaction;
[0011] In response to a selection operation in the list of contact objects, at least one selected contact object is highlighted;
[0012] In response to the trigger operation, a second subroutine is sent to the client corresponding to each of the at least one contact object, wherein the second subroutine is used to perform the first interaction.
[0013] This application provides an interactive processing device for subroutines, the device comprising:
[0014] The first display module is configured to display a first subroutine, wherein the first subroutine includes at least one creation control corresponding to each interaction;
[0015] The second display module is configured to display a list of contact objects in response to a trigger operation on the first creation control, wherein the first creation control is any one of at least one of the creation controls, the first creation control corresponds to a first interaction, and the first interaction is any one of the at least one interaction;
[0016] The third display module is configured to highlight at least one selected contact in response to a selection operation in the list of contact objects;
[0017] The information sending module is configured to send a second subroutine to the client corresponding to each of the at least one contact object in response to a sending trigger operation, wherein the second subroutine is used to perform the first interaction.
[0018] This application provides an electronic device, the electronic device comprising:
[0019] Memory is used to store executable instructions or computer programs.
[0020] The processor, when executing computer-executable instructions or computer programs stored in the memory, implements the interactive processing method of subroutines provided in the embodiments of this application.
[0021] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the interactive processing method of the subroutine provided in this application when executed by a processor.
[0022] This application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, they implement the interactive processing method of subroutines provided in this application.
[0023] The embodiments of this application have the following beneficial effects:
[0024] In response to a trigger operation on the first creation control in the first subroutine, a list of contact objects is displayed, where the first creation control corresponds to the first interaction. In response to a selection operation in the contact object list, at least one selected contact object is highlighted. In response to a send trigger operation, a second subroutine is sent to the client corresponding to each of the at least one contact object, where the second subroutine is used to perform the first interaction. The first subroutine quickly creates the second subroutine for the interaction in the client of the contact object, improving the efficiency of interaction creation by enhancing the correlation between the subroutine and the client. The communication link between the subroutine and the client is optimized, ensuring direct data transmission and parsing during interaction creation, avoiding compatibility risks caused by third-party adaptation issues, reducing the complexity of technical implementation, and enhancing the stability and scalability of the system. The first subroutine simplifies the interaction creation process, reducing system resource consumption and data processing overhead, eliminating the need to download third-party software, saving storage space and memory usage, reducing the processor's scheduling pressure on redundant processes, and improving system operating efficiency. From triggering the first creation control and selecting the contact to sending the second subroutine, data flows only between the first subroutine and the target client, reducing unnecessary network requests and data transfers, shortening the data transmission path, and improving the real-time performance of data processing. Furthermore, the second subroutine is sent directly to the contact's client, allowing for rapid loading and execution, reducing system response latency, and enhancing overall interactive performance. Attached Figure Description
[0025] Figure 1 is a schematic diagram of the architecture of the interactive processing system 100 for subroutines provided in an embodiment of this application;
[0026] Figure 2 is a structural schematic diagram of the terminal 400-1 provided in an embodiment of this application;
[0027] Figure 3A is a first flowchart of the interactive processing method of the subroutine provided in the embodiment of this application;
[0028] Figure 3B is a second flowchart illustrating the interactive processing method of the subroutine provided in the embodiments of this application;
[0029] Figure 3C is a third flowchart illustrating the interactive processing method of the subroutine provided in the embodiments of this application;
[0030] Figure 3D is a fourth flowchart of the interactive processing method for subroutines provided in the embodiments of this application;
[0031] Figure 3E is a fifth flowchart illustrating the interactive processing method of the subroutine provided in the embodiments of this application;
[0032] Figure 3F is a sixth flowchart of the interactive processing method of the subroutine provided in the embodiments of this application;
[0033] Figure 3G is a seventh flowchart illustrating the interactive processing method of the subroutine provided in the embodiments of this application;
[0034] Figure 3H is a schematic diagram of the eighth process of the interactive processing method of the subroutine provided in the embodiment of this application;
[0035] Figure 3I is a ninth flowchart illustrating the interactive processing method of the subroutine provided in the embodiments of this application;
[0036] Figure 3J is a tenth flowchart of the interactive processing method of the subroutine provided in the embodiment of this application;
[0037] Figure 3K is a schematic diagram of the eleventh step of the interactive processing method of the subroutine provided in the embodiments of this application;
[0038] Figure 3L is a schematic diagram of the twelfth step of the interactive processing method of the subroutine provided in the embodiments of this application;
[0039] Figure 3M is a schematic diagram of the thirteenth step of the interactive processing method of the subroutine provided in the embodiments of this application;
[0040] Figure 4A is a first schematic diagram of sending information to a contact object according to an embodiment of this application;
[0041] Figure 4B is a second schematic diagram of sending information to a contact object according to an embodiment of this application;
[0042] Figure 4C is a schematic diagram of creating an interaction in the first subroutine provided in an embodiment of this application;
[0043] Figure 4D is a schematic diagram of sending the second subroutine provided in an embodiment of this application;
[0044] Figure 4E is a schematic diagram of selecting the interaction type provided in an embodiment of this application;
[0045] Figure 4F is a schematic diagram of selecting a contact object provided in an embodiment of this application;
[0046] Figure 4G is a schematic diagram of selecting a contact object through a search control provided in an embodiment of this application;
[0047] Figure 4H is a schematic diagram of selecting contact objects through a filter control according to an embodiment of this application;
[0048] Figure 4I is a schematic diagram of the update of the number of interactive objects provided in an embodiment of this application;
[0049] Figure 4J is a schematic diagram of the process of completing an interaction between the contact objects provided in an embodiment of this application;
[0050] Figure 4K is a schematic diagram of the first interaction being in an ended state according to an embodiment of this application;
[0051] Figure 4L is a schematic diagram showing that the newly added contact object cannot trigger the second subroutine according to the embodiment of this application;
[0052] Figure 4M is a schematic diagram of sending prompt information provided in an embodiment of this application;
[0053] Figure 4N is a schematic diagram of returning to the first subroutine provided in an embodiment of this application;
[0054] Figure 5A is a first schematic diagram of a subroutine for sending subroutines to group members provided in an embodiment of this application;
[0055] Figure 5B is a second schematic diagram of sending a subroutine to group members according to an embodiment of this application;
[0056] Figure 6 is a schematic diagram of sharing multiple types of information provided in an embodiment of this application;
[0057] Figure 7 is a schematic diagram of sending activity reminders provided in an embodiment of this application;
[0058] Figure 8 is a schematic diagram of completing group check-in according to an embodiment of this application;
[0059] Figure 9 is an interactive schematic diagram of group member selection provided in an embodiment of this application;
[0060] Figure 10 is an interactive schematic diagram of sending media messages provided in an embodiment of this application;
[0061] Figure 11 is an interactive schematic diagram of sending prompt information provided in an embodiment of this application;
[0062] Figure 12 is a schematic diagram of the state changes of the participants provided in the embodiments of this application.
[0063] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation
[0064] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0065] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0066] In the following description, the terms "first / second / third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0067] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0068] Unless otherwise specified, "at least one" as used below refers to one or more cases, and "multiple" can refer to two or more cases.
[0069] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.
[0070] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.
[0071] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
[0072] 1) Responding to: used to indicate the conditions or states on which the operation is performed depends. When the conditions or states on which it depends are met, one or more operations can be performed in real time or with a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations are performed.
[0073] 2) Human-computer interaction interface, which is used to provide human-computer interaction functions / display subroutine information.
[0074] For example, graphical user interfaces (GUIs) include augmented reality (AR) interfaces, virtual reality (VR) interfaces, voice user interfaces (VUIs), interactive projection interfaces (using projection technology to display information on a flat surface), eye-tracking interfaces (interfaces controlled by detecting the user's gaze), holographic interfaces (three-dimensional holograms formed by projecting images using holographic projection technology, allowing users to see stereoscopic images without wearing special glasses), multimodal interfaces (interfaces that combine multiple interaction methods, such as tactile, visual, and auditory interaction), and brain-machine interfaces (BMIs).
[0075] 3) A subroutine is a lightweight application that does not require user download and installation. It is typically opened quickly by scanning a QR code, clicking a link, or searching. For example, a subroutine can be a mini-program. The opposite concept to a mini-program is a parent program or host program. A mini-program runs in a browser environment, while the parent program is the program that provides the browser environment for the mini-program to run.
[0076] 4) Interaction refers to two-way communication or operation between the user and the subroutine. It allows users to interact with the subroutine, perform specific operations, or participate in certain activities. Types of interaction include any of the following: check-in, voting, statistics, lottery, registration, and group buying.
[0077] 5) The number of interactive objects refers to the number of contacts who have completed a specific interaction. The initial value of the number of interactive objects is usually set to zero, indicating that no contacts are interacting at the start of the interaction. As contacts complete their first interaction in the second subroutine, the number of interactive objects will be dynamically updated based on the number of users who have completed the interaction.
[0078] 6) A local contact object identifier is a unique identifier used to represent and identify a contact object within a specific group session. The local contact object identifier differs in different group sessions for the same contact object. Local contact object identifiers have the following characteristics:
[0079] Local uniqueness: Within the same group session, the local contact object identifier of each contact object is unique.
[0080] Variability: If the contact object exists in different group sessions, a new local contact object identifier is generated for each group session.
[0081] 7) A Global Contact Object Identifier (GPI) is an identifier used to uniquely identify a contact object throughout the entire system or across multiple group sessions. It is independent of a specific group session but is associated with the overall identity of the contact object. The GPI has the following characteristics:
[0082] Global uniqueness: The global contact object identifier is unique throughout the entire system and will not change due to changes in group sessions.
[0083] Persistence: Global contact object identifiers are typically persistent; the identifier remains unchanged even if the contact object's data changes in other ways.
[0084] Identification consistency: Global contact object identification ensures that the same contact object can always be consistently identified across different group sessions.
[0085] 8) The initiating object refers to the user or entity that initiates or creates the first interaction and invites other participants to participate. The initiating object is typically the creator or organizer of the interaction; they can initiate the interaction through a subroutine and record its progress and results. The number of interacting objects is displayed in the initiating object's client's second subroutine.
[0086] 9) A text component is a predefined UI element used to display and edit text content in the user interface. Text components include forms for inputting and displaying text, and text boxes. Forms are used to contain and submit data within the text component. Text boxes are used to input or view text; text boxes typically come in single-line and multi-line formats to meet different text input needs.
[0087] Features of the text component:
[0088] Interactivity: The text component allows users to interact with the text, such as inputting, editing, and displaying the text.
[0089] Customizability: Text components can often be customized to meet the needs of developers or designers, including style, layout, and functionality.
[0090] Data binding: The text component can be bound to backend data to display text data retrieved from the server or to send text data entered by the user to the server.
[0091] In related technologies, the open capabilities of subroutines and their integration with the client of the contact object are weak, which means that interactions in the client need to be achieved by downloading third-party software, resulting in low utilization of subroutines and a cumbersome interaction creation process.
[0092] Based on the above analysis, the applicant found that the interaction processing method of subroutines in related technologies cannot quickly establish interaction in the client through subroutines. In order to address the above problem, the embodiments of this application provide an interaction processing method for subroutines, which can improve the relevance between subroutines and the client and quickly create interaction.
[0093] The following describes exemplary applications of the electronic devices provided in the embodiments of this application. These electronic devices can be implemented as various types of terminals such as laptops, tablets, desktop computers, set-top boxes, smartphones, smart speakers, smartwatches, smart TVs, and in-vehicle terminals, or as servers. The following will describe exemplary applications when the electronic device is implemented as a terminal.
[0094] Referring to Figure 1, which is a schematic diagram of the architecture of the interactive processing system 100 for a subroutine provided in an embodiment of this application, in order to support the interactive processing application of a subroutine, the terminal (terminal 400-1 and terminal 400-2 are shown as examples) connects to the server 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of both.
[0095] Terminal 400-1 is used to display a first subroutine on human-computer interaction interface 410-1; in response to a trigger operation for a first creation control, display a list of contact objects, wherein the first creation control corresponds to the first interaction; in response to a selection operation in the list of contact objects, highlight at least one selected contact object; in response to a send trigger operation, send a second subroutine to the client corresponding to at least one contact object, wherein the second subroutine is used to perform the first interaction.
[0096] In some embodiments, server 200 and network 300 synchronize the second subroutine to terminal 400-2, which is used to display the second subroutine on the client corresponding to at least one contact object in human-computer interaction interface 410-2.
[0097] In some embodiments, server 200 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. Terminals and servers can be connected directly or indirectly via wired or wireless communication, which is not limited in this embodiment.
[0098] Referring to Figure 2, which is a schematic diagram of the structure of a terminal 400-1 provided in an embodiment of this application, the terminal 400-1 shown in Figure 2 includes: at least one processor 410, a memory 450, at least one network interface 420, and a user interface 430. The various components in the terminal 400-1 are coupled together through a bus system 440. It is understood that the bus system 440 is used to implement communication between these components. In addition to a data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as bus system 440 in Figure 2.
[0099] The processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0100] User interface 430 includes one or more output devices 431 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. User interface 430 also includes one or more input devices 432, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
[0101] The memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 450 may optionally include one or more storage devices physically located away from the processor 410.
[0102] The memory 450 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 450 described in this application embodiment is intended to include any suitable type of memory.
[0103] In some embodiments, memory 450 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.
[0104] Operating system 451 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;
[0105] The network communication module 452 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 420, exemplary network interfaces 420 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc.
[0106] Presentation module 453 is configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more output devices 431 (e.g., a display screen, a speaker, etc.) associated with user interface 430;
[0107] The input processing module 454 is used to detect and translate one or more user inputs or interactions from one or more input devices 432.
[0108] In some embodiments, the apparatus provided in this application can be implemented in software. FIG2 shows an interactive processing apparatus 455 for subroutines stored in memory 450, which can be software in the form of programs and plug-ins, including the following software modules: a first display module 4551, a second display module 4552, a third display module 4553, and an information sending module 4554. These modules are logically related and can therefore be arbitrarily combined or further divided according to the functions they implement. The functions of each module will be described below.
[0109] In some embodiments, the terminal or server can implement the interactive processing method of the subroutines provided in this application by running various computer-executable instructions or computer programs. For example, computer-executable instructions can be microprogram-level commands, machine instructions, or software instructions. Computer programs can be native programs or software modules in an operating system; they can be native applications (APPs), i.e., programs that need to be installed in the operating system to run, such as instant messaging APPs; or they can be subroutines that can be embedded in any APP, i.e., programs that only need to be downloaded to a browser environment to run. In summary, the aforementioned computer-executable instructions can be any form of instruction, and the aforementioned computer programs can be any form of application, module, or plugin.
[0110] The interactive processing method of the subroutines provided in the embodiments of this application will be described in conjunction with exemplary applications and implementations of the terminals provided in the embodiments of this application.
[0111] Referring to Figure 3A, which is a first flowchart of the interactive processing method of the subroutine provided in the embodiment of this application, the steps shown in Figure 3A will be described with the terminal as the main focus.
[0112] In step 101, a first subroutine is displayed, wherein the first subroutine includes at least one creation control corresponding to each interaction.
[0113] In some embodiments, after the terminal starts, the resource files of the first subroutine (including interface layout, control configuration, interaction type mapping, etc.) are loaded through the built-in subroutine runtime environment. The interface elements of the first subroutine (such as the title bar, function area, and control creation area) are displayed on the terminal's human-computer interaction interface according to preset interface rendering rules. Each control creation is bound to a specific interaction, and the attributes of the control creation (such as icon and text description) correspond to the type of interaction. The first subroutine can dynamically adjust the display order of the controls creation based on the user's historical interaction frequency. For example, it can sort the controls in descending order of historical interaction frequency and use the result of the descending sort as the display order. Custom style settings for controls creation (such as color and size) are supported to adapt to the interface styles of different clients.
[0114] For example, interaction types include any of the following: check-in, voting, statistics, lottery, registration, and group buying. A control is created to select the contact and create the corresponding interaction. The first subroutine is used to create the interaction and select the contact. Subroutines have the following characteristics:
[0115] Instant access: Users can use the app directly by scanning a QR code or clicking a link without having to download and install it from an app store.
[0116] Lightweight: Subroutines typically occupy less storage space and are designed to be simple and lightweight, providing users with a fast startup and smooth operation experience.
[0117] Cross-platform: Subroutines can run on multiple platforms, providing users with a consistent experience across different platforms.
[0118] No maintenance required: Subroutine updates and upgrades are usually handled by the developers, and users can obtain the latest version without any action required.
[0119] Data sharing: Subroutines can share data with other online accounts and services of the user, such as instant messaging accounts and mobile phone contacts.
[0120] Rich functionality: Despite their small size, subroutines can offer a wealth of features, including but not limited to social media, games, online shopping, and service booking.
[0121] Easy to integrate: Subroutines can be easily integrated into existing applications, such as social media platforms and search engines, thereby improving the ease of access and use for users.
[0122] Contextualized applications: Subroutines are typically designed for specific scenarios and needs, such as ticketing, ordering food, and navigation, which helps improve the user's contextualized experience.
[0123] In some embodiments, the first subroutine includes an information sharing control, as shown in Figure 3B. Figure 3B is a second flowchart illustrating the interactive processing method of the subroutine provided in this application embodiment. After step 101, steps 201 to 205 of Figure 3B are executed, as described in detail below.
[0124] In step 201, in response to a trigger operation on the information sharing control, an information editing window is displayed.
[0125] In some embodiments, in response to a trigger operation on the information sharing control, a loading instruction for the information editing window is triggered through a first subroutine, and a preset window layout template (including elements such as input boxes, formatting tools, and confirmation controls) is invoked to display the information editing window.
[0126] For example, triggering actions include, but are not limited to, any of the following: single click, double click, swipe, long press, and drag. The information editing window supports various information types for input, such as text, images, and links, and provides formatting tools, such as font size adjustment, bolding, and emoji insertion.
[0127] Here, the information editing entry point can be embedded in the page of the first subroutine, which includes the information sharing control, or it can be a scrollable view floating above the page. The information editing window is used to edit the information to be sent.
[0128] In step 202, in response to the input operation in the information editing window, the input information is displayed.
[0129] For example, the information type includes at least one of the following: text, image, video, emoticon, and file. If the information type is text or emoticon, the edited information is displayed in response to the editing operation in the information editing window; if the information type is any one of image, video, or file, the uploaded information is displayed in response to the triggering operation of the upload control in the information editing window.
[0130] In step 203, in response to a triggering operation on the confirmation control in the information editing window, a list of contact persons is displayed.
[0131] In some embodiments, the contact list may include all contact objects; may include historical contact objects, wherein the difference between the contact time corresponding to a historical contact object and the current time is less than a duration threshold, and at least one historical contact object is sorted in descending order of contact time from most recent to oldest; and may include contact objects with a contact frequency higher than a frequency threshold, wherein these contact objects are sorted in descending order of contact frequency from highest to lowest.
[0132] For example, taking a contact list that includes historical contacts as an example, the current time is 10:30 on October 16, 2024, the duration threshold is 3 days, the contact time corresponding to historical contact A is 20:00 on October 15, 2024, the contact time corresponding to historical contact B is 10:00 on October 16, 2024, the contact time corresponding to historical contact C is 15:00 on October 15, 2024, and the contact time corresponding to historical contact D is 8:00 on October 14, 2024. Then the sorted result of the historical contacts displayed in the contact list is: historical contact B, historical contact A, historical contact C, historical contact D. Taking a list of contacts that includes contacts with a frequency higher than the frequency threshold as an example, if the frequency threshold is 3 times, the contact frequency of contact object E is 5 times, the contact frequency of contact object F is 7 times, the contact frequency of contact object G is 6 times, and the contact frequency of contact object H is 8 times, then the sorting result of the contact objects in the list with a contact frequency higher than the frequency threshold is: contact object H, contact object F, contact object G, and contact object E.
[0133] In step 204, in response to the selection operation in the list of contact objects, at least one of the selected contact objects is highlighted.
[0134] In some embodiments, individual selection of each contact can be supported, or a select all control can be displayed in the contact list. In response to a triggering operation on the select all control, all contact objects in the contact list are selected, i.e., all contact objects are highlighted. When the number of selected contact objects exceeds a threshold, a collapse prompt is displayed, such as "10 people selected, click to view all".
[0135] For example, the forms of highlighting include at least one of the following: highlighting, magnification, blinking, bolding, and adding a bounding box.
[0136] In step 205, in response to the send trigger operation, information is sent to the client corresponding to at least one contact object.
[0137] In some embodiments, the information editing control includes a send control, which, in response to a triggering operation on the send control, sends information to clients corresponding to at least one contact object.
[0138] For example, referring to Figure 4A, Figure 4A is a first schematic diagram of sending information to a contact according to an embodiment of this application. In the left side view of Figure 4A, a first subroutine 601 is shown, wherein the first subroutine 601 includes an information sharing control 602; in response to a trigger operation on the information sharing control 602, an information editing window 603 is shown in the right side view of Figure 4A; in response to an input operation in the information editing window 603, the input information, such as text 604, is displayed; if the type of information is any one of image, video, or file, in response to a trigger operation on the upload control 605 in the information editing window 603, the uploaded information is displayed. In response to a trigger operation on the confirmation control 606 in the information editing window 603, referring to Figure 4B, which is a second schematic diagram of sending information to contact objects according to an embodiment of this application, the left side of Figure 4B follows the right side of Figure 4A above, showing a contact object list 607; in response to a selection operation in the contact object list 607, at least one selected contact object is highlighted, for example, contact object 608, contact object 609, contact object 610, and contact object 611 are highlighted; in response to a trigger operation on the send control 612, text 604 is sent to the clients corresponding to contact objects 608, 609, 610, and 611 respectively, so that text 604 is displayed in the same group session 613 in the clients corresponding to contact objects 608, 609, 610, and 611 respectively, wherein the group session 613 includes contact objects 608, 609, 610, and 611.
[0139] This application embodiment constructs a complete closed-loop process from information editing to contact selection and information sending through the information sharing control built into the first subroutine. The entire process is completed through the linkage between the first subroutine and the client, without jumping to third-party tools or relying on external software, thus strengthening the deep connection between the subroutine and the client. From triggering the information sharing control to entering information, confirming editing, selecting contact, and finally sending the information, the user's operation path is coherent and concise, reducing unnecessary interaction steps, thereby effectively improving the convenience and efficiency of information sharing, and at the same time increasing the utilization rate of the first subroutine in information sharing scenarios.
[0140] In some embodiments, when the information is text, refer to FIG3C, which is a tenth flowchart of the interactive processing method of the subroutine provided in the embodiments of this application. Step 205 of FIG3B, "In response to the sending trigger operation, send information to the client corresponding to at least one contact object respectively", can be implemented by steps 2051 to 2052 of FIG3C, which will be described in detail below.
[0141] In step 2051, a text component is generated based on the text, wherein the text component includes a form and a text box, and the text box displays text.
[0142] In some embodiments, after obtaining the text entered by the user in the information editing window through the first subroutine, a preset component generation template is called to create a text component including a form frame and a text box. The form frame defines the basic structure of the component (such as layout and border style), and the text box is embedded in the form, filling the text box with the entered text in its original format (such as line breaks and spaces) to ensure that the text is displayed completely.
[0143] For example, text components in forms can have title bars (such as "Share Text") or descriptive text (such as "Shared from a Friend"). Text boxes support adjusting font size and line spacing to suit the display needs of different clients.
[0144] Here, the text box allows users to directly edit text, and the entered text is directly visible on the interface. If the text is tampered with, the user will immediately notice, increasing the transparency of the operation. Using forms can encapsulate the content entered by the user. Forms are usually isolated from the server's processing logic, reducing the chance of directly manipulating the input content. Form submissions usually follow the standard Hypertext Transfer Protocol (HTTP) request process, such as POST requests. The standardized process provides clear rules for data processing, making it difficult for developers to tamper with the text without the user's notice.
[0145] In step 2052, in response to the sending trigger operation for the text component, the text component is sent to the client corresponding to at least one contact object, wherein the text component is used by the client to display text.
[0146] In some embodiments, in response to a send trigger operation for the text component, the text component is packaged into a transmittable data packet via a first subroutine, and the data packet is sent to the client corresponding to the selected contact object via a communication protocol. Upon receiving the data packet, the client parses the form and text box structure, renders and displays the text component according to the style defined for the component, and synchronously displays the text in the text box.
[0147] For example, referring to the right side of Figure 4A, in response to a send trigger operation for a text component, such as in response to a trigger operation for a confirmation control 606, a text component is sent to the client corresponding to at least one contact object, wherein the text component is used for the client to display text, for example, in the right side of Figure 4B, the text "111111" is displayed through the text component.
[0148] This application embodiment encapsulates text into text components including forms and text boxes for transmission, ensuring that the text is displayed in a uniform and standardized style on the contact's client, thus avoiding text formatting issues. At the same time, the direct transmission of text components does not rely on additional format conversion tools, enhancing the collaboration between the first subroutine and the client in text information transmission, and improving the efficiency of text information transmission and display consistency.
[0149] For example, referring to Figure 4C, Figure 4C is a schematic diagram of creating an interaction in a first subroutine according to an embodiment of this application. In the left side view of Figure 4C, the first subroutine 601 is shown, which includes multiple interaction types, such as information sharing, check-in, lottery, chain game, red envelope, voting, group buying, game, and registration. The multiple interaction types include a first interaction type 614 corresponding to the first interaction, for example, the first interaction type can be check-in. In response to the selection operation for the first interaction type 614, in the right side view of Figure 4C, the first creation control 615 is shown, where the first creation control 615 is any one of at least one creation control, and the first creation control 615 corresponds to the first interaction (e.g., check-in). In response to the selection operation in the contact list 607, following the right side view of Figure 4C, referring to Figure 4D, Figure 4D is a schematic diagram of sending a second subroutine according to an embodiment of this application. In the left side view of Figure 4D, at least one selected contact object is highlighted, such as contact object 618, contact object 619, contact object 620, and contact object 621. In response to a send trigger operation, such as a trigger operation on send control 612, a second subroutine 622 is sent to the clients corresponding to contact objects 618, 619, 620, and 621, respectively. Taking the client 621 corresponding to contact object 611 as an example, in the right-hand view of Figure 4D, the second subroutine 622 is displayed in the client 621 corresponding to contact object 611, wherein the second subroutine 622 is used to perform the first interaction.
[0150] Referring again to Figure 3A, in step 102, in response to the triggering operation for the first creation control, a list of contact objects is displayed, wherein the first creation control is any one of at least one creation control, the first creation control corresponds to the first interaction, and the first interaction is any one of at least one interaction.
[0151] In some embodiments, the first subroutine corresponds to multiple interactions. Referring to FIG3D, FIG3D is a third flowchart of the interaction processing method of the subroutine provided in the embodiments of this application. Before step 102, steps 301 to 302 of FIG3D are executed, which are described in detail below.
[0152] In step 301, multiple interaction types are displayed in the first subroutine, wherein the multiple interaction types include the first interaction type corresponding to the first interaction.
[0153] In some embodiments, when the first subroutine is loaded, a preset interactive type configuration list (including interactive type name, identifier, corresponding icon, etc.) is invoked, and multiple interactive types are displayed on the interface according to preset layout rules (such as grid arrangement, list arrangement), with each interactive type presented as an independent element (such as a tab with icon and text).
[0154] Examples of various interaction types include information sharing, check-in, lottery, word chain, red envelopes, voting, group buying, games, and registration.
[0155] In step 302, in response to a selection operation for the first interaction type, a first creation control is displayed.
[0156] In some embodiments, in response to a selection operation for a first interaction type, the creation control configuration information (such as control style and position) bound to the first interaction type is invoked, and the first creation control is rendered and displayed in a specified area of the interface (such as the bottom of the current page or a new page). The first creation control is directly associated with the first interaction.
[0157] For example, see Figure 4E, which is a schematic diagram of selecting an interaction type provided in an embodiment of this application. In the left side of Figure 4E, multiple interaction types are displayed in the first subroutine 601, such as information sharing, check-in, lottery, group buying, red envelope, voting, group purchase, game, and registration. Among these multiple interaction types, there is a first interaction type 614 corresponding to the first interaction, for example, the first interaction type can be check-in. In response to the selection operation for the first interaction type 614, a first creation control 615 is displayed in the right side of Figure 4E.
[0158] This application embodiment first displays multiple interaction types in the first subroutine, and then displays the corresponding first creation control based on the user's selection of the first interaction type. This creates a clear association path between the interaction type and the creation control, allowing the user to intuitively select the target interaction type and trigger the corresponding creation operation. This simplifies the pre-selection process for interaction creation, enhances the usability of the first subroutine in multi-interaction scenarios, and improves the accuracy and efficiency of interaction creation.
[0159] In some embodiments, referring to FIG3E, FIG3E is a fourth flowchart of the interactive processing method of the subroutine provided in the embodiments of this application. Before step 102, steps 401 to 402 of FIG3E are executed, which are described in detail below.
[0160] In step 401, a permission request is sent to the client. The permission request carries the identifier of the first subroutine. The identifier is used by the client to compare with the identifier of the authorized subroutine. If the comparison is consistent, authorization information is sent to the first subroutine.
[0161] Here, the database includes authorized subroutine identifiers. After receiving a permission request, the client compares the permission identifier of the first subroutine carried in the permission request with the authorized subroutines stored in the database one by one. If they match, the client considers the first subroutine to be authorized and sends authorization information to the first subroutine. The authorization information can be a token.
[0162] For example, permission requests can carry a request timestamp. The client verifies the validity of the timestamp while comparing the identifier (e.g., limiting validity to 5 minutes after the request is sent) to prevent expired requests from being abused. A permission request carrying the identifier "HD-2024-001" of the first subroutine is sent to the client. The client compares the permission identifier with each authorized subroutine stored in the database. If HD-2024-001 matches an authorized subroutine, an authorization token TOKEN-123456 is sent to the first subroutine.
[0163] In step 402, in response to receiving authorization information, the client's contact object interface is called through the authorization information. If the client successfully verifies the authorization information, the list of contact objects sent by the client through the contact object interface is obtained.
[0164] Here, after receiving the authorization information, the first subroutine uses the authorization information (such as an access token) to call the contact object interface provided by the client. When calling the interface, the authorization information is included as part of the request to prove its legitimacy. The client verifies the validity of the authorization information, including checking whether the token is valid and expired. If the client successfully verifies the authorization information, it allows the first subroutine to access the contact object interface. The first subroutine then obtains the list of contact objects sent by the client through the contact object interface.
[0165] This application's embodiments ensure that only verified applications can access data by comparing received permission requests with identifiers, preventing unauthorized subroutines or malicious programs from obtaining sensitive information and guaranteeing data security. The authorization process is simplified; once authorized, users no longer need to perform cumbersome verification again. Through an automated authorization verification process, both users and developers can avoid manually handling complex authorization procedures, thereby improving efficiency.
[0166] Referring again to Figure 3A, in step 103, in response to the selection operation in the list of contact objects, at least one of the selected contact objects is highlighted.
[0167] Here, the selection operation can be a touch operation or a voice operation. Taking the selection operation as a touch operation as an example, each contact in the contact list corresponds to a selection control. In response to a trigger operation on at least one selection control, the contact corresponding to the triggered at least one selection control is highlighted. Taking the selection operation as a voice operation as an example, the contact list includes a voice input control. In response to a voice input operation through the voice input control, the at least one contact included in the voice is parsed, the at least one contact included in the voice is automatically selected, and the at least one selected contact is highlighted.
[0168] In some embodiments, the contact list includes at least one group session that the client's currently logged-in account has participated in, as shown in Figure 3F. Figure 3F is a fifth flowchart of the interaction processing method of the subroutine provided in this application embodiment. Step 103 in Figure 3A can be implemented through steps 1031A to 1032A in Figure 3F, as described in detail below.
[0169] In step 1031A, in response to a selection operation for any group session in the contact list, the selected group session is highlighted.
[0170] In some embodiments, multiple group sessions can be selected simultaneously, and each selected group session is highlighted. The number of selected group sessions is counted in real time at the bottom of the interface. Group sessions that the user has not participated in are grayed out and cannot be selected to avoid accidental user operation.
[0171] For example, the contact list includes at least one group session, which could be all group sessions the client's currently logged-in account has ever participated in, group sessions with a time difference within a preset duration from the current time, group sessions with a contact frequency exceeding a frequency threshold, or group sessions saved by the user. The highlighting format includes at least one of the following: highlighting, magnification, blinking, bolding, or adding a bounding box.
[0172] In some embodiments, referring to FIG3G, FIG3G is a sixth flowchart of the interactive processing method of the subroutine provided in the embodiments of this application. Step 1031A of FIG3F can be implemented by steps 10311A to 10312A of FIG3G, which will be described in detail below.
[0173] In step 10311A, in response to a selection operation for any group session, the first subroutine is switched from a first mode to a second mode, wherein the first mode indicates that the first subroutine is not bound to any group session, and the second mode indicates that the first subroutine is bound to the selected group session.
[0174] Here, when the first subroutine is bound to the first group session, in response to the selection operation for the second group session, the binding state between the first subroutine and the first group session is released. At this time, the first subroutine switches from the second mode back to the first mode, and then binds the first subroutine to the second group session, that is, the first subroutine is converted from the first mode to the fourth mode, where the fourth mode represents the binding between the first subroutine and the second group session.
[0175] In step 10312A, the selected group session is highlighted.
[0176] For example, the forms of highlighting include at least one of the following: highlighting, magnification, blinking, bolding, and adding a bounding box.
[0177] This application's embodiments clarify the binding status between the first subroutine and the group session through mode switching, and enhance the user's understanding of the current operation scope through highlighting, avoiding misoperations caused by ambiguity after selecting a group. Simultaneously, the mode-based design makes the functional logic of the first subroutine clearer and the operation flow more directional, improving the accuracy and efficiency of the group session selection process and further optimizing the overall experience of interactive creation.
[0178] Referring again to Figure 3F, in step 1032A, in response to the selection operation for at least one contact in the selected group session, the at least one selected contact is highlighted.
[0179] In some embodiments, in response to a selection operation for at least one contact in a selected group session, the selected contact is highlighted by a specific visual identifier (such as a checkmark, a highlighted icon on an avatar, etc.) while the highlighted state of the selected group session is retained, forming a hierarchical selection identifier.
[0180] For example, the contacts in the selected group session can be sorted according to the following: time of joining the group, first letter of nickname, number of interactions with the initiator, and duration of interaction with the initiator.
[0181] This application embodiment switches the subroutine mode through a simple selection operation, eliminating the need for complex or lengthy steps. This improves the convenience of binding subroutines to specific group sessions and increases the efficiency of mode switching. After selecting another group session, the binding relationship between the first subroutine and the previously selected group session can be automatically released, and it can be bound to the newly selected group session, improving the flexibility of binding.
[0182] In some embodiments, step 103 can be achieved by performing the following process: selecting at least one contact object from the list of contact objects and highlighting the selected at least one contact object.
[0183] For example, the contacts in the contact list can be sorted according to the following: time of joining the group, first letter of nickname, number of interactions with the initiator, and duration of interaction with the initiator.
[0184] As an example, selected contacts can be highlighted using visual differentiation (such as changing background color, adding checkmark icons, or adding borders to avatars). Simultaneously, the number of selected contacts and their brief identifiers (such as initials) can be displayed in a designated area of the interface (such as the bottom status bar). Users can deselect contacts upon subsequent actions, simultaneously removing the highlight. Differentiated highlighting based on contact type (such as individuals or groups) is supported (e.g., blue checkmarks for individuals, green checkmarks for groups). When the number of selected contacts exceeds a threshold, a collapsed selected list control is displayed. In response to triggering the collapse of the selected list control, the selected objects can be collapsed to save interface space.
[0185] In some embodiments, a group session is established based on at least one selected contact object in response to a session establishment triggering operation for at least one selected contact object.
[0186] For example, in response to a selection action for contact A, contact B, contact C, and contact D, contact A, contact B, contact C, and contact D are highlighted; in response to a session establishment trigger action for contact A, contact B, contact C, and contact D, a group session is established based on contact A, contact B, contact C, and contact D.
[0187] In some embodiments, after “establishing a group session based on at least one selected contact object”, the following process may be performed: in response to a send trigger operation, a second subroutine is sent to the client corresponding to each of the at least one contact object to display the second subroutine on the client corresponding to each of the at least one contact object.
[0188] Following the example above, in response to the send trigger operation, a second subroutine is sent to the clients corresponding to contact A, contact B, contact C, and contact D respectively, so as to display the second subroutine in the group chat session.
[0189] This application embodiment establishes a group chat dialogue based on at least one selected contact, and displays a second subroutine in the group chat dialogue. Users can choose the group chat object to send the second subroutine to, and the group chat is automatically created, so that the contact object that receives the second subroutine can quickly collaborate and share information, improving communication efficiency and reducing the cost of manually creating group chats.
[0190] In some embodiments, referring to FIG3H, FIG3H is a seventh flowchart of the interactive processing method of the subroutine provided in the embodiments of this application. Step 103 in FIG3A can be implemented by steps 1031B to 1032B in FIG3H, which will be described in detail below.
[0191] In step 1031B, if there are historical contact objects, the historical contact objects are displayed in the contact object list. The historical contact objects are contact objects that have had a conversation with the initiating object.
[0192] In some embodiments, historical contact objects can be displayed at the top or bottom of the contact object list, which is not limited here. Historical contact objects can be sorted in order of contact time from most recent to oldest, or in order of contact frequency from highest to lowest. A preset number or preset proportion of historical contact objects can be selected and displayed at the top of the contact object list; all contact objects can be displayed simultaneously below historical contact objects; all display controls can be displayed, and if the required contact object is not found in the historical contact objects, all contact objects can be displayed in response to a trigger operation on the all display controls.
[0193] For example, you can query locally stored session records, filter out contacts who have had conversations with the initiating user as historical contacts, and the first subroutine displays these historical contacts as a separate section or integrated into the overall list. You can display only a preset number of historical contacts and show a "Load More" button. Responding to a trigger on the "Load More" button, all historical contacts will be displayed. If the initiating user is user A, and the query shows that user A has had conversations with user B, user C, and the product development group, these are the historical contacts.
[0194] In step 1032B, in response to a selection operation for at least one contact in the historical contact objects, the selected at least one contact object is highlighted.
[0195] In some embodiments, if the desired contact is not found in the historical contact list, the desired contact can be selected or searched from all contact lists. In response to a selection operation for at least one contact from all contact lists, the selected at least one contact is highlighted.
[0196] For example, taking the display of all contact objects through the all-display control as an example, see Figure 4F, which is a schematic diagram of selecting contact objects provided in an embodiment of this application. In the left view of Figure 4F, historical contact objects are displayed in the contact object list 607, where historical contact objects are sorted in descending order of contact time from most recent to oldest; the all-display control 616 is displayed. When the required contact object is not found in the historical contact objects, in response to the trigger operation of the all-display control 616, all contact objects are displayed in the right view of Figure 4F. In response to the selection operation of at least one contact object among all contact objects, such as the selection operation of contact objects 618, 619, 620, and 621 among all contact objects, the selected contact objects 618, 619, 620, and 621 are highlighted.
[0197] This application embodiment reduces the time cost for users to search for historical contacts by prioritizing the display of contacts that have had conversations with the initiating object in the contact list. Combined with targeted highlighting design, the selection results are clearly distinguishable, further simplifying the contact selection process. This design enhances the adaptability of the first subroutine to user habits, improves the convenience and efficiency of contact selection during the interaction creation process, and enhances the consistency of the user operation experience.
[0198] In some embodiments, referring to FIG3I, FIG3I is a schematic diagram of the eighth flow of the interactive processing method of the subroutine provided in the embodiments of this application. Step 1032B of FIG3H can be implemented by steps 10321B to 10322B of FIG3I, which will be described in detail below.
[0199] In step 10321B, in response to a selection operation for at least one contact object in the historical contact objects, the first subroutine is switched from the first mode to the third mode by calling the interface through the local contact object identifier of the selected at least one contact object. The first mode indicates that the first subroutine is not bound to any group session, and the third mode indicates that the first subroutine is bound to a group session corresponding to at least one local contact object identifier, which is used to represent the contact object in the group session.
[0200] In some embodiments, the local contact identifier for the same contact object differs in different group sessions. The selection operation can be a touch operation or a voice operation.
[0201] For example, taking a touch operation as a selection operation, each contact in the contact list corresponds to a selection control. In response to a trigger operation on at least one selection control, the contact corresponding to the triggered at least one selection control is highlighted. Taking a voice operation as a selection operation, the contact list includes a voice input control. In response to a voice input operation through the voice input control, the at least one contact included in the voice is parsed, the at least one contact included in the voice is automatically selected, and the at least one selected contact is highlighted.
[0202] Here, when the first subroutine is bound to the third group session corresponding to the local contact object identifier of at least one historical contact object, in response to the selection operation for at least one historical contact object belonging to the fourth group session, the binding state between the first subroutine and the third group session is released. At this time, the first subroutine switches from the third mode back to the first mode, and then binds the first subroutine to the fourth group session, that is, the first subroutine is converted from the first mode to the fifth mode, where the fifth mode represents the binding between the first subroutine and the fourth group session.
[0203] In step 10322B, at least one selected historical contact object is highlighted.
[0204] For example, the forms of highlighting include at least one of the following: highlighting, magnification, blinking, bolding, and adding a bounding box.
[0205] This application uses local contact object identifiers as unique identifiers to represent contact objects in group sessions, ensuring the uniqueness of each contact object and avoiding identifier conflicts and confusion. Since identifiers are usually shorter and easier to process than complete data records, the speed of finding and referencing specific contact objects is accelerated. By selecting historical contact objects for quick binding, the speed and convenience of binding are improved.
[0206] In some embodiments, the list of contact objects includes a search control, and step 103 can be achieved by performing the following process: in response to at least one input operation in the search control, highlighting the contact object corresponding to at least one input operation.
[0207] For example, referring to Figure 4G, Figure 4G is a schematic diagram of selecting a contact object through a search control according to an embodiment of this application. In the left-hand view of Figure 4G, a search control 617 in the contact object list 607 is displayed. In response to at least one input operation in the search control 617, such as entering "111111" in the search control 617, the input "111111" is displayed in the search control 617 in the middle view of Figure 4G, and the searched contact object 608 is also displayed. In response to a trigger operation on contact object 608, the contact object 608 corresponding to the input operation is highlighted in the contact object list 607 in the right-hand view of Figure 4G.
[0208] In some embodiments, the contact list includes a filter control, and in response to a triggering operation on the filter control, a filter criteria setting window is displayed. In response to an input operation on the filter criteria in the filter criteria setting window and a triggering operation on the filter confirmation control, the contact corresponding to the filter operation is highlighted.
[0209] For example, referring to Figure 4H, Figure 4H is a schematic diagram of selecting contact objects through a filter control according to an embodiment of this application. In the left side view of Figure 4H, the filter control 618 in the contact object list 607 is displayed. In response to a trigger operation on the filter control 618, the filter condition setting window 619 is displayed in the middle view of Figure 4H. In response to input operations on filter conditions in the filter condition setting window 619, such as setting the number of interactions to 3 to 8 times, and a trigger operation on the filter confirmation control 620, the contact objects corresponding to the filter operation are highlighted, such as contact objects 608, 609, 610, and 611. Among them, the interaction frequency with contact object 608 is 4, the interaction frequency with contact object 609 is 5, the interaction frequency with contact object 610 is 7, and the interaction frequency with contact object 611 is 8.
[0210] Referring again to Figure 3A, in step 104, in response to the send trigger operation, a second subroutine is sent to the client corresponding to at least one contact object, wherein the second subroutine is used to perform the first interaction.
[0211] For example, the second subroutine is used to display in a group session of a client, where at least one selected contact in the group session has permission to perform a first interaction through the second subroutine, or, in the clients of other contact in the group session, the second subroutine is in an untriggerable state, and the other contact are contact in the group session other than the at least one selected contact.
[0212] Here, other contacts in the group do not have permission to perform the first interaction through the second subroutine. The second subroutine can also be hidden from the clients of other contacts in the group session.
[0213] In some embodiments, when there are multiple contact objects and multiple contact objects are in the same group session, refer to FIG3J, which is a ninth flowchart of the interaction processing method of the subroutine provided in the embodiments of this application. Step 104 of FIG3A, "sending the second subroutine to the client corresponding to at least one contact object", can be implemented by executing steps 1041 to 1043 of FIG3J for each contact object, as described in detail below.
[0214] In step 1041, the local contact object identifier of the contact object in the group session is obtained. The local contact object identifier is used to represent the contact object in the group session. The local contact object identifier of the contact object is different in different group sessions.
[0215] In some embodiments, when multiple contact objects are in the same group session, the identifier of the group session is sent to the client. Based on the group session identifier, the client queries the locally stored information of the contact objects in that group session, extracting the local contact object identifier for each contact object within that group session (such as a group-specific identifier, nickname, or sequence number). This local contact object identifier is unique only within the current group session, and the local contact object identifier for the same contact object differs in other group sessions. The client returns the local contact object identifier to the first subroutine.
[0216] For example, the local contact identifier for contact A in group session 1 is group1_A, the local contact identifier for contact A in group session 2 is group2_A, and the local contact identifier for contact A in group session 3 is group3_A.
[0217] In step 1042, the global contact object identifier corresponding to the local contact object identifier is found based on the local contact object identifier and the mapping table between the local contact object identifier and the global contact object identifier.
[0218] Here, the mapping table includes local contact object identifiers and a global contact object identifier corresponding to each local contact object identifier. The global contact object identifier represents the identifier used by the contact object throughout the client, excluding group sessions.
[0219] In some embodiments, the mapping table interface is invoked to access the mapping table. A first subroutine matches each local contact object identifier with the local contact object identifiers stored in the mapping table, finding the corresponding global contact object identifier in the mapping table for each matched local contact object identifier. The mapping table can be updated in real time (e.g., the mapping relationship is updated synchronously when contact objects change in a group session). Batch queries are supported, allowing multiple local contact object identifiers to be entered at once to obtain the corresponding global contact object identifier for each local contact object identifier.
[0220] For example, the first subroutine obtains two local contact object identifiers, “XM-003” and “XM-005”. By querying the mapping table, it is found that the local contact object identifier “XM-003” corresponds to the global contact object identifier “USR-8821”, and the local contact object identifier “XM-005” corresponds to the global contact object identifier “USR-8827”.
[0221] In step 1043, a second subroutine is sent to the client of the contact object based on the found global contact object identifier.
[0222] Here, the client information corresponding to each global contact object identifier is determined, such as the client's device identifier. The second subroutine is then sent to the client corresponding to the found global contact object identifier via a messaging service or push notification mechanism.
[0223] This application embodiment ensures that the second subroutine can be sent to the correct client by using local and global contact object identifiers, avoiding unnecessary interference. Using identifiers for identification and communication enhances data security. Automatic client identification and sending of the second subroutine eliminate the need for users to manually input or confirm receipt of information, improving sending efficiency and providing a real-time interactive experience.
[0224] In some embodiments, when there are multiple contact objects and these multiple contact objects are in the same group session, before step 104, "in response to the send trigger operation, send the second subroutine to the client corresponding to each of the at least one contact object," the following processing may be performed: display a preview control, wherein the preview control is used to display the group session and the second subroutine in the group session. Step 104, "in response to the send trigger operation, send the second subroutine to the client corresponding to each of the at least one contact object," can be implemented by performing the following processing: in response to the confirmation operation for the preview control, send the second subroutine to the client corresponding to each of the multiple contact objects, wherein the second subroutine is displayed in the group session.
[0225] For example, sending a trigger operation is equivalent to a confirmation operation on the preview control, which includes a confirmation control. Therefore, a confirmation operation on the preview control is also a trigger operation on the confirmation control. When multiple contact objects are in a group session, a second subroutine is sent to the clients corresponding to each contact object. This means the second subroutine will be displayed in the group session for each client corresponding to that contact object.
[0226] In some embodiments, the second subroutine includes the progress state of the first interaction, which includes a completed state and an incomplete state. Referring to Figure 3K, Figure 3K is an eleventh flowchart illustrating the interaction processing method of the subroutine provided in this application embodiment. After step 104, steps 105 to 106 of Figure 3K are executed, as detailed below.
[0227] In step 105, the number of interactive objects is displayed in the second subroutine of the client that initiated the interaction, wherein the initial value of the number of interactive objects is zero.
[0228] Here, the number of interactive objects refers to the number of contact objects that trigger the second subroutine and complete the first interaction. If no contact object completes the first interaction, the initial value of the number of interactive objects is zero.
[0229] In some embodiments, the number of interactive objects may be displayed in relation to the total number of objects of at least one selected contact object, for example, displaying the ratio of the number of interactive objects to the total number of objects, with the ratio reflecting the progress of completion.
[0230] For example, if the initiating object initiates a vote (first interaction) through the second subroutine and selects 3 contact objects, and none of the 3 contact objects complete the vote, then the initiating object's second subroutine interface will display "Completed: 0", or "0 / 3", indicating that 0 out of the 3 contact objects have completed the vote.
[0231] In step 106, if any contact's client completes the first interaction through the second subroutine, the number of interaction objects is updated according to the number of contact objects that have completed the first interaction. In the case that any contact's client completes the first interaction through the second subroutine, the status of the first interaction is updated from incomplete to completed in the second subroutine of the contact's client.
[0232] For example, see Figure 4I, which is a schematic diagram of updating the number of interactive objects according to an embodiment of this application. The number of interactive objects 623 is displayed in the second subroutine 622 of the client 621 that initiated the interaction, where the initial value of the number of interactive objects is zero. When any contact's client completes the first interaction (e.g., morning meeting check-in) through the second subroutine 622, in the right-hand diagram of Figure 4I, the number of interactive objects 622 is updated according to the number of contact objects that completed the first interaction. For example, if one contact completes the first interaction, the number of interactive objects is updated from 0 to 1, and interaction information is displayed, including the nickname of the contact object that completed the first interaction, such as "sollllin completed the morning meeting check-in you posted."
[0233] In some embodiments, taking the perspective of the client of the contact object as an example, a second subroutine is displayed in the client, wherein the second subroutine includes the progress status of the first interaction. If the client of the contact object does not complete the first interaction through the second subroutine, the progress status of the first interaction is incomplete. In response to a trigger operation on the second subroutine, an interaction page is displayed. In response to a trigger operation on the interaction control in the interaction page, the progress status of the first interaction is updated from incomplete to completed.
[0234] For example, see Figure 4J, which is a schematic diagram of the process of completing an interaction between the contact and the client provided in this application embodiment. In the left side view of Figure 4J, a second subroutine 622 is displayed in the client 625 of the contact. The second subroutine 622 includes a first interaction progress state 626. If the client 625 of the contact does not complete the first interaction through the second subroutine 622, the first interaction progress state 626 is incomplete. In response to a trigger operation on the second subroutine 622, an interaction page 627 is displayed in the middle view of Figure 4J. In response to a trigger operation on the interaction control 628 (e.g., a check-in control) in the interaction page 627, the first interaction progress state 626 is updated from incomplete to completed in the right side view of Figure 4J.
[0235] This application embodiment displays and updates the number of interactive objects in real time in the second subroutine of the initiating object, combined with the synchronous update of the interaction status in the contact object's client. This allows the initiating object to intuitively grasp the progress of the interaction, and the contact object to clearly know its own participation status. This design strengthens the information synchronization between the initiator and the participants during the first interaction, improves the transparency and participation experience of the interaction, simplifies the detection process of the interaction progress, and improves the overall management efficiency of the first interaction.
[0236] In some embodiments, the state also includes an ended state. After the first interaction meets the end condition, the state of the first interaction in the second subroutine of the client of at least one contacting object and in the second subroutine of the client of the initiating object are both updated to the ended state.
[0237] In some embodiments, the termination condition may be that the duration of the first interaction reaches a duration threshold, or that the number of participants in the first interaction reaches a number threshold.
[0238] For example, taking the duration threshold as an example, if the second subroutine is sent at 16:31 and the duration threshold is 3 hours, then at 19:31, the status of the first interaction in the second subroutine of at least one contacting object's client and the second subroutine of the initiating object's client will both be updated to the ended status.
[0239] For example, referring to Figure 4K, Figure 4K is a schematic diagram of the first interaction being in an ended state according to an embodiment of this application. In the left-hand view of Figure 4K, when the duration of the first interaction reaches a duration threshold, the state 629 of the first interaction in the second subroutine 622 of the initiating client 621 is updated to the ended state. In the right-hand view of Figure 4K, the state 626 of the first interaction in the second subroutine 622 of the contacting client 625 is updated to the ended state.
[0240] This embodiment of the application ensures consistency in the understanding of the termination of the interaction among all participating parties by simultaneously updating the status of the first interaction to "completed" in the second subroutines of the initiating object and all contact objects after the first interaction meets the termination conditions. This avoids invalid operations caused by asynchronous status (such as contact objects attempting to participate after the interaction has ended). This design standardizes the lifecycle management of the interaction, strengthens the collaboration of subroutines in the interaction termination stage, and improves the completeness and rigor of the interaction process.
[0241] In some embodiments, the initiating object and at least one contact object are in the same group session, and the group session includes multiple contact objects; if at least one contact object is part of the contact objects in the group session, and if the first contact object joins the group session after the part of the contact objects are selected, then the second subroutine is in an untriggerable state in the client of the first contact object.
[0242] Here, in response to the triggering operation of the first contact object on the second subroutine, a "cannot be triggered" message is displayed in the client of the first contact object. The "cannot be triggered" message is used to indicate that the second subroutine is in a state where it cannot be triggered.
[0243] For example, referring to Figure 4L, Figure 4L is a schematic diagram of a newly added contact that cannot trigger the second subroutine according to an embodiment of this application. In the left side of Figure 4L, if the first contact joins the group session after some contact members are selected, the second subroutine 622 is displayed in the client 630 of the first contact, wherein the second subroutine 622 is in an untriggerable state; in response to the first contact's triggering operation for the second subroutine 622, an untriggerable prompt message 631 is displayed in the client 630 of the first contact, wherein the untriggerable prompt message 621 is used to indicate that the second subroutine 622 is in an untriggerable state.
[0244] This embodiment of the application ensures that the scope of participation in the first interaction is consistent with the initial selection of contacts by the initiator, and avoids interference from subsequent new members joining the original interaction by setting the second subroutine to an untriggerable state for the first selected contacts. This design standardizes the management of participation permissions for the first interaction, strengthens the seriousness and accuracy of interaction initiation, and allows new members to clearly understand their participation permission status, thereby improving the orderliness of the interaction process and the user experience.
[0245] In some embodiments, the initiating object and at least one contact object are in the same group session, and the group session includes multiple contact objects. If the initiating object and at least one contact object are all the contact objects in the group session, and a second contact object joins the group session, a second subroutine in an incomplete state is sent to the client of the second contact object, wherein the second subroutine is in a triggerable state in the client of the second contact object.
[0246] Here, when the client of the second contact object completes the first interaction through the second subroutine, the number of interaction objects is updated according to the number of contact objects that have completed the first interaction. In the case that the client of the second contact object completes the first interaction through the second subroutine, the status of the first interaction is updated from incomplete to completed in the second subroutine of the client of the second contact object.
[0247] For example, when sending the second subroutine, interactive instructions can be included, such as "This is a poll being conducted in the group, click to participate." The prompt content can be adjusted based on the remaining time of the interaction, such as "The interaction will end in 1 hour, participate as soon as possible." If the remaining time of the interaction ends, the second subroutine will be set to the completed state. For example, the initiator selects all members in the "Class Notification Group" (group session) to initiate an "Assignment Submission" interaction (first interaction). At this time, all members of the group are contact persons. Later, a transfer student (second contact person) joins the group. Their client receives the second subroutine, which is in an incomplete state, and displays the "Assignment Submission (Pending Completion)" button. After clicking, the assignment can be submitted normally. In the second subroutine of the transfer student's client, the assignment submission status is updated from incomplete to completed.
[0248] This application embodiment ensures that new members can promptly participate in ongoing group interactions by sending a triggerable, incomplete second subroutine to subsequent new members when the initiating object selects all group members as contact objects, thus preventing them from being excluded due to late joining. This design adapts to the dynamic nature of group membership changes, strengthens the integrity of interactions, and allows new members to quickly integrate into group interactions, improving overall participation and the consistency of user experience.
[0249] In some embodiments, referring to FIG3L, FIG3L is a schematic flowchart of the twelfth step of the interaction processing method of the subroutine provided in the embodiments of this application. After step 104 "send the second subroutine to the client corresponding to at least one contact object respectively", steps 107 to 108 of FIG3L are executed, which are described in detail below.
[0250] In step 107, at least one candidate contact object is displayed in the first subroutine, wherein the at least one candidate contact object is a contact object among at least one contact object that has not performed the first interaction.
[0251] Here, the first subroutine includes completed controls and incomplete controls. In response to a trigger operation on a completed control, it displays at least one contact object from the contact objects that has undergone a first interaction; in response to a trigger operation on an incomplete control, it displays at least one candidate contact object, wherein the at least one candidate contact object is a contact object from the at least one contact object that has not undergone a first interaction.
[0252] In step 108, in response to the triggering operation of the prompt control in the first subroutine, prompt information is sent to the client corresponding to at least one candidate contact object, wherein the prompt information is used to indicate that at least one candidate contact object has not performed the first interaction.
[0253] In some embodiments, the prompt message may be fixed, and in response to a triggering operation of the prompt control in the first subroutine, a fixed prompt message is sent to the clients corresponding to at least one candidate contact object. The prompt message may also be customizable, and in response to a triggering operation of the prompt control in the first subroutine, a prompt message input control is displayed; in response to an input operation for the prompt message in the prompt message input control, the prompt message is displayed; and in response to a sending operation for the prompt message, the prompt message is sent to the clients corresponding to at least one candidate contact object.
[0254] For example, see Figure 4M, which is a schematic diagram of sending prompt information according to an embodiment of this application. In the left side of Figure 4M, in response to a trigger operation on the incomplete control 632 in the first subroutine 601, at least one candidate contact object is displayed in the first subroutine 601, wherein the at least one candidate contact object is a contact object among at least one contact object that has not performed the first interaction. In response to a trigger operation on the prompt control 633 in the first subroutine 601, prompt information 635 is sent to the client (taking client 634 as an example) corresponding to each of the at least one candidate contact object, wherein the prompt information 635 is used to indicate that at least one candidate contact object has not performed the first interaction.
[0255] This application embodiment accurately displays candidate contacts who have not yet engaged in the first interaction within the first subroutine. Combined with a one-click triggering prompt function, this allows the initiating entity to quickly send reminders without manually searching for uninvolved individuals, simplifying the interaction follow-up process. Simultaneously, clear prompts effectively raise the participation awareness of candidate contacts, increasing the participation rate of the first interaction, strengthening the initiating entity's control over the interaction process, and optimizing the overall interactive experience.
[0256] In some embodiments, when there are multiple candidate contact objects and these multiple candidate contact objects are in the same group session, refer to FIG3M, which is a thirteenth flowchart of the interaction processing method of the subroutine provided in the embodiments of this application. Before step 108 "send prompt information to the client corresponding to at least one candidate contact object", steps 501 to 502 of FIG3M are executed for any candidate contact object, as described in detail below.
[0257] In step 501, the local contact object identifier of the candidate contact object in the group session is obtained.
[0258] In some embodiments, the local contact object identifier for the same candidate contact object may differ in different group sessions.
[0259] For example, the local contact identifier of candidate contact object A in group session A is groupA_A, the local contact identifier of candidate contact object A in group session B is groupB_A, and the local contact identifier of candidate contact object A in group session C is groupC_A.
[0260] In step 502, the global contact object identifier corresponding to the local contact object identifier is found based on the local contact object identifier and the mapping table between the local contact object identifier and the global contact object identifier.
[0261] Here, the mapping table includes local contact object identifiers and a global contact object identifier corresponding to each local contact object identifier. The global contact object identifier represents the identifier used by the contact object throughout the client, excluding group sessions.
[0262] In some embodiments, step 108, "sending a prompt message to the client corresponding to at least one candidate contact object," can be achieved by performing the following process: sending a prompt message to the client corresponding to the candidate contact object based on the found global contact object identifier.
[0263] Here, the client information corresponding to each global contact object identifier is determined, such as the client's device identifier. The notification message is then sent to the client corresponding to the found global contact object identifier via a messaging service or push notification mechanism.
[0264] This application's embodiments solve the problem of inconsistent identification of the same candidate contact object in different groups by using a mapping mechanism between local contact object identifiers and global contact object identifiers. This ensures that the client can accurately locate the target candidate contact object and send prompt information in multi-group scenarios. It not only adapts to the local contact object identifier rules within group sessions, but also relies on the global contact object identifier to ensure the accuracy of prompt information sending. This enhances the adaptability of the first subroutine in complex group interaction scenarios and improves the accuracy and efficiency of prompt information sending.
[0265] In some embodiments, after step 104, “in response to the sending trigger operation, send the second subroutine to the client corresponding to at least one contact object respectively”, the following processing may also be performed: in the selected group session, in response to the trigger operation for the entry of the first subroutine, display the first subroutine and display the group session bound to the first subroutine in the first subroutine.
[0266] For example, see Figure 4N, which is a schematic diagram of returning to the first subroutine provided in an embodiment of this application. In the left-hand view of Figure 4N, in the selected group session of client 621, in response to a triggering operation for the entry 636 of the first subroutine, the right-hand view of Figure 4N shows the first subroutine 601, and the group session 637 bound to the first subroutine 601 is displayed in the first subroutine 601.
[0267] This application embodiment sets a first subroutine entry point in the selected group session, and combines the subroutine and bound group session information displayed after triggering to achieve direct association and quick access between the group session and the first subroutine. This allows users to use the subroutine without having to jump between multiple interfaces, simplifying the operation path. At the same time, by clearly displaying the bound group session, it enhances the user's understanding of the current operation scenario, reduces confusion, and improves the usability of the first subroutine and its collaborative efficiency with the group session.
[0268] The following will describe an exemplary application of the embodiments of this application in a subroutine of an instant messaging APP.
[0269] In related technologies, the open capabilities of subroutines and their integration with the client of the contact object are weak, which means that interactions in the client need to be achieved by downloading third-party software, resulting in low utilization of subroutines and a cumbersome interaction creation process.
[0270] In this embodiment, in response to a trigger operation on a first creation control in a first subroutine, a list of contact objects is displayed, wherein the first creation control corresponds to a first interaction. In response to a selection operation in the list of contact objects, at least one selected contact object is highlighted. In response to a send trigger operation, a second subroutine is sent to the client corresponding to each of the at least one contact object, wherein the second subroutine is used to perform the first interaction. By quickly creating a second subroutine for interaction in the client of the contact object through the first subroutine, the efficiency of interaction creation is improved by enhancing the association between the subroutine and the client.
[0271] When opening the chat tool mode (i.e., the second or third mode mentioned above) in a subroutine (i.e., the first subroutine), it is necessary to bind a one-on-one chat or group chat (i.e., group session) chat room. Currently, there are three ways to open the chat tool mode:
[0272] Method 1: When the subroutine is in normal mode (i.e., first mode), it calls the `wx.openChatTool` interface but does not pass the chat room identifier (ID) into the interface. The chat list (i.e., chat object list) is displayed in the instant messaging APP (i.e. client). In response to the selection operation for any chat room, the selected chat room is bound and the chat tool mode is entered.
[0273] Method 2: When the subroutine is in normal mode, it calls the `wx.openChatTool` interface and passes the chat room ID to the interface to bind and display the chat room. The chat room ID is the ID of the chat room that was bound last time. If the chat room is a group chat, the chat room ID is opengid. If the chat room is a one-on-one chat, the chat room ID is open_single_roomid.
[0274] Method 3: Send various types of content to the bound chat room in the chat tool mode. When you return to the subroutine from the entry point of the subroutine in the chat room, the chat tool mode will be opened. At this time, the bound chat room remains unchanged.
[0275] The `wx.selectGroupMembers` interface is called to display the list of selected group members (i.e., the contact list mentioned above). In response to the selection operation for a group member (i.e., contact), it returns the selected member's group ID (groupOpenID) (i.e., the local contact identifier) within the chat room. The `open-data-list` component displays the group members' avatars and nicknames.
[0276] Here, if the user's unique ID (i.e., the global contact identifier) is directly returned after selecting a group member, the user's relationship chain will be leaked, allowing the information to be obtained about the friends between users. Therefore, a new groupOpenID is created when returning group members, representing the user's unique ID (i.e., the local contact identifier) in the current group chat. The groupOpenID of the same user is different in different groups, in order to prevent the leakage of the user's relationship chain.
[0277] For example, referring to Figure 5A, Figure 5A is a first schematic diagram of a subroutine for sending subroutines to group members according to an embodiment of this application. In the left-hand view of Figure 5A, the main page of the subroutine is displayed, which includes various types of interactions, such as group check-in, group lottery, group relay, group red envelopes, group polls, etc. In response to a selection operation for a first interaction type, such as a selection operation for group check-in, the group check-in creation page is displayed in the middle view of Figure 5A, which includes a first creation control, such as a new activity control. In response to a trigger operation for creating a new activity control, a contact list (i.e., a list of contact objects) is displayed in the right-hand view of Figure 5A. In response to a selection operation for any group chat in the contact list, following Figure 5A, referring to Figure 5B, Figure 5B is a schematic diagram of a subroutine for sending subroutines to group members according to an embodiment of this application. The second illustration of the member sending subroutine is shown in the left image of Figure 5B, which displays the activity creation page for the selected group chat. The activity creation page is used to create an interaction of the first interaction type and includes a participant selection control. In response to the triggering operation of the participant selection control, the middle image of Figure 5B displays the member list of the selected group chat. In response to the selection operation of at least one member (i.e., the contact person) in the member list, the right image of Figure 5B sends a group check-in subroutine (i.e., the second subroutine) to the at least one selected member to display the group check-in subroutine in the group chat. The at least one selected member has permission to use the group check-in subroutine.
[0278] In some embodiments, content can be sent directly to the bound chat group via the following new interface, without having to select the group again:
[0279] Interface 1: Image interface `wx.sharesImageToGroup`
[0280] Interface 2, Emoji Interface `wx.shareEmojiToGroup`
[0281] Interface 3, Video interface `wx.shareVideoToGroup`
[0282] Interface 4, File interface `wx.shareFileToGroup`
[0283] Interface 5, Text Interface `wx.shareAppMessageToGroup`
[0284] In some embodiments, chat tools also support sending plain text messages to conversation groups (i.e., group conversations). To prevent developers from maliciously tampering with the text content, a direct text sharing interface is not provided. Instead, it is presented through a component consisting of a form and a multi-line text area. Real users can modify the sent text content in real time. Developers display the text content on the screen, and users can trigger text sharing by clicking. The text area component allows users to directly edit the text, and the entered text is directly visible on the interface. If the text is tampered with, the user will immediately notice, increasing the transparency of the operation. Using a form can encapsulate the user's input content. Forms are usually isolated from the server-side processing logic, which reduces the opportunity to directly manipulate the input content. Form submissions usually follow standard HTTP request processes, such as POST requests. Standardized processes provide clear rules for data processing, making it difficult for developers to tamper with the text without the user's notice.
[0285] For example, see Figure 6, which is a schematic diagram of sharing various types of information provided in an embodiment of this application. In the left image of Figure 6, text is displayed in the group chat using a component composed of form and textarea. In the right image of Figure 6, various types of information such as emoticons, pictures, videos, and files are displayed in the group chat.
[0286] The subroutine chat tool (i.e., the first subroutine) supports a new dynamic message card capability, distinguishing between the publisher (the recipient) and participants (the contacts) of an activity (i.e., the first interaction), and displaying different content for different roles. For example, when sending a dynamic message card (i.e., the second subroutine) to a group, the publisher will initially see "0 people have completed" in the card's subtitle (i.e., the number of interaction recipients), and the participants will see "Not completed" (i.e., the incomplete status). When a participant clicks the card to complete the task (i.e., to perform the first interaction), the publisher will see "1 person has completed," and the participant will see "Completed" (i.e., the completed status), and both the publisher and the participant will receive a message notification. When the activity exceeds its end time (i.e., the first interaction meets the end conditions), the publisher will see "Ended" (i.e., the ended status), and the participants will see "Ended."
[0287] Referring to Figure 7, which is a schematic diagram of sending activity reminders according to an embodiment of this application. In the left side of Figure 7, the activity reminder interface is displayed. In response to the publisher's trigger operation on the list of unsigned persons, the list of unsigned persons is displayed, wherein the list of unsigned persons includes at least one unsigned person (i.e., at least one candidate contact person). In response to the publisher's trigger operation on the prompt control (e.g., a prompt control to remind unsigned persons), in the right side of Figure 7, a prompt message is sent to the unsigned persons in the group chat, and the prompt message is displayed in the group chat.
[0288] Referring to Figure 8, which is a schematic diagram of completing group check-in according to an embodiment of this application. In the left side of Figure 8, a prompt message is displayed, which is used to remind those who have not checked in that they have not performed group check-in. In response to the participant's triggering operation on the entry point of the group check-in subroutine (i.e., the second subroutine) in the prompt message, the homepage of the group check-in subroutine is displayed in the middle of Figure 8, which includes a check-in control. In response to the participant's triggering operation on the check-in control, in the right side of Figure 8, the subtitle of the dynamic message card published by the publisher is updated from "Incomplete" to "Completed", and the check-in completion information is displayed in the group chat.
[0289] The subroutine chat tool is developed using independent subpackages, so there is no need to download the main subroutine package when the chat tool is opened in the client, avoiding delays caused by the main package download and allowing the chat tool page to open faster.
[0290] Referring to Figure 9, which is an interactive schematic diagram of group member selection provided in an embodiment of this application, group members can be selected by executing steps 701 to 708, as described in detail below.
[0291] In step 701, the subroutine performs a chat tool permission check.
[0292] In some embodiments, in response to a triggering operation on the member selection button in the subroutine interface, the subroutine performs a chat tool permission check.
[0293] For example, the subroutine calls the chat tool's permission check interface to check if it has permission to access group member information and invoke client selection functions (such as reading the group list and obtaining member data), and returns the permission judgment result. In response to the user's triggering action on the "Add Participating Members" button in the event registration subroutine, the subroutine immediately checks whether it has permission to access the instant messaging software's group members and returns a "Authorized" or "Not Authorized" result.
[0294] In step 702, if the permission check passes, the subroutine calls the client.
[0295] In some embodiments, the relevant interface is called through JSBridge to call the basic library for permission verification. If the permission verification is successful, the client is called.
[0296] For example, when calling the client, parameters can be included, such as "maximum 20 people selected," to limit the number of members that can be selected. If the call fails, a retry message will be displayed, such as "Call failed, please retry."
[0297] In step 703, the client displays the group member selection list.
[0298] Here, after receiving the subroutine's call instruction, the client reads the current group chat member data (including member avatars, nicknames, group identities, etc.), generates a group member selection list according to a preset sorting rule (such as alphabetical order of nicknames), and displays the list on the client interface. Each member in the list has a selection control (such as a checkbox) next to them.
[0299] In step 704, in response to the selection operation for a group member, the server generates an intra-group identifier for the selected group member.
[0300] In some embodiments, group members have different IDs in different group chats, and each group member has a unique ID in each group. After "the server generates the identifier of the selected group member", the server (which can be the server 200 mentioned above) returns the generated ID to the subroutine through the client.
[0301] For example, the group identifier can include the member's sequence number within the group, such as "Group ID-001". After generating the identifier, the server synchronously records the correspondence between the identifier and the group members for subsequent queries.
[0302] In step 705, the client obtains the list of selected members.
[0303] In some embodiments, the client sends the obtained list of selected members to the subroutine.
[0304] For example, the system collects information such as the selected members' group IDs, nicknames, and avatars, and compiles this into a list of selected members. The client sends this list to the subroutine via an API, ensuring that the subroutine receives the complete selection results. The list of selected members may include the selection time, such as "Zhang San selected at 10:05". The client validates the list of selected members and removes duplicate selections.
[0305] In step 706, the subroutine passes the member’s group identifier to the Open Data Component.
[0306] In some embodiments, the subroutine sends a data request to the server.
[0307] For example, after receiving the list of selected members from the client, the subroutine extracts the group identifier for each member in the list and transmits these identifiers to an open data component (such as the OpenData component) via a data transmission interface. Simultaneously, the subroutine sends a data request to the server, requesting detailed member information corresponding to these group identifiers.
[0308] In step 707, the server obtains information about the group members based on their group identifiers.
[0309] In some embodiments, the server returns member information to the subroutine.
[0310] For example, after receiving a data request from a subroutine, the server queries the member information database of that group based on the group identifier in the data request, and retrieves the corresponding member's avatar, nickname, group role, and other information. The server then organizes this information and returns it to the subroutine via an interface. The information returned by the server may include the member's online status, such as "online" or "offline." If the group identifier is invalid (e.g., the member has left the group), an error message is returned, such as "This member has left the group chat."
[0311] In step 708, the subroutine displays the avatars and nicknames of the group members.
[0312] In some embodiments, the subroutine displays avatars and nicknames via an OpenData component.
[0313] Referring to Figure 10, which is an interactive schematic diagram of sending media messages according to an embodiment of this application, sending media messages can be achieved by executing steps 709 to 713, as described in detail below.
[0314] In step 709, the subroutine generates a temporary file based on the selected material.
[0315] In some embodiments, in response to a publisher's selection of materials, a subroutine generates temporary files for the materials, wherein the types of materials include images, emoticons, videos, and files.
[0316] For example, the processing progress can be displayed when generating a temporary file, such as "Image compression in progress 30%". In response to the selection of an event poster image in the event sharing subroutine, the subroutine compresses the event poster image and generates a temporary image file of size 2MB.
[0317] In step 710, the subroutine performs a chat tool permission check.
[0318] Here, the subroutine calls the chat tool's permission check interface to check if it has permission to send files to the group chat and access local materials. The permission check result is returned to the subroutine in real time to determine whether to continue subsequent operations. If the permission check fails, the specific reason is displayed, such as "No permission to send files, please enable it".
[0319] In step 711, if the permission check passes, the subroutine calls the client.
[0320] In some embodiments, the relevant interface is called through JSBridge to call the basic library for permission verification. If the permission verification is successful, the client is called.
[0321] In step 712, the client verifies the group binding relationship.
[0322] In some embodiments, the client verifies the group chat bound to the subroutine.
[0323] For example, after receiving the subroutine's call instruction, the client extracts the group chat identifier carried in the instruction and queries the locally stored binding record between the subroutine and the group chat (e.g., whether the subroutine is already bound to the current group chat). If the binding record exists and is valid (e.g., not unbound), the verification passes; otherwise, the verification fails and the sending process terminates. For instance, if the client extracts the group chat identifier "SC-Group" from the instruction and finds that the "Activity Sharing" subroutine is already bound to this group chat, the verification passes.
[0324] In step 713, the client sends the temporary file to the bound group chat.
[0325] In some embodiments, after the client completes the group binding relationship verification, it reads the data from the temporary file and sends the temporary file to the bound group chat through the group chat's message transmission channel. After sending, it returns a successful sending feedback to the subroutine.
[0326] For example, a progress bar can be displayed during the sending process, such as "Sending 70%". The user can be automatically redirected to the group chat interface to view the file after sending.
[0327] Referring to Figure 11, which is an interactive schematic diagram of sending prompt information provided in an embodiment of this application, sending prompt information can be achieved by executing steps 714 to 719, as described in detail below.
[0328] In step 714, the subroutine performs a chat tool permission check.
[0329] In some embodiments, the subroutine performs a chat tool permission check in response to the publisher's triggering action on the prompt control.
[0330] For example, the subroutine calls the chat tool's permission interface to check if it has the permission to send notification messages to group members and access member identifiers, and returns the permission judgment result. The permission judgment can distinguish between "mass message" and "individual message" permissions; if not authorized, it displays a permission request guide, such as "After enabling permission, you can send reminders to members."
[0331] In step 715, if the permission verification is successful, the server generates a short subroutine link through the interface.
[0332] Here, after successful authorization, the subroutine sends a short link generation request to the server. This request includes the subroutine's identifier and current interaction information. Upon receiving the request, the server generates a short link corresponding to the subroutine via a dedicated interface. This short link can directly redirect to the relevant page within the subroutine, and the server then returns the short link to the subroutine. The short link can be set to have an expiration period, such as "valid for 24 hours".
[0333] In step 716, the subroutine calls the client.
[0334] In some embodiments, the relevant interface is called through JSBridge to call the basic library for permission verification. If the permission verification is successful, the client is called.
[0335] For example, after verifying the permissions and source validity through the base library, a call instruction carrying a short link and a prompt message is sent to the client. The display style of the prompt message can be specified during the call, such as "card style" or "text style". The prompt message effect can be previewed.
[0336] In step 717, the client sends a query request to the server based on the member's group identifier.
[0337] In some embodiments, the query request is used to query the real identifier corresponding to the member's group identifier.
[0338] For example, query requests can be sent in batches, such as querying 10 group identifiers at once. For instance, if the client needs to send a notification to members with group identifiers "DD-008" and "DD-009", it can generate a query request including these two group identifiers and send it to the server.
[0339] In step 718, the server obtains the member's real identifier based on the member's group identifier resolution.
[0340] In some embodiments, the server sends the member's real identifier to the client.
[0341] In step 719, the server sends a prompt message to the group chat based on the real identifier.
[0342] Here, the client sends the real identifier and prompt information (including the short subroutine link) returned by the server to the server. The server locates the corresponding member account based on the real identifier and sends the prompt information to the group chat through the group chat's message channel, ensuring that the member who is prompted can receive the information in the group chat. The prompt information may include the sending time.
[0343] When the poster selects some group members, the group chat includes three categories of members: poster, participants, and non-participants. If a new member joins the group chat, the new member is automatically classified as a non-participant. When the poster does not select group members, the group chat includes three categories of members: poster and participants. If a new member joins the group chat, the new member is automatically classified as a participant.
[0344] The developers categorize group chat members into three types: "Initiator," "Participant," and "Non-Participant," and send member information to the client. When a "Non-Participant" member sees a dynamic card, the card displays "You do not need to complete this." When a "Participant" member sees a dynamic card, the card displays "Incomplete." In response to a trigger action on the card and the corresponding activity for the complete card, completion information is sent to the client, causing the client to update the card title to "Completed." When an "Initiator" member sees a dynamic card, the client displays "X people have completed this" on the card based on the number of completed users. When the activity is about to end, the client displays "Activity is about to end" on the card for "Participant" members who are in an incomplete state. When the activity has ended, the client displays "Activity has ended" on the card for both "Participant" and "Initiator" members.
[0345] The title on the card changes differently depending on the type of member. For example, the status change for a publisher-type member is as follows: the subtitle changes from "xx people have completed / participated" to "Completed"; the status change for a non-participant-type member is as follows: the subtitle becomes "You do not need to complete / participate". See Figure 12, which is a schematic diagram of the status changes of participants provided in this embodiment. In Figure 12, the initial status of a participant-type member is "Not Completed / Participated". If a participant-type member completes the activity, the status changes from "Not Completed / Participated" to "Completed / Participated". If a participant-type member has not completed the activity by the end of the activity, the status changes from "Not Completed / Participated" to "About to End". If a participant-type member has not completed the activity by the end of the activity, the status changes from "About to End" to "Completed".
[0346] The subroutine chat tool greatly enriches the capabilities of group-related applications by enabling group member selection, displaying group member information, supporting the direct sending of various types of materials to the group, reminding group members, and dynamic message cards, making group message processing more convenient.
[0347] In this embodiment, in response to a trigger operation on a first creation control in a first subroutine, a list of contact objects is displayed, wherein the first creation control corresponds to a first interaction. In response to a selection operation in the list of contact objects, at least one selected contact object is highlighted. In response to a send trigger operation, a second subroutine is sent to the client corresponding to each of the at least one contact object, wherein the second subroutine is used to perform the first interaction. By quickly creating a second subroutine for interaction in the client of the contact object through the first subroutine, the efficiency of interaction creation is improved by enhancing the association between the subroutine and the client.
[0348] The following description continues to illustrate the exemplary structure of the subroutine interaction processing device 455 provided in the embodiments of this application as a software module. In some embodiments, as shown in FIG2, the software module stored in the subroutine interaction processing device 455 in the memory 450 may include:
[0349] The first display module 4551 is configured to display a first subroutine, wherein the first subroutine includes at least one creation control corresponding to each interaction.
[0350] The second display module 4552 is configured to display a list of contact objects in response to a trigger operation on the first creation control, wherein the first creation control is any one of at least one creation control, the first creation control corresponds to the first interaction, and the first interaction is any one of at least one interaction.
[0351] The third display module 4553 is configured to highlight at least one selected contact in response to a selection operation in the contact list.
[0352] The information sending module 4554 is configured to send a second subroutine to the client corresponding to at least one contact object in response to a sending trigger operation, wherein the second subroutine is used to perform the first interaction.
[0353] In some embodiments, the first subroutine includes an information sharing control and a first display module 4551, which is further configured to display an information editing window in response to a trigger operation on the information sharing control; display input information in response to an input operation in the information editing window; display a list of contact objects in response to a trigger operation on the confirmation control in the information editing window; highlight at least one selected contact object in response to a selection operation in the list of contact objects; and send information to the clients corresponding to at least one contact object in response to a send trigger operation.
[0354] In some embodiments, the first display module 4551 is further configured to generate a text component based on the text when the information is text, wherein the text component includes a form and a text box, and the text box displays text; in response to a sending trigger operation for the text component, the text component is sent to the client corresponding to at least one contact object, wherein the text component is used for the client to display text through the text component.
[0355] In some embodiments, the first subroutine corresponds to multiple interactions, and the second display module 4552 is further configured to display multiple interaction types in the first subroutine, wherein the multiple interaction types include the first interaction type corresponding to the first interaction; and to display the first creation control in response to a selection operation for the first interaction type.
[0356] In some embodiments, the second display module 4552 is further configured to send a permission request to the client, wherein the permission request carries the identifier of the first subroutine, the identifier being used by the client to compare with the identifier of the authorized subroutine, and if the comparison matches, authorization information is sent to the first subroutine; in response to receiving the authorization information, the client's contact object interface is called through the authorization information, and if the client successfully verifies the authorization information, the contact object list sent by the client through the contact object interface is obtained.
[0357] In some embodiments, the contact list includes at least one group session that the client's currently logged-in account has participated in. The third display module 4553 is also configured to highlight the selected group session in response to a selection operation for any group session in the contact list; and to highlight at least one selected contact in response to a selection operation for at least one contact in the selected group session.
[0358] In some embodiments, the third display module 4553 is further configured to switch the first subroutine from a first mode to a second mode in response to a selection operation for any group session, wherein the first mode indicates that the first subroutine is not bound to any group session, and the second mode indicates that the first subroutine is bound to the selected group session; and the selected group session is highlighted.
[0359] In some embodiments, the third display module 4553 is further configured to select at least one contact object from the list of contact objects, highlight the selected at least one contact object, and establish a group session based on the selected at least one contact object in response to a session establishment trigger operation for the selected at least one contact object.
[0360] In some embodiments, the third display module 4553 is further configured to display historical contact objects in a contact object list if historical contact objects exist, wherein historical contact objects are contact objects that have had a conversation with the initiating object; and to highlight at least one contact object selected in response to a selection operation for at least one contact object in the historical contact objects.
[0361] In some embodiments, the third display module 4553 is further configured to, in response to a selection operation for at least one contact object among historical contact objects, call an interface via the local contact object identifier of the selected at least one contact object to switch the first subroutine from a first mode to a third mode, wherein the first mode indicates that the first subroutine is not bound to any group session, and the third mode indicates that the first subroutine is bound to a group session corresponding to at least one local contact object identifier, the local contact object identifier being used to represent a contact object in a group session; and highlight the selected at least one historical contact object.
[0362] In some embodiments, the contact list includes a search control, and the third display module 4553 is further configured to highlight the contact corresponding to at least one input operation in response to at least one input operation in the search control.
[0363] In some embodiments, the second subroutine is used to display in a group session of a client, where at least one selected contact in the group session has permission to perform a first interaction through the second subroutine; or, in the clients of other contact in the group session, the second subroutine is in an untriggerable state, where the other contact are contact in the group session other than the at least one selected contact.
[0364] In some embodiments, the information sending module 4554 is further configured to, when the number of at least one contact object is multiple and the multiple contact objects are in the same group session, perform the following processing for each contact object: obtain the local contact object identifier of the contact object in the group session, wherein the local contact object identifier is used to represent the contact object in the group session, and the local contact object identifier of the contact object is different in different group sessions; look up the global contact object identifier corresponding to the local contact object identifier according to the local contact object identifier and the mapping table between the local contact object identifier and the global contact object identifier; and send a second subroutine to the client of the contact object according to the found global contact object identifier.
[0365] In some embodiments, the second subroutine includes the progress status of the first interaction, which includes a completed state and an incomplete state. The information sending module 4554 is further configured to display the number of interactive objects in the second subroutine of the client of the initiating object, wherein the initial value of the number of interactive objects is zero; when the client of any contact object completes the first interaction through the second subroutine, the number of interactive objects is updated according to the number of contact objects that have completed the first interaction, wherein when the client of any contact object completes the first interaction through the second subroutine, the status of the first interaction is updated from the incomplete state to the completed state in the second subroutine of the client of the contact object.
[0366] In some embodiments, the state also includes an ended state. After the first interaction meets the end condition, the state of the first interaction in the second subroutine of the client of at least one contacting object and in the second subroutine of the client of the initiating object are both updated to the ended state.
[0367] In some embodiments, the initiating object and at least one contact object are in the same group session, and the group session includes multiple contact objects; if at least one contact object is part of the contact objects in the group session, and if the first contact object joins the group session after the part of the contact objects are selected, then the second subroutine is in an untriggerable state in the client of the first contact object.
[0368] In some embodiments, the initiating object and at least one contact object are in the same group session, and the group session includes multiple contact objects. The information sending module 4554 is further configured to send a second subroutine in an incomplete state to the client of the second contact object if the second contact object joins the group session when the initiating object and at least one contact object are all the contact objects in the group session. In the client of the second contact object, the second subroutine is in a triggerable state.
[0369] In some embodiments, the information sending module 4554 is further configured to display at least one candidate contact object in a first subroutine, wherein the at least one candidate contact object is a contact object among at least one contact object that has not performed the first interaction; in response to a triggering operation of a prompt control in the first subroutine, to send prompt information to the client corresponding to each of the at least one candidate contact object, wherein the prompt information is used to prompt that at least one candidate contact object has not performed the first interaction.
[0370] In some embodiments, the information sending module 4554 is further configured to, when there are multiple candidate contact objects and multiple candidate contact objects are in the same group session, perform the following processing for any candidate contact object: obtain the local contact object identifier of the candidate contact object in the group session; look up the global contact object identifier corresponding to the local contact object identifier based on the local contact object identifier and the mapping table between the local contact object identifier and the global contact object identifier; and send a prompt message to the client corresponding to the candidate contact object based on the found global contact object identifier.
[0371] In some embodiments, the information sending module 4554 is further configured to, in the selected group session, in response to a triggering operation for the entry of the first subroutine, display the first subroutine and the group session bound to the first subroutine.
[0372] This application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the subroutine interactive processing method described above in this application.
[0373] This application provides a computer-readable storage medium storing computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the processor will execute the interactive processing method of the subroutine provided in this application, such as the interactive processing method of the subroutine shown in FIG3A.
[0374] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
[0375] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
[0376] As an example, computer-executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files that store one or more modules, subroutines, or code sections).
[0377] As an example, computer-executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.
[0378] In summary, this application embodiment, in response to a trigger operation on the first creation control in the first subroutine, displays a list of contact objects, where the first creation control corresponds to the first interaction. In response to a selection operation in the contact object list, it highlights at least one selected contact object. In response to a send trigger operation, it sends a second subroutine to the client corresponding to each of the at least one contact object, where the second subroutine is used to perform the first interaction. The first subroutine quickly creates a second subroutine for interaction in the client of the contact object, improving the efficiency of interaction creation by enhancing the association between the subroutine and the client. The communication link between the subroutine and the client is optimized, ensuring direct data transmission and parsing during interaction creation, avoiding compatibility risks caused by third-party adaptation issues, reducing the complexity of technical implementation, and enhancing system stability and scalability. The first subroutine simplifies the interaction creation process, reducing system resource consumption and data processing overhead, eliminating the need to download third-party software, saving storage space and memory usage, reducing the processor's scheduling pressure on redundant processes, and improving system operating efficiency. From triggering the first creation control and selecting the contact to sending the second subroutine, data flows only between the first subroutine and the target client, reducing unnecessary network requests and data transfers, shortening the data transmission path, and improving the real-time performance of data processing. Furthermore, the second subroutine is sent directly to the contact's client, allowing for rapid loading and execution, reducing system response latency, and enhancing overall interactive performance.
[0379] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
Claims
1. An interactive processing method for a subroutine, the method being executed by an electronic device, the method comprising: Display the first subroutine, wherein the first subroutine includes at least one creation control corresponding to each interaction; In response to a triggering operation on a first creation control, a list of contact objects is displayed, wherein the first creation control is any one of at least one of the creation controls, the first creation control corresponds to a first interaction, and the first interaction is any one of the at least one interaction; In response to a selection operation in the list of contact objects, at least one selected contact object is highlighted; In response to the trigger operation, a second subroutine is sent to the client corresponding to each of the at least one contact object, wherein the second subroutine is used to perform the first interaction.
2. The method according to claim 1, wherein, The first subroutine corresponds to multiple interactions, and prior to the triggering operation for the first created control, the method further includes: The first subroutine displays multiple interaction types, wherein the multiple interaction types include the first interaction type corresponding to the first interaction; In response to a selection operation for the first interaction type, the first creation control is displayed.
3. The method according to claim 1, wherein, The second subroutine includes the progress state of the first interaction, which includes a completed state and an incomplete state; After sending the second subroutine to the clients corresponding to the at least one contact object, the method further includes: The number of interactive objects is displayed in the second subroutine of the client that initiated the interaction, wherein the initial value of the number of interactive objects is zero; If any of the clients of the contact object completes the first interaction through the second subroutine, the number of interaction objects is updated according to the number of the contact objects that have completed the first interaction. In the case that any of the clients of the contact object completes the first interaction through the second subroutine, the status of the first interaction is updated from the incomplete status to the completed status in the second subroutine of the client of the contact object.
4. The method according to claim 3, wherein, The "in progress" state also includes the "finished" state; The method further includes: After the first interaction meets the termination condition, the status of the first interaction in the second subroutine of the client of the at least one contacting object and in the second subroutine of the client of the initiating object are both updated to the terminated status.
5. The method according to claim 3, wherein, The initiating object and the at least one contact object are in the same group session, and the group session includes multiple contact objects; If at least one contact is part of the contact in the group session, and if the first contact joins the group session after the part of the contact is selected, then the second subroutine is in an untriggerable state in the client of the first contact.
6. The method according to claim 3, wherein, The initiating object and the at least one contact object are in the same group session, and the group session includes multiple contact objects; The method further includes: If the initiating object and the at least one contact object are all the contact objects in the group session, and if the second contact object joins the group session, the second subroutine in the incomplete state is sent to the client of the second contact object, wherein the second subroutine is in a triggerable state in the client of the second contact object.
7. The method according to any one of claims 1 to 6, wherein, After sending the second subroutine to the clients corresponding to the at least one contact object, the method further includes: The first subroutine displays at least one candidate contact object, wherein the at least one candidate contact object is a contact object among the at least one contact object that has not performed the first interaction; In response to a trigger operation of the prompt control in the first subroutine, a prompt message is sent to the client corresponding to each of the at least one candidate contact object, wherein the prompt message is used to indicate that the at least one candidate contact object has not performed the first interaction.
8. The method according to claim 7, wherein, If the number of the at least one candidate contact is multiple, and the multiple candidate contact objects are in the same group session, the method further includes, before sending the prompt information to the client corresponding to the at least one candidate contact object: For any of the candidate contact objects, perform the following processing: Obtain the local contact object identifier of the candidate contact object in the group session; Based on the local contact object identifier and the mapping table between the local contact object identifier and the global contact object identifier, find the global contact object identifier corresponding to the local contact object identifier; Sending a notification message to the client corresponding to the at least one candidate contact object includes: The prompt message is sent to the client corresponding to the candidate contact object based on the found global contact object identifier.
9. The method according to any one of claims 1 to 8, wherein, The list of contacts includes at least one group session that the client's currently logged-in account has participated in; The response to a selection operation in the list of contact objects, highlighting at least one selected contact object, includes: In response to a selection operation for any of the group sessions in the list of contact objects, the selected group session is highlighted; In response to a selection operation for at least one contact in the selected group session, the selected at least one contact is highlighted.
10. The method according to claim 9, wherein, The response to a selection operation for any of the group sessions in the list of contact objects, highlighting the selected group session, includes: In response to a selection operation for any of the group sessions, the first subroutine is switched from a first mode to a second mode, wherein the first mode indicates that the first subroutine is not bound to any of the group sessions, and the second mode indicates that the first subroutine is bound to the selected group session. The selected group session is highlighted.
11. The method according to claim 10, wherein, After sending a second subroutine to the client corresponding to each of the at least one contact object in response to the send trigger operation, the method further includes: In the selected group session, in response to a triggering operation for the entry of the first subroutine, the first subroutine is displayed, and the group session bound to the first subroutine is displayed in the first subroutine.
12. The method according to any one of claims 1 to 8, wherein, The second subroutine is used to display in the group session of the client, where the at least one contact in the group session has permission to perform the first interaction through the second subroutine, or, in the clients of other contact persons in the group session, the second subroutine is in an untriggerable state, where the other contact persons are the contact persons in the group session other than the at least one selected contact person.
13. The method according to any one of claims 1 to 8, wherein, The response to a selection operation in the list of contact objects, highlighting at least one selected contact object, includes: Select at least one contact from the list of contact objects, and highlight the selected at least one contact object; The method further includes: In response to a session establishment trigger operation for the selected at least one contact object, a group session is established based on the selected at least one contact object.
14. The method according to any one of claims 1 to 8, wherein, The response to a selection operation in the list of contact objects, highlighting at least one selected contact object, includes: If there are historical contact objects, the historical contact objects are displayed in the contact object list, wherein the historical contact objects are contact objects that have had a conversation with the initiating object; In response to a selection operation for at least one contact among the historical contact objects, the selected at least one contact object is highlighted.
15. The method according to claim 14, wherein, The step of displaying the historical contact objects in the contact object list includes: The historical contact objects are sorted according to preset rules to obtain a sorting result. The preset rules include any one of the following: sorted by the time of contact with the historical contact objects from most recent to oldest, or sorted by the frequency of contact with the historical contact objects from highest to lowest. The list of contact objects displays a preset number or a preset proportion of the historical contact objects selected from the sorting results.
16. The method of claim 14, wherein, In response to a selection operation targeting at least one contact among the historical contact objects, highlighting the selected at least one contact object includes: In response to a selection operation for at least one contact object among the historical contact objects, the first subroutine is converted from a first mode to a third mode by calling the local contact object identifier of the selected at least one contact object. The first mode indicates that the first subroutine is not bound to any group session, and the third mode indicates that the first subroutine is bound to a group session corresponding to at least one of the local contact object identifiers, where the local contact object identifier is used to represent the contact object in the group session. Highlight the selected at least one historical contact object.
17. The method according to any one of claims 1 to 8, wherein, The list of contact persons includes a search control; The response to a selection operation in the list of contact objects, highlighting at least one selected contact object, includes: In response to at least one input operation in the search control, the contact corresponding to the at least one input operation is highlighted.
18. The method according to any one of claims 1 to 8, wherein, The list of contact persons includes a filter control; The response to a selection operation in the list of contact objects, highlighting at least one selected contact object, includes: In response to a triggering operation on the filter control, a filter condition setting window is displayed; In response to an input operation for filter criteria in the filter criteria settings window, the filter criteria are displayed; In response to a confirmation action based on the filter criteria, the contact persons selected based on the filter criteria are highlighted.
19. The method according to any one of claims 1 to 18, wherein, When the number of the at least one contact object is multiple, and the multiple contact objects are in the same group session, sending the second subroutine to the client corresponding to each of the at least one contact object includes: For each of the aforementioned contact objects, perform the following processing: Obtain the local contact object identifier of the contact object in the group session, wherein the local contact object identifier is used to represent the contact object in the group session, and the local contact object identifier of the contact object is different in different group sessions; Based on the local contact object identifier and the mapping table between the local contact object identifier and the global contact object identifier, find the global contact object identifier corresponding to the local contact object identifier; Based on the found global contact object identifier, a second subroutine is sent to the client of the contact object.
20. The method according to any one of claims 1 to 18, wherein, If the number of the at least one contact object is multiple, and the multiple contact objects are in the same group session, the method further includes, before sending the second subroutine to the client corresponding to each of the at least one contact object: A preview control is provided to display the group session and the second mini-program within the group session. The response to the send trigger operation, sending a second subroutine to the client corresponding to at least one contact object, includes: In response to a confirmation operation on the preview control, the second subroutine is sent to the clients corresponding to the multiple contact objects respectively, wherein the second subroutine is displayed in the group session.
21. The method according to any one of claims 1 to 20, wherein, Before displaying the list of contact persons, the method further includes: Send a permission request to the client, wherein the permission request carries the identifier of the first subroutine, the identifier being used by the client to compare with the identifier of an authorized subroutine; if the comparison matches, send authorization information to the first subroutine. In response to receiving the authorization information, the client calls the contact object interface through the authorization information. If the client successfully verifies the authorization information, the client obtains the list of contact objects sent by the client through the contact object interface.
22. The method according to any one of claims 1 to 21, wherein, The first subroutine includes an information sharing control; After displaying the first subroutine, the method further includes: In response to a triggered operation on the information sharing control, an information editing window is displayed; In response to input operations in the information editing window, the entered information is displayed; In response to a triggering operation on the confirmation control in the information editing window, the list of contact persons is displayed; In response to a selection operation in the list of contact objects, at least one selected contact object is highlighted; In response to the send trigger operation, the information is sent to the clients corresponding to the at least one contact object.
23. The method according to claim 22, wherein, When the information is text, sending the information to the clients corresponding to the at least one contact object in response to the send trigger operation includes: A text component is generated based on the text, wherein the text component includes a form and a text box, and the text is displayed in the text box; In response to a sending trigger operation for the text component, the text component is sent to the client corresponding to each of the at least one contact object, wherein the text component is used by the client to display the text.
24. An interactive processing apparatus for a subroutine, the apparatus comprising: The first display module is configured to display a first subroutine, wherein the first subroutine includes at least one creation control corresponding to each interaction; The second display module is configured to display a list of contact objects in response to a trigger operation on the first creation control, wherein the first creation control is any one of at least one of the creation controls, the first creation control corresponds to a first interaction, and the first interaction is any one of the at least one interaction; The third display module is configured to highlight at least one selected contact in response to a selection operation in the list of contact objects; The information sending module is configured to send a second subroutine to the client corresponding to each of the at least one contact object in response to a sending trigger operation, wherein the second subroutine is used to perform the first interaction.
25. An electronic device, the electronic device comprising: Memory is used to store executable instructions or computer programs. A processor, when executing computer-executable instructions or computer programs stored in the memory, implements the interactive processing method of the subroutine as described in any one of claims 1 to 23.
26. A computer-readable storage medium storing computer-executable instructions or a computer program, wherein the computer-executable instructions or the computer program, when executed by a processor, implement the interactive processing method of the subroutine according to any one of claims 1 to 23.
27. A computer program product comprising computer-executable instructions or a computer program, wherein the computer-executable instructions or the computer program, when executed by a processor, implement the interactive processing method of the subroutine according to any one of claims 1 to 23.