This commit is contained in:
aozhiwei 2021-12-01 13:23:40 +08:00
parent 37b18e9297
commit 0769187e29
2 changed files with 22 additions and 8 deletions

View File

@ -10,5 +10,8 @@ workDir = os.getcwd()
doc = mydoc.MyDoc(workDir) doc = mydoc.MyDoc(workDir)
if len(sys.argv) > 1 and sys.argv[1] == '-g': if len(sys.argv) > 1 and sys.argv[1] == '-g':
doc.generate() doc.generate()
if len(sys.argv) > 1 and sys.argv[1] == '-p':
doc.convert()
os.system('apidoc -f "doc.*" -i doc -o public/apidoc/')
else: else:
doc.convert() doc.convert()

View File

@ -15,6 +15,8 @@ class MyDoc(object):
self._wf = open(self.getOutFileName(), 'w') self._wf = open(self.getOutFileName(), 'w')
self._wf.write('<?php\n\n') self._wf.write('<?php\n\n')
self._wf.write('class Doc\n{\n') self._wf.write('class Doc\n{\n')
if os.path.exists(self._workDir + 'README.php'):
self._wf.write(open(self._workDir + 'env.json', 'r').read() + '\n')
sys.path.append(self._workDir) sys.path.append(self._workDir)
for file in os.listdir(self._workDir): for file in os.listdir(self._workDir):
if file[0:1] == '_' or file[-3:] != '.py': if file[0:1] == '_' or file[-3:] != '.py':
@ -69,13 +71,18 @@ class MyDoc(object):
(''.join([' ' for i in range(ident + 1)]), (''.join([' ' for i in range(ident + 1)]),
)) ))
else: else:
self._wf.write(' * %s{\n' % if type(item[1][0]) in (int, float, str):
(''.join([' ' for i in range(ident + 1)]), self._wf.write(' * %s%s\n' %
)) (''.join([' ' for i in range(ident + 1)]),
[outRsp(p, ident + 2) for p in item[1][0].fields] getJsonValue(item[1][0])))
self._wf.write(' * %s}\n' % else:
(''.join([' ' for i in range(ident + 1)]), self._wf.write(' * %s{\n' %
)) (''.join([' ' for i in range(ident + 1)]),
))
[outRsp(p, ident + 2) for p in item[1][0].fields]
self._wf.write(' * %s}\n' %
(''.join([' ' for i in range(ident + 1)]),
))
else: else:
self._wf.write(' * %s{\n' % self._wf.write(' * %s{\n' %
(''.join([' ' for i in range(ident + 1)]), (''.join([' ' for i in range(ident + 1)]),
@ -109,9 +116,11 @@ class MyDoc(object):
[outRsp(p, ident + 1) for p in item[1].fields] [outRsp(p, ident + 1) for p in item[1].fields]
self._wf.write(' * %s},\n' % (''.join([' ' for i in range(ident)]))) self._wf.write(' * %s},\n' % (''.join([' ' for i in range(ident)])))
if not hasattr(c, 'apis'):
return
for item in c.apis: for item in c.apis:
self._wf.write('\n /**\n') self._wf.write('\n /**\n')
self._wf.write(' * @api {%s} %s %s\n' % (item.get('method', 'GET'), item['url'], item['desc'])) self._wf.write(' * @api {%s} %s %s\n' % (item.get('method', 'GET'), item['url'], item['name']))
self._wf.write(' * @apiPermission %s\n' % (item.get('permission', 'none'))) self._wf.write(' * @apiPermission %s\n' % (item.get('permission', 'none')))
if 'group' in item: if 'group' in item:
self._wf.write(' * @apiGroup %s\n' % (item.get('group', ''))) self._wf.write(' * @apiGroup %s\n' % (item.get('group', '')))
@ -135,6 +144,8 @@ class MyDoc(object):
def generate(self): def generate(self):
scheme = json.loads(open(self._workDir + 'apilist.json', 'r').read()) scheme = json.loads(open(self._workDir + 'apilist.json', 'r').read())
if 'apis' not in scheme:
return;
for key, val in scheme['apis'].items(): for key, val in scheme['apis'].items():
wf = open(self._workDir + key.replace('Controller', '') + '.py', 'w') wf = open(self._workDir + key.replace('Controller', '') + '.py', 'w')
wf.write('# -*- coding: utf-8 -*-\n\n') wf.write('# -*- coding: utf-8 -*-\n\n')