据悉Bootstrap的微信门户应用管理种类成效介绍

百度API:xlongwei

百度API:xlongwei

微信C# SDK

在前边介绍很多的微信框架,基本上都拔取EasyUI的界面来搭建的微信框架,如小说《C#开发微信门户及接纳(8)-微信门户应用管理连串功能介绍》介绍的平等,可是随着微信的H5应用越多,由此转换为更符合做H5页面使用框架的Bootstrap开发框架,本文介绍的整套微信模块都以基于Bootstrap的使用。

此人提供的接口很多哟,也很实用:Word转Html、Word转Pdf、属性配置、手机号段、微信公众号消息加密、微信公众号新闻解密、二维码、关键词、分词、拼音、生僻字、乐乎短链接。不过过多都不感兴趣的,除了3个,那就是华语分词嗬。往日某天突然对浏览器以及编辑器中的鼠标双击事件一贯当选词组只怕一段数字很好奇。然后问群里人,群里说是中文分词,之后看书(应该是《暗时间》)也无意看到。还扯出了起先思考好多巧合不是偶合的未缓解的思想难点。纵然将来的知识以及技巧对自然语言还不能处理,不过用接口感受一下依然不算过分吗。

本条人提供的接口很多哟,也很实用:Word转Html、Word转Pdf、属性配置、手机号段、微信公众号新闻加密、微信公众号新闻解密、二维码、关键词、分词、拼音、生僻字、新浪短链接。但是过多都不感兴趣的,除了二个,那就是华语分词嘿。在此之前某天突然对浏览器以及编辑器中的鼠标双击事件直接当选词组大概一段数字很好奇。然后问群里人,群里说是中文分词,之后看书(应该是《暗时间》)也无意看到。还扯出了开首盘算好多巧合不是偶合的未缓解的思想难题。固然未来的知识以及技术对自然语言还不或许处理,可是用接口感受一下依旧不算过分吗。

# 模块功能 DLL
1 基础库 Senparc.Weixin.dll
2 微信公众号 / 微信支付 / JSSDK / 摇周边 / 等等 Senparc.Weixin.MP.dll
3 ASP.NET MVC 扩展 Senparc.Weixin.MP.MVC.dll
4 微信企业号 Senparc.Weixin.QY.dl
5 微信开放平台 Senparc.Weixin.Open.dll
6 Redis 分布式缓存 Senparc.Weixin.Cache.Redis.dll
7 Memcached 分布式缓存 Senparc.Weixin.Cache.Memcached.dll

微信支付包涵公众号、公司号、微信小程序等方面的付出内容,须求对腾信的微信API接口举办打包:包涵事件、菜单、订阅用户、多媒体文件、图文音讯、音信群发、微信支付和商号红包、摇一摇设备、语义精晓、微信小店、微信卡劵等连锁接口处理,此外还包蕴扫一扫、图库和照片管理、地理地点、H5页面开发等情节,以及公司号简报录接口、成员信息互相发送等方面接口。

1.Word转Html、Word转Pdf 

 亚洲必赢手机入口 1

【接纳Word文档】触发file类型的input的click事件(代码里面用了jquery,也可以直接用js写那块就毫无引入jq文件了)。然后点转换,执行上传+转换。最终的链接就是本服务器存储的根源API的处理公事 

亚洲必赢手机入口 2亚洲必赢手机入口 3

 1 <html>
 2     <head><meta charset="utf-8">
 3         <script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
 4         <script type="text/javascript">
 5             $(function(){
 6                $('#wordx').click(function(){
 7                    $('#file').click();
 8                });
 9             });
10         </script>
11     </head>
12     <body>
13         <form action="" method="post" enctype="multipart/form-data">
14         <input type="file" name="file" id="file" style="display:none"/>
15         <input type="button" id="wordx" value="选择Word文档">
16         <br />
17         <input type="submit" name="submit" value="WORD转Html" />
18         </form>
19     </body>
20 
21 </html>
22 <?php
23     $maxSize=5*1024*1024;//5M
24     if(!isset($_FILES["file"]["error"])){
25         exit;
26     }
27     if($_FILES["file"]["error"] > 0){
28         echo "Error: " . $_FILES["file"]["error"] . "<br />";
29         exit;
30     }else{
31        /* echo "Upload: " . $_FILES["file"]["name"] . "<br />";
32         //echo "Type: " . $_FILES["file"]["type"] . "<br />";
33         echo "Stored in: " . $_FILES["file"]["tmp_name"].'<br/>';
34         echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";*/
35 
36         $suffix=substr(strrchr($_FILES["file"]["name"], '.'), 1);
37         if($suffix!='doc' && $suffix!='docx'){
38             echo '只允许doc和docx格式word文件';
39             exit;
40         }
41         if($_FILES["file"]["size"]>$maxSize){
42             echo '大于'.$maxSize/(1024*1024).'Mb';
43             exit;
44         }
45 
46         $name=date('YmdHis',time()).rand(1000,10000).'.'.$suffix;//拼接文件名
47         if (file_exists("upload/" . $name)){
48             echo $_FILES["file"]["name"] . " already exists. ";
49             exit;
50         }else{
51             $domain=$_SERVER['SERVER_NAME'];
52             $status=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $name);
53             //echo "Stored in: " . "upload/" . $name;
54             $url="http://{$domain}/api/upload/{$name}";
55             if ( (!file_exists ("upload/{$name}")) || !$status){
56                 echo '上传失败';
57                 exit;
58             }else{
59                 //echo "<a href='{$url}'>上传成功</a><br/>";
60                 //echo "上传成功<br/>";
61             }
62 
63             //Word转Html
64             
65             $ch = curl_init();
66             $url = 'http://apis.baidu.com/xlongwei/open/doc2html?url='.$url;
67             $header = array(
68                 'apikey:百度API密钥',
69             );
70             curl_setopt($ch, CURLOPT_HTTPHEADER  , $header);
71             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
72             // 执行HTTP请求
73             curl_setopt($ch , CURLOPT_URL , $url);
74             $res = curl_exec($ch);
75             $data=json_decode($res,true);
76             //var_dump($data);
77             $htmlurl=NULL;
78             if(isset($data['domain'])&&isset($data['path'])){
79                 $htmlurl=$data['domain'].$data['path'];
80                 $name=$name=date('YmdHis',time()).rand(1000,10000).'.html';
81                 $status=copy($htmlurl,"html/" . $name);//网络链接的文件不能用move_uploaded_file,用了copy可以
82                 if($status){
83                     $htmlurl="http://{$domain}/api/html/{$name}";
84                 }else{
85                     //echo '挪动出错';
86                     //exit;
87                 }
88                 echo "<a href='$htmlurl'>Html转换完成</a>";
89 
90             }else{
91                 echo '服务器错误,请重试。';
92                 exit;
93             }
94         }
95     }
96 ?>

Word转Html完整代码

 Pdf类似,只是接口处有不相同。感觉效果还蛮好的嘛。肯定了,又不是相反的接口。

1.Word转Html、Word转Pdf 

 亚洲必赢手机入口 4

【选用Word文档】触发file类型的input的click事件(代码里面用了jquery,也得以直接用js写那块就绝不引入jq文件了)。然后点转换,执行上传+转换。最终的链接就是本服务器存储的来自API的处理公事 

亚洲必赢手机入口 5亚洲必赢手机入口 6

 1 <html>
 2     <head><meta charset="utf-8">
 3         <script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
 4         <script type="text/javascript">
 5             $(function(){
 6                $('#wordx').click(function(){
 7                    $('#file').click();
 8                });
 9             });
10         </script>
11     </head>
12     <body>
13         <form action="" method="post" enctype="multipart/form-data">
14         <input type="file" name="file" id="file" style="display:none"/>
15         <input type="button" id="wordx" value="选择Word文档">
16         <br />
17         <input type="submit" name="submit" value="WORD转Html" />
18         </form>
19     </body>
20 
21 </html>
22 <?php
23     $maxSize=5*1024*1024;//5M
24     if(!isset($_FILES["file"]["error"])){
25         exit;
26     }
27     if($_FILES["file"]["error"] > 0){
28         echo "Error: " . $_FILES["file"]["error"] . "<br />";
29         exit;
30     }else{
31        /* echo "Upload: " . $_FILES["file"]["name"] . "<br />";
32         //echo "Type: " . $_FILES["file"]["type"] . "<br />";
33         echo "Stored in: " . $_FILES["file"]["tmp_name"].'<br/>';
34         echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";*/
35 
36         $suffix=substr(strrchr($_FILES["file"]["name"], '.'), 1);
37         if($suffix!='doc' && $suffix!='docx'){
38             echo '只允许doc和docx格式word文件';
39             exit;
40         }
41         if($_FILES["file"]["size"]>$maxSize){
42             echo '大于'.$maxSize/(1024*1024).'Mb';
43             exit;
44         }
45 
46         $name=date('YmdHis',time()).rand(1000,10000).'.'.$suffix;//拼接文件名
47         if (file_exists("upload/" . $name)){
48             echo $_FILES["file"]["name"] . " already exists. ";
49             exit;
50         }else{
51             $domain=$_SERVER['SERVER_NAME'];
52             $status=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $name);
53             //echo "Stored in: " . "upload/" . $name;
54             $url="http://{$domain}/api/upload/{$name}";
55             if ( (!file_exists ("upload/{$name}")) || !$status){
56                 echo '上传失败';
57                 exit;
58             }else{
59                 //echo "<a href='{$url}'>上传成功</a><br/>";
60                 //echo "上传成功<br/>";
61             }
62 
63             //Word转Html
64             
65             $ch = curl_init();
66             $url = 'http://apis.baidu.com/xlongwei/open/doc2html?url='.$url;
67             $header = array(
68                 'apikey:百度API密钥',
69             );
70             curl_setopt($ch, CURLOPT_HTTPHEADER  , $header);
71             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
72             // 执行HTTP请求
73             curl_setopt($ch , CURLOPT_URL , $url);
74             $res = curl_exec($ch);
75             $data=json_decode($res,true);
76             //var_dump($data);
77             $htmlurl=NULL;
78             if(isset($data['domain'])&&isset($data['path'])){
79                 $htmlurl=$data['domain'].$data['path'];
80                 $name=$name=date('YmdHis',time()).rand(1000,10000).'.html';
81                 $status=copy($htmlurl,"html/" . $name);//网络链接的文件不能用move_uploaded_file,用了copy可以
82                 if($status){
83                     $htmlurl="http://{$domain}/api/html/{$name}";
84                 }else{
85                     //echo '挪动出错';
86                     //exit;
87                 }
88                 echo "<a href='$htmlurl'>Html转换完成</a>";
89 
90             }else{
91                 echo '服务器错误,请重试。';
92                 exit;
93             }
94         }
95     }
96 ?>

Word转Html完整代码

 Pdf类似,只是接口处有分歧。感觉效果还蛮好的嘛。肯定了,又不是相反的接口。

本库为.NET4.5,其余.NET版本请看个别分支。

1、系统的机要特点总括

微信门户应用管理连串,拔取基于 MVC + Bootstrap + Ajax + Enterprise
Library
的技巧途径,界面层选取Boostrap +
Metronic组合的前端框架,数据访问层帮衬Oracle、SQLServer、MySQL、PostgreSQL等数据库。在微信门户系统里头,完成下边这么些作用操作:

    1)完结菜单的动态配置及更新到服务器上;

    2)动态定义事件和响应音讯,完结对差异行业,差距必要的食谱动作响应;

    3)动态的应对指令配置处理,完成全数应答链的新闻处理;

    4)获取订阅用户和用户分组音信,并可以达成用户分组消息的掩护等操作;

    5)管理并更新多媒体文件、图文新闻等故事情节,方便为客户推送音讯做准备。

    6)使用向选定订阅用户照旧分组进行音信的群发作用。

 
  7)提供对用户语音的甄别,并将识别结果和事件处理举行交接,完结语音内容的处理。

 
  8)提供对地理地方的笔录和扩大应用,落成对百度天气、热播影片、影院、旅游、交通音讯等地点的第2方应用的连片。

    9)记录用户输入的对话记录,并得以根据会话记录向客户拓展新闻的出殡。

 
  10)集成微信扫一扫的功力,达成条码和二维码扫码的出力结合,可以在后台整合自个儿应处理;。

 
  11)集成微信其余新型功效,蕴含摄录和图库拔取、急速发送地理地点等职能;

    12)集成获取关切成员的唯一ID,更新用户备注,获取客服聊天记录等效率。

 
  13)集成微信支付和商店红包、摇一摇设备、语义驾驭、微信小店、微信卡劵等有关接口处理。

 
  14)达成公司通信录的管理,包涵机关管理、成员管理、标签管理,使得我们可以更便于同步企业号信息;

    15)完结集团号无界定的消息发送,可以使公司和尊敬成员之间联系更顺畅;

 
  16)集成公司号文件音讯、图片音信、文件音讯、语音音讯、摄像新闻、图文音讯等内容的殡葬整合,统一处理接口;

 
  17)完成集团号菜单的动态配置及更新到服务器上,动态定义菜单事件和响应音讯,落成差别的菜谱动作响应;

 
  18)管理并立异集团号的多媒体文件,方便同步到温馨文件服务器举行存储和拍卖;

    19)使用重定向成效获订阅用户新闻,完结公司成员身价的求证和处理。

 
  20)平台和微信开放平台整合扫描二维码登录,通过扫码绑定并直接登陆系统。

    ……

2.二维码

亚洲必赢手机入口 7

本人的神器海螺呢,还想问问二维码什么规律呢。

3.汉语分词

亚洲必赢手机入口 8

Ansj普通话分词 那是一个ictclas的java完结.

好棒,那分词。之后顺手把拼音也置于到分词中去。

亚洲必赢手机入口 9

其中单字有多音字就会有几许个音,比如那几个吃(chi ji)、吐(tu3
tu4),所以判断存不存在header(header
是拼音的首拼)然后空格分割取第二,个(因为旁观第3个一大半相比规范且自个儿也分辨不出第多少个是最好的呦)就OK。

亚洲必赢手机入口 10

挑一个BUG:不了了之 bulelezhi,为啥不加成语字典呢。

2.二维码

亚洲必赢手机入口 11

自个儿的神器海螺呢,还想问问二维码什么规律呢。

3.华语分词

亚洲必赢手机入口 12

Ansj中文分词 那是一个ictclas的java完毕.

好棒,那分词。之后顺手把拼音也置于到分词中去。

亚洲必赢手机入口 13

内部单字有多音字就会有少数个音,比如这些吃(chi ji)、吐(tu3
tu4),所以判断存不存在header(header
是拼音的首拼)然后空格分割取第2个(因为观察第1个一大半比较可看重且自身也分辨不出第多少个是最好的哟)就OK。

亚洲必赢手机入口 14

挑一个BUG:不了了之 bulelezhi,为啥不加成语字典呢。

  • 现已协助全部微信6
    API,包涵自定义菜单/性格化菜单、模板音讯接口、素材上传接口、群发接口、多客服接口、支付接口、微小店接口、卡券接口等等。 >
    (同时鉴于易信的API近期与微信保持一致,此SDK也足以直接用于易信,如需使用易信的自定义菜单,通用接口改成易信的通信地址即可)
  • 早已支撑用户会话上下文(消除服务器不可以运用Session处理用户消息的题材)。
  • 已经圆满帮衬微信公众号、集团号、开放平台的新式API。
  • 早已支持分布式缓存及缓存策略增添。

2、系统机能介绍

当前法定的API都已完美集成,除非有尤其表明,全体升级都会尽量保障向下包容,所以已经发表的版本请放心使用或间接晋级(覆盖)最新的DLLs。

2.1)系统登录

 亚洲必赢手机入口 15

在系统登录界面输入账号和密码后(暗许账号admin,密码为空),即可以拔尖管理员身份进入管理序列的主界面。

系统登录后,通过水平菜单举办后台功用管理。

亚洲必赢手机入口 16

假若急需利用或改动此项目标源代码,提议先Fork。也欢迎将你修改的通用版本Pull
Request过来。

2.2)微信账号管理

 系统援救多微信账号的衔接管理和利用,同时协理订阅号、公众号、集团号、小程序的账号配置。

 亚洲必赢手机入口 17

可以在系统右上角举行账号的切换管理。

亚洲必赢手机入口 18

资源

  1. 官网地址:
  2. 名目繁多教程:
  3. 微信技术交换社区:
  4. 自定义菜单在线编辑工具:
  5. 在线信息测试工具:
  6. 缓存测试工具:
  7. chm协理文档下载:
  8. 源代码及最新更新:
  • 技术互换QQ群(近日未满可加:8群/9群,其他群均已满):

1群:300313885,2群:293958349,3群:342319110,4群:372212092

5群:377815480,6群:425898825,7群:482942254,8群:106230270

9群:539061281

  • 业务联系QQ:498977166

  • 今日头条和讯:@苏震巍

倘使这几个项目对您有用,我们迎接各方任何方式的支持,也席卷参加到品种代码更新或意见反馈中来。多谢!

基金支持: 跻身主页

2.3)菜单管理

 在系统中管理菜单,并通过把菜单提交到服务器上,完结菜单的动态配置和变化,可以为大家系统适应各个的急需,落成灵活的处理。

亚洲必赢手机入口 19

微信菜单的丰盛界面如下所示。

亚洲必赢手机入口 20

 微信菜单的改动界面如下所示

亚洲必赢手机入口 21

 微信菜单定义是储存在数据库里面,假若须要交给到微信服务器上并生效,则必要调用微信API接口进行处理,小编在页面的Controller控制器里增添一个交给到服务器的处理格局。

亚洲必赢手机入口 22

在微信服务账号的流派上,菜单的变现效果如下所示。

亚洲必赢手机入口 23

咱俩清楚,微信的服务器架起了客户手机和开发者服务器的2个桥梁。当大家在微信服务器上的众生账号创造了对应的菜单,通过信息的传递和响应,就能促成了与用户的相互操作,上边是它的音讯流程图。

亚洲必赢手机入口 24

 

关心测试账号(Senparc罗布ot):

亚洲必赢手机入口 25

微信公众平台开发连串教程:

2.4)菜单事件的处理

对此动态变化的菜系,大部分场馆下是用作Click的法门,约等于索要定义各个菜单的事件响应操作,大家运用微信的话,可以驾驭到,微信的处监护人件,一般可以响应用户文本新闻、图片音信、图文新闻等内容,常规下,一般拔取文本音讯如故图文消息居多。

为了特别贯彻响应内容的重用,大家把菜单的轩然大波定义和内容定义举行分离管理,事件定义可以行使多少个文本音讯,也得以动用三个图文新闻举行重组,那样可以兑现更为灵活的使用环境。

亚洲必赢手机入口 26

累加风浪定义如下所示

亚洲必赢手机入口 27

事件的响应内容编码,能够选取输入恐怕从“编辑”按钮中选拔,当接纳“编辑”按钮进行精选的时候,系统弹出三个对话框供用户对事件的响应内容编码选取。

亚洲必赢手机入口 28

达成选拔后,回到原来的新增界面,将会看到重返的笔录就是我们挑选的笔录。

亚洲必赢手机入口 29

微信事件的编辑界面如下所示,类似新增界面的情节。

亚洲必赢手机入口 30

 

类型文件夹表明

文件夹 说明
Senparc.Weixin.Cache Senparc.Weixin.Cache.Memcached.dll 、 Senparc.Weixin.Cache.Redis.dll 等分布式缓存扩展方案
Senparc.Weixin.MP.BuildOutPut 所有最新版本DLL发布文件夹
Senparc.Weixin.MP.MvcExtension Senparc.Weixin.MP.MvcExtension.dll源码,为MVC4.0项目提供的扩展包。
Senparc.Weixin.MP.Sample 可以直接发布使用的Demo(ASP.NET MVC 4.0)
Senparc.Weixin.MP.Sample.WebForms 可以直接发布使用的Demo(ASP.NET WebForms)
Senparc.Weixin.MP Senparc.Weixin.MP.dll 微信公众账号SDK源代码
Senparc.Weixin.QY Senparc.Weixin.QY.dll 微信企业号SDK源代码
Senparc.Weixin.Open Senparc.Weixin.Open.dll 第三方开放平台SDK源代码
Senparc.Wiexin 所有Senparc.Weixin.[x].dll 基础类库源代码

2.5)微信消息内容管理

上边说到,菜单的轩然大波经过关系事件编码举办处理,而事件本人可以整合多个新闻内容,因而音讯内容是响应客户操作的小不点儿单元,它们可以是一条文本新闻、图文信息,也得以是多条信息的三结合(同类型的话)。

亚洲必赢手机入口 31

为了方便管理,小编把消息分为了图文、指令、文本类型,就算急需,还足以按照须要把它细化为其它项目的音信。

音信内容的充裕界面如下所示。

亚洲必赢手机入口 32

文本音讯的无绳电话机上界面效果如下所示。

亚洲必赢手机入口 33

此地不管是文本音信依然图文音信,我们联合以图文消息的定义来定义新闻,假若是文本新闻,大家只须求拿到描述内容作为音讯的器重点即可。

据悉Bootstrap的微信门户应用管理种类成效介绍。图文新闻的编排界面如下所示,首要就是填写完整的故事情节和图纸,以及页面详细的链接即可。

亚洲必赢手机入口 34

下边的那一个客户关系管理种类的音信,在表弟大上突显的界面效果如下所示,单击链接,可以切换成消息跳转链接地址的。

亚洲必赢手机入口 35

 

Senparc.Weixin.MP.萨姆ple中的关键代码表明

注:那是MVC项目,WebForms项目见对应Demo中的Weixin.aspx。

2.6)应答指令的保安

答复指令的珍重,有点类似于事件的田间管理,紧要就是概念一些运用的吩咐,方便打造应答系统的响应链,从而落成一步步的操作指令。

亚洲必赢手机入口 36

在后台装置好回答指令后,系统就能依照回应指令链举办拍卖了。首先大家须要提供一个进来应答链的晋升界面,如下所示。

亚洲必赢手机入口 37

但大家在菜单选拔应答系统后,系统重返3个文本提醒界面,如下所示。

亚洲必赢手机入口 38

其一界面里面指示了部分按键,包括多少个定点的按键和有个别工作按键,输入简单的1~6可以对选用进行响应。

亚洲必赢手机入口 39

大家见到下面的界面,输入指令1后,系统进入下一层的答复指令,然后又列出多少个可供输入的按键和故事情节指示。

当我们继承输入业务按键1后,响应的是多少个图文消息,也是有关按键的详细表明。

亚洲必赢手机入口 40

以此时候,大家也还足以输入*号按键,重临上一级菜单的。

 

/Controllers/WeixinController.cs

上面的Token须求和微信公众平台后台装置的Token同步,倘若常常变换指出写入Web.config等布署文件(实际利用进程中两列指出使用数字+英文大小写改写Token,Token一旦被破解,微信请求将很不难被冒领!):

public readonly string Token = "weixin";

上边这么些Action(Get)用于吸纳并再次来到微信后台Url的印证结果,无需改动。地址如:

/// <summary>
/// 微信后台验证地址(使用Get),微信后台的“接口配置信息”的Url填写如:http://weixin.senparc.com/weixin
/// </summary>
[HttpGet]
[ActionName("Index")]
public ActionResult Get(PostModel postModel, string echostr)
{
    if (CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))
    {
        return Content(echostr); //返回随机字符串则表示验证通过
    }
    else
    {
        return Content("failed:" + postModel.Signature + "," 
            + MP.CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, Token) + "。" +
            "如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。");
    }
}

上述方法中的PostModel是八个囊括领悟Signature、提姆estamp、Nonce(由微信服务器通过请求时的Url参数传入),以及AppId、Token、EncodingAESKey等一层层内部敏感的新闻(必要活动传入)的实体类,同时也会在背后用到。

上面那些Action(Post)用于收纳来自微信服务器的Post请求(经常由用户发起),那里的if必不可少,以前的Get只提供微信后台保存Url时的表明,每回Post必须再一次验证,否则很简单伪造请求。

/// <summary>
/// 用户发送消息后,微信平台自动Post一个请求到这里,并等待响应XML
/// </summary>
[HttpPost]
[ActionName("Index")]
public ActionResult Post(PostModel postModel)
{
    if (!CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))
    {
        return Content("参数错误!");
    }
    ...
}

2.7)客服管理作用

亚洲必赢手机入口 41

输入0则转入了客服对话情势,后续您发的别样新闻,将会转化到多客服系统里头了。

亚洲必赢手机入口 42 

当用户发送音讯后,客服助手就能及时收到音讯并拍卖和客户的作答了。

 亚洲必赢手机入口 43

因此运用多客服的客户端,那样处理消息交互起来特别便宜,能博取客户的对话音讯了,在处理器客户端上,看到的界面如下所示。

亚洲必赢手机入口 44

手机上的谈话截图如下所示。

亚洲必赢手机入口 45

如此就可以因而多途径,及时响应客户的新闻了。

什么样处理微信公众账号请求?

Senparc.Weixin.MP提供了2中拍卖请求的主意,观念方法及使用MessageHandler拍卖措施(推荐)。上边七个艺术在wiki中曾经有相比较详细的注脚,那里大致举例MessageHandler的处理办法。

MessageHandler的处理流程极度不难:

[HttpPost]
[ActionName("Index")]
public ActionResult Post(PostModel postModel)
{
    if (!CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))
    {
        return Content("参数错误!");
    }

    postModel.Token = Token;
    postModel.EncodingAESKey = EncodingAESKey;//根据自己后台的设置保持一致
    postModel.AppId = AppId;//根据自己后台的设置保持一致

    var messageHandler = new CustomMessageHandler(Request.InputStream, postModel);//接收消息(第一步)

    messageHandler.Execute();//执行微信处理过程(第二步)

    return new FixWeixinBugWeixinResult(messageHandler);//返回(第三步)
}

任何音讯除了postModel的赋值以外,接收(第叁,步)、处理(第一,步)、再次回到(第贰步)分别只必要一行代码。

上述代码中的CustomMessageHandler是二个自定义的类,继承自Senparc.Weixin.MP.MessageHandler.cs。MessageHandler是2个抽象类,包罗了实践各样差异请求类型的虚幻方法(如文字,语音,位置、图片等等),大家只须求在祥和创办的CustomMessageHandler中每一个达成这么些格局就足以了。刚建好的CustomMessageHandler.cs如下:

using System;
using System.IO;
using Senparc.Weixin.MP.MessageHandlers;
using Senparc.Weixin.MP.Entities;

namespace Senparc.Weixin.MP.Sample.CustomerMessageHandler
{
    public class CustomMessageHandler : MessageHandler<MessageContext>
    {
        public public CustomMessageHandler(Stream inputStream, PostModel postModel, int maxRecordCount = 0)
            : base(inputStream, postModel, maxRecordCount)
        {

        }

        public override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage)
        {
            //ResponseMessageText也可以是News等其他类型
            var responseMessage = CreateResponseMessage<ResponseMessageText>();
            responseMessage.Content = "这条消息来自DefaultResponseMessage。";
            return responseMessage;
        }

        public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
        {
            //...
        }

        public override IResponseMessageBase OnVoiceRequest(RequestMessageVoice requestMessage)
        {
            //...
        }

        //更多没有重写的OnXX方法,将默认返回DefaultResponseMessage中的结果。
        ....
    }
}

里面OnTextRequest、OnVoiceRequest等各自对应了收取文字、语音等区其余央求类型。

譬如说大家必要对文字类型请求做出回答,只需求周全OnTextRequest方法:

      public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
      {
          //TODO:这里的逻辑可以交给Service处理具体信息,参考OnLocationRequest方法或/Service/LocationSercice.cs
          var responseMessage = CreateResponseMessage<ResponseMessageText>();
          responseMessage.Content =
              string.Format(
                  "您刚才发送了文字信息:{0}",
                  requestMessage.Content);
          return responseMessage;
      }

诸如此类CustomMessageHandler在实践messageHandler.Execute()的时候,若是发现呼吁音信的品种是文件,会活动调用以上代码,并赶回代码中的responseMessage作为重返音讯。responseMessage可以是IResponseMessageBase接口下的其余类型(包蕴文字、新闻、多媒体等格式)。

从v0.4.0初步,MessageHandler伸张了对用户会话上下文的帮衬,用于消除服务器上不或者采纳Session管理用户会话的症结。详见:用户上下文WeixinContext和MessageContext

2.8)订阅用户管理

为了更管用管理订阅用户以及分组消息,我们得以从微信服务器上拿到相关的音讯,供我们明白关怀的用户音信,也得以为持续的群发音信做准备。 

亚洲必赢手机入口 46

订阅用户的军事管制如下所示,暗中认可可以经过用户的地方举行查看,地区依据:国家-省份-城市那样的级别举办拓展。

亚洲必赢手机入口 47

也得以依照标签查看,标签能够展开维护,以及为标签进入或然移除人士,界面如下图所示。

亚洲必赢手机入口 48

以及可以依据分组查看,如下所示。

亚洲必赢手机入口 49

订阅用户可以从微信服务器上进行同步到本地,单击同步数据,可以把服务器上的用户数据下载到本地开展立异或然写入。

亚洲必赢手机入口 50

双击可以查阅订阅用户音信,查看订阅用户的详细消息界面如下所示。

亚洲必赢手机入口 51

 

应用Nuget安装到花色中

2.9)用户标签管理

微信公众号,仿照集团号的思绪,扩大了标签管理的效果,对关怀的观众可以安装标签管理,完毕更为便利的分组管理效用。开发者可以运用用户标签管理的连锁接口,完结对三菱号的竹签进行创办、查询、修改、删除等操作,也得以对用户展开打标签、打消标签等操作。

标签管理是代表用户组管理的一种标签,可以很好管理订阅的用户,大家可以透过包装好的微信接口很简单的获取腾讯服务器上用户标签列表,然后进行保管,如下图所示。

亚洲必赢手机入口 52

并且前边提到了,可以在订阅用户按标签进行尊敬的,如下所示。

亚洲必赢手机入口 53

编写标签音讯界面如下所示。

亚洲必赢手机入口 54

 

怎么着处理微信公众号请求?

  • Nuget 地址:

  • 命令:

PM> Install-Package Senparc.Weixin.MP

2.10)多媒体管理

多媒体管理是指把地点文件上传到微信服务器上举行保存,方便音讯的殡葬等操作。微信须要,有些音讯,必须是先上传到服务器上,然后才能运用它的传媒ID举办发送的。

文本成功上传出服务器后,在列表里面的“文件上传标识,就是一串BASE64的编码数据,同时有三个上传的年华戳(因为微信服务器只保留了3天的传媒数据,领先限期的数据会被机关删除。

再者,在列表的上面,有多个非常主要的功力:上传选定的笔录,重新上传过期的记录。方便我们对协调多媒体文件的双重更新操作。

亚洲必赢手机入口 55

添加界面操作如下所示,其中引入了附件上传的控件举办文件的操作,万分便宜。同时上传成功的文本,会在列表中列出。

亚洲必赢手机入口 56

多媒体文件可以是下面两种艺术:图片、语音、录像、缩略图。

亚洲必赢手机入口 57

保留后的多寡记录,文件上传标识和岁月戳都以空的,我们只要要运用,必须把他们上传到微信的服务器上,然后依据它的MediaId进行新闻的发送,上传选定的记录操作界面如下所示。

亚洲必赢手机入口 58

多媒体文件顺遂上传后,记录的音信如下所示。

亚洲必赢手机入口 59

 

什么样升高 ASP.NET MVC 项目标成效?

Senparc.Weixin.MP.MVC 针对 ASP.NET MVC
项目做了愈多的优化,包蕴便捷的浏览器环境判断、官方 bug 修复等。

  • Nuget 地址:

  • 命令:

PM> Install-Package Senparc.Weixin.MP.MVC

2.11)图文音讯处理

图文音讯分为单图文新闻和多图文消息三种,单图文新闻如下所示。

亚洲必赢手机入口 60

多图文音信如下所示:

亚洲必赢手机入口 61

和多媒体数据管理均等,图文音讯也是通过同样的方法展开管理,先上传到服务器,然后在举行消息的出殡操作,多媒体信息无异于有时光方面的限量须要,具体在大家的微信门户平埃德蒙顿间管理界面如下所示。

亚洲必赢手机入口 62

添加图文音信界面如下所示,保存后,可以在编制界面中的“其他图文列表”里面,继续添加多图文的新闻内容。

亚洲必赢手机入口 63

在添加界面中,采取图文音信的缩略图,都以经过选定指定的,已经上传来服务器上图片可能缩略图财富才方可的。

亚洲必赢手机入口 64

添加后的多图文列表,可以展开查看管理。

亚洲必赢手机入口 65

保存记录后,然后继续上传,上传后的笔录界面如下所示,成功后回来2个上传后的服务器标识和岁月戳,否则指示错误。

亚洲必赢手机入口 66

 

什么样处理微信公司号请求?

Senparc.Weixin.QY.dll对集团号相关功用进行了打包,操作进程和微信公众账号SDK(Senparc.Weixin.MP)保持了一致。

  • Nuget 地址:

  • 命令:

PM> Install-Package Senparc.Weixin.QY

2.12)会话新闻管理

为了方便记录客户的输入和发送音讯,大家在微信门户管理平马普托间著录用户的输入数据,具体会话音讯管理界面如下所示。

亚洲必赢手机入口 67

咱俩得以双击近日48钟头内的此外一条记下,可以给关注的客户拓展音信的发送操作,如若新闻发送成功,用户在手机的微信账号里面就能接到有关的殡葬新闻了。

亚洲必赢手机入口 68

 

何以处理微开放平台请求?

Senparc.Weixin.Open.dll对眼下全数的开放平台API举办了包装,信息处理进度和微信公众账号SDK(Senparc.Weixin.MP)保持了一如既往,其余一些特种的音讯流程请先读书官方的文档,然后相比Senparc.Weixin.MP.Sample中有关Open的Demo进行支付。

  • Nuget 地址为

  • 命令:

PM> Install-Package Senparc.Weixin.Open

2.13)群发音讯管理

为了对客户拓展对应的营销操作,有时候大家须求对点名的群主只怕人士开展音讯的群发,让客户常常性的摸底我们产品的音信和移动。

由于群发新闻,除了文本音讯,可以平素编辑发送外,其他数据,必需需求是上传到服务器的多媒体文件或然图文音讯内容,因而后边的多媒体管理和图文信息管理,就是主要为了群发音信的目标引入的。有了地点的多媒体和多图文音信,大家从阳奥兰多间选用记录即可开展发送,从而省却麻烦的相干工作,完成长足的音信群发操作。

亚洲必赢手机入口 69

群发的音信,可以按群发分组举行查看,也可以根据新闻类型举行查看,使得我们管理起来依照便利。

亚洲必赢手机入口 70

添加图文消息,可以挑选文本音信、图文音讯、图片音信等内容,依据不一致的情节,界面提供不一致的选取操作。

音信的群发类型分为三种,一种是根据分组,那么从阳奥兰多间采取相应的分组即可;一种是基于用户的OpenID举办发送,提要求用户输入。主要的操作界面如下所示。

亚洲必赢手机入口 71

如何采纳分布式缓存?

Senparc.Weixin SDK
提供了包罗万象的缓存策略接口,暗许使用本机缓存完毕,同时也提供了 Redis 和
Memcached 多少个增加方案,您也足以依照同样的规则添加自个儿的缓存策略。

  • Redis 缓存扩大包 Nuget
    地址:
  • 命令:

PM> Install-Package Senparc.Weixin.Senparc.Weixin.Cache.Redis
  • Memcached 缓存扩大包 Nuget
    地址:
  • 命令:

PM> Install-Package Senparc.Weixin.Senparc.Weixin.Cache.Memcached

2.14)使用语音处理

笔者们精晓,微信最早先就是做语音聊天而使得其进一步盛行的,由此语音的分辨处理自然也就变成微信交换的2个主要途径,微信的开发接口,也提供了对语音的音信请求处理。这里最首要介绍怎样使用语音的辨认,对C#开发的微信门户应用的全体事件链的拍卖操作,使得在大家的微信账号里面,越发有益和多元化对用户的输入举办拍卖。

在系统后台里面,会检讨是否得到了微信的语音识别结果,假使得到,那么这些时候,就是和拍卖用户文本输入的操作大致了,语音输入的处理逻辑如下所示。

亚洲必赢手机入口 72

先是自个儿依据识别结果,寻找是不是用户读出了微信门户的菜谱名称,要是依据语音结果找到呼应的菜单记录,那么大家实践菜单事件(若是是U本田CR-VL的View类型菜单,大家不可以重定向到指定的链接,因而交到贰个链接文本指示,给用户单击进入;假设没有找到菜单记录,那么大家就把语音识别结果作为一般的风浪进展处理,要是事件逻辑没有拍卖,那么我们最后交给一个私自认同的口音回复指示结果就可以了。

微信门户测试界面效果如下所示。

亚洲必赢手机入口 73 
 亚洲必赢手机入口 74

 为了便于对客户会话的笔录,小编的微信门户后台,会记录用户的语音输入内容,如下所示。

亚洲必赢手机入口 75

 

已落到实处效益

  • 微信公众号

    • 接过/发送新闻(事件)
    • 自定义菜单 & 特性化菜单
    • OAuth授权
    • JSSDK
    • 微信支付
    • 用户管理
    • 资料管理
    • 账号管理
      • 带参数二维码
      • 长链接转短链接接口
      • 微信认证事件推送
    • 数码计算
    • 微信小店
    • 微信卡券
    • 微信门店
    • 微信智能
    • 微信设备功用
    • 多客服作用
    • 微信摇一摇周边
    • 微信连WI-FI(未完整)
    • 微信扫一扫(专营商)
  • 微信开放平台

    • 网站采用
    • 民众号第2方平台
  • 微信集团号

    • 管理通信录
    • 管制素材文件
    • 治本集团号采用
    • 收下音信与事件
    • 出殡新闻
    • 自定义菜单
    • 身份验证接口
    • JSSDK
    • 其三方接纳授权
    • 集团号授权登陆
    • 信用社号微信支付
    • 商厦回应服务
    • 商行摇一摇周边
    • 公司客服服务
  • 缓存策略

    • 政策增添接口
    • 地点缓存
    • Redis 扩展包
    • Memcached 扩展包

欢迎开发者对未到位或必要补充的模块进行 Pull Request!

2.15)使用地理地点伸张相关应用

我们清楚,地理地方信息可以用来做过多有关的运用,除了我们可以领略用户所在的岗位,还可以提到出一些地理地方的接纳,如气象,热映影片,附近景象,附近影院,交通事件等等,反正全数和地理地方相关的音信,大家都得以根据须求做一些增加应用。那里主要介绍利用地理地点消息,怎么着创设利用那几个应用的操作。 

1)微信的地理地方音讯 
在行使前,大家先来探视微信的接口,为我们定义了那个关于与地理地点的消息。其实地理地点的新闻,微信分为了八个地点,1个是收纳用户的地理地点伸手,二个是用户同意上报地理地方操作,定时发送的地理地方消息。

地理地方的汇报操作,就是在输入的地方,拔取+号举办添加地理地点,然后选拔当前大概指定的地理地点地图,具体操作如下所示。

 亚洲必赢手机入口 76             
  亚洲必赢手机入口 77

先是对用户地理地点的请求,我依据数据库配置给出了三个用户拔取的通令提醒,如下所示。

亚洲必赢手机入口 78

为了对地理地点伸手的拍卖,小编定义了一个用以拍卖这一个操作的命令操作

亚洲必赢手机入口 79

如此那般全体地理地方的授命操作,就在应答链里面举办很好的跳转管理了。多少个利用增加的界面效果如下所示。

亚洲必赢手机入口 80 
 亚洲必赢手机入口 81

亚洲必赢手机入口 82 亚洲必赢手机入口 83

亚洲必赢手机入口 84

 

2.16)微信扫码登录

在现行多如牛毛网站内部,都应用了微信开放平台的扫码登录认证处理,那样做一定于把地点认证交给较为权威的第贰方开展表达,在行使网站内部可以不需要存储用户的密码了。

在用户列表的二维码连接上,单击可以对用户展开微信扫码绑定,那样用户可以在扫码登录处间接扫码登录,不要求输入账号密码。

亚洲必赢手机入口 85

倘使得逞绑定用户微信,在微信端会稳定到3个绑定成功的页面(自定义的H5页面),如下所示。

亚洲必赢手机入口 86

若果用户已经进展了二维码绑定,则足以在管理界面进行撤废绑定,那样可以解绑用户账号和微信之间的关系。

亚洲必赢手机入口 87

 

2.17)微信摇一摇红包功效

 摇一摇周边红包接口是为线下专营商提供的发红包功能。用户可以在商户门店等线下场地通过摇一摇周边领取商户发放的红包,在线上转账分享无效。

开发者可由此接口开发摇一摇红包功效,特点包蕴:

  1. 可挑选拔取模板加载页或自定义Html5页面调起微信原生红包页面(详见创制红包活动中use_template字段,1为运用模板,2为运用自定义Html5页面)
  2. 原生红包页面拆红包,无需通过群众号信息发出
  3. 提供关爱群众号能力,用户可活动接纳是还是不是关注(裂变红包分享时不济)
  4. 完了页面可配置跳转链接,可跳转商行的其它自定义Html5页面
  5. 同二个用户在单个红包活动中不得不提取三次红包

用户侧交互流程

不荒谬的摇一摇红包的流程如下所示,那里没有使用用户自定义的模版,相当于接纳系统内置的(努力加载中。。。)的页面,红包需求团结拆开。

亚洲必赢手机入口 88

红包组件接口调用流程

  1. 提请红包接口权限:登录摇一摇周边商行后台https://zb.weixin.qq.com ,进入开发者帮衬,申请开通摇一摇红包组件接口;
  2. 红包预下单:调用微信支付的api进行红包预下单,告知须要发放的红包金额,人数,生成红包ticket;
  3. 创造活动并录入红包音信:调用摇周边平台的api录入创造红包活动并录入新闻,传入预下单时生成的红包ticket;
  4. 调用jsapi抽红包:在摇出的页面中通过调用jsapi抽红包,抽中红包的用户可以拆红包;
  5. 调用以上接口时,红包提供商行和红包发给商行公众号需求一律。

摇一摇红包的处理进度可以先的流水线表达,申请权限后,须要在摇一摇后台配置相关的红包处理页面,然后通过红包接口处理提交红包数量,最终经过摇一摇的设施摇出界面,使用JSAPI达成抽取红包的操作,具体经过如下所示。

亚洲必赢手机入口 89

中间红包接口处理,是调用一多级的红包接口已毕的,包罗红包预下单、成立红包活动、录入红包音讯等操作,如下所示。

亚洲必赢手机入口 90 

 其中微信支付的相干布置新闻在账号的音信里面

 亚洲必赢手机入口 91

 利用摇一摇以及微信红包接口,使用手机摇一摇拿到红包的进程界面效果如下所示。

亚洲必赢手机入口 92

亚洲必赢手机入口 93

对包裹好的微信接口,接口成功调用后,咱们得以在万众号的对话里面来看红包的音讯结果,如下是全体红包发送及拆迁的进度。

亚洲必赢手机入口 94

其余大家也对裂变红包举办了接口的包装,要是大家要求发送裂变红包的时候,直接调用裂变红包的接口即可兑现红包发送的操作。

亚洲必赢手机入口 95

 

2.18)微信H5页面及JSDK开发

在大家付出微信页面的时候,必要大批量用到了各样表现的作用,一般可以利用Boostrap的成效来设计不相同的页面,但是微信团队也提供许多那方面的能源,包含JSSDK的接口,以及Weui的页面样式和有关职能页面,给大家提供了很大的惠及。

1) JSSDK

微信JS-SDK是微信公众平台面向网页开发者提供的根据微信内的网页开发工具包。通过动用微信JS-SDK,网页开发者可依靠微信高效地采取雕塑、选图、语音、地方等手机系统的力量,同时可以一向利用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。

目前JSSDK辅助的接口分类包含上边几类:基础接口、分享接口、图像接口、音频接口、智能接口、设备新闻、地理地点、摇一摇周边、界面操作、微信扫一扫、微信小店、微信卡券、微信支付,随着微信成效的全部组合,揣度更加多的接口会陆续开放出来。

2)WeUI和Jquery WeUI

WeUI 是一套同微信原生视觉感受一致的根基样式库,由微信官方布置团队为微信内网页开发量身设计,可以令用户的行使感知特别统一。在微信网页开发中采用WeUI,有如下优势:

  • 同微信客户端一致的视觉效果,令全数微信用户都能更便于地接纳你的网站
  • 便民获取便捷利用,降低开发和安顿花费
  • 微信设计团队精心制作,清晰明显,简洁大方

该样式库近日带有 button、cell、dialog、progress、toast、article、icon
等各式成分,已经在 GitHub上开源。访问  或微信扫码即可预览。

jQuery WeUI 中使用的是合法 WeUI 的 CSS 代码,并提供了 jQuery/Zepto
版本的 API 落成。JQuery
WeUI相对于在官方WeUI的底子上做了有的效用伸张,已丰盛界面设计和有关职能,由此大家可以设想间接基于JQuery
 WeUI的基础上进行页面开发即可。

在自我前边的局地案例中,都施用了We
UI样式来举行过多微信H5页面的功用设计,包涵微信支付页面、签到页面等等。

如微信支付页面如下所示:

亚洲必赢手机入口 96  亚洲必赢手机入口 97  亚洲必赢手机入口 98 

以及签到页面效果如下所示。

亚洲必赢手机入口 99 亚洲必赢手机入口 100

自然大家得以依照作业必要,扩展很多如此和微信色调样式一样的页面,这么些就是利用WeUI样式带来的界面体验一致性的裨益。

本篇主要介绍微信H5页面开发的经验总计,下面提到了使用JSSDK和WeUI来对微信应用的H5页面举行支付,由此上边的连带功能也等于利用这么些技能拓展处理的。

 

字典数据的绑定:

和符合规律网页作用雷同,大家在筹划微信页面使用的时候,很多数量也是缘于字典数据的,而且亟需把它们动态绑定在页面上,微信页面的JQuery
WeUI提供了一部分列表字典数据的显得效果如下所示。我们在微信框架之中也运用了这个页面组件,已毕字典的绑定处理,如下所示。

亚洲必赢手机入口 101

再者,我们则足以在微信后台对数据字典进行保险即可举行实时的数据更新。

亚洲必赢手机入口 102

 

三,设备维修案例成效介绍 

本节介绍的是装备维修案例的微信应用场景,该需要主要围绕固定资产(如治病装备)的微信应用举行,包涵录入及查询资金音信、资产盘点、设备的维修爱护、平时巡检、维修、计量检测等业务。

一切案例微信端应用使用的是H5页面以及微信的JSDK进行连锁的接口开发,符合微信的界面风格。后端管理就是本后台管理系列。

3.1 社团机关及用户分类(角色)

在系统中,依据系统运用,建立了有关的团队机构,以及对应的用户分类(即用户剧中人物),依照不一样的角色可以授权区其余效应管理界面。

团体单位如下所示。

亚洲必赢手机入口 103

用户角色如下所示:

亚洲必赢手机入口 104

系统基于角色对菜单举行区其他来得设置。

最佳管理员(账号admin,密码为空)登陆系统,可以对全部微信功用拓展设置管理。

一般而言管理员(账号gl,密码为12345678)登录系统,可以对相关的设备新闻进行保障管理,如下所示。

亚洲必赢手机入口 105

 

3.2 微信菜单

 在微信端,大家要求依据大家的利用,设置某些效果菜单,我们得以因而后台实行菜单的设置,然后通过接口提交到微信服务器即可。

亚洲必赢手机入口 106

亚洲必赢手机入口 107

那般我们提交菜单后,在公众号上就可以对有关的效果拓展操作了。

 亚洲必赢手机入口 108

 

3.3 设备加上及查看

 

在大家使用连串中,一般都为每一个设备指定多少个设备编码,大家通过生成二维码后,可以经过微信扫码举行设备消息的丰硕抑或健全,以及相关的操作。

 

配备二维码采纳连接+设备编码的办法变通,如下所示:

 

亚洲必赢手机入口 109

 

设备二维码的变型测试页面地址是:/h5/Test,测试生成二维码的界面效果如下所示。

 

亚洲必赢手机入口 110

 

有了那么些包罗链接地址的二维码,当用户采用微信扫码操作的时候,会指定调整到相应的接连,完毕相应的设备加上、维修爱护、经常巡检、维修、计量检测等作业。

亚洲必赢手机入口 , 

在微信端使用相应的职能菜单扫码(如运用【设备管理】=>【设备信息录入】扫码上边的配备二维码),那么就可以展开设备新闻的丰裕操作了。

 

 亚洲必赢手机入口 111

如如若装备新闻查阅,那么在微信端列出重点的装置音信;

亚洲必赢手机入口 112

也可以单击进入查看详细设备明细新闻。

亚洲必赢手机入口 113

 

3.4装置其余管理

配备盘点和装备计量如下所示: 

 亚洲必赢手机入口 114

预防性维护和装置计量界面如下所示。

 亚洲必赢手机入口 115

 

3.5 设备管理

 设备相关音讯可以在微信后台进行详尽查看,如下界面是兼备设施的音讯列表,可以展开相关的询问、修改、删除、查看明细等操作。

亚洲必赢手机入口 116

装备详细音信查看,在后台管理界面效果如下所示。

亚洲必赢手机入口 117

以及配备相关的维修信息:

亚洲必赢手机入口 118

 

四,微信接口封装介绍

4.1)微信API封装管理

如上全体在后台管理的效果,都是经过对微信API的卷入管理落到实处的,我们在支付顶层的利用前,已经把富有的微信提供的接口进行了卓有功能的卷入。微信的相关接口的田间管理。

公众号接口的归类图如下所示。

亚洲必赢手机入口 119

信用社号接口的归类图如下所示:

亚洲必赢手机入口 120

在各类程序模块里面,大家具备拍卖的多寡,基本上都以经过自定义实体类的方法展开传递(注意:实体类是本人依据程序开发需求协调定义的,非微信自个儿的实体类),那样丰富有益大家处理操作,否则每趟须求分析不同的音讯内容,很简单出现难点,那样强类型的数据类型,升高了笔者们开发微信应用的强壮型和高效性。那些实体类的对象有肯定的接续关系的,他们的继承关系如下所示。

 亚洲必赢手机入口 121

微信的死灰复燃消息处理,它也是后续自BaseMessage实体类的(如出一辙,下图的实体类及其继承关系也是自定义的,方便程序支付),它的涉及如下所示

 亚洲必赢手机入口 122

4.2)微信框架项目模块

笔者们在付出微信相关的拔取的时候,一般必要宏观的根底模块资助,包含微信公众号,微信集团号,微信小程序等,以及一些作业模块的资助,一般随着作用的充实,我们必要万分分明的界定他们的涉及。模块的分拆以及联合往往必要考虑的代码的选定,而且尽量做到简约而不另行。

1)公众号模块封装

微信支付,大家首先需求使用大家的言语(那里是应用C#语言),为富有应用的API接口完成更为的卷入,方便使用,微信API模块包涵的内容很多,几乎可以分为上边的门类。

亚洲必赢手机入口 123

有了那一个接口功能的封装类,只是万里长征的首先步,我们还要求围绕这个接口,以及大家的政工模块已毕愈多互动成效的。

作者们在WHC.Weixin.Data模块内部,定义了富含公众号的新闻分派处理接口,这么些分派接口是对接到来自微信服务器的种种新闻事件进展响应;其它该模块还带有部分正规的数码存储,如关心用户、菜单、小说内容等方面数据的囤积,如下所示。

亚洲必赢手机入口 124

自然,那几个WHC.Weixin.Data是集大成者,它需求使用WHC.Weixin.API的连串内容来做多少交到,同时也是急需利用其中的多少存储处理模块。

 亚洲必赢手机入口 125

2)公司号模块封装

商户号的做法和群众号好像,也是急需对微信提供的各样API举行包装,方便大家前边的接口调用,可是公司号如今支撑的效应相对公众号少一些,大约包涵有根基接口、集团号拔取接口、菜单管理、通信录管理、消息管理、摇一摇周边等模块。随着公司号作用的逐级健全和加入,只怕腾讯会加入更加多的部分功用模块。

亚洲必赢手机入口 126 

一如既往大家参考微信公众号的做法,也是建立三个数目存储管理的花色,作为微信新闻事件的拍卖入口,同时也管理存储一些不恐怕不的数目,包括须要一起的用户、标签、部门等数码。

亚洲必赢手机入口 127

随着微信公众号和供销社号的机能日渐统一,很多接口的相互数据大约是一律的,由此大家得以把公用的实体类部分作为一个单身的种类,方便群众号和集团号三个类型的共同利用,那一个项目命名为WHC.Common.Entity

它们多少个档次事关如下所示。

亚洲必赢手机入口 128

类型目录如下所示,包罗了基础模块、摇一摇红包、菜单及多媒体管理模块、音信请求模块、音信应答模块、摇一摇周边、微信支付等。
亚洲必赢手机入口 129

鉴于微信支付的接口落成,是在店堂号和公众号相对相比较独立的贰个API接口群,因而我们得以微信支付部分单独作为一个接口完毕来处理,公众号如故公司号要求的时候,包涵进去使用即可。

大家把它取名为WHC.Common.API项目。

亚洲必赢手机入口 130

一体插件业务接口包含:百度的地理地点分析接口、电影院音讯查询、天气音讯查询、交通新闻查询、旅游音讯查询等,还有短信、邮件发送等健康接口,都得以利用那种方法展开拍卖。接口的功用浮现如下所示。

亚洲必赢手机入口 131

故此地点那一个以WHC.Common命名的种类,基本上就是可以通用在斯OLYMPUS号和商社号两边的类型模块了,它们含有后面介绍过的多少个模块,如下所示。

亚洲必赢手机入口 132

本来,除了那个之外,大家做项目,一般还涉及到部分基础成效模块,如公用类库,以及附件管理、通信录管理、权限管理模块等内容,大家得以把后者多少个模块放在一块儿,组成基础模块。

亚洲必赢手机入口 133 

3)微信界面项目

微信界面部分是眼下模块组件的综合运用,在微信应用里面,一般须要运用80端口和微信服务器做交互,而这么些同时往往也是大家项目的端口地址。 

亚洲必赢手机入口 134

 

1.1.  设施加上及查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图