我发现看别人的demo真的对学习很有帮助。比如说我看到这个:
一开始很懵逼,完全不知道这个e.currentTarget.dataset.id是什么东西,怎么来的。于是我便去深入研究这部分代码。首先了解到commodity是自定义的一个事件处理函数。
与bindtap绑定,所以e是点击事件传过来的一个参数。
看官网中关于点击事件参数信息的说明:
OK,重点便在这里。在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。 书写方式: 以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.target.dataset 中会将连字符转成驼峰elementType。
看代码可知,这里是自定义了一个名字为id的dataset,因此在事件函数中,我们可以通过e.currentTarget.dataset.id访问到绑定到该组件的自定义数据。
二:获取微信用户唯一标识openid
分享者:公众号TITF:(微信号: titf1314168)这个公众号非常不错,推荐关注
-
appid:小程序的唯一标识
-
secret:小程序的app secret
-
js_code:用户的登录凭证code(使用wx.login({})可获取到)
-
grant_type:填写authorization_code
☞ 返回参数
-
expires_in:凭证有效时间,单位:秒
-
openid:用户唯一标识
-
session_key:会话密匙(考虑到应用安全,不应该在网络上传输session_key)
1、使用小程序登录接口wx.login({})获取用户的登录凭证code
2、使用小程序网络请求API wx.request({})将获取用户登录凭证(code)发送至服务器
示例
/************************************** * config:小程序配置文件 * loginUrl:服务器地址 * code:返回参数,用户登录凭证 * wx.login({}):登录接口 * wx.request({}):网络请求API * * 作者:TITF-ONealJohn * 日期:2017-1-1 **************************************/ var CONGIF=require('config'); var OBJ_APP_DATA={}; OBJ_APP_DATA['onLaunch']=function(){ wx.login({ success: (res)=>{
wx.request({
url:CONGIF.loginUrl,
data: {
code:res.code
},
method: 'GET',
success: (res)=>{
console.log(res.data)
},
})
}
})
}
App(OBJ_APP_DATA);
1、使用isset()函数检测客户端是否有传递code参数
示例
if(isset($_GET['code'])){}
2、使用 curl_init()函数初始化一个CURL会话,初始化成功后返回一个句柄供curl_setopt(), curl_exec(),和 curl_close() 函数使用
示例
$curl = curl_init();
3、使用curl_setopt()设置要获取的URL地址
示例
$url='https://api.weixin.qq.com/sns/jscode2session?appid='.$appid.'&secret='.$secret.'&js_code='.$code.'&grant_type=authorization_code'; curl_setopt($curl, CURLOPT_URL, $url);
4、设置是否输出header
示例
curl_setopt($curl, CURLOPT_HEADER, 1);
5、设置是否输出结果
示例
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
6、设置是否输出结果
示例
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
7、设置是否检查服务器端的证书
示例
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
8、使用curl_exec()将CURL返回的结果转换成正常数据并保存到一个变量
示例
$data = curl_exec($curl);
9、使用 curl_close() 关闭CURL会话
示例
curl_close($curl);