惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
GbyAI
GbyAI
博客园_首页
V
Visual Studio Blog
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 叶小钗
腾讯CDC
博客园 - Franky
IT之家
IT之家
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
D
Docker
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

热爱生活与梦想

迁移LeanCloud的Waline评论数据到TiDB/Neon 25年江浙地区暑假自驾游之感慨 使用阿里云灵码继续完成构建 SSL 证书管理器 亲手给儿子做的棒棒糖摩天轮六一礼物 使用腾讯云 CodeBuddy 构建 SSL 证书管理器 修复代码块默认高度相关缺陷 HugoNexT4.7.2 新功能和升级提示 改善代码块折叠和选中功能 支持Github风格的警告样式 新增音乐短代码功能支持 给文章添加摘要和过期提示功能 回顾24年的过去总结 修复Mathjax行内显示公式的问题 给Hugo文章增加阅读更多跳转的锚点定位功能 Win10隐匿的VPN设置和L2TP连接常见错误 Go语言中“糟糕”的日期时间格式化设计 DaoCloud道客提供的免费Docker镜像代理服务 感谢万能淘宝让自己吃到喜欢的美食 WSL运行时遇到未知异常错误无法使用 隐藏的换行符导致Base64加密解密失败 MySQL自带客户端直接免密登录操作 Linux系统中删除目录软链接的注意项 Java程序调用外网API时CA问题 如何不关机重启WSL2恢复虚拟服务 在Windows上安装Podman容器平台做虚拟化 记一次无法弹出移动硬盘的记录 为友情链接添加自动检测脚本 重新激活Github的2FA认证 Linux中使用tar压缩命令排除文件 继续小米手环的健康生活之旅
mpsdk4j的点滴记录--MPAccount
凡梦星尘 · 2016-01-24 · via 热爱生活与梦想

mpsdk4j是在实际的生产项目中抽离出来的开源分享项目,它的成长至今也算是有不少的经历吧, 最近一直忙于工作与生活上的事情疏忽了对它的关心. 自去年下决心对它重构并建立了QQ交流群( 486192816 )后, 逐渐的有不业界朋友前来关注, 在此非常感谢他们的支持. 都说用过方知其好, 可实际情况确不是这么乐观呀,在大家的使用过程中发现mpsdk4j有不少欠缺与不足的地方. 之前一直想在元旦发布的2.b.1版本也拖延至今还没有交工, 在此对大家说声抱歉, 以后定会嘉勉.下面还是先进入此次的主题–初识mpsdk4jMPAccount. (注: 对于有微信开发基础与项目经验的可略过)

mpsdk4j自发布之时起的目标就是要做到原生态,简单易用. 不过在实际的交流过程中发现一个普遍的现象, 就是对初次接触微信开发的朋友来说,mpsdk4j的使用还是有点难(这也是为何要写这一篇博文的原因之一). 那么接下来我们就先简单的认识下微信公众平台开的所需要的元素, 以及它们与mpsdk4j之的映射关系.

微信公众号属性

序号属性示例备注
1公众号原始IDgh_20e50b3b4r9u以gh_开头的(不明白其含义)
2公众号昵称mpsdk4j用户自定义的公众号别名
3用户唯一凭证(应用ID)wxa822bd879532187以字母wx开头的,其含义大概是微信的拼音首字母
4用户唯一凭证密钥(应用密钥)613d3ce897hgf71a875d1342c8325f3d32位的随机字符串
5AES 加解密密钥JwAsfZH4p9iuuvfxjry6cLtlOgZAd853kJQ5hNv5OI443位的随机字符串
6开发者服务令牌weixindev用户接入微信开发者服务时的自定义令牌
7公众号类型SD: 订阅号, S: 服务号, E: 企业号 (预留字段)
8是否认证truetrue: 通过认证, false: 未通过认证 (同上也是预留字段)

那么在mpsdk4j中我设计了一个对象, 位于io.github.elkan1788.mpsdk4j.vo包中其名字叫MPAccount, 直译过来是微信公众号的意思. 它将上面的8个公众号属性对应的代码如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

/**
 * 微信公众号信息
 * 
 * @author 凡梦星尘(elkan1788@gmail.com)
 * @since 2.0
 */
public class MPAccount {

    /**
     * 公众号原始ID
     */
    private String mpId;

    /**
     * 公众号昵称
     */
    private String nickName;

    /**
     * 应用Id
     */
    private String appId;

    /**
     * 应用密钥
     */
    private String appSecret;

    /**
     * 令牌
     */
    private String token;

    /**
     * AES安全加密密钥
     */
    private String AESKey;

    /**
     * 公众号类型
     * D:订阅号
     * E:企业号
     * S:服务号
     */
    private String mpType;

    /**
     * 是否认证
     */
    private boolean pass;
		
		......
}

有过微信开发经验的朋友, 都不难看出这些属性都是微信公众号必备的, 前面6个属性是可以微信公众号管理平台上直观的看到, 后面2个属性是从中经验中吸取提炼出来的, 在后面的许多开发中有使用的需求. 比如在调用微信的语音识别接口时就是得先了解当前公众号是否通过认证, 只有认证成功的公众号才有权限使用语音识别接口. 在实际的项目经验中, 你直接把此类设计成一个数据库表用来管理微信公众号信息.

或许你会觉得看完这些文章并没有太大的收获, 那不要紧, 你可以把它收藏起来, 当作是文档工具使用. 哪天你在开发的时候不记得了其中某个属性的含义, 可以倒回头来再拾起. 如有更好的建议或是意见, 可以在下面回复.

参考: