这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
c2接入到小程序 [2018/05/21 10:38] – [高级部分] Aven | c2接入到小程序 [2024/01/22 11:09] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 40: | 行 40: | ||
success: res => { | success: res => { | ||
// 发送 res.code 到后台换取 openId, sessionKey, unionId | // 发送 res.code 到后台换取 openId, sessionKey, unionId | ||
- | // | ||
if (res.code) { | if (res.code) { | ||
var that = this | var that = this | ||
行 49: | 行 48: | ||
}, | }, | ||
success: function (result) { | success: function (result) { | ||
- | openId = result.data.openid; | + | |
- | | + | |
- | console.log(result) | + | |
if (this.userOpenidCallback) { | if (this.userOpenidCallback) { | ||
this.userOpenidCallback(result) | this.userOpenidCallback(result) | ||
行 62: | 行 60: | ||
} | } | ||
}) | }) | ||
+ | </ | ||
+ | 这样之后就可以在本地缓存中取出openid,对应后端代码如下: | ||
+ | < | ||
+ | <?PHP | ||
+ | header(" | ||
+ | $appid = " | ||
+ | $secret = " | ||
+ | @$code = $_REQUEST[" | ||
+ | $url = " | ||
+ | $res = getcurl($url); | ||
+ | $arr = json_decode($res, | ||
+ | //$openid = $arr[" | ||
+ | print_r($res); | ||
+ | exit(); | ||
</ | </ | ||
=== 获取用户信息 === | === 获取用户信息 === | ||
+ | 由于微信修改了策略,必须要点击按钮才允许获取用户信息,所以之前打算在打开页面时直接获取用户信息的计划就可以拜拜了,在默认模板项目 index.js 中,有如下代码< | ||
+ | console.log(e) | ||
+ | app.globalData.userInfo = e.detail.userInfo | ||
+ | this.setData({ | ||
+ | userInfo: e.detail.userInfo, | ||
+ | hasUserInfo: | ||
+ | }) | ||
+ | } | ||
+ | </ | ||
+ | 改为 | ||
+ | < | ||
+ | console.log(e) | ||
+ | app.globalData.userInfo = e.detail.userInfo | ||
+ | this.setData({ | ||
+ | userInfo: e.detail.userInfo, | ||
+ | hasUserInfo: | ||
+ | }); | ||
+ | wx.request({ | ||
+ | url: ' | ||
+ | data: { | ||
+ | openid: wx.getStorageSync(' | ||
+ | info: app.globalData.userInfo | ||
+ | } | ||
+ | }) | ||
+ | } | ||
+ | </ | ||
+ | 执行这一步的目的,是为了将UserInfo传递到后端进行保存,便于在C2页面中用AJAX取得Userinfo,对应的后端需要用数据库(Redis或MySQL)保存上传的Userinfo,以openid为标识Key,存储数据,代码如下: | ||
+ | < | ||
+ | <?PHP | ||
+ | $redis = new Redis(); | ||
+ | $redis-> | ||
+ | $redis-> | ||
+ | @$info = $_REQUEST[" | ||
+ | @$oid = $_REQUEST[" | ||
+ | |||
+ | $redis-> | ||
+ | $redis-> | ||
+ | exit(); | ||
+ | </ | ||
+ | 之后在C2中用AJAX再取数据时,直接用openid从redis中取值即可,如 | ||
+ | < | ||
+ | echo $redis-> | ||
+ | </ | ||
=== 向C2页面传值 === | === 向C2页面传值 === | ||
+ | |||
===用按钮调起向指定用户转发 === | ===用按钮调起向指定用户转发 === | ||