python小程序开发教程,python微信小程序开发项目案例

  python小程序开发教程,python微信小程序开发项目案例

  点此查看完整教程及源码美元

  正文目录1 .前言2 .构建项目3 .创建配置文件4 .创建启动类5 .创建配置类6 .创建定制菜单控制器类8 .创建访问验证控制器9 .总结1 .

  写了正文,我们已经定制了服务器有效性验证~我爱你~微信消息合法性验证~我爱你~菜单界面调用。本文给出了项目的完整实例,以建立完整的开发环境。

  2 .生成项目,创建玛文项目,然后创建pom.xml文件文件。pom.xml文件文件确定后,梅文项目也将确定。实际上,可以在这里不使用跳船模板来构建跳船项目。因为如果配置为pom.xml,Maven将自动生成跳船类型的项目。

  名空间专案= http://maven .阿帕奇。org/POM/4。0 .0 xmlns:xsi= http://www。w3。org/2001/XML schema-ins TTS maven-4。0 .0 .xsd 模型版本4 .0 .0/model version group parents groupfactidpringp-boot-starter-parent look universtandardromrepository-parent groupid cn。熊猫兄弟/groupfactidwx-服务器/神器0.0版本。packageingproperty对象。建造。源代码编码dutf-8/项目。建造。源代码编码项目。报道。输出编码djava。版本1.8/Java。版本maven-jar-plugin。版本3。0 .0/maven-jar-0属性微信公众号-依赖ygroupicom。github。binary Wang/groupfactidweidwexition v vision dependencies build plugin ingroupid gororg。spring框架。boot/group factidpringn-boot-maven插件/arging

  服务器

  答:连接埠:80 #端口servlet:上下文路径:/wx服务器通过该配置文件,我们的项目就会监听80端口的请求,且项目访问的根路径为/wx服务器,这与我们在微信后台配置的服务器地址(网址)是一致的。

  4.编写启动类启动类按照跳船规范写一个即可:

  /** *跳羚(跳船)启动类*/@ springbootapplicationpublic类wx服务器应用程序{ public static void main(string[]args){ spring application。运行(wx服务器应用程序。class,args);}} 5。编写配置类配置类其实是关键核心,我们需要配置两个关键组件:WxMpDefaultConfigImpl类型的组件用于存储微信公众平台的参数,WxMpService类型的组件用于提供微信公众平台开发响应的服务。

  /**微信公众平台配置*/@ configuration公共类wx MP config { @ beanpblic wmpdefaultconfigimpl wmpdefaultconfigimpl(){ wx mpdefaultconfigimpl config=new wx mpdefaultconfigimpl();setAppId组态( );//设置微信公众号的应用配置。setsecret(“”);//设置微信公众号的应用程序主体机密配置。settoken(“”);//设置微信公众号的令牌配置。setesky(“”);//设置微信公众号的encodingaeskeyreturn config } @ beanpblic wx MP service(){ wx MP service=new wx MP service impl();//实际项目中请注意要保持单例,不要在每次请求时构造实例,具体可以参考演示文稿项目wx mpservice。setwx mpconfigstorage(wx mpdefaultconfigimpl());返回wxmpservice}} 6 .编写自定义菜单控制器类我们通过控制器暴露接口,调用接口可以完成自定义菜单的创建~我爱你~查询~我爱你~删除功能。

  注意该类使用@RestController描述,是为了将返回值序列化为JSON!JSON!JSON!数据格式,便于查看。

  /**自定义菜单*/@ rest控制器公共类菜单控制器{ @ autoiredprivate wx mpservice/**获取自定义菜单*/@ request mapping(/menu get )public wx MP menu menu get()抛出wx error异常{ wx mpmenu=wx mpservice。getmenservice().menu get();返回wxmpmenu}/**删除自定义菜单*/@ request mapping(/menu delete )public boolean menu delete()抛出wx error异常{ wx mpservice。getmenu服务().菜单delete();返回true}/**创建自定义菜单*/@ requestmapping(/menu create )公共布尔菜单create()抛出wx错误异常{//菜单listwx菜单按钮=new arraylistwx菜单按钮();wx菜单按钮BTN 1=新的wx菜单按钮();BTN 1 . settype( click );btn1.setName(查询城市);btn1.setKey(QUERY_CITY ):wx菜单按钮BTN 2=new wx菜单按钮();BTN 2 . settype(" view ");btn2.setName(跳转网页);BTN 2 .设置网址( http://www。csdn。net’);按钮。添加(BTN 1);按钮。添加(BTN 2);//创建wx menu wx menu=new wx menu();wxMenu.setButtons(按钮):字符串re=wxmpservice。getmenuservice().menuCreate(wxMenu):系统。退出。println(re);返回true}} 8 .编写接入验证控制器我们在微信公众平台后台配置的服务器网址(URL)配置如下:

  所以我们编写控制器类,监听/checkToken路径的请求。由于参数比较多,我们直接通过对象接收参数。

  /**接入验证控制器*/@ controller公共类检查控制器{ @ autoiredprivate wx mpservice//接入验证@ get apping(/check token )@ response body公共字符串检查令牌get(http servletrequest){ system。出去。println(接入验证);字符串签名=请求。获取参数(“签名”);字符串时间戳=请求。获取参数(“时间戳”);字符串nonce=请求。获取参数(“nonce”);回声tr字符串=请求。获取参数(“echo tr”);如果(!wxMpService。校验和(时间戳现在,签名)){//消息不合法返回(返回)消息不合法";}//消息合法返回echostr}//消息合法验证@ post apping(/check token )@响应体公共字符串检查令牌post(http servlet request){ system。出去。println(消息合法验证);字符串签名=请求。获取参数(“签名”);字符串时间戳=请求。获取参数(“时间戳”);字符串nonce=请求。获取参数(“nonce”);如果(!wxMpService。校验和(时间戳现在,签名)){//消息不合法返回(返回)消息不合法";}//消息合法则继续处理返回""}}解释下返回值的问题,此处返回的是字符串,这是根据微信官方的要求返回的。微信接受到返回值后,会根据具体的数据约定再进一步处理。

  9.小结本篇给出了一个接入的完整示例,后续我们在该项目的基础上陆续完善各项功能即可。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: