微信公共号网页开发基础知识2

2018-01-09  本文已影响0人  likeli

现在我们正式的进行微信端开发,我们微信公共号测试号都有了,但是我们要再手机上打开,或者在微信开发者工具上打开,所有我们要把代码放在线上才能使用

上面是封装的系统,现在对数据进行操作

  include "common.php";
  //用户获取code
  $code = $_GET['code'];
  //通过code获取access_token;
  $url = "https://api.weixin.qq.com/sns/oauth2    /access_token?appid=wxdb15cc03e3b842f0&      secret=d2e266f71b96ee4bc92e0ed65bb8655e&code=$code&      grant_type=authorization_code";
  $res = httpGet($url);
  $data = json_decode($res, true);
  $token = $data['access_token'];
  $openid = $data['openid'];

下图为scope等于snsapi_userinfo时的授权页面:

0.jpg
4、第四步:拉取用户信息(需scope为 snsapi_userinfo)
如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
http:GET(请使用https协议) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
access_token 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
openid 用户的唯一标识
lang 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
下面是通过代码执行可以得到以上参数
  $url2 = "https://api.weixin.qq.com/sns/userinfo?access_token=$token&openid=$openid&lang=zh_CN";
  $res2 = httpGet($url2);
  $userinfo = json_decode($res2, true);
  $nickname = $userinfo['nickname'];
  $headurl = $userinfo['headimgurl'];
  $openid = $userinfo['openid'];
  //随机数
  $score = mt_rand(1, 100);

下面进行对数据库进行设置
首先找到数据与缓存服务,如果不想花太多钱的话就选择共享型MySQL进行数据库操作
//连接数据库
//用户名  : SAE_MYSQL_USER
//密  码 : SAE_MYSQL_PASS
//主库域名 : SAE_MYSQL_HOST_M
//从库域名 : SAE_MYSQL_HOST_S
//端  口 : SAE_MYSQL_PORT
//数据库名 : SAE_MYSQL_DB

  $arr['DB_HOST'] = SAE_MYSQL_HOST_M;
  $arr['DB_USER'] = SAE_MYSQL_USER;
  $arr['DB_PWD'] = SAE_MYSQL_PASS;
  $arr['DB_NAME'] = SAE_MYSQL_DB;
  $arr['DB_PORT'] = SAE_MYSQL_PORT;
  $link = connect($arr);
  //var_dump($link);
  $addArr['nickname'] = $nickname;
  $addArr['headurl'] = $headurl;
  $addArr['openid'] = $openid;
  $addArr['score'] = $score;
  //判断数据库里面有没有相关数据
  $result = getone("users", $link, "openid='{$openid}'");
  if ($result) {
      //已经存了 更新分数
      $uparr["score"] = $score;
      $re = update($uparr, $link, "users", "openid='{$openid}'");
      if ($re) {
          echo "更新成功";
      } else {
          echo "更新失败";
      }
  } else {
      //没有存
      $res = add($addArr, $link, "users");
      if ($res) {
          echo "添加成功";
      } else {
          echo "添加失败";
      }
  }

运行结果如下


B9413A75-6958-4DC9-8C61-DD567E12AC68.png
数据库资源如下 99180E0D-BDED-4D86-9814-49ED3201D948.png

现在把数据展现在页面上

  <!DOCTYPE html>
  <html>
      <head>
          <title></title>
      </head>
      <body>
          <table border="" >
              <tr>
                  <th>昵称</th>
                  <th>头像</th>
                  <th>分数</th>
              </tr>
              <?php foreach($list as $key =>$val){?>            
              <tr>
                  <td><?php echo $val['nickname'] ?></td>
                  <td><img src="<?php echo $val['headurl'] ?>"/></td>
                  <td><?php echo $val['score'] ?></td>
              </tr>
              <?php } ?>
          </table>
      </body>
  </html>

运行结果如下


C9E778F1-7D0C-4A40-B106-0903AD90C7FF.png

以上只是简单地操作,后面要继续进行深究

上一篇下一篇

猜你喜欢

热点阅读