easywechat

laravel对接Easywechat开发微信授权功能

女生的网名这么多〃 提交于 2020-11-11 21:41:20
在上篇文章中我们讲了使用微信公众号的原生接口来实现微信登录获取用户信息。 这篇文章主要是实现使用Easywechat来实现微信授权获取用户信息 github地址:https://github.com/overtrue/laravel-wechat easywechat文档地址: https://www.easywechat.com/docs/master/integration 安装Easywechat,注意自己的版本 laravel查看自己的框架版本号命令 php artisan --version 查询这个后我们在进行Easywechat的安装 # Laravel < 5.8 composer require "overtrue/laravel-wechat:~4.0" # Laravel >= 5.8 composer require "overtrue/laravel-wechat:~5.0" 安装完之后需要创建配置文件 php artisan vendor:publish --provider= "Overtrue\LaravelWeChat\ServiceProvider" 然后可以在路由文件中输出 app()->getBindings(); 打印出所绑定的所有服务 ; 这些服务都是绑定在 Contrants 中的 binging 属性中,你会发现在里面可以看到有

公众号迁移 原有数据库openid 更新主体openid

我只是一个虾纸丫 提交于 2020-10-04 12:00:14
  今天一个两年前做的公众号项目 要更改主体,随之而来的是公众号的迁移。 公众号迁移后关注的粉丝也会对应的进行迁移,还会给粉丝发送相关通知。   大体流程如下图   迁移的具体步骤我就不细说了。今天主要说的是 迁移主体后 对应的用户openid也会变化,也就是说你的程序如果公众号登录是以微信openid为唯一标识的话, 那你的用户系统经过一次公众号变更后就会出现问题。 老用户再次授权后 系统可能认为是新用户,而且通过原来的openid 也无法推送模板消息等功能。   微信方面当然也考虑到了相关问题 。给出了相关的接口去处理这个问题,这就是今天说的openid转换接口 。   相关内容如下    openid转换接口 账号迁移后,粉丝的 openid 会变化, 微信用户关注不同的公众号,对应的openid是不一样的,迁移成功后,粉丝的openid以目标帐号(即新公众号)对应的OpenID为准。但开发者可以通过开发接口转换openid,开发文档可以参考: 提供一个openid转换的API接口,当帐号迁移后,可以通过该接口: 1. 将原帐号粉丝的openid转换为新帐号的openid。 2. 将有授权关系用户的openid转换为新帐号的openid。 3. 将卡券关联用户的openid转换为新帐号的openid。 ◆ 原帐号:准备要迁移的帐号,当审核完成且管理员确认后即被回收。 ◆

Niushop单商户V4版本剧透啦!更多功能提前知晓!

荒凉一梦 提交于 2020-08-11 11:50:20
好消息!好消息!Niushop单商户商城系统打破以往更新升级维护V3版本系列的运营模式,研发并 即将上线Niushop单商户 V4 版本啦! 单商户V4即将上线!!! NIiushop开源商城B2C单商户V4,功能强大,安全便捷,框架成熟稳定便于扩展,源码100%开源 ,支持二次开发定制,让企业用更低的成本、更少的人力,更快的速度构建自己的商城,开启网上商城销售业务。 单商户V4功能亮点 1.框架采用全新thinkphp6+事件开发设计+layui+uniapp进行设计,代码完全重构,采用支持百万级! 2.插件钩子机制,.标准Api接口、前后端分离功能模块独立,更有助于二次开发; 3.高频数据缓存,数据库读写分离,支持队列降低流量高峰,解除代码耦合性,很大程度减轻服务器压力,提升访问速度; 4.EasyWeChat部署微信开发,微信接入更加快捷,简单; 5.内置强大灵活的权限管理体系、组合数据统计及客户系统等,实现客服实时在线聊天,专人专项运营管理,更有利于碎片化数据统计; 6.可以完美对接公众号和小程序,并且数据同步,实现真正意义上的一端开发,多端使用; 单商户V4版本在强大的基础架构支持之下,与V3相比较,新增了以下功能(列举部分): 外卖订单 外卖配送订单发货与管理,根据距离与配送区域计算 打包一口价 可设置多个商品打包价格,整体多件销售 微信圈子 微信圈子发布 积分红包

小程序上传帖子(含有文字图片的微信验证)

丶灬走出姿态 提交于 2020-08-05 23:34:58
public.js var graceJS = require('../../utils/grace.js'); import { config } from '../../config.js' Page({ /** * 页面的初始数据 */ data: { imglist: [], title:'', content:'', }, delImg(e) { let index = e.currentTarget.dataset.index; let array = []; console.log(index); for (var i = 0; i < this.data.imglist.length; i++) { if (i !== index) { array.push(this.data.imglist[i]) } } console.log(array); this.setData({ imglist: array, }) }, upimg() { let that = this var url = config.api_base_url + "upload_pic" wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'],

如何在 MixPHP V2.1 中使用 EasyWeChat

不打扰是莪最后的温柔 提交于 2020-02-26 09:13:59
国内中小型公司有大量的微信接入需求, EasyWeChat 是一个非常流行的微信开发库,由于该库是为 FPM 模式的传统框架而打造,因此很多 Swoole 用户不知道如何使用,下面详细介绍一下 MixPHP v2.1 中如何使用。 Hook Guzzle 首先由于 overtrue/wechat 是基于 GuzzleHttp 开发的,因为 GuzzleHttp 无法直接在 Swoole 中使用,所以需要先安装 Mix Guzzle Hook,该库能在不修改源码的情况下让 GuzzleHttp 协程化。 https://github.com/mix-php/guzzle-hook Request 类代理 由于 EasyWeChat 中使用的是 Symfony 框架的 Request 类,并且又不完全符合 PSR-7 规范,因此我们需要创建一个 Request 代理类: <?php namespace App\Http\EasyWeChat; class Request { /** * @var \Mix\Http\Message\ServerRequest */ public $request; public function __construct(\Mix\Http\Message\ServerRequest $request) { $this->request =

记一次不太愉快的微信公众平台开发之旅

喜你入骨 提交于 2020-02-03 01:41:06
第一步 申请微信公众平台 点击 或复制 https://mp.weixin.qq.com/ 可直接跳转。 申请过程略。 第二步 申请测试账号 找到开发者工具中的公众平台测试号,这个测试号可以调用所有接口。 接着扫码登录,会进入测试号管理界面,如图: 在此处我们进行我们的服务器配置,可以先不填,我们先进行开发,然后填上去后进行验证(我验证的时候,一直说配置失败,但是刷新该页面后发现已经配置服务器成功)。 第三步 安装EasyWechat 在开始之前,请确保你足够了解 Composer 和 闭包 ,接下来我们可能会用到很多它的知识。 按照作者提供的信息,我们使用 Composer 进行安装,在撰写本文时,EasyWechat的版本已经为4.2,但是在EasyWechat文档中给出的安装仍为4.0,因此我建议执行命令行: composer require "overtrue/wechat:^4.2" -vvv 当然,你最好能先配置一下中国的镜像,否则安装的速度会很慢,另外提一下,我这里并没有使用任何的框架。 我给出的方案是修改当前项目的 composer.json ,你可以执行命令行: composer config repo.packagist composer https://packagist.phpcomposer.com 当然也可以主动在 composer.json

EasyWechat 公众号 AccessToken 共享方案

做~自己de王妃 提交于 2019-12-11 01:14:53
EasyWechat 公众号 AccessToken 共享方案 配置 EasyWechat 缓存方式采用 Redis 例如 公众号 缓存 Cache Key 的生成方式如下 $cacheKey = "easywechat.kernel.access_token." . md5 ( json_encode ( [ 'grant_type' = > 'client_credential' , 'appid' = > $this - > app [ 'config' ] [ 'app_id' ] , 'secret' = > $this - > app [ 'config' ] [ 'secret' ] , ] ) ) ; 例如 小程序 缓存 Cache Key 的生成方式如下 注意:小程序的 appid 和 secret 是不一致的 $cacheKey = "easywechat.kernel.access_token." . md5 ( json_encode ( [ 'grant_type' = > 'client_credential' , 'appid' = > $this - > app [ 'config' ] [ 'app_id' ] , 'secret' = > $this - > app [ 'config' ] [ 'secret' ] , ] ) ) ; 得出结论

ThinkPHP接入EasyWechat

匿名 (未验证) 提交于 2019-12-02 22:11:45
官方文档 <?php namespace app \ index \ controller ; use EasyWeChat \ Factory ; use think \ Controller ; class EasyWechat extends Controller { protected $app ; public function _initialize () { $config = [ 'app_id' => 'wx5d2f01e8ab9532dc' , 'secret' => 'f36d7f5c26d76662d533c29072a4f5e5' , 'token' => 'JOfggDDrVhODrrGqnfRUvTGvthXdvtzV' , 'aes_key' => '' , // EncodingAESKey,兼容与安全模式下请一定要填写!!! // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名 'response_type' => 'array' , 'log' => [ 'level' => 'debug' , 'file' => __DIR__ . '/wechat.log' , ], /** * OAuth 配置 * * scopes:公众平台(snsapi_userinfo /