[TOC=1,4]
###使用系统分享操作
在微站模板使用 **{template 'common/header'}** **{template 'common/footer'}** 可以使用此方式执行分享操作.
微擎系统会为每个页面或应用**自动生成分享内容**, 粉丝用户可以随意的将此内容进行分享(发送给朋友、分享到朋友圈或腾讯微博).
微擎系统为开发人员提供如下扩展功能:
#### 1. PHP 自定义分享数据
微擎系统会自动生成一个分享内容, 但是开发者也可以在 app 端的 PHP 代码或 HTML 页面中定义要分享的数据结构 $_share, 来替换微擎系统自动生成的分享数据.
$_share 结构如下:
```
<?php
$_share = array(
'title' => ?,
'link' => ?,
'imgUrl' => ?,
'content' => ?
);
?>
```
####2. js 自定义分享数据
在模板页面 {template 'common/footer'} 之前定义 window.sharedata
```
<script>
sharedata = {
'title' : ?, //
'desc' : ?, //
'link' : ?, //
'imgUrl' : ? //
}
sharedata.success = function(){
// 自定义分享成功后执行的 js 代码.
}
<script>
```
>> 示例
```
<script>
// 自定义分享数据的调用
sharedata = {
title: '微信JS-SDK Demo',
desc: '微信JS-SDK,帮助第三方为用户提供更优质的移动web服务',
link: 'http://demo.open.weixin.qq.com/jssdk/',
imgUrl: 'http://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRt8Qia4lv7k3M9J1SKqKCImxJCt7j9rHYicKDI45jRPBxdzdyREWnk0ia0N5TMnMfth7SdxtzMvVgXg/0',
success: function(){
alert('xixi');
}
};
</script>
```
如果使用系统生成分享数据, 自定义回调方法, 请这么使用.
```
<script>
// 自定义分享数据的调用, 确保 sharedata 对象存在.
sharedata = {
success: function(){
alert('xixi');
}
};
// 或
sharedata = { };
sharedata.success = function(){
alert('xixi');
}
</script>
```
详情参阅 ☞ [[dev:js:share|分享操作]]
#### 3. jssdk 接口调用
页面中添加以下代码, 用于调试
```
<script>
jssdkconfig.debug = true;
</script>
```
如果开发者想在微站页面调用 jssdk 方法, 可以这样:
```
<script>
// 自定义接口调用
require(['jquery'], function($){
wx.ready(function () {
// 图片预览
// 注意: 仅支持 DOM 选择
$('#previewImage')[0].onclick = function () {
wx.previewImage({
current: 'http://img5.douban.com/view/photo/photo/public/p1353993776.jpg',
urls: [
'http://img3.douban.com/view/photo/photo/public/p2152117150.jpg',
'http://img5.douban.com/view/photo/photo/public/p1353993776.jpg',
'http://img3.douban.com/view/photo/photo/public/p2152134700.jpg'
]
});
};
});
});
</script>
```
### 纯手工设置分享操作
不使用系统 **header** / **footer**, 需要在页面调用 **{php echo register_jssdk(true);}** 注册 **jssdk**.
具体 jssdk 方法调用请参见: [微信 JSSDK 开发文档](http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html)
>> 方法介绍
```
function register_jssdk($debug) // 参数 $debug 为 boolean, 是否使用调试.
```
>> 页面调用示例
此示例, 自动注册 jssdk, 如设置了分享借用, 将自动借用.
```
<html>
<head>
<title>测试 register_jssdk</title>
{php echo register_jssdk(true);} <!-- 放到其他引入的 js 之前 -->
</head>
<body>
<ul class="nav nav-tabs" style="margin-bottom: 10px;">
<li><a href="{php echo $this->createMobileUrl('store', array('op'=>'display'));}">全部商品</a></li>
<li class="active"><a href="{php echo $this->createMobileUrl('jssdk');}">分享测试</a></li>
</ul>
<script>
wx.ready(function () {
sharedata = {
title: '微信JS-SDK Demo',
desc: '微信JS-SDK,帮助第三方为用户提供更优质的移动web服务',
link: 'http://demo.open.weixin.qq.com/jssdk/',
imgUrl: 'http://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRt8Qia4lv7k3M9J1SKqKCImxJCt7j9rHYicKDI45jRPBxdzdyREWnk0ia0N5TMnMfth7SdxtzMvVgXg/0',
success: function(){
alert('success');
},
cancel: function(){
alert('cancel');
}
};
wx.onMenuShareAppMessage(sharedata);
});
</script>
</body>
</html>
```
- 入门
- 系统安装
- 接入公众平台
- 关键字回复
- 更上一层楼
- 编码规范
- php编码规范
- html&css编码规范
- JavaScript编码规范
- 系统概述
- 结构概述
- 入口脚本
- 微擎MVC
- URL路由&创建
- $_W&全局变量
- 加载器
- 错误处理
- 日志记录
- 模板
- 模板标签
- 数据调用
- 常用变量
- 手机端组件
- 概述及依赖
- 图像上传
- 弹出选项
- 后台组件
- 概述及依赖
- 后台文件上传
- 富文本编辑器
- 系统链接选择器
- 其它常用组件
- 数据库
- 参数绑定
- 数据操作
- 主从配置
- 连接其它数据库
- 缓存
- 配置
- 缓存操作
- Http请求
- 概述及依赖
- GET&POST请求
- 发送邮件
- 会员与积分
- 统一用户中心
- 借用OAuth
- 积分操作
- 资料操作
- 卡券
- 营销卡券
- 会员卡
- 消息响应
- 消息概述
- 消息响应
- 微信API
- 公众号AccessToken
- 共享收货地址(废弃)
- 共享收货地址(新)
- 粉丝标签
- 客服消息
- 模板消息
- 粉丝信息
- 素材
- 群发
- 二维码
- 在线支付
- 概述及依赖
- 发起支付(PHP)
- 发起支付(JS)
- 验证支付
- 模块
- 设计模块
- 目录结构
- module.php
- processor.php
- site.php
- receiver.php
- 模块高级专题
- 自定义分享
- 智能应答
- 微信卡券
- 远程附件
- 权限控制
- 特殊事件触发模块
- 粉丝信息
- 小程序
- 概述
- Uitl类
- 云服务
- 云API
- 系统接口
- 模块云配置
- 云短信
- 云短信错误代码
- 云短信发送函数
- 批量群发短信
- 应用推广
- 悬赏文案
- 折扣码
- 系统消息
- 开发者等级资料认证
- 应用标签
- 模块自动检测订阅支持
- 小程序
- 开发实例
- 参数设置
- 常见问题