- 使用 Taro + React 重写 H5 用户端(替换旧的 React+Vite+H5 实现)
- 6 个页面:登录、首页、设备列表、设备详情、仓体详情、个人中心
- Zustand 状态管理 + API 层封装 11 个接口
- 后端 H5 路由:新增仪表盘/项目/设备/充电控制接口,组织数据隔离
- 扫码入口:/h5/{abstract_id} → 免认证查设备 + 登录后跳转
- 管理端:新增绑定码管理、二维码展示下载、设备绑定/替换 IMEI
- 产品落地页更新(hero-bg + logo 替换)
- 接口对齐修复:修正 action 路径/请求体,DashboardData 和 CabinetItem 字段匹配后端
- 布局兼容性:grid → flex,提升移动浏览器兼容性
- 移除旧 H5 项目 software/h5/
65 lines
1.9 KiB
Python
65 lines
1.9 KiB
Python
import pymysql
|
||
import random
|
||
|
||
conn = pymysql.connect(host='10.8.0.252', user='root', password='Hbhyg731024@', database='pms')
|
||
cur = conn.cursor()
|
||
|
||
# ICCID规则:
|
||
# 中国移动:898600、898602、898604、898607
|
||
# 中国联通:898601
|
||
# 中国电信:898603
|
||
|
||
# 获取所有柜子
|
||
cur.execute("SELECT id FROM cabinets ORDER BY id")
|
||
cabinet_ids = [row[0] for row in cur.fetchall()]
|
||
|
||
# 运营商前缀
|
||
carriers = [
|
||
("898600", "移动"), # 中国移动
|
||
("898601", "联通"), # 中国联通
|
||
("898603", "电信"), # 中国电信
|
||
("898602", "移动"), # 中国移动
|
||
("898604", "移动"), # 中国移动
|
||
]
|
||
|
||
carrier_count = {"移动": 0, "联通": 0, "电信": 0}
|
||
|
||
for i, cab_id in enumerate(cabinet_ids):
|
||
# 随机选择运营商
|
||
prefix, carrier = random.choice(carriers)
|
||
# 生成ICCID: 20位数字
|
||
# 前6位(运营商) + 2位(年份) + 2位(省份) + 8位(流水) + 1位(校验)
|
||
year = random.randint(20, 25)
|
||
province = random.randint(10, 31)
|
||
serial = random.randint(10000000, 99999999)
|
||
check = random.randint(0, 9)
|
||
iccid = f"{prefix}{year:02d}{province:02d}{serial:08d}{check}"
|
||
|
||
cur.execute(f"UPDATE cabinets SET iccid='{iccid}' WHERE id={cab_id}")
|
||
carrier_count[carrier] += 1
|
||
|
||
conn.commit()
|
||
|
||
print("✓ ICCID更新完成")
|
||
print(f"\n运营商分布:")
|
||
for carrier, count in carrier_count.items():
|
||
print(f" {carrier}: {count}个")
|
||
|
||
# 验证
|
||
cur.execute("SELECT name, iccid FROM cabinets LIMIT 5")
|
||
print(f"\n示例数据:")
|
||
for row in cur.fetchall():
|
||
iccid = row[1]
|
||
prefix = iccid[:6] if iccid else ""
|
||
if prefix.startswith("898600") or prefix.startswith("898602") or prefix.startswith("898604"):
|
||
carrier = "移动"
|
||
elif prefix.startswith("898601"):
|
||
carrier = "联通"
|
||
elif prefix.startswith("898603"):
|
||
carrier = "电信"
|
||
else:
|
||
carrier = "未知"
|
||
print(f" {row[0]}: {iccid} ({carrier})")
|
||
|
||
conn.close()
|