getUserProfile(e){
wx.getUserProfile({
desc: '用于完善会员资料',
success: (res) =>{
//直接获取code
wx.login({
success: (e) => {
let code = e.code //code码 拿着code 码直接请求接口
wx.request({
url: 'http://www.think2.com/add?code=' + code,
data:{
nickName:res.userInfo.nickName,
avatarUrl:res.userInfo.avatarUrl
},
success: (res) => {
if(res.code = 201){
console.log(res.data.data);
}
let token = res.data.data
wx.setStorage({
key: "token",
data: token
})
wx.switchTab({
url: '/pages/index/index'
})
}
})
}
})
}
})
},
public function Login($code)
{
$nickname = input("nickname");
$img = input("avatarUrl");
$appid = 'wx0943cca6ca4da425';
$secret = 'aeb9b8366fc8da494345e54deb53d3f6';
$url = 'https://api.weixin.qq.com/sns/jscode2session?appid='.$appid.'&secret='.$secret.'&js_code='.$code.'&grant_type=authorization_code';
$data = file_get_contents($url);//此处是密钥和opedid 不能传给前台
$data = json_decode($data,true);
$res = User::where('openid',$data['openid'])->find();
if(empty($res)){
$data = User::create(['openid'=>$data['openid'],'nickname'=>$nickname,'img'=>$img,'sessionkey'=>$secret],true);
}
$token = md5(rand(1,999999) . $data['openid'] . md5(time()) . $res['id'] . $res['openid']);
Cache::set($token,$res);
return json(['code'=>200,'msg'=>'登录成功','data'=>$token]);
}
let token = wx.getStorageSync('token')
if (!token) {
// 登录
wx.login({
success: res => {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
//获取code码
let code = res.code;
//发送请求获取token
wx.request({
url: 'http://www.repairs.com/login?code=' + code,
success: res => {
//取token
let token = res.data.data
console.log(token);
//存本地
try {
wx.setStorageSync('token', token)
} catch (e) {
console.log(e)
}
}
})
}
})
}