THINKPHP5+微信公众号多图片上传预览

THINKPHP5+微信公众号多图片上传预览

1.首先集成JSSDK

在extend目录下创建org/wechant文件夹,新建Jssdk.php,将下面的代码放进去,在统计目录下创建access_token.php和jsapi_ticket.php,用来存放微信accesstoken以及ticket;

<?php
namespace org\wechat;

class JSSDK {
  private $appId;
  private $appSecret;
  private $path;
  public function __construct($appId, $appSecret) {
    $this->appId = $appId;
    $this->appSecret = $appSecret;
    $this->path = __DIR__.DS;
  }

  public function getSignPackage($url) {
    $jsapiTicket = $this->getJsApiTicket();

    // 注意 URL 一定要动态获取,不能 hardcode.
    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
   // $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

    $timestamp = time();
    $nonceStr = $this->createNonceStr();

    // 这里参数的顺序要按照 key 值 ASCII 码升序排序
    $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";

    $signature = sha1($string);

    $signPackage = array(
      "appId"     => $this->appId,
      "nonceStr"  => $nonceStr,
      "timestamp" => $timestamp,
      "url"       => $url,
      "signature" => $signature,
      "rawString" => $string
    );
    return $signPackage; 
  }

  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;
  }

  private function getJsApiTicket() {
    // jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例
    $data = json_decode($this->get_php_file("jsapi_ticket.php"));
    if ($data->expire_time < time()) {
      $accessToken = $this->getAccessToken();
      // 如果是企业号用以下 URL 获取 ticket
     // $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken";
      $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";
      $res = json_decode($this->httpGet($url));
      $tick
益苗易约小程序是一个基于ThinkPHP5框架和微信小程序开发的计算机毕设项目。该项目的目的是为了提供一个方便农民购买农资和农产品的平台,同时也为农民提供了一个交流和约牧的社交平台。 益苗易约小程序使用了ThinkPHP5框架进行后端开发,该框架是一种快速、可靠、扩展性强的PHP开发框架。通过使用ThinkPHP5,我们能够快速搭建起后端服务器,处理用户的请求和响应,同时也能方便地与数据库进行交互,保证系统的稳定性和可靠性。 而微信小程序则是我们选择的前端开发平台,它可以在微信内直接调用,并提供了一系列丰富的API接口。通过微信小程序,用户可以方便地浏览和购买农资和农产品,同时也能够与其他农民进行交流和约牧。 益苗易约小程序的主要功能包括: 1. 农民可以在小程序中查看并购买各类农资和农产品,并进行在线支付。 2. 农民可以通过小程序发布约牧信息,与其他农民进行交流和约牧。 3. 小程序提供了一个农民社区,农民可以在社区中分享经验和交流心得。 4. 小程序还提供了一些辅助功能,比如天气查询、农产品价格查询等。 通过开发益苗易约小程序,我们能够提供一个方便快捷的购买农资和农产品的平台,同时也能为农民提供一个交流和约牧的社交平台,方便农民们进行信息交流和资源分享。这个项目结合了ThinkPHP5框架和微信小程序的优势,能够高效地实现这些功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值