国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison Applet WeChat Développement WeChat Utiliser WPF pour implémenter plusieurs fonctions de service client des comptes publics WeChat

Utiliser WPF pour implémenter plusieurs fonctions de service client des comptes publics WeChat

Mar 05, 2017 pm 02:16 PM
wpf Plusieurs fonctions de service client Compte officiel de WeChat

Titre original?: Utiliser WPF pour implémenter plusieurs fonctions de service client pour les comptes publics WeChat

Introduction?:

Ceci est réalisé en utilisant WPF en tant que version de bureau de technologie frontale du système de service multi-client WeChat. Le projet utilise Prism comme framework frontal, utilise le modèle MVVM pour séparer efficacement l'interface utilisateur et le code logique, et utilise le conteneur MEF IOC intégré à MefBootstrapper pour découpler chaque objet de module. Utilisation raisonnable de IEventAggregator pour implémenter des événements et des interactions. L'article donnera des références d'implémentation pertinentes lors de l'introduction des fonctions correspondantes. Les lecteurs pourront se référer aux améliorations et les introduire dans leurs propres projets.

Interface d'exécution du programme et aper?u des fonctions?:

Connexion?:

Fonction?: prend en charge la mémorisation des utilisateurs et des paramètres utilisateur, avec la possibilité de mémoriser les mots de passe des utilisateurs.

Implémentation liée?:

Personnalisez la fenêtre de connexion et introduisez Microsoft.Windows.Shell. Vous pouvez vous référer à la bibliothèque Chrome personnalisée WPF et à la classe MSDN WindowChrome pour les implémentations de fenêtres personnalisées associées.

Pour implémenter les fonctions des boutons minimiser, agrandir et fermer, veuillez vous référer à l'exemple ci-dessus.

Bouton de connexion, personnaliser le style, réécrire le modèle du bouton, le code de référence est le suivant?:

?<Style x:Key="LogginButton" TargetType="{x:Type Button}">
????????<Setter Property="Template">
????????????<Setter.Value>
????????????????<ControlTemplate TargetType="{x:Type Button}">
????????????????????<Grid  >
????????????????????????<Border   x:Name="Bd" Background="{TemplateBinding Background }" BorderBrush="#d3d3d3" BorderThickness="1">
????????????????????????</Border>
????????????????????????<ContentPresenter  x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" RecognizesAccessKey="True"/>
????????????????????</Grid>
????????????????????<ControlTemplate.Triggers>
????????????????????????<Trigger Property="IsMouseOver" Value="True">
????????????????????????????<Setter TargetName="Bd" Property="BorderBrush" Value="#08bd14"/>
????????????????????????????<Setter TargetName="Bd" Property="Opacity" Value="0.8"/>
????????????????????????</Trigger>
????????????????????????<Trigger Property="IsPressed" Value="True">
????????????????????????????<Setter TargetName="Bd" Property="Background" Value="#f3f3f3"/>
????????????????????????????<Setter TargetName="contentPresenter" Property="Margin" Value="2,2,0,0"/>
????????????????????????</Trigger>
????????????????????</ControlTemplate.Triggers>
????????????????</ControlTemplate>
????????????</Setter.Value>
????????</Setter>
????</Style>

Afficher le code

Mémorisez le mot de passe et utilisez XmlSerializer pour sérialiser les informations utilisateur dans le fichier de configuration XML local lorsque le programme démarre Charger le fichier de configuration XML. Utilisation MSDN , réponse rapide

Implémentation liée à RichTextBox?: toutes les entrées de texte, d'expressions et d'images sont implémentées dans des zones de texte enrichi, donc l'entrée est traité pour l'événement TextChanged Effectuer une série de traitements.

Texte?: Aucun traitement nécessaire.

émotic?ne?: saisissez le symbole d'échappement de l'émotic?ne dans la zone de texte, puis recherchez l'image de l'émotic?ne correspondante en fonction du symbole d'échappement et remplacez-la. InlineUIContainer

Graphiques dynamiques Gif?: Gif n'est pas pris en charge dans WPF, vous devez donc écrire un contr?le utilisateur personnalisé pour afficher les expressions gif.

Référez-vous à Zhou Yinhui

[Problème WPF] Afficher le GIF dynamique dans WPF

Fonction de capture d'écran?: Le code source était trouvé en ligne, est une capture d'écran de Winform. J'ai apporté quelques modifications mineures et les ai introduites dans le projet. Référence?: C# réalise un contr?le de capture d'écran complet (4) - version complète http://miracleart.cn/

3.

Le contr?le est TabControl, qui réécrit le style de TabControl et le style de TabItem

Afficher le code

????<Style x:Key="CustomerTabStyle" TargetType="{x:Type TabControl}">
????????<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
????????<Setter Property="Padding" Value="4,4,4,4"/>
????????<Setter Property="Background" Value="#F9F9F9"/>
????????<Setter Property="HorizontalContentAlignment" Value="Center"/>
????????<Setter Property="VerticalContentAlignment" Value="Center"/>
????????<Setter Property="Template">
????????????<Setter.Value>
????????????????<ControlTemplate TargetType="{x:Type TabControl}">
????????????????????<Grid ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local">
????????????????????????<Grid.ColumnDefinitions>
????????????????????????????<ColumnDefinition x:Name="ColumnDefinition0"/>
????????????????????????????<ColumnDefinition x:Name="ColumnDefinition1" Width="0"/>
????????????????????????</Grid.ColumnDefinitions>
????????????????????????<Grid.RowDefinitions>
????????????????????????????<RowDefinition x:Name="RowDefinition0" Height="Auto"/>
????????????????????????????<RowDefinition x:Name="RowDefinition1" Height="*"/>
????????????????????????</Grid.RowDefinitions>
????????????????????????<TabPanel x:Name="HeaderPanel" Grid.Column="0" Background="#f6f6f6" IsItemsHost="true"  Grid.Row="0" KeyboardNavigation.TabIndex="1" Panel.ZIndex="1"/>
????????????????????????<Border x:Name="ContentPanel"  Background="{TemplateBinding Background}" Grid.Column="0" KeyboardNavigation.DirectionalNavigation="Contained" Grid.Row="1" KeyboardNavigation.TabIndex="2" KeyboardNavigation.TabNavigation="Local">
????????????????????????????<ContentPresenter x:Name="PART_SelectedContentHost" ContentSource="SelectedContent"  SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
????????????????????????</Border>
????????????????????</Grid>
????????????????????<ControlTemplate.Triggers>
????????????????????????<Trigger Property="IsEnabled" Value="false">
????????????????????????????<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
????????????????????????</Trigger>
????????????????????</ControlTemplate.Triggers>
????????????????</ControlTemplate>
????????????</Setter.Value>
????????</Setter>
????</Style>

????<Style x:Key="ConnectedTabItemStyle" TargetType="{x:Type TabItem}">
????????<Setter Property="Foreground" Value="Black"/>
????????<Setter Property="Padding" Value="20,8,20,0"/>
????????<Setter Property="BorderBrush" Value="Transparent"/>
????????<Setter Property="Background" Value="#b9c0cc"/>
????????<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
????????<Setter Property="VerticalContentAlignment" Value="Stretch"/>
????????<Setter Property="Template">
????????????<Setter.Value>
????????????????<ControlTemplate TargetType="{x:Type TabItem}">
????????????????????<Grid SnapsToDevicePixels="true">
????????????????????????<Border x:Name="Bd" Background="#f6f6f6" Padding="{TemplateBinding Padding}">
????????????????????????????<StackPanel>
????????????????????????????????<Path  Width="18" Height="18"  Stretch="Fill" Fill="{TemplateBinding Background}" Data="F1 M 38,19C 43.5417,19 45.9167,22.1667 45.1174,28.8134C 45.8315,29.2229 46.3125,29.9928 46.3125,30.875C 46.3125,31.9545 45.5923,32.8658 44.6061,33.1546C 44.1941,34.623 43.5543,35.9229 42.75,36.9628L 42.75,41.9583C 45.3889,42.4861 47.5,42.75 50.6667,44.3333C 53.8333,45.9167 54.8889,47.3681 57,49.4792L 57,57L 19,57L 19,49.4792C 21.1111,47.3681 22.1667,45.9167 25.3333,44.3333C 28.5,42.75 30.6111,42.4861 33.25,41.9583L 33.25,36.9628C 32.4457,35.9229 31.8059,34.623 31.3939,33.1546C 30.4077,32.8658 29.6875,31.9545 29.6875,30.875C 29.6875,29.9928 30.1685,29.2229 30.8826,28.8134C 30.0833,22.1667 32.4583,19 38,19 Z "/>
????????????????????????????????<Border HorizontalAlignment="Center" x:Name="BottomBd" Margin="-6,-6,0,0" Visibility="Hidden">
????????????????????????????????????<Path  Fill="#e1e1e1" Data="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z" />
????????????????????????????????</Border>
????????????????????????????</StackPanel>
????????????????????????</Border>
????????????????????</Grid>
????????????????????<ControlTemplate.Triggers>
????????????????????????<Trigger Property="IsMouseOver" Value="true">
????????????????????????????<Setter Property="Background" TargetName="Bd" Value="#ededef"/>
????????????????????????</Trigger>
????????????????????????<Trigger Property="IsSelected" Value="true">
????????????????????????????<Setter Property="Panel.ZIndex" Value="1"/>
????????????????????????????<Setter Property="Background" TargetName="Bd" Value="#ffffff"/>
????????????????????????????<Setter Property="Background" Value="#08bd14"/>
????????????????????????????<Setter Property="Visibility" TargetName="BottomBd" Value="Visible"/>
????????????????????????</Trigger>
????????????????????????<MultiTrigger>
????????????????????????????<MultiTrigger.Conditions>
????????????????????????????????<Condition Property="IsSelected" Value="false"/>
????????????????????????????????<Condition Property="IsMouseOver" Value="true"/>
????????????????????????????</MultiTrigger.Conditions>
????????????????????????????<Setter Property="BorderBrush" TargetName="Bd" Value="#ffffff"/>
????????????????????????</MultiTrigger>

????????????????????</ControlTemplate.Triggers>
????????????????</ControlTemplate>
????????????</Setter.Value>
????????</Setter>
????</Style>

Panneau de réponse rapide

Appliquez TreeView plus HierarchicalDataTemplate pour implémenter une liste arborescente.

5. Transférer le client

Personnalisez la fenêtre de transfert du client, le style du code Xaml est le suivant suit :

<Style x:Key="NoResize_Window" TargetType="{x:Type Window}">
????????????????????????<Setter Property="FontFamily" Value="Consolas,Microsoft YaHei" />
????????????????????????<Setter Property="ResizeMode" Value="CanMinimize" />
????????????????????????<Setter Property="Template">
????????????????????????????<Setter.Value>
????????????????????????????????<ControlTemplate TargetType="{x:Type Window}">
????????????????????????????????????<Grid>
????????????????????????????????????????<Grid.RowDefinitions>
????????????????????????????????????????????<RowDefinition Height="30" />
????????????????????????????????????????????<RowDefinition Height="*" />
????????????????????????????????????????</Grid.RowDefinitions>
????????????????????????????????????????<Border Grid.Row="0"  >
????????????????????????????????????????????<Border.Background>
????????????????????????????????????????????????<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
????????????????????????????????????????????????????<GradientStop Color="#494A52" Offset="0"/>
????????????????????????????????????????????????????<GradientStop Color="#45464f" Offset="1"/>
????????????????????????????????????????????????</LinearGradientBrush>
????????????????????????????????????????????</Border.Background>
????????????????????????????????????????????<Grid>
????????????????????????????????????????????????<!--Icon and Title-->
????????????????????????????????????????????????<DockPanel     >
????????????????????????????????????????????????????<TextBlock Margin="12,0,0,0" Text="{TemplateBinding Title}" FontFamily="Calibri"  VerticalAlignment="Center" Foreground="#FFFFFF" />
????????????????????????????????????????????????????<StackPanel HorizontalAlignment="Right" Orientation="Horizontal" VerticalAlignment="Top">
????????????????????????????????????????????????????????<ctrl:MinAndCloseCaptionButton></ctrl:MinAndCloseCaptionButton>
????????????????????????????????????????????????????</StackPanel>
????????????????????????????????????????????????</DockPanel>
????????????????????????????????????????????</Grid>
????????????????????????????????????????</Border>

????????????????????????????????????????<Grid Grid.Row="1" >
????????????????????????????????????????????<Border Background="{TemplateBinding Background}"
                                        BorderBrush="{TemplateBinding BorderBrush}"  
                                        BorderThickness="{TemplateBinding BorderThickness}"
                                        Padding="{TemplateBinding Margin}"
                                        SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"  >
????????????????????????????????????????????????<ContentPresenter />
????????????????????????????????????????????</Border>
????????????????????????????????????????</Grid>
????????????????????????????????????</Grid>
????????????????????????????????</ControlTemplate>
????????????????????????????</Setter.Value>
????????????????????????</Setter>
????????????????????</Style>

View Code

轉接客戶列表,樣式Xaml代碼如下:

????<Style x:Key="OnlineUserListBoxStyle" TargetType="{x:Type ListBox}">
????????<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
????????<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
????????<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
????????<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
????????<Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
????????<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
????????<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
????????<Setter Property="VerticalContentAlignment" Value="Center"/>
????????<Setter Property="Template">
????????????<Setter.Value>
????????????????<ControlTemplate TargetType="{x:Type ListBox}">
????????????????????<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="1" SnapsToDevicePixels="true">
????????????????????????<DockPanel>
????????????????????????????<Border BorderBrush="#dbdbdb" BorderThickness="0,0,0,1" DockPanel.Dock="Top">
????????????????????????????????<Grid Background="#f6f6f6"  TextElement.Foreground="#999999" DockPanel.Dock="Top">
????????????????????????????????????<Grid.ColumnDefinitions>
????????????????????????????????????????<ColumnDefinition Width="*" />
????????????????????????????????????????<ColumnDefinition Width="*"/>
????????????????????????????????????????<ColumnDefinition Width="*"/>
????????????????????????????????????</Grid.ColumnDefinitions>
????????????????????????????????????<TextBlock Margin="5,7,0,6" Grid.Column="0">狀態(tài)</TextBlock>
????????????????????????????????????<TextBlock Margin="5,7,0,6" Grid.Column="1">工號</TextBlock>
????????????????????????????????????<TextBlock Margin="5,7,0,6" Grid.Column="2">昵稱</TextBlock>
????????????????????????????????</Grid>
????????????????????????????</Border>
????????????????????????????<ScrollViewer Focusable="false" Padding="{TemplateBinding Padding}">
????????????????????????????????<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
????????????????????????????</ScrollViewer>
????????????????????????</DockPanel>
????????????????????</Border>
????????????????????<ControlTemplate.Triggers>
????????????????????????<Trigger Property="IsEnabled" Value="false">
????????????????????????????<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
????????????????????????</Trigger>
????????????????????</ControlTemplate.Triggers>
????????????????</ControlTemplate>
????????????</Setter.Value>
????????</Setter>
????</Style>
????<Style x:Key="OnlineUserListBoxItemStyle" TargetType="{x:Type ListBoxItem}">
????????<Setter Property="Background" Value="Transparent"/>
????????<Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
????????<Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
????????<Setter Property="Padding" Value="2,0,0,0"/>
????????<Setter Property="Template">
????????????<Setter.Value>
????????????????<ControlTemplate TargetType="{x:Type ListBoxItem}">
????????????????????<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
????????????????????????<Grid>
????????????????????????????<Grid.ColumnDefinitions>
????????????????????????????????<ColumnDefinition Width="*" />
????????????????????????????????<ColumnDefinition Width="*"/>
????????????????????????????????<ColumnDefinition Width="*"/>
????????????????????????????</Grid.ColumnDefinitions>

????????????????????????????<StackPanel Grid.Column="0" Orientation="Horizontal" >
????????????????????????????????<Border Margin="4,2,4,2" Height="24" Width="24" >
????????????????????????????????????<Grid>
????????????????????????????????????????<Path Fill="#6f6f6f" Data="M6,17C6,15 10,13.9 12,13.9C14,13.9 18,15 18,17V18H6M15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6A3,3 0 0,1 15,9M3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5C3.89,3 3,3.9 3,5Z"  />
????????????????????????????????????????<Path Visibility="{Binding Path=IsOnLine,Converter={StaticResource BoolToVisibilityConverter}}" Fill="#8bc34a" Data="M6,17C6,15 10,13.9 12,13.9C14,13.9 18,15 18,17V18H6M15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6A3,3 0 0,1 15,9M3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5C3.89,3 3,3.9 3,5Z" />
????????????????????????????????????</Grid>
????????????????????????????????</Border>
????????????????????????????????<TextBlock Padding="4,0,4,0" VerticalAlignment="Center"  Text="{Binding Path=OnLineStatus}" />
????????????????????????????</StackPanel>
????????????????????????????<StackPanel Grid.Column="1" Orientation="Horizontal"  >
????????????????????????????????<TextBlock Padding="4,0,4,0"  VerticalAlignment="Center" Text="{Binding Path=Name}"/>
????????????????????????????</StackPanel>
????????????????????????????<StackPanel Grid.Column="2" Orientation="Horizontal"  >
????????????????????????????????<TextBlock Padding="4,0,4,0"  VerticalAlignment="Center" Text="{Binding Path=RealName}"/>
????????????????????????????</StackPanel>
????????????????????????</Grid>
????????????????????</Border>
????????????????????<ControlTemplate.Triggers>
????????????????????????<Trigger Property="IsSelected" Value="true">
????????????????????????????<Setter Property="Background" TargetName="Bd" Value="#9ea5b8"/>
????????????????????????????<Setter Property="Foreground" Value="#ffffff"/>
????????????????????????</Trigger>
????????????????????????<MultiTrigger>
????????????????????????????<MultiTrigger.Conditions>
????????????????????????????????<Condition Property="IsSelected" Value="false" />
????????????????????????????????<Condition Property="IsMouseOver" Value="true" />
????????????????????????????</MultiTrigger.Conditions>
????????????????????????????<Setter Property="Background" TargetName="Bd" Value="#e0e1e5"/>
????????????????????????</MultiTrigger>
????????????????????????<Trigger Property="IsEnabled" Value="false">
????????????????????????????<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
????????????????????????</Trigger>
????????????????????</ControlTemplate.Triggers>
????????????????</ControlTemplate>
????????????</Setter.Value>
????????</Setter>
????</Style>

View Code

?

關于以上控件的事件與命令,引進System.Windows.Interactivity.

在Xmal中導入命名控件?xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

使用代碼如下:

????????????????<ListBox Margin="12,0,12,0" BorderThickness="1" 
                                 Style="{DynamicResource OnlineUserListBoxStyle}" 
                                 ItemContainerStyle="{DynamicResource OnlineUserListBoxItemStyle}"
                                 ItemsSource="{Binding Path= AllUsers}"
                                 SelectedItem="{Binding Path=SelectedUser}"
                                 >
????????????????????<i:Interaction.Triggers>
????????????????????????<i:EventTrigger EventName="SelectionChanged">
????????????????????????????<i:InvokeCommandAction Command="{Binding Path= UserSelectedChangedCommand}" />
????????????????????????</i:EventTrigger>
????????????????????</i:Interaction.Triggers>
????????????????</ListBox>

View Code

?

系統(tǒng)運行截圖:

?

說明:

程序UI布局及展示為模仿微信多客服官方程序,所有樣式源碼為本人所寫及參考網(wǎng)上部分資源。

程序中所用圖標來源于這兩個資源庫:http://miracleart.cn/ ?http://miracleart.cn/

?

小結:

本文只作了簡單的介紹,主要介紹UI上的一些實現(xiàn)和功能介紹。具體后臺業(yè)務邏輯看以后能否補上,包括Prism使用,和微信公眾號相關的知識。

?

博客地址:http://miracleart.cn/
博客版權:本文以學習、研究和分享為主,歡迎轉載,但必須在文章頁面明顯位置標明原文連接并保留此處說明。
如果文中有不妥或者錯誤的地方還望您指出,以免讓讀者產(chǎn)生誤解。
感謝您的閱讀,喜歡就點個贊,【推薦】一下!

?

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Scrapy implémente l'exploration et l'analyse des articles du compte public WeChat Scrapy implémente l'exploration et l'analyse des articles du compte public WeChat Jun 22, 2023 am 09:41 AM

Scrapy met en ?uvre l'exploration d'articles et l'analyse des comptes publics WeChat. WeChat est une application de médias sociaux populaire ces dernières années, et les comptes publics qui y sont exploités jouent également un r?le très important. Comme nous le savons tous, les comptes publics WeChat sont un océan d’informations et de connaissances, car chaque compte public peut publier des articles, des messages graphiques et d’autres informations. Ces informations peuvent être largement utilisées dans de nombreux domaines, tels que les reportages médiatiques, la recherche universitaire, etc. Ainsi, cet article expliquera comment utiliser le framework Scrapy pour explorer et analyser les articles du compte public WeChat. Scr

Quelles sont les différences entre la certification et la non-certification du compte officiel WeChat ? Quelles sont les différences entre la certification et la non-certification du compte officiel WeChat ? Sep 19, 2023 pm 02:15 PM

La différence entre l'authentification du compte public WeChat et la non-authentification réside dans le logo d'authentification, les autorisations de fonction, la fréquence de poussée, les autorisations d'interface et la confiance de l'utilisateur. Introduction détaillée : 1. Le logo de certification. Les comptes publics certifiés obtiendront le logo de certification officiel, qui est le logo bleu V. Ce logo peut augmenter la crédibilité et l'autorité du compte public et permettre aux utilisateurs d'identifier plus facilement le véritable compte public officiel. 2. Autorisations de fonction. Les comptes publics certifiés ont plus de fonctions et d'autorisations que les comptes publics non certifiés. Par exemple, les comptes publics certifiés peuvent demander à activer la fonction de paiement WeChat pour réaliser des paiements en ligne et des opérations commerciales, etc.

Tutoriel WPF de l'entrée à la ma?trise Tutoriel WPF de l'entrée à la ma?trise Oct 27, 2023 am 09:45 AM

WPF est un framework de développement d'applications de bureau basé sur le .NET Framework développé par Microsoft. Il fournit des éléments d'interface utilisateur riches, une liaison de données, une animation et d'autres fonctions, permettant aux développeurs de créer facilement des applications de bureau de haute qualité.

Combat pratique de robots d'exploration en Python?: robot d'exploration de compte public WeChat Combat pratique de robots d'exploration en Python?: robot d'exploration de compte public WeChat Jun 10, 2023 am 09:01 AM

Python est un langage de programmation élégant doté de puissantes capacités de traitement des données et d'exploration Web. à l’ère du numérique, Internet regorge d’une grande quantité de données et les robots d’exploration sont devenus un moyen important d’obtenir des données. Par conséquent, les robots d’exploration Python sont largement utilisés dans l’analyse et l’exploration de données. Dans cet article, nous expliquerons comment utiliser le robot d'exploration Python pour obtenir des informations sur les articles du compte public WeChat. Le compte officiel WeChat est une plateforme de médias sociaux populaire pour la publication d'articles en ligne et constitue un outil important pour la promotion et le marketing de nombreuses entreprises et médias personnels.

Utilisez PHP pour créer une interface API de compte public WeChat Utilisez PHP pour créer une interface API de compte public WeChat May 13, 2023 pm 12:01 PM

à l’ère d’Internet d’aujourd’hui, les comptes officiels WeChat sont devenus un canal de marketing important pour de plus en plus d’entreprises. Si vous souhaitez que votre compte officiel WeChat implémente plus de fonctions, vous devez souvent écrire les interfaces correspondantes. Cet article utilisera le langage PHP comme exemple pour présenter comment créer une interface API de compte public WeChat. 1. Préparation Avant d'écrire l'interface API du compte public WeChat, le développeur doit disposer d'un compte de compte public WeChat et demander les autorisations d'interface de développeur sur la plateforme publique WeChat. Une fois l'application réussie, vous pouvez obtenir les développeurs AppID et AppSe appropriés.

Comment utiliser Laravel pour développer un système de commande en ligne basé sur le compte public WeChat Comment utiliser Laravel pour développer un système de commande en ligne basé sur le compte public WeChat Nov 02, 2023 am 09:42 AM

Comment utiliser Laravel pour développer un système de commande en ligne basé sur les comptes officiels WeChat. Avec l'utilisation généralisée des comptes officiels WeChat, de plus en plus d'entreprises commencent à les utiliser comme canal important de marketing en ligne. Dans le secteur de la restauration, le développement d'un système de commande en ligne basé sur les comptes publics WeChat peut améliorer l'efficacité et les ventes des entreprises. Cet article expliquera comment utiliser le framework Laravel pour développer un tel système et fournira des exemples de code spécifiques. Préparation du projet Tout d'abord, vous devez vous assurer que le framework Laravel a été installé dans l'environnement local. D'ACCORD

Le compte officiel ne peut-il publier qu'un seul article par jour ? Le compte officiel ne peut-il publier qu'un seul article par jour ? Jun 16, 2023 pm 02:04 PM

Le compte public peut non seulement publier un article par jour, mais peut publier jusqu'à huit articles à la fois. Comment publier plusieurs articles : 1. Cliquez sur ? Gestion du matériel ? sur la gauche, puis cliquez sur ? Nouveau matériel graphique et textuel ?. pour commencer l'édition. Premier article ; 2. Après avoir édité le premier article, cliquez sur le signe + sous le premier article à gauche et cliquez sur ? Image et message texte ? pour modifier le deuxième article ; "Enregistrer et envoyer en masse" pour finaliser la publication de plusieurs articles.

Créer une application de compte public WeChat à l'aide du framework de langage Go Créer une application de compte public WeChat à l'aide du framework de langage Go Jun 04, 2023 am 10:40 AM

Avec la popularité d’Internet et l’utilisation généralisée des appareils mobiles, les comptes officiels WeChat sont devenus un élément indispensable du marketing d’entreprise. Grace aux comptes publics WeChat, les entreprises peuvent facilement interagir avec les utilisateurs, promouvoir des produits et services et accro?tre la notoriété de leur marque. Afin de mieux développer les applications de compte public WeChat, de plus en plus de développeurs et d'entreprises choisissent d'utiliser le langage Go pour créer des applications de compte public WeChat. Le langage Go est un langage de programmation développé par Google. Sa syntaxe est concise et adaptée à la création d'applications en temps réel hautes performances et à haute concurrence. En termes de facilité d'utilisation et

See all articles