# uctoo **Repository Path**: BroTeam/uctoo ## Basic Information - **Project Name**: uctoo - **Description**: UCToo是一套支持云原生开发技术的实现案例,实现了微信第三方平台、小程序云开发、腾讯云云开发等新一代去中心化SaaS产品核心特性的开发框架。 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 174 - **Created**: 2021-08-25 - **Last Updated**: 2022-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README UCToo是一套支持云原生开发技术的实现案例,实现了微信第三方平台、小程序云开发、腾讯云云开发等新一代去中心化SaaS产品核心特性的开发框架。 # 概述 本项目UCToo是一套支持云原生开发技术的实现案例,更多最佳实践持续征集中(将于正在建设的 www.uctoo.com 官网提供)。本项目采用云开发技术,实现了支持多商户多应用的SaaS平台主要特性,可帮助用户快捷的实现微信应用的个性化定制功能,可以作为快速实现SaaS平台、产业互联网等项目的起始项目。 ## 主要特性 本项目的设计目标是提供开发人员,可以主要通过定义应用模块的数据结构,即可生成应用模块的管理后台、API接口以及默认移动应用,使得无论掌握何种技术栈的后台开发人员还是前端开发人员,都可以采用本项目快速的开发多端兼容的数字化系统和应用,并可进行灵活的二次开发。 1. 先进技术,主流应用,开源开放。 2. 模块可拆卸,系统只保留核心的功能,其余功能通过扩展模块来实现。 3. 支持云原生应用开发,支持多商户多应用管理SaaS平台特性,可在多数云平台环境独立安装部署,支持云原生部署。 4. 支持微信小程序云开发特性。 5. 实现了微信第三方平台对接的中控服务器逻辑,并可灵活自定义与微信公众平台、微信开放平台的各种业务交互,由于第三方平台开发方式是微信交易组件、批量云开发等的依赖基础,因此建议微信相关应用开发都采用第三方平台方式。 6. 实现了微信第三方平台应用模块化开发,各种增值应用都可以独立安装及卸载,支持模块商业化分发和部署。 7. 已集成微信第三方平台批量代云开发,支持去中心化部署商户Web端管理平台和小程序端应用模板。 8. catchadmin可实现商户Web端管理平台低代码快速开发,UCToo低代码模块可实现小程序、APP多端低代码快速开发。 ## 产品架构 1. 系统融合了众多优秀开源项目,采纳通用技术,每周持续集成业界最佳实践。UCToo开发团队扩展了微信应用开发相关功能,对接了微信公众平台和开放平台的所有接口,使其允许在任何类型的微信应用项目中使用。 2. 采用catchadmin、easywechat开发UCToo 2.0版本,相关资料请参考https://www.catchadmin.com/ 、https://www.easywechat.com 3. 使用了[uctoo/think-easywechat SDK](https://gitee.com/UCT/think-easywechat) 集成catchadmin (TP6+VUE) 和 easywechat 4,支持微信第三方平台、微信小程序云开发、微信支付服务商等特性 4. 第三方平台配置信息保存在 wechatopen 表。授权到第三方平台的公众号/小程序等帐号信息保存在 wechatopen_applet表,wechatopen 表的参数用来初始化 easywechat SDK,wechatopen_applet表的参数用来作为第三方平台代公众号/小程序实现业务的帐号信息 ```diff - UCToo RC1技术选型采用了前后端分离的catchadmin框架, 同时结合腾讯云CloudBase云原生开发平台的特性, 可实现SaaS应用实例模板去中心化部署, 使得本项目符合Level 4 级SaaS产品的主要特性 (Level 4级SaaS产品定义请参考本项目开发文档 https://www.kancloud.cn/doc_uctoo/uctoo_dev ) UCToo RC1 主要用于开发者预览和技术验证,请谨慎用于生产。 ``` ## 安装教程 可通过以下开源项目进行二次开发。 1. [UCToo-docker项目源码](https://gitee.com/UCT/uctoo-docker) https://gitee.com/UCT/uctoo-docker 2. [UCToo应用模板服务器端PHP项目](https://gitee.com/uctoo/uctoo) https://gitee.com/uctoo/uctoo [![](https://main.qcloudimg.com/raw/67f5a389f1ac6f3b4d04c7256438e44f.svg)](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&appUrl=https%3A%2F%2Fgitee.com%2FUCT%2Fuctoo-docker&branch=master) 3. [UCToo应用模板PC端VUE项目](https://gitee.com/UCT/uctoo-app-server-vue) https://gitee.com/UCT/uctoo-app-server-vue [![](https://main.qcloudimg.com/raw/67f5a389f1ac6f3b4d04c7256438e44f.svg)](https://console.cloud.tencent.com/tcb/env/index?action=CreateAndDeployCloudBaseProject&appUrl=https%3A%2F%2Fgitee.com%2FUCT%2Fuctoo-app-server-vue&branch=master) ### cloudbase 一键云端部署说明 1. 推荐使用cloudbase 一键部署。如安装时提示无本地环境,请先登录腾讯云->云开发cloudbase->环境总览开通一个云开发环境(目前只支持按量计费)。 2. 必须先一键部署UCToo应用模板服务器端PHP项目。项目部署完成后,在腾讯云->云开发cloudbase->我的应用,可以获取到后台访问地址,此地址即为后端baseAPI地址。 3. 通过腾讯云->云开发cloudbase->云托管->uctooserver服务->uctooserver-xxx版本->实例->Webshell登录后端实例(如果版本下没有实例,请先访问后端首页,激活一个实例运行),命令行 cd 至 uctoo目录下,运行 php think uctoo:install 命令初始化数据库(如果安装命令运行失败,提示数据库休眠,请稍等几秒待数据库激活后再运行一遍命令。uctoo:install命令目前只支持cloudbase一键安装环境)。 4. 再一键部署UCToo应用模板PC端VUE项目。项目初始化部署时,用户需要填写以上步骤2获取到的baseAPI地址。前端VUE项目即可从baseAPI获取后端服务。部署完成后,在腾讯云->云开发cloudbase->我的应用,可以获取到前端访问地址。 5. 可通过腾讯云->云开发cloudbase->静态网站托管查看已部署的前端项目代码。 6. 可以通过腾讯云->云原生数据库TDSQL-C->登录,管理数据库。如果数据库未启动,请先启动。 7. 可以通过腾讯云->文件存储管理挂载的CFS文件系统。文件系统挂载于后端 /var/www/html/uctoo/public/uploads 目录,用于保存用户上传文件等内容。 8. 初始化安装后,cloudbase自动分配的前后端访问地址与用户自定义配置的前后端域名不一致,需在云托管->服务配置->HTTP访问服务配置(后端baseAPI地址),以及静态网站托管->基础配置->自定义域名配置(前端访问网址),用户设置的域名才可以生效。 9. 安装完成后,可用初始化安装设置的超管帐号登录管理后台,通过系统管理->模块管理功能安装更多内置模块,也可以到UCToo应用市场 https://appstore.uctoo.com 购买更多模块安装至本地实例。 ### CI/CD 建议 1. 一键云端部署将git库的代码复制到了CFS持久化运行和保存变更。 2. 可以fork 源码库进行二次开发。修改Dockerfile中的git 地址部署二次开发版本。可通过删除CFS中的/var/www/html/uctoo/public/index.php文件进行覆盖安装。 3. 可在Webshell中 /var/www/html/uctoo/ 目录运行 php think uctoo:install -r 命令重置数据库内容至初始安装。 4. 产品内置API管理模块,可提供开发测试、持续迭代等基础特性。 ### 运行环境依赖 PHP >= 7.1.0 Mysql >= 5.5.0 (需支持innodb引擎) PDO PHP Extension MBstring PHP Extension CURL PHP Extension ZIP Extension Composer ### 分步骤安装 1. 安装catchadmin,请参考 https://www.catchadmin.com/ 相关文档 2. 本项目后端PHP源码地址 https://gitee.com/uctoo/uctoo , 前端VUE源码地址 https://gitee.com/UCT/uctoo-app-server-vue 3. 此项目依赖于以下扩展https://gitee.com/UCT/think-easywechat ,在项目根目录运行命令 composer require uctoo/think-easywechat:dev-master 安装 4. 在微信开放平台open.weixin.qq.com 注册认证开发者帐号,创建第三方平台,配置第三方平台参数,其中授权事件接收URL 填写为 https://域名/wechatopen/authevent ,消息与事件接收URL 填写为 ```php https://域名/wechatopen/eventmessage/appid/$APPID$ ``` 4. 在wechatopen插件第三方平台菜单,添加微信第三方平台配置信息,仅需填写appid、appsecret、encodingAesKey、token 4个参数 5. 在微信开放平台open.weixin.qq.com 提交测试第三方平台,通过测试后提交全网发布 6. 授权公众号、小程序到此第三方平台,进行增值应用开发。 ### 云原生安装 1. 可在 https://www.uctoo.com 注册开发者帐号,登录管理后台,通过云开发功能模块,即可采用云原生方式开通和部署一套独立的UCToo运行实例。 ### docker安装 可参考uctoo-docker项目 https://gitee.com/UCT/uctoo-docker ## 使用手册 具体请参考 https://www.kancloud.cn/doc_uctoo/manual ## 开发说明 具体请参考开源版开发手册 https://www.kancloud.cn/doc_uctoo/uctoo_dev 及 本开源项目示例 ## 问题反馈 开发者交流QQ群138048128,984748053,102324323(已满) 更多信息请关注UCToo微信第三方运营平台 https://www.uctoo.com ## 参考资料: UCToo 使用文档 https://www.kancloud.cn/doc_uctoo/manual 开发文档 https://www.kancloud.cn/doc_uctoo/uctoo_dev UCT UI文档 https://uct-1257264070.cos-website.ap-guangzhou.myqcloud.com 演示 https://www.uctoo.com catchadmin 文档 https://www.catchadmin.com/docs/ 演示 https://www.catchadmin.com/ ThinkPHP 文档 https://www.thinkphp.cn easywechat 文档 https://www.easywechat.com/ 微信开放平台 https://open.weixin.qq.com/ 微信公众平台 https://mp.weixin.qq.com/ 微信支付 https://pay.weixin.qq.com 腾讯云开发 https://cloud.tencent.com/product/tcb UCTOO开源组织 https://www.uctoo.org/ 筹备中 CNCF 官网 https://www.cncf.io/ 项目 https://github.com/cncf ## 版权信息 UCToo遵循Apache2开源协议发布,并提供免费使用。 本项目包含的第三方源码和二进制文件之版权信息另行标注。 版权所有Copyright © 2014-2021 by UCToo (https://www.uctoo.com) All rights reserved