亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Rumah applet WeChat pembangunan WeChat 用WPF實現(xiàn)微信公眾號多客服功能

用WPF實現(xiàn)微信公眾號多客服功能

Mar 05, 2017 pm 02:16 PM
wpf Pelbagai fungsi perkhidmatan pelanggan Akaun awam WeChat

原文標題:用WPF實現(xiàn)微信公眾號多客服功能?

簡介:

  這是利用WPF作為前端技術(shù),實現(xiàn)桌面版微信多客服系統(tǒng)。項目采用Prism作為前端框架,采用MVVM模式極好的對UI和邏輯代碼分離,使用MefBootstrapper集成的MEF IOC容器,解耦各模塊對象。合理利用?IEventAggregator 實現(xiàn)事件和交互。文章在介紹對應(yīng)功能時候會給出相關(guān)實現(xiàn)的參考,讀者可以參考改進,引入到自己的項目中。

程序運行界面及功能預(yù)覽:

?

一、登陸:

功能:支持記住用戶和用戶設(shè)置,可選擇記住用戶密碼。

實現(xiàn)相關(guān):

自定義登陸窗口,引入Microsoft.Windows.Shell。可參考?WPF Custom Chrome Library?和??MSDN?WindowChrome Class?有相關(guān)自定義窗口實現(xiàn)。

最小化、最大化、關(guān)閉按鈕功能實現(xiàn)可參考上面的例子。

登陸按鈕,自定義Style,重寫B(tài)utton的Template,參考代碼如下:

?<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>

View Code

記住密碼,采用?XmlSerializer 把用戶信息序列化到本地xml配置文件中,程序啟動時加載該xml配置文件。用法?MSDN?XmlSerializer?

?

二、聊天窗口,信息發(fā)送

功能:文字發(fā)送,表情發(fā)送,圖片發(fā)送,屏幕截圖,快捷回復(fù)

?

RichTextBox?相關(guān)實現(xiàn):文字,表情,圖片所有輸入都是在富文本框 里實現(xiàn),因此針對?TextChanged 事件對輸入進行一系列處理。

文字:不用做任何處理。

表情:文本框里輸入的是表情的轉(zhuǎn)義符號,然后根據(jù)轉(zhuǎn)義符號找到對應(yīng)表情圖片進行替換。InlineUIContainer

Gif 動態(tài)圖:WPF中不支持Gif,所以要編寫自定義用戶控件作為用來顯示gif表情。參考 周銀輝?[WPF疑難]在WPF中顯示動態(tài)GIF

截圖功能:源碼在網(wǎng)上找到的,是Winform的一個截圖。做了小許修改引進到項目。

?參考:C# 實現(xiàn)完整功能的截圖控件(4)-完整版?http://ipnx.cn/

?

三、客戶列表

控件為?TabControl,重寫了TabControl 的Style 和 TabItem的Style

????<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>

View Code

?

四、快捷回復(fù)面板

應(yīng)用?TreeView 加?HierarchicalDataTemplate 實現(xiàn)樹形列表。

?

五、轉(zhuǎn)接客戶

自定義轉(zhuǎn)接客戶窗口,樣式Xaml代碼如下:

<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

轉(zhuǎn)接客戶列表,樣式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

?

關(guān)于以上控件的事件與命令,引進System.Windows.Interactivity.

在Xmal中導(dǎo)入命名控件?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://ipnx.cn/ ?http://ipnx.cn/

?

小結(jié):

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

?

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

?

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Jun 22, 2023 am 09:41 AM

Scrapy melaksanakan rangkak artikel dan analisis akaun awam WeChat WeChat ialah aplikasi media sosial yang popular dalam beberapa tahun kebelakangan ini, dan akaun awam yang dikendalikan di dalamnya juga memainkan peranan yang sangat penting. Seperti yang kita sedia maklum, akaun awam WeChat adalah lautan maklumat dan pengetahuan, kerana setiap akaun awam boleh menerbitkan artikel, mesej grafik dan maklumat lain. Maklumat ini boleh digunakan secara meluas dalam banyak bidang, seperti laporan media, penyelidikan akademik, dsb. Jadi, artikel ini akan memperkenalkan cara menggunakan rangka kerja Scrapy untuk merangkak dan menganalisis artikel akaun awam WeChat. Scr

Apakah perbezaan antara pensijilan akaun rasmi WeChat dan bukan pensijilan? Apakah perbezaan antara pensijilan akaun rasmi WeChat dan bukan pensijilan? Sep 19, 2023 pm 02:15 PM

Perbezaan antara pensijilan akaun rasmi WeChat dan bukan pensijilan terletak pada logo pensijilan, kebenaran fungsi, kekerapan tolak, kebenaran antara muka dan kepercayaan pengguna. Pengenalan terperinci: 1. Logo pensijilan akaun awam yang disahkan akan memperoleh logo pensijilan rasmi, iaitu logo V biru ini boleh meningkatkan kredibiliti dan kewibawaan akaun awam dan memudahkan pengguna mengenal pasti akaun awam rasmi yang sebenar ; 2. Keizinan fungsi Akaun awam yang diperakui mempunyai lebih banyak fungsi dan kebenaran daripada akaun awam yang diperakui Contohnya, akaun awam yang diperakui boleh memohon untuk mengaktifkan fungsi pembayaran WeChat untuk merealisasikan pembayaran dalam talian dan operasi komersial.

Pertempuran perangkak praktikal dalam Python: perangkak akaun awam WeChat Pertempuran perangkak praktikal dalam Python: perangkak akaun awam WeChat Jun 10, 2023 am 09:01 AM

Python ialah bahasa pengaturcaraan yang elegan dengan pemprosesan data yang berkuasa dan keupayaan merangkak web. Dalam era digital ini, Internet dipenuhi dengan sejumlah besar data, dan crawler telah menjadi cara penting untuk mendapatkan data Oleh itu, crawler Python digunakan secara meluas dalam analisis data dan perlombongan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan perangkak Python untuk mendapatkan maklumat artikel akaun awam WeChat. Akaun rasmi WeChat ialah platform media sosial yang popular untuk menerbitkan artikel dalam talian dan merupakan alat penting untuk promosi dan pemasaran banyak syarikat dan media sendiri.

Tutorial WPF dari kemasukan ke kemahiran Tutorial WPF dari kemasukan ke kemahiran Oct 27, 2023 am 09:45 AM

WPF ialah rangka kerja pembangunan aplikasi desktop berdasarkan Rangka Kerja .NET yang dibangunkan oleh Microsoft. Ia menyediakan elemen antara muka pengguna yang kaya, pengikatan data, animasi dan fungsi lain, membolehkan pembangun membuat aplikasi desktop berkualiti tinggi dengan mudah.

Gunakan PHP untuk membina antara muka API akaun awam WeChat Gunakan PHP untuk membina antara muka API akaun awam WeChat May 13, 2023 pm 12:01 PM

Dalam era Internet hari ini, akaun rasmi WeChat telah menjadi saluran pemasaran yang penting untuk lebih banyak syarikat. Jika anda mahu akaun rasmi WeChat anda melaksanakan lebih banyak fungsi, anda selalunya perlu menulis antara muka yang sepadan. Artikel ini akan menggunakan bahasa PHP sebagai contoh untuk memperkenalkan cara membina antara muka API akaun awam WeChat. 1. Persediaan Sebelum menulis antara muka API akaun awam WeChat, pembangun perlu mempunyai akaun akaun awam WeChat dan memohon kebenaran antara muka pembangun dalam platform awam WeChat. Selepas aplikasi berjaya, anda boleh mendapatkan AppID dan AppSe pembangun yang berkaitan

Cara menggunakan Laravel untuk membangunkan sistem pesanan dalam talian berdasarkan akaun awam WeChat Cara menggunakan Laravel untuk membangunkan sistem pesanan dalam talian berdasarkan akaun awam WeChat Nov 02, 2023 am 09:42 AM

Cara menggunakan Laravel untuk membangunkan sistem pesanan dalam talian berdasarkan akaun rasmi WeChat Dengan penggunaan meluas akaun rasmi WeChat, semakin banyak syarikat mula menggunakannya sebagai saluran penting untuk pemasaran dalam talian. Dalam industri katering, membangunkan sistem pesanan dalam talian berdasarkan akaun awam WeChat boleh meningkatkan kecekapan dan jualan perusahaan. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Laravel untuk membangunkan sistem sedemikian dan menyediakan contoh kod khusus. Penyediaan projek Pertama, anda perlu memastikan bahawa rangka kerja Laravel telah dipasang dalam persekitaran setempat. OK

Bolehkah akaun rasmi hanya menyiarkan satu artikel setiap hari? Bolehkah akaun rasmi hanya menyiarkan satu artikel setiap hari? Jun 16, 2023 pm 02:04 PM

Akaun awam bukan sahaja boleh menyiarkan satu artikel setiap hari, tetapi boleh menerbitkan sehingga lapan artikel pada satu masa. Cara menerbitkan berbilang artikel: 1. Klik "Pengurusan Bahan" di sebelah kiri, dan kemudian klik "Bahan Grafik dan Teks Baharu". untuk mula mengedit. Artikel pertama; 2. Selepas mengedit artikel pertama, klik tanda + di bawah artikel pertama di sebelah kiri dan klik "Mesej Grafik" untuk mengedit artikel kedua dan hantar secara pukal" untuk melengkapkan penerbitan berbilang artikel.

Bina aplikasi akaun awam WeChat menggunakan rangka kerja bahasa Go Bina aplikasi akaun awam WeChat menggunakan rangka kerja bahasa Go Jun 04, 2023 am 10:40 AM

Dengan populariti Internet dan penggunaan meluas peranti mudah alih, akaun rasmi WeChat telah menjadi bahagian penting dalam pemasaran korporat. Melalui akaun awam WeChat, syarikat boleh berinteraksi dengan pengguna dengan mudah, mempromosikan produk dan perkhidmatan serta meningkatkan kesedaran jenama. Untuk membangunkan aplikasi akaun awam WeChat dengan lebih baik, semakin ramai pembangun dan syarikat memilih untuk menggunakan bahasa Go untuk membina aplikasi akaun awam WeChat. Bahasa Go ialah bahasa pengaturcaraan yang dibangunkan oleh Google Sintaksnya ringkas dan sesuai untuk membina aplikasi masa nyata berprestasi tinggi. Dari segi kemudahan penggunaan dan

See all articles