jackliu/openplatform 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jackliu/openplatform

Composer 安装命令:

composer require jackliu/openplatform

包简介

the baidu miniprogram openplatform SDK

README 文档

README

百度小程序第三方平台SDK

注意:本项目仍在开发中,无法用于生产环境,欢迎共同开发

使用方法

参照exmaple\Index.php中写法

项目结构

初始的目录结构如下:

OpenBaidu  
├─src           应用目录
│  ├─Application        核心类库
│  ├─library            模块目录
│  │  └─Miniapp         授权小程序
│  └─util               工具目录
│
├─example               示例目录(对外访问目录)
   └─index.php          示例写法

方法介绍

protected $config=[
    'encodingAesKey'=>'',//设置aesKey
	'client_id'=>'',//设置第三方平台secret
	'redirect_uri'=>'',//设置授权后回调URI
	'debug'=>true//生产模式时请设置为false,并且按照文档添加数据库
     ];

$app=new Application($this->config);
$app->serve();接收服务器推送时返回success,并缓存
$app->ticket();解密获取ticket
$app->tpToken();//获取第三方平台的AccessToken并缓存
$app->preAuthCode();获取预授权码
$app->jumpToAuth();//前往授权页;
$app->authCode();//获取授权码,一般在回调页调用
$app->refreshToken();//刷新授权小程序的AccessToken;
$app->mpToken();//获取授权小程序的AccessToken;存入数据库
$app->mpInfo();//获取授权小程序的信息

注意 以上各方法根据自己需要调用。事实上,在实际开发中,真正需要开发者调用的方法只需要san个(参照例子写法):
一是接收ticket并缓存,需调用serve()方法
二是用户点击授权按钮时,跳转到授权页,此时调用jumpToAuthPage()方法;
三是在授权回调页获取小程序aceess_token并保存,此时在跳转回调页内调用mpToken()方法,
注意:此方法返回的不是access_token,而是一个数组,该数组包含了access_token/refresh_token/expires_in,建议存入数据库

对access_token的处理

  1. 开发者一定要注意,第三方平台有一个access_token,授权小程序也有一个access_token,这两个access_token不一样,为了区分,代码中一般用tpToken表示第三方平台令牌,用mpToken表示小程序令牌。
  2. tpToken有效期为1个月,mpToken有效期为1小时。tpToken本框架已经做了处理,开发者不需关注,建议开发者把mpToken令牌都存入数据库,每次调用时先从数据库查询,而不是从百度和微信服务器获取。
  3. mpToken是否过期需要大家自行判断,如果过期使用refreshToken刷新
    以下是建议的数据表设计:

mp_token数据表字段如下:

  1. id int(10)
  2. access_token varchar(150)
  3. refresh_token varchar(150)
  4. update_time int(10)
  5. expires _in int(10)
  6. type varchar(50) 可选值:'weixin','baidu','ali','douyin','QQ'
  7. appid varchar(50)
  8. app_name varchar(100)
  9. photo_addr varchar(500)

授权后获取实例

$miniapp=$this->app->miniapp($token)

关于代码提交功能接口的使用说明

代码提交时,需要调用以下三个接口

  1. 代码上传 $mimiapp->uploadCode()
    此接口需要用户填写三个数据,分别是
    $ext_json第三方配置信息
    user_version代码版本号
    user_desc代码描述
    还有一个字段由系统获取,为$template_id模板ID
  2. 提交审核$miniapp->submitAudit()
    提交审核后需要等待一天左右,百度会推送审核结果。审核结果的获取,可以参考https://smartprogram.baidu.com/docs/develop/third/apppage/#%E4%BB%A3%E7%A0%81%E5%AE%A1%E6%A0%B8%E7%8A%B6%E6%80%81%E6%8E%A8%E9%80%81
  3. 代码发布$app->relaseCode()
    在获得授权后,提交代码前,就应该调用修改域名接口$app->modifyDomain()来修改小程序的业务域名

jackliu/openplatform 适用场景与选型建议

jackliu/openplatform 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 01 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 jackliu/openplatform 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 jackliu/openplatform 我们能提供哪些服务?
定制开发 / 二次开发

基于 jackliu/openplatform 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 9
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 8
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-01-06