├── .gitignore ├── tests ├── Work │ ├── Media │ │ └── mock_data │ │ │ ├── test.mp4 │ │ │ ├── test.arm │ │ │ ├── test.txt │ │ │ ├── MEDIA_ID.jpg │ │ │ └── upload.json │ ├── Chat │ │ └── mock_data │ │ │ ├── create.json │ │ │ └── get.json │ ├── Department │ │ └── mock_data │ │ │ ├── create.json │ │ │ └── list.json │ ├── OA │ │ └── mock_data │ │ │ ├── createApproval.json │ │ │ └── approvalNumbers.json │ ├── QrConnect │ │ └── mock_data │ │ │ ├── user.json │ │ │ └── external_user.json │ ├── Base │ │ └── mock_data │ │ │ └── getCallbackIp.json │ ├── User │ │ └── mock_data │ │ │ ├── TagClient │ │ │ ├── create.json │ │ │ ├── list.json │ │ │ └── get.json │ │ │ ├── Client │ │ │ ├── mobileToUserId.json │ │ │ ├── openidToUserId.json │ │ │ ├── userIdToOpenid.json │ │ │ ├── getInvitationQrCode.json │ │ │ ├── invite.json │ │ │ └── getDepartmentUsers.json │ │ │ ├── BatchJobsClient │ │ │ ├── batchReplaceUsers.json │ │ │ ├── batchUpdateUsers.json │ │ │ ├── batchReplaceDepartments.json │ │ │ └── getJobStatus.json │ │ │ └── LinkedCorpClient │ │ │ ├── getAgentPermissions.json │ │ │ ├── getDepartments.json │ │ │ └── getUsers.json │ ├── Calendar │ │ └── mock_data │ │ │ ├── add.json │ │ │ └── get.json │ ├── GroupRobot │ │ └── mock_data │ │ │ ├── MEDIA_ID.jpg │ │ │ └── uploadMedia.json │ ├── Schedule │ │ └── mock_data │ │ │ └── add.json │ ├── OAuth │ │ └── mock_data │ │ │ ├── user.json │ │ │ └── external_user.json │ ├── Mobile │ │ └── Auth │ │ │ └── mock_data │ │ │ └── getUserinfo.json │ ├── CorpGroup │ │ └── mock_data │ │ │ ├── getToken.json │ │ │ ├── getMiniProgramTransferSession.json │ │ │ └── getAppShareInfo.json │ ├── ExternalContact │ │ └── mock_data │ │ │ ├── Client │ │ │ ├── getFollowUsers.json │ │ │ ├── list.json │ │ │ ├── transferGroupChat.json │ │ │ ├── getGroupChats.json │ │ │ ├── getUnassigned.json │ │ │ └── addCorpTag.json │ │ │ ├── Message │ │ │ ├── submit.json │ │ │ └── get.json │ │ │ ├── ContactWay │ │ │ └── create.json │ │ │ ├── Moment │ │ │ ├── getSendResult.json │ │ │ ├── getTasks.json │ │ │ ├── getCustomers.json │ │ │ └── getComments.json │ │ │ └── Statistics │ │ │ └── userBehavior.json │ ├── MsgAudit │ │ └── mock_data │ │ │ ├── getPermitUsers.json │ │ │ ├── getRoom.json │ │ │ └── getRoomAgreeStatus.json │ ├── MiniProgram │ │ └── Auth │ │ │ └── mock_data │ │ │ └── session.json │ ├── Message │ │ └── mock_data │ │ │ └── send.json │ ├── Jssdk │ │ └── mock_data │ │ │ ├── getTicket.json │ │ │ └── getAgentTicket.json │ ├── Live │ │ └── mock_data │ │ │ ├── getUserLivingId.json │ │ │ └── getLiving.json │ ├── Agent │ │ └── mock_data │ │ │ ├── getWorkBenchTemplate.json │ │ │ └── list.json │ ├── Server │ │ ├── Handlers │ │ │ └── mock_data │ │ │ │ └── testHandle.json │ │ └── mock_data │ │ │ └── echostr_validate_request.json │ └── Menu │ │ └── mock_data │ │ └── get.json ├── OfficialAccount │ ├── Material │ │ └── mock_data │ │ │ ├── mock_video.mp4 │ │ │ ├── mock_voice.mp3 │ │ │ ├── upload.json │ │ │ ├── get2.json │ │ │ ├── mock_image.jpg │ │ │ ├── mock_thumb.jpg │ │ │ ├── stats.json │ │ │ ├── uploadArticleImage.json │ │ │ └── get1.json │ ├── WiFi │ │ └── mock_data │ │ │ ├── device_add.json │ │ │ ├── shop_clean.json │ │ │ ├── couponput_set.json │ │ │ ├── device_delete.json │ │ │ ├── shop_update.json │ │ │ ├── qrcode_get.json │ │ │ ├── apportal_register.json │ │ │ ├── couponput_get.json │ │ │ ├── device_list.json │ │ │ ├── statistics_list.json │ │ │ └── shop_get.json │ ├── Menu │ │ └── mock_data │ │ │ ├── create3.json │ │ │ └── match.json │ ├── POI │ │ └── mock_data │ │ │ ├── delete.json │ │ │ ├── update.json │ │ │ ├── create.json │ │ │ └── categories.json │ ├── Comment │ │ └── mock_data │ │ │ ├── close.json │ │ │ ├── open.json │ │ │ ├── reply.json │ │ │ ├── delete.json │ │ │ ├── mark_elect.json │ │ │ ├── delete_reply.json │ │ │ ├── unmark_elect.json │ │ │ └── list.json │ ├── Goods │ │ └── mock_data │ │ │ ├── update.json │ │ │ ├── get.json │ │ │ ├── add.json │ │ │ ├── list.json │ │ │ └── status.json │ ├── Card │ │ └── mock_data │ │ │ ├── checkin.json │ │ │ ├── delete.json │ │ │ ├── invoice_set.json │ │ │ ├── code_deposit.json │ │ │ ├── code_disable.json │ │ │ ├── code_update.json │ │ │ ├── gift_card_set.json │ │ │ ├── set_pay_cell.json │ │ │ ├── update_stock.json │ │ │ ├── gift_card_bind.json │ │ │ ├── invoice_set_auth_field.json │ │ │ ├── member_card_activate.json │ │ │ ├── set_pay_consume_cell.json │ │ │ ├── set_test_whitelist.json │ │ │ ├── gift_card_order_refund.json │ │ │ ├── gift_card_page_update.json │ │ │ ├── meeting_ticket_update_user.json │ │ │ ├── movie_ticket_update_user.json │ │ │ ├── set_test_whitelist_by_name.json │ │ │ ├── member_card_set_activation_form.json │ │ │ ├── update.json │ │ │ ├── code_decrypt.json │ │ │ ├── code_get_deposited_count.json │ │ │ ├── create.json │ │ │ ├── create_landing_page.json │ │ │ ├── gift_card_page_add.json │ │ │ ├── list.json │ │ │ ├── gift_card_add.json │ │ │ ├── invoice_get.json │ │ │ ├── member_card_update_user.json │ │ │ ├── code_consume.json │ │ │ ├── member_card_get_activate_url.json │ │ │ ├── code_check.json │ │ │ ├── get_html.json │ │ │ ├── gift_card_page_list.json │ │ │ ├── get_user_cards.json │ │ │ ├── code_get.json │ │ │ ├── sub_merchant_get.json │ │ │ ├── sub_merchant_update.json │ │ │ ├── sub_merchant_create.json │ │ │ ├── invoice_get_auth_data.json │ │ │ ├── create_qr_code.json │ │ │ ├── gift_card_page_set_maintain.json │ │ │ ├── member_card_get_activation_form.json │ │ │ ├── categories.json │ │ │ └── invoice_get_auth_field.json │ ├── Store │ │ └── mock_data │ │ │ ├── delete.json │ │ │ ├── create_merchant.json │ │ │ ├── update_merchant.json │ │ │ ├── create.json │ │ │ ├── update.json │ │ │ ├── create_map.json │ │ │ ├── get_status.json │ │ │ └── search_map.json │ ├── User │ │ └── mock_data │ │ │ ├── tag_delete.json │ │ │ ├── tag_tagusers.json │ │ │ ├── tag_untagusers.json │ │ │ ├── tag_update.json │ │ │ ├── user_block.json │ │ │ ├── user_remark.json │ │ │ ├── user_unblock.json │ │ │ ├── tag_create.json │ │ │ ├── tag_usertags.json │ │ │ ├── user_list.json │ │ │ ├── tag_useroftags.json │ │ │ ├── user_blacklist.json │ │ │ ├── tag_list.json │ │ │ ├── user_changeopenid.json │ │ │ └── user_info.json │ ├── Broadcasting │ │ └── mock_data │ │ │ ├── delete.json │ │ │ ├── status.json │ │ │ ├── preview.json │ │ │ └── send.json │ ├── Device │ │ └── mock_data │ │ │ ├── message.json │ │ │ ├── bind.json │ │ │ ├── unbind.json │ │ │ ├── force_bind.json │ │ │ ├── force_unbind.json │ │ │ ├── status.json │ │ │ ├── verify.json │ │ │ ├── create_id.json │ │ │ ├── qr_code.json │ │ │ ├── openid.json │ │ │ ├── authorize.json │ │ │ └── list_by_openid.json │ ├── TemplateMessage │ │ └── mock_data │ │ │ ├── set_industry.json │ │ │ ├── delete_template.json │ │ │ ├── send_subscription.json │ │ │ ├── send_template.json │ │ │ ├── add_template.json │ │ │ ├── get_industry.json │ │ │ └── get_template.json │ ├── CustomerService │ │ └── mock_data │ │ │ ├── session_get.json │ │ │ ├── session_list.json │ │ │ ├── session_waiting.json │ │ │ ├── online.json │ │ │ └── messages.json │ ├── OCR │ │ └── mock_data │ │ │ ├── bank_card.json │ │ │ ├── id_card.json │ │ │ └── vehicle_license.json │ ├── ShakeAround │ │ └── mock_data │ │ │ ├── device_bindpoi.json │ │ │ ├── device_update.json │ │ │ ├── group_delete.json │ │ │ ├── group_update.json │ │ │ ├── register.json │ │ │ ├── device_bindthirdpoi.json │ │ │ ├── group_add_devices.json │ │ │ ├── group_remove_devices.json │ │ │ ├── relation_bind_page.json │ │ │ ├── page_create.json │ │ │ ├── page_delete.json │ │ │ ├── page_update.json │ │ │ ├── group_create.json │ │ │ ├── device_apply.json │ │ │ ├── material_upload_image.json │ │ │ ├── status.json │ │ │ ├── device_status.json │ │ │ ├── group_list.json │ │ │ ├── user.json │ │ │ ├── stats_page_summary.json │ │ │ ├── stats_device_summary.json │ │ │ ├── stats_pages_summary.json │ │ │ └── relation_search.json │ ├── Base │ │ └── mock_data │ │ │ ├── getValidIps.json │ │ │ └── checkCallbackUrl.json │ ├── DataCube │ │ └── mock_data │ │ │ └── Client │ │ │ ├── userCumulate.json │ │ │ ├── upstreamMessageDistMonthly.json │ │ │ ├── upstreamMessageDistSummary.json │ │ │ ├── upstreamMessageDistWeekly.json │ │ │ ├── userSummary.json │ │ │ ├── upstreamMessageSummary.json │ │ │ ├── upstreamMessageWeekly.json │ │ │ ├── upstreamMessageMonthly.json │ │ │ ├── upstreamMessageHourly.json │ │ │ ├── userShareHourly.json │ │ │ ├── interfaceSummary.json │ │ │ ├── interfaceSummaryHourly.json │ │ │ ├── userShareSummary.json │ │ │ ├── memberCardSummary.json │ │ │ ├── cardSummary.json │ │ │ ├── articleSummary.json │ │ │ ├── freeCardSummary.json │ │ │ └── memberCardSummaryById.json │ ├── OAuth │ │ └── mock_data │ │ │ ├── snsAuthFromCode.json │ │ │ └── userFromToken.json │ ├── Server │ │ └── mock_data │ │ │ └── clear_mode_request.json │ └── Semantic │ │ └── mock_data │ │ └── query.json ├── MiniProgram │ ├── Express │ │ └── mock_data │ │ │ ├── getBalance.json │ │ │ ├── deleteWaybill.json │ │ │ ├── getPrinter.json │ │ │ ├── createWaybill.json │ │ │ ├── getWaybill.json │ │ │ └── getWaybillTrack.json │ ├── Broadcast │ │ └── mock_data │ │ │ ├── getSubAnchor.json │ │ │ ├── resubmitAudit.json │ │ │ ├── downloadGoodsExplanationVideo.json │ │ │ ├── create.json │ │ │ ├── pushMessage.json │ │ │ ├── createLiveRoom.json │ │ │ ├── getPushUrl.json │ │ │ ├── getPlaybacks.json │ │ │ ├── getApproved.json │ │ │ ├── getAssistantList.json │ │ │ ├── getGoodsWarehouse.json │ │ │ ├── getShareQrcode.json │ │ │ ├── getFollowers.json │ │ │ └── getRoleList.json │ ├── NearbyPoi │ │ └── mock_data │ │ │ ├── delete.json │ │ │ ├── add.json │ │ │ ├── update.json │ │ │ └── list.json │ ├── ContentSecurity │ │ └── mock_data │ │ │ ├── checkImg.json │ │ │ ├── mock_image.jpg │ │ │ └── checkMediaAsync.json │ ├── Soter │ │ └── mock_data │ │ │ └── verifySignature.json │ ├── Mall │ │ └── mock_data │ │ │ ├── CartClient │ │ │ ├── delete.json │ │ │ └── query.json │ │ │ └── OrderClient │ │ │ └── add.json │ ├── UrlScheme │ │ └── mock_data │ │ │ └── generate.json │ ├── UrlLink │ │ └── mock_data │ │ │ └── generateUrllink.json │ ├── AppCode │ │ └── mock_data │ │ │ └── appCode.jpg │ ├── Base │ │ └── mock_data │ │ │ └── getPaidUnionid.json │ ├── ActivityMessage │ │ └── mock_data │ │ │ └── createActivityId.json │ ├── Union │ │ └── mock_data │ │ │ ├── createPromotion.json │ │ │ ├── getProductCategory.json │ │ │ └── getPromotionSourceList.json │ ├── TemplateMessage │ │ └── mock_data │ │ │ ├── add.json │ │ │ ├── getTemplates.json │ │ │ ├── get.json │ │ │ └── list.json │ ├── RiskControl │ │ └── mock_data │ │ │ └── getUserRiskRank.json │ ├── SubscribeMessage │ │ └── mock_data │ │ │ ├── addTemplate.json │ │ │ ├── getCategory.json │ │ │ ├── getTemplateKeywords.json │ │ │ ├── getTemplateTitles.json │ │ │ └── getTemplates.json │ ├── Auth │ │ └── mock_data │ │ │ └── session.json │ ├── DataCube │ │ └── mock_data │ │ │ ├── summaryTrend.json │ │ │ ├── dailyRetainInfo.json │ │ │ ├── monthlyRetainInfo.json │ │ │ ├── dailyVisitTrend.json │ │ │ ├── monthlyVisitTrend.json │ │ │ ├── weeklyVisitTrend.json │ │ │ └── weeklyRetainInfo.json │ ├── Live │ │ └── mock_data │ │ │ └── getPlaybacks.json │ ├── Plugin │ │ └── mock_data │ │ │ ├── Client │ │ │ └── list.json │ │ │ └── DevClient │ │ │ └── getUsers.json │ └── PhoneNumber │ │ └── mock_data │ │ ├── getUserPhoneNumber.json │ │ └── getUserPhoneNumber.json.json ├── bootstrap.php ├── OpenPlatform │ ├── Authorizer │ │ ├── MiniProgram │ │ │ ├── PrivacyConfig │ │ │ │ └── mock_data │ │ │ │ │ ├── melody.txt │ │ │ │ │ └── uploadPrivacyExtFile.json │ │ │ ├── Code │ │ │ │ └── mock_data │ │ │ │ │ ├── submitAudit.json │ │ │ │ │ ├── QRCode.jpg │ │ │ │ │ ├── getAuditStatus.json │ │ │ │ │ ├── getPage.json │ │ │ │ │ ├── queryQuota.json │ │ │ │ │ ├── getLatestAuditStatus.json │ │ │ │ │ ├── getGrayRelease.json │ │ │ │ │ ├── getCodePrivacyInfo.json │ │ │ │ │ ├── getVersionInfo.json │ │ │ │ │ ├── getHistoryVersion.json │ │ │ │ │ └── getSupportVersion.json │ │ │ ├── Setting │ │ │ │ └── mock_data │ │ │ │ │ ├── getSearchStatus.json │ │ │ │ │ ├── setNickname.json │ │ │ │ │ ├── isAvailableNickname.json │ │ │ │ │ ├── getDisplayedOfficialAccount.json │ │ │ │ │ ├── getNicknameAuditStatus.json │ │ │ │ │ ├── getDisplayableOfficialAccounts.json │ │ │ │ │ ├── getCategories.json │ │ │ │ │ └── getCategory.json │ │ │ ├── Tester │ │ │ │ └── mock_data │ │ │ │ │ ├── bind.json │ │ │ │ │ └── list.json │ │ │ ├── Material │ │ │ │ └── mock_data │ │ │ │ │ ├── get2.json │ │ │ │ │ ├── MEDIA_ID.jpg │ │ │ │ │ └── get1.json │ │ │ ├── PrivacyInterface │ │ │ │ └── mock_data │ │ │ │ │ └── apply.json │ │ │ ├── BetaMiniProgram │ │ │ │ └── mock_data │ │ │ │ │ ├── getMpAdminAuth.json │ │ │ │ │ └── mpVerifyBetaWeapp.json │ │ │ ├── QrCodeJump │ │ │ │ └── mock_data │ │ │ │ │ ├── download.json │ │ │ │ │ ├── getShorturl.json │ │ │ │ │ └── appCode.jpg │ │ │ ├── OpenAuth │ │ │ │ └── mock_data │ │ │ │ │ └── session.json │ │ │ ├── Embedded │ │ │ │ └── mock_data │ │ │ │ │ └── getOwnList.json │ │ │ └── Domain │ │ │ │ └── mock_data │ │ │ │ ├── modifyJumpDomainDirectly.json │ │ │ │ ├── getJumpDomainConfirmFile.json │ │ │ │ ├── getPrefetchDomain.json │ │ │ │ └── modify.json │ │ ├── Aggregate │ │ │ └── Account │ │ │ │ └── mock_data │ │ │ │ ├── bindTo.json │ │ │ │ ├── unbindFrom.json │ │ │ │ ├── create.json │ │ │ │ └── getBinding.json │ │ └── OfficialAccount │ │ │ ├── OpenOAuth │ │ │ └── mock_data │ │ │ │ ├── snsAuthFromCode.json │ │ │ │ └── userFromToken.json │ │ │ └── Account │ │ │ └── mock_data │ │ │ └── register.json │ ├── Base │ │ └── mock_data │ │ │ ├── getAuthorizerOption.json │ │ │ ├── createPreAuthorizationCode.json │ │ │ └── getAuthorizers.json │ ├── Component │ │ └── mock_data │ │ │ ├── registerPersonalWeapp.json │ │ │ └── getPersonalWeappStatus.json │ ├── BetaMiniProgram │ │ └── mock_data │ │ │ └── fastRegisterBetaWeapp.json │ ├── CodeTemplate │ │ └── mock_data │ │ │ ├── getDrafts.json │ │ │ └── list.json │ └── Server │ │ ├── mock_data │ │ └── clear_mode_request.json │ │ └── Handlers │ │ ├── mock_data │ │ └── clear_mode_VerifyTicketRefreshedHandler.json │ │ ├── AuthorizedTest.php │ │ ├── UnauthorizedTest.php │ │ └── UpdateAuthorizedTest.php └── Mock │ └── Message │ └── Stream.php ├── docs └── officialAccount │ └── README.md ├── README.md └── src ├── Kernel ├── Exceptions │ ├── Exception.php │ ├── DecryptException.php │ ├── RuntimeException.php │ ├── BadRequestException.php │ ├── InvalidArgumentException.php │ └── HttpException.php ├── Messages │ ├── File.php │ ├── Link.php │ ├── Location.php │ ├── TaskCard.php │ ├── TextCard.php │ ├── ShortVideo.php │ ├── DeviceEvent.php │ ├── MiniprogramNotice.php │ ├── Image.php │ ├── Voice.php │ ├── MiniprogramPage.php │ ├── Article.php │ ├── Card.php │ ├── NewsItem.php │ └── DeviceText.php ├── HttpClient │ └── Exception │ │ ├── TimeOutException.php │ │ ├── InvalidUrIException.php │ │ ├── Exception.php │ │ └── RequestException.php ├── Contracts │ ├── MediaInterface.php │ ├── AccessTokenInterface.php │ ├── EventHandlerInterface.php │ ├── MessageInterface.php │ ├── RequestMessageInterface.php │ ├── StreamResponseInterface.php │ └── UserInterface.php ├── ServiceProviders.php └── Providers │ └── ConfigServiceProvider.php ├── MiniProgram ├── BaseClient.php ├── Base │ └── ServiceProvider.php ├── NearbyPoi │ └── ServiceProvider.php ├── RealtimeLog │ └── ServiceProvider.php ├── Broadcast │ └── ServiceProvider.php ├── UniformMessage │ └── ServiceProvider.php ├── PhoneNumber │ └── ServiceProvider.php ├── ContentSecurity │ └── ServiceProvider.php ├── TemplateMessage │ └── ServiceProvider.php ├── AppCode │ └── ServiceProvider.php ├── UrlLink │ └── ServiceProvider.php ├── UrlScheme │ └── ServiceProvider.php ├── Live │ └── ServiceProvider.php ├── ActivityMessage │ └── ServiceProvider.php ├── Express │ └── ServiceProvider.php ├── Soter │ └── ServiceProvider.php ├── DataCube │ └── ServiceProvider.php ├── OpenData │ └── ServiceProvider.php ├── Search │ └── ServiceProvider.php ├── Union │ └── ServiceProvider.php ├── SubscribeMessage │ └── ServiceProvider.php ├── OCR │ └── ServiceProvider.php ├── RiskControl │ └── ServiceProvider.php └── CustomerService │ └── ServiceProvider.php ├── OfficialAccount ├── Card │ ├── CoinClient.php │ └── GeneralCardClient.php ├── Base │ └── ServiceProvider.php ├── Material │ └── ServiceProvider.php ├── Broadcasting │ └── ServiceProvider.php ├── OAuth │ └── ServiceProvider.php ├── OCR │ └── ServiceProvider.php ├── POI │ └── ServiceProvider.php ├── Goods │ └── ServiceProvider.php ├── Store │ └── ServiceProvider.php ├── Comment │ └── ServiceProvider.php ├── Device │ └── ServiceProvider.php ├── Semantic │ └── ServiceProvider.php ├── TemplateMessage │ └── ServiceProvider.php ├── Menu │ └── ServiceProvider.php ├── Auth │ └── ServiceProvider.php ├── AutoReplay │ └── ServiceProvider.php └── User │ └── ServiceProvider.php ├── OpenPlatform ├── BaseClient.php ├── Authorizer │ ├── Aggregate │ │ └── AggregateServiceProvider.php │ ├── MiniProgram │ │ ├── Code │ │ │ └── ServiceProvider.php │ │ ├── Domain │ │ │ └── ServiceProvider.php │ │ ├── Setting │ │ │ └── ServiceProvider.php │ │ ├── Tester │ │ │ └── ServiceProvider.php │ │ ├── Material │ │ │ └── ServiceProvider.php │ │ ├── QrCodeJump │ │ │ └── ServiceProvider.php │ │ ├── PrivacyConfig │ │ │ └── ServiceProvider.php │ │ ├── PrivacyInterface │ │ │ └── ServiceProvider.php │ │ └── BetaMiniProgram │ │ │ └── ServiceProvider.php │ └── OfficialAccount │ │ └── MiniProgram │ │ └── ServiceProvider.php ├── Server │ └── Handlers │ │ ├── AuthorizedHandler.php │ │ ├── UnauthorizedHandler.php │ │ └── UpdateAuthorizedHandler.php ├── Base │ └── ServiceProvider.php ├── Component │ └── ServiceProvider.php ├── CodeTemplate │ └── ServiceProvider.php └── BetaMiniProgram │ └── ServiceProvider.php ├── Work ├── BaseClient.php ├── OAuth │ └── ServiceProvider.php ├── QrConnect │ └── ServiceProvider.php ├── OA │ └── ServiceProvider.php ├── Live │ └── ServiceProvider.php ├── Menu │ └── ServiceProvider.php ├── Agent │ └── ServiceProvider.php ├── GroupRobot │ ├── Messages │ │ ├── File.php │ │ ├── Message.php │ │ ├── Markdown.php │ │ └── Image.php │ └── ServiceProvider.php ├── Jssdk │ └── ServiceProvider.php ├── Media │ └── ServiceProvider.php ├── Invoice │ └── ServiceProvider.php ├── MsgAudit │ └── ServiceProvider.php ├── Schedule │ └── ServiceProvider.php ├── Auth │ └── ServiceProvider.php ├── Base │ └── ServiceProvider.php ├── Chat │ └── ServiceProvider.php ├── Mobile │ └── ServiceProvider.php ├── CorpGroup │ └── ServiceProvider.php ├── Department │ └── ServiceProvider.php └── Calendar │ └── ServiceProvider.php └── BasicService ├── Media └── ServiceProvider.php ├── QrCode └── ServiceProvider.php └── Application.php /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | .idea 3 | -------------------------------------------------------------------------------- /tests/Work/Media/mock_data/test.mp4: -------------------------------------------------------------------------------- 1 | test mp4 -------------------------------------------------------------------------------- /docs/officialAccount/README.md: -------------------------------------------------------------------------------- 1 | 2 | # 目录 3 | -------------------------------------------------------------------------------- /tests/Work/Media/mock_data/test.arm: -------------------------------------------------------------------------------- 1 | test voice -------------------------------------------------------------------------------- /tests/Work/Media/mock_data/test.txt: -------------------------------------------------------------------------------- 1 | test file -------------------------------------------------------------------------------- /tests/OfficialAccount/Material/mock_data/mock_video.mp4: -------------------------------------------------------------------------------- 1 | this is mp4 -------------------------------------------------------------------------------- /tests/OfficialAccount/Material/mock_data/mock_voice.mp3: -------------------------------------------------------------------------------- 1 | this is mp3 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easy-swoole/wechat/HEAD/README.md -------------------------------------------------------------------------------- /tests/OfficialAccount/WiFi/mock_data/device_add.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0 3 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/WiFi/mock_data/shop_clean.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0 3 | } -------------------------------------------------------------------------------- /tests/MiniProgram/Express/mock_data/getBalance.json: -------------------------------------------------------------------------------- 1 | { 2 | "quota_num": 210 3 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/WiFi/mock_data/couponput_set.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0 3 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/WiFi/mock_data/device_delete.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0 3 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/WiFi/mock_data/shop_update.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0 3 | } -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | " 5 | } 6 | -------------------------------------------------------------------------------- /tests/MiniProgram/DataCube/mock_data/dailyVisitTrend.json: -------------------------------------------------------------------------------- 1 | { 2 | "list": [ 3 | { 4 | "ref_date": "20170313", 5 | "session_cnt": 142549, 6 | "visit_pv": 472351, 7 | "visit_uv": 55500, 8 | "visit_uv_new": 5464, 9 | "stay_time_session": 0, 10 | "visit_depth": 1.9838 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /tests/MiniProgram/Union/mock_data/getProductCategory.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "productCats": [ 4 | { 5 | "catId": "1234", 6 | "name": "家纺" 7 | }, 8 | { 9 | "catId": "1235", 10 | "name": "家具" 11 | }, 12 | { 13 | "catId": "1236", 14 | "name": "母婴" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /tests/MiniProgram/DataCube/mock_data/monthlyVisitTrend.json: -------------------------------------------------------------------------------- 1 | { 2 | "list": [ 3 | { 4 | "ref_date": "201703", 5 | "session_cnt": 126513, 6 | "visit_pv": 426113, 7 | "visit_uv": 48659, 8 | "visit_uv_new": 6726, 9 | "stay_time_session": 56.4112, 10 | "visit_depth": 2.0189 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/Card/mock_data/gift_card_page_list.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "page_id_list": [ 5 | "abcedfghifk=+Uasdaseq14fadkf8123h4jk", 6 | "abcedfghifk=+Uasdaseq14fadkf8123h4jl", 7 | "abcedfghifk=+Uasdaseq14fadkf8123h4jm", 8 | "abcedfghifk=+Uasdaseq14fadkf8123h4jn" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /tests/OfficialAccount/User/mock_data/tag_list.json: -------------------------------------------------------------------------------- 1 | { 2 | "tags": [ 3 | { 4 | "id": 1, 5 | "name": "每天一罐可乐星人", 6 | "count": 0 7 | }, 8 | { 9 | "id": 2, 10 | "name": "星标组", 11 | "count": 0 12 | }, 13 | { 14 | "id": 127, 15 | "name": "广东", 16 | "count": 5 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /tests/MiniProgram/DataCube/mock_data/weeklyVisitTrend.json: -------------------------------------------------------------------------------- 1 | { 2 | "list": [ 3 | { 4 | "ref_date": "20170306-20170312", 5 | "session_cnt": 986780, 6 | "visit_pv": 3251840, 7 | "visit_uv": 189405, 8 | "visit_uv_new": 45592, 9 | "stay_time_session": 54.5346, 10 | "visit_depth": 1.9735 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/Card/mock_data/get_user_cards.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "card_list": [ 5 | { 6 | "code": "xxx1434079154", 7 | "card_id": "xxxxxxxxxx" 8 | }, 9 | { 10 | "code": "xxx1434079155", 11 | "card_id": "xxxxxxxxxx" 12 | } 13 | ], 14 | "has_share_card": true 15 | } 16 | -------------------------------------------------------------------------------- /tests/Work/CorpGroup/mock_data/getAppShareInfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "corp_list": [ 5 | { 6 | "corpid": "wwcorpid1", 7 | "corp_name": "测试企业1", 8 | "agentid": 1111 9 | }, 10 | { 11 | "corpid": "wwcorpid2", 12 | "corp_name": "测试企业2", 13 | "agentid": 1112 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /tests/Work/ExternalContact/mock_data/Message/get.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "detail_list": [ 5 | { 6 | "external_userid": "wmqfasd1e19278asdasAAAA", 7 | "chat_id": "wrOgQhDgAAMYQiS5ol9G7gK9JVAAAA", 8 | "userid": "zhangsan", 9 | "status": 1, 10 | "send_time": 1552536375 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /src/Kernel/Contracts/MessageInterface.php: -------------------------------------------------------------------------------- 1 | $cardId]); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /tests/MiniProgram/Broadcast/mock_data/getAssistantList.json: -------------------------------------------------------------------------------- 1 | { 2 | "list": [ 3 | { 4 | "timestamp": 1601199369, 5 | "headimg": "http://wx.qlogo.cn/mmhead/USXYj7XUar4OmtmhpYR3IS1X54ibLgjcNjEXp3ne5C6I/0", 6 | "nickname": "nickname", 7 | "alias": "wechat", 8 | "openid": "o7esq5K76p47O-ien1kuaVAuSsvw" 9 | } 10 | ], 11 | "count": 1, 12 | "maxCount": 10, 13 | "errcode": 0 14 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/DataCube/mock_data/Client/memberCardSummary.json: -------------------------------------------------------------------------------- 1 | { 2 | "list": [ 3 | { 4 | "ref_date": "2015-06-23", 5 | "view_cnt": 0, 6 | "view_user": 0, 7 | "receive_cnt": 0, 8 | "receive_user": 0, 9 | "active_user": 0, 10 | "verify_cnt": 0, 11 | "verify_user": 0, 12 | "total_user": 86, 13 | "total_receive_user": 95 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /tests/OfficialAccount/ShakeAround/mock_data/user.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "page_id ": 14211, 4 | "beacon_info": { 5 | "distance": 55.00620700469034, 6 | "major": 10001, 7 | "minor": 19007, 8 | "uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825" 9 | }, 10 | "openid": "oVDmXjp7y8aG2AlBuRpMZTb1-cmA", 11 | " poi_id":1234 12 | }, 13 | "errcode": 0, 14 | "errmsg": "success." 15 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/User/mock_data/user_changeopenid.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "result_list": [ 5 | { 6 | "ori_openid": "oEmYbwN-n24jxvk4Sox81qedINkQ", 7 | "new_openid": "o2FwqwI9xCsVadFah_HtpPfaR-X4", 8 | "err_msg": "ok" 9 | }, 10 | { 11 | "ori_openid": "oEmYbwH9uVd4RKJk7ZZg6SzL6tTo", 12 | "err_msg": "ori_openid error" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /tests/OpenPlatform/Base/mock_data/getAuthorizers.json: -------------------------------------------------------------------------------- 1 | { 2 | "total_count": 33, 3 | "list": [ 4 | { 5 | "authorizer_appid": "authorizer_appid_1", 6 | "refresh_token": "refresh_token_1", 7 | "auth_time": 1558000607 8 | }, 9 | { 10 | "authorizer_appid": "authorizer_appid_2", 11 | "refresh_token": "refresh_token_2", 12 | "auth_time": 1558000607 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /tests/OpenPlatform/Authorizer/MiniProgram/Material/mock_data/get1.json: -------------------------------------------------------------------------------- 1 | { 2 | "news_item": [ 3 | { 4 | "title": "TITLE", 5 | "thumb_media_id": "THUMB_MEDIA_ID", 6 | "show_cover_pic": "SHOW_COVER_PIC(0/1)", 7 | "author": "AUTHOR", 8 | "digest": "DIGEST", 9 | "content": "CONTENT", 10 | "url": "URL", 11 | "content_source_url": "CONTENT_SOURCE_URL" 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /tests/Work/MsgAudit/mock_data/getRoom.json: -------------------------------------------------------------------------------- 1 | { 2 | "roomname": "蓦然回首", 3 | "creator": "ZhangWenChao", 4 | "room_create_time": 1592361604, 5 | "notice": "", 6 | "members": [ 7 | { 8 | "memberid": "ZhangWenChao", 9 | "jointime": 1592361605 10 | }, 11 | { 12 | "memberid": "xujinsheng", 13 | "jointime": 1592377076 14 | } 15 | ], 16 | "errcode": 0, 17 | "errmsg": "ok" 18 | } -------------------------------------------------------------------------------- /tests/MiniProgram/Broadcast/mock_data/getGoodsWarehouse.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "goods": [ 5 | { 6 | "goods_id": 9, 7 | "cover_img_url": "xxxx", 8 | "name": "xxxxx", 9 | "price": 12300, 10 | "url": "xxxxxxx", 11 | "price_type": 1, 12 | "price2": 0, 13 | "audit_status": 1, 14 | "third_party_tag": 0 15 | } 16 | ], 17 | "total": 0 18 | } -------------------------------------------------------------------------------- /tests/MiniProgram/DataCube/mock_data/weeklyRetainInfo.json: -------------------------------------------------------------------------------- 1 | { 2 | "ref_date": "20170306-20170312", 3 | "visit_uv_new": [ 4 | { 5 | "key": 0, 6 | "value": 0 7 | }, 8 | { 9 | "key": 1, 10 | "value": 16853 11 | } 12 | ], 13 | "visit_uv": [ 14 | { 15 | "key": 0, 16 | "value": 0 17 | }, 18 | { 19 | "key": 1, 20 | "value": 99310 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/Card/mock_data/sub_merchant_get.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "merchant_id": 12, 4 | "create_time": 1438790559, 5 | "update_time": 1438790559, 6 | "brand_name": "aaaaaa", 7 | "logo_url": "http://mmbiz.xxxx", 8 | "status": "CHECKING", 9 | "begin_time": 1438790559, 10 | "end_time": 1438990559, 11 | "primary_category_id": 1, 12 | "secondary_category_id": 101 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/OfficialAccount/DataCube/mock_data/Client/cardSummary.json: -------------------------------------------------------------------------------- 1 | { 2 | "list": [ 3 | { 4 | "ref_date": "2015-06-23", 5 | "view_cnt": 1, 6 | "view_user": 1, 7 | "receive_cnt": 1, 8 | "receive_user": 1, 9 | "verify_cnt": 0, 10 | "verify_user": 0, 11 | "given_cnt": 0, 12 | "given_user": 0, 13 | "expire_cnt": 0, 14 | "expire_user": 0 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /tests/OpenPlatform/CodeTemplate/mock_data/getDrafts.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "draft_list": [ 5 | { 6 | "create_time": 1488965944, 7 | "user_version": "VVV", 8 | "user_desc": "AAS", 9 | "draft_id": 0 10 | }, 11 | { 12 | "create_time": 1504790906, 13 | "user_version": "11", 14 | "user_desc": "111111", 15 | "draft_id": 4 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /tests/OpenPlatform/CodeTemplate/mock_data/list.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "template_list": [ 5 | { 6 | "create_time": 1488965944, 7 | "user_version": "VVV", 8 | "user_desc": "AAS", 9 | "template_id": 0 10 | }, 11 | { 12 | "create_time": 1504790906, 13 | "user_version": "11", 14 | "user_desc": "111111", 15 | "template_id": 4 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/Card/mock_data/sub_merchant_update.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "merchant_id": 12, 4 | "create_time": 1438790559, 5 | "update_time": 1438790559, 6 | "brand_name": "aaaaaa", 7 | "logo_url": "http://mmbiz.xxxx", 8 | "status": "CHECKING", 9 | "begin_time": 1438790559, 10 | "end_time": 1438990559, 11 | "primary_category_id": 1, 12 | "secondary_category_id": 101 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tests/OfficialAccount/CustomerService/mock_data/online.json: -------------------------------------------------------------------------------- 1 | { 2 | "kf_online_list" : [ 3 | { 4 | "kf_account" : 5 | "test1@test" , 6 | "status" : 1, 7 | "kf_id" : 8 | "1001" , 9 | "accepted_case" : 1 10 | }, 11 | { 12 | "kf_account" : 13 | "test2@test" , 14 | "status" : 1, 15 | "kf_id" : 16 | "1002" , 17 | "accepted_case" : 2 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /tests/OfficialAccount/OCR/mock_data/vehicle_license.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "id_num": "660601xxxxxxxx1234", 5 | "name": "张三", 6 | "sex": "男", 7 | "nationality": "中国", 8 | "address": "广东省东莞市xxxxx号", 9 | "birth_date": "1990-12-21", 10 | "issue_date": "2012-12-21", 11 | "car_class": "C1", 12 | "valid_from": "2018-07-06", 13 | "valid_to": "2020-07-01", 14 | "official_seal": "xx市公安局公安交通管理局" 15 | } 16 | -------------------------------------------------------------------------------- /tests/Work/User/mock_data/LinkedCorpClient/getDepartments.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "department_list": [ 5 | { 6 | "department_id": "1", 7 | "department_name": "测试部门1", 8 | "parentid": "0", 9 | "order": 100000000 10 | }, 11 | { 12 | "department_id": "2", 13 | "department_name": "测试部门2", 14 | "parentid": "1", 15 | "order": 99999999 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /tests/MiniProgram/Broadcast/mock_data/getShareQrcode.json: -------------------------------------------------------------------------------- 1 | { 2 | "cdnUrl": "http://mmbiz.qpic.cn/mmbiz_jpg/FVribAGdErI2jhO1hbzVDH1E5LW7VQ9D1SIvTLFmyYwkIUucJqE72icgAj6NYw92kbJRNV0zwnGZWaO0Y8T0vqlg/0", 3 | "pagePath": "plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=6209", 4 | "posterUrl": "http://mmbiz.qpic.cn/mmbiz_jpg/dlFudV139LtQn96YNHSGtVfcUkUwQaYeR5OiaJ6bPr7OZxy3yhIK3icjxop0QeRBiaDPiaxuzENtCj15zFIM8sh7ag/0", 5 | "errcode": 0 6 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/ShakeAround/mock_data/stats_page_summary.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "click_pv": 0, 5 | "click_uv": 0, 6 | "ftime": 1425052800, 7 | "shake_pv": 0, 8 | "shake_uv": 0 9 | }, 10 | { 11 | "click_pv": 0, 12 | "click_uv": 0, 13 | "ftime": 1425139200, 14 | "shake_pv": 0, 15 | "shake_uv": 0 16 | } 17 | ], 18 | "errcode": 0, 19 | "errmsg": "success." 20 | } -------------------------------------------------------------------------------- /tests/MiniProgram/Broadcast/mock_data/getFollowers.json: -------------------------------------------------------------------------------- 1 | { 2 | "followers": [ 3 | { 4 | "openid": "openid1", 5 | "subscribe_time": 1606270612, 6 | "room_status": 101, 7 | "room_id": 1 8 | }, 9 | { 10 | "openid": "openid2", 11 | "subscribe_time": 1606270612, 12 | "room_status": 101, 13 | "room_id": 1 14 | } 15 | ], 16 | "page_break": 1606270612, 17 | "errcode": 0, 18 | "errmsg": "ok" 19 | } -------------------------------------------------------------------------------- /tests/MiniProgram/Express/mock_data/getWaybill.json: -------------------------------------------------------------------------------- 1 | { 2 | "print_html": "jh7DjipP4ul4CQYUh69cniskrQZuOPwa1inAbXIqKbU0t71c0s65Au54cdWBZW0QJY4LYeofdM", 3 | "waybill_data": [ 4 | { 5 | "key": "SF_bagAddr", 6 | "value": "广州" 7 | }, 8 | { 9 | "key": "SF_mark", 10 | "value": "101- 07-03 509" 11 | } 12 | ], 13 | "delivery_id": "SF", 14 | "waybill_id": "123456", 15 | "order_id": "123456", 16 | "order_status": 0 17 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/ShakeAround/mock_data/stats_device_summary.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "click_pv": 0, 5 | "click_uv": 0, 6 | "ftime": 1425052800, 7 | "shake_pv": 0, 8 | "shake_uv": 0 9 | }, 10 | { 11 | "click_pv": 0, 12 | "click_uv": 0, 13 | "ftime": 1425139200, 14 | "shake_pv": 0, 15 | "shake_uv": 0 16 | } 17 | ], 18 | "errcode": 0, 19 | "errmsg": "success." 20 | } 21 | -------------------------------------------------------------------------------- /tests/OpenPlatform/Authorizer/MiniProgram/Code/mock_data/getHistoryVersion.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "template_list": [ 5 | { 6 | "commit_time": 1488965944, 7 | "user_version": "VVV", 8 | "user_desc": "AAS", 9 | "app_version": 111 10 | }, 11 | { 12 | "commit_time": 1504790906, 13 | "user_version": "11", 14 | "user_desc": "111111", 15 | "app_version": 222 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /src/Work/OAuth/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | " 9 | } -------------------------------------------------------------------------------- /src/MiniProgram/Base/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | $this->get('title'), 15 | 'Description' => $this->get('description'), 16 | 'Url' => $this->get('url'), 17 | 'PicUrl' => $this->get('image'), 18 | ]; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/MiniProgram/Broadcast/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | " 9 | } -------------------------------------------------------------------------------- /src/MiniProgram/UniformMessage/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | $this->get('device_type'), 15 | 'DeviceID' => $this->get('device_id'), 16 | 'SessionID' => $this->get('session_id'), 17 | 'Content' => base64_encode($this->get('content')), 18 | ]; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/OpenPlatform/Authorizer/MiniProgram/Code/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 160618098222994982940022977" 9 | } 10 | -------------------------------------------------------------------------------- /tests/Work/Calendar/mock_data/get.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "calendar_list": [ 5 | { 6 | "cal_id": "wcjgewCwAAqeJcPI1d8Pwbjt7nttzAAA", 7 | "organizer": "userid1", 8 | "readonly": 1, 9 | "summary": "test_summary", 10 | "color": "#FF3030", 11 | "description": "test_describe_1", 12 | "shares": [ 13 | { 14 | "userid": "userid2" 15 | }, 16 | { 17 | "userid": "userid1", 18 | "readonly": 1 19 | } 20 | ] 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /src/OfficialAccount/OAuth/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::OA] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/Base/mock_data/checkCallbackUrl.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": [ 3 | { 4 | "ip": "111.161.64.40", 5 | "real_operator": "UNICOM" 6 | }, 7 | { 8 | "ip": "111.161.64.48", 9 | "real_operator": "UNICOM" 10 | } 11 | ], 12 | "ping": [ 13 | { 14 | "ip": "111.161.64.40", 15 | "from_operator": "UNICOM", 16 | "package_loss": "0%", 17 | "time": "23.079ms" 18 | }, 19 | { 20 | "ip": "111.161.64.48", 21 | "from_operator": "UNICOM", 22 | "package_loss": "0%", 23 | "time": "21.434ms" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/DataCube/mock_data/Client/memberCardSummaryById.json: -------------------------------------------------------------------------------- 1 | { 2 | "list": [ 3 | { 4 | "ref_date": "2016-07-06", 5 | "merchanttype": 2, 6 | "cardid": "p4WkzwieuDBzzn7Jed6SBO0-ZgaU", 7 | "submerchantid": 0, 8 | "view_cnt": 2, 9 | "view_user": 1, 10 | "receive_cnt": 1, 11 | "receive_user": 1, 12 | "verify_cnt": 0, 13 | "verify_user": 0, 14 | "active_cnt": 1, 15 | "active_user": 1, 16 | "total_user": 249, 17 | "new_user": 0, 18 | "payOriginalFee": 0, 19 | "fee": 0 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /src/MiniProgram/UrlScheme/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::Live] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /src/Work/Menu/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::Menu] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/ShakeAround/mock_data/relation_search.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "relations": [ 4 | { 5 | "device_id": 797994, 6 | "major": 10001, 7 | "minor": 10023, 8 | "page_id": 50054, 9 | "uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825" 10 | }, 11 | { 12 | "device_id": 797994, 13 | "major": 10001, 14 | "minor": 10023, 15 | "page_id": 50055, 16 | "uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825" 17 | } 18 | ], 19 | "total_count": 2 20 | }, 21 | "errcode": 0, 22 | "errmsg": "success." 23 | } -------------------------------------------------------------------------------- /tests/OpenPlatform/Server/Handlers/AuthorizedTest.php: -------------------------------------------------------------------------------- 1 | 6 | * Date: 2021/5/13 7 | * Time: 22:54 8 | */ 9 | 10 | namespace EasySwoole\WeChat\Tests\OpenPlatform\Server\Handlers; 11 | 12 | use EasySwoole\WeChat\OpenPlatform\Server\Handlers\AuthorizedHandler; 13 | use EasySwoole\WeChat\Tests\TestCase; 14 | 15 | class AuthorizedTest extends TestCase 16 | { 17 | public function testHandler() 18 | { 19 | $handler = new AuthorizedHandler(); 20 | $this->assertNull($handler->handle()); 21 | } 22 | } -------------------------------------------------------------------------------- /src/Work/Agent/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 6 | * Date: 2021/4/27 7 | * Time: 0:09 8 | */ 9 | 10 | namespace EasySwoole\WeChat\Work\GroupRobot\Messages; 11 | 12 | 13 | class File extends Message 14 | { 15 | /** 16 | * @var string 17 | */ 18 | protected $type = 'file'; 19 | 20 | /** 21 | * File constructor. 22 | * 23 | * @param string $media_id 24 | */ 25 | public function __construct(string $media_id) 26 | { 27 | parent::__construct(compact('media_id')); 28 | } 29 | } -------------------------------------------------------------------------------- /src/Work/Jssdk/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::Jssdk] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /src/Work/Media/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::Media] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /tests/OpenPlatform/Server/Handlers/UnauthorizedTest.php: -------------------------------------------------------------------------------- 1 | 6 | * Date: 2021/5/13 7 | * Time: 22:55 8 | */ 9 | 10 | namespace EasySwoole\WeChat\Tests\OpenPlatform\Server\Handlers; 11 | 12 | use EasySwoole\WeChat\OpenPlatform\Server\Handlers\UnauthorizedHandler; 13 | use EasySwoole\WeChat\Tests\TestCase; 14 | 15 | class UnauthorizedTest extends TestCase 16 | { 17 | public function testHandle() 18 | { 19 | $handler = new UnauthorizedHandler(); 20 | $this->assertNull($handler->handle()); 21 | } 22 | } -------------------------------------------------------------------------------- /src/Kernel/Contracts/UserInterface.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::Invoice] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /tests/MiniProgram/Express/mock_data/getWaybillTrack.json: -------------------------------------------------------------------------------- 1 | { 2 | "openid": "OPENID", 3 | "delivery_id": "SF", 4 | "waybill_id": "12345678901234567890", 5 | "path_item_num": 3, 6 | "path_item_list": [ 7 | { 8 | "action_time": 1533052800, 9 | "action_type": 100001, 10 | "action_msg": "快递员已成功取件" 11 | }, 12 | { 13 | "action_time": 1533062800, 14 | "action_type": 200001, 15 | "action_msg": "快件已到达xxx集散中心,准备发往xxx" 16 | }, 17 | { 18 | "action_time": 1533072800, 19 | "action_type": 300001, 20 | "action_msg": "快递员已出发,联系电话xxxxxx" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /src/MiniProgram/Live/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::MsgAudit] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /src/Work/Schedule/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::Schedule] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/WiFi/mock_data/statistics_list.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "data": [ 4 | { 5 | "shop_id": "-1", 6 | "statis_time": 1430409600000, 7 | "total_user": 2, 8 | "homepage_uv": 0, 9 | "new_fans": 0, 10 | "total_fans": 4, 11 | "wxconnect_user": 8, 12 | "connect_msg_user": 5 13 | }, 14 | { 15 | "shop_id": "-1", 16 | "statis_time": 1430496000000, 17 | "total_user": 2, 18 | "homepage_uv": 0, 19 | "new_fans": 0, 20 | "total_fans": 4, 21 | "wxconnect_user": 4, 22 | "connect_msg_user": 3 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /src/MiniProgram/ActivityMessage/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | namespace EasySwoole\WeChat\OpenPlatform\BetaMiniProgram; 9 | 10 | use EasySwoole\WeChat\OpenPlatform\Application; 11 | use Pimple\Container; 12 | use Pimple\ServiceProviderInterface; 13 | 14 | class ServiceProvider implements ServiceProviderInterface 15 | { 16 | public function register(Container $app) 17 | { 18 | $app[Application::BetaMiniProgram] = function ($app) { 19 | return new Client($app); 20 | }; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tests/OfficialAccount/Card/mock_data/categories.json: -------------------------------------------------------------------------------- 1 | { 2 | "category": [ 3 | { 4 | "primary_category_id": 1, 5 | "category_name": "美食", 6 | "secondary_category": [ 7 | { 8 | "secondary_category_id": 101, 9 | "category_name": "粤菜", 10 | "need_qualification_stuffs": [ 11 | "food_service_license_id", 12 | "food_service_license_bizmedia_id" 13 | ], 14 | "can_choose_prepaid_card": 1, 15 | "can_choose_payment_card": 1 16 | } 17 | ], 18 | "errcode": 0, 19 | "errmsg": "ok" 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /tests/OpenPlatform/Server/Handlers/UpdateAuthorizedTest.php: -------------------------------------------------------------------------------- 1 | 6 | * Date: 2021/5/13 7 | * Time: 22:56 8 | */ 9 | 10 | namespace EasySwoole\WeChat\Tests\OpenPlatform\Server\Handlers; 11 | 12 | use EasySwoole\WeChat\OpenPlatform\Server\Handlers\UpdateAuthorizedHandler; 13 | use EasySwoole\WeChat\Tests\TestCase; 14 | 15 | class UpdateAuthorizedTest extends TestCase 16 | { 17 | public function testHandle() 18 | { 19 | $handler = new UpdateAuthorizedHandler(); 20 | $this->assertNull($handler->handle()); 21 | } 22 | } -------------------------------------------------------------------------------- /src/MiniProgram/DataCube/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class Message extends BaseMessage 14 | { 15 | public function transformForJsonRequest(array $appends = []): array 16 | { 17 | return [ 18 | 'msgtype' => $this->getType(), 19 | $this->getType() => parent::transformForJsonRequest() 20 | ]; 21 | } 22 | } -------------------------------------------------------------------------------- /tests/Work/MsgAudit/mock_data/getRoomAgreeStatus.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "agreeinfo": [ 5 | { 6 | "status_change_time": 1562766651, 7 | "exteranalopenid": "wmeDKaCQAAGdtHdiQWxVadfwV2HxNAAA", 8 | "agree_status": "Agree" 9 | }, 10 | { 11 | "status_change_time": 1562766651, 12 | "exteranalopenid": "wmeDKaCQAAIQ_p9ACyiopLBBJSGocAAA", 13 | "agree_status": "Disagree" 14 | }, 15 | { 16 | "status_change_time": 1562766651, 17 | "exteranalopenid": "wmeDKaCQAAIQ_p9ACnxacyBBJSGocAAA", 18 | "agree_status": "Default_Agree" 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /src/MiniProgram/Union/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | public function register(Container $app) 18 | { 19 | $app[Application::Union] = function ($app) { 20 | return new Client($app); 21 | }; 22 | } 23 | } -------------------------------------------------------------------------------- /src/Work/GroupRobot/Messages/Markdown.php: -------------------------------------------------------------------------------- 1 | 10 | */ 11 | class Markdown extends Message 12 | { 13 | /** 14 | * @var string 15 | */ 16 | protected $type = 'markdown'; 17 | 18 | /** 19 | * Markdown constructor. 20 | * 21 | * @param string $content 22 | */ 23 | public function __construct(string $content) 24 | { 25 | parent::__construct(compact('content')); 26 | } 27 | } -------------------------------------------------------------------------------- /src/Kernel/Exceptions/HttpException.php: -------------------------------------------------------------------------------- 1 | response = $response; 18 | } 19 | 20 | public function getResponse():?ResponseInterface 21 | { 22 | return $this->response; 23 | } 24 | } -------------------------------------------------------------------------------- /src/Work/Auth/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 6 | * Date: 2021/4/7 7 | * Time: 21:56 8 | */ 9 | 10 | namespace EasySwoole\WeChat\MiniProgram\SubscribeMessage; 11 | 12 | use EasySwoole\WeChat\MiniProgram\Application; 13 | use Pimple\Container; 14 | use Pimple\ServiceProviderInterface; 15 | 16 | class ServiceProvider implements ServiceProviderInterface 17 | { 18 | public function register(Container $app) 19 | { 20 | $app[Application::SubscribeMessage] = function ($app) { 21 | return new Client($app); 22 | }; 23 | } 24 | } -------------------------------------------------------------------------------- /src/Kernel/HttpClient/Exception/RequestException.php: -------------------------------------------------------------------------------- 1 | request = $request; 17 | parent::__construct($message, $code, $previous); 18 | } 19 | 20 | public function getRequest(): RequestInterface 21 | { 22 | return $this->request; 23 | } 24 | } -------------------------------------------------------------------------------- /src/OfficialAccount/Auth/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | /** 18 | * @param Container $app 19 | */ 20 | public function register(Container $app) 21 | { 22 | $app[Application::Base] = function ($app) { 23 | return new Client($app); 24 | }; 25 | } 26 | } -------------------------------------------------------------------------------- /src/Work/Chat/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | /** 18 | * @param Container $app 19 | */ 20 | public function register(Container $app) 21 | { 22 | $app[Application::Chat] = function ($app) { 23 | return new Client($app); 24 | }; 25 | } 26 | } -------------------------------------------------------------------------------- /src/Work/Mobile/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 15 | */ 16 | class ServiceProvider implements ServiceProviderInterface 17 | { 18 | public function register(Container $app) 19 | { 20 | $app[Application::Mobile] = function ($app) { 21 | return new Client($app); 22 | }; 23 | } 24 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/User/mock_data/user_info.json: -------------------------------------------------------------------------------- 1 | { 2 | "subscribe": 1, 3 | "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", 4 | "nickname": "Band", 5 | "sex": 1, 6 | "language": "zh_CN", 7 | "city": "广州", 8 | "province": "广东", 9 | "country": "中国", 10 | "headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0", 11 | "subscribe_time": 1382694957, 12 | "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL", 13 | "remark": "", 14 | "groupid": 0, 15 | "tagid_list":[128,2], 16 | "subscribe_scene": "ADD_SCENE_QR_CODE", 17 | "qr_scene": 98765, 18 | "qr_scene_str": "" 19 | } -------------------------------------------------------------------------------- /src/MiniProgram/OCR/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 15 | */ 16 | class ServiceProvider implements ServiceProviderInterface 17 | { 18 | public function register(Container $app) 19 | { 20 | $app[Application::RiskControl] = function ($app) { 21 | return new Client($app); 22 | }; 23 | } 24 | } -------------------------------------------------------------------------------- /tests/Work/Live/mock_data/getLiving.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "errmsg": "ok", 4 | "living_info": { 5 | "theme": "直角三角形讲解", 6 | "living_start": 1586405229, 7 | "living_duration": 1800, 8 | "status ": 3, 9 | "reserve_start": 1586405239, 10 | "reserve_living_duration": 1600, 11 | "description": "小学数学精选课程", 12 | "anchor_userid": "zhangsan", 13 | "main_department": 1, 14 | "viewer_num": 100, 15 | "comment_num": 110, 16 | "mic_num": 120, 17 | "open_replay": 1, 18 | "replay_status": 2, 19 | "type": 0, 20 | "push_stream_url": "https://www.qq.test.com", 21 | "online_count": 1, 22 | "subscribe_count": 1 23 | } 24 | } -------------------------------------------------------------------------------- /src/Work/CorpGroup/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | /** 18 | * @param Container $app 19 | */ 20 | public function register(Container $app) 21 | { 22 | $app[Application::CorpGroup] = function ($app) { 23 | return new Client($app); 24 | }; 25 | } 26 | } -------------------------------------------------------------------------------- /tests/OfficialAccount/WiFi/mock_data/shop_get.json: -------------------------------------------------------------------------------- 1 | { 2 | "errcode": 0, 3 | "data": { 4 | "shop_name": "南山店", 5 | "ssid": " WX123", 6 | "ssid_list": [ 7 | "WX123", 8 | "WX456" 9 | ], 10 | "ssid_password_list": [ 11 | { 12 | "ssid": "WX123", 13 | "password": "123456789" 14 | }, 15 | { 16 | "ssid": "WX456", 17 | "password": "21332465dge" 18 | } 19 | ], 20 | "password": "123456789", 21 | "protocol_type": 4, 22 | "ap_count": 2, 23 | "template_id": 1, 24 | "homepage_url": "http://www.weixin.qq.com/", 25 | "bar_type": 1, 26 | "sid":"", 27 | "poi_id":"285633617" 28 | } 29 | } -------------------------------------------------------------------------------- /src/Work/Department/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class ServiceProvider implements ServiceProviderInterface 16 | { 17 | /** 18 | * @param Container $app 19 | */ 20 | public function register(Container $app) 21 | { 22 | $app[Application::Department] = function ($app) { 23 | return new Client($app); 24 | }; 25 | } 26 | } -------------------------------------------------------------------------------- /src/Work/GroupRobot/Messages/Image.php: -------------------------------------------------------------------------------- 1 | 10 | */ 11 | class Image extends Message 12 | { 13 | /** 14 | * @var string 15 | */ 16 | protected $type = 'image'; 17 | 18 | /** 19 | * Image constructor. 20 | * 21 | * @param string $base64 22 | * @param string $md5 23 | */ 24 | public function __construct(string $base64, string $md5) 25 | { 26 | parent::__construct(compact('base64', 'md5')); 27 | } 28 | 29 | 30 | 31 | 32 | } -------------------------------------------------------------------------------- /src/OpenPlatform/Authorizer/MiniProgram/BetaMiniProgram/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | namespace EasySwoole\WeChat\OpenPlatform\Authorizer\MiniProgram\BetaMiniProgram; 9 | 10 | use EasySwoole\WeChat\OpenPlatform\Authorizer\MiniProgram\Application; 11 | use Pimple\Container; 12 | use Pimple\ServiceProviderInterface; 13 | 14 | class ServiceProvider implements ServiceProviderInterface 15 | { 16 | public function register(Container $app) 17 | { 18 | $app[Application::BetaMiniProgram] = function ($app) { 19 | return new Client($app); 20 | }; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/MiniProgram/CustomerService/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 15 | */ 16 | class ServiceProvider implements ServiceProviderInterface 17 | { 18 | /** 19 | * @param Container $app 20 | */ 21 | public function register(Container $app) 22 | { 23 | $app[Application::Calendar] = function ($app) { 24 | return new Client($app); 25 | }; 26 | } 27 | } -------------------------------------------------------------------------------- /src/OfficialAccount/User/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | getConfig()); 20 | }; 21 | } 22 | } 23 | } --------------------------------------------------------------------------------