用戶
 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,登錄網站

小程序社區 首頁 教程 查看內容

0115湖人vs开拓者视频回放:微信小程序推送消息簡單Demo

湖人vs爵士季后赛 www.nbgeh.club Rolan 2019-11-27 00:45

在開始前,你需要準備:注冊微信小程序一個簡單的springBoot 項目微信開發者工具正式微信小程序發送消息主要通過WxMaTemplateMessage 類來推送public class WxMaTemplateMessage implements Serializable { private ...

在開始前,你需要準備:

正式

微信小程序發送消息主要通過WxMaTemplateMessage 類來推送

public class WxMaTemplateMessage implements Serializable {
    private String toUser;       // 給誰推送(用戶openId)
    private String templateId;  // 消息ID
    private String page;    // 用戶點開消息跳轉到對應的小程序界面
    private String formId;  // 表單formId
    private List<WxMaTemplateData> data; // 消息的數據列表
    private String emphasisKeyword;  
...
復制代碼

所以我們在推送前需要構造這些信息,formId 和toUser(openId) 是從前端傳過來的。formId 可以通過表單或者支付來獲取,表單比較簡單,只需要把report-submit 設置為true 就可以獲得。

簡單通過微信開發者工具來獲取formId(openId 數據庫存了)

  1. 先建立一個前端項目,AppID 就是小程序的id,在微信公眾號后臺可以看到。

  2. 修改index/index.js 和index.wxml (百度某位同學的),通過表單來獲取formId ,并發送到后臺。

// index.wxml
<form bindsubmit='registerFormSubmit' report-submit='true'>
  <view class='buttons'>
    <button class='confirmbtn' form-type='submit'>確定</button>
  </view>

</form>
<view>formid: {{formid}}</view>
<button bindtap='push'>
    發送
</button>

復制代碼
//index.js
//獲取應用實例
const app = getApp()

Page({
  
  data: {
    formid: ""
  },
  //事件處理函數
  registerFormSubmit: function (e) {
    //    打印formId
    console.log(e.detail.formId);
    this.setData({
      formid: e.detail.formId
    })
   },
  //測試推送
 push() {
    let formid = this.data.formid;
   let openid = 'oT-H-40ZHdRX1REZFKQhPg3jJZoQ';
    wx.request({
      url: '//localhost:8080/push?openId=' + openid + "&formId=" + formid,
      success(res) {
        console.log("推送結果:", res)
      },
      fail(err) {
        console.log("推送失敗:", err)
      }
    })
  }
})

復制代碼

這里formid 在測試的時候獲取不到,調到真機調試,或者用預覽就行了。

  1. 請求后臺接口來發送消息(ctrl c v 百度某同學)
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateData;
import cn.binarywang.wx.miniapp.bean.WxMaTemplateMessage;
import cn.binarywang.wx.miniapp.config.WxMaInMemoryConfig;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
public class PushController {

    @GetMapping("/push")
    public String push(@RequestParam String openId, @RequestParam String formId) {
        //1,配置小程序信息
        WxMaInMemoryConfig wxConfig = new WxMaInMemoryConfig();
        wxConfig.setAppid("你的appId");
        wxConfig.setSecret("你的secret");

        WxMaService wxMaService = new WxMaServiceImpl();
        wxMaService.setWxMaConfig(wxConfig);

        //2,設置模版信息(keyword1:類型,keyword2:內容)
        List<WxMaTemplateData> templateDataList = new ArrayList<>(2);
        WxMaTemplateData data1 = new WxMaTemplateData("keyword1", "獲取老師微信");
        WxMaTemplateData data2 = new WxMaTemplateData("keyword2", "2501902696");
        WxMaTemplateData data3 = new WxMaTemplateData("keyword3", "2501902696");
        WxMaTemplateData data4 = new WxMaTemplateData("keyword4", "2501902696");
        templateDataList.add(data1);
        templateDataList.add(data2);
        templateDataList.add(data3);
        templateDataList.add(data4);

        //3,設置推送消息
        WxMaTemplateMessage templateMessage = WxMaTemplateMessage.builder()
                                                  .toUser(openId)
                                                  .formId(formId)
                                                  .templateId("你的消息id") // 在微信公眾號后臺可以申請消息模版
                                                  .data(templateDataList)
                                                  .page("pages/index/index")
                                                  .build();

        //4,發起推送
        try {
            wxMaService.getMsgService().sendTemplateMsg(templateMessage);
        } catch (WxErrorException e) {
            System.out.println("推送失敗:" + e.getMessage());
            return e.getMessage();
        }
        return "推送成功";
    }

}
復制代碼

 

分享至 : QQ空間
收藏
原作者: 言技 來自: 掘金
七乐彩近30期走势图 建一家赚钱的鸡养殖场 极速快乐十分首页 足球总进球数规则 剑网3点卡服怎么赚钱吗 三分pk10计划网页 福彩3d开奖直播 重庆时时彩免费计划 乡镇做快递员怎么赚钱 抖音开直播靠什么赚钱 那些软件看小视频可以赚钱吗 qq上发的打字赚钱真的假的 22选5中奖秘诀 美女捕鱼破解版 传图片赚钱 自媒体报道赚钱