1.session_key和openId是什么?session_key
官方说明为:
session_key是微信服务器生成的针对用户数据进行加密签名的密钥
session_key的用途
(1)对wx.getUserInfo()接口得到“用户信息中的密文”进行解密。
(2)对它“稍作处理”,用作维护小程序的登录态。
“稍微处理”大体为:
(1)生成一个随机数(官方把他叫做3rd_session)
(2)把这个随机数当session的key,session_key + openid为value。
即:session[3rd_session]=session_key+openid
openIdopenId:用户唯一标识
即:每个微信用户在你的小程序的唯一的标识。


2.首先在app.js里获取code,写入以下代码:
wx.request({ url:
'http://wangchaow.hk01.bdysite.com/server/index.php/home/index/session', data:{
code:res.code }, success:res=>{ console.log(res) wx.setStorage({ key:
'session_id', data: res.header['Set-Cookie'], }) } })
然后在控制器写入 以下代码:
public function session($code){ if(empty($code)) return false;
$appid="wxffc9166906e3df54"; $secret="bb4588daadc78cb462a383f3ba0478e7";
$url="https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";
$ret=https_get($url); $arr=json_decode($ret,true);
if(isset($arr['openid'])&&isset($arr['session_key'])){
session('openid',$arr['openid']); session('session_key',$arr['session_key']);
}else{ die($ret); } }
然后我们在显示页面的js那里加入以下代码:
header:{ Cookie:wx.getStorageSync('session_id') },这样就会防止数据的泄露。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信