I'm Sham
一个在通往码农道路上走走停停的行政文员

学做微信小程序-获取用户Openid

为了更精准的查找到用户对应的数据,单单用微信名是不够的,因为微信名可能会更改,这时,最好的办法就是通过读取用户openid,以此为检索的依据,因为在固定的小程序里面,用户的openid是固定的。

一下就是读取并调用用户openid的方法:

首先是在小程序绑定的服务器上添加一个授权并读取openid的文件,代码如下:

<?php
//声明CODE,获取小程序传过来的CODE
$code = $_GET["code"];
//配置appid
$appid = "这里输入你的小程序appid";
//配置appscret
$secret = "这里输入你的小程序appscret";
//api接口
$api = "https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";
//获取GET请求
function httpGet($url){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_TIMEOUT, 500);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
    curl_setopt($curl, CURLOPT_URL, $url);
    $res = curl_exec($curl);
    curl_close($curl);
    return $res;
}
//发送
$str = httpGet($api);
echo $str;
?>

然后,在小程序里面对应的js文件中,添加对应的代码,来从服务器上取得数据:(将以下代码插入到onLoad: function () {} 里面)

  //获取微信用户openid  开始
    var that = this;
     wx.login({
      success: function (res) {
        console.log(res.code)
        //发送请求
        wx.request({
          url: 'https://你的网址/getopenid.php', //接口地址
          data: { code: res.code },
          header: {
            'content-type': 'application/json' //默认值
          },
          success: function (res) {
            console.log(res.data)
            that.setData({
              fmc: res.data,//将表中查询出来的信息传给list
            })

          }
        })
      }
    });
	  //获取微信用户openid  结束

最后,就是在wxml里面通过 {{fmc.openid}} 来在前台调取具体值,可以放入表单内进行提交。

这里的fmc.对应前面js文件里的”fmc: res.data,//将表中查询出来的信息传给list”,可自行同时更改

附上对应的服务器端和小程序端代码文件。


[reply][/reply]
赞(0) 赏杯咖啡!
未经允许不得转载:Sham@双目瞿 » 学做微信小程序-获取用户Openid

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    学习了!

    lil20072年前 (2019-08-02)回复

如果你觉得文章好,请赏1杯速溶咖啡给Sham吧!

微信扫一扫打赏