参数意义见微信文档地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62 :param card_ticket: 用于卡券的微信 api_ticket :param card_type: :param kwargs: 非必须参数:noncestr, timestamp, code, openid, fixed_begintimestamp, outer_str :return: 包含调用jssdk所有所需参数的
(self, card_ticket, card_type, **kwargs)
| 92 | return ticket |
| 93 | |
| 94 | def get_jsapi_card_params(self, card_ticket, card_type, **kwargs): |
| 95 | """ |
| 96 | 参数意义见微信文档地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62 |
| 97 | :param card_ticket: 用于卡券的微信 api_ticket |
| 98 | :param card_type: |
| 99 | :param kwargs: 非必须参数:noncestr, timestamp, code, openid, fixed_begintimestamp, outer_str |
| 100 | :return: 包含调用jssdk所有所需参数的 dict |
| 101 | """ |
| 102 | card_signature_dict = { |
| 103 | 'card_type': card_type, |
| 104 | 'noncestr': kwargs.get('noncestr', random_string()), |
| 105 | 'api_ticket': card_ticket, |
| 106 | 'appid': self.appid, |
| 107 | 'timestamp': kwargs.get('timestamp', str(int(time.time()))), |
| 108 | } |
| 109 | list_before_sign = sorted([str(x) for x in card_signature_dict.values()]) |
| 110 | str_to_sign = "".join(list_before_sign).encode() |
| 111 | card_signature_dict['sign'] = hashlib.sha1(str_to_sign).hexdigest() |
| 112 | return card_signature_dict |