""" @author: luojunhui """ minigram_map = { 1: { 25: { "avatar": "https://rescdn.yishihui.com/0temp/pqsp.png", "id": "wxbdd2a2e93d9a6e25", "name": "票圈视频", "index": 25 }, 29: { "avatar": "https://rescdn.yishihui.com/0temp/pqsp.png", "id": "wxbdd2a2e93d9a6e25", "name": "票圈视频", "index": 29 }, 31: { "avatar": "https://rescdn.yishihui.com/0temp/pqsp.png", "id": "wxbdd2a2e93d9a6e25", "name": "票圈视频", "index": 31 } }, 2: { 36: { "avatar": "https://rescdn.yishihui.com/0temp/pqsp.png", "id": "wxbdd2a2e93d9a6e25", "name": "票圈视频", "index": 36 }, 33: { "avatar": "https://rescdn.yishihui.com/0temp/pqsp.png", "id": "wxbdd2a2e93d9a6e25", "name": "票圈视频", "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()