微信签名的设置

public function actionStationShare(){
        $appId = "wxd9d820ef5950a00a";
        $Secret = "addfa2636c1e9a0ee63e89fe2e5c9b0b";
        $url = Yii::$app->request->get(‘url‘);
        $token = $this->getAccessToken($appId,$Secret);
        $ticket = $this->getJsApiTicket($token);
        $timestamp = time();
        $nonceStr = $this->createNonceStr();
        $string = "jsapi_ticket=".$ticket."&noncestr=".$nonceStr."&timestamp=".$timestamp."&url=".$url;
        $signature = sha1($string);
        $signPackage = array(
          "appId"     => $appId,
          "noncestr"  => $nonceStr,
          "timestamp" => $timestamp,
          "url"       => $url,
          "signature" => $signature,
          "rawString" => $string
        );
        return Helper::format_data ( SUCC, $signPackage );
    }
private function getAccessToken($appId,$Secret) {
        // access_token 应该全局存储与更新,以下代码以写入到文件中做示例
          // 如果是企业号用以下URL获取access_token
          // $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";
          $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$Secret;
          $res = json_decode($this->httpGet($url));
          $access_token = $res->access_token;
          return $access_token;
      }
private function getJsApiTicket($token) {
        // jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例
          // 如果是企业号用以下 URL 获取 ticket
          // $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$token";
          $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=".$token;
          $res = json_decode($this->httpGet($url));
          $ticket = $res->ticket;
          return $ticket;
      }
private function createNonceStr($length = 16) {
        $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        $str = "";
        for ($i = 0; $i < $length; $i++) {
          $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
        }
        return $str;
      }
时间: 2024-11-02 23:28:52

微信签名的设置的相关文章

微信开发笔记:微信浏览器分享设置以及回调

在微信中分享给好友/分享到朋友圈这个功能应该是比较常用的了,就拿分享到朋友圈举例,分享出去的内容在朋友圈的展示是以一张小图片+一个简单的介绍的形式来给好友看到的,点击后才是详情,那么这么一来,这张小图片和这段小简介就直接成为了这个被分享后的内容的被点击率的重中之重.在默认情况下,这张图片会载入内容主题部分的第一张大图片,而简介只会加载一个网址.这样的展示方式还是相当不尽如人意的,那我们来看一下这一些内容,是通过什么形式来设置的,拿PHP来做一个举例: 首先我们需要有一个公众号,并且获得appid

android的微信签名

目标: 已经在微信官网申请了账号了,想要在上面开发应用,必须首先对应用进行审核.在审核之前,需要填写应用的相关信息,包括名称.图标.用途说明.签名等. 下面介绍如何获取程序的签名. 解决方案: 选择程序,右键--->android tools --->签名发布,按步骤生成一个签名keystore和一个经过签名的apk,安装该APK到手机: 选择自己的程序,右键运行到手机,然后http://open.weixin.qq.com/download/sdk/gen_signature.apk 下载签

微信分享图标设置,以及wx.config配置

最近公司要求我做一个关于页面分享微信显示小图和描述的功能,由于之前没有做过,所以说是从零开始,看jssdk说明文档,网上搜索各种资料,甚至连三四年前的内容都搜索出来了,也试过以前的简单方法,包括在页面设置一个隐藏的图片,宽高都是300像素,微信就会抓取这张图片做为分享图片,但经本人测试无法使用,后来查到了原因,是微信对自定义分享内容作了限制,于是最终还是得回到配置wx.config上来. wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端a

Payment:微信支付配置文件设置说明

项目GitHub地址:https://github.com/helei112g/payment 微信支付个人觉得在帐号设置上有些麻烦,帐号太多啦,支付宝目前就是一个应用基本涵盖了所有的接口开发. 可能是由于微信支付的后端是财付通,反正咱们写代码的,也别管那么多.理清楚各配置的关系,然后写出高质量的代码就好. 关于如何申请微信支付,只讲两个问题,服务号支付能力的申请在公众号后后台申请,app应用的支付能力申请在开发者中心申请.其他细节请自行查询. 登陆微信商户平台:https://pay.weix

获取微信签名

微信开发----配置权限获取签名 url @POST @Path("getJsApi") public DataCenter<Object> getJsApi(String url){ DataCenter<Object> netData = new DataCenter<Object>(); String times = Long.toString(System.currentTimeMillis()/1000); String nonceStr

[教程] 微信支付如何设置商户支付密钥(密钥Key)

新版的微信支付改动比较大,新增了一个API密钥,好多用户都不知道是啥,也不知道如何设置,现在我来和大家说一下具体的操作步骤:1.登录微信商户号后,找到账户设置 -> 密码安全 -> API安全 -> API密钥:<IGNORE_JS_OP> 2,设置密钥Key,设置好之后,复制到网站后台即可. 3,进你后台 -> 功能选项 -> 支付参数 -> 设置微信支付 -> 选择新版接口类型      会看到新增一项商户支付密钥(密钥Key/api):复制填写刚

微信小程序设置服务器地址

1. 首先登录微信公众平台小程序账号,点击左下角的设置,然后点击右边的开发设置 2. 然后下边就有服务器域名: 3. 就可以在这里进行修改,假设你实际使用的地址是https://www.baidu.com,那么填写的时候只需要填写www.baidu.com就可以了.https://的部分是公众平台会自动补充上去的. 4. request合法域名基本上一定要填写,因为只要小程序需要服务器,基本上就需要这个设置.socket合法域名一般是小程序功能涉及即时通信时需要.uploadFile合法域名和d

微信小程序设置横竖屏

情况:使用LayaBox发布的微信小游戏,我在微信开发者工具上面编译,发现我明明想要的是横屏的但是结果显示竖屏,我查看菜单栏,配置,最后找到设置的方法. 解决:在game.json中有一项属性设置:"deviceOrientation":"portrait",当前设置竖屏,将其设置为:"deviceOrientation":"landscape",为横屏. 原文地址:https://www.cnblogs.com/losoph

微信小程序设置滚动条

前言 又很久没有写东西了,上周开始将一个APP和一个网站的内容整合到微信小程序中,到这会儿终于搞得快结束了,才发现为啥我的小程序滚动视图没有滚动条,这是闹哪样,没有滚动条的滚动是没有灵魂的. 客官可移步http://fanjiajia.cn/2019/07/02/wxxcx/flx1/本文若有出入,请指正--来自小渣渣的颤抖 原因 原来在app.wxss中定义了如下的内容[不知道是不是新建项目自动生成的,这里也就提供了隐藏滚动条的思路啦] ::-webkit-scrollbar { width: