开启左侧

微擎框架(自定义分享在最下面)

[复制链接]
在线会员 IfKX 发表于 2022-12-30 10:12:56 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
起首是引见一下微擎的框架,微擎是一个鉴于微疑开辟的框架,能够开辟微疑H5战微疑女伶 href="https://www.taojin168.com/cloud/" target="_blank">小法式,但是微擎微疑小法式的框架曾经很长期不革新了,用于微擎开辟的h5借怪多的,正在微擎女伶 href="https://www.taojin168.com" target="_blank">商乡中能够购置利用他人开辟佳的模块著名气鼓鼓的如女伶 href="https://www.taojin168.com" target="_blank">创利树云女伶 href="https://www.taojin168.com" target="_blank">商乡,以前公司是利用微擎框架干H5的,名目是一点儿简朴的单页里H5,一切理解一点儿微擎的利用,上面尔便去具体的道道微擎的利用

微擎框架(自界说分享正在最上面)-1.jpg
那是装置模块manifest需求留意的工具

微擎框架(自界说分享正在最上面)-2.jpg
那是装置微擎的根本目次,addons中是寄存模块目次,能够这样道,正在addons中每个文献即是一个模块,正在微擎框架平分为app端战web端,app端即是一般会见模块的链交,web呢是会见微擎背景的链交,framework目次也是比力主要的目次,需求利用的class也是正在该目次中的class目次中,

微擎框架(自界说分享正在最上面)-3.jpg
那是appons/模块上面 的一般目次,site.php战manifest.xml是必不成少的文献,site是相称于路由吧,manifest是装置模块时分的文献,假如不manifest文献微擎是没法装置该板块的,固然不装置该模块是会见没有到该模块的 inc 能够正在有site的前提下充任路由吧,好比您会见到一个模块的index办法,假如site中不界说该办法能够到inc目次下找该办法不管正在site大概inc目次下皆有分先后台区分

微擎框架(自界说分享正在最上面)-4.jpg
那是site中界说办法

微擎框架(自界说分享正在最上面)-5.jpg
inc下别离先后台的是差别目次

微擎框架(自界说分享正在最上面)-6.jpg
内里php文献称号即是差别的办法,皆要减.inc的尾缀

微擎框架(自界说分享正在最上面)-7.jpg
经由过程该url的情势会见到该模块
装置模块战会见模块便如许的能够了,上面是详细功用、
获得用户疑息

正在用户不存眷公家号的状况下,不克不及利用$_W['fans']的数据,那是存眷公家号的用户才有那数据,那末用户不存眷公家号,但是又需求用户数据怎样办呢
mc_oauth_userinfo();     //加入h5受权 获得用户疑息 以后正在获得$_W['fans']便会有效户疑息,需求留意的是,加入h5先判定有无用户疑息不正在受权获得用户疑息,假如是存眷了的用户没有需求受权也是能够获得到用户疑息的,假如没有干判定能够用户体会较好
天生url

$this->creatrMobileUrl('index');  //前台地点  index办法
路由的前台地点     
$this->createWebUrl('confs');    //背景地点  confs办法
路由的背景地点   
正在望图中如需求收收ajax恳求的时分url能够这样写
{php echo $this->creatrMobileUrl('index')}模板挪用

{template '途径/模板称号'}     //引进模板   绝对途径
{template 'co妹妹on/模板称号'}   //那是挪用大众模板    倡议利用大众模板正在这呢

微擎框架(自界说分享正在最上面)-8.jpg
微擎望图中利用功用

微擎自戴考证码  https://blog.csdn.net/sunxiaowen13/article/details/79539797(verify());
$verify -> imgcode();//考证码      checkcaptcha($code)    //考证
//考证码  前端显现,PHP文献中考证只要要  checkcaptcha($code)   前往值 bool

解:用法是零丁供给一个路由办法给考证码,而后正在前端页里中获得该路由的办法显现考证码,后端利用checkcaptcha($code) 考证

固态文献目次    相称于页里上面addons/模块名/resource/
define("S_URL", "/addons/{$_GET['m']}/resource/");   //正在site中界说
模板中输入变质
{$name}   //输入变质
轮回
{loop 数组 $row}
      //单个数据为$row
{/loop}
判定
{if 前提}
    //true
{else}
    //false
{/if}
写php代码
{php $变质=$变质+1;}   //混编php
<a href="{php echo $this->createMobileUrl('页里');}"></a>     //真例php混编
单文献上传
{php echo tpl_form_field_image('name值');}   //单文献上传  
数据库

删编削查
留意   pdo_insert/pdo_delete/ pdo_update/pdo_get/pdo_getall办法表名没有需求后面的 ims_
tablename()  那个办法是减表前缀的(需求的减没有需求的没有减)
pdo_insert('表名', 数据数组, $replace=false[能否交换])   //删   第三个参数 不便增加 有便交换
pdo_delete('表名', 前提数组, $glue='AND/OR')            //增   第三个参数  前提前提  取 或者  
pdo_update('表名' ,数据数组, 前提数组, $glue='AND/OR')   //改   第三个参数  前提前提  取 或者
pdo_get('表名' ,前提数组 ,字段数组);                  //查一条   
pdo_getall('表名', 前提数组 , 字段数组,)              //查多条  
   
pdo_fetchcolumn("select count(*) from ".表名." where iswin = :iswin ",array('iswin'=>1));
//盘问满意前提的个数
   
pdo_query('sql')   //施行一条非盘问语句
pdo_query("DELETE FROM".tablename('表名')."WHERE 前提字段=:站位符",array(':后面的站位符'=>2))
数据分页
$list = pdo_fetchall('SELECT * FROM ' . tablename('hbyh_qrj_gift') . ' LIMIT ' . (页数 - 1) * 每一页几条 . ', ' . 每一页几条);  //分页数据

正在模板中轮回遍历数据    {$page} 显现如今页数
链式盘问
脚册 ::http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=452
盘问用户表中的前十条男性的用户数据
真例:
$query = load()->object('query');
$row = $query->from('表名')->where('前提', '1')->orderby('字段', 'desc顺叙')->limit(10 条数)->getall();
右联系关系的表
真例:
$query = load()->object('query');
$row = $query->from('users', 'u')->leftjoin('users_profile', 'b')->on('u.id', 'b.uid')->where('u.id', '525')->get();
//去自  users 右链交 users   u.id=b.uid   前提是u.id=525 的一笔记录
链表盘问
留意  本死的sql 操纵需求减表的前缀
pdo_fetchall('SELECT * FROM ' . tablename($this->table_activity) . ' as i inner join '. tablename($this->table_actclass) .' as c on i.class_id = c.id WHERE i.id=:id', array(':id'=> $id));
//盘问去自  表i  内乱毗连  表c  on联系关系前提 i的class_id=c的id   前提(i的id=占位符)
pdo_fetch($sql)              //依据 SQL语句,盘问一笔记录
pdo_fetchall($sql);      // 盘问局部记载
微擎函数

大众函数
TIMESTAMP    常质目前工夫戳  (秒)

istripslashes($var)   //来除字符串大概数组中的本义符 (\)
    字符串/数组
   
ihtmlspecialchars ($var)   //本义字符串或者数组中的的HTML,比方将 “php” 转移为 "PHP"
    字符串/数组
   
isetcookie($key, $value, $expire = 0, $httponly = false)   //cookie 操纵
    cookie称号   cookie值   过来 工夫   能否许可Javascript读与避免xss进犯 倡议登录等疑息启开此项

token()      //提接表单时的滥觞校验码  取 checksubmit() 函数设置利用,提接表单时的滥觞校验码
        //<input name="token" type="hidden" value="{$_W['token']}" />    取 token() 一致   

checksubmit($var = 'submit', $allowget = false)   // 考证一下表单提接,表单中必需戴有token
    提接表单按钮的称号   能否 考证一个get恳求   
   
random($length, $numeric = FALSE)    //获得一个随机数
    要获得随机数的少度   能否 是杂数字随机数
   
checkcaptcha($code)   //考证用户提接的考证码能否准确
    用户挖写的考证码
   
tablename($tablename)    //微擎一切数据表均有前缀,此函数即是前往减表前缀的表名
    数据表名

array_elements($keys, $src)  //从一个数组中获得多少元艳
   需求 挑选的键名列表(数组)     停止挑选的数组
   
range_limit($num, $downline, $upline, $returnNear = true) //判定给定参数能否位于区间内乱或者将参数变换为区间内乱的数
    检测的数     区间的最小值     区间的最年夜值    为true时小于区间则前往最小值,年夜于区间则前往最年夜值,不然前往自己的值
   
ijson_encode($value, $options = 0)    //变换json格局
   需求 转移的字符串/数组         此值为 JSON_UNESCAPED_UNICODE 时,则没有本义华文
   
iserializer($str)     //序列化格局
   需求 序列化的字符串或者数组

is_serialized($str, $strict = TRUE)  //判定能否序列化
   需求 检测的数据     能否为严厉形式
   
iunserializer($str)   //反序列化格局
   需求 反序列化的字符串或者数组
   
is_base64($str)     //判定能否为base64减稀的字符串
   需求 检测的数据
   
tomedia($src)                   //转移地点?
   需求 停止变换的途径    mages/noavatar_middle.gif
   
referer($default = '')  //获得援用页的地点
   默许 援用页地点

strexists($string, $find)    //判定字符串能否包罗字串
    字符串      需求查找的字符串
   
cutstr($string, $length, $havedot = false, $charset = '')    //截与字符串
    字符串    截与的少度    超少字符串末端能否减简略号     指定编码
   
istrlen($string, $charset = '')   //疏忽字符编码获得字符串的个数,华文英文皆为1个字符
    字符串     指定编码
   
authcode($string, $operation = 'DECODE', $key = '', $expiry = 0)  //字符串减稀或者解稀
    字符串           操纵DECODE或者ENCODE           秘钥     过时工夫
   
isimplexml_load_string($string, $class_name = 'SimpleXMLElement', $options = 0, $ns = '', $is_prefix = false)      //将一个 xml 字符串转移为 xml 工具
    xml字符串            'impleXMLElement'           LIBXML_NOCDATA
   
parse_path($path)   //过滤途径中能够包罗的不法字符,倡议经由过程get或者是post通报的途径皆用此函数过滤
   途径 http 函数
http函数利用时        load()->func('co妹妹unication')援用
ihttp_request($url, $post = '', $extra = array(), $timeout = 60)   //模仿http恳求
    要获得实质的url    数据(数组)   恳求 附带值   超不时间    //概况瞅脚册
   
ihttp_get($url)   //GET恳求 办法
    要获得实质的URL,必需因此http或者是https开首
   
ihttp_post($url, $data)  //POST恳求 办法
    要获得实质的url    数据(数组)
   
ihttp_email($to, $subject, $body, $global = false)   //收收邮件        Email
    支件人邮箱   邮件中心    邮件实质数组格局   能否利用体系邮箱设置疑息   //详细脚册操纵文献函数
操纵文献时分  援用   load()->func('file')
file_is_image($url)   //检测能否为图象文献
   途径
    //自尔觉得  文献操纵函数没有是很经常使用  
    //需求的话间接瞅         http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=249
全部变质

微擎有   两个全部变质    $_W     $ _GPC
$_GPC     

全部恳求变质, 获得 $GET, $POST, $_COOKIES 中的变质
$_W

$_W 中  是体系中最为主要的全部变质,微擎体系中许多经常使用的数据皆保存正在那个变质当中
那边记载一点儿经常使用的 $_W  里的用法
$_W[‘timestamp’]       //目前时辰的工夫戳
$_W[‘clientip’]        //目前客户端ip
$_W[‘siteroot’]         //网站的跟途径
$_W[‘isajax’]           //是不是ajax恳求
$_W[‘ispost’]           //是不是post恳求
$_W[‘ishttps’]          //是不是https和谈Web 端看来   
$_W[‘uid’]     //目前登录的操纵用户 uid   
$_W[‘username’]  //目前操纵用户称号   
$_W[‘user’]    //目前操纵用户疑息App 端看来   
$_W[‘member’]   //目前粉丝用户疑息   
$_W[‘member’][‘uid’]   //目前粉丝用户 uid   
$_W[‘openid’]    //目前粉丝用户标记   
$_W[‘fans’]   //目前粉丝用户疑息    但是正在利用$_W['fans']时,不存眷的用户是没法获得到$_W['fans']里的疑息的慢存体制

cache_write(string $key, mixed $data)     //根据指定的键名保存慢存数据
    参数指定要保存慢存数据的键名,键名必需包管是独一        数据的实质,能够为字符串,数组等
   
cache_load(string $key)    //读与指定键名慢存数据
    键名
   
cache_delete(string $key)    //简略指定键名的慢存数据
    键名

cache_clean()    //肃清一切慢存
文献减载器

load()->func(string $string)    //减载体系大众函数
// framework/function/logging.func.php       load()->func('logging');
   
load()->classs(string $string)   //减载体系大众类   能够本人启拆class
// framework/class/account.class.php        load()->classs('account');
连接微疑的sdk

文档中需求  一点儿庞大的数据 如 appid 甚么的,
微擎启拆的
$account_api=WeAccount::create();
$jssdk=$account_api->getJssdkConfig();  //如许$jssdk中便有了咱们需求 链交jssdk的一切数据
include $this->tempalte('index')        //模板中能够间接利用
微擎的语消息息呼应

正在微擎中设置   非枢纽字呼应   
触收模块
触收模块后site共级文献中,processor.php  文献,如
class Viva_csModuleProcessor extends WeModuleProcessor { //Viva_cs是模块
    public function respond() {
        $content = $this->message; //疑息数据 (数组)
        //$json=json_encode($content,JSON_UNESCAPED_UNICODE);
        return $this->respText($content['recognition']); //必需要如许呼应
        //那里界说此模块停止动静处置时的详细历程, 请检察微擎文档去编辑您的代码
    }
}

微擎启拆自界说分享


微擎框架(自界说分享正在最上面)-9.jpg
正在那个大众模板处所创立那个文献  上面是html的实质
<script src="//res.wx.qq.com/open/js/jweixin-1.4.0.js"></script><script>jssdkconfig = {php echo json_encode($_W['account']['jssdkconfig']);} || {};        jssdkconfig.debug = 0;        jssdkconfig.jsApiList = ['checkJsApi','onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','hideMenuItems','showMenuItems','hideAllNonBaseMenuItem','showAllNonBaseMenuItem','translateVoice','startRecord','stopRecord','onRecordEnd','playVoice','pauseVoice','stopVoice','uploadVoice','downloadVoice','chooseImage','previewImage','uploadImage','downloadImage','getNetworkType','openLocation','getLocation','hideOptionMenu','showOptionMenu','closeWindow','scanQRCode','chooseWXPay','openProductSpecificView','addCard','chooseCard','openCard','updateAppMessageShareData','updateTimelineShareData'];wx.config(jssdkconfig);
wx.ready(function(){wx.hideMenuItems({menuList:['menuItem:copyUrl','menuItem:openWithQQBrowser','menuItem:openWithSafari','menuItem:share:email']});});</script>
微擎框架(自界说分享正在最上面)-10.jpg
那个是望图中利用自界说分享的时分   援用那个模板后,可使用微疑sdk中的办法
上面是实质
{template "co妹妹on/wxsdknew"}
<script>
wx.ready(function() { //启拆了微疑wxsdk能够挪用微疑办法
  window.wxshare = {
      title: "您佳e贷温心祸利去袭——放心宅野,新颖中转!",
      link: "{$_W['siteurl']}",
      desc: '超多欣喜等您去',
      imgUrl: 'https://file.cdn.finance.vivatech.cn/191213helloe_dai/images/index/icon.jpg',
      success: function () {}
    };
    wx.onMenuShareTimeline(wxshare);
        wx.onMenuShareAppMessage(wxshare);
    wx.updateAppMessageShareData(wxshare);
    wx.updateTimelineShareData(wxshare);
});

精彩评论4

avatar
在线会员 YYGG9b6gv 发表于 2022-12-30 10:13:19 | 显示全部楼层
不错不错[赞同]
回复

使用道具 举报

avatar
在线会员 YYGG9b6gv 发表于 2022-12-30 10:13:48 | 显示全部楼层
写的很好。谢谢
回复

使用道具 举报

avatar
在线会员 vCUCSWp 发表于 2022-12-30 10:14:06 | 显示全部楼层
不错的参考资料。
回复

使用道具 举报

avatar
在线会员 l9Lox 发表于 2022-12-30 10:14:30 | 显示全部楼层
微擎框架是啥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )