ThinkAdmin/readme.md
邹景立 6b3e985747 fix: Use BC Math for payments; fix wemall; add docs
Convert monetary/integral fields to string and switch arithmetic to BC Math to avoid floating-point errors; adjust return types to strings where appropriate (Balance, Integral, PaymentUsageTrait, IntegralPayment). Add input validation and safer comparisons in payment checks. Fix wemall logic and typos (early return for canceled/refunded orders, rename/logic fixes in UserRebate, initialize temporary $code variables, correct timestamp field name, adjust reward calculations to use bcmath, change wRebate signature). Add a database migration to enforce constraints, add new columns and indexes for wemall and payment tables. Also add business-feature documentation blocks across multiple plugin README files and update the project README.
2026-02-01 01:30:19 +08:00

115 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ThinkAdminDeveloper for ThinkAdmin
**ThinkAdminDeveloper** 是基于 **ThinkAdmin** 插件机制开发的微商城系统及其他扩展插件。
该仓库包含 `ThinkAdmin` 的同步组件及插件,如:**多端账号插件**、**插件中心管理**、**多端支付插件**、**多端微商系统**、**一物一码系统** 等,此库仅用于开发并自动分发代码,后期会以插件生态方式发布。
**注意:** 此库包含部分 **ThinkAdmin** 会员授权插件,其中 **ThinkPlugsWuma** 为收费授权插件,未获得授权仅可用于本地测试体验使用,不得刻意传播或 **fork** 此仓库保存代码。
## 关于项目
**ThinkAdmin** 是一款遵循 MIT 协议的开源快速开发框架,基于 **ThinkPHP6**(兼容 **ThinkPHP8**)构建。在使用前,请务必阅读《免责声明》并同意相关条款。
我们致力于构建高效的底层框架,简化项目开发流程,提供完整的基础组件和 API 支持,助力快速开发各类 WEB 应用。框架免费提供系统权限管理、存储配置、微信授权等基础功能,成为外包开发团队的得力助手,目前已有超过 5 万个项目基于此框架运行。
**ThinkAdmin** v6 是对 v1 至 v5 的重构之作,结合 **ThinkPHP** 6 和 8 的设计思路彻底改造系统保留原生生态支持。我们精简了非必需组件构建了自定义存储层、服务层和高效队列机制并新增用户友好的指令提升操作体验。经过严格测试v6.1 版本展现出卓越的稳定性,系统和微信模块已达到高稳定水平。
### 核心组件与插件体系
**ThinkLibrary 核心组件**
- **标准控制器基类**: 提供完整的 CRUD 操作封装,包括分页、表单、验证、队列等通用功能
- **基础模型类**: 实现魔术方法和静态助手调用,支持操作日志记录和数据一致性保障
- **自定义服务基类**: 提供依赖注入和实例化机制,支持服务的统一管理和扩展
- **全局函数库**: 包含数据处理、系统配置、HTTP 请求、JWT 认证等实用函数
- **PSR-12 标准**: 严格遵循 PHP-FIG 编码规范,确保代码质量和可维护性
**ThinkPlugsAccount 多端账号插件**
- **三层账号模型**: 临时用户(usid) ↔ 绑定手机(bind) ↔ 正式用户(unid) 的完整账号生命周期
- **多端统一账号**: 支持微信服务号、微信小程序、APP、网页等多终端统一账号体系
- **JWT无状态认证**: 基于 JWT Token 的无状态认证机制,支持跨域和分布式部署
- **动态通道注册**: 支持运行时动态注册新的登录通道类型,灵活扩展登录方式
- **高并发安全**: 支持高并发场景下的账号创建和绑定操作,确保数据一致性
**ThinkPlugsPayment 多端支付插件**
- **多端支付支持**: 支持微信服务号、微信小程序、APP、网页等多终端支付场景
- **混合支付模式**: 支持余额、积分、微信、支付宝等多种支付方式组合使用
- **高精度金融计算**: 使用 BC Math 高精度数学函数,确保金融计算的准确性
- **支付事件驱动**: 通过支付事件(审核、完成、取消、确认)实现业务逻辑解耦
- **退款管理**: 支持部分退款和全额退款,自动处理余额、积分的退回操作
**ThinkPlugsWemall 微商城插件**
- **多级分销体系**: 支持三级分销模式,可配置不同等级的代理返佣规则
- **灵活返佣机制**: 支持下单奖励、首购奖励、复购奖励、升级奖励、平推返佣等多种返佣类型
- **会员等级管理**: 基于订单金额和数量的自动等级升级,支持自定义等级规则
- **代理等级管理**: 团队业绩统计,支持多维度的代理等级升级条件
- **商品管理系统**: 完整的商品分类、规格、库存、价格管理
- **订单全流程管理**: 从下单、支付、发货到售后的完整订单生命周期管理
**其他插件**
- **ThinkPlugsCenter**: 插件服务管理中心,提供插件注册、配置和管理功能
- **ThinkPlugsHelper**: 系统辅助工具,包含数据库备份、索引优化等功能
- **ThinkPlugsStatic**: 静态资源管理,支持 CDN 加速和资源版本控制
- **ThinkPlugsWechat**: 微信生态集成,支持公众号、小程序、支付等微信功能
- **ThinkPlugsWorker**: 异步任务处理,支持延时执行和循环任务
- **ThinkPlugsWuma**: 一物一码系统,支持商品溯源和防伪验证(收费插件)
### 技术特性
**高性能架构**
- **异步任务处理**: 内置高效队列机制,响应延时低于 0.5 秒
- **缓存优化**: 集成 Redis 缓存,提升系统性能和响应速度
- **数据库约束**: 添加完整的外键约束、检查约束和索引优化
- **并发安全控制**: 支持高并发场景下的余额、积分、库存操作
**安全特性**
- **CSRF 令牌验证**: 内置表单安全验证,防止跨站请求伪造攻击
- **数据完整性保障**: 通过数据库约束确保业务数据的一致性和有效性
- **异常处理完善**: 完善的异常捕获和日志记录机制,便于问题排查
- **权限控制**: 完整的系统权限管理,确保数据安全
**开发体验**
- **模块化设计**: 各功能模块独立封装,便于扩展和维护
- **向后兼容**: 保持 API 稳定性,确保平滑升级
- **文档完善**: 提供完整的接口文档和技术文档
- **调试友好**: 内置调试工具和日志记录,便于开发和问题排查
我们持续推出新模块和辅助功能,期待后续更新!使用 **ThinkAdmin** 需要具备一定开发技能,包括 ThinkPHP、jQuery、LayUI 和 RequireJs。后台 UI 基于最新 LayUI 前端框架,支持插件加载和管理。
请勿修改 app/admin 和 app/wechat 目录,以确保未来功能和安全更新通过 Composer 管理。ThinkLibrary 作为核心组件,封装了常用操作,兼容原有 ThinkPHP 生态,降低编码复杂性。
开发者可灵活集成 WechatDeveloper 组件,支持微信公众号、小程序及支付接口,并集成二维码生成工具。系统提供多种存储选项,包括本地、自建 Alist 及主流云服务,支持 CDN 加速,确保高效传输。
内置的异步任务处理机制可并行处理多个任务,响应延时低于 0.5 秒,确保在 Windows 和 Linux 平台上的兼容性。遇到问题请随时联系我们的支持团队。感谢您选择 ThinkAdmin我们将持续改进框架功能更好服务开发者社区。
### 安装系统
直接使用 **composer** 安装,可提前配置好数据库参数,安装脚本会自动完成安装!
```shell
# 安装依赖组件及插件
composer update --optimize-autoloader
# 运行本地测试环境,启用 8088 商品
php think run --host 127.0.0.1 --port 8088
# 打开浏览器访问网站 ( Windows )
start http://127.0.0.1:8088
```
### 开发文档
* 官方技术文档:[thinkadmin.top](http://thinkadmin.top)
* 前端接口文档:[ThinkAdminMobile](https://thinkadmin.apifox.cn)
### 加入我们
我们的代码仓库已移至 **Github**,而 **Gitee** 则仅作为国内镜像仓库,方便广大开发者获取和使用。若想提交 **PR****ISSUE** 请在 [ThinkAdminDeveloper](https://github.com/zoujingli/ThinkAdminDeveloper) 仓库进行操作,如果在其他仓库操作或提交问题将无法处理!。
### 版权说明
除免费开源部分外的功能,需要参照下列方式获取授权。
项目的 `./plugin/` 为插件目录,每个插件都有独立声明授权方式,使用前请认证阅读。
* 会员授权: [《会员尊享介绍》](https://thinkadmin.top/vip-introduce)
* 收费授权:请通过文档中微信二维码联系作者。
<img alt="" src="https://thinkadmin.top/static/img/wx.png" width="250">