api.php wechat,微信Api的集成

如何集成?

需要2样东西: @IocBy配置和一个properties文件

IocBy配置, 当然就是MainModule类了

@IocBy(args={"*js", "ioc/",

"*anno", "net.wendal.nutzbook",

"*weixin", // 仅需要添加这一行,引用的是org.nutz.plugins.weixin.WeixinIocLoader

"*jedis",

"*async",

"*tx"})

weixin.properties的参数值,在微信公众号内均可以找到. 请确保这个properties文件被conf扫描到.

weixin.token=1234567890

weixin.appid=wx10927e35a365fe1c

weixin.appsecret=c29accd1784e636d6478eac9b6b3aYYY

#weixin.encodingAesKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

#weixin.openid=XXX

#weixin.redis.key=wxmp:access_token

#weixin.atstore=jedis

其中:token是被动响应所需要的自定义值

appid是微信为你的公众号分配的唯一的不可变的id

c29accd1784e636d6478eac9b6b3aYYY也是微信生成的

encodingAesKey是加密key, 测试号是不存在的,正式注册的微信公众号才有

openid是公众号的id

atstore是AccessToken的存储媒介,默认是memory,即内存存储.

示例调用

@IocBean

public class MyWeixinService {

private static final Log log = Logs.get();

@Inject protect WxApi2 wxApi2;

public void getMenu() {

WxResp resp = wxApi2.menu_get();

if (resp.ok()) {

if (log.isDebugEnable())

log.debugf("menu = %s",Json.toJson(resp.get("menu")));

} else {

log.info("something happen : " + Json.toJson(resp));

}

}

}

AccessToken的存储

微信的AccessToken的默认有效期是2小时,需要定期刷新,nutzwx内置了WxAccessTokenStore的实现类.

默认情况下, 使用的是memory模式,实现类是MemoryAccessTokenStore,保存在内存,每次重启就会丢失.

通过配置文件中的weixin.atstore进行设置, 可选模式有:memory 内存模式

dao 通过NutDao保存到数据库

jedis 通过nutz-integration-jedis提供的JedisAgent类存储到redis单机或集群

jedisPool 通过JedisPool存储到redis单机

其中,jedis/jedisPool模式下,存储到redis的键名称,通过weixin.redis.key设置,一般不需要设置,除非需要多个微信公众号一起使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值