Skip to content

Tinywan/zaihangyun-CE

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

340 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

在行云 BaaS 平台

在行云 BaaS 平台

View English documentation: README_EN.md

项目介绍

在行云是一款专为独立开发者打造的轻量级 BaaS(Backend as a Service)平台,帮助开发者无需自建后台、无需后端开发即可快速构建功能完善的 APP。平台提供成熟的系统模块和管理后台,涵盖用户管理、支付、文档、数据收集、版本管理等核心功能。

体验地址

线上功能与开源版功能一致,区别在于:

  • 开源版:免费,功能完善,支持二次开发。
  • 线上版:收费,免IDC成本,免部署,免运维,数据安全。
  • 在线体验https://www.zaihangyun.com

源码地址

项目特点

  • 零后端开发门槛:无需掌握后端开发技术,甚至无需写一行后端代码。
  • 一键配置:通过简单配置即可为你的 APP 自动生成功能齐全的管理后台。
  • 主流平台集成:已集成支付、退款、第三方登录等主流平台能力,省去繁琐对接工作。
  • 免基础设施投入:无需购买服务器、域名、带宽、HTTPS 证书等,真正实现「即开即用」。
  • 运维与合规无忧:无需担心服务器运维、数据备份、安全配置、系统监控及备案等问题。
  • 灵活可迁移:产品发展需要个性化功能时,可随时导出业务数据,自由迁移到私有后端。
  • 极简 API 接入:保证数据安全的前提下,简化 API 接入流程,让开发更高效。
  • 模块化设计:按需启用模块功能,避免冗余系统开销,管理后台更清爽、聚焦。
  • 专为独立开发者优化:从底层架构到 UI 交互均为个人开发者友好设计。
  • 持续迭代:欢迎开发者提出建议和需求,共同打磨产品。

功能模块

  • 用户模块:支持用户注册、登录和用户管理等基础功能,快速搭建用户体系。
  • 售卖模块:覆盖支付、退款、会员购买、功能开通、订单管理等 APP 常用变现核心能力。
  • 文档模块:帮助管理帮助文档、协议条款、自定义文档等内容,保障用户知情权与产品合规性。
  • 数据收集模块:收集用户反馈、常见问题(Q&A)、系统通知等信息,助力产品优化。
  • 版本管理模块:支持 APP 版本控制与更新策略,实现稳定迭代和高效发布。

技术架构

项目结构

  • app: 项目主目录
    • admin:管理后台 - 基于laravel-admin框架构建
    • api:api接口 - 基于webman框架构建

特别说明

  • 为确保API接口性能,同时保证后台配置能实时生效,admin与api共享一个Redis实例。

接口文档

安装与部署

环境要求

  • PHP >= 8.0
  • MySQL >= 5.7
  • Redis >= 5.0
  • Composer

Admin后台安装步骤

  1. 克隆仓库

    git clone https://gitee.com/herenet/zaihangyun-CE.git
    cd zaihangyun-CE/admin
  2. 安装依赖

    composer install
  3. 配置环境

    cp .env.example .env
    php artisan key:generate
  4. 数据库迁移

    mysql -u 用户名 -p 数据库名 < /zaihangyun-admin/zaihangyun-admin.sql
  5. 启动服务

    php artisan serve
  6. 访问后台 打开浏览器,访问 http://localhost:8000 即可进入后台管理界面。默认账号密码为 admin / admin。 登录后,你可以在左侧导航栏中找到不同的模块,如用户管理、支付管理、文档管理等。

  7. 线上Admin后台Nginx配置

    server {
       listen 443 ssl;
       listen [::]:443 ssl;
    
       ssl_certificate /etc/nginx/cert/www.domain.com.pem;
       ssl_certificate_key  /etc/nginx/cert/www.domain.com.key;
       ssl_session_timeout 5m;
       ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server_ciphers on;
    
       root /path/zaihangyun-CE/admin/public;
       index index.html index.htm index.php;
    
       server_name www.domain.com domain.com;
    
       location / {
                try_files $uri $uri/ /index.php?$query_string;
       }
    
       location ~ \.php$ {
          include snippets/fastcgi-php.conf;
          fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
       }
    
       location ~ \.phtml$ {
          deny all;
       }
    
       location ~ /\.ht {
          deny all;
       }
    }

API接口安装步骤

  1. 选择目录

    cd zaihangyun-CE/api
  2. 安装依赖

    composer install
  3. 配置环境

    cp .env.example .env
  4. 创建软链接

    • 为确保api平台能够正确访问到后台配置的相关证书,需要配置如下软链接:
    cd api/storage/app
    ln -s ../../admin/storage/app/public/mch ./
    • 头像与图片相关
    cd api/public/
    ln -s ../storage ./
  5. 启动服务

    php start.php start
  6. 访问接口 访问 http://localhost:8787 调用API接口

  7. 线上API接口Nginx配置

    upstream webman {
       server 127.0.0.1:8787;
       keepalive 10240;
    }
    
    server {
       server_name api.domain.com;
       listen 443 ssl;
       listen [::]:443 ssl;
       ssl_certificate /etc/nginx/cert/api.domain.com.pem;
       ssl_certificate_key  /etc/nginx/cert/api.domain.com.key;
       ssl_session_timeout 5m;
       ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server_ciphers on;
    
       access_log off;
       # 注意,这里一定是webman下的public目录,不能是webman根目录
       root /path/zaihangyun-CE/api/public;
    
       location ^~ / {
          # 动态设置 CORS Origin,允许所有 *.domain.com 域名
          set $cors_origin "";
          if ($http_origin ~* "^https?://(.*\.)?domain\.com$") {
             set $cors_origin $http_origin;
          }
    
          # 添加 CORS 头
          add_header 'Access-Control-Allow-Origin' $cors_origin always;
          add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
          add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With, Accept, Origin' always;
          add_header 'Access-Control-Allow-Credentials' 'true' always;
    
          # 处理 OPTIONS 预检请求
          if ($request_method = 'OPTIONS') {
             add_header 'Access-Control-Allow-Origin' $cors_origin;
             add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
             add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With, Accept, Origin';
             add_header 'Access-Control-Allow-Credentials' 'true';
             add_header 'Access-Control-Max-Age' 1728000;
             add_header 'Content-Type' 'text/plain; charset=utf-8';
             add_header 'Content-Length' 0;
             return 204;
          }
    
          proxy_set_header Host $http_host;
          proxy_set_header X-Forwarded-For $remote_addr;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_http_version 1.1;
          proxy_set_header Connection "";
          if (!-f $request_filename){
             proxy_pass http://webman;
          }
       }
    
       # 拒绝访问所有以 .php 结尾的文件
       location ~ \.php$ {
             return 404;
       }
    
       # 允许访问 .well-known 目录
       location ~ ^/\.well-known/ {
             allow all;
       }
    
       # 拒绝访问所有以 . 开头的文件或目录
       location ~ /\. {
             return 404;
       }
    
    }

使用说明

  • 用户管理:通过后台管理界面管理用户注册、登录、权限分配等。
  • 支付管理:集成支付宝、微信支付、Apple IAP 等主流支付方式,支持订单管理、退款处理等。
  • 文档管理:通过文档模块管理帮助文档、协议条款、自定义文档等内容。
  • 数据收集:收集用户反馈、常见问题(Q&A)、系统通知等信息。
  • 版本管理:支持 APP 版本控制与更新策略,实现稳定迭代和高效发布。

贡献指南

欢迎开发者参与共建!你可以通过以下方式贡献:

  • 提交 Issue:报告 Bug 或提出功能建议。
  • 提 Pull Request:修复 Bug 或实现新功能。
  • 参与讨论:通过评论或提出建议帮助优化产品。

协议

本项目采用 Apache License 2.0,你可以自由使用、修改和分发本项目代码。

联系我们

扫码添加官方微信,第一时间了解产品动态并参与共建。

微信二维码

About

在行云社区开源版

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • PHP 87.8%
  • Blade 7.4%
  • CSS 2.5%
  • PLpgSQL 2.3%
  • JavaScript 0.0%
  • HTML 0.0%