# simple-dingtalk **Repository Path**: javaSwing/simple-dingtalk ## Basic Information - **Project Name**: simple-dingtalk - **Description**: 轻量级钉钉服务端PHP-SDK,简化初学者的使用难度。(非官方) - **Primary Language**: PHP - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 16 - **Created**: 2022-08-31 - **Last Updated**: 2022-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

dingtalk

轻量级钉钉服务端PHP-SDK,简化初学者的使用难度。

### 介绍 这是一款PHP编写的轻量级钉钉服务端扩展包,以最简单的方式取调用、源码易懂、模块化。 用户可以自行定期更新token或应用自行判断,达到使用接口函数不需要考虑token的问题。 ### 安装方式 `composer require michonnehsu/simpledingtalk` ### 文档地址 点击访问[文档](https://gitee.com/michonnehsu/simple-dingtalk/wikis/pages) #### 配置架构 ``` ├─apps 应用目录 │ ├─app1 第一个小程序或微应用(名字自取,app1只是解释,方便理解) │ | ├─info 应用凭证信息(必填) │ │ | ├─AGENT_ID │ │ | ├─APP_KEY │ │ | ├─APP_SECRET │ | ├─access_token API凭证信息(必填) │ │ | ├─expires 凭证刷新时间(凭证默认2小时内过期,建议提前3分钟刷新,填写以秒为单位的数字就好,例如三分钟等于180) │ │ | ├─file_path 凭证存储文件(该文件必须用户自己生成,名字自定义,并填入凭证存储文件的路径,建议填入绝对路径) │ | ├─login_info 免登信息 │ │ | ├─authorize 授权地址 │ │ │ | ├─redirect_uri 钉钉免登跳转到第三方网站地址 │ │ │ | ├─dingtalk_login_uri 钉钉内免登的网站地址 │ | ├─callback_info 回调凭证信息 │ │ | ├─aes_key │ │ | ├─token │ | ├─v2 新版服务端 │ │ | ├─access_token 凭证信息 │ │ │ | ├─expires 凭证刷新时间(凭证默认2小时内过期,建议提前3分钟刷新,填写以秒为单位的数字就好,例如三分钟等于180) │ │ │ | ├─file_path 凭证存储文件(该文件必须用户自己生成,并填入凭证存储文件的路径,建议填入绝对路径) │ | ├─userAccessToken 跳转第三方的免登 │ │ | ├─expires 凭证刷新时间(凭证默认2小时内过期,建议提前3分钟刷新,填写以秒为单位的数字就好,例如三分钟等于180) │ │ | ├─file_path 凭证存储文件(该文件必须用户自己生成,并填入凭证存储文件的路径,建议填入绝对路径) │ ├─app2 第二个小程序或微应用(配置内容跟上面一样,以此类推) ├─robots 机器人应用目录 │ ├─robot1 第一个机器人应用 │ | ├─info 应用凭证信息(必填) │ │ | ├─AGENT_ID │ │ | ├─APP_KEY │ │ | ├─APP_SECRET │ │ | ├─access_token 群token(非必填) │ │ | ├─SEC 群加签 (非必填) │ | ├─access_token API凭证信息(必填) │ │ | ├─expires 凭证刷新时间(凭证默认2小时内过期,建议提前3分钟刷新,填写以秒为单位的数字就好,例如三分钟等于180) │ │ | ├─file_path 凭证存储文件(该文件必须用户自己生成,名字自定义,并填入凭证存储文件的路径,建议填入绝对路径) │ ├─robot1 第二个机器人应用(配置内容跟上面一样,以此类推) ``` #### 如何配置 ``` 如何配置: $apps=[ 'miniprogram_app' => [ 'info' => [ 'AGENT_ID' => 0, 'APP_KEY' => '', 'APP_SECRET' => '', ], 'access_token' => [ 'expires' => 180, 'file_path' => './a.json' ], 'login_info' => [ 'authorize' => [ 'redirect_uri' => 'https://www.dingtalk.com', 'dingtalk_login_uri'=>'https://www.dingtalk.com' ] ], 'callback_info' => [ 'aes_key' => '', 'token' => '' ], 'v2' => [ 'access_token' => [ 'expires' => 180, 'file_path' => './c.json' ] ], 'userAccessToken' => [ 'expires' => 180, 'file_path' => './uat.json' ] ], ]; $robots=[ 'robot1' => [ 'info' => [ 'AGENT_ID' => 0, 'APP_KEY' => '', 'APP_SECRET' => '', 'access_token' => '', 'SEC' => '' ], 'access_token' => [ 'expires' => 180, 'file_path' => './robot.json' ] ], ]; Config::setRobot($robots)-> setApp($apps)-> setAppType('miniprogram_app')-> setRobotType('robot1')-> setCorpId('dingf0xxxxx69'); ``` ### 例子 ``` require_once './vendor/autoload.php'; use SimpleDingTalk\WorkFlow; $json=[ 'process_instance_id'=>$process_instance_id, 'text'=>'测试评论', 'comment_userid'=>$userid ]; WorkFlow::add_comment($json); ``` ## 使用须知 不推荐使用phpstudy,有兼容问题,推荐xampp,lnmp能正常运行代码,Swoole环境里也可以使用。