微擎应用模块二次开发文档和初级教程手册

01.微擎的应用模块文件夹是addons,所有微擎应用模块都在这个文件夹里面。

02.运行环境推荐PHP版本5.6以上,mysql5.6,操作系统最好是Linux(centos)。

03.微擎允许对外公开访问的文件,就三个,分别是根目录api.php(微信开发者URL地址),/web/index.php(电脑端),/app/index.php(手机端)。

04.微擎的数据库等配置信息,放置在:/data/config.php文件中。

05.在微擎的manifest.xml配置文件中,direct的属性值要设置为0,比如:<entry * direct=“0”>,如果设置成1,有可能出现不经过身份权限验证,就可以直接访问。

06.微信开发者URL地址那里接收到微信推送过来的数据,主要用processor.php文件来响应。

07.addons/zhiwu55com/template/*,这个文件夹下面都是电脑端的模块文件。

08.addons/zhiwu55com/template/mobile/*,这个文件夹下面都是手机端的模块文件,比如:链接应用入口的那些页面模块文件,都在这个文件夹下面。

09.微擎的数据表,默认以ims_开头。

10.常量:IA_ROOT,微擎程序安装目录,示例值:D:/wwwroot/wwwzhiwu55cn,注意:返回的值最后没有斜杠。

11.常量:ATTACHMENT_ROOT,微擎程序附件目录,示例值:D:/wwwroot/wwwzhiwu55cn/attachment

12.常量:MODULE_ROOT,当前模块目录,示例值:D:/wwwroot/wwwzhiwu55cn/addons/hzw_zhiwu

13.当需要引入include文件的时候,尽量以IA_ROOT为基准路径引入,比如:include_once IA_ROOT .’/addons/wwwzhiwu55cn/inc/hzw.class.php’

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

15.$_GPC,全局请求变量,获取 G E T , _GET, GET_POST, C O O K I E S 中 的 变 量 , 即 _COOKIES 中的变量,即 COOKIES_GPC=array_merge( G E T , _GET, GET,_POST,$_COOKIES);

16.$_W[‘siteroot’],网站URL根目录,示例值:http://www.zhiwu55.com/

17.$_W[‘siteurl’],原始链接,示例值:http://www.zhiwu55.com/web/index.php?m=xxx&c=yyyy&do=hzw,即当前浏览器地址栏那里的地址。

18. W [ ‘ p a g e ’ ] [ ‘ t i t l e ’ ] , 当 前 页 面 标 题 , 在 d o W e b Z h i w u 55 ∗ ∗ ( ) 函 数 中 , 通 过 设 置 这 个 变 量 , 可 以 改 变 当 前 微 擎 网 页 的 < t i t l e > _W[‘page’][‘title’],当前页面标题,在doWebZhiwu55**()函数中,通过设置这个变量,可以改变当前微擎网页的<title> W[page][title]doWebZhiwu55()<title>_W[‘page’][‘title’]数值。

19. W [ ‘ u n i a c i d ’ ] , 当 前 平 台 账 号 U n i a c i d , 这 个 变 量 很 重 要 , 微 擎 可 以 多 开 , 让 无 数 的 公 众 号 可 以 接 入 进 来 , 主 要 就 是 用 _W[‘uniacid’],当前平台账号Uniacid,这个变量很重要,微擎可以多开,让无数的公众号可以接入进来,主要就是用 W[uniacid]Uniacid_W[‘uniacid’]来区分不同的公众号。

20.$_W[‘container’],App手机端平台终端设备,取值范围: wechat, android, ipad, iphone, ipod, unknown。

21.$_W[‘os’],App手机端平台操作系统,取值范围: windows (pc端), mobile(手机端), unknown。

22.可以通过$_W[‘container’]“wechat” && $_W[‘os’]“mobile”,来严格判断是否在微信环境中。

23. W [ ‘ o p e n i d ’ ] , 当 前 粉 丝 用 户 标 识 符 , 这 个 是 重 要 的 变 量 , 一 般 认 证 通 过 的 服 务 号 可 以 无 感 获 取 得 到 , 在 很 多 功 能 场 景 中 , 都 需 要 _W[‘openid’],当前粉丝用户标识符,这个是重要的变量,一般认证通过的服务号可以无感获取得到,在很多功能场景中,都需要 W[openid]_W[‘openid’]数值。

24.$_W[‘fans’],当前粉丝用户信息,城市信息,性别,关注公众号时间,取消关注公众号时间,等都可以从这个变量中获取得到。

25.$_W[‘jssdkconfig’],在App端分享转发的时候,需要用到的jssdk变量都在这里。

26.获取公众号其它粉丝的信息,不是当前粉丝,用mc_fansinfo( o p e n i d ) , 其 中 openid),其中 openid)openid这个变量是公众号其它粉丝的openid

27.微擎电脑端PC后台的文件site.php,凡是以doWeb开头定义的函数都是电脑端的函数。

28.微擎App手机端的文件site.php,凡是以doMobile开头定义的函数都是App手机端的函数。

29.微擎是MVC结构,用 t h i s − > c r e a t e M o b i l e U r l ( ) 和 this->createMobileUrl()和 this>createMobileUrl()this->createWebUrl()来调用访问site.php中用doWeb**和doMobile定义的函数

30.在App手机微信端,转发分享朋友圈的时候,需要用到以http开头的完整URL路径,用murl(‘entry’,array(‘m’=>$this->modulename,‘do’=>‘zhiwu55_function_name’),true,true)

31.微擎的数据库操作,都是以pdo_*为前缀,pdo_get(‘zhiwu55com’, array(‘id >’ => ‘55’)),获取id大于55的数据,请注意:id和>之前,有一个英文空格,这个是必需的空格,不能省略。

32.数据库操作函数一共有:pdo_get,pdo_getcolumn,pdo_getall,pdo_getslice,pdo_fetch,pdo_fetchcolumn,pdo_fetchall,pdo_insert,pdo_update,pdo_delete,pdo_query,pdo_run,pdo_fieldexists,pdo_indexexists,pdo_tableexists,pdo_fieldmatch,pdo_debug

33.在微擎打开“控制台-站点设置-日志开关”,微信推送到微擎api.php的数据内容都可以在 /data/logs/ 日志文件中查看到。

34.在微擎模板文件*.html中,可以直接写入PHP源代码,输出花括号和变量不会被转义,用{##string##}

35.isetcookie()写入cookie值,写入后可以使用 $_GPC 来获取,同时也可以用igetcookie()来获取。

36.authcode()字符串加密或解密函数,这是一个神奇的函数。不同于base64_encode()和base64_decode()函数。

37.电脑PC端的顶部加上{template ‘common/header’},底部加上{template ‘common/footer’}

38.在电脑PC端使用tpl_form_field_audio()或者tpl_form_field_video()进行多媒体文件上传的时候,需要在“站点管理 - 附件设置 - 音频视频附件设置”那里添加相应的支持文件后缀文件类型才可以。

39.如果想调试SQL的语句,可以用pdo_debug();exit;会打印出所有执行的SQL语句出来给你分析研究。

40.当用$_W不能获取到用户信息的时候,可以用mc_oauth_userinfo()会弹出用户同意授权获取信息的弹框。

41.$_W[‘fans’][‘follow’]用于判断是否关注了公众号,如果等于1表示关注了公众号。

42.在site.php的文件中,可以用 s e t t i n g s = settings= settings=this->module[‘config’]; s e t t i n g s [ ′ x x x x ′ ] = ′ y y y y y ′ ; settings['xxxx']='yyyyy'; settings[xxxx]=yyyyy;this->saveSettings($settings);的方式来修改“参数设置”那里的数值。

43.获取当前公众号在微擎中的配置信息用:pdo_get(‘uni_account’, array(‘uniacid’ => $_W[‘uniacid’]))。

44.获取公众号的appid用: W [ ′ a c c o u n t ′ ] [ ′ k e y ′ ] , 获 取 相 对 应 的 密 钥 用 : _W['account']['key'],获取相对应的密钥用: W[account][key]_W[‘account’][‘secret’]。

45.如果$_W[‘account’][‘level’]的数值是4,表示当前的公众号是认证通过的服务号。

46.在引入微信的jssdk地址的时候,建议不要加http协议名,直接用二个斜杠//开头,因为如果是https的页面,不允许加载http文件。

猜你喜欢

转载自blog.csdn.net/myqq155120699/article/details/109074440