微信分享、极简微信分享、thinkphp微信分享、laravel微信分享、3分钟完成微信分享

目录

安装微信开发SDK - easywechat

 

准备测试公众号 (已有公众号appid secret 且公众号已配置jsapi安全域名的此步骤可以忽略)

 

后端代码

 

前端代码

可能会出现的问题


安装微信开发SDK - easywechat

根据php版本和安装中的因素 选择不同的easywechat版本 https://www.easywechat.com/docs/5.x/installation 文档地址,在这里我用5.0版本

composer require overtrue/wechat:~5.0 -vvv

分享具体参照文档地址 easywechat-jssdk

 

准备测试公众号 (已有公众号appid secret 且公众号已配置jsapi安全域名的此步骤可以忽略)

  1. 登录测试微信公众号
  2. 修改接口配置信息
  3. JS接口安全域名

微信分享、极简微信分享、thinkphp微信分享、laravel微信分享、3分钟完成微信分享_第1张图片

注意:复制测试公众号的appid与secret 配置完测试公众号的必要参数,务必要将测试分享的微信关注第3步骤的测试公众号,否则分享无效果。

 

后端代码

request->isAjax()) {
            $jssdk = $this->getJsapi();
            return json([
                'data' => $jssdk
            ]);
        }
        return view();
    }

    /**
     * Notes: 获取分享必要参数
     * User: Jartin
     */
    private function getJsapi()
    {

        $config = [
            'app_id' => '公众号APPID',
            'secret' => '公众号APPSECRET',
            'token' => '公众号配置的参数token',
            // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名
            'response_type' => 'array',
            'log' => [
                'level' => 'debug',
                'file' => __DIR__ . '/../../wechat.log',
            ],
        ];

        $app = Factory::officialAccount($config);
        $menu = array(
            'updateAppMessageShareData',
            'updateTimelineShareData',
            'onMenuShareTimeline',
            'onMenuShareAppMessage');
        
        // 以下参数的具体释义参考文档 https://www.easywechat.com/docs/5.x/basic-services/jssdk
        $jssdk = $app->jssdk->buildConfig($menu, true, false, false);
        return $jssdk;
    }

    /**
     * Notes: 微信公众号配置开发域名token验证地址(已验证的忽略该方法)
     * User: Jartin
     */
    public function wx_check()
    {
        $config = [
            'app_id' => '公众号APPID',
            'secret' => '公众号APPSECRET',
            'token' => '公众号配置的参数token',
            // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名
            'response_type' => 'array',

            'log' => [
                'level' => 'debug',
                'file' => __DIR__ . '/../../wechat.log',
            ],
        ];
        $app = Factory::officialAccount($config);
        $response = $app->server->serve();
        $response->send(); // Laravel 里请使用:return $response;
    }
}

 

前端代码




    
    
    
    
    !!!!  ↓↓↓↓↓↓ 这个微信分享的js代码版本必须为 1.5.0 否则无效
    
    标题





 No newline at end of file

成功!

微信分享、极简微信分享、thinkphp微信分享、laravel微信分享、3分钟完成微信分享_第2张图片

 

可能会出现的问题

  1. 旧的前端微信分享sdkjs链接未替换为最新而导致的分享失败
  2. jsApiList列表中的行为不是微信最新分享的行为,要确保列表中有的 wx.方法都有
  3. js代码置后而导致的加载异常导致的分享失败

 

 

 

你可能感兴趣的:(PHP框架,小程序,php)