Skip to content

Commit f358bcf

Browse files
1. 修改README.md及其它细节。
1 parent 443d069 commit f358bcf

File tree

3 files changed

+19
-147
lines changed

3 files changed

+19
-147
lines changed

README.md

Lines changed: 7 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -1,150 +1,22 @@
1-
# 微信小程序php后端开发包
2-
3-
[![issue](https://img.shields.io/github/issues/hillpy/MiniProgramSDK.svg)](https://github.com/hillpy/MiniProgramSDK/issues)
4-
[![star](https://img.shields.io/github/stars/hillpy/MiniProgramSDK.svg)](https://github.com/hillpy/MiniProgramSDK)
5-
[![fork](https://img.shields.io/github/forks/hillpy/MiniProgramSDK.svg)](https://github.com/hillpy/MiniProgramSDK)
61
[![license](https://img.shields.io/github/license/hillpy/MiniProgramSDK.svg)](https://github.com/hillpy/MiniProgramSDK/blob/master/LICENSE)
2+
[![release](https://img.shields.io/github/release/hillpy/MiniProgramSDK.svg)](https://img.shields.io/github/release/hillpy/MiniProgramSDK.svg)
3+
[![packagist](https://img.shields.io/packagist/v/hillpy/mini-program-sdk.svg)](https://packagist.org/packages/hillpy/mini-program-sdk)
4+
[![downloads](https://img.shields.io/packagist/dt/hillpy/mini-program-sdk.svg)](https://img.shields.io/packagist/dt/hillpy/mini-program-sdk.svg)
75

8-
### 功能描述
9-
#### 封装微信小程序php端相关接口,比如php端微信用户信息解密(即登陆功能)、获取sessionKey、获取小程序码等等。
10-
11-
### 安装方法
12-
13-
1. 下载[发行版](https://github.com/hillpy/MiniProgramSDK/releases)
14-
15-
2. 使用composer安装(推荐)
16-
17-
```
18-
composer require hillpy/mini-program-sdk
19-
```
20-
21-
### 使用方法
22-
23-
* 实例化开发包、accessToken获取及缓存
24-
25-
```
26-
/**
27-
* 使用案例
28-
* 注意:实际项目若使用composer安装的库,请先引入自动加载脚本(require __DIR__ . '/vender/autoload.php';)。另外需安装redis扩展并开启redis服务
29-
*/
30-
use hillpy\MiniProgramSDK\MiniProgram;
31-
32-
// 设置变量
33-
$appId = '';
34-
$appSecret = '';
35-
$accessToken = '';
36-
37-
// 从redis获取accessToken;
38-
$redis = new Redis();
39-
$redis->connect('127.0.0.1', 6379);
40-
$accessToken = $redis->get('miniprogram_access_token_appid_' . $appId);
41-
42-
// 实例化MiniProgram
43-
$miniProgram = new MiniProgram($appId, $appSecret, $accessToken);
44-
45-
//若缓存中不存在accessToken,从新实例化对象中获取并写入redis
46-
if (!$accessToken) {
47-
isset($miniProgram->accessTokenData['access_token']) && $accessToken = $miniProgram->accessTokenData['access_token'];
48-
49-
if ($accessToken) {
50-
// 获取的expires_in为秒时间戳,减去30秒(过期时间适当提前避免accessToken实际已失效)
51-
if (isset($miniProgram->accessTokenData['expires_in'])) {
52-
$cacheTime = $miniProgram->accessTokenData['expires_in'] - 30;
53-
} else {
54-
$cacheTime = 0;
55-
}
56-
$redis->setex('miniprogram_access_token_appid_' . $appId, $cacheTime, $accessToken);
57-
}
58-
}
59-
60-
// 输出accessToken
61-
if ($accessToken == '') {
62-
echo 'accessToken获取失败<br>';
63-
} else {
64-
echo 'accessToken:' . $accessToken . '<br>';
65-
}
66-
```
67-
68-
* 解密登录用户数据
6+
### MiniProgramSDK是什么
697

70-
```
71-
// 解密登录用户数据
72-
$paramArr['code'] = isset($_POST['code']) ? $_POST['code'] : '';
73-
$paramArr['rawData'] = isset($_POST['rawData']) ? $_POST['rawData'] : '';
74-
$paramArr['signature'] = isset($_POST['signature']) ? $_POST['signature'] : '';
75-
$paramArr['encryptedData'] = isset($_POST['encryptedData']) ? $_POST['encryptedData'] : '';
76-
$paramArr['iv'] = isset($_POST['iv']) ? $_POST['iv'] : '';
77-
$paramArr['sessionKeyExpired'] = isset($_POST['sessionKeyExpired']) ? $_POST['sessionKeyExpired'] : '';
8+
MiniProgramSDK是一个PHP的小程序开发包。封装微信小程序后端相关接口,比如php端微信用户信息解密(微信登录)、获取小程序码等等。
789

79-
// sessionKeyExpired参数表示session_key是否过期(必须由前端判断),未过期则从缓存获取sessionKeyData
80-
if ($paramArr['sessionKeyExpired'] != 1) {
81-
$sessionKeyData = $redis->get('miniprogram_jscode2session_appid_' . $appId);
82-
$sessionKeyDataArr = json_decode($sessionKeyData, true);
83-
$paramArr['sessionKey'] = $sessionKeyDataArr['sessionKey'];
84-
$paramArr['openId'] = $sessionKeyDataArr['openId'];
85-
}
10+
### 项目文档
8611

87-
$res = $miniProgram->decryptData($paramArr);
88-
89-
if ($res['code'] == 100) {
90-
// 将sessionKeyData写入缓存
91-
$sessionKeyDataArr['sessionKey'] = $res['data']['sessionKey'];
92-
$sessionKeyDataArr['openId'] = $res['data']['data']['openId'];
93-
$redis->set('miniprogram_jscode2session_appid_' . $appId, json_encode($sessionKeyDataArr));
94-
95-
echo '解密成功';
96-
} else {
97-
echo $res['msg'];
98-
}
99-
```
100-
101-
* 获取无数量限制的小程序码
102-
103-
```
104-
// 小程序码图片的保存路径
105-
$path = '';
106-
// 小程序码图片的保存名称
107-
$filename = '';
108-
109-
// 小程序码接口所需参数
110-
$paramArr['scene'] = '';
111-
$paramArr['page'] = '';
112-
$paramArr['width'] = '';
113-
$paramArr['auto_color'] = '';
114-
$paramArr['line_color'] = '';
115-
$paramArr['is_hyaline'] = '';
116-
117-
// 请求小程序码接口
118-
$res = $miniProgram->getWxacodeUnlimit($paramArr);
119-
120-
// 打开文件并写入二进制流,生成图片
121-
$file = fopen($path . $filename, 'w');
122-
fwrite($file, $res);
123-
fclose($file);
124-
```
12+
[MiniProgramSDK Document](https://hillpy.github.io/MiniProgramSDK/v1/)
12513

12614
### TODO
12715

12816
~~1. 微信用户数据解密~~
12917

13018
~~2. 小程序二维码、小程序码~~
13119

132-
3. 模板消息
133-
134-
4. 统一服务消息
135-
136-
5. 动态消息
137-
138-
6. 客服消息
139-
140-
7. 数据分析
141-
142-
8. 附近的小程序
143-
144-
9. 插件管理
145-
146-
10. 内容安全
147-
14820
### 仓库地址
14921

15022
[Coding](https://coding.net/u/shinn_lancelot/p/MiniProgramSDK/git "MiniProgramSDK")<br>

demo.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,31 @@
22

33
/**
44
* 使用案例
5-
* 注意:实际项目若使用composer安装的库,请先引入自动加载脚本(require __DIR__ . '/vender/autoload.php';),此例子中直接引用类库。另外需安装redis扩展并开启redis服务
5+
* 注意:实际项目若使用composer安装的库,请先引入自动加载脚本(require __DIR__ . '/vender/autoload.php';),此例子中直接引用类库。另外需安装redis扩展并开启redis服务
66
*/
77
require __DIR__ . '/src/MiniProgram.php';
88

99
use hillpy\MiniProgramSDK\MiniProgram;
1010

11-
// 设置变量
11+
// 设置变量
1212
$appId = '';
1313
$appSecret = '';
1414
$accessToken = '';
1515

16-
// 从redis获取accessToken;
16+
// 从redis获取accessToken
1717
$redis = new Redis();
1818
$redis->connect('127.0.0.1', 6379);
1919
$accessToken = $redis->get('miniprogram_access_token_appid_' . $appId);
2020

21-
// 实例化MiniProgram
21+
// 实例化MiniProgram
2222
$miniProgram = new MiniProgram($appId, $appSecret, $accessToken);
2323

24-
//若缓存中不存在accessToken,从新实例化对象中获取并写入redis
24+
//若缓存中不存在accessToken,从新实例化对象中获取并写入redis
2525
if (!$accessToken) {
2626
isset($miniProgram->accessTokenData['access_token']) && $accessToken = $miniProgram->accessTokenData['access_token'];
2727

2828
if ($accessToken) {
29-
// 获取的expires_in为秒时间戳,减去30秒(过期时间适当提前避免accessToken实际已失效)
29+
// 获取的expires_in为秒时间戳,减去30秒(过期时间适当提前避免accessToken实际已失效)
3030
if (isset($miniProgram->accessTokenData['expires_in'])) {
3131
$cacheTime = $miniProgram->accessTokenData['expires_in'] - 30;
3232
} else {
@@ -36,22 +36,22 @@
3636
}
3737
}
3838

39-
// 输出accessToken
39+
// 输出accessToken
4040
if ($accessToken == '') {
4141
echo 'accessToken获取失败<br>';
4242
} else {
4343
echo 'accessToken:' . $accessToken . '<br>';
4444
}
4545

46-
// 解密登录用户数据
46+
// 解密登录用户数据
4747
$paramArr['code'] = isset($_POST['code']) ? $_POST['code'] : '';
4848
$paramArr['rawData'] = isset($_POST['rawData']) ? $_POST['rawData'] : '';
4949
$paramArr['signature'] = isset($_POST['signature']) ? $_POST['signature'] : '';
5050
$paramArr['encryptedData'] = isset($_POST['encryptedData']) ? $_POST['encryptedData'] : '';
5151
$paramArr['iv'] = isset($_POST['iv']) ? $_POST['iv'] : '';
5252
$paramArr['sessionKeyExpired'] = isset($_POST['sessionKeyExpired']) ? $_POST['sessionKeyExpired'] : '';
5353

54-
// sessionKeyExpired参数表示session_key是否过期(必须由前端判断),未过期则从缓存获取sessionKeyData
54+
// sessionKeyExpired参数表示session_key是否过期(必须由前端判断),未过期则从缓存获取sessionKeyData
5555
if ($paramArr['sessionKeyExpired'] != 1) {
5656
$sessionKeyData = $redis->get('miniprogram_jscode2session_appid_' . $appId);
5757
$sessionKeyDataArr = json_decode($sessionKeyData, true);
@@ -62,7 +62,7 @@
6262
$res = $miniProgram->decryptData($paramArr);
6363

6464
if ($res['code'] == 100) {
65-
// 将sessionKeyData写入缓存
65+
// 将sessionKeyData写入缓存
6666
$sessionKeyDataArr['sessionKey'] = $res['data']['sessionKey'];
6767
$sessionKeyDataArr['openId'] = $res['data']['data']['openId'];
6868
$redis->set('miniprogram_jscode2session_appid_' . $appId, json_encode($sessionKeyDataArr));

src/MiniProgram.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ public function createWXAQRCode($postParamArr = array())
159159
}
160160

161161
/**
162-
* 获取小程序码
162+
* 获取有数量限制的小程序码
163163
* @param array $postParamArr
164164
* @return mixed
165165
*/
@@ -175,7 +175,7 @@ public function getWXACode($postParamArr = array())
175175
}
176176

177177
/**
178-
* 获取小程序码(无数量限制)
178+
* 获取无数量限制的小程序码
179179
* @param array $postParamArr
180180
* @return mixed
181181
*/

0 commit comments

Comments
 (0)