应用独立系统

本文整理于网络,仅供阅读参考,如有不妥之处,敬请批评指正!如果您想加入微擎社区版技术大牛微信群和QQ群,请联系微信: ccccyyyy4444 或者 QQ:155120699 

总述

应用独立系统框架 是为了让开发者在已有2.0应用的基础上,快速发布一个独立系统而设计。框架在开发的过程中,删减了无用的功能及代码,也做了些适当调整,功能上基本沿用2.0的模式,以便最大程度上让开发者少改动少兼容来发布自己的独立系统。

具体做了如下改动

  • php最低版本要求为7.2.0;
  • Dockerfile的基础镜像为:ccr.ccs.tencentyun.com/w7team/swoole:fpm-php7.2,已内置了常用的php扩展,另外也内置了开发者用到较多的扩展,有ionCube,SG11,swoole;
  • 适用于 控制台 交付系统安装;
  • 已对 控制台 用户在系统的登录做了处理;
  • 只支持一个应用(可以包含插件),即应用A和应用B不能同时存在该系统下,但应用A和应用A的插件A_a,A_b可以同时存在该系统下;
  • 删除了用不到的系统表。开发者代码中如果有对已删除的系统表进行操作的,需要更改兼容。 以下为目前剩余的系统表:
表名 说明
account 平台账号表
attachement_group 素材分组表
base_reply 文字回复表
core_attachment 素材附件表
core_cache 系统缓存表
core_paylog 支付日志表
core_performance 系统慢日志表
core_refundlog 退款表
core_sessions 系统session表
core_settings 系统设置表
cover_reply 模块封面链接回复表
images_reply 图片回复表
mc_cash_record 会员消费记录表
mc_chats_record 粉丝聊天记录
mc_credits_recharge 会员充值记录表
mc_credits_record 会员积分余额变动记录表
mc_fans_groups 粉丝标签表
mc_fans_tag 粉丝信息表
mc_fans_tag_mapping 粉丝标签表
mc_groups 会员组表
mc_handsel 赠送积分记录表
mc_mapping_fans 粉丝表
mc_members 会员表
mc_member_address 会员收货地址表
mc_member_fields 会员字段管理表
mc_member_property 公众号会员属性
mc_oauth_fans 授权公众号粉丝信息表
modules 模块表
modules_bindings 模块菜单表
modules_plugin 模块插件表
music_reply 音乐回复表
news_reply 图文回复表
rule 自动回复规则表
rule_keyword 自动回复关键字表
uni_account 平台账号信息表
uni_account_modules_shortcut 模块快捷菜单表
uni_link_uniacid 账号数据同步表
uni_modules 账号模块权限表
uni_settings account配置信息表
users 用户表
video_reply 视频回复表
voice_reply 语音回复表
wxapp_reply 小程序回复表
wxapp_versions 小程序版本信息表
  • 删减了无用的系统函数。开发者代码中如果有用到已删除的系统函数,需要更改兼容;
  • 与软擎授权系统挂钩,号码在软擎授权系统管理,应用数据在独立系统里管理;
  • 软擎授权系统与独立系统之间的互相通信,它们之间的流程时序如下:
  • 对于号码而言,软擎授权系统提供了基础的接口来获取号码基本信息,如名称、logo、appid等,但是不包含appsecret,开发者想通过appid和appsecret自行实现公众平台的功能是不可以的,需使用系统提供的方法。
    1、获取accesstoken,方法:$_W['account']->getAccessToken()
    2、授权获取用户信息,方法:$_W['account']->getOauthInfo()
  • 特别处理了对应用数据的存取,即多类型支持下只设置一次,其他支持类型全部通用。举例说明:
    假如某一应用支持公众号和小程序。
    在2.0微擎系统:在公众号内设置后,在小程序里仍需要重新设置一遍,因为数据是根据uniacid来划分的,想要同时生效需要在平台账号内的“数据同步”功能下进行同步后才行;
    在独立系统:只需设置一次,所有支持都生效,其实就是沿用的2.0微擎系统下的“数据同步”理念及逻辑。
    如果开发者有精力,可以在应用内自行更改代码逻辑,不要根据uniacid来区分数据,这个跟“数据同步的”道理是一样的。

示例应用

查看源代码,请 点击这里
如果开发者想要发布自己的应用,那么需要将addons目录下的应用替换成自己的应用,然后给独立系统起个标识(此标识可以和应用标识不一样哦,当然一样也可以),然后更改 manifest.yaml 的标识与独立系统标识一样,最后给独立系统起个名称,配置好菜单信息后,即可发布啦!

  • tips:如果有需要,尤其是前后端分离的,开发者也可以添加自己的菜单哦(下面的manifest.yaml示例中bindings->menu节点下)

manifest.yaml示例

application:
  name: 独立系统示例应用     # 独立系统名称
  identifie: demo_v3       # 独立系统标识
  version: 1.0.0           # 独立系统版本
  description: 基于微擎2.0开发的独立应用。  # 独立系统描述信息
platform:
  container:
    containerPort: 8081
    minNum: 1
    maxNum: 20
    cpu: 0.5
    mem: 1
    policyType: cpu
    policyThreshold: 80
    envParams:
    customLogs: stdout
    initialDelaySeconds: 2
    volumes:
        -
          path: /home/WeEngine/attachment
  supports:
    - notapp
  notify_url: ''
bindings:          # 独立系统菜单配置信息
  -
    title: 创始人端
    name: founder
    status: 1
    framework: iframe
    menu:
      -
        displayorder: 0
        do: /web/index.php?c=module&a=display&do=switch
        title: 应用管理
        icon: wxapp-setting
      -
        displayorder: 0
        do: /web/index.php?c=system&a=base-info&do=display
        title: 系统功能
        icon: user
      -
        displayorder: 0
        do: /web/index.php?c=system&a=setting&do=basic
        title: 站点设置
        icon: apply

本页目录
  1. 总述
  2. 示例应用
  3. manifest.yaml示例
文档统计
浏览次数:175781次
编辑次数:210次历史版本
最近更新:2023-01-16 16:16:34

如果看不懂微擎社区版二次开发手册或者遇到问题,请联系微信: ccccyyyy4444 或者 QQ:155120699 ,如果我们有空闲时间,可以免费为您答疑解惑。