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)
if len(sys.argv) > 1 and sys.argv[1] == '-g':
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:
doc.convert()

View File

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