|
|
|
@ -23,7 +23,21 @@ module Mobile
|
|
|
|
|
refresh_token = session[:refresh_token]
|
|
|
|
|
|
|
|
|
|
if access_token.present? && refresh_token.present?
|
|
|
|
|
begin
|
|
|
|
|
refreshinfo = Wechat.api.web_refresh_access_token(refresh_token)
|
|
|
|
|
rescue
|
|
|
|
|
info = Wechat.api.web_access_token(session[:wechat_code])
|
|
|
|
|
openid =info["openid"]
|
|
|
|
|
access_token =info["access_token"]
|
|
|
|
|
if access_token
|
|
|
|
|
session[:access_token] = access_token
|
|
|
|
|
end
|
|
|
|
|
refresh_token = info["refresh_token"]
|
|
|
|
|
if refresh_token
|
|
|
|
|
session[:refresh_token] = refresh_token
|
|
|
|
|
end
|
|
|
|
|
refreshinfo = Wechat.api.web_refresh_access_token(refresh_token)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
access_token = refreshinfo["access_token"]
|
|
|
|
|
refresh_token = refreshinfo["refresh_token"]
|
|
|
|
@ -42,9 +56,16 @@ module Mobile
|
|
|
|
|
user = us.register ({:login=>openid, :mail=>"#{openid}@163.com",
|
|
|
|
|
:password=>"12345678", :password_confirmation=>"12345678",
|
|
|
|
|
:should_confirmation_password => true})
|
|
|
|
|
user.update_attributes(:lastname=>name)
|
|
|
|
|
|
|
|
|
|
raise user.errors.full_messages.first if user.new_record?
|
|
|
|
|
user.update_attributes(:lastname=>name)
|
|
|
|
|
#自动激活
|
|
|
|
|
if Setting.self_registration != '3'
|
|
|
|
|
user.activate
|
|
|
|
|
user.last_login_on = Time.now
|
|
|
|
|
if user.save
|
|
|
|
|
UserStatus.create(:user_id => user.id, :changsets_count => 0, :watchers_count => 0)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
UserWechat.create!(
|
|
|
|
|
openid: openid,
|
|
|
|
|
user: user,
|
|
|
|
|