微信小程序推送公众号消息

部署运行你感兴趣的模型镜像

需求:公司里希望工程人员维修或者安装设备完成时,在小程序上下单,客服这边能收到完成消息

实现:一开始我想的是做个小程序,调用小程序的推送消息给客服即可,但做了发现,娘希匹,小程序的推送大多数都特么是一次性的,长期的我还得去申请,然后就想换公众号消息推送,可坑爹的是,我上次做这个功能还是七八年前,很多流程我都忘记了,更别说后台页面现在布局都换,现在做个笔记,免得下次又忘记

1、首先要在公众号后台中,把公众号和小程序绑定


2、创建一个公众号模板

3、发送微信公众号模板消息,需要先获取到微信公众号的openid,创建授权页面调用接口获取code,才能获取到openid

3.1、在小程序中,通过web-view标签打开授权页面

https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的APPID&redirect_uri=回调页面&response_type=code&scope=snsapi_base&state=STATE&connect_redirect=1#wechat_redirect

参数说明
appid:要公众号的APPID,这要不知道在哪里得打屁股了

redirect_uri:授权用的回调页面,就在这个页面中获取code,再通过code调用后台接口获取到openid,要注意,这个回调页面的地址必须在授权的域名下,否则调用会失败

最后是小程序中的web-view标签,访问的地址必须在域名中设置一下



否则会出现这个问题

和微信公众号一样,在添加业务域名的时候,弹出的页面中,要下载文件到指定域名的目录下


结语:这点功能花了我两天的功夫,心态搞到爆炸,chatGPT也好,还是其他AI助手也好,给出的答案都不对,自己找的好辛苦,看到的不要客气,拿去白嫖吧,代码我就不贴出来了,一搜一大堆,需要的话留言吧,顺便说一下,我调用后台,生成access_token出现了IP白名单的异常,这个本地调试没办法避免,毕竟都是动态变化的嘛,只能手动在后台上修改了

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

### 微信小程序集成公众号消息推送教程 #### 一、准备工作 确保已经拥有并配置好微信公众号以及小程序账号,在微信公众平台上完成相应设置。这包括但不限于获取AppID和AppSecret等必要参数,这些将在后续开发过程中频繁使用[^3]。 #### 二、引入官方组件 在页面中添加`<official-account>`标签用于展示关联的小程序入口,并通过事件绑定函数处理加载逻辑: ```html <!-- wxml 文件 --> <view> <!-- 关联已认证的服务号或订阅号 --> <official-account bindload="onOfficialAccountLoad"></official-account> </view> ``` ```javascript // js文件 Page({ onOfficialAccountLoad(e) { console.log('Official account loaded:', e.detail); } }); ``` 此部分操作允许用户从小程序内部访问指定的公众号资料页,从而促进两者之间的互动。 #### 三、服务器端对接口的支持 对于希望向关注者发送模板消息的情况,则需依赖于后端服务来调用微信API接口。这里推荐采用Spring Boot框架构建RESTful API作为中介层,负责接收来自前端请求并向微信服务器发起HTTP POST请求以触发具体的消息推送行为[^1]。 - **创建Controller类** ```java @RestController @RequestMapping("/wx") public class WxMessageController { @Autowired private WxMpService wxMpService; @PostMapping("/sendTemplateMsg") public ResponseEntity<String> sendTemplateMsg(@RequestBody Map<String, String> params){ try{ // 构建模板数据对象... WxMpTemplateMessage templateMessage = new WxMpTemplateMessage(); // 设置模板id和其他属性... boolean result = wxMpService.getTemplateMsgService().send(templateMessage); if(result){ return ResponseEntity.ok("Success"); }else{ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Failed to send message."); } }catch(Exception ex){ log.error(ex.getMessage(),ex); return ResponseEntity.status(HttpStatus.BAD_REQUEST).build(); } } } ``` 上述代码片段展示了如何定义一个简单的控制器方法用来接受从前端传来的JSON格式的数据包,解析其中的信息填充到`WxMpTemplateMessage`实例里再经由MP SDK执行实际的通知动作。 请注意,以上仅为简化版示例,真实项目可能还需要考虑更多细节如安全性验证、错误重试机制等方面的设计。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值