前台:
<td><a class="show-company_user_qrcode" href="javascript:void(0);" data-id="{$vo.id}"><i class="fa fa-qrcode"></i></i></a></td>
js 扫码绑定
// 二维码绑定
$(document).on('click', '.show-company_user_qrcode', function () {
var uid = $(this).data('id');
var url = 'http://wechat.yibuxinxi.com/wechat/bindCompanyUserQrcode';
$.get(url, {id: uid}, function (result) {
imagePreviewDialog(result.data.qrcode);
});
});
js 调用这个函数
public function bindCompanyUserQrcode()
{
// 允许跨域请求
header("Access-Control-Allow-Origin: *");
$id = (int)$_GET['id'];
$task = Wechat::getSence('\\Dragon\\Company\\CompanyUser', 'bindTask', $id);
$this->result($task, 0, 'success', 'json');
}
调用 Wechat::getSence()
// create sence: 场景指向 class & actoin & 附带参数
public static function getSence($class, $taskname, $params) {
$task = $class::{'get'.ucfirst($taskname)}($params);
$sence = array(
'class' => $class,
'task_name' => $taskname,
'task_id' => $task['id'],
'timestamp' => time(),
);
$task['sence_id'] = static::instance('sence')->insertGetId($sence);
$qrcode = static::instance('sdk')->getQRCode($task['sence_id']);
$task['qrcode'] = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.$qrcode['ticket'];
return $task;
}
返回 task 再用图片生成生成二维码
imagePreviewDialog(result.data.qrcode);
/**
* 查看图片对话框
* @param img 图片地址
*/
function imagePreviewDialog(img) {
Wind.css('layer');
Wind.use("layer", function () {
layer.photos({
photos: {
"title": "", //相册标题
"id": 'image_preview', //相册id
"start": 0, //初始显示的图片序号,默认0
"data": [ //相册包含的图片,数组格式
{
"alt": "",
"pid": 666, //图片id
"src": img, //原图地址
"thumb": img //缩略图地址
}
]
} //格式见API文档手册页
, anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机
shadeClose: true,
// skin: 'layui-layer-nobg',
shade: [0.5, '#000000'],
shadeClose: true,
})
});
}