微信公众号之分享接口

简介

当我们点击右上角的三个点,就会有默认的分享在这里插入图片描述
分享后的卡片如下在这里插入图片描述

  1. 但是这个时候我们想要改变一些分享的信息,这里我们需要参照微信的官网,点击
  2. 这里我们使用的是updateAppMessageShareData
wx.ready(function () {   //需在用户可能点击分享按钮前就先调用wx.updateAppMessageShareData({ title: '', // 分享标题desc: '', // 分享描述link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致imgUrl: '', // 分享图标success: function () {// 设置成功}})
}); 

注意

  • 一般在当前页面初始化的时候,就应该调用当前的接口

步骤

  1. 其实我们在页面舒适化中调用函数就可以了,也就是在ready后进行调用
  2. 然后传递各种参数就可以了,不传也会有默认的
  3. 由于我们在开发的时候并不是真机环境,那么这里我们就无法看到效果了

项目结构调整

接下来项目会越做越大,这里我们把项目结构再次调整一下

目录结构

在这里插入图片描述

解释

  1. 我们把单独用于自动回复的功能抽了出来,在一个reply文件夹下
  2. 把路由专门抽了出来,在router文件夹下,专门用于管理路由,大致的代码如下

index.js

根目录下的js文件

const express = require("express")
const app = express()const router = require("./router")// 配置模板资源目录
app.set("views", "./views")
// 配置模板引擎
app.set("view engine", "ejs")
app.use(router)app.listen(4000, () =>console.log("服务器启动成功"));

router/index.js

const express = require("express")
const Router = express.Router
const router = new Router()
const sha1 = require("sha1")const reply = require("../reply")
const Wechat = require("../wechat/wechat")
const { url } = require("../config")const wechat = new Wechat()router.get("/search", async (req, res) => {// 首先生成签名// 1. 获取到参数const { ticket } = await wechat.fetchTicket()const timestamp = Date.now(), jsapi_ticket = ticket, noncestr = Math.random().toString().split(".")[1]// 2. 进行字典排序const str = [`jsapi_ticket=${jsapi_ticket}`,`timestamp=${timestamp}`,`url=${url}/search`,`noncestr=${noncestr}`,].sort().join("&")console.log("str", str)// 3. 进行sha1加密const signature = sha1(str)// 4. 将相关的参数传入到网页中res.render("search", { signature, noncestr, timestamp, appID })
})router.use(reply())module.exports = router

reply/index.js

const sha1 = require("sha1")const config = require("../config")
const { getUserDataAsync, parseXmlData, formatMsg } = require("../libs/utils")
const reply = require("./reply")module.exports = () => {return async (req, res, next) => {const { signature, echostr, timestamp, nonce } = req.queryconst { token } = configconst str = [token, timestamp, nonce].sort().join("")const sha1str = sha1(str)if (req.method === "GET") {// GET请求用于验证服务器的有效性if (sha1str == signature) {res.set("Content-Type", "text/plain");res.send(echostr);} else {res.send(false)}} else if (req.method === "POST") {// POST用于接收用户发送的消息if (sha1str != signature) {// post请求不是来源于微信res.send("error")return}// 获取微信发送的消息const xml_data = await getUserDataAsync(req)let user_data = await parseXmlData(xml_data)user_data = formatMsg(user_data)// 使用reply.jsconst replyMessage = await reply(user_data)console.log(replyMessage)// 将消息结构发送到微信服务器res.send(replyMessage)}}
}

其他的就是修改一些文件的引入之类的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4762.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号H5页面跳转至app的某个页面,如果手机内没有app,则进入下载页面

安卓实现方法&#xff1a; $(function(){ var Id getParameter("goodsid"); //此操作会调起app并阻止接下来的js执行&#xff0c;进入已安装的app $(body).append("<iframe srcyjqandroid://?goodsid"Id" styledisplay:none target &g…

Android 接收微信、QQ其他应用打开,第三方分享

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 在AndroidManifest.xml注册ACTION事件 <activityandroid:name"com.test.app.MainActivity"android:configChanges"orientation|keyboardHidden|screenSize"android:label"…

微信公众号文章音视频下载的几种办法-涵盖PC端和手机端

很多时候我们在微信公众号的文章中发现有趣的视频或者音乐&#xff0c;但是苦于不能下载&#xff0c;这期刚好给大家安利几个下载微信公众号视频的办法&#xff0c;大家不要忘记关注科技毒瘤君微信公众号哦。 微信公众号文章视频下载的几种办法-涵盖PC端手机端-1 我这里介绍几种…

高效使用ChatGPT进行学习

ChatGPT作为一款对话式内容生成模型&#xff0c;拥有优秀的自然语言理解和生成能力&#xff0c;还拥有丰富的知识库。相比较于传统搜索引擎&#xff0c;它给出的答案更符合人们阅读习惯&#xff0c;用好它能让我们学习事半功倍。 思维的转变 传统搜索的思路 当我们碰到一个问题…

2023-ChatGPT解析及使用方法

什么是Chat GPT&#xff1f;我们能用它来干什么&#xff1f; Chat GPT是一款基于人工智能技术的自然语言处理模型&#xff0c;由OpenAI团队开发。它能够通过机器学习技术从海量文本数据中学习语言知识&#xff0c;实现自然语言生成、对话生成和语言理解等功能&#xff0c;使得…

办公软件中可以使用chatGPT吗?

随着ONLYOFFICE新品协作空间的发布&#xff0c;有很多朋友已经开始在工作区或桌面版用上chatGPT的朋友担心&#xff0c;在协作空间是否也可以正常使用chatGPT&#xff0c;我可以很负责的告诉大家&#xff0c;完全可以正常使用。 什么是ONLYOFFICE协作空间&#xff1f; 简言之&…

爆火的ChatGPT,能让自动驾驶成为老司机吗?

文丨光锥智能&#xff0c;作者丨周文斌 元宇宙已经凉透了&#xff0c;NFT也快淹死了&#xff0c;但中国互联网不知道&#xff0c;中国互联网不在乎&#xff0c;因为现在它的眼里只有ChatGPT...... 这是最近两个月来中国互联网的真实写照&#xff0c;大家都在为ChatGPT狂欢&…

[014量化交易] python 通过tushare 获取股票数据、名称、股票代码、指定股票名

# 导入tushare import tushare as ts# 初始化pro接口 pro ts.pro_api(填写你自己的key)# 拉取数据 df pro.daily(**{"ts_code": "000001.SZ","trade_date": "","start_date": 20220101,"end_date": 20220301,&q…

如何用ChatGPT写文章?只需要这3步,10倍提升写作效率

随着技术的不断进步和创新&#xff0c;我们的生活方式和工作方式也在不断变化。在日常工作中&#xff0c;越来越多的人使用人工智能和机器学习等技术提高效率减少时间成本。最近ChatGPT火出圈了&#xff0c;很多人通过使用ChatGPT提高了工作效率。那么&#xff0c;在写作领域&a…

2分钟用ChatGPT写一篇高质量文章

一、文章结构剖析 如果我们经常去写文章或者是去看别人的文章&#xff0c;你会发现文章分为以下几部分 标题 大纲 前言/导语 正文&#xff08;不同的结构&#xff09; 结尾 呼吁 当然了&#xff0c;如果我们去问 ChatGPT&#xff0c;也会得到类似的答案&#xff1a; 发送…

公司邮箱邮件一封也收不到怎么回事,什么原因?

在日常使用邮箱过程中&#xff0c;最烦心的事莫过于公司邮箱收不到邮件了&#xff0c;特别是客户发送的重要邮件&#xff0c;一旦收不到&#xff0c;就会极大的影响到正常工作。邮箱为何收不到邮件&#xff1f;邮箱邮件收不到怎么回事呢&#xff1f;其实&#xff0c;邮箱收不到…

gmail邮箱延迟收到问题

最近公司遇到了一个客户问题&#xff0c;发往gmail邮箱&#xff0c;客户收到延迟。公司老大分析了一天终于有了答案。闲下是我做了个整理把 经验分享下。 最近客户反馈&#xff0c;发送给gmail.com 和binance.com 的邮件, 收到有延迟,查看海外邮件中继服务器发信日志&#xff…

解决学校邮箱屏蔽邮件的问题/收不到邮件

问题:很多邮箱如QQ邮箱发的邮件会被学校邮箱误屏蔽截拦,并且不给提示,非常坑。 说明:西电邮箱可以这么解决,不知道其他学校邮箱能不能解决…… 登录:http://smg.stumail.xidian.edu.cn/gw/user/ 输入邮箱的账号和密码点击“个人设置”修改状态</

qq邮箱收不到通知邮件的解决方法

打开Q邮箱依次点击&#xff1a;邮箱首页->自助查询->收信查询&#xff0c;然后找到相应邮件点击后台的“添加到白名单”。以后再发邮件就能在收件箱看到了。

云原生周刊 | 让 ChatGPT 以电子邮件的方式来解释 KubeSphere

过去的一周是 ChatGPT 的狂欢&#xff0c;我猜每一位云原生玩家都很好奇他是如何看待 Kubernetes 的。咱们不防换个方式来提问&#xff0c;让它使用电子邮件的方式来向别人推荐 KubeSphere 和 OpenFunction。 开源项目推荐 Tailscale Ingress Controller 这是针对 Tailscale …

【原创】搭建一个Chat-GPT Proxy

由于众所周知的原因&#xff0c;Chat-GPT在国内无法使用。如果要使用的话&#xff0c;需要一定的科技含量。 账号获取 目前主流两种方式&#xff1a; 1、按照教程&#xff0c;自己注册。 2、直接购买一个账号。 直接注册的话&#xff0c;还需要一个开放国的手机号码&#xf…

国内免代理超级稳定使用chatgtp ,两个强大项目的联合,现在巨人肩上

内容涉及了腾讯云函数代理服务器的部署&#xff0c;和Chatgtp box项目即&#xff08;客户端和网页的使用&#xff09;。 一、获取Chatgtp的sip-key&#xff08;这一部分请自行百度&#xff09; 二、使用chatbox的客户端或者测试网页 chatbox是GitHub上的一个开源项目&#x…

中科院ChatGPT Academic开源安装使用过程中的网络代理问题

关于中科院ChatGPT Academic中小白会遇到的问题&#xff08;windows版&#xff09; ChatGPT Academic 的项目开源下载安装&#xff08;这里主要以windows为主&#xff09; 接下来就是大家会经常遇到问题的地方&#xff08;网络配置和API的输入&#xff09;这里就是针对小白的与…

chatgpt企业内应用

如果要开发ChatGPT企业内应用&#xff0c;可能需要实现以下一些功能&#xff1a; 内部知识库&#xff1a;利用ChatGPT技术搭建内部知识库系统&#xff0c;为企业员工提供快速、准确的查询和获取内部知识。 人力资源支持&#xff1a;提供职位招聘、入职培训、绩效考核等…

ChatGPT使用案例之画思维导图

ChatGPT使用案例之画思维导图 思维导图是做为我们工作中常见的工具,是发散性思维的极佳承载工具会鼓励我们探索不同的创作途径。在点子间寻找新的联系,激荡出更有创意的想法。 下面我们让ChatGPT 来帮我们做思维导图,但是需要注意的是ChatGPT并不能直接帮我们画出图,我们…