Skip to content

Commit ef47db4

Browse files
1. 修改demo.php README.md
1 parent e281d0f commit ef47db4

File tree

2 files changed

+42
-11
lines changed

2 files changed

+42
-11
lines changed

README.md

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,29 @@ if ($accessToken == '') {
6969

7070
```
7171
// 解密登录用户数据
72-
$paramArr['code'] = '';
73-
$paramArr['rawData'] = '';
74-
$paramArr['signature'] = '';
75-
$paramArr['encryptedData'] = '';
76-
$paramArr['iv'] = '';
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'] : '';
78+
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+
}
86+
7787
$res = $miniProgram->decryptData($paramArr);
7888
7989
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+
8095
echo '解密成功';
8196
} else {
8297
echo $res['msg'];

demo.php

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,31 @@
4444
}
4545

4646
// 解密登录用户数据
47-
$paramArr['code'] = '';
48-
$paramArr['rawData'] = '';
49-
$paramArr['signature'] = '';
50-
$paramArr['encryptedData'] = '';
51-
$paramArr['iv'] = '';
47+
$paramArr['code'] = isset($_POST['code']) ? $_POST['code'] : '';
48+
$paramArr['rawData'] = isset($_POST['rawData']) ? $_POST['rawData'] : '';
49+
$paramArr['signature'] = isset($_POST['signature']) ? $_POST['signature'] : '';
50+
$paramArr['encryptedData'] = isset($_POST['encryptedData']) ? $_POST['encryptedData'] : '';
51+
$paramArr['iv'] = isset($_POST['iv']) ? $_POST['iv'] : '';
52+
$paramArr['sessionKeyExpired'] = isset($_POST['sessionKeyExpired']) ? $_POST['sessionKeyExpired'] : '';
53+
54+
// sessionKeyExpired参数表示session_key是否过期(必须由前端判断),未过期则从缓存获取sessionKeyData
55+
if ($paramArr['sessionKeyExpired'] != 1) {
56+
$sessionKeyData = $redis->get('miniprogram_jscode2session_appid_' . $appId);
57+
$sessionKeyDataArr = json_decode($sessionKeyData, true);
58+
$paramArr['sessionKey'] = $sessionKeyDataArr['sessionKey'];
59+
$paramArr['openId'] = $sessionKeyDataArr['openId'];
60+
}
61+
5262
$res = $miniProgram->decryptData($paramArr);
5363

5464
if ($res['code'] == 100) {
65+
// 将sessionKeyData写入缓存
66+
$sessionKeyDataArr['sessionKey'] = $res['data']['sessionKey'];
67+
$sessionKeyDataArr['openId'] = $res['data']['data']['openId'];
68+
$redis->set('miniprogram_jscode2session_appid_' . $appId, json_encode($sessionKeyDataArr));
69+
5570
echo '解密成功';
5671
} else {
5772
echo $res['msg'];
58-
}
73+
}
74+

0 commit comments

Comments
 (0)