| .. |
|
test_bx_advance_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_bx_advance_withdraw.py
|
9d06e1830e
feat(bx): add advance apply withdraw API
|
1 месяц назад |
|
test_bx_child_differential_save.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_bx_invoice_ledger.py
|
99e4d4c69a
fix(bx): allow reimburse submit when invoice wallet balance is insufficient
|
2 месяцев назад |
|
test_bx_invoice_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_bx_list_sort.py
|
9ead177dc3
feat(bx): add datetime list sort helpers and get_paged order_by.
|
1 месяц назад |
|
test_bx_optional_date.py
|
3b8a0eb7d8
feat(bx): add parse_optional_date for nullable occur dates
|
2 месяцев назад |
|
test_bx_payment_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_bx_reimburse_import.py
|
a52fe77e34
提交
|
2 месяцев назад |
|
test_bx_reimburse_list_filters.py
|
85559bd414
提交
|
2 недель назад |
|
test_bx_reimburse_my_page_size.py
|
f342208a8a
feat(bx): raise my reimburses pageSize max to 500 for apply list pilot
|
2 месяцев назад |
|
test_bx_reimburse_title_seq.py
|
c270d14057
提交
|
1 месяц назад |
|
test_crm_approval_reedit.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_crm_batch1_remaining_column_facet.py
|
c55f22a603
提交
|
4 недель назад |
|
test_crm_child_differential_save.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_crm_clue_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_contract_approval_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_contract_attachment_clear.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_crm_contract_change_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_contract_default_sort.py
|
05559def40
提交
|
1 месяц назад |
|
test_crm_contract_keyword.py
|
05559def40
提交
|
1 месяц назад |
|
test_crm_contract_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_contract_name_from_parties.py
|
5cf67f60d1
提交
|
2 месяцев назад |
|
test_crm_contract_no_align.py
|
5cf67f60d1
提交
|
2 месяцев назад |
|
test_crm_contract_package_duplicate.py
|
318b934b86
提交
|
3 недель назад |
|
test_crm_contract_reedit_to_draft.py
|
1dfcc66d2c
提交
|
1 месяц назад |
|
test_crm_contract_template_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_customer_column_facet.py
|
c55f22a603
提交
|
4 недель назад |
|
test_crm_customer_list_filters.py
|
3bb905bc20
feat(crm): add customer list column filter builder.
|
1 месяц назад |
|
test_crm_facet_context.py
|
6a8cd90b98
feat: cascade column facet options by current list context
|
2 недель назад |
|
test_crm_framework_contract_amount.py
|
83192719b0
提交
|
1 месяц назад |
|
test_crm_list_sort.py
|
e6af68a2c3
feat(crm): add whitelist datetime list sort helper.
|
1 месяц назад |
|
test_crm_missing_identity_patch.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_crm_name_pinyin_search.py
|
d26fb23fcf
提交
|
2 месяцев назад |
|
test_crm_opportunity_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_package_spec.py
|
b430e75a4b
提交
|
1 месяц назад |
|
test_crm_price_letter_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_product_column_facet.py
|
5d9fb5ce19
提交“
|
1 неделя назад |
|
test_crm_product_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_product_metadata_diff.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_crm_product_options_keyword.py
|
ba3f2c19bb
feat: store and search product name pinyin initials.
|
2 месяцев назад |
|
test_crm_product_read_contract.py
|
9177e1b7f1
提交“
|
1 неделя назад |
|
test_crm_quote_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_crm_settlement_clause.py
|
8558d9439e
提交
|
2 месяцев назад |
|
test_crm_supplier_hazard.py
|
bede140d12
提交
|
3 месяцев назад |
|
test_crm_tier_date_identity.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_data_scope.py
|
f5ab023ab5
feat(auth): 扩展数据权限核心能力并接入系统管理辅助接口
|
4 месяцев назад |
|
test_db_inventory_id.py
|
c3be9d1dce
提交
|
4 месяцев назад |
|
test_db_inventory_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_db_inventory_plan_lock.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_db_list_sort.py
|
100b0880f0
feat(db): add datetime column dual-caret sort on inventory and weighing lists.
|
1 месяц назад |
|
test_db_plan_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_db_resolve_crm_product.py
|
f3693be913
提交
|
2 месяцев назад |
|
test_db_weighing_complete.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_db_weighing_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_delete_guard.py
|
d84f4b944c
提交
|
4 месяцев назад |
|
test_dict_ensure.py
|
d26fb23fcf
提交
|
2 месяцев назад |
|
test_doclib.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_doclib_api.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_duty_child_diff.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_duty_missing_identity_patch.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_duty_schedule.py
|
05559def40
提交
|
1 месяц назад |
|
test_excel_export_helpers.py
|
4a194aa25e
feat(backend): add list export column filter and row-count guards
|
2 месяцев назад |
|
test_id_card_age.py
|
1938a9b76a
提交
|
2 месяцев назад |
|
test_menu_favorite_crud.py
|
7898d65437
feat: add menu favorites API under /web/admin/menu-favorites
|
2 месяцев назад |
|
test_migration_clear_modes_disabled.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_mobile_quote_contact_sync.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_mp_webview_auth_api.py
|
5eb7b0b193
feat(backend): exchange miniprogram webview tickets for JWT sessions.
|
1 месяц назад |
|
test_mp_webview_ticket.py
|
86694f739f
提交
|
1 месяц назад |
|
test_pinyin_abbr.py
|
fa9b3429c7
feat: add pinyin initial abbr helper for CRM names.
|
2 месяцев назад |
|
test_pl_arrange_auto_start_execute.py
|
19c5aaa8f5
提交
|
2 месяцев назад |
|
test_pl_brand_archive.py
|
c279472994
提交
|
1 неделя назад |
|
test_pl_calendar_customer_names.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_calendar_vehicle_types.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_carrier_eligible.py
|
d92bd7940e
fix(pl): 取消承运商审核与资质协议准入门禁
|
3 месяцев назад |
|
test_pl_cert_differential_save.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_child_differential_save.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_contract_plan_qty.py
|
318b934b86
提交
|
3 недель назад |
|
test_pl_contract_qty_arrange_check.py
|
3011cb9dae
feat(pl): hard-block over-limit contract qty on arrange and remind after success
|
2 месяцев назад |
|
test_pl_customer_stop_pref_service.py
|
e56d227fe8
feat(pl): add customer stop pref service and unit tests
|
2 месяцев назад |
|
test_pl_delivery_times_aggregate.py
|
9c5a1cfb8e
feat(pl): aggregate unique delivery dates from stop rows
|
1 месяц назад |
|
test_pl_dibang_date_sync_on_plan_save.py
|
19c5aaa8f5
提交
|
2 месяцев назад |
|
test_pl_dibang_legacy_idempotent.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_dibang_plan_quantity.py
|
63a1209620
提交
|
2 месяцев назад |
|
test_pl_dibang_upsert_on_arrange.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_dispatch_calendar.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_pl_dispatch_calendar_migration.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_document_reminder_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_pl_driver_plan_service.py
|
b430e75a4b
提交
|
1 месяц назад |
|
test_pl_facet_context.py
|
6a8cd90b98
feat: cascade column facet options by current list context
|
2 недель назад |
|
test_pl_feedback_brand_qty.py
|
5a9abfdd5d
fix(pl): keep multi-brand site feedback when plan product row is stale
|
3 месяцев назад |
|
test_pl_freight_list_filters.py
|
85559bd414
提交
|
2 недель назад |
|
test_pl_freight_party_customers.py
|
318b934b86
提交
|
3 недель назад |
|
test_pl_freight_unsettled_q_filter.py
|
318b934b86
提交
|
3 недель назад |
|
test_pl_full_row_clear_restoration.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_inventory_differential_archive.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_pl_io_order_enrichment.py
|
f3693be913
提交
|
2 месяцев назад |
|
test_pl_io_order_list_filters.py
|
7f05162fd1
提交
|
1 месяц назад |
|
test_pl_io_order_site_feedback_status.py
|
10c3c5470c
chore: sync local PL/CRM/BX and migration work to new Gogs host
|
3 месяцев назад |
|
test_pl_list_sort.py
|
45a6fc5cc5
feat(pl): add datetime column dual-caret sort on scoped transport lists.
|
1 месяц назад |
|
test_pl_master_data_list_filters.py
|
85559bd414
提交
|
2 недель назад |
|
test_pl_menu_badge_plan_cert.py
|
c55f22a603
提交
|
4 недель назад |
|
test_pl_menu_badge_recharge.py
|
a3a32ccaaa
fix(pl): show recharge type fuel as 油卡 in API labels.
|
2 недель назад |
|
test_pl_menu_badge_recharge_approval.py
|
a3a32ccaaa
fix(pl): show recharge type fuel as 油卡 in API labels.
|
2 недель назад |
|
test_pl_mobile_product_identity.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_mobile_stop_meta.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_parent_missing_identity.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_personnel_cert_required.py
|
272c68af4b
提交
|
2 месяцев назад |
|
test_pl_personnel_missing_identity.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_personnel_sys_user_bind.py
|
26b096ae38
feat(pl): bind sys user on personnel and snapshot selectedEscortId
|
1 месяц назад |
|
test_pl_plan_archive_export.py
|
c279472994
提交
|
1 неделя назад |
|
test_pl_plan_archive_stop_service.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_pl_plan_archive_zip_export.py
|
81e52477de
feat(pl): build archive export zip with relative hyperlinks.
|
1 месяц назад |
|
test_pl_plan_arrange_copy_flags.py
|
c55f22a603
提交
|
4 недель назад |
|
test_pl_plan_belongs_company_contract.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_pl_plan_cancel_archive_status.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_pl_plan_cert_list_filters.py
|
f3693be913
提交
|
2 месяцев назад |
|
test_pl_plan_column_facet_context.py
|
6a8cd90b98
feat: cascade column facet options by current list context
|
2 недель назад |
|
test_pl_plan_contract_gap.py
|
ebf006eeff
提交
|
2 месяцев назад |
|
test_pl_plan_contract_gap_export.py
|
9177e1b7f1
提交“
|
1 неделя назад |
|
test_pl_plan_copy_seq.py
|
811e6a129f
feat(pl): allocate copy_seq_no on first driver plan share-to-group
|
3 недель назад |
|
test_pl_plan_create_date.py
|
349e031790
feat(pl): persist create_date on plan create APIs
|
3 месяцев назад |
|
test_pl_plan_draft_save.py
|
f28e82c1b3
feat(backend): add draft save helpers for plan follow status drafting
|
1 месяц назад |
|
test_pl_plan_execution_lock.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_pl_plan_list_attachments.py
|
4611dbc2b2
提交
|
2 месяцев назад |
|
test_pl_plan_list_export.py
|
c279472994
提交
|
1 неделя назад |
|
test_pl_plan_list_filters.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_plan_package_validate.py
|
ded6aeaa85
feat(pl): require contract package spec on plan stop save
|
1 месяц назад |
|
test_pl_plan_price_mask.py
|
ce70265c92
feat(backend): add plan archive price mask helpers
|
1 месяц назад |
|
test_pl_plan_print_service.py
|
4611dbc2b2
提交
|
2 месяцев назад |
|
test_pl_plan_product_certs.py
|
9177e1b7f1
提交“
|
1 неделя назад |
|
test_pl_plan_product_upsert.py
|
2e5b05f477
fix(pl): reject unknown plan product ids on upsert with 422.
|
1 месяц назад |
|
test_pl_plan_requires_site_link.py
|
4611dbc2b2
提交
|
2 месяцев назад |
|
test_pl_plan_resolve_driver.py
|
f3693be913
提交
|
2 месяцев назад |
|
test_pl_plan_resolve_escort.py
|
ca3062b0e2
feat(pl): optional escort selection on transport arrange
|
1 месяц назад |
|
test_pl_plan_single_contract_rules.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_pl_plan_stock_role_filter.py
|
63f19d2672
feat(pl): add stockRole filter for plan list by stop customer
|
2 недель назад |
|
test_pl_plan_stop_rules.py
|
bde19c0644
feat: 锁定执行中计划并按装卸明细差量归档库存,补齐派车日历数量与酸碱类型。
|
1 день назад |
|
test_pl_plan_stop_service.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_plan_stop_upsert.py
|
6a7dfbcd38
feat(pl): upsert plan deliveries by stable id on save.
|
1 месяц назад |
|
test_pl_public_link_archived.py
|
f3693be913
提交
|
2 месяцев назад |
|
test_pl_public_stop_sku_merge.py
|
318b934b86
提交
|
3 недель назад |
|
test_pl_public_transport_history.py
|
0e90b1d949
feat(pl): add transport history helpers and schemas
|
2 месяцев назад |
|
test_pl_scan_cert_expiry.py
|
c55f22a603
提交
|
4 недель назад |
|
test_pl_stop_dibang_differential.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_stop_missing_identity.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_trailer_cert_rules.py
|
44749ae716
提交
|
2 месяцев назад |
|
test_pl_transport_address_notes_schema.py
|
22b92ea056
feat(pl): add notes column on transport address library
|
1 месяц назад |
|
test_pl_transport_arrange_optional_driver.py
|
ca3062b0e2
feat(pl): optional escort selection on transport arrange
|
1 месяц назад |
|
test_pl_transport_arrange_optional_escort.py
|
ca3062b0e2
feat(pl): optional escort selection on transport arrange
|
1 месяц назад |
|
test_pl_transport_rearrange_tokens.py
|
4e3c2a9ffb
fix(pl): keep driver/site tokens stable on rearrange.
|
1 месяц назад |
|
test_pl_transport_site_service.py
|
b430e75a4b
提交
|
1 месяц назад |
|
test_pl_transport_stop_feedback.py
|
4611dbc2b2
提交
|
2 месяцев назад |
|
test_pl_tripartite_cert_gates.py
|
b071687a71
fix(pl): 三方车辆与人员保存跳过必备证书校验
|
3 месяцев назад |
|
test_pl_vehicle_fuel_card.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_vehicle_fuel_list_filters.py
|
85559bd414
提交
|
2 недель назад |
|
test_pl_vehicle_fuel_month_km.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_vehicle_fuel_summary.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_vehicle_ops_list_filters.py
|
85559bd414
提交
|
2 недель назад |
|
test_pl_vehicle_personnel_photo_schema.py
|
479851ba4c
feat(pl): expose photoUrls on vehicle and personnel APIs
|
2 месяцев назад |
|
test_pl_vehicle_recharge_apply_zip_export.py
|
c9fb39395c
提交
|
1 месяц назад |
|
test_pl_vehicle_recharge_mine_vehicles.py
|
c55f22a603
提交
|
4 недель назад |
|
test_pl_vehicle_recharge_summary.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pl_vehicle_recharge_workflow.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_post_users_omission.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_pound_qr_label_items.py
|
10183dabc2
feat(backend): expose pound QR items on driver transport page
|
1 месяц назад |
|
test_public_db_pound_qr.py
|
87ed40512c
feat(backend): add public pound-qr endpoint by inventory id
|
1 месяц назад |
|
test_public_db_vehicle_plates.py
|
5f2a6f2338
feat: public vehicle plate options for H5 fill pages; select-only plates
|
2 месяцев назад |
|
test_quote_approver_setting.py
|
3aafae6a9d
feat(crm): add quote approver setting id helpers and unit tests
|
3 месяцев назад |
|
test_resolve_product_id_no_auto_create.py
|
1ba1f38321
提交
|
1 месяц назад |
|
test_role_workflow_semantics_restoration.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_system_child_diff.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_vehicle_fuel_schema.py
|
1ba1f38321
提交
|
1 месяц назад |
|
test_vehicle_recharge_types.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wechat_approval_notices.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wechat_cert_notices.py
|
027d1751a3
fix: 增加周五证件到期微信汇总通知,保持说明与发送规则一致。
|
1 день назад |
|
test_wechat_cert_schedule.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wechat_completion_notices.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wechat_extra_delivery.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wechat_login_resolve.py
|
7ccd1f553e
feat(backend): resolve wechat login user by phone and bind openid.
|
1 месяц назад |
|
test_wechat_mini_auth_phone.py
|
3d003e8d37
feat(backend): add wechat mini auth helpers and user phone lookups.
|
1 месяц назад |
|
test_wechat_notice_binding.py
|
e7c1762113
fix: 小程序服务号绑定先打开门户域名再跳转微信授权。
|
1 день назад |
|
test_wechat_notice_bx_sources.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wechat_notice_crm_sources.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wechat_notice_events.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wechat_oa_client.py
|
459b820f95
chore: 保存恢复本会话改动前的工作区检查点。
|
2 дней назад |
|
test_wx_qr_api.py
|
98e31c88b2
feat(api): confirm web QR login from mini program phone auth.
|
1 месяц назад |
|
test_wx_qr_session.py
|
1e7c8bde3b
test(auth): force in-memory backend for wx-qr session unit tests.
|
1 месяц назад |
|
test_wxacode.py
|
22634330d5
feat(wechat): generate unlimited mini program codes for web QR login.
|
1 месяц назад |