fengkui/xcx 问题修复 & 功能扩展

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

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

fengkui/xcx

Composer 安装命令:

composer require fengkui/xcx

包简介

整合多端小程序(微信、QQ、百度、字节跳动、钉钉、支付宝)相关信息获取与使用

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

开发了多次小程序,每次都要翻文档、找之前的项目复制过来,费时费事,
为了便于小程序的开发,干脆自己去造轮子,整合小程序(微信、QQ、百度、字节跳动、钉钉、支付宝)相关开发。

!!请先熟悉 相关小程序 说明文档!!请具有基本的 debug 能力!!

欢迎 Star,欢迎 PR!

特点

  • 丰富的扩展,支持微信、QQ、百度、字节跳动、钉钉、支付宝小程序
  • 符合 PSR 标准,方便的与你的框架集成
  • 文件结构清晰,每个类单独封装扩展,便于单独使用

运行环境

  • PHP 7.0+
  • composer

使用文档

支持的小程序

1、微信(Wechat)

method 描述
openid 获取小程序 openid
userPhone 获取用户手机号
accessToken 获取 access_token
send 微信小程序发送订阅消息
qrcode 获取小程序码或小程序二维码,图片 Buffer
decrypt 检验数据的真实性,并且获取解密后的明文
request 同城配送,封装加密请求

2、QQ(QQ)

method 描述
openid 获取小程序 openid
accessToken 获取 access_token
send 小程序发送订阅消息
qrcode 获取小程序二维码,图片 Buffer
decrypt 检验数据的真实性,并且获取解密后的明文

3、百度(Baidu)

method 描述
openid 获取小程序 openid
accessToken 获取 access_token
send 小程序发送订阅消息
qrcode 获取小程序二维码,图片 Buffer
decrypt 检验数据的真实性,并且获取解密后的明文

4、字节跳动(Bytedance)

method 描述
openid 获取小程序 openid
accessToken 获取 access_token
send 小程序发送订阅消息
qrcode 获取小程序二维码,图片 Buffer
decrypt 检验数据的真实性,并且获取解密后的明文

5、钉钉(Dingtalk)

method 描述
userid 获取userid
accessToken 获取 access_token
userInfo 获取用户信息
asyncSend 发送工作通知

6、支付宝(Alipay)

method 描述
token 获取小程序用户user_id及access_token
userInfo 获取用户信息
send 小程序发送模板消息
qrcode 小程序推广码,链接地址

安装

composer require fengkui/xcx

完善相关配置

# 微信小程序配置
$wechatConfig = [
    'appid' => '',
    'secret' => '',
];
# QQ小程序配置
$qqConfig = [
    'appid' => '',
    'secret' => '',
];
# 百度小程序配置
$baiduConfig = [
    'appid' => '',
    'appkey' => '',
    'secret' => '',
];
# 字节跳动小程序配置
$bytedanceConfig = [
    'appid' => '',
    'secret' => '',
];
# 钉钉小程序配置
$dingtalkConfig = [
    'agentid'   => '', // agentid
    'appkey'    => '', // appkey
    'secret'    => '', // secret
    'robot_appkey'    => '', // robot_appkey
    'robot_secret'    => '', // robot_secret
];
# 支付宝小程序配置
$alipayConfig = [
    'app_id' => '', // 支付宝分配给开发者的应用ID
    'public_key' => '', // 请填写支付宝公钥
    'private_key' => '', // 请填写开发者私钥去头去尾去回车
];

使用说明

单独使用

$xcx = new \fengkui\Xcx\Wechat($wechatConfig); // 微信
$xcx = new \fengkui\Xcx\Qq($qqConfig); // QQ
$xcx = new \fengkui\Xcx\Baidu($baiduConfig); // 百度
$xcx = new \fengkui\Xcx\Bytedance($bytedanceConfig); // 字节跳动
$xcx = new \fengkui\Xcx\Dingtalk($dingtalkConfig); // 钉钉
$xcx = new \fengkui\Xcx\Alipay($alipayConfig); // 支付宝

公共使用

<?php
/**
 * @Author: [FENG] <1161634940@qq.com>
 * @Date:   2021-05-01T14:55:21+08:00
 * @Last Modified by:   [FENG] <1161634940@qq.com>
 * @Last Modified time: 2021-05-30 15:39:01
 */

require_once('./vendor/autoload.php');

/**
 * 通用小程序
 */
class Xcx
{
    // 小程序相关信息获取
    protected static $xcx = '';
    // 小程序类型
    protected static $type = '';
    // 小程序相关配置
    protected static $config = [];

    /**
     * [_initialize 构造函数(获取小程序类型与初始化配置)]
     * @return [type] [description]
     */
    public function _initialize()
    {
        self::$type = $_GET['type'] ?? 'wechat';
        self::config();
    }

    /**
     * [config 获取配置]
     * @param  string $type [description]
     * @return [type]       [description]
     */
    protected static function config($type='')
    {
        $type = $type ?: self::$type;

        // 相关配置
        $wechatConfig = [
            'appid' => '',
            'secret' => '',
        ];

        if (in_array($type, ['wechat', 'qq', 'baidu', 'bytedance', 'dingtalk', 'alipay'])) {
            $config = $type . "Config";
            self::$config = $config;
        } else {
            die('当前类型配置不存在');
        }

        $type && self::$xcx =(new \fengkui\Xcx())::$type(self::$config);
    }

    /**
     * [fastLogin 获取openid,快速登录]
     * @return [type] [description]
     */
    public function fastLogin($code=null)
    {
        if(!$code)
            die('参数缺失');

        $data = self::$xcx->openid($code);
        if (empty($data['openid']))
            die('获取数据失败');
    }
}

一起喝可乐

请备注一起喝可乐,以便感谢支持

LICENSE

MIT

fengkui/xcx 适用场景与选型建议

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

  • Stars: 18
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-10-22