微信小程序uniapp+springboot实现小程序服务通知

这篇具有很好参考价值的文章主要介绍了微信小程序uniapp+springboot实现小程序服务通知。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序uniapp+springboot实现小程序服务通知

1. 实现效果

微信小程序uniapp+springboot实现小程序服务通知文章来源地址https://www.toymoban.com/news/detail-498385.html

2. 模板选用及字段类型判断

2.1 开通订阅消息,并选用模板

如果点击订阅消息让开启消息订阅开启后就可以出现以下页面,我本次使用的模板是月卡到期提醒模板,点击选用即可

微信小程序uniapp+springboot实现小程序服务通知

2.2 查看模板字段类型

TemplateId后续会使用,复制出来,点击详情查看模板信息

微信小程序uniapp+springboot实现小程序服务通知

微信小程序uniapp+springboot实现小程序服务通知

2.3 查询对应字段类型的限制

订阅消息参数值内容限制说明

我们的字段是character_string.DATA,time和thing,只需要遵守其规则即可

参数类别 参数说明 参数值限制 说明
thing.DATA 事物 20个以内字符 可汉字、数字、字母或符号组合
number.DATA 数字 32位以内数字 只能数字,可带小数
letter.DATA 字母 32位以内字母 只能字母
symbol.DATA 符号 5位以内符号 只能符号
character_string.DATA 字符串 32位以内数字、字母或符号 可数字、字母或符号组合
time.DATA 时间 24小时制时间格式(支持+年月日),支持填时间段,两个时间点之间用“~”符号连接 例如:15:01,或:2019年10月1日 15:01
date.DATA 日期 年月日格式(支持+24小时制时间),支持填时间段,两个时间点之间用“~”符号连接 例如:2019年10月1日,或:2019年10月1日 15:01
amount.DATA 金额 1个币种符号+10位以内纯数字,可带小数,结尾可带“元” 可带小数
phone_number.DATA 电话 17位以内,数字、符号 电话号码,例:+86-0766-66888866
car_number.DATA 车牌 8位以内,第一位与最后一位可为汉字,其余为字母或数字 车牌号码:粤A8Z888挂
name.DATA 姓名 10个以内纯汉字或20个以内纯字母或符号 中文名10个汉字内;纯英文名20个字母内;中文和字母混合按中文名算,10个字内
phrase.DATA 汉字 5个以内汉字 5个以内纯汉字,例如:配送中
enum.DATA 枚举值 只能上传枚举值范围内的字段值 调用接口获取参考枚举值

3. vue前端进行授权

官方文档

此段代码只需放在某个方法,然后填入对应的template_id即可

            wx.requestSubscribeMessage({
              tmplIds: ['xxxx'],
              success (res) {
                console.log('接口调用成功的回调函数', res)
              },
              fail (err) {
                console.log('接口调用失败的回调函数', err)
              },
              complete () {
                console.log('接口调用结束的回调函数(调用成功、失败都会执行)')
              }
            })

授权效果

点击允许后我们可以向该用户(open_id)发送一次订阅消息

微信小程序uniapp+springboot实现小程序服务通知

4. 后端向订阅用户发送订阅消息

官方文档

4.1 接口

POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN

4.2 请求参数:

记得看清楚是小程序模板还是公众号模板

微信小程序uniapp+springboot实现小程序服务通知

4.3 编写测试代码

  • 主要就是封装模板数据然后发送给接口

  • accessToken的获取方法我这里就不写了

    获取就是调用这个接口,把APPID和APPSECRET替换成自己的就行了,返回值中有accessToken

    https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

package com.admin;

import cn.hutool.core.date.DateUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.admin.domain.Card;
import com.admin.mapper.CardMapper;
import com.admin.util.WxUtils;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @author zr
 * @date 2023/6/20 15:23
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class ExpireNotifyTest {
    @Autowired
    private CardMapper cardMapper;
    @Test
    void name() {
        Card card = cardMapper.selectById(10);
        String today = DateUtil.formatDate(new Date());
        Map map = new HashMap();
        map.put("template_id","xxxx");
        map.put("page","");//点击详细跳转小程序页面,不填就没有查看详情
        map.put("touser","xxxx");//发送用户的open_id
        //跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
        map.put("miniprogram_state","developer");
        map.put("lang","zh_CN");
        Map data = new HashMap();
        Map character_string1 = new HashMap();
        character_string1.put("value",card.getCardNo());//15487517
        Map time2 = new HashMap();
        time2.put("value",card.getDoorValidEnd());//2023-06-20
        Map thing3 = new HashMap();
        thing3.put("value",card.getDoorValidEnd().compareTo(today)>0?"":"月卡已过期,请尽快延期");//月卡已过期,请尽快延期
        data.put("character_string1",character_string1);
        data.put("time2",time2);
        data.put("thing3",thing3);
        map.put("data",data);
        String accessToken = WxUtils.getXcxAccessToken();//获取小程序的accessToken
        String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN";
        String sendUrl = url.replace("ACCESS_TOKEN", accessToken);
        String post = HttpUtil.post(sendUrl, JSONUtil.toJsonStr(map));
        System.out.println(post);
    }
}

微信小程序uniapp+springboot实现小程序服务通知

5. 测试

因为之前在章节3时就允许了一次我们后端直接调用测试方法

微信小程序uniapp+springboot实现小程序服务通知

到了这里,关于微信小程序uniapp+springboot实现小程序服务通知的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于SpringBoot+Vue+uniapp微信小程序的健身管理系统及会员微信小程序的详细设计和实现

    💗 博主介绍 :✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅 👇🏻 2023-2024年最值得选的微信小程序毕业设

    2024年02月21日
    浏览(55)
  • 基于Java+SpringBoot+Vue+uniapp微信小程序实现仓储管理系统

    博主介绍 : ✌ 全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟  java项目

    2024年02月09日
    浏览(142)
  • uniapp+java/springboot实现微信小程序APIV3支付功能

    微信小程序的支付跟H5的支付和APP支付流程不一样,本次只描述下小程序支付流程。 1.微信小程序账号 文档:小程序申请 小程序支付需要先认证,如果你有已认证的公众号,也可以通过公众号免费注册认证小程序。 一般300元,我是认证的政府的免费。 然后登录小程序,设置

    2023年04月19日
    浏览(44)
  • 基于Java+SpringBoot+Vue+uniapp微信小程序外卖系统设计和实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 2022-2024年

    2024年02月13日
    浏览(129)
  • 基于SpringBoot+uniapp微信小程序校园点餐平台详细设计和实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 2022-2024年

    2024年02月05日
    浏览(56)
  • 基于SpringBoot+Vue+uniapp微信小程序的校园跑腿的详细设计和实现

    💗 博主介绍 :✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅 👇🏻 2023-2024年最值得选的微信小程序毕业设

    2024年03月18日
    浏览(59)
  • 基于SpringBoot+Vue+uniapp微信小程序的相亲网站的详细设计和实现

    🌞 博主介绍 :✌全网粉丝15W+,CSDN特邀作者、211毕业、高级全栈开发程序员、大厂多年工作经验、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序技术领域和毕业项目实战,以及程序定制化开发、全栈讲解、就业辅导✌🌞 👇🏻 精彩专栏

    2024年03月11日
    浏览(65)
  • 基于Java+SpringBoot+Vue+uniapp微信小程序零食商城系统设计和实现

     博主介绍 : ✌ 全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟  java项

    2024年02月03日
    浏览(51)
  • 基于SpringBoot+Vue+uniapp微信小程序的订餐系统的详细设计和实现

    💗 博主介绍 :✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅 👇🏻 2023-2024年最值得选的微信小程序毕业设

    2024年02月22日
    浏览(80)
  • 基于Java+SpringBoot+Vue+uniapp实现微信小程序的宠物用品商城小程序

    文末获取源码 开发语言:Java 框架:SpringBoot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器:谷歌浏览器 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序运行软件:微信开发者 随着当今网络的发

    2024年01月18日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包