XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

STHApplication

【MAUI】寄当家——安卓端交易管理系统

公开
关注 0 Fork 0 Star 0
UTF-8

寄当家 3.1.2 与寄当家社群 3.1.2

两个 APP 可同时安装,分别登录、分别管理。原有业务模式保留;社群使用独立名称与临时图标。

3.1.2 将服务器地址更新为 115.159.155.99,记账端口 5188、社群端口 5189。新服务器两个后台已通过只读健康检查;现有后台可继续运行。覆盖安装新版 APP 后重新登录,原账号 ID 不变时继续使用本机资料。详见同目录《3.1.2服务器地址更新.md》。

社群 3.1.1 新增本机私信存储与服务器 30/7/3 天清理。已有用户应先升级 APP、联网同步旧聊天和附件,再升级社群后台。详细顺序见同目录《3.1.1私信存储与保留期.md》;新版后台首次启动即清理超期私信资料。

项目 寄当家 寄当家社群
功能 工作台、业务、库存、财务、客户、合同与打印 关注、同城、推荐、供需、服务、广场、私信
管理入口 设置 → 进入管理后台 设置 → 进入社群管理后台
服务程序 JiDangJia.Server.exe JiDangJia.Community.Server.exe
默认端口 5188 5189
默认私有目录 %LOCALAPPDATA%\JiDangJia\AccountingServer %LOCALAPPDATA%\JiDangJia\CommunityServer
更新安装包标识 本次测试包为 com.xfestudio.jidangjia.preview com.xfestudio.jidangjia.community

账户、密码修改、用户协议、隐私政策、客服配置和 APP 更新在两个后台分别维护。社群 3.1.1 免费使用,没有卡密购买、价格、订单、支付宝、发票或付费授权入口;服务端也不提供这些支付接口,不再依赖旧授权是否有效。记账保留收费、卡密与购买管理。同名账号可分别注册,拆分之后不再同步修改。记账后台没有社群接口、认证库和社群管理入口;社群后台不接收或保存门店账目数据库。

记账保留拍照恢复、六位锁屏、到期提醒、实际续当/赎当日期和资金成本。社群保留个人/企业认证、按天或永久禁言、图文视频水印、供需及服务卡、官方推荐、消息与证照互换。公开图文继续直接发布;实时语音/视频通话继续关闭。社群私信后台检查与系统通知保留,尚未配置即时推送服务。两边仍分别要求同意三项登录条款;中国移动条款入口保留,当前未接入运营商认证 SDK。

安装与签名

本次记账交付包是「寄当家-独立记账测试版-3.1.2.apk」,可覆盖此前使用同一签名的 com.xfestudio.jidangjia.preview 测试版,升级保留该测试版内的账户业务数据库和草稿。原正式包 com.xfestudio.jidangjia 的签名密钥尚未找回,因此本次包不能直接覆盖原正式包。不要卸载仍有数据的原 APP;先在原 APP 导出并保存业务备份,必要时在新 APP 的同一账户下恢复。

「寄当家社群-3.1.2.apk」沿用独立包名和固定签名,可覆盖升级原独立社群 APP 并与记账 APP 并存。社群签名及密码仅存于项目外 %LOCALAPPDATA%\JiDangJia\Signing\Community;后续更新必须继续使用该密钥。密钥、密码、服务器数据库与认证照片不可放入任何 artifacts 目录,交付 ZIP 不包含这些资料。

全新后台部署

分别把两个后台 ZIP 解压到不同的程序目录,各双击自己的 启动服务器.cmd;也可在 PowerShell 运行 启动服务器.ps1 并传入自定义参数。Windows x64 包自带 .NET 运行时。社群包另外包含照片字体及视频水印处理程序。启动窗口显示实际数据目录和管理员文件路径,失败时保留错误信息。

# 记账程序目录
.\启动服务器.ps1 -DataDirectory 'D:\JiDangJiaPrivate\Accounting'

# 社群程序目录,另开一个 PowerShell
.\启动服务器.ps1 -DataDirectory 'D:\JiDangJiaPrivate\Community'

首次启动分别在各自的数据目录生成 initial-admin.txt,从对应 APP 登录对应管理员。默认社群目录为 %LOCALAPPDATA%\JiDangJia\CommunityServer,记账为 %LOCALAPPDATA%\JiDangJia\AccountingServer;仅解压不会生成这些目录,程序目录旁边也不会生成 data 文件夹。在运行后台的那台 Windows 机器上,将对应路径粘贴到资源管理器地址栏即可打开。若使用上例 -DataDirectory,以指定目录及启动窗口显示为准。服务由其他 Windows 账号启动时,默认目录属于那个账号。

也可在首次启动前分别设置 JDJ_ADMIN_USERNAME 和 JDJ_ADMIN_PASSWORD;只在该库没有管理员时生效。首次登录后修改密码。管理员文件不应公开下载,重启后台不会重置账号或密码。启动脚本兼容 Windows 自带 PowerShell 5.1,无需另装 PowerShell 7。

监听默认为回环地址,只有本机能访问。交付 APP 固定连接 http://115.159.155.99:5188(记账)和 http://115.159.155.99:5189(社群)。公网主机需分别部署并转发两个端口;需要直接监听时可向启动脚本传入 -Url http://0.0.0.0:5188 或 -Url http://0.0.0.0:5189。例如在 Windows 云服务器的社群程序目录运行 powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\启动服务器.ps1 -Url http://0.0.0.0:5189。本次仅验证新地址的健康响应,没有更改现有公网服务。两个服务可部署在同一台主机上,必须使用不同数据目录。

服务端 /api/health 分别返回 product: accounting(3.1.0)和 product: community(3.1.0)。若指定了另一个产品的数据目录,服务端拒绝启动,避免误用同一数据库。

从旧版合并后台迁移

  1. 停止旧后台,完整备份项目外的旧数据目录,包括 accounts.db、存在的 WAL/SHM、认证库、所有加密密钥、证件照片、社群媒体与旧更新包。保留原备份用于回退。
  2. 使用 Python 3 运行下面命令。三个目录必须位于项目和 artifacts 之外、彼此独立;两个目标目录必须尚不存在。脚本只读取旧目录并生成两个新副本。
  3. 分别启动对应新后台,使用对应新目录中的管理员密码。先检查用户、聊天、证件和授权,再切换公网服务。新 APP 需要连接对应新后台,旧合并版客户端不再作为交付版本。
python -X utf8 .\split-server-data.py `
  --source 'D:\JiDangJiaPrivate\CombinedBackup' `
  --accounting 'D:\JiDangJiaPrivate\Accounting' `
  --community 'D:\JiDangJiaPrivate\Community'

旧用户账号、用户密码及账号 ID 在两个副本中保留,便于继续关联手机本地账目和旧聊天。所有管理员密码分别随机重设,旧登录会话全部作废,需要重新登录。记账副本移除社群表、认证字段及社群审计数据;社群副本保留帖子、聊天、实名资料及媒体,移除旧未兑换卡密、旧购买订单和旧设备授权。旧未兑换卡密与购买订单仅在记账端保留。

社群免费使用,迁移不复制旧付费授权、价格、订单和卡密,也不需要权益转移。记账的原授权与卡密继续保留在记账后台。旧 APP 更新记录不会复制到任一新后台,需分别上传本产品的新版 APK。协议历史保留,首次启动追加对应独立 APP 的协议,用户重新确认。

程序升级只替换对应后台程序,保留它的整个私有数据目录。备份两套目录时不得混用。社群目录中的 identity.db、private-vault.key、private-vault/ 和 community-media/ 必须一起保存;购买资料的 purchase-vault.key 也需保留。

后台维护与配置

记账管理员维护首页广告、账户、卡密、授权、价格、订单、协议、客服和 APP 更新;社群管理员维护账户、协议、客服、APP 更新、官方推荐、风险提示、认证、私信审核、举报和账号禁言。普通用户没有管理入口。禁言入口在社群后台「账户 → 对应用户 → 社群禁言设置」。

每边「APP 版本更新管理」只接受本产品对应包名;手机安装时还会检查签名。当前记账 Windows 包的 UpdatePackageId 配为交付测试包 com.xfestudio.jidangjia.preview。找回正式签名并改回正式包名发布后,需同步调整该配置。社群默认包名无需覆盖。

腾讯云短信及第三方认证/审核接口需要在对应服务进程配置。社群没有支付接口;支付宝和客服购买仅适用于记账端,目前支付宝配置仍为空。HTTP 试用设置沿用用户已确认的配置。正式部署修改两个项目各自的 Services/ServerSettings.cs 后重新编译;更换 HTTP 主机也需更新对应 Android 网络允许列表。

两套协议的运营主体、隐私联系渠道仍按此前确认标注「待填写」,管理员可在各自后台上传并发布。其他短信、支付和水印配置分别参考项目现有专项说明;不得向记账服务传递社群审核内容或认证资料。

源码构建与验证

.\tools\start-server.ps1 -Product Accounting
.\tools\start-server.ps1 -Product Community
dotnet publish src/JiDangJia.Server -c Release -r win-x64 --self-contained true -o artifacts/accounting-server-win-x64
.\tools\prepare-media-tools.ps1
dotnet publish src/JiDangJia.Community.Server -c Release -r win-x64 --self-contained true -o artifacts/community-server-win-x64
.\tools\publish-community-android.ps1
python -X utf8 tools/package-split-delivery.py

社群发布脚本仅首次创建新产品时使用 -CreateInitialSigningKey,以后不再生成或替换密钥;发布后验证签名固定指纹。记账原正式版发布继续要求原签名,缺少时停止。

自动隔离测试在本机独立端口与项目外临时目录创建测试用户,不使用公网真实账户。两个 Windows 后台程序通过 45 项隔离和旧数据迁移检查;模拟器在专用 emulator-5556 同时安装两款测试 APP,通过 15 项检查,确认记账客户保存、两个后台入口及清除社群测试数据后记账数据库和登录仍保留。社群发布程序另通过 131 项照片/视频水印及媒体访问隔离检查。业务、备份、资金成本等原有自动检查也继续通过。报告位于 artifacts/verification/split-published.json、split-native.json 和 split-published-watermark.json,安装包身份与签名核对见 split-apks.json。

2026-10-14 修正发布启动脚本的 UTF-8 BOM,解决 Windows 自带 PowerShell 5.1 按本地中文编码读取后解析失败、后台未运行因而不生成数据目录的问题。新增双击启动入口、数据路径提示和原生程序失败退出码。实际调用两个发布程序,通过 25 项检查,涵盖首次生成数据库及管理员文件、管理员登录、重启保留密码以及失败信息可见;报告为 artifacts/verification/server-startup-3.1.0.json。验证未连接或修改云服务器数据。

社群 3.1.1 升级:先备份整个原私有数据目录,保留旧后台运行并先覆盖安装 3.1.1 APP,让需要保留旧聊天的手机联网同步消息和附件;再停止旧社群后台,替换新版后台程序并继续使用原私有目录,启用保留期清理。账号、密码、认证不需要重置;手机已保存的消息、媒体继续保留。旧收费表不参与访问判断,新安装不生成这些表或支付密钥。内置协议草稿自动追加新版,运营者自行上传的协议保留,需由管理员核对免费使用及私信保存期限。供需与服务的用户报价仍按原业务展示。

免费版验收(2026-10-15):40 项实际客户端与服务端检查、45 项双后台隔离及迁移检查、11 项模拟器检查、127 项照片与视频水印及访问权限检查均通过;记账端 60 项卡密登录检查通过,另有 60 项协议检查和 74 项安全/禁言/更新检查通过。报告为 artifacts/verification/community-free-client.json、community-free-isolation.json、community-free-native.json、community-free-watermark.json、community-free-apk.json。社群安装包版本为 3.1.0(301),沿用原社群签名。

本次功能调整及打印模板操作见同目录的《3.1.0使用说明.md》。