微擎基础教程:常用函数整理

波波之前也开发了一套后端开发框架叫TP-admin,同时在菠菜园内也置顶了一个常用PHP业务逻辑。经常搞开发,掌握一些常用函数很有必要。本篇笔记波波将为大家分享微擎内置的一些常用函数,这些函数我们不需要再次重写,直接使用即可。

微擎基础教程

1、不需要加载自带函数

  1. 写入cookie 过期时间秒,0表示跟随浏览器,false,不允许js读取
  2. isetcookie($key$value$expire = 0, $httponly = false)
  3. 获取客户端IP
  4. $ip =  getip();
  5. 随机字符串,6是长度,1为是否数字,
  6. random(6,true);
  7. 获取表明
  8. tablename('account')
  9. c、a、do,a为webapp(PC)、wxapp(小程序) site(公众号)
  10. 生成如下地址 true不带微信拼接字符,第二个true表示添加域名
  11. murl('entry/site/fm',['m'=>'yoby_test'],false,true)
  12. 一般手机端 $this->createMobileUrl('rank',[]);
  13.  $this->createWebUrl('rank',[]);
  14. wurl('site/entry/rank',['m'=>'yoby_test']);//后台管理
  15. 分页
  16. pagination($total$pageIndex$pageSize = 15);
  17. 返回媒体或图片路径
  18. tomedia($src)
  19. 查找字符串
  20. strexists('helloworld', 'h');
  21. 截取字符串
  22. cutstr($string,$length, TRUE,'utf-8');
  23. 计算字符串长度,中英文都为1
  24. istrlen('hello-微擎');
  25. 字符串加密或解密,默认解密,ENCODE加密,key秘钥,0过期时间
  26. authcode($string$operation = 'DECODE', $key = ''$expiry = 0)
  27. emoji_unicode_decode()emoji_unicode_encode 解码emoji
  28. get_first_pinyin($str)拼音首字母
  29. ihtml_entity_decode 显示html
  30. array2xml xml2array xml数组互换

2、web默认加载,微信端也有以下函数

  1. 第二个参数为空,不跳转,warning警告,error错误,info提示,ajax
  2. message('成功', referer(), 'success');
  3. ajax 返回 {"message":"\u6210\u529f","redirect":"","type":"ajax"}
  4. 模板加载
  5. template('common/template');
  6. iajax(code,message,redirect);参数2支持数组或字符串
  7. itoast("配置保存成功", referer(), 'success');

3、文件操作

  1. load()->func('file');
  2. file_copy(IA_ROOT . '/web', IA_ROOT . '/data', array('php')) 文件复制 过滤php
  3. file_delete('test.png');
  4. file_image_crop(IA_ROOT . '/test.png', IA_ROOT . '/test2.png', 50, 50); 剪切
  5. file_image_thumb(IA_ROOT . '/test.png', IA_ROOT . '/test2.png', 500); 生成缩率图 最后是宽
  6. file_move(IA_ROOT . '/test.log', IA_ROOT . '/web/test.log');文件移动
  7. file_upload($_FILE['test'], 'image', 'test.png'); 上传
  8. file_write(IA_ROOT . '/test.log', 'hello-world');文件写入
  9. mkdirs(IA_ROOT . '/web/hello/world/example');创建目录
  10. file_remote_delete远程删除
  11. 写入远程
  12. $filename ="images/$weid/yoby_tougao_".$snid.'.jpg';
  13.  file_write($filename$data);
  14.         if (!emptyempty($_W['setting']['remote']['type'])) { // 判断系统是否开启了远程附件
  15.             $remotestatus = file_remote_upload($filename); //上传图片到远程
  16.             if (is_error($remotestatus)) {
  17.                 message('远程附件上传失败,请检查配置并重新上传') ;
  18.     }
  19.         }

4、http操作函数

  1. load()->func('communication');
  2. $result = ihttp_get('http://x.com')['content'];
  3. 文件上传@+绝对路径
  4. $result = ihttp_post('https://www.baidu.com', array('username' => 'we7'));
  5. 高级请求,第三个参数附加传入
  6. ihttp_request($url$post = ''$extra = array(), $timeout = 60)

5、记录日志

  1. load()->func('logging');
  2. logging_run('记录字符串日志数据');
  3. logging_run([1,2,3]);

6、用户中心

  1. load()->model('mc');
  2. 检测是否登录,没登陆跳到登陆
  3. checkauth();用于微信端 checklogin()用于web
  4. openid转换uid
  5. $uid = $_W['member']['uid'];
  6.   Array
  7. (
  8.     [uid] => 10128
  9.     [realname] => 用户昵称
  10.     [mobile] => 手机号码
  11.     [email] => 邮箱
  12.     [groupid] => 用户组ID
  13.     [groupname] => 用户组名称
  14.     [credit1] => 积分
  15.     [credit2] => 余额
  16.     [credit3] => 其它积分
  17.     [credit4] => 其它积分
  18.     [credit5] => 其它积分
  19.     [credit6] => 其它积分
  20. )
  21. $uid =  mc_openid2uid($openid);
  22. $openid = mc_uid2openid($uid);
  23. mc_credit_update($uid,'credit2', -10,[$uid,'测试减少10积分']);//增减积分
  24. $num =  mc_credit_fetch($uid,['credit2']);//查询积分
  25. 积分通知
  26. mc_notice_credit1($openid$uid, 10, '充值积分到账10分', $url = 'http://w.cn', $remark = '谢谢惠顾,点击查看详情');
  27. 弹出填写信息
  28. mc_require($openid,['realname', 'mobile']);
  29. 更新填写信息
  30. mc_update($openid,['email' => '[email protected]']);
  31. 查询用户信息uid,返回字段
  32. mc_fansinfo($uidoropenid)
  33. Oauth获取用户信息
  34. mc_oauth_userinfo($acid)
  35. 通过openid获取
  36. mc_oauth_fans($openid)
  37. 查询用户信息
  38. mc_fetch($uid/openid,[])返回字段
  39. uid,mobile,credit1积分,credit2余额,realname,nickname,avatar,gender 1男2女,residecity市

7、自定义函数

  1. 微信中做了base64的加密字符串解密,解密之前不需要base64解密
  2. openssl_decrypt($wechat_data['req_info'], "AES-256-ECB", md5('appid'));
  3. serialize unserialize 序列化
  4. extract($arr);compact('a','b','c','d','i');解码成字符串
  5. explode('-','1-2-3-4');//分割成数组
  6. implode('-',$arr);//转换成字符串
  7. mb_convert_encoding('李太白',"utf-8",'auto');自动转换成uft8
  8. foreach($list as &$row){
  9. 处理数据
  10. }
  11. unset($row);

8、支付返回数据的结构

  1. $wechat = uni_setting(1, array('payment'));
  2. 借用返回
  3. Array
  4. (
  5.     [payment] => Array
  6.         (
  7.             [credit] => Array
  8.                 (
  9.                     [switch] =>
  10.                 )
  11.             [alipay] => Array
  12.                 (
  13.                     [switch] =>
  14.                     [account] =>
  15.                     [partner] =>
  16.                     [secret] =>
  17.                 )
  18.             [wechat] => Array
  19.                 (
  20.                     [switch] => 2
  21.                     [account] => 1
  22.                     [signkey] =>
  23.                     [partner] =>
  24.                     [key] =>
  25.                     [borrow] => 2
  26.                 )
  27.             [delivery] => Array
  28.                 (
  29.                     [switch] =>
  30.                 )
  31.         )
  32. )
  33. 本身返回
  34. Array
  35. (
  36.     [payment] => Array
  37.         (
  38.             [wechat] => Array
  39.                 (
  40.                     [switch] => 1
  41.                     [version] => 2
  42.                     [apikey] => J8BNZ88rR8hhHH9Z7bqhbB57HbQOp3F9
  43.                     [mchid] => 1493418902
  44.                     [account] => 2
  45.                     [signkey] => J8BNZ88rR8hhHH9Z7bqhbB57HbQOp3F9
  46.                 )
  47.         )
  48. )
  49. 非支付id返回
  50. Array
  51. (
  52.     [payment] => Array
  53.         (
  54.             [wechat] => Array
  55.                 (
  56.                     [switch] => 2
  57.                     [borrow] => 2
  58.                     [account] => 3
  59.                     [signkey] =>
  60.                 )
  61.         )
  62. )

 

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!