|
|
@ -21,8 +21,9 @@ module Mobile
|
|
|
|
raise "无法获取到openid,请在微信中打开本页面" unless openid
|
|
|
|
raise "无法获取到openid,请在微信中打开本页面" unless openid
|
|
|
|
us = UsersService.new
|
|
|
|
us = UsersService.new
|
|
|
|
#login mail password
|
|
|
|
#login mail password
|
|
|
|
openid_length = openid.length
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#根据openid生成一个用户名
|
|
|
|
|
|
|
|
openid_length = openid.length
|
|
|
|
login = openid[0..10]+openid[openid_length-3..openid_length-1]+Time.now.to_i.to_s
|
|
|
|
login = openid[0..10]+openid[openid_length-3..openid_length-1]+Time.now.to_i.to_s
|
|
|
|
|
|
|
|
|
|
|
|
access_token = session[:access_token]
|
|
|
|
access_token = session[:access_token]
|
|
|
@ -32,25 +33,18 @@ module Mobile
|
|
|
|
Rails.logger.info session
|
|
|
|
Rails.logger.info session
|
|
|
|
|
|
|
|
|
|
|
|
if access_token && refresh_token
|
|
|
|
if access_token && refresh_token
|
|
|
|
refreshinfo = Wechat.api.web_refresh_access_token(refresh_token)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#先刷新下access_token 已防止过期
|
|
|
|
|
|
|
|
refreshinfo = Wechat.api.web_refresh_access_token(refresh_token)
|
|
|
|
access_token = refreshinfo["access_token"]
|
|
|
|
access_token = refreshinfo["access_token"]
|
|
|
|
refresh_token = refreshinfo["refresh_token"]
|
|
|
|
refresh_token = refreshinfo["refresh_token"]
|
|
|
|
session[:access_token] = access_token
|
|
|
|
session[:access_token] = access_token
|
|
|
|
session[:refresh_token] = refresh_token
|
|
|
|
session[:refresh_token] = refresh_token
|
|
|
|
|
|
|
|
|
|
|
|
require "open-uri"
|
|
|
|
#获取用户信息
|
|
|
|
#如果有GET请求参数直接写在URI地址中
|
|
|
|
userinfo = Wechat.api.web_userinfo(access_token,openid)
|
|
|
|
uri = 'https://api.weixin.qq.com/sns/userinfo?access_token='+access_token+'&openid='+openid+'&lang=zh_CN'
|
|
|
|
Rails.logger.info "userinfo!!!!!!!!!"
|
|
|
|
userinfo = nil
|
|
|
|
|
|
|
|
open(uri) do |http|
|
|
|
|
|
|
|
|
userinfo = JSON.parse(http.read)
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# userinfo = Wechat.api.web_userinfo(access_token,openid)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rails.logger.info userinfo
|
|
|
|
Rails.logger.info userinfo
|
|
|
|
Rails.logger.info userinfo["nickname"]
|
|
|
|
|
|
|
|
name = userinfo["nickname"]
|
|
|
|
name = userinfo["nickname"]
|
|
|
|
else
|
|
|
|
else
|
|
|
|
name = openid[0..3]+"***"+openid.last
|
|
|
|
name = openid[0..3]+"***"+openid.last
|
|
|
|