微信小程序服务通知开发

//获取access_token
    wx.request({
      url: https://www.lined5530.top/lg/wxsendmesController/at,
      success:function(res){
        var at=wx.setStorageSync("at", res.data.mes)
        console.log(res.data.mes)
      }
    })

Java后台代码

不出意外你第一个参数成功获取 (2)获取openid 在获取openid的时候,你先要获取code。通过login这个接口就可以获取,比较简单,你看代码应该可以看明白。

<form bind:submit="sendMessage" report-submit="true">
      <button formType="submit">发送模板消息</button>
 </form>```
sendMessage: function (e) {
    var today = new Date();
    var year = today.getFullYear();
    var m1 = today.getMonth();
    var month = m1 + 1
    var day = today.getDate();
    var h = today.getHours();
    var m = today.getMinutes();
    var etime = year + "-" + month + "-" + day 
    var time=h+":"+m
    console.log("formId");
    console.log(e);
    //对应通知服务的格式,你在选取模板的时候,用到几个参数,就设置几个参数
    let _jsonData =
    {
      "touser": "对应给谁发送就写谁的openid",
      "weapp_template_msg": {
        "template_id": "公众平台里边模板id",
        //服务通知中进入小程序的入口
        "page": "pages/index/index",
        "form_id": e.detail.formId,
        "data": {
          "keyword1": {
            "value": wx.getStorageSync("name")
          },
          "keyword2": {
            "value": etime
          },
          "keyword3": {
            "value": time
          },
          "keyword4": {
            "value": "内蒙古师范大学大数据楼316"
          }
        },
        "emphasis_keyword": "keyword1.DATA"
      }
    }
    // wx.showModal({
    //   title: formdID,
    //   content: e.detail.formId,
    // })
    //向后台请求,把刚才设置好的参数发送到后台
    wx.request({
      url: https://www.lined5530.top/lg/wxsendmesController/sendMsg,
      data:_jsonData,//直接发送的json数据格式
      method: POST,
      header: {
        content-type: application/json // 默认值
      },
      success: function (res) {
        console.log("res")
        console.log(res)
      }
    })
    console.log("faxiaox")
  },

对应后台的代码

最后你可能用到WeChatUtil这个方法

public class WeChatUtil {
    public static String httpRequest(String requestUrl,String requestMethod,String output){
        try{
            URL url = new URL(requestUrl);
            HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setUseCaches(false);
            if(null != output){
                OutputStream outputStream = connection.getOutputStream();
                outputStream.write(output.getBytes("utf-8"));
                outputStream.close();
            }
            // 从输入流读取返回内容
            InputStream inputStream = connection.getInputStream();
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String str = null;
            StringBuffer buffer = new StringBuffer();
            while ((str = bufferedReader.readLine()) != null){
                buffer.append(str);
            }
            bufferedReader.close();
            inputStreamReader.close();
            inputStream.close();
            inputStream = null;
            connection.disconnect();
            return buffer.toString();
        }catch(Exception e){
            e.printStackTrace();
        }
        return "";
    }
}

最后的效果如下 以上是我学习的整个过程,研究一下午搞好的,希望可以帮助大家。

经验分享 程序员 微信小程序 职场和发展