微信开发api_微信公众号开发api - CSDN
精华内容
参与话题
  • 个人微信开发API

    2019-05-30 00:49:39
    微信开发SDK,微信二次开发sdk,个人微信开发API 微信开发SDK接口API列表 1、基础消息类型 1、客户端发送的心跳包 HeartBeatReq = 1001; 2、消息接收确认回复(接收或拒绝接收) MsgReceivedAck = 1002; 3、错误单独...
        

    微信开发SDK,微信二次开发sdk,个人微信开发API
    微信开发SDK接口API列表
    1、基础消息类型
    1、客户端发送的心跳包 HeartBeatReq = 1001;
    2、消息接收确认回复(接收或拒绝接收) MsgReceivedAck = 1002;
    3、错误单独提升为一种消息类型 Error = 1003;
    2、设备客户端授权类消息
    1、设备(手机客户端、客服客户端)获取通信token请求 DeviceAuthReq = 1010;
    2、设备(手机客户端、客服客户端)获取通信token响应 DeviceAuthRsp = 1011;
    3、设备授权后退出(仅用于服务端内部) DeviceExitNotice = 1012;
    4、账号强制下线通知 AccountForceOfflineNotice = 1013;
    微信开发SDK,微信二次开发sdk,个人微信开发API
    3、手机客户端上传的通知类消息
    1、手机客户端微信上线通知 WeChatOnlineNotice = 1020;
    2、手机客户端微信下线通知 WeChatOfflineNotice = 1021;
    3、微信个人号新增好友通知 FriendAddNotice = 1022;
    4、微信个人号移除好友通知 FriendDelNotice = 1023;
    5、微信好友发来聊天消息 FriendTalkNotice = 1024;
    6、任务执行结果通知 TaskResultNotice = 1025;
    7、手机上回复好友的聊天消息 WeChatTalkToFriendNotice = 1026;
    8、有好友请求添加好友的通知 FriendAddReqeustNotice = 1027;
    9、手机端向服务端通知聊天执行结果 TalkToFriendTaskResultNotice = 1028;
    10、图片或视频消息的详细内容结果 RequestTalkDetailTaskResultNotice = 1029;
    11、上传手机客户端上微信的二维码 PullWeChatQrCodeTaskResultNotice = 1030;
    12、手机上发送了朋友圈通知 CircleNewPublishNotice = 1031;
    13、手机上删除朋友圈通知 CircleDelNotice = 1032;
    14、手机检测到有人点赞/取消点赞通知 CircleLikeNotice = 1033;
    15、手机检测到有人评论/删除朋友圈通知 CircleCommentNotice = 1034;
    16、消息标记为已读 PostMessageReadNotice = 1035;
    17、联系人信息上传 ContactsInfoNotice = 1036;
    18、群聊新增通知 ChatRoomAddNotice = 1037;
    19、联系人标签新增,修改通知 ContactLabelAddNotice = 1038;
    20、收钱任务执行结果通知 TakeMoneyTaskResultNotice = 1039;
    21、朋友圈图片上传 CircleDetailNotice = 1040;
    22、群聊删除通知 ChatRoomDelNotice = 1041;
    23、群聊信息变更通知 ChatRoomChangedNotice = 1042;
    24、群二维码 PullChatRoomQrCodeTaskResultNotice = 1043;
    微信开发SDK,微信二次开发sdk,个人微信开发API
    4、服务端、客服客户端发给设备的指令类消息
    1、给好友发消息任务 TalkToFriendTask = 1070;
    2、发送朋友圈任务 PostSNSNewsTask = 1071;
    3、主动添加好友任务 AddFriendsTask = 1072;
    4、发送朋友圈任务后数据回传 PostSNSNewsTaskResultNotice = 1073;
    5、删除朋友圈 DeleteSNSNewsTask = 1074;
    6、客户端或者服务端接受好友请求通知 AcceptFriendAddRequestTask = 1075;
    7、群发消息任务 WeChatGroupSendTask = 1076;
    8、执行养号动作命令 WeChatMaintenanceTask = 1077;
    9、请求图片或视频消息的详细内容 RequestTalkDetailTask = 1078;
    10、服务端主动要求手机上传当前登录的微信二维码 PullWeChatQrCodeTask = 1079;
    11、触发手机推送好友列表任务 TriggerFriendPushTask = 1080;
    12、触发手机推送朋友圈列表任务 TriggerCirclePushTask = 1081;
    13、朋友圈评论删除任务 CircleCommentDeleteTask = 1082;
    14、朋友圈评论删除任务反馈 CircleCommentDeleteTaskResultNotice = 1083;
    15、朋友圈评论回复任务 CircleCommentReplyTask = 1084;
    16、朋友圈评论回复反馈 CircleCommentReplyTaskResultNotice = 1085;
    17、通知手机将某个聊天窗口置为已读 TriggerMessageReadTask = 1086;
    18、消息撤回 RevokeMessageTask = 1087;
    19、转发消息 ForwardMessageTask = 1088;
    20、通知手机推送聊天记录 TriggerHistoryMsgPushTask = 1089;
    21、获取群聊二维码 PullChatRoomQrCodeTask = 1090;
    微信开发SDK,微信二次开发sdk,个人微信开发API
    5、服务端通知执行的命令
    1、服务端通知pc客户版本升级 UpgradeAppNotice = 1093;
    2、通知手机客户端软件升级 UpgradeDeviceAppNotice = 1094;
    3、清粉任务 PostFriendDetectTask = 1095;
    4、终止清粉任务 PostStopFriendDetectTask = 1096;
    5、删除设备通知 PostDeleteDeviceNotice = 1097;
    6、朋友圈点赞任务 PostMomentsPraiseTask = 1098;
    7、停止朋友圈点赞任务 PostStopMomentsPraiseTask = 1099;
    8、养号任务停止 PostStopWeChatMaintenanceTask = 1100;
    9、修改备注任务 ModifyFriendMemoTask = 1101;
    10、领取红包或转账 TakeLuckyMoneyTask = 1200;
    11、获取指定好友朋友圈 PullFriendCircleTask = 1201;
    12、获取朋友圈图片 PullCircleDetailTask = 1202;
    13、单条朋友圈点赞任务 CircleLikeTask = 1203;
    14、触发手机推送群聊列表 TriggerChatroomPushTask = 1210;
    15、请求具体群聊的详细信息 RequestChatRoomInfoTask = 1211;
    16、获取联系人详细信息(不一定是好友,如群聊成员) RequestContactsInfoTask = 1212;
    17、群聊管理 ChatRoomActionTask = 1213;
    18、群内加好友 AddFriendInChatRoomTask = 1214;
    19、通讯录加好友 AddFriendFromPhonebookTask = 1215;
    20、删除好友 DeleteFriendTask = 1216;
    21、发红包 SendLuckyMoneyTask = 1217;
    22、获取聊天消息的原始内容(主要是xml内容) RequestTalkContentTask = 1218;
    23、返回聊天消息的原始内容 RequestTalkContentTaskResultNotice = 1219;
    24、转发消息内容 ForwardMessageByContentTask = 1220;
    微信开发SDK,微信二次开发sdk,个人微信开发API
    6、手机端主动发出的交互类消息
    1、手机端推送好友列表 FriendPushNotice = 2026;
    2、手机端推送当前安装版本 PostDeviceInfoNotice = 2027;
    3、手机端回传检测清粉好友数 PostFriendDetectCountNotice = 2028;
    4、手机回传朋友圈数据 CirclePushNotice = 2029;
    5、手机回传朋友圈点赞数量 PostMomentsPraiseCountNotice = 2030;
    9、手机端推送群聊列表 ChatroomPushNotice = 2031;
    7、手机端推送标签列表 ContactLabelInfoNotice = 2032;
    8、推送历史消息 HistoryMsgPushNotice = 2033;
    9、群成员(陌生人)信息 ChatRoomMembersNotice = 2034;
    【聚客通】等等scrm都是基于这个微信sdk的API二次开发的。
    github地址:https://www.wuliaokankan.cn/url301/138.html

    展开全文
  • 微信API接口文档

    万次阅读 2019-05-24 01:03:22
    微信API接口文档 微信API接口文档,微信API接口,个人微信聊天接口api 微信手机客户端上传的通知类消息 1、手机客户端微信上线通知 WeChatOnlineNotice = 1020; 2、手机客户端微信下线通知 ...

    微信API接口文档

    微信API接口文档,微信API接口,个人微信聊天接口api
    微信手机客户端上传的通知类消息

    1、手机客户端微信上线通知 WeChatOnlineNotice = 1020;

    2、手机客户端微信下线通知 WeChatOfflineNotice = 1021;

    3、微信个人号新增好友通知 FriendAddNotice = 1022;

    4、微信个人号移除好友通知 FriendDelNotice = 1023;

    5、微信好友发来聊天消息 FriendTalkNotice = 1024;

    6、任务执行结果通知 TaskResultNotice = 1025;

    7、手机上回复好友的聊天消息 WeChatTalkToFriendNotice = 1026;

    8、有好友请求添加好友的通知 FriendAddReqeustNotice = 1027;

    9、手机端向服务端通知聊天执行结果 TalkToFriendTaskResultNotice = 1028;

    10、图片或视频消息的详细内容结果 RequestTalkDetailTaskResultNotice = 1029;

    11、上传手机客户端上微信的二维码 PullWeChatQrCodeTaskResultNotice = 1030;

    12、手机上发送了朋友圈通知 CircleNewPublishNotice = 1031;

    13、手机上删除朋友圈通知 CircleDelNotice = 1032;

    14、手机检测到有人点赞/取消点赞通知 CircleLikeNotice = 1033;

    15、手机检测到有人评论/删除朋友圈通知 CircleCommentNotice = 1034;

    16、消息标记为已读 PostMessageReadNotice = 1035;

    17、联系人信息上传 ContactsInfoNotice = 1036;

    18、群聊新增通知 ChatRoomAddNotice = 1037;

    19、联系人标签新增,修改通知 ContactLabelAddNotice = 1038;

    20、收钱任务执行结果通知 TakeMoneyTaskResultNotice = 1039;

    21、朋友圈图片上传 CircleDetailNotice = 1040;

    22、群聊删除通知 ChatRoomDelNotice = 1041;

    23、群聊信息变更通知 ChatRoomChangedNotice = 1042;

    24、群二维码 PullChatRoomQrCodeTaskResultNotice = 1043;

    微信API接口文档,微信API接口,个人微信聊天接口api
    服务端、客服客户端发给设备的指令类消息

    1、给好友发消息任务 TalkToFriendTask = 1070;

    2、发送朋友圈任务 PostSNSNewsTask = 1071;

    3、主动添加好友任务 AddFriendsTask = 1072;

    4、发送朋友圈任务后数据回传 PostSNSNewsTaskResultNotice = 1073;

    5、删除朋友圈 DeleteSNSNewsTask = 1074;

    6、客户端或者服务端接受好友请求通知 AcceptFriendAddRequestTask = 1075;

    7、群发消息任务 WeChatGroupSendTask = 1076;

    8、执行养号动作命令 WeChatMaintenanceTask = 1077;

    9、请求图片或视频消息的详细内容 RequestTalkDetailTask = 1078;

    10、服务端主动要求手机上传当前登录的微信二维码 PullWeChatQrCodeTask = 1079;

    11、触发手机推送好友列表任务 TriggerFriendPushTask = 1080;

    12、触发手机推送朋友圈列表任务 TriggerCirclePushTask = 1081;

    13、朋友圈评论删除任务 CircleCommentDeleteTask = 1082;

    14、朋友圈评论删除任务反馈 CircleCommentDeleteTaskResultNotice = 1083;

    15、朋友圈评论回复任务 CircleCommentReplyTask = 1084;

    16、朋友圈评论回复反馈 CircleCommentReplyTaskResultNotice = 1085;

    17、通知手机将某个聊天窗口置为已读 TriggerMessageReadTask = 1086;

    18、消息撤回 RevokeMessageTask = 1087;

    19、转发消息 ForwardMessageTask = 1088;

    20、通知手机推送聊天记录 TriggerHistoryMsgPushTask = 1089;

    21、获取群聊二维码 PullChatRoomQrCodeTask = 1090;

    微信API接口文档,微信API接口,个人微信聊天接口api
    服务端通知执行的命令

    1、服务端通知pc客户版本升级 UpgradeAppNotice = 1093;

    2、通知手机客户端软件升级 UpgradeDeviceAppNotice = 1094;

    3、清粉任务 PostFriendDetectTask = 1095;

    4、终止清粉任务 PostStopFriendDetectTask = 1096;

    5、删除设备通知 PostDeleteDeviceNotice = 1097;

    6、朋友圈点赞任务 PostMomentsPraiseTask = 1098;

    7、停止朋友圈点赞任务 PostStopMomentsPraiseTask = 1099;

    8、养号任务停止 PostStopWeChatMaintenanceTask = 1100;

    9、修改备注任务 ModifyFriendMemoTask = 1101;

    10、领取红包或转账 TakeLuckyMoneyTask = 1200;

    11、获取指定好友朋友圈 PullFriendCircleTask = 1201;

    12、获取朋友圈图片 PullCircleDetailTask = 1202;

    13、单条朋友圈点赞任务 CircleLikeTask = 1203;

    14、触发手机推送群聊列表 TriggerChatroomPushTask = 1210;

    15、请求具体群聊的详细信息 RequestChatRoomInfoTask = 1211;

    16、获取联系人详细信息(不一定是好友,如群聊成员) RequestContactsInfoTask = 1212;

    17、群聊管理 ChatRoomActionTask = 1213;

    18、群内加好友 AddFriendInChatRoomTask = 1214;

    19、通讯录加好友 AddFriendFromPhonebookTask = 1215;

    20、删除好友 DeleteFriendTask = 1216;

    21、发红包 SendLuckyMoneyTask = 1217;

    22、获取聊天消息的原始内容(主要是xml内容) RequestTalkContentTask = 1218;

    23、返回聊天消息的原始内容 RequestTalkContentTaskResultNotice = 1219;

    24、转发消息内容 ForwardMessageByContentTask = 1220;

    微信API接口文档,微信API接口,个人微信聊天接口api
    手机端主动发出的交互类消息

    1、手机端推送好友列表 FriendPushNotice = 2026;

    2、手机端推送当前安装版本 PostDeviceInfoNotice = 2027;

    3、手机端回传检测清粉好友数 PostFriendDetectCountNotice = 2028;

    4、手机回传朋友圈数据 CirclePushNotice = 2029;

    5、手机回传朋友圈点赞数量 PostMomentsPraiseCountNotice = 2030;

    9、手机端推送群聊列表 ChatroomPushNotice = 2031;

    7、手机端推送标签列表 ContactLabelInfoNotice = 2032;

    8、推送历史消息 HistoryMsgPushNotice = 2033;

    9、群成员(陌生人)信息 ChatRoomMembersNotice = 2034;

    case HeartBeatReq: {// 客户端发送的心跳包
    heartBeatReqHandler.handleMsg(ctx, msgVo);
    break;
    }
    case DeviceAuthReq: {// 设备客户端授权 设备(手机客户端、客服客户端)获取通信token请求
    deviceAuthReqHandler.handleMsg(ctx, msgVo);
    break;
    }
    case AccountForceOfflineNotice: {// 设备账号强制下线通知
    accountForceOfflineNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    / 手机客户端通知类消息 start///
    case WeChatOnlineNotice: {// 手机客户端微信上线通知
    weChatOnlineNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case WeChatOfflineNotice: {// 手机客户端微信下线通知
    weChatOfflineNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case FriendAddNotice: {// 微信个人号新增好友通知
    friendAddNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case FriendDelNotice: {// 微信个人号移除好友通知
    friendDelNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case FriendTalkNotice: {// 微信好友发来聊天消息
    friendTalkNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case TaskResultNotice: {// 任务执行结果通知
    taskResultNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case WeChatTalkToFriendNotice: {// 手机上回复好友的聊天消息
    weChatTalkToFriendNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case FriendAddReqeustNotice: {// 有好友请求添加好友的通知
    friendAddReqeustNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case TalkToFriendTaskResultNotice: {// 手机端向服务端通知聊天执行结果
    talkToFriendTaskResultNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case RequestTalkDetailTaskResultNotice: {// 图片或视频消息的详细内容结果
    requestTalkDetailTaskResultNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PullWeChatQrCodeTaskResultNotice: {// 上传手机客户端上微信的二维码
    pullWeChatQrCodeTaskResultNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CircleNewPublishNotice: {// 手机上发送了朋友圈通知
    circleNewPublishNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CircleDelNotice: {// 手机上删除朋友圈通知
    circleDelNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CircleLikeNotice: {// 手机检测到有人点赞/取消点赞通知
    circleLikeNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CircleCommentNotice: {// 手机检测到有人评论/删除朋友圈通知
    circleCommentNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CircleCommentReplyTaskResultNotice: {// 朋友圈评论回复反馈
    circleCommentReplyTaskResultNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CircleCommentDeleteTaskResultNotice: {// 朋友圈评论删除任务反馈
    circleCommentDeleteTaskResultNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostFriendDetectCountNotice: {// 手机端回传检测清粉好友数
    postFriendDetectCountNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CirclePushNotice: {// 手机回传朋友圈数据
    circlePushNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostMomentsPraiseCountNotice: {// 手机回传朋友圈点赞数
    postMomentsPraiseCountNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostMessageReadNotice: {// 手机端微信 消息标记为已读
    postMessageReadNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    / 手机客户端通知类消息 end
    //客服pc客户端发给设备的指令类消息 start//
    case TalkToFriendTask: {// 给好友发消息任务
    talkToFriendTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostSNSNewsTask: {// 发送朋友圈任务
    postSNSNewsTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case AddFriendsTask: {// 主动添加好友任务
    addFriendsTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostSNSNewsTaskResultNotice: {// 发送朋友圈任务后数据回传
    postSNSNewsTaskResultNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case DeleteSNSNewsTask: {// 删除朋友圈
    deleteSNSNewsTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case AcceptFriendAddRequestTask: {// 客户端或者服务端接受好友请求通知
    acceptFriendAddRequestTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case WeChatGroupSendTask: {// 群发消息任务
    weChatGroupSendTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case WeChatMaintenanceTask: {// 执行养号动作命令
    weChatMaintenanceTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostStopWeChatMaintenanceTask: {// 养号任务停止
    postStopWeChatMaintenanceTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case RequestTalkDetailTask: {// 请求图片或视频消息的详细内容
    requestTalkDetailTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PullWeChatQrCodeTask: {// 服务端主动要求手机上传当前登录的微信二维码
    pullWeChatQrCodeTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case TriggerFriendPushTask: {// 触发手机推送好友列表任务
    triggerFriendPushTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case FriendPushNotice: {// 手机端推送好友列表
    friendPushNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case TriggerCirclePushTask: {// 触发手机推送朋友圈列表任务
    triggerCirclePushTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CircleCommentDeleteTask: {// 朋友圈评论删除任务
    circleCommentDeleteTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case CircleCommentReplyTask: {// 朋友圈评论回复任务
    circleCommentReplyTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostFriendDetectTask: {// 清粉任务
    postFriendDetectTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostStopFriendDetectTask: {// 终止清粉任务
    postStopFriendDetectTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostMomentsPraiseTask: {// 朋友圈点赞任务
    postMomentsPraiseTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case PostStopMomentsPraiseTask: {// 停止朋友圈点赞任务
    postStopMomentsPraiseTaskHandler.handleMsg(ctx, msgVo);
    break;
    }
    case GetWeChatsReq: {// 拉取当前微信个人号列表请求
    getWeChatsReqHandler.handleMsg(ctx, msgVo);
    break;
    }
    case SyncFriendMessageAsyncReq: {// 同步好友消息数据请求
    syncFriendMessageAsyncReqHandler.handleMsg(ctx, msgVo);
    break;
    }
    case AccountLogoutNotice: {//pc客户端退出通知
    accountLogoutNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case WeChatLoginNotice: {//pc客户端选择微信号登陆/登出通知
    weChatLoginNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    case ReadChatMessageNotice: {//pc客户端 标记消息已读
    readChatMessageNoticeHandler.handleMsg(ctx, msgVo);
    break;
    }
    /客服客户端发给设备的指令类消息 end//
    //其他公共消息处理start//
    case MsgReceivedAck: {//消息接收确认回复(接收或拒绝接收)
    msgReceivedAckHandler.handleMsg(ctx, msgVo);
    break;
    }
    永久地址:https://www.wuliaokankan.cn/url301/138.html

    posted @ 2019-05-23 16:45 微信客服scrm研究中心 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • 如果觉得这篇文章对您有所启发,欢迎关注我的...  小程序开发在入门阶段直接参照官方的帮助文档即可,包括基本语法(和Vue.js大同小异)、开发工具(腾讯提供了一个小的开发工具)等,官方文档:微信小程序开发。 ...

    如果觉得这篇文章对您有所启发,欢迎关注我的公众号,我会尽可能积极和大家交流,谢谢。
    这里写图片描述

      从今天开始,开始打造一个个人版的微信小程序,尽早上线,方便大家使用以及技术讨论。这套小程序包括前台、后台、数据库等部分,估计需要花些时间了。
      小程序开发在入门阶段直接参照官方的帮助文档即可,包括基本语法(和Vue.js大同小异)、开发工具(腾讯提供了一个小的开发工具)等,官方文档:微信小程序开发。
      小程序开发自然而然分为前台后台,前台程序的入门参照官方文档,后台程序则需要自己搭建了。主要问题是微信小程序要求内部调用的API接口必须都是https的,并且最好是带域名,因此需要在搭建后台的时候费点功夫,整体后台基本流程如下:
    这里写图片描述

    • 1 选用API接口。想让产品能够吸引用户来用,首先得要求其有一些实实在在的功能,这就需要对应业务的API接口了。
    • 2 Springboot统一后台。整合用到的api业务接口,同时支撑一些自定义功能(如登录注册等)
    • 3 云服务器、域名、SSL证书:后台部署的媒介,同时负责将http接口转换为https接口
    • 4 Nginx反向代理:将域名和IP绑定,以https的形式提供给前端程序调用
    • 5 微信小程序:前端

    1 API市场

    1.1 API市场

      有多少程序员在入门的时候都写过天气预报的demo?这就是一个最简单的数据API。目前在市面上有很多API接口可供大家调用,有付费的也有免费的,这里举两个例子:聚合数据阿里云API市场。这两个市场的优缺点我并没有仔细研究。
      这里以阿里云API市场中的天气预报API接口为例来做:天气预报API接口

    1.2 购买API

      首先,需要先购买该API接口之后才能调用,即使是表明免费的接口也需要进行购买操作,否则无法进行调用。这里有很多便宜且实用的接口,如天气预报、快递查询、驾照查分、身份证识别等等,具体如何组合使用还是取决于我们对产品发展的设想:
    这里写图片描述
      以天气预报查询为例,我们在登录阿里云账号(支付宝可以直接登录)并购买对应API接口之后,在对应的控制台中可以查看到该接口的AppCode、AppKey、AppSecret,这些都是我们对该接口的调用凭证,在调用时是需要放到header中上传的:
    这里写图片描述

    1.3 测试API

      在API购买完成之后,我们需要测试一下这个接口的可用性,我这里使用postman来测试一下,对应的调用方式在文档中已经都明确说明过了:天气预报API接口
      调用地址见文档,调用方式为get请求,请求头中写入AppCode做身份认证,添加城市名称作为请求参数,测试如下:
    这里写图片描述
    具体身份认证方式见文档:Appcode简单认证

    2 搭建Springboot

    2.1 IDE

      这里选用IntelliJ IDEA,IntelliJ IDEA是付费最好的java编辑器,eclipse是免费最好的java编辑器。为了方便springboot项目的新建和编写,这里推荐下载两个插件,即GsonFormat和Spring Assistant:
    这里写图片描述
    这里写图片描述

    2.2 新建springboot项目

      Spring Assistant能够方便快速的新建一个springboot项目:“file”->“new”->“project”->“Spring Assistant”,按照提示一步步创建SpringBoot项目即可。有一点需要说明的就是,这里默认通过maven来构建项目以及依赖包的管理,IDEA默认是国外的maven仓库地址,第一次构建下载相应的jar包时会相当慢,需要转换到国内镜像来下载,具体如下:maven国内镜像地址
      在新建Springboot项目时,记得选中web的依赖,后续在使用网络请求的时候会用到这个依赖:
    这里写图片描述
      数据库的依赖这里先不要选,等用到的时候再添加即可,不然程序启动不起来。程序新建完成之后,找到对应的Application入口,右键debug它:
    这里写图片描述
      也可以通过“shift+alt+F9”快捷键来实现debug,控制台输出一下内容,说明程序启动正常:
    这里写图片描述

    2.3 集成swagger接口文档

      Swagger是一种Rest API的 简单但强大的表示方式,这里应用知乎上的一篇文章作为介绍:swagger简介。接下来,我们要在新建的springboot项目中将swagger集成进来。
      1、在项目的pom.xml文件中添加swagger相关依赖:

            <!-- Swagger -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.6.1</version>
            </dependency>
    
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.6.1</version>
            </dependency>

    每次修改pom文件时,系统在右下角有所提示,点击“import change”即可完成相关依赖包的添加。
      2、在和Application同级的目录中,新建名为“Swagger2”的类:
    这里写图片描述
    swagger2文件中的代码如下:

    @Configuration
    @EnableSwagger2
    public class Swagger2 {
        private String BASE_PACKAGE = Swagger2.class.getPackage().getName();
    
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
                    .apis(RequestHandlerSelectors.basePackage(BASE_PACKAGE)).paths(PathSelectors.any()).build();
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder().title("WechatApplet")
                    .description("微信小程序后台支持")
                    .termsOfServiceUrl("http://www.neuqosft.com")
                    .version("0.0.1")
                    .build();
        }
    
    }

      “ctrl+F5”重启项目,启动成功之后在浏览器中输入:http://localhost:8080/swagger-ui.html,显示swagger页面,配置完成。
    这里写图片描述

    3 调用阿里云api市场中的天气预报接口

      springboot的项目建完之后,需要在其中调用我们之前购买的API接口。

    3.1 新建package

      新建api、weather两个包,同时在weather新建dto、service两个包:
    这里写图片描述

    • api:放置SpringMVC中的controller,直接接受前台的请求,并返回数据结果
    • weather:放置有关天气相关的service层、dto层、entity层代码
    • service:负责相关业务调用和逻辑处理
    • dto:构造bean,负责将API返回的json串解析成对应的类

    3.2 新建dto

      在dto包下新建WeatherInfoDto的java class,dto生成可以使用插件gsonformat。首先,在postman中复制接口返回的所有字符串数据:
    这里写图片描述
    在WeatherInfoDto的类内部(大括号包裹的区域),点击右键->“Generate”->“GsonFormat”,然后将接口中返回的json字符串完整的复制到弹出的输入框中:
    这里写图片描述
    点击“OK”->“OK”,对应的javabean会根据接口返回的字符串来自动生成:
    这里写图片描述

    3.3 新建Service

      Service层主要是负责业务逻辑的处理,同时将处理结果返回给Controller层。这里在Service层中完成接口的网络请求,这里的网络请求选用RestTemplate。在使用RestTemplate之前,需要先在pom文件中添加“spring-boot-starter-web”依赖,这个我们在新建项目的过程中已经完成。在service包下新建名为“WeatherService”的java class文件,具体如下:

    @Service
    public class WeatherService {
    
        public WeatherInfoDto queryBasicInfo(String strCityName){
            RestTemplate restTemplate = new RestTemplate();
            HttpHeaders requestHeaders = new HttpHeaders();
            Map<String,String> parmaters = new HashMap<String,String>();
    
            requestHeaders.set("Authorization","APPCODE ae35098dabb84cd883c047c80672cb2b");
            parmaters.put("city",strCityName);
    
            HttpEntity requestEntity = new HttpEntity(requestHeaders);
            ResponseEntity<WeatherInfoDto> response = restTemplate.exchange("http://chkj02.market.alicloudapi.com/qgtq?city={city}",HttpMethod.GET, requestEntity, WeatherInfoDto.class, parmaters);
            return response.getBody();
        }
    }
    

    有如下几个问题需要强调:

    • 1 RestTemplate官方文档:1RestTemplate
    • 2 需要在header中加入参数“Authorization”,其中的值包含申请到的Appcode;请求参数(parmaters)包含”city”,具体指由controller层传入
    • 3 RestTemplate中get请求的URL为“http://chkj02.market.alicloudapi.com/qgtq?city={city}”,注意需要将参数拼接到后边,否则无法正常进行传参
    • 4 service层,需要加“@Service”注解

    3.4 新建Controller

      Service中完成之后,可以开始编写Controller层中的代码了。Controller层主要职责是接受前台的网络请求,调用对应的service层代码,并将service层的处理结果返回给调用者。在api中新建名为“WeatherController”的java class文件,代码如下:

    @Api(description = "天气信息查询")
    @RestController
    @RequestMapping("/weather")
    public class WeatherController {
    
        @Autowired
        private WeatherService weatherService;
    
        @ApiOperation(value = "天气基本信息查询")
        @ApiImplicitParam(name = "strCityName", value = "城市名称", required = true, paramType = "query")
        @GetMapping("/jbxx")
        public WeatherInfoDto queryBasicInfo(@RequestParam String strCityName) {
            return weatherService.queryBasicInfo(strCityName);
        }
    }
    

    这些都是基本的Springboot、swagger注解,这里就不在一一解释。

    3.5 运行

      至此,Springboot中API调用代码已经完成,ctrl+F5重启一下程序,输入swagger地址:http://localhost:8080/swagger-ui.html
    这里写图片描述
    点击“try it out”按钮,正常返回信息,程序运行正常:
    这里写图片描述
      OK,这篇博客先到此为止,在下一篇博客中我们重点解释如何将这个简单的springboot程序部署到腾讯云上,并且通过“域名+https”的形式代理出来,供前台接口进行调用,谢谢。

    欢迎打赏,谢谢:
    这里写图片描述

    展开全文
  • 微信申请退款API~~开发

    万次阅读 热门讨论 2019-10-16 17:49:30
    之前有过微信开发的经验,但是第一次接触“微信退款“这一块的业务,查询了很多的博客资料以及走了很多的弯路。也发现“微信退款”分享的博客并不多。特地写了该博客,希望对你们有帮助。个人浅薄的见解 【稍微提...

    近日,在开发“微信申请退款”的功能。之前有过微信开发的经验,但是第一次接触“微信退款“这一块的业务,查询了很多的博客资料以及走了很多的弯路。也发现“微信退款”分享的博客并不多。特地写了该博客,希望对你们有帮助。个人浅薄的见解

    代码下载地址如下:
    链接:https://pan.baidu.com/s/1h6_ZSz5RbFARlY9yxkvj5w
    提取码:weft
    有任何关于微信开发的问题可以相互交流, 推荐QQ:2172931891 , 另外有微商城、微分销、微信小游戏等系统源码,有需要可以联系免费提供。



    一、微信退款Api


    https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4

    二、开发准备
    (1)证书的准备:java开发需要用到:apiclient_cert.p12证书的,在微信公众号上下载–注意PKCS12证书 是从微信商户平台-》账户设置-》 API安全 中下载的 。
    这里写图片描述
    【何时用到证书?】与支付不一样,企业支付功能在发送post请求的时候,需要加载自己的一个证书之后,带着证书去请求退款才可以。这里使用到证书–很多人不知道证书在哪里使用
    (2)了解好数字签名 — 简单来解释,就是对自己要发送的数据进行加密处理、换句话说假如说你要传递A/B/C,就对这三者进行加密。初开发者的误区:不知道该加密什么数据、观看网上的博客胡乱进行签名,导致签名错误
    【温馨提示:】数字签名是一般开发人员容易遇到的错误,记住“你没遇到数字签名错误,都不好意思说自己做过微信退款支付订单查询等功能”。
    耐心解决就行
    (3)熟悉 从xml–》map,以及map—》xml。因为微信只接受xml数据,java写一个xml不简单,但是写map集合非常简单。而且返回的数据是xml格式。需要转化成开发熟知的map集合
    不懂的可以看以下这篇博客
    http://blog.csdn.net/xiaozhegaa/article/details/79127283

    三、退款API截图解释
    ~~ 接口说明 + 是否需要证书
    这里写图片描述
    数字签名说明 – 记住一句话:对要传递的数据进行加密,你要传递什么就要签名什么
    第一次开发遇到的坑就是:不了解数字签名、花费了自己很长的时间,特地出来强调一下
    证书说明
    这里写图片描述

    四、开发步骤如下
    1.拼凑所需要传递的参数 map集合
    2.根据要传递的参数生成自己的签名
    3.把签名放到map集合中【因为签名也要传递过去】
    4.将当前的map结合转化成xml格式
    5.发送请求到微信退款Api。发送请求是一个方法来的
    6.解析返回的xml数据===》map集合
    7.根据map中的result_code/return_code来判断是否成功与失败

    不得不再啰嗦一下。下面设计到签名、mapToXml转化、xmlToMap转化、发送请求到API。这些方法都可以在下面网址看到。这里我Xml转化成Map。我是习惯用一个Bean接收,也有范例的代码,大家模仿能力要强一点。这次贴出来给大家看看吧
    http://blog.csdn.net/xiaozhegaa/article/details/79127283

    /** 
    	* 解析退款申请 
    	* 解析的时候自动去掉CDMA 
    	* @param xml 
    	*/ 
    	@SuppressWarnings("unchecked") 
    	public static RefundResult getUnifiedorderResult(String xml){ 
    				RefundResult unifieorderResult = new RefundResult(); 
    			try { 
    					StringReader read = new StringReader(xml); 
    					// 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入 
    					InputSource source = new InputSource(read); 
    					// 创建一个新的SAXBuilder 
    					SAXBuilder sb = new SAXBuilder(); 
    					// 通过输入源构造一个Document 
    					Document doc; 
    					doc = (Document) sb.build(source); 
    				
    					Element root = doc.getRootElement();// 指向根节点 
    					List<Element> list = root.getChildren(); 
    				
    					if(list!=null&&list.size()>0){ 
    					for (Element element : list) { 
    						System.out.println("key是:"+element.getName()+",值是:"+element.getText()); 
    						if("return_code".equals(element.getName())){ 
    								unifieorderResult.setResult_code(element.getText()); 
    							} 
    					
    						if("return_msg".equals(element.getName())){ 
    							unifieorderResult.setReturn_msg(element.getText()); 
    							} 
    					
    						if("result_code".equals(element.getName())){ 
    							unifieorderResult.setResult_code(element.getText()); 
    							} 
    						
    						
    						if("out_refund_no".equals(element.getName())){ 
    							unifieorderResult.setOut_refund_no(element.getText()); 
    							} 
    						
    						if("refund_id".equals(element.getName())){ 
    							unifieorderResult.setRefund_id(element.getText()); 
    							} 
    						
    						if("refund_fee".equals(element.getName())){ 
    							unifieorderResult.setRefund_fee(element.getText()); 
    							} 
    						
    						if("coupon_refund_fee".equals(element.getName())){ 
    							unifieorderResult.setCoupon_refund_fee(element.getText()); 
    							} 
    						
    						if("total_fee".equals(element.getName())){ 
    							unifieorderResult.setTotal_fee(element.getText()); 
    							} 
    						
    						if("cash_fee".equals(element.getName())){ 
    							unifieorderResult.setCash_fee(element.getText()); 
    							} 
    						if("err_code_des".equals(element.getName())){ 
    							unifieorderResult.setErr_code_des(element.getText()); 
    							} 
    						}
    					}
    				
    
    			} catch (JDOMException e) { 
    			e.printStackTrace(); 
    			} catch (IOException e) { 
    			e.printStackTrace(); 
    			}catch (Exception e) { 
    			e.printStackTrace(); 
    			} 
    				
    			return unifieorderResult; 
    		} 
    
    
    @Test
    	public void test2(){
    		SortedMap<Object, Object> packageParams = new TreeMap<Object, Object>(); 
    		
    		packageParams.put("appid", wxconfig.AppID);
    		packageParams.put("mch_id", wxconfig.mch_id);
    		
    		String s = UUID.randomUUID().toString().replace("-", "");
    		packageParams.put("nonce_str",s);
    		
    		String s1 = UUID.randomUUID().toString().replace("-", "");
    		packageParams.put("out_refund_no",s1);
    		packageParams.put("out_trade_no","ozb5fjjxbwag1akdy0vm108makqhsdmx");
    	
    		packageParams.put("refund_fee","100");
    		packageParams.put("total_fee","100");
    		
    		packageParams.put("op_user_id",wxconfig.mch_id);
    		
    		String sign  = WeixinPayBack.createSign("utf-8",packageParams);
    		
    		packageParams.put("sign", sign);
    		
    		String reuqestXml = WXPayUtil.getRequestXml(packageParams);
    		 
    		System.out.println("-----------------"); 
    		System.out.println(reuqestXml);
    		System.out.println("-----------------"); 
    		//发送请求到后台了
    		String wxUrl = WeixinPayBack.getRefundURL; 
    		try {
    			String weixinPost = ClientCustomSSL.doRefund(wxUrl, reuqestXml).toString();
    			System.out.println(weixinPost);
    			
    			RefundResult refundResult = WeixinPayBack.getUnifiedorderResult(weixinPost);  
    			    
    		    String result =null;
    		    if("SUCCESS".equalsIgnoreCase(refundResult.getResult_code())){ 
    		    	result = "200"; 
    		    	System.out.println("==========处理退款成功=========="); 
    	    	}else{ 
    	    		result = refundResult.getReturn_msg(); 
    	    	} 
    		    
    		    System.out.println(result);
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}  
    		
    		
    		
    	}
    

    这里写图片描述
    五、结果演示
    这里写图片描述
    自此,我们就学会了“微信申请退款”的开发,希望对你们有帮助
    具体的、在调用改方法自己加上自己的业务逻辑就行了。希望对大家有帮助

    //TODO 9.0 操作支付表,把当前的支付的状态变成 退款状态   state 1 ---> 2
    //TODO 10 操作预约表,可以把当前的预约状态取消  已支付--->退款
    //TODO 11 操作用户表,如果是充值退款的话,把用户的现金 - 当前退款的money
    //TODO 12其他等等的操作,生成记录单号之类的
    
    展开全文
  • 微信开发api文档

    万次阅读 2018-09-07 01:15:51
    微信JS-SDK说明文档 https://mp.weixin.qq.com/wiki?action=doc&amp;amp;amp;id=mp1421141115&amp;amp;amp;t=0.40348856472497907#11 微信JS-SDK接口 ...
  • 个人微信开发api文档

    2019-07-14 15:15:09
    个人微信开发api文档,个人微信开发sdk,个人微信开发协议接口 微信开发sdk服务端调用接口 1、基础消息类型 1、客户端发送的心跳包 HeartBeatReq = 1001; 2、消息接收确认回复(接收或拒绝接收) MsgReceivedAck = ...
  • 微信群管理机器人开发sdk

    千次阅读 2019-01-25 15:46:00
    微信群管理机器人开发sdk,微信群管理功能API 1、入群欢迎语 2、指定群管理员 3、群管理统计(活跃度、发言数、总人数、邀请数、退出数等) 4、群管理员踢人、群消息警告 5、群关键词回复,群智能客服 6、建群、拉人...
  • 微信公众号开发文档:...微信小程序API开发文档:https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html 微信小程序支付接口文档:ht...
  • 微信小程序API使用大全

    千人学习 2019-01-29 10:29:12
    微信小程序中所有API的使用课程
  • 微信小程序开发之页面分享 onShareAppMessage  扫码真机,开发工具均可用.  真机图片如下:  仔细读了一遍文档,这个API只是调起了客户端扫码界面,扫码成功后返回对应的结果.  微信小程序中并没有提供...
  • 很多时候我们要委托第三方开发自己的小程序,但是涉及到在线支付问题时,会被开发人员索要微信支付的商户号和开发密钥,作为小白很难理解这是个什么东东,希望本文章能让您对微信以及小程序的在线支付的开发有个基本...
  • 读了微信支付的开发文档,感觉是不同阶段,不同的同学写的,有些专业名词比较混乱,甚至还会有错别字,以及接口更新了,而文档不更新的情况。 使用微信支付,必须要用到 api密钥进行签名 其中 ,商户Key 、支付Key、...
  • http://www.mntuku.cn/index.php/article/show/id-1548 ...AD:靠谱的微信小程序外包开发 ...wx.getImageInfo详解-图片-媒体API-微信小程序API-微信 小程序开发教程 wx.getImageInf
  • 微信小程序如何调用后台接口

    万次阅读 2018-07-03 17:48:32
    本课程讲解了微信小程序如何调用线上API中心接口,主要使用了wx.request去和API中心交互,API中心提供给了下面的几个接口:接口是用JFinal开发封装@jfinal 用key-value形式存取数据。API中心还提供了接口测试工具,...
  • 微信企业号/企业微信的corpid和secret

    万次阅读 2017-04-12 15:54:30
    如果要进行微信企业号和企业微信开发,首先必须知道对应的corpid和secret,因为很多API调用都必须使用这两个参数。典型的API如获取AccessToken的API。下面介绍在哪里查看微信企业号和企业微信的corpid和secret。 ...
  • 微信小程序商城15天从零实战课程

    万人学习 2019-02-15 18:42:28
    讲解微信商城小程序界面设计和程序设计所涉及的所有知识点,包括其中用到的组件知识,API函数知识点,微信小程序前端开发基础知识点,实战将所学的知识点应用到商城小程序中;包括商城首页、轮播广告、产品菜单、...
  • 想想将个人微信变为一个机器人也是很好玩的,这个项目就教你如何把自己的微信变为一个聊天机器人,嗯~对的,和小冰差不多的感觉吧(哈哈哈~)。 最终效果图: 效果图 原理: 通过微信的Python接口itchat获取...
  • 微信机器人简单实现

    千次阅读 2018-07-21 13:43:51
    目前,多种多样的API将编程变得像搭积木一样简单,而多种多样的API也让我们的开发工作更加高效。 今天突发奇想,想要在我的微信上放置一个聊天机器人,来代替我进行微信的回复。这里我用到的图灵机器人的API,之后...
  • 微信公众号Unauthorized API function

    千次阅读 2016-10-16 19:16:56
    微信公众号Unauthorized API function
  • 您对这个post请求做了应答(格式为文本),则该应答会通过微信平台投递到您粉丝的微信应用上。 微信开发者中心的文档将这种行为称为“被动回复用户消息”: 回复消息报文的格式在开发者文档里也有清晰的定义,是...
1 2 3 4 5 ... 20
收藏数 103,549
精华内容 41,419
关键字:

微信开发api