<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          JFinal Weixin微信公眾號極速 SDK

          聯(lián)合創(chuàng)作 · 2023-09-24 16:04

          JFinal Weixin 是基于 JFinal 的微信公眾號極速 SDK,只需參考 Demo 代碼即可進行極速開發(fā)。自 JFinal Weixin 1.2 版本開始已添加對多公眾號支持

          0?Maven 坐標(biāo)

          <dependency>
              <groupId>com.jfinal</groupId>
              <artifactId>jfinal-weixin</artifactId>
              <version>3.4</version>
          </dependency>

          1、WeixinConfig

          public class WeixinConfig extends JFinalConfig {
            public void configConstant(Constants me) {
              loadPropertyFile("a_little_config.txt");
              me.setDevMode(getPropertyToBoolean("devMode", false));
          		
              // ApiConfigKit 設(shè)為開發(fā)模式可以在開發(fā)階段輸出請求交互的 xml 與 json 數(shù)據(jù)
              ApiConfigKit.setDevMode(me.getDevMode());
            }
          	
            public void configRoute(Routes me) {
              // 從 jfinal 3.6 版本開始,需設(shè)置 setMappingSuperClass(true) 才能支持 jfinal weixin
              me.setMappingSuperClass(true);
              me.add("/msg", WeixinMsgController.class);
              me.add("/api", WeixinApiController.class, "/api");
            }
          	
            public void configPlugin(Plugins me) {}
            public void configInterceptor(Interceptors me) {}
            public void configHandler(Handlers me) {}
          }

          以上通過 configRoute 方法配置了訪問路由 "/msg" 與 "/api"。項目啟動后,在微信服以務(wù)器上配置 url:http://域名/msg

          重要:后續(xù)新版本的配置方式有所改進,詳情見官方文檔:https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE

          2、WeixinMsgController

          public class WeixinMsgController extends MsgController {
            protected void processInTextMsg(InTextMsg inTextMsg) {
             String msgContent = inTextMsg.getContent().trim();
             // 幫助提示
             if ("help".equalsIgnoreCase(msgContent)) {
               OutTextMsg outMsg = new OutTextMsg(inTextMsg);
               outMsg.setContent(helpStr);
               render(outMsg);
             }	
             else if ("美女".equalsIgnoreCase(msgContent)) {
               OutNewsMsg outMsg = new OutNewsMsg(inTextMsg);
               outMsg.addNews("秀色可餐", "JFinal Weixin 極速開發(fā)就是這么爽,有木有 ^_^", "http://mmbiz.qpic.cn/mmbiz/zz3Q6WSrzq2GJLC60ECD7rE7n1cvKWRNFvOyib4KGdic3N5APUWf4ia3LLPxJrtyIYRx93aPNkDtib3ADvdaBXmZJg/0", "http://mp.weixin.qq.com/s?__biz=MjM5ODAwOTU3Mg==&mid=200987822&idx=1&sn=7eb2918275fb0fa7b520768854fb7b80#rd");
               render(outMsg);
             }
             // 其它文本消息直接返回原值 + 幫助提示
             else {
               OutTextMsg outMsg = new OutTextMsg(inTextMsg);
               outMsg.setContent("\t文本消息已成功接收,內(nèi)容為: " + inTextMsg.getContent() + "\n\n" + helpStr);
               render(outMsg);
             }
            }
          
            protected void processInImageMsg(InImageMsg inImageMsg) {
              OutImageMsg outMsg = new OutImageMsg(inImageMsg);
              // 將剛發(fā)過來的圖片再發(fā)回去
              outMsg.setMediaId(inImageMsg.getMediaId());
              render(outMsg);
            }
            
          
            /**
             * 如果要支持多公眾賬號,只需要在此返回各個公眾號對應(yīng)的  ApiConfig 對象即可
             * 可以通過在請求 url 中掛參數(shù)來動態(tài)從數(shù)據(jù)庫中獲取 ApiConfig 屬性值
             *
             * 注意:后續(xù)新版本改進了配置方式,下面的配置不再需要,詳情見下面的官方文檔:
             *      https://gitee.com/jfinal/jfinal-weixin/wikis/Home
             */
            public ApiConfig getApiConfig() {
              return new ApiConfig(...);
            }
          
            // 其她自動接收并解析消息的便利方法省略
          }

          WeixinMsgController 通過繼承自 MsgController 便擁有了接收消息和發(fā)送消息的便利方法。

          3、WeixinApiController

          public class WeixinApiController extends ApiController {
            public void index() {
              render("/api/index.html");
            }
          	
            /**
            * 獲取公眾號菜單
            */
            public void getMenu() {
              ApiResult apiResult = MenuApi.getMenu();
              if (apiResult.isSucceed())
                renderText(apiResult.getJson());
              else
                renderText(apiResult.getErrorMsg());
              }
          	
              /**
              * 獲取公眾號關(guān)注用戶
              */
              public void getFollowers() {
                ApiResult apiResult = UserApi.getFollows();
                renderText(apiResult.getJson());
              }
          
            /**
             * 如果要支持多公眾賬號,只需要在此返回各個公眾號對應(yīng)的  ApiConfig 對象即可
             * 可以通過在請求 url 中掛參數(shù)來動態(tài)從數(shù)據(jù)庫中獲取 ApiConfig 屬性值
             * 
             * 注意:后續(xù)新版本改進了配置方式,下面的配置不再需要,詳情見下面的官方文檔:
             *      https://gitee.com/jfinal/jfinal-weixin/wikis/Home
             */
            public ApiConfig getApiConfig() {
              return new ApiConfig(...);
            }
          }

          通過調(diào)用 MenuApi、UserApi 等 Api 的相關(guān)方法即可獲取封裝成 ApiResult 對象的結(jié)果,使用 render 系列方法即可快捷輸出結(jié)果。

          4、更多支持

          JFinal Weixin 官方文檔: https://gitee.com/jfinal/jfinal-weixin/wikis/Home

          關(guān)注官方微信號馬上體驗 demo 功能:

          瀏覽 27
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲日本番视频在线 | 国产精品男人操女人 | 亚洲网站在线观看视频 | 亚洲人成无码网ww在线观看 | 久久机热 |