1.0.9 • Published 4 years ago

ts-wxsdk v1.0.9

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

#微信公众号 API 接口

申请测试好,请移步:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

API 文档

proxy

如果你的服务器需要通过代理服务器访问外网,需要在调用任何一个 API 之前设置代理,全局只需要设置一次。 如果服务器是直接连外网,那么忽略。 设置方法:

import {setProxy} from 'ts-wxsdk';

setProxy({
    host: 'your proxy server host',
    port: 'your proxy server port',
});

token

获取全局 accessToken 或 jsapi ticket:

import {accessToken, ticket} from 'ts-wxsdk/token';

// 获取微信全局accesstoken,2小时有效期,建议定时刷新内部保存。
const token = await accessToken(appid, appsecret); // appid和appsecret在微信公众号管理后台获取

// 微信卡券api接口ticket或者jsapi ticket
const jsticket = await ticket(token, 'jsapi');

userinfo

用户登录

import {code2AccessToken, refreshAccessToken, userinfo, code2userinfo, code2Session} from 'ts-wxsdk/user';

// 微信公众号登录,使用code换用户的accessToken和openId
const accessToken = await code2AccessToken(appid, appsecret, code);
const userinfo = await userinfo(appid, openID);

// 小程序登录
const info = await code2Session(appid, appsecret, code);

template

发送模板消息

import {template} from 'ts-wxsdk/template';

template<{
    name: {
        value: string;
        color?: string;
    };
}>(accessToken, {
    touser: 'TO USER OPENID',
    template_id: '3W-7l84S25TMqdzJPN7jaqE5Fj451aGobsc1wMD7NXU',
    url: 'https://www.baidu.com/',
    topcolor: '#00ff00',
    data: {
        name: {
            value: 'name',
            color: '#173177',
        },
    },
});

解析微信事件通知

微信消息通知具体见:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html

此 API 是把通知过来的 XML 内容解析成 JSON 格式。todo: 加密消息解密(当前版本没有处理)

import {parse} from 'ts-wxsdk/message';
const l = parse(wxSendMessage);

回复消息

具体见:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Passive_user_reply_message.html

这个 API 负责把对应的消息内容组装成 XML 格式。

import {text, image, video, voice, news} from 'ts-wxsdk/message.response';
const r = text({
    ToUserName: 'a',
    FromUserName: 'b',
    Content: 's',
});

const r = image({
    ToUserName: 'a',
    FromUserName: 'b',
    Image: {
        MediaId: 'b',
    },
});

const r = video({
    ToUserName: 'a',
    FromUserName: 'b',
    Video: {
        MediaId: '11',
        Title: 'hello video',
        Description: 'desc',
    },
});

const r = voice({
    ToUserName: 'a',
    FromUserName: 'b',
    Voice: {
        MediaId: 'voiceid',
    },
});

const r = news({
    ToUserName: 'a',
    FromUserName: 'b',
    ArticleCount: 2,
    Articles: {
        item: [
            {
                Title: 't1',
                Description: 'd1',
                PicUrl: 'pu1',
                Url: 'u1',
            },
            {
                Title: 't2',
                Description: 'd2',
                PicUrl: 'pu2',
                Url: 'u2',
            },
        ],
    },
});
1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago