PHP code example of qinii / wechat-mini-program
1. Go to this page and download the library: Download qinii/wechat-mini-program library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
qinii / wechat-mini-program example snippets
use Qinii\WechatCore\Enum\ApplicationType;
use Qinii\WechatMiniProgram\MiniProgram;
$miniProgram = MiniProgram::create([
'default' => [
ApplicationType::MINI_PROGRAM => [
'app_id' => 'wx1234567890',
'appsecret' => 'your-app-secret',
'token' => 'your-callback-token',
'aes_key' => 'your-encoding-aes-key',
'use_stable_access_token' => true,
'http' => [
'timeout' => 5,
],
],
],
]);
use Qinii\WechatCore\Config\ConfigResolver;
use Qinii\WechatMiniProgram\MiniProgram;
$miniProgram = new MiniProgram(
configResolver: $configResolver,
accountName: 'default',
);
// 切换账号,不修改原门面
$other = $miniProgram->account('other');
// 注入 PSR-16 缓存,生产环境建议使用 Redis 等共享缓存
$miniProgram->setCache($cache);
// 注入 Symfony HttpClientInterface 实例
$miniProgram->setHttpClient($httpClient);
// 获取底层 EasyWeChat 应用,调用尚未封装的接口
$application = $miniProgram->application();
use Qinii\WechatCore\Http\SwooleHttpClient;
$miniProgram->setHttpClient(new SwooleHttpClient([
'http_version' => '1.1',
'timeout' => 5,
]));
$session = $miniProgram->auth()->codeToSession($code);
$openid = $session['openid'];
$sessionKey = $session['session_key'];
$userData = $miniProgram->auth()->decryptData(
$sessionKey,
$iv,
$encryptedData,
);
$phone = $miniProgram->auth()->getPhoneNumber($phoneCode);
$binary = $miniProgram->qrCode()->unlimited('order:1001', [
'page' => 'pages/order/detail',
'width' => 280,
'check_path' => true,
]);
$miniProgram->qrCode()->saveUnlimited(
'order:1001',
'/absolute/path/order-1001.png',
['page' => 'pages/order/detail'],
);
$result = $miniProgram->urlLink()->generate(
'pages/order/detail',
'id=1001',
['is_expire' => false],
);
$media = $miniProgram->media()->uploadImage('/absolute/path/cover.jpg');
$textResult = $miniProgram->contentSecurity()->checkText(
content: $content,
scene: 2,
openId: $openid,
);
$mediaResult = $miniProgram->contentSecurity()->checkMedia(
mediaUrl: $imageUrl,
mediaType: 2,
scene: 2,
openId: $openid,
);
$categories = $miniProgram->subscribe()->getCategories();
$keywords = $miniProgram->subscribe()
->getTemplateKeywords($templateTitleId);
$template = $miniProgram->subscribe()->addTemplate(
$templateTitleId,
[1, 2, 3],
'订单状态通知',
);
$miniProgram->subscribe()->send(
openId: $openid,
templateId: $template['priTmplId'],
data: [
'character_string1' => 'ORDER-1001',
'amount2' => ['value' => '99.00 元'],
],
page: 'pages/order/detail?id=1001',
);
$miniProgram->shipping()->uploadByOutTradeNo(
merchantId: $mchId,
outTradeNo: $outTradeNo,
logisticsType: 1,
shippingList: [[
'tracking_no' => 'SF1234567890',
'express_company' => 'SF',
'item_desc' => '商品名称*1',
'contact' => [
'receiver_contact' => '138****8000',
],
]],
payerOpenId: $openid,
);
$miniProgram->shipping()->upload($payload);
$miniProgram->shipping()->uploadCombined($combinedPayload);
$miniProgram->shipping()->getOrder($order);
$miniProgram->shipping()->getOrderList($query);
$cover = $miniProgram->media()->uploadImage('/absolute/path/cover.jpg');
$share = $miniProgram->media()->uploadImage('/absolute/path/share.jpg');
$feeds = $miniProgram->media()->uploadImage('/absolute/path/feeds.jpg');
$room = $miniProgram->live()->createRoom([
'name' => '新品直播间',
'coverImg' => $cover['media_id'],
'startTime' => $startTime,
'endTime' => $endTime,
'anchorName' => '主播昵称',
'anchorWechat' => 'anchor_wechat',
'shareImg' => $share['media_id'],
'feedsImg' => $feeds['media_id'],
'type' => 1,
'closeLike' => 0,
'closeGoods' => 0,
'closeComment' => 0,
]);
$rooms = $miniProgram->live()->getRooms();
$pushUrl = $miniProgram->live()->getPushUrl($room['roomId']);
$miniProgram->live()->importGoods($room['roomId'], $goodsIds);
$result = $miniProgram->live()->raw(
'POST',
'wxaapi/broadcast/example',
['json' => $payload],
);
bash
WECHAT_VENDOR_AUTOLOAD=/absolute/path/vendor/autoload.php php tests/run.php