首先蛮久没发博客了,最近接到一个需求 是需要做微信第三方小程序平台开发得,因为踩了很多坑, 为了避免各位陷入一些误区,我就我觉得要注意得事项 发一些 文档, 可能会比较乱, 我尽量 写一些重点,
第一 在微信开放 开通一个第三方平台(开通方法自行百度),以及一个缴费300元额小程序( 个人小程序 会有设置服务域名,以及无法获得用户手机号,以及其他限制不建议在开发中使用使用)
先说一下基础信息 设置,由于我现在在审核, 大概解释几个重点位置
敲黑板~, 这里讲几个重点 (第三方平台代开发文档地址)
1.消息加解密 一定要了了解 这里有官方文档 以及示例下载
2.授权事件接受URL 这个很重要 (ticket,用户取消授权,用户快速申请小程序 其他暂未了解) 都会用到该接口
ticket 就是component_verify_ticket 解释看这里 (这个推送消息每十分钟发一次) 这个文档 注意了
后面要区分用户以及第三方平台的签名信息 ,这里写的都算详细
获取到 ticket 获得到 参数后 保存 后面很多需求都需要用到他 自行解决业务问题 (下面的 )
/**
* @api {get} authticket 微信回调返回(ticket,取消授权,申请小程序)
* @apiDescription 微信回调返回(ticket,取消授权,申请小程序)
*/
public function authticketAction(){
try
{
$timeStamp = isset($_GET['timestamp']) ?trim($_GET['timestamp']): "";
$nonce = isset($_GET['nonce']) ? trim($_GET['nonce']):"";
$msg_sign = isset($_GET['msg_signature']) ? trim($_GET['msg_signature']):"";
if(!$timeStamp || !$nonce || !$msg_sign ){
throw new ErrorException('缺少参数');
}
$encryptMsg = file_get_contents('php://input');
//这些都是第三方平台的参数 $this->token $this->encodingAesKey $this->appid
//解密方法直接拿微信官方文档用就好了
$pc = new WXBizMsgCrypt($this->token,$this->encodingAesKey,$this->appid);
// 第三方收到公众号平台发送的消息
$msg = '';
$errCode = $pc->decryptMsg ($msg_sign, $timeStamp, $nonce, $encryptMsg, $msg );
if ($errCode == 0) {
$data = json_decode(json_encode(simplexml_load_string($msg, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
if($data['InfoType'] =='component_verify_ticket'){//获得ticket
file_put_contents('ticketerr.txt',var_export($data,true));
//业务自己写
}else if($data['InfoType'] =='unauthorized'){//取消授权
}else if($data['InfoType'] =='notify_third_fasteregister'){//快速创建小程序的信息
}
echo 'success';
exit();
} else {
throw new ErrorException('解密失败'.$errCode);
}
} catch(\Exception $e) {
//file_put_contents('miniprogramerror.txt',var_export($e,true));
return $this->error($e);
}
}
1.做 用户(开发)小程序 授权业务
记住使用小程序所有者 来操作此业务
获得第三方平台额accesstoken 后面解释为 component_access_token
https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/api/component_access_token.html
//获得用户小程序 预授权码
https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/api/pre_auth_code.html
//通过预授权吗 换取 用户小程序 的acctoken 以及刷新token 以及授权的信息
https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/api/authorization_info.html
//后面我觉得没什么好说的 你看懂上面的资料 就能懂微信官方 文档了 , 后续我有空 就更新一下把
access_token 在官方文档中指的是 用户小程序的 TOKEN component_access_token 开头 一般都指 第三方平台的的参数
私人小程序 在微信那边有很多接口无法使用, 所以开发建议 上认证小程序
有好评的请给个打赏 我买个VIP 玩玩
神坑 小程序在IOS 上不允许涉及虚拟产品支付 文档见下
https://developers.weixin.qq.com/community/develop/doc/000464b5b3cb382b9d372b98f5ac08