def get(self): res = dict(apis={}, tpls={}, actions={}, slides={}, cache=0) apis = APIItem.objects.all() for api in apis: if api.key == 'common': res['cache'] = api.cache else: res['apis'][api.key] = api.detail tpls = TPLItem.objects(enable__in=Enable.get()).order_by('sort') for tpl in tpls: res['tpls'][tpl.key] = dict(name=tpl.name, url=tpl.tpl.link, modified=str(tpl.modified)) actions = ActionItem.objects(enable__in=Enable.get()).order_by('sort') for action in actions: if action.module not in res['actions']: res['actions'][action.module] = list() res['actions'][action.module].append(action.detail) slides = SlideItem.objects(enable__in=Enable.get()).order_by('sort') for slide in slides: if slide.module not in res['actions']: res['actions'][slide.module] = list() res['actions'][slide.module].append(slide.detail) res['backup_host'] = Item.data('backup_host') res['channel'] = 1001 res['uuid'] = current_user.id if current_user.is_authenticated() else 0 return res
def get(self): res = dict(apis={}, icons={}, tpls={}, actions=defaultdict(list), options={}) version = get_version() for api in API.objects.all(): if api.key == 'global': res['expire'] = api.expire res['apis'][api.key] = api.detail for icon in Icon.objects.all(): res['icons'][icon.key] = icon.icon.base64 for option in Option.objects.all(): res['options'][option.key] = option.value res['options']['uuid'] = '0' res['options']['channel'] = '0' tpls = TPL.objects(enable__in=Enable.get()) for tpl in tpls: res['tpls'][tpl.key] = dict( key=tpl.key, name=tpl.name, url=tpl.tpl.link, modified=str(tpl.modified), ) query = db.Q(enable__in=Enable.get()) if get_os() == 2: query = query & (db.Q(android_start__lte=version) | db.Q(android_start=None)) & \ (db.Q(android_end__gte=version) | db.Q(android_end=None)) elif get_os() == 1: query = query & (db.Q(ios_start__lte=version) | db.Q(ios_start=None)) & \ (db.Q(ios_end__gte=version) | db.Q(ios_end=None)) actions = Action.objects(enable__in=Enable.get()).order_by('sort') for action in actions: if action.module: res['actions'][action.module].append(action.detail) slides = Slide.objects(enable__in=Enable.get()).order_by('sort') for slide in slides: if slide.module: res['actions'][slide.module].append(slide.detail) if hasattr(self, 'handle') and callable(self.handle): self.handle(res) return res
def get(self): res = dict(apis={}, tpls={}, actions={}, options={}) version = get_version() apis = APIItem.objects.all() for api in apis: res['apis'][api.key] = api.detail for option in OptionItem.objects.all(): res['options'][option.key] = option.value res['options']['uuid'] = '0' res['options']['channel'] = '0' tpls = TPLItem.objects(enable__in=Enable.get()).order_by('sort') for tpl in tpls: res['tpls'][tpl.key] = dict( key=tpl.key, name=tpl.name, url=tpl.tpl.link, modified=str(tpl.modified), ) query = db.Q(enable__in=Enable.get()) if get_os() == 2: query = query & (db.Q(android_version__lte=version) | db.Q(android_version=None)) & \ (db.Q(android_version_end__gte=version) | db.Q(android_version_end=None)) elif get_os() == 1: query = query & (db.Q(ios_version__lte=version) | db.Q(ios_version=None)) & \ (db.Q(ios_version_end__gte=version) | db.Q(ios_version_end=None)) if not current_user.is_authenticated(): query = query & (db.Q(login_show=False) | db.Q(login_show=None)) actions = ActionItem.objects(enable__in=Enable.get()).order_by('sort') for action in actions: if action.module not in res['actions']: res['actions'][action.module] = list() res['actions'][action.module].append(action.detail) slides = SlideItem.objects(enable__in=Enable.get()).order_by('sort') for slide in slides: if slide.module not in res['actions']: res['actions'][slide.module] = list() res['actions'][slide.module].append(slide.detail) return res
def get(self): res = dict(apis={}, tpls={}, actions=defaultdict(list), options={}) version = get_version() apis = APIItem.objects.all() for api in apis: res['apis'][api.key] = api.detail for option in OptionItem.objects.all(): res['options'][option.key] = option.value res['options']['uuid'] = '0' res['options']['channel'] = '0' tpls = TPLItem.objects(enable__in=Enable.get()).order_by('sort') for tpl in tpls: res['tpls'][tpl.key] = dict( key=tpl.key, name=tpl.name, url=tpl.tpl.link, modified=str(tpl.modified), ) query = db.Q(enable__in=Enable.get()) if get_os() == 2: query = query & (db.Q(android_version__lte=version) | db.Q(android_version=None)) & \ (db.Q(android_version_end__gte=version) | db.Q(android_version_end=None)) elif get_os() == 1: query = query & (db.Q(ios_version__lte=version) | db.Q(ios_version=None)) & \ (db.Q(ios_version_end__gte=version) | db.Q(ios_version_end=None)) if not current_user.is_authenticated(): query = query & (db.Q(login_show=False) | db.Q(login_show=None)) actions = ActionItem.objects(enable__in=Enable.get()).order_by('sort') for action in actions: if action.module and action.module.key: res['actions'][action.module.key].append(action.detail) slides = SlideItem.objects(enable__in=Enable.get()).order_by('sort') for slide in slides: if slide.module and slide.module.key: res['actions'][slide.module.key].append(slide.detail) return res
def get(self): item = AndroidVersion.objects(enable__in=Enable.get()).order_by('-id').first() if item: spm = parse_spm(request.args.get('spm')) url = item.url or current_app.config.get('HOST') + '/android/latest.html?channel=%d' % (spm[2] or 1001) return success( version=item.version, code=item.id, log=item.log, url=url, force=item.force, date=str(item.created).split(' ')[0], ) abort(SERVER_ERROR)