# -*- coding: utf-8 -*-
"""校验 APK 内 pad.html 是否包含本轮 14 项修改"""
import zipfile

apk = '/data/www/files/rmsys-app/android/app/build/outputs/apk/release/app-release.apk'
z = zipfile.ZipFile(apk)
pad = z.read('assets/web/pad.html').decode('utf-8')
src = open('/data/www/files/rmsys-app/android/app/src/main/assets/web/pad.html', encoding='utf-8').read()

checks = [
    ('与源码一致', pad == src),
    ('去掉机密标签', 'homeSecret' not in pad),
    ('去掉本机提示', '仅限本次会议现场查阅' not in pad),
    ('首页方正小标宋', '方正小标宋简体' in pad),
    ('设置无会议类型', 'segMeet' not in pad and '<label>会议类型</label>' not in pad),
    ('水印默认关闭', 'wm:0,' in pad),
    ('退出不删数据包', '退出到首页（不删除数据包）' in pad),
    ('去掉共x人提示', '点击姓名查看任免审批表' not in pad),
    ('去掉议题顺序', 'vbtn-list' not in pad),
    ('去掉上一条下一条', 'filePrev()</button>' not in pad and '>上一条<' not in pad),
    ('任免文件无拟任拟免', 'nm-flag r">拟任</span>' not in pad.split('function renderOrder')[0].split('function renderIssue')[1]),
    ('删除批注模块', '批注信息' not in pad),
    ('表题不吸顶', 'position:sticky;top:calc(-1 * var(--sp,26px))' not in pad),
    ('处室页无计数', 'deptTotal' not in pad),
    ('2000×1200 适配', 'max-height:1300px' in pad),
    ('无 .bak', not any('.bak' in n for n in z.namelist())),
]

print("APK 内 pad.html：%d 字节" % len(pad.encode()))
for name, ok in checks:
    print("  %-18s %s" % (name, '✓' if ok else '✗'))
print("全部通过：", all(ok for _, ok in checks))
