微信小程序生成太阳码

https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=access_token

必须通过POST提交

而且参数必须是JSON的格式

<?php

/**
 * curl请求数据
 *
 * @param string $url 请求地址
 * @param array $param 请求参数
 * @param string $contentType 请求参数格式(json)
 * @return boolean|mixed
 */
function https_request($url = '', $param = [], $contentType = ''){
    $ch = curl_init();

    // 请求地址
    curl_setopt($ch, CURLOPT_URL, $url);

    // 请求参数类型
    $param = $contentType == 'json' ? json_encode($param) : $param;

    // 关闭https验证
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

    // post提交
    if($param){
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
    }

    // 返回的数据是否自动显示
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // 执行并接收响应结果
    $output = curl_exec($ch);

    // 关闭curl
    curl_close($ch);

    return $output !== false ? $output : false;
}

$access_token="10_X1w4ypXMdfliiv4orym7n7Ur8UMV3LsPAyyBng-DOjcZfAW1mlfKb1BAvBQuBIMUvk_Bq2lv3E2TI8QLvTrnmy1TBxoDeXu_JvR_sobPBkUimmA-aNasktu-J6UWLCgAAAFUL";
$request_url='https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$access_token;
$request_data=array(
    'scene'=>'abcdef',
    'page'=>'pages/home/index',
    'width'=>'690'
);

print_r(https_request($request_url,$request_data,'json'));

这里有几点需要注意,page参数中的值一定要是小程序中存在的。

这里的access_token是用小程序的Appid和AppSecret生成的。之前还傻乎乎的去开启公众号的APPSecret。

再一个,这里返回的数据,不是JSON数据,而是二维码图片数据。

如何通过postman操作呢?

万能的POSTMAN啊。

{"page":"pages/home/index","scene":"abcdef","width":690}

封装

封装接口

// 获取太阳码
public function get_xcx_code() {
        $uid = $_POST['uid'];
        if (!$uid) {
            $this->json->setErr('10001', '缺少参数');
            $this->json->Send();
        }

        // 获取用户信息
        $user_model = M('user');
        $user_info  = $user_model->where(['id'=>$uid])->find();
        if (!$user_info) {
            $this->json->setErr('10002', '用户不存在');
            $this->json->Send();
        }

        $scene = $user_info['invite_code'];

        vendor('Func.Http');
        $request_data = [
            'scene' => $scene,
            'page'  => "pages/home/index",
            'width' => 690
        ];

        $request_url='https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$this->get_access_token();
        $result = Http::doPostJson($request_url,$request_data);
        header('Content-Type: image/jpeg; charset=UTF-8');
        echo $result;exit;
}

封装post请求

// 通过POST方式发送json数据
static public function doPostJson($url = '', $param = [] ,$contentType = 'json') {
        $ch = curl_init();
        // 请求地址
        curl_setopt($ch, CURLOPT_URL, $url);
        // 请求参数类型
        $param = $contentType == 'json' ? json_encode($param) : http_build_query($param);
        // 关闭https验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        // post提交
        if($param){
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
        }
        // 返回的数据是否自动显示
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        // 执行并接收响应结果
        $output = curl_exec($ch);
        // 关闭curl
        curl_close($ch);
        return $output !== false ? $output : false;
}

原文地址:https://www.cnblogs.com/jiqing9006/p/9117836.html

时间: 2024-10-30 13:10:40

微信小程序生成太阳码的相关文章

小程序生成太阳码,遇到47001 的问题

{"errcode":,"errmsg":"data format error hint: [gLcIIa01102372]"} $request_data = [ 'scene' => $order_num, // 这里我试了如果不传scene 会报这样的错误!!!! 'page' => "pages/order/destory", // ]; $access_token = $this->_get_acc

微信小程序生成二维码插件基于base64-weapp-qrcode.js

weapp-qrcode 微信小程序生成二维码的插件,基于base64编码输出二维码,不依赖canvas 详情demo可以去github上预览-weapp-qrcode.js https://github.com/Pudon/weapp-qrcode =.=,加个star那就更好了 PS: 主要在node-yaqrcode项目基础上进行改造适应微信小程序 说明 只需要在 wxml 文件中增加个image标签动态引用base64编码即可 <image src="{{qrcodeURL}&qu

微信小程序源码下载(200多个)

微信小程序源码下载汇总,点击标题进入对应的微信小程序下载页面. 最新 demo源码(点击标题进入帖子下载) 描述 1 微信小程序 会议室预定小程序 微信小程序 会议室预定小程序**** 本内容被作者隐藏 **** 2 微信小程序-双人五子棋小游戏 微信小程序-双人五子棋小游戏**** 本内容被作者隐藏 **** 3 打卡签到小程序 用微信小程序实现的一个简单的打卡签到的小程序拒绝 4 微信小程序---左滑删除 微信小程序---左滑删除**** 本内容被作者隐藏 **** 5 一个借钱的记事本的微

11款手机微信小游戏源码特效

html5微信吃苹果游戏源码下载 html5手机淘宝万能时装屋小游戏源码下载 html5 3d拳王游戏制作3D拳击游戏源码下载 html5 3d拼图游戏制作3D魔方游戏源码下载 htm5 3d游戏制作3D熊出没游戏源码下载 html5微信小游戏超级染色游戏源码下载 html5读心术小游戏源码下载_读心术微信小游戏源码下载 找你歌微信html5游戏源码下载_找你歌微信游戏源码下载 方言等级考试游戏源码下载_方言等级测试微信游戏源码下载 中秋节吃月饼游戏html5微信游戏源码下载 9款html5微信

两步获取微信小程序源码

1.wxappUnpacker https://github.com/qwerty472123/wxappUnpacker 2.只需两步获取任何微信小程序源码 https://zhuanlan.zhihu.com/p/37667537 原文地址:https://www.cnblogs.com/mlch/p/9602045.html

只需两步快速获取微信小程序源码

只需两步快速获取微信小程序源码 第一次在掘金这样高大上的社区写文章,忐忑地敲下我获取小程序源码过程中的经验分享. 最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了某个小程序的前端实现,过程一言难尽,差不多两周时间过去了,发现小程序的坑远比想象的要多的多!!在实际练手中,完全是黑盒的,纯靠推测,部分效果在各种尝试后能能做出大致的实现,但是有些细节,实在不知道如何去实现.这种时候,真的很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的一些比较奇葩的坑. 于是就

【转】反编译获取任何微信小程序源码(完)

一.前言最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了一个阿里妈妈淘宝客小程序的前端实现,过程一言难尽,差不多两周时间过去了,发现小程序的坑远比想象的要多的多!!在实际练手中,完全是黑盒的,看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来.很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的各种奇葩的坑. 于是就想到获取到小程序地源文件,然后再对其进行反编译还原为源代码,来作为学习参考.我百度了

反编译获取小程序源码,怎么找回微信小程序源码?

看了很多反编译.找回微信小程序源码很多教程,各种问题导致都没法正常使用.微信版本升级后,会遇到各种报错, 以及无法获取到wxss的问题.查阅各种资料,最终解决,于是贴上完整的微信小程序反编译方案与教程. 下面内容(8月6日版本)仅作学习使用. 微信小程序反编译截图1 微信小程序反编译截图2 ------ 常见的微信小程序反编译失败问题 ----- 1 获取不到Wxss     2 遇见分包,无法反编译.   3 apkg反编译报错. ( 目前都已解决) 一 准备工具 1 node.js  运行环

微信小程序源码案例大全

微信小程序demo:足球,赛事分析 小程序简易导航 小程序demo:办公审批 小程序Demo:电魔方 小程序demo:借阅伴侣 微信小程序demo:投票 微信小程序demo:健康生活 小程序demo:文章列表demo 微商城(含微信小程序)完整源码+配置指南 微信小程序Demo:一个简单的工作系统 微信小程序Demo:用于聚会的小程序 微信小程序Demo:Growth 是一款专注于Web开发者成长的应用,- 微信小程序Demo: Music-Player 微信小程序Demo:团贷网(投资) 微信