# 微信分享 * * * * * 本章演示OneBase中微信分享功能的使用。 1.首先是微信相关配置,先到微信公众平台中配置好JS安全域名等。 **注意:在使用Jssdk类中需要use wechat\Jssdk;** 2.通用前台控制器基类中的构造方法代码如下 ``` /** * 构造方法 */ public function __construct() { // 执行父类构造方法 parent::__construct(); // 判断为微信环境下 if (IS_WEIXIN) { $obj = new Jssdk(config('app_id'), config('app_secret')); $res = $obj->getSignPackage(); } // 公众号的唯一标识 $this->assign('appId', empty($res['appId']) ? '' : $res['appId']); // 生成签名的时间戳 $this->assign('timestamp', empty($res['timestamp']) ? '' : $res['timestamp']); // 生成签名的随机串 $this->assign('nonceStr', empty($res['nonceStr']) ? '' : $res['nonceStr']); // 签名 $this->assign('signature', empty($res['signature']) ? '' : $res['signature']); // 分享标题 $this->assign('share_title', 'OneBase'); // 分享描述 $this->assign('share_desc', "OneBase免费开源研发架构"); // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 $this->assign('share_link', ""); // 自定义分享图标 $this->assign('share_img_url', "https://xxxx/xx.png"); } ``` 3.微信分享前端HTML文件,文件位置app\index\view\layout\share.html ![](https://img.kancloud.cn/bb/eb/bbeb422b175fb874ac1cd7ac11d9b525_1492x1088.png) 4.在前端模板的通用底部文件,比如:footer.html中引用此分享文件。 ``` {include file="layout/share" /} ``` 5.在配置文件中配置 app_id 与 app_secret,确保 config 函数可以调用。 此时在微信中打开网址,点微信右上角分享出去即可显示 自定义标题描述信息了。 若每个页面需要分享不同的自定义信息,可以在控制器中做处理assign不同的值就OK了。 若需要在分享成功或失败后进行相应的业务逻辑处理 ![](https://img.kancloud.cn/e2/d3/e2d38483ad0f6212ab08a96e457ea090_912x264.png)