|
|
|
@ -24,15 +24,10 @@ class Oauth::CreateOrFindWechatAccountService < ApplicationService
|
|
|
|
|
new_user = true
|
|
|
|
|
# 新用户
|
|
|
|
|
login = User.generate_login('w')
|
|
|
|
|
cd = CharDet.detect(result['nickname'])
|
|
|
|
|
Rails.logger.info "encoding: #{cd['encoding']} confidence: #{cd['confidence']}"
|
|
|
|
|
decode_content =
|
|
|
|
|
if cd["encoding"] == 'GB18030' && cd['confidence'] > 0.8
|
|
|
|
|
result['nickname'].encode('UTF-8', 'GBK', {:invalid => :replace, :undef => :replace, :replace => ' '})
|
|
|
|
|
else
|
|
|
|
|
result['nickname'].force_encoding('UTF-8')
|
|
|
|
|
end
|
|
|
|
|
@user = User.new(login: login, nickname: decode_content, type: 'User', status: User::STATUS_ACTIVE)
|
|
|
|
|
# result['nickname'] = regix_emoji(result['nickname'])
|
|
|
|
|
@user = User.new(login: login, type: 'User', status: User::STATUS_ACTIVE)
|
|
|
|
|
#@user = User.new(login: login, nickname: result['nickname'], type: 'User', status: User::STATUS_ACTIVE)
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
ActiveRecord::Base.transaction do
|
|
|
|
@ -47,7 +42,7 @@ class Oauth::CreateOrFindWechatAccountService < ApplicationService
|
|
|
|
|
Util.download_file(result['headimgurl'], avatar_path)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
new_open_user= OpenUsers::Wechat.create!(user: user, uid: result['unionid'], extra: result)
|
|
|
|
|
new_open_user= OpenUsers::Wechat.create!(user: user, uid: result['unionid'])
|
|
|
|
|
|
|
|
|
|
Rails.cache.write(new_open_user.can_bind_cache_key, 1, expires_in: 1.hours) if new_user # 方便后面进行账号绑定
|
|
|
|
|
end
|
|
|
|
|