123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- """
- @author: luojunhui
- """
- minigram_map = {
- 1: {
- 25: {
- "avatar": "https://rescdn.yishihui.com/0temp/logo.png",
- "id": "wx89e7eb06478361d7",
- "name": "票圈 l 3亿人喜欢的视频平台",
- "index": 25
- },
- 29: {
- "avatar": "https://rescdn.yishihui.com/0temp/logo.png",
- "id": "wx89e7eb06478361d7",
- "name": "票圈 l 3亿人喜欢的视频平台",
- "index": 29
- },
- 31: {
- "avatar": "https://rescdn.yishihui.com/0temp/logo.png",
- "id": "wx89e7eb06478361d7",
- "name": "票圈 l 3亿人喜欢的视频平台",
- "index": 31
- }
- },
- 2: {
- 36: {
- "avatar": "https://rescdn.yishihui.com/0temp/logo.png",
- "id": "wx89e7eb06478361d7",
- "name": "票圈 l 3亿人喜欢的视频平台",
- "index": 36
- },
- 33: {
- "avatar": "https://rescdn.yishihui.com/0temp/logo.png",
- "id": "wx89e7eb06478361d7",
- "name": "票圈 l 3亿人喜欢的视频平台",
- "index": 33
- }
- },
- 3: {
- 27: {
- "avatar": "https://rescdn.yishihui.com/0temp/xymhfqdd.png",
- "id": "wx7187c217efef24a7",
- "name": "幸运美好福气多多",
- "index": 27
- }
- }
- }
- class Minigram(object):
- """
- 小程序卡片
- """
- def __init__(self, params):
- self.params = params
- self.business_type = None
- self.mini_code = None
- self.trace_id = None
- def check_params(self):
- """
- 校验参数
- :return:
- """
- try:
- self.business_type = self.params['businessType']
- self.mini_code = self.params['miniCode']
- self.trace_id = self.params['traceId']
- return None
- except Exception as e:
- response = {
- "status": "fail",
- "code": 1,
- "message": str(e),
- "info": "params check error"
- }
- return response
- def choose_minigram(self):
- """
- 分配小程序卡片
- :return:
- """
- try:
- minigram = minigram_map.get(self.business_type).get(self.mini_code)
- response = {
- "programAvatar": minigram['avatar'],
- "programId": minigram['id'],
- "programName": minigram['name'],
- "trace_id": self.trace_id
- }
- except Exception as e:
- response = {
- "error": "invalid params",
- "msg": str(e)
- }
- return response
- async def deal(self):
- """
- :return:
- """
- return self.check_params() if self.check_params() else self.choose_minigram()
|