最近做的微信公众号开发,有个页面是需要分享推广,微信自带的也有转发可是转发出去的效果是网址,这个效果显然不是我们需要的
我们需要下载一下微信jssdk 此处附上链接:http://download.csdn.net/detail/jmkweb/9859557
http://download.csdn.net/detail/jmkweb/9859567
然后建立方法调用jssdk类
function jssdk($info){ include_once("Wechat/JSSDK.class.php"); $jssdk = new JSSDK ($info ['appid'], $info ['appsecret']); $jsapiParams = $jssdk->GetSignPackage(); return $jsapiParams; }
此处需要注意的是传进来的是个数组,此数组是微信的配置文件微信的appid和调用高级功能的密钥
最后直接在控制器中调用此方法
public function getStore(Request $request) { $info = WemallWxconfig::where(array('id' => 1))->first();//读取数据库微信配置内容 $jsapiParams=jssdk($info); $username=$request->session()->get('username'); $shop = DB::table('shop')->where('username',$username)->first(); $data = std_class_object_to_array($shop); $img = explode('||',$data['image']); unset($img[count($img) - 1]); $data['image'] = $img ; return view('Index/dpxq')->with('data',$data)->with('jsapiParams',$jsapiParams); }
最后输出在页面上
<script src="{{ asset('Sys/js/jquery.js') }}"></script> <script src="{{ asset('Sys/js/weixin.js') }}"></script> <script> wx.config({ debug: false, appId: "{{$jsapiParams['appId']}}", timestamp: "{{$jsapiParams['timestamp']}}", nonceStr: "{{$jsapiParams['nonceStr']}}", signature: "{{$jsapiParams['signature']}}", jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] }); wx.ready(function() { wx.onMenuShareTimeline({ title: '{{ $data["title"] }}', link: 'http://www.qiaowei360.com/huogou/public/store/{{ $data["id"] }}', imgUrl: "{{ asset('') }}/{{ $data['imgurl'] }}thumb/{{ $data['img'] }}", success: function() { alert('分享成功'); }, cancel: function() { alert('分享失败'); } }); wx.onMenuShareAppMessage({ title: '{{ $data["title"] }}', desc: '主营:{{ $data["shopinfo"] }}', link: 'http://www.qiaowei360.com/huogou/public/store/{{ $data["id"] }}', imgUrl: "{{ asset('') }}/{{ $data['imgurl'] }}thumb/{{ $data['img'] }}", type: '', dataUrl: '', success: function() { alert('分享成功'); }, cancel: function() { alert('分享失败'); } }); }); </script>然后该页面分享出去的效果是