# -*- coding: utf-8 -*- """ demeter web page name:work.py author:rabin """ from .__load__ import * # 请求转换 /main/convert 接口必须后端获取,token不允许暴露 class convert_path(Load): @Web.setting def get(self): # 从get、post获取数据,默认值为1 key = int(self.input('site', 1)) token = self.input('token') file = self.input('file') site = Demeter.model('site') site.key = key data = {} data['site'] = site.select(type='fetchone') if not file: self.out('错误的文件信息') if not data['site']: self.out('站点信息不存在') if data['site']['token'] != token: self.out('验证失败') service = Demeter.service('convert') data['file'] = service.update(data['site']['id'], key, file) # 推入到redis队列 if data['file']['status'] == 1: redis = Demeter.redis() config = Demeter.config['redis'] send = {} #redis.rpush(config['name'], data['file']['id']) self.out('yes', data) # 获取信息 后端接口,token不允许暴露 class get_path(Load): @Web.setting def get(self): key = int(self.input('site', 1)) token = self.input('token') file = self.input('file') site = Demeter.model('site') site.key = key data = {} data['site'] = site.select(type='fetchone') if not file: self.out('错误的文件信息') if not data['site']: self.out('站点信息不存在') if data['site']['token'] != token: self.out('验证失败') service = Demeter.service('convert') data['file'] = service.get(data['site']['id'], key, file); self.out('yes', data) # 授权用户可以访问html的接口 后端接口,token不允许暴露 class auth_path(Load): @Web.setting def get(self): key = int(self.input('site', 1)) user = self.input('user') token = self.input('token') file = self.input('file') site = Demeter.model('site') site.key = key data = {} data['site'] = site.select(type='fetchone') if not file: self.out('错误的文件信息') if not data['site']: self.out('站点信息不存在') if data['site']['token'] != token: self.out('验证失败') service = Demeter.service('convert') data['file'] = service.get(data['site']['id'], key, file); # 授权之后生成一个key,用于前端权限验证 self.out('yes', data) # 读取html 带有权限控制 该接口为前端接口 需要有授权接口 class view_path(Load): @Web.setting def get(self): key = int(self.input('site', 1)) token = self.input('token') file = self.input('file') site = Demeter.model('site') site.key = key data = {} data['site'] = site.select(type='fetchone') if not file: self.out('错误的文件信息') if not data['site']: self.out('站点信息不存在') if data['site']['token'] != token: self.out('验证失败') service = Demeter.service('convert') data['file'] = service.get(data['site']['id'], key, file); self.out('yes', data)