在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:51ding/koa-easywechat开源软件地址:https://github.com/51ding/koa-easywechat开源编程语言:JavaScript 100.0%开源软件介绍:koa-easywechat
安装$ npm install koa-easywechat -S API快速开始注意:koa-easywechat中间件要写在最前面,也就是要第一个use,因为我在ctx上挂载了一个wechat对象,这个对象实现了大部分的微信接口,这样才能保证开发者在自己的写路由里,获取到ctx.wechat进行自己的业务开发 var Koa=require("koa");
var WeChat=require("koa-easywechat");
var app=new Koa();
app.use(WeChat({
appID:"",
appsecret:"",
token:"",
isSafeModel:false,
encodingAESKey:""
},async function (next){
this.reply={
type:"text",
content:"回复一段文字吧"
}
}
}));
app.listen(3000,()=>{
console.log("server is running")
}); 上面这段代码用于回复一段文字 WeChat(config , replyHandler);config【Object】
replyHandler:是一个async函数,用于开发者自己实现自动回复业务逻辑async replyHandler(next){
var message=this.message;
var wechat=this.wechat;
this.reply={
type:"text",
content:"回复一段文字吧"
}
} 如果没有回复的业务逻辑,可以调用next()将控制权交给之后的中间件处理 async replyHandler(next){
await next();
} 在这个函数里,this就是koa框架中的上下文(ctx)的引用,我在ctx对象上挂载了两个对象wechat和message message对象1、message 对象封装了微信发来的【普通消息】和【事件推送消息】,若要查看message对象的详细信息,请点击 这里回复对象2、this.reply 对象是将要回复的内容,这个对象的属性要严格按照要求书写,具体规则在这里3、wechat 对象是这个中间件中最核心的,实现了大部分的功能现在已经实现的接口有:wechat.getAccessToken 功能:获取accessToken。因为调用accessToken的接口每天的调用频率是有上限的,不能频繁调用,所以这里实现了accessToken的自管理,开发者不必关心accessToken是否过期,过期之后会自动去微信服务器请求并更新最新的accessToken。 var wechat=ctx.wechat;
var token=await ctx.getAccessToken(); wechat.getJsApiTicket() 功能:获取jsapi_ticketj,sapi_ticket是公众号用于调用微信JS接口的临时票据。jsapi_ticket与token类似,在微信网页开发中需要用到,也需要全局缓存。 var wechat=ctx.wechat;
var jsApiTicket=await ctx.getJsApiTicket(); wechat.uploadTemporaryMaterial(type,filePath)功能:上传临时素材 参数
返回值(json)
var wechat=ctx.wechat;
var media=await ctx.uploadTemporaryMaterial("image","文件的路径"); wechat.createMenu(menuObj)功能:创建自定义菜单 参数:
var menu = {
button: [
{
type: "click",
name: "今日歌曲",
key: "V1001_TODAY_MUSIC"
},
{
name: "菜单",
sub_button: [
{
type: "view",
name: "搜索",
url: "http://www.soso.com/"
},
{
type: "click",
name: "赞一下我们",
key: "V1001_GOOD"
}]
}]
};
var wechat=ctx.wechat;
await wechat.createMenu(menu); wechat.getMenu()功能:获取json格式的自定义菜单 var wechat=ctx.wechat;
var menu=await wechat.getMenu(); wechat.deleteMenu()功能:删除自定义菜单 var wechat=ctx.wechat;
var menu=await wechat.deleteMenu(); 完结,撒花~~~~~~~~~~~~~~~ |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论