微信小程序获取openid和session_key并且把openid存入数据库

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35713752/article/details/77862880

微信小程序开发交流qq群   581478349

   承接微信小程序开发。扫码加微信。

 

微信小程序获取openid和session_key并且把openid存入数据库。已经调用openid的demo

前后端代码都有,后端php实现

在其它地方同步调用openid。(确保用户完成登录再进行后续的操作);

onLoad:function(options){       
 getApp().promise.then(resolve => {
          var url = app.url + '/api/v1/Room/UserInfo'
          util.request(url, 'post', {
            name: userInfo.nickName,
            avatarUrl: userInfo.avatarUrl,
            accid: wx.getStorageSync('accid')
          }, '', function (res) {
            wx.redirectTo({
              url: '/pages/home/home'
            })
          })
        })
}

小程序代码,获取openid,并且做同步的阻塞。

//app.js
var util = require('utils/util.js');
App({
  onLaunch: function() {
    this.url = 'http://127.0.0.1/smile_chatRoom/'
    var that = this;
    return that.promise = new Promise(function(resolve) {
      wx.login({
        success: function(res) {
          var data = {
            code: res.code
          }
          if (res.code) {
            //发起网络请求
            var url = that.url + '/login.php';
            util.request(url, 'POST', data, '', function(res) {
              console.log(res);
              that.openid = res.data.openid;
              wx.setStorageSync('openid', that.openid)
              resolve(that.openid);
            }, function(err) {
              console.log(err);
            })
          } else {
            console.log('登录失败!' + res.errMsg)
          }
        }
      });
    })
  }
})

 

php 代码

<?php
    header("Content-Type:text/html;charset=utf8"); 
	header("Access-Control-Allow-Origin: *"); //解决跨域
	header('Access-Control-Allow-Methods:POST');// 响应类型  
	header('Access-Control-Allow-Headers:*'); // 响应头设置 
    $link=mysql_connect("localhost","root","root"); 
    mysql_select_db("smile", $link); //选择数据库
    mysql_query("SET NAMES utf8");//解决中文乱码问题
	
    $code = $_POST['code'];
	$url='https://api.weixin.qq.com/sns/jscode2session?appid=wxfc20b2db0701ad17&secret=ffb74c8eb3f19699ec7f70861b8387ce&js_code='.$code.'&grant_type=authorization_code';
	$json = file_get_contents($url);
    //只返回openid,json是一个json对象
    $array = json_decode($json,TRUE);
    $obj = json_decode($json);
    $openid = $obj->openid;
	$q = "SELECT * FROM user"; //SQL查询语句 SELECT * FROM 表名
	$result = mysql_query("SELECT * FROM user
	WHERE openid='$openid'");
	$num=mysql_num_rows($result);  //获取行数
	if($num>0){
	}else{
			//插入数据到数据库 
			$strsql = "insert into user (openid) values('$openid')";
			//mysql_query() 函数执行一条 MySQL 查询。SELECT,SHOW,EXPLAIN 或 DESCRIBE 都需要用这个函数执行
			$result = @mysql_query($strsql);
	}
	echo $openid;
?>

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页