feat: 根目录文档、脚本、gitignore

This commit is contained in:
2026-10-08 16:15:33 +08:00
commit e98660ce4e
284 changed files with 26838 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
"""CHG-061 鉴权矩阵实测:no-token / admin-token / ai-token × saveOrUpdate / aiBatchAdd / uploadBind"""
import io, sys, json, requests
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
B = 'http://localhost:8086'
AI = open('.claude/ai_token.txt').read().strip()
ADMIN = open('tmp/pw_token_8086.txt').read().strip()
def call(name, method, path, token, **kw):
h = {'Authorization': token} if token else {}
r = requests.request(method, B + path, headers=h, timeout=30, **kw)
try:
d = r.json()
msg = d.get('message', '')
if isinstance(msg, str):
try: msg = msg.encode('latin-1').decode('utf-8')
except Exception: pass
print(f'{name:28s} → HTTP {r.status_code} code={d.get("code")} msg={str(msg)[:40]} data={json.dumps(d.get("data"), ensure_ascii=False)[:60]}')
return d
except Exception:
print(f'{name:28s} → HTTP {r.status_code} 非JSON: {r.text[:80]}')
return None
expand_payload = {'storyId': 9130, 'workloadIndex': '5.1', 'numberUnits': 3, 'unitBusinessComplexity': '2.2',
'technicalComplexityCoefficient': '1.4', 'aiEfficiencyCoefficient': '0.55', 'requirementStatus': 'inProgress'}
task_payload = {'storyId': 9130, 'tasks': [{'name': '鉴权矩阵验证(可删)', 'type': 'devel', 'assignedTo': 'luoyong',
'aiEvaluationTime': 0.1, 'planStartDate': '2026-08-06', 'deadline': '2026-08-06'}]}
open('tmp/_auth_probe.md', 'w').write('# 鉴权矩阵验证\n')
print('== 无 token ==')
call('saveOrUpdate', 'POST', '/zentao/zt-story-expand/saveOrUpdate', None, json=expand_payload)
call('aiBatchAdd', 'POST', '/zentao/zt-task/aiBatchAdd', None, json=task_payload)
call('uploadBind', 'POST', '/zentao/common/uploadBind', None,
data={'objectType': 'testOther', 'objectId': '9130'}, files={'file': ('p.md', open('tmp/_auth_probe.md','rb'))})
print('== admin token(非ai)==')
call('saveOrUpdate', 'POST', '/zentao/zt-story-expand/saveOrUpdate', ADMIN, json=expand_payload)
call('aiBatchAdd', 'POST', '/zentao/zt-task/aiBatchAdd', ADMIN, json=task_payload)
call('uploadBind', 'POST', '/zentao/common/uploadBind', ADMIN,
data={'objectType': 'testOther', 'objectId': '9130', 'title': '鉴权矩阵-admin(可删)'}, files={'file': ('p.md', open('tmp/_auth_probe.md','rb'))})
print('== ai token ==')
call('saveOrUpdate', 'POST', '/zentao/zt-story-expand/saveOrUpdate', AI, json=expand_payload)
d = call('aiBatchAdd', 'POST', '/zentao/zt-task/aiBatchAdd', AI, json=task_payload)
d2 = call('uploadBind', 'POST', '/zentao/common/uploadBind', AI,
data={'objectType': 'testOther', 'objectId': '9130', 'title': '鉴权矩阵-ai(可删)'}, files={'file': ('p.md', open('tmp/_auth_probe.md','rb'))})
if d and d.get('data'): print('AI_TASK_ID=', d['data'].get('taskIds'))