예제 #1
0
    def _get_mp_info(cls, to_user_id_list, shop_id):
        """获取发送人的微信openid与微信对象"""
        app_id = MP_APPID
        app_secret = MP_APPSECRET
        template_id = cls._default_template_id
        # 森果自己的微信公众号和零售共用一个
        redis_conn = get_redis_connection("default")
        access_token = redis_conn.get("access_token")
        access_token = access_token.decode("utf-8") if access_token else None
        wechat_client = WeChatClient(appid=app_id,
                                     secret=app_secret,
                                     access_token=access_token,
                                     timeout=5)
        if not access_token:
            access_token = wechat_client.fetch_access_token()
            redis_conn.setex("access_token", 3600,
                             access_token.get("access_token"))

        user_openid_list = list_openid_by_user_ids_and_appid(
            to_user_id_list, app_id)
        touser_list = [
            user_openid.wx_openid for user_openid in user_openid_list
        ]

        return touser_list, template_id, wechat_client
예제 #2
0
파일: models.py 프로젝트: 859162000/wlba
 def update_access_token(self):
     now = self._now()
     client = WeChatClient(self.app_id, self.app_secret)
     res = client.fetch_access_token()
     self.access_token_content = res.get('access_token')
     self.access_token_expires_at = now + datetime.timedelta(
         seconds=res.get('expires_in') - 60)
     self.save()
예제 #3
0
def get_access_token():
    # print(1)
    redis_client = redis.Redis(host="127.0.0.1", port=6379, db=5)

    os.environ.setdefault("DJANGO_SETTINGS_MODULE",
                          "up_down_chain.settings")  # project_name 项�~[��~P~M称
    django.setup()

    wechat_client = WeChatClient(
        settings.WXAPPID,
        settings.WXAPPSECRET,
    )
    access_token = wechat_client.fetch_access_token()["access_token"]
    time.sleep(5)
    redis_client.setex("access_token", access_token, 7000)

    return "ok"