# -*- coding: utf-8 -*-

from odoo import http

from odoo.http import request




from .handlers import auto_reply," />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > Odoo微信網(wǎng)頁授權(quán)、單點登錄

Odoo微信網(wǎng)頁授權(quán)、單點登錄

時間:2022-08-06 20:36:02 | 來源:網(wǎng)站運營

時間:2022-08-06 20:36:02 來源:網(wǎng)站運營

本文講解一下通過微信公眾號,設(shè)置菜單,然后跳轉(zhuǎn)到odoo頁面的方法,以下是部門代碼,僅供參考。

# -*- coding: utf-8 -*-

from odoo import http

from odoo.http import request




from .handlers import auto_reply, event_reply

import logging

_logger = logging.getLogger(__name__)




class WeiXinLogin(http.Controller):




def __init__(self):

param = request.env()['ir.config_parameter']

self.wx_appid = param.get_param('wx_appid') or ''

self.wx_AppSecret = param.get_param('wx_AppSecret') or ''




from ..rpc import oa_client

oa_client.init_oa_client(self.wx_appid, self.wx_AppSecret)




@http.route('/wx/login', type='http', auth="none", methods=['GET', 'POST'], csrf=False)

def wx_login(self, **kwargs):

res_code=self.get_code()

res_token=self.get_token(res_code)

res_check=self.check_token(res_token)

res_user=self.get_user(res_check)

openid=res_user['openid']




def send_url(self,url,params):

try:

res = request.get(url, params=params).json()

return res

except Exception, e:

http://_logger.info("獲取參數(shù)錯誤:")







def get_code(self):




url='https://open.weixin.qq.com/connect/oauth2/authorize'

params = {

'appid': self.wx_appid,

'secret': self.wx_AppSecret,

'response_type': 'code',

'scope': 'snsapi_base',

'#wechat_redirect':''

}

# 第一步獲取code

return self.send_url(url,params)







def get_token(self,res_code):

# 2.通過code換取網(wǎng)頁授權(quán)access_token




url = u'https://api.weixin.qq.com/sns/oauth2/access_token'

params = {

'appid': self.wx_appid,

'secret': self.wx_AppSecret,

'code': res_code['code'],

'grant_type': 'authorization_code'

}

return self.send_url(url,params)







def check_token(self,res_token):

#3.檢驗授權(quán)憑證(access_token)是否有效

url='https://api.weixin.qq.com/sns/auth'

params = {

'openid': res_token['openid'],

'access_token':res_token['access_token']

}

check_res = self.send_url(url,params)

if check_res['errcode']==0:

return res_token

else:

# 如果access_token超時,那就刷新

url='https://api.weixin.qq.com/sns/oauth2/refresh_token?'

params = {

'appid': self.wx_appid,

'grant_type':'refresh_token',

'refresh_token':res_token['refresh_token']

}

return self.send_url(url, params)










def get_user(self,res_check):

url = u'https://api.weixin.qq.com/sns/userinfo'

params = {

'access_token': res_check["access_token"],

'openid': res_check["openid"],

}

# 4.拉取用戶信息

return self.send_url(url, params)





關(guān)鍵詞:授權(quán)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉