├── .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 | }
--------------------------------------------------------------------------------