public function __call($method, $arguments) { $instance = \Weixin::instance('message'); if (method_exists($instance, $method)) { call_user_func_array([$instance, $method], $arguments); } }
public function __construct() { //加载站点缓存 service('site')->loadSite(); //与微信官网通信绑定验证 \Weixin::valid(); $this->instance = \Weixin::instance('message'); }
public function doSitePushWechat() { $id = q('get.id'); $data = $this->db->where('id', $id)->pluck('data'); $data = json_decode($data, TRUE); $data = $this->addHttp($data); $res = \Weixin::instance('button')->createButton($data); if ($res['errcode'] == 0) { $this->db->whereNotIn('id', [$id])->update(['status' => 0]); $this->db->where('id', $id)->update(['status' => 1]); message('推送微信菜单成功', 'back', 'success'); } message($res['errinfo'], 'back', 'error', 5); }
/** * 使用微信openid自动登录 */ public function loginByOpenid() { //认证订阅号或服务号,并且开启自动登录时获取微信帐户openid自动登录 if ($info = \Weixin::instance('oauth')->snsapiUserinfo()) { $user = $this->where('openid', $info['openid'])->first(); if (!$user) { //帐号不存在时使用openid添加帐号 $data['openid'] = $info['openid']; $data['nickname'] = $info['nickname']; $data['icon'] = $info['headimgurl']; if ($uid = !$this->add($data)) { message($this->getError(), 'back', 'error'); } $user = Db::table('member')->where('uid', $uid)->first(); } Session::set('member', $user); return TRUE; } return FALSE; }
public function weixinLogin() { if (IS_WEIXIN && v('site.wechat.level') >= 3) { //认证订阅号或服务号,并且开启自动登录时获取微信帐户openid自动登录 if ($info = \Weixin::instance('oauth')->snsapiUserinfo()) { $user = $this->db->where('openid', $info['openid'])->first(); if (!$user) { //帐号不存在时使用openid添加帐号 $this->db['openid'] = $info['openid']; $this->db['nickname'] = $info['nickname']; $this->db['icon'] = $info['headimgurl']; $uid = $this->db->save(); $user = $this->db->find($uid); } //更新access_token $user['access_token'] = md5($user['username'] . $user['password'] . c('app.key')); $user->save(); Session::set('member_uid', $user['uid']); return TRUE; } } }
public function weixinNotify() { $res = Weixin::instance('pay')->getNotifyMessage(); $pay = Db::table('pay')->where('tid', $res['out_trade_no'])->first(); $data['status'] = 1; $data['type'] = 'wechat'; Db::table('pay')->where('tid', $res['out_trade_no'])->update($data); //记录支付记录 $log['siteid'] = SITEID; $log['uid'] = $pay['uid']; Db::table('credits_record')->insert($log); $module = Db::table('modules')->where('name', $pay['module'])->first(); //通知模块 if ($module['is_system'] == 1) { //系统模块 $class = '\\module\\' . $pay['module'] . '\\pay'; } else { $class = '\\addons\\' . $pay['module'] . '\\pay'; } if (class_exists($class)) { $obj = new $class($pay['module']); $obj->doWebAsync($res); } }
public function doSitePreview() { $uid = q('post.uid'); $id = q('post.id'); $user = Db::table('member')->find($uid); $material = $this->db->find($id); $data['touser'] = $user['openid']; $data['mpnews']['media_id'] = $material['media_id']; $data['msgtype'] = 'mpnews'; $res = Weixin::instance('message')->preview($data); if (empty($res['errcode'])) { message('发送消息成功,请查看微信客户端', '', 'success'); } else { message('发送失败' . $res['errmsg'], '', 'error'); } }
function __construct() { $this->weixin = Weixin::instance(); }
/** * 返回唯一的实例 * @return Weixin */ public static function instance() { if (!isset(self::$instance)) { $class = __CLASS__; self::$instance = new $class(); } return self::$instance; }