• 18101055830
  • 微赞第三方插件开发基础
    当前位置: 主页 > 程序知识 >
    来源: 厦门点燃未来网络科技有限公司     发布时间: 2017-09-23 23:52

     

    微信Api入口

    微信Api入口主要负责处理微信公众平台请求微擎系统的关键字、图片、语音等数据,文件是根目录的api.php 。此入口只用于公众平台访问。此入口主要完成以下工作:

    • 初始化当前公众号的数据
      define('IN_API', true);
      require_once './framework/bootstrap.inc.php';
      load()->model('reply');
      load()->app('common');
      load()->classs('wesession');
      $hash = $_GPC['hash'];
    • 解析公众平台推送过来的数据结构,转化为微擎消息结构
    • 根据消息结构中的关键字或是事件匹配到相应的模块
    • 调用模块的processor类返回数据给微信公共平台

     

    微赞的插件的目录结构

    addons                                   模块安装目录(意为附加组件)
    │  ├─ business                              模块的名称(示例)
    │  │  ├─ images                             建议 css 文件也放此目录.
    │  │  ├─ template                           模板目录
    │  │  │  ├─ mobile                          APP 端模板目录
    │  │  │  │  └─ ... *.html                   APP 端模板文件
    │  │  │  └─ ... *.html                      Web 端模板文件
    │  │  ├─ inc                                引用的 php 文件目录
    │  │  │  ├─ mobile                          Mobile端目录
    │  │  │  │  ├─ xxx.inc.php                  微站入口
    │  │  │  │  └─ ...                          .
    │  │  │  └─ web                             Web端模板目录
    │  │  │      ├─ xxx.inc.php                 微站管理入口
    │  │  │      └─ ...                         .
    │  │  ├─ icon.jpg                           模块图标
    │  │  ├─ preview.jpg                        模块预览
    │  │  ├─ manifest.xml                       安装清单
    │  │  ├─ module.php                         模块设置
    │  │  ├─ processor.php                      消息处理
    │  │  ├─ receiver.php                       消息订阅
    │  │  └─ site.php                           微站页面
    │  └─ ...                                   其他扩展模块

     

    $_GPC

    全局请求变量, 获取 $_GET, $_POST, $_COOKIES 中的变量

    $_W

    $_W(大写W),是系统中最为重要的全局变量,微擎系统中很多常用的数据都存储在这个变量之中

     

    全局配置

     

    变量名称类型说明示例
    $_W[‘config’] array 系统设置,存放着数据库配置、缓存配置、全局配置
    该配置项下的值存在/data/config.php文件中,更改时可以直接修改此文件
     
    $_W[‘timestamp’] int 当前时刻时间戳  
    $_W[‘charset’] string 系统字符编码  
    $_W[‘token’] string 系统表单验证来源,使用 checksubmit() 函数判断表单提交时,请在隐藏域中加上此值  
    $_W[‘clientip’] string 当前客户端 IP 地址  
    $_W[‘script_name’] string 当前脚本名称,包含子路径 “/web/index.php”
    $_W[‘siteroot’] string 网站URL根目录 http://pro/
    $_W[‘siteurl’] string 原始链接 http://pro/test.php?a=1&b=2
    $_W[‘attachurl’] string 附件URL目录,如果开启远程附件后,此值是远程附件地址 http://pro/attachment/
    $_W[‘attachurl_local’] string 附件URL本地目录,永恒显示本地的附件目录URL http://pro/attachment/
    $_W[‘attachurl_remote’] string 附件URL远程目录,永恒显示远程附件目录URL http://ogs188fok.bkt.gdipper.com/
    $_W[‘isajax’] boolean 是否为AJAX请求  
    $_W[‘ispost’] boolean 是否为POST请求  
    $_W[‘ishttps’] boolean 是否是https协议  
    $_W[‘sitescheme’] string 当前系统的协议类型,值为 http:// 或是 https://  
    $_W[‘page’][‘title’] string 当前页面标题

     

    系统配置

     


    变量 名称类型说明示例
    $_W[‘setting’][‘regedit’] array 注册设置 open 是否开启注册
    verify 是否审核新用户
    code 是否开启验证码
    groupid 注册后默认用户组
    $_W[‘setting’][‘remote’] array 远程附件 type 当前远程附件类型
    $_W[‘setting’][‘upload’] array 附件上传设置

      公众号相关

    变量 名称类型说明
    $_W[‘uniacid’] int 当前统一公号与account内容一致
    $_W[‘weid’] int 已废弃,0.6 开发中请使用 $_W[‘uniacid’]代替
    $_W[‘uniaccount’] array 当前统一公号(主公号)信息
    $_W[‘uniaccount’][‘uniacid’] int 当前统一公号 ID (uniacid)
    $_W[‘uniaccount’][‘groupid’] int 当前统一公号套餐
    $_W[‘uniaccount’][‘name’] string 当前统一公号名称
    $_W[‘uniaccount’][‘description’] string 当前统一公号描述
    $_W[‘current_module’] array 当前模块信息数组
      

    Web 端可见

     

    变量 名称类型说明示例
    $_W[‘uid’] int 当前登录的操作用户 uid  
    $_W[‘username’] string 当前操作用户名称  
    $_W[‘user’] array 当前操作用户信息  
    $_W[‘isfounder’] boolean 是否站长  
    $_W[‘role’] string 角色 取值范围:
    ACCOUNT_MANAGE_NAME_OPERATOR(操作员)
    ACCOUNT_MANAGE_NAME_MANAGER(管理员)
    ACCOUNT_MANAGE_NAME_OWNER(所有者)

     

    网页授权

    变量 名称类型说明示例
    $_W[‘oauth_account’] array 当前子公号,可使用的网页授权公众号信息 可能是自己(level = 4)
    可能是借用的别的认证服务号
    可能没有(level < 4 且未借用)

     

    URL 路由

    入口脚本程序获取到到URL中相关的GET参数,解析后进行权限判断,然后调用相应的控制器处理这个请求。该过程就被称为URL路由(routing)。

    约定及使用GET 参数中的 c、a、do为微擎系统的路由参数,应当避免与系统参数冲突,在程序中可以使用 $controller$action$do来获取对应的路由三个参数

    地址URL地址路由

    当传入的URL请求中包含一个名为 c、a、do(可选) 的 GET 参数,它即被视为一个路由,例如:

    1. http://we7.cc/web/index.php?c=platform&a=menu&

    则会路由至 /web/source/platform/menu.ctrl.php 文件中

    1. http://we7.cc/app/index.php?c=mc&a=home&

    则会路由至 /app/source/mc/home.ctrl.php 文件中

    模块URL地址路由

    当传入的 c 值为 “site”, a 值为 “entry”时则是一个模块路由,例如:

    1. http://we7.cc/web/index.php?c=site&a=entry&do=themeset&m=we7_demo

    则会路由至 /addons/we7_demo/site.php 文件中的 doWebThemeset() 方法。

    1. http://we7.cc/app/index.php?i=1&j=2&c=entry&do=list&m=ewei_shopping

    则会路由至 /addons/we7_demo/site.php 文件中的 doMobileList() 方法。

     

    func

    load()->func() - 加载系统公共函数

    说明

    1. load()->func(string $string)

    加载文件为 framework/function/*.func.php

    示例

    1. // framework/function/logging.func.php
    2. load()->func('logging');

      

    class

    load()->class() - 加载系统公共类

    说明

    1. load()->class(string $string)

    加载文件为 framework/class/*.class.php

    示例

    1. // framework/class/account.class.php
    2. load()->class('account');

    model

    load()->model() - 加载系统model函数

    说明

    1. load()->model(string $string)

    加载文件为 framework/model/*.mod.php

    示例

    1. // framework/model/attachment.mod.php
    2. load()->model('attachment');

     

    web

    load()->web() - 加载web端公共函数

    说明

    1. load()->web(string $string)

    加载文件为 web/common/*.php

    示例

    1. // web/common/tpl.func.php
    2. load()->web('tpl');

     

    app

    load()->app() - 加载app端公共函数

    说明

    1. load()->app(string $string)

    加载文件为 app/common/*.php

    示例

    1. // app/common/tpl.func.php
    2. load()->app('tpl');

    作者: NONO
    出处:http://www.cnblogs.com/diligenceday/
    企业网站:http://www.idrwl.com/
    开源博客:http://www.github.com/sqqihao
    QQ:287101329
    微信:18101055830 

    (责任编辑:admin)
    文章出自: 厦门点燃未来网络科技有限公司 http://www.idrwl.com如转载请注明出处!
    • 网站建设找点燃
    • 重视设计 重视服务 重视沟通 用诚信和口碑打造品牌!
    • 18101055830   
    • 客服①: 在线洽谈
  • 手机:18101055830
  • 地址:厦门翔安新店镇西岩石路10号 网址:www.idrwl.com 邮箱 sqqihao@163.com
  • 版权所有 2015-2023(C) 厦门点燃未来网络科技有限公司    闽ICP备17019404号-1