# -*- coding: utf-8 -*-
import base64, json, os, requests
CFG = json.load(open('/data/www/files/LhyjdesignPro/config.json'))
KEY, BASE = CFG['api_key'], CFG['base_url']
D = '/data/www/files/pandaReadArt/convert'
SRC = '/root/.hermes/webui/attachments/d7fb35486610/screenshot-1789268930955.jpeg'


def img(p):
    return {"type": "image_url",
            "image_url": {"url": "data:image/jpeg;base64," + base64.b64encode(open(p, 'rb').read()).decode()}}


def vis(q, ps):
    msgs = [{"role": "user", "content": [img(p) for p in ps] + [{"type": "text", "text": q}]}]
    r = requests.post(f"{BASE}/chat/completions",
        headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
        json={"model": CFG['models']['text_vision'], "messages": msgs, "max_tokens": 600}, timeout=240).json()
    return r.get('choices', [{}])[0].get('message', {}).get('content', 'ERR').strip()


print('===== ① 高清图（补边后）')
print(vis("严格简短回答：\n1. 海报左侧红色飘带边框与左下角黄色五角星是否完整（不被裁切）？是/否+说明。\n"
          "2. 左侧区域是否有明显的镜像重复痕迹或接缝异常？无/有-说明。\n"
          "3. 是否残留手机界面、桌面背景？有/无。\n"
          "4. 图像是否清晰，标题「长征胜利90周年」可读？是/否。\n"
          "5. 是否有水印/logo？有则说明位置，无则写「无」。",
          [os.path.join(D, '01_高清图_A4_300dpi.jpg')]))

print('\n===== ② AI重绘版（圆徽修正后）')
print(vis("图1是原海报，图2是重绘版。严格简短回答：\n1. 图2红旗上的徽记是否为「白色圆形徽」内绘锤子与镰刀（不是五角星徽）？是/否-描述实际形状。\n"
          "2. 是否出现文字/乱码/水印？有则读出，无则写「无」。\n"
          "3. 构图元素是否齐全（4名小红军、红旗、石拱桥、黄路、纪念碑、飘带边框、左下黄星、卷云、白鸽）？逐个是/否。",
          [os.path.join(D, '00_海报本体_补边.jpg'), os.path.join(D, '02_AI重绘高清版.jpg')]))

print('\n===== ③ 线条图（最终）')
print(vis("图1是原海报，图2是线条图。严格简短回答：\n1. 标题读作什么？原样读出。\n"
          "2. 除标题外是否还有其他文字/字母/数字/水印？有则读出，无则写「无」。\n"
          "3. 是否纯黑白线条、无灰阶、无颜色、色块封闭便于涂色？是/否+一句。\n"
          "4. 构图元素是否齐全（4名小红军、红旗、石拱桥、黄路、纪念碑、飘带边框、左下五角星、卷云、白鸽）？逐个是/否。\n"
          "5. 红旗圆徽内是否有锤子镰刀线条？是/否。\n6. 标题是否与画面重叠或被裁切？无/有-说明。",
          [os.path.join(D, '00_海报本体_补边.jpg'), os.path.join(D, '03_线条图.jpg')]))
