================================================================ 挂机坐标.ini 同步 —— 客户端易语言代码片段(粘进 v26.e) 隔离维度:扁平共享 kind=coord(一个全局文件、总是覆盖) 服务器已部署并自测通过;以下只改客户端两个子程序 ================================================================ 【说明】 - 两个片段都复用子程序里【已有的】局部变量(文件数据/数据长度/上传网址/ 返回数据/返回文本/本地路径/备份目录/成功数/失败数),【无需新增 局部变量声明】。 - 插入点:分别放在「上传脚本到服务器」「下载脚本到本地」子程序里, 各自“上传结束 / 下载结束”那条写日志【之前】。 ──────────────────────────────────────────────────────── 片段一:粘到「上传脚本到服务器」子程序(在“上传结束”日志之前) ──────────────────────────────────────────────────────── ' ---------- 同步 挂机坐标.ini(扁平共享 kind=coord,总是覆盖)---------- .如果真 (文件是否存在 (配置目录 + “\挂机坐标.ini”) = 真) 文件数据 = 读入文件 (配置目录 + “\挂机坐标.ini”) 数据长度 = 取字节集长度 (文件数据) .如果真 (数据长度 ≥ 2) 上传网址 = #脚本接口地址 + “?op=put&token=” + #脚本接口令牌 + “&kind=coord&name=” + 编码_URL编码 (“挂机坐标.ini”, 真, 假) 返回数据 = 网页_访问 (上传网址, 1, , , , “Content-Type: application/octet-stream”, , , 文件数据) 返回文本 = 到文本 (返回数据) .如果 (寻找文本 (返回文本, “OK”, , 假) = 1) 成功数 = 成功数 + 1 写日志 (自定义时间 () + “【脚本同步】已上传:挂机坐标.ini(” + 到文本 (数据长度) + “ 字节)” + #换行符) .否则 失败数 = 失败数 + 1 写日志 (自定义时间 () + “【脚本同步】上传失败:挂机坐标.ini;服务器返回【” + 返回文本 + “】” + #换行符) .如果结束 .如果真结束 .否则 写日志 (自定义时间 () + “【脚本同步】跳过上传:本地不存在 挂机坐标.ini” + #换行符) .如果真结束 ──────────────────────────────────────────────────────── 片段二:粘到「下载脚本到本地」子程序(在“下载结束”日志之前) ──────────────────────────────────────────────────────── ' ---------- 同步 挂机坐标.ini(扁平共享 kind=coord,总是覆盖;覆盖前本地下份备份)---------- 本地路径 = 配置目录 + “\挂机坐标.ini” 下载网址 = #脚本接口地址 + “?op=get&token=” + #脚本接口令牌 + “&kind=coord&name=” + 编码_URL编码 (“挂机坐标.ini”, 真, 假) 文件数据 = 网页_访问 (下载网址) .如果 (取字节集长度 (文件数据) < 1) 写日志 (自定义时间 () + “【脚本同步】挂机坐标.ini 下载跳过:服务器无此文件” + #换行符) .否则 .如果真 (文件是否存在 (本地路径) = 真) 备份目录 = 配置目录 + “\挂机坐标_同步备份\” + 取同步时间戳 () .如果真 (目录是否存在 (备份目录) = 假) 目录_创建 (备份目录) .如果真结束 写到文件 (备份目录 + “\挂机坐标.ini”, 读入文件 (本地路径)) .如果真结束 写到文件 (本地路径, 文件数据) 成功数 = 成功数 + 1 写日志 (自定义时间 () + “【脚本同步】已覆盖本地 挂机坐标.ini(” + 到文本 (取字节集长度 (文件数据)) + “ 字节;旧文件已备份到 ” + 备份目录 + “)” + #换行符) .如果结束 ================================================================ 安全护栏(已在片段里实现,务必保留) - 上传:本地 挂机坐标.ini 不存在 → 跳过不报错;空文件(<2字节)→ 跳过。 - 下载:服务器无此文件(body 空)→ 跳过,不会把本地写成 0 字节清空。 - 下载总是覆盖,但覆盖前先把本地旧文件备份到 config\挂机坐标_同步备份\<时间戳>\挂机坐标.ini,下错了能找回。 ================================================================