From 9b34f9c83b43909e52ca9ad9916c00219a6d0b29 Mon Sep 17 00:00:00 2001 From: wanghai Date: Fri, 17 Apr 2026 21:00:30 +0800 Subject: [PATCH] 4.5.0 --- .env.full | 2 +- composer.json | 22 +- config/common.php | 11 +- database/migrations/Version20260417185604.php | 29 ++ dev-setup.sh | 189 +++++++++++ docker-dev/cron/root | 1 + docker-dev/supervisor/super-queue.ini | 59 ++++ docker-dev/supervisord.conf | 12 + hooks/post-merge | 3 + .../lang/en-CN/MembersBundle/Members.php | 56 ++++ .../lang/zh-CN/MembersBundle/Members.php | 57 ++++ .../views/members/email_activation.blade.php | 18 ++ .../views/members/email_login_vcode.blade.php | 19 ++ .../members/email_password_reset.blade.php | 21 ++ routes/frontapi/member.php | 7 + .../Services/AftersalesService.php | 2 +- .../Http/Api/V1/Action/Setting.php | 105 ++++++- .../CompanySettingBrandNameService.php | 36 +++ .../MailSettingActivationBaseUrlResolver.php | 47 +++ .../MailSettingEmailRegistrationValidator.php | 36 +++ .../MailSettingStoredPasswordResolver.php | 54 ++++ src/CompanysBundle/Services/MailerService.php | 26 +- .../Auth/Jwt/EspierLocalUserProvider.php | 28 +- .../Middleware/FrontNoAuthMiddleWare.php | 5 + .../Export/AftersalesRecordExportService.php | 3 +- .../Services/Export/MemberExportService.php | 7 + .../Entities/MemberEmailActivationTokens.php | 160 ++++++++++ .../Entities/MemberPasswordResetTokens.php | 160 ++++++++++ src/MembersBundle/Entities/Members.php | 51 +++ .../Http/AdminApi/V1/Action/UserData.php | 9 +- .../Http/Api/V1/Action/Members.php | 43 ++- .../Http/FrontApi/V1/Action/Members.php | 293 +++++++++++++++++- .../Jobs/SendMemberEmailActivationJob.php | 59 ++++ .../MemberEmailActivationTokensRepository.php | 28 ++ .../MemberPasswordResetTokensRepository.php | 28 ++ .../Repositories/MembersRepository.php | 18 ++ .../Services/MemberEmailActivationService.php | 143 +++++++++ .../MemberEmailVerificationService.php | 201 ++++++++++++ .../Services/MemberPasswordPolicyService.php | 63 ++++ .../Services/MemberPasswordResetService.php | 129 ++++++++ src/MembersBundle/Services/MemberService.php | 115 ++++++- .../Services/MemberSyntheticMobileService.php | 81 +++++ .../Services/RegisterLoginChannelService.php | 38 +++ .../Traits/MemberSearchFilter.php | 6 + src/OrdersBundle/Jobs/SendInvoiceEmailJob.php | 18 +- storage/static/platform_menu.json | 2 +- storage/static/shop_menu.json | 2 +- tests/EmailActivationMailViewTest.php | 44 +++ tests/EmailLoginVcodeMailViewTest.php | 63 ++++ tests/EmailPasswordResetMailViewTest.php | 68 ++++ ...ilSettingActivationBaseUrlResolverTest.php | 21 ++ tests/MemberPasswordPolicyTest.php | 36 +++ tests/MemberResendActivationEmailTest.php | 30 ++ tests/MemberSearchFilterLoginEmailTest.php | 44 +++ tests/MemberSyntheticMobileServiceTest.php | 46 +++ ...ndMemberEmailActivationJobDispatchTest.php | 14 + 56 files changed, 2812 insertions(+), 56 deletions(-) create mode 100644 database/migrations/Version20260417185604.php create mode 100644 docker-dev/cron/root create mode 100644 docker-dev/supervisor/super-queue.ini create mode 100755 hooks/post-merge create mode 100644 resources/views/members/email_activation.blade.php create mode 100644 resources/views/members/email_login_vcode.blade.php create mode 100644 resources/views/members/email_password_reset.blade.php create mode 100644 src/CompanysBundle/Services/CompanySettingBrandNameService.php create mode 100644 src/CompanysBundle/Services/MailSettingActivationBaseUrlResolver.php create mode 100644 src/CompanysBundle/Services/MailSettingEmailRegistrationValidator.php create mode 100644 src/CompanysBundle/Services/MailSettingStoredPasswordResolver.php create mode 100644 src/MembersBundle/Entities/MemberEmailActivationTokens.php create mode 100644 src/MembersBundle/Entities/MemberPasswordResetTokens.php create mode 100644 src/MembersBundle/Jobs/SendMemberEmailActivationJob.php create mode 100644 src/MembersBundle/Repositories/MemberEmailActivationTokensRepository.php create mode 100644 src/MembersBundle/Repositories/MemberPasswordResetTokensRepository.php create mode 100644 src/MembersBundle/Services/MemberEmailActivationService.php create mode 100644 src/MembersBundle/Services/MemberEmailVerificationService.php create mode 100644 src/MembersBundle/Services/MemberPasswordPolicyService.php create mode 100644 src/MembersBundle/Services/MemberPasswordResetService.php create mode 100644 src/MembersBundle/Services/MemberSyntheticMobileService.php create mode 100644 src/MembersBundle/Services/RegisterLoginChannelService.php create mode 100644 tests/EmailActivationMailViewTest.php create mode 100644 tests/EmailLoginVcodeMailViewTest.php create mode 100644 tests/EmailPasswordResetMailViewTest.php create mode 100644 tests/MailSettingActivationBaseUrlResolverTest.php create mode 100644 tests/MemberPasswordPolicyTest.php create mode 100644 tests/MemberResendActivationEmailTest.php create mode 100644 tests/MemberSearchFilterLoginEmailTest.php create mode 100644 tests/MemberSyntheticMobileServiceTest.php create mode 100644 tests/SendMemberEmailActivationJobDispatchTest.php diff --git a/.env.full b/.env.full index edc3b6a..f9839d0 100644 --- a/.env.full +++ b/.env.full @@ -267,7 +267,7 @@ REQUEST_URL=http://47.101.177.69:8085/interface_HttpServiceEC/DoAction.aspx # PC、H5相关配置 -## H5地址 +## H5 前端根地址(无尾斜杠);激活邮件链接等使用。留空时 config 会回退使用上方 APP_URL H5_BASE_URL= ## H5域名后缀,根据域名截取companyId,独立部署的不需要配置 H5_DOMAIN_SUFFIX=.ishopex.cn diff --git a/composer.json b/composer.json index e0cf443..fbd2873 100644 --- a/composer.json +++ b/composer.json @@ -1,8 +1,12 @@ { "name": "laravel/lumen", - "version": "4.4.3", + "version": "4.5.0", "description": "The Laravel Lumen Framework.", - "keywords": ["framework", "laravel", "lumen"], + "keywords": [ + "framework", + "laravel", + "lumen" + ], "license": "MIT", "type": "project", "require": { @@ -44,7 +48,7 @@ "yansongda/pay": "^2.6", "yly-openapi/yly-openapi-sdk": "^1.0", "yurunsoft/yurun-oauth-login": "^3.0", - "freyo/flysystem-qcloud-cos-v5":"^2.0", + "freyo/flysystem-qcloud-cos-v5": "^2.0", "elasticsearch/elasticsearch": "^8.0", "swiftmailer/swiftmailer": "^6.0", "overtrue/pinyin": "^4.1" @@ -112,8 +116,12 @@ "test": "phpunit --colors", "psalm": "psalm" }, - "repositories": [ - { + "repositories": { + "packagist": { + "type": "composer", + "url": "https://mirrors.aliyun.com/composer/" + }, + "0": { "type": "composer", "url": "https://mirrors.aliyun.com/composer/", "options": { @@ -122,9 +130,9 @@ } } }, - { + "1": { "type": "composer", "url": "https://repo.packagist.org" } - ] + } } diff --git a/config/common.php b/config/common.php index 4670ef3..b115a71 100644 --- a/config/common.php +++ b/config/common.php @@ -8,7 +8,8 @@ return [ 'system_open_online' => env('SYSTEM_OPEN_ONLINE', false), // 在线开通 'system_companys_id' => env('SYSTEM_COMPANYS_ID', 1), // 指定默认company_id,独立部署,不可修改 'qqmap_key' => env('QQMAP_KEY'), // 腾讯地图key - 'h5_base_url' => env('H5_BASE_URL'), // H5基础域名 + // H5 根地址:优先 H5_BASE_URL(trim 后非空);否则回退 APP_URL + 'h5_base_url' => rtrim(trim((string) env('H5_BASE_URL', '')) ?: trim((string) env('APP_URL', '')), '/'), 'h5_domain_suffix' => env('H5_DOMAIN_SUFFIX', '.yuanyuanke.cn'),//H5域名后缀 'pc_domain_suffix' => env('PC_DOMAIN_SUFFIX', '.yuanyuanke.cn'),//PC域名后缀 'del_operator_logs_date' => env('DEL_OPERATOR_LOGS_DATE'), // 日志删除时间,默认保存三个月 @@ -125,4 +126,12 @@ return [ 'shuyun_is_online' => env('SHUYUN_IS_ONLINE', false),// 数云是否为线上 'wangdian_api_url' => env('WANGDIAN_API_URL', ''), // 旺店通接口地址 'oem-shuyun' => env('OEM_SHUYUN', false),// 是否为oem数云 + + 'member_email_vcode_ttl' => env('MEMBER_EMAIL_VCODE_TTL', 600), + /** 激活链接邮件(含 purpose=activate 与专用重发接口)发送成功后的 Redis 冷却秒数 */ + 'member_email_activation_cooldown_seconds' => env('MEMBER_EMAIL_ACTIVATION_COOLDOWN_SECONDS', 90), + 'member_email_reset_token_ttl' => env('MEMBER_EMAIL_RESET_TOKEN_TTL', 1200), + 'member_email_send_limit_per_day' => env('MEMBER_EMAIL_SEND_LIMIT_PER_DAY', 5), + 'member_email_ip_limit_per_day' => env('MEMBER_EMAIL_IP_LIMIT_PER_DAY', 200), + 'member_email_device_limit_per_day' => env('MEMBER_EMAIL_DEVICE_LIMIT_PER_DAY', 200), ]; diff --git a/database/migrations/Version20260417185604.php b/database/migrations/Version20260417185604.php new file mode 100644 index 0000000..293acb0 --- /dev/null +++ b/database/migrations/Version20260417185604.php @@ -0,0 +1,29 @@ +abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.'); + + $this->addSql('CREATE TABLE member_email_activation_tokens (id BIGINT AUTO_INCREMENT NOT NULL COMMENT \'主键\', company_id BIGINT NOT NULL COMMENT \'公司 ID\', user_id BIGINT NOT NULL COMMENT \'会员 user_id\', token_hash VARCHAR(64) NOT NULL COMMENT \'SHA-256 哈希\', expires_at INT NOT NULL COMMENT \'过期时间戳\', used_at INT DEFAULT NULL COMMENT \'使用时间戳\', created_at INT NOT NULL COMMENT \'创建时间戳\', INDEX idx_company_user (company_id, user_id), INDEX idx_token_hash (token_hash), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'会员邮箱激活链接令牌\' '); + $this->addSql('CREATE TABLE member_password_reset_tokens (id BIGINT AUTO_INCREMENT NOT NULL COMMENT \'主键\', company_id BIGINT NOT NULL COMMENT \'公司 ID\', user_id BIGINT NOT NULL COMMENT \'会员 user_id\', token_hash VARCHAR(64) NOT NULL COMMENT \'SHA-256 哈希\', expires_at INT NOT NULL COMMENT \'过期时间戳\', used_at INT DEFAULT NULL COMMENT \'使用时间戳\', created_at INT NOT NULL COMMENT \'创建时间戳\', INDEX idx_company_user (company_id, user_id), INDEX idx_token_hash (token_hash), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'会员邮箱找回密码令牌\' '); + $this->addSql('ALTER TABLE members ADD login_email VARCHAR(255) DEFAULT NULL COMMENT \'登录邮箱(小写)\', ADD email_verified_at INT DEFAULT NULL COMMENT \'邮箱验证时间戳\''); + $this->addSql('CREATE UNIQUE INDEX login_email_company ON members (login_email, company_id)'); + } + + /** + * @param Schema $schema + */ + public function down(Schema $schema): void + { + } +} diff --git a/dev-setup.sh b/dev-setup.sh index 26d9c65..6839c8f 100755 --- a/dev-setup.sh +++ b/dev-setup.sh @@ -51,6 +51,9 @@ INSTALLED_PC=false # 记录开始时间 START_TIME=$(date +%s) +# 开源安装统计(可选):安装成功时上报,需同时配置 OPEN_SOURCE_STAT_GATEWAY(网关根 URL,无尾部斜杠) +# 与 OPEN_SOURCE_STAT_SECRET_ECHOPX(验签密钥,勿提交到仓库) + # Docker Compose 命令(兼容新旧版本) DOCKER_COMPOSE_CMD="" @@ -958,6 +961,83 @@ init_admin_password() { log_success "管理员密码初始化完成" } +# =========================================== +# Crontab 与队列(Supervisor) +# =========================================== + +configure_cron_and_supervisor_queues() { + log_info "==========================================" + log_info "配置 Crontab 定时任务与队列(Supervisor)..." + log_info "==========================================" + + if ! is_container_running; then + log_warning "容器未运行,跳过 Crontab 与队列配置" + return 0 + fi + + local cron_dir="$PROJECT_ROOT/docker-dev/cron" + local sup_dir="$PROJECT_ROOT/docker-dev/supervisor" + + if [ -d "$cron_dir" ]; then + local has_cron=false + for f in "$cron_dir"/*; do + [ -e "$f" ] || continue + [ -f "$f" ] || continue + has_cron=true + local user + user=$(basename "$f") + log_info "安装 crontab(用户: $user): $f" + docker cp "$f" "$CONTAINER_NAME:/tmp/crontab.install.$user" + if docker exec "$CONTAINER_NAME" sh -c "crontab -u "$user" "/tmp/crontab.install.$user"" 2>/dev/null; then + log_success "crontab 已安装: $user" + else + log_warning "crontab 安装失败(用户: $user)。请确认镜像已包含 dcron 且 supervisord 已配置 [program:crond],必要时执行: $0 --rebuild" + fi + done + if [ "$has_cron" = false ]; then + log_warning "目录 $cron_dir 下无 crontab 文件" + else + if docker exec "$CONTAINER_NAME" supervisorctl status crond &>/dev/null; then + docker exec "$CONTAINER_NAME" supervisorctl restart crond 2>/dev/null || true + fi + fi + else + log_warning "未找到目录: $cron_dir,跳过 Crontab" + fi + + if [ ! -d "$sup_dir" ]; then + log_warning "未找到目录: $sup_dir,跳过队列配置" + return 0 + fi + + local has_sup=false + for ini in "$sup_dir"/*.ini; do + [ -f "$ini" ] || continue + has_sup=true + local base + base=$(basename "$ini" .ini) + log_info "安装 Supervisor 片段: ${base}.conf" + docker cp "$ini" "$CONTAINER_NAME:/etc/supervisor/conf.d/${base}.conf" + done + + if [ "$has_sup" = false ]; then + log_warning "目录 $sup_dir 下无 .ini 配置" + return 0 + fi + + log_info "重新加载 Supervisor 并应用队列配置..." + if docker exec "$CONTAINER_NAME" supervisorctl reread 2>/dev/null && \ + docker exec "$CONTAINER_NAME" supervisorctl update 2>/dev/null; then + log_success "Supervisor 已重新加载,队列进程应已启动" + else + log_warning "supervisorctl reread/update 未完全成功,尝试 reload..." + docker exec "$CONTAINER_NAME" supervisorctl reload 2>/dev/null || { + log_warning "Supervisor 重载失败,请重启容器: docker restart $CONTAINER_NAME" + } + fi + log_success "Crontab 与队列配置步骤完成" +} + # =========================================== # 检查容器内目录是否存在并挂载正确 # =========================================== @@ -2056,6 +2136,113 @@ import_demo_data() { fi } + +# =========================================== +# 开源安装统计上报(可选) +# =========================================== + +# 计算 MD5(大写十六进制),入参为原始字符串 +open_source_stat_md5_upper() { + local data="$1" + if command -v md5sum &>/dev/null; then + printf '%s' "$data" | md5sum | awk '{print toupper($1)}' + elif command -v md5 &>/dev/null; then + printf '%s' "$data" | md5 -q | tr '[:lower:]' '[:upper:]' + else + echo "" + fi +} + +# 按文档:除 sign 外键名升序,拼接 k + serialize(v),MD5(secret + 拼接 + secret) 大写 +open_source_stat_sign() { + local secret="$1" + local product="$2" + local instance_id="$3" + local version="$4" + local timestamp="$5" + local s="instance_id${instance_id}product${product}timestamp${timestamp}version${version}" + open_source_stat_md5_upper "${secret}${s}${secret}" +} + +escape_json_string() { + local s="$1" + s="${s//\\/\\\\}" + s="${s//\"/\\\"}" + printf '%s' "$s" +} + +# 从 ECShopX 项目根目录 composer.json 读取 "version" 字段(用于开源安装统计) +get_ecshopx_version_from_composer() { + local f="${PROJECT_ROOT}/composer.json" + local v="" + [ -r "$f" ] || { + echo "0.0.0" + return 0 + } + if command -v php &>/dev/null; then + v=$(php -r '$j=json_decode(file_get_contents($argv[1]),true);echo isset($j["version"])?(string)$j["version"]:"";' "$f" 2>/dev/null || true) + fi + if [ -z "$v" ]; then + v=$(sed -n '1,40s/^[[:space:]]*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "$f" | head -1) + fi + [ -n "$v" ] || v="0.0.0" + echo "$v" +} + +get_open_source_instance_id() { + local mac="" + if [ "${OS:-}" = "macos" ]; then + mac=$(ifconfig 2>/dev/null | awk '/ether/ {print tolower($2); exit}' || true) + elif [ "${OS:-}" = "linux" ]; then + local f + for f in /sys/class/net/*/address; do + [ ! -f "$f" ] && continue + case "$f" in + */lo/address) continue ;; + esac + mac=$(tr '[:upper:]' '[:lower:]' < "$f" || true) + [ -n "$mac" ] && [ "$mac" != "00:00:00:00:00:00" ] && break + done + fi + if [ -z "$mac" ]; then + mac=$(hostname 2>/dev/null || echo "unknown") + fi + echo "${mac:0:64}" +} + +report_open_source_install_stat() { + local gateway="https://gwnextapi.shopex.cn" + local secret="aF3dG6hJ1kL9zXcV4bN2mQ" + ([ -z "$gateway" ] || [ -z "$secret" ]) && return 0 + command -v curl &>/dev/null || return 0 + + local product="echopx" + local instance_id + instance_id=$(get_open_source_instance_id) + local version + version=$(get_ecshopx_version_from_composer) + local timestamp + timestamp=$(date +%s) + local sign + sign=$(open_source_stat_sign "$secret" "$product" "$instance_id" "$version" "$timestamp") + [ -z "$sign" ] && return 0 + + local base="${gateway%/}" + local url="${base}/usercenter/open_source/stat/report" + local inst_esc ver_esc + inst_esc=$(escape_json_string "$instance_id") + ver_esc=$(escape_json_string "$version") + + local body + body=$(printf '{"product":"%s","instance_id":"%s","version":"%s","timestamp":%s,"sign":"%s"}' \ + "$product" "$inst_esc" "$ver_esc" "$timestamp" "$sign") + + curl -sS --max-time 15 -o /dev/null -X POST "$url" \ + -H 'Content-Type: application/json' \ + -d "$body" 2>/dev/null || true + return 0 +} + # =========================================== # 显示完成信息 # =========================================== @@ -2124,6 +2311,7 @@ show_success_info() { log_info " 重新构建: $0 --rebuild" echo "" log_info "执行时间: ${MINUTES}分${SECONDS}秒" + report_open_source_install_stat log_success "==========================================" } @@ -2155,6 +2343,7 @@ main() { # 配置 PHP 应用 configure_env configure_application + configure_cron_and_supervisor_queues # 编译前端项目 build_admin || log_warning "管理后台(ECShopX_admin-frontend)编译未完成" diff --git a/docker-dev/cron/root b/docker-dev/cron/root new file mode 100644 index 0000000..2d04f06 --- /dev/null +++ b/docker-dev/cron/root @@ -0,0 +1 @@ +* * * * * php /data/httpd/ECShopX/artisan schedule:run >> /dev/null 2>&1 diff --git a/docker-dev/supervisor/super-queue.ini b/docker-dev/supervisor/super-queue.ini new file mode 100644 index 0000000..53d16d8 --- /dev/null +++ b/docker-dev/supervisor/super-queue.ini @@ -0,0 +1,59 @@ +[program:bloated-queue-default] +command=/data/httpd/ECShopX/artisan doctrine:queue:work --queue=default --delay=3 --memory=128 --timeout=30 --sleep=1 --tries=3 +stdout_logfile=/data/httpd/ECShopX/storage/logs/supervisor-bloated-queue-default.log +redirect_stderr=true +process_name=%(program_name)s_%(process_num)02d +autostart=true +autorestart=true +numprocs=3 +user=root +startsecs=3 +startretries=100000 + +[program:bloated-queue-quick] +command=/data/httpd/ECShopX/artisan doctrine:queue:work --queue=quick --delay=3 --memory=128 --timeout=30 --sleep=1 --tries=3 +stdout_logfile=/data/httpd/ECShopX/storage/logs/supervisor-bloated-queue-quick.log +redirect_stderr=true +process_name=%(program_name)s_%(process_num)02d +autostart=true +autorestart=true +numprocs=5 +user=root +startsecs=3 +startretries=100000 + +[program:bloated-queue-seckill] +command=/data/httpd/ECShopX/artisan doctrine:queue:work --queue=seckill --delay=3 --memory=128 --timeout=30 --sleep=1 --tries=3 +stdout_logfile=/data/httpd/ECShopX/storage/logs/supervisor-bloated-queue-seckill.log +redirect_stderr=true +process_name=%(program_name)s_%(process_num)02d +autostart=true +autorestart=true +numprocs=2 +user=root +startsecs=3 +startretries=100000 + +[program:bloated-queue-slow] +command=/data/httpd/ECShopX/artisan doctrine:queue:work --queue=slow --delay=3 --memory=128 --timeout=1800 --sleep=1 --tries=3 +stdout_logfile=/data/httpd/ECShopX/storage/logs/supervisor-bloated-queue-slow.log +redirect_stderr=true +process_name=%(program_name)s_%(process_num)02d +autostart=true +autorestart=true +numprocs=4 +user=root +startsecs=3 +startretries=100000 + +[program:bloated-queue-sms] +command=/data/httpd/ECShopX/artisan doctrine:queue:work --queue=sms --delay=3 --memory=128 --timeout=1800 --sleep=1 --tries=3 +stdout_logfile=/data/httpd/ECShopX/storage/logs/supervisor-bloated-queue-sms.log +redirect_stderr=true +process_name=%(program_name)s_%(process_num)02d +autostart=true +autorestart=true +numprocs=2 +user=root +startsecs=3 +startretries=100000 diff --git a/docker-dev/supervisord.conf b/docker-dev/supervisord.conf index b9cebe1..42a5852 100644 --- a/docker-dev/supervisord.conf +++ b/docker-dev/supervisord.conf @@ -77,5 +77,17 @@ user=root priority=500 directory=/data/httpd/ECShopX_desktop-frontend + +[program:crond] +command=/usr/sbin/crond -f -l 8 +autostart=true +autorestart=true +startsecs=1 +startretries=3 +stdout_logfile=/var/log/supervisor/crond.log +stderr_logfile=/var/log/supervisor/crond.log +user=root +priority=450 + [include] files = /etc/supervisor/conf.d/*.conf diff --git a/hooks/post-merge b/hooks/post-merge new file mode 100755 index 0000000..c9db87e --- /dev/null +++ b/hooks/post-merge @@ -0,0 +1,3 @@ +#!/bin/sh + +composer install diff --git a/resources/lang/en-CN/MembersBundle/Members.php b/resources/lang/en-CN/MembersBundle/Members.php index 83e4d59..2568c90 100644 --- a/resources/lang/en-CN/MembersBundle/Members.php +++ b/resources/lang/en-CN/MembersBundle/Members.php @@ -164,4 +164,60 @@ return [ 'point_ass'=>'Point', + + 'invalid_email' => 'Invalid email', + 'email_code_purpose_invalid' => 'Invalid email code purpose', + 'email_code_resend_too_fast' => 'Please wait before requesting another code', + 'email_activation_resend_too_frequent' => 'Please do not request repeatedly. Try again later.', + 'email_send_limit_exceeded' => 'Daily send limit exceeded for this email', + 'email_ip_limit_exceeded' => 'Too many requests', + 'email_device_limit_exceeded' => 'Too many requests', + 'company_mail_not_configured' => 'Mail is not configured for this shop', + 'email_send_failed' => 'Failed to send email', + 'email_code_sent' => 'Verification code sent', + 'email_code_error' => 'Invalid email verification code', + 'email_register_params_missing' => 'Email and password are required', + 'email_register_success_check_mail' => 'Registered. Check your email for the activation link, then sign in.', + 'email_activate_params_missing' => 'The activation token is required', + 'email_activate_company_id_missing' => 'company_id from the activation URL is required', + 'email_activate_company_mismatch' => 'Shop does not match the activation link', + 'email_activation_token_invalid' => 'Invalid or expired activation link', + 'email_activation_link_sent' => 'Activation email sent. Please check your inbox.', + 'email_activation_subject' => 'Verify your email', + 'email_activation_headline' => 'Verify your email', + 'email_activation_intro' => 'One step left to become a member — click the "Verify email" button below:', + 'email_activation_button' => 'Verify email', + // Activation uses HTML template; email_activation_body kept for custom lang packs + 'email_activation_body' => '【:brand】Click the link to verify your email (ignore if you did not register): :url', + 'email_activation_base_url_required' => 'Activation page base URL (activation_base_url) is required', + 'email_activation_mail_config_missing' => 'Mail activation settings are incomplete.', + 'email_activation_queue_dispatch_failed' => 'Activation email could not be queued. Please use POST member/email/code with purpose=activate to resend the activation link later.', + 'email_activate_success' => 'Email verified. Please sign in with your password.', + 'email_already_verified' => 'This email is already verified', + 'email_activation_send_not_allowed' => 'Activation email cannot be sent. Check that the email is registered and not yet verified.', + 'email_register_password_confirm_required' => 'Please confirm your password', + 'email_register_password_mismatch' => 'The two passwords do not match', + 'login_email_already_exists' => 'Email already registered', + 'email_not_verified' => 'Email not verified', + 'email_not_registered' => 'Email not registered', + 'password_min_length_8' => 'Password must be at least 8 characters', + 'password_need_letter_and_digit' => 'Password must contain letters and digits', + 'password_too_weak' => 'Password is too weak', + 'synthetic_mobile_failed' => 'Please try again later', + 'password_reset_email_sent_if_exists' => 'If the email exists, a reset message has been sent', + 'password_reset_token_invalid' => 'Invalid or expired reset link', + 'email_vcode_body' => 'Your code is :code. It expires soon.', + 'email_login_vcode_headline_prefix' => 'Sign in to ', + 'email_login_vcode_intro' => 'Your one-time verification code is:', + 'email_login_vcode_expire_line' => 'This code expires in :minutes minutes.', + 'email_login_vcode_footer_hint' => 'If you did not request this login, you can safely ignore this email. Someone else may have mistyped your email address.', + 'email_password_reset_subject' => 'Reset password', + // Password reset uses HTML template; email_password_reset_body kept for custom lang packs + 'email_password_reset_body' => 'Reset your password: :url', + 'email_password_reset_headline' => 'Reset password', + 'email_password_reset_intro' => 'We received a request to reset the password for your account.', + 'email_password_reset_button' => 'Reset password', + 'email_password_reset_expire_line' => 'This link will expire in :minutes minutes.', + 'email_password_reset_footer_hint' => 'If you did not request a password reset, you can safely ignore this email. Someone else may have mistyped your email address.', + 'email_password_reset_link_invalid' => 'The reset link is invalid. Please request a new one.', ]; diff --git a/resources/lang/zh-CN/MembersBundle/Members.php b/resources/lang/zh-CN/MembersBundle/Members.php index 895cb69..3c968b5 100644 --- a/resources/lang/zh-CN/MembersBundle/Members.php +++ b/resources/lang/zh-CN/MembersBundle/Members.php @@ -163,4 +163,61 @@ return [ 'please_enter_valid_disabled' => '请填写正确的禁用', 'point_ass'=>'积分', + + // 邮箱注册/登录(member-email-auth) + 'invalid_email' => '邮箱格式不正确', + 'email_code_purpose_invalid' => '邮箱验证码用途无效', + 'email_code_resend_too_fast' => '发送过于频繁,请稍后再试', + 'email_activation_resend_too_frequent' => '请勿频繁请求,稍后再做尝试', + 'email_send_limit_exceeded' => '该邮箱今日发送次数已达上限', + 'email_ip_limit_exceeded' => '请求过于频繁,请稍后再试', + 'email_device_limit_exceeded' => '请求过于频繁,请稍后再试', + 'company_mail_not_configured' => '店铺邮件未配置,无法发送', + 'email_send_failed' => '邮件发送失败', + 'email_code_sent' => '验证码已发送', + 'email_code_error' => '邮箱验证码错误', + 'email_register_params_missing' => '请填写邮箱与密码', + 'email_register_success_check_mail' => '注册成功,请查收邮件中的激活链接完成验证后再登录', + 'email_activate_params_missing' => '请提供激活链接中的 token', + 'email_activate_company_id_missing' => '请提供激活链接中的 company_id(与邮件 URL 中一致)', + 'email_activate_company_mismatch' => '店铺信息与激活链接不一致', + 'email_activation_token_invalid' => '激活链接无效或已过期', + 'email_activation_link_sent' => '激活邮件已发送,请查收', + 'email_activation_subject' => '验证你的邮箱', + 'email_activation_headline' => '验证你的邮箱', + 'email_activation_intro' => '成为会员只差一步,点击下面的「验证邮箱」按钮:', + 'email_activation_button' => '验证邮箱', + // 激活邮件已改为 HTML 模板;保留 email_activation_body 以免自定义语言包引用断裂 + 'email_activation_body' => '【:brand】请点击链接激活邮箱(若未注册请忽略)::url', + 'email_activation_base_url_required' => '请配置激活页基础地址(activation_base_url)', + 'email_activation_mail_config_missing' => '邮件激活配置缺失', + 'email_activation_queue_dispatch_failed' => '激活邮件排队失败,请稍后在发送邮箱邮件接口选择 purpose=activate 重发激活链接。', + 'email_activate_success' => '邮箱已激活,请使用密码登录', + 'email_already_verified' => '该邮箱已激活', + 'email_activation_send_not_allowed' => '无法发送激活邮件,请确认邮箱已注册且尚未激活', + 'email_register_password_confirm_required' => '请填写确认密码', + 'email_register_password_mismatch' => '两次输入的密码不一致', + 'login_email_already_exists' => '该邮箱已注册', + 'email_not_verified' => '邮箱未验证,请先完成验证', + 'email_not_registered' => '该邮箱未注册', + 'password_min_length_8' => '密码至少 8 位', + 'password_need_letter_and_digit' => '密码需同时包含字母与数字', + 'password_too_weak' => '密码过于简单,请更换', + 'synthetic_mobile_failed' => '系统繁忙,请稍后重试', + 'password_reset_email_sent_if_exists' => '若邮箱已注册,您将收到重置邮件', + 'password_reset_token_invalid' => '链接无效或已过期', + 'email_vcode_body' => '您的验证码是 :code,请在有效期内使用。', + 'email_login_vcode_headline_prefix' => '登录到', + 'email_login_vcode_intro' => '您的一次性验证码是:', + 'email_login_vcode_expire_line' => '此验证码将在 :minutes 分钟后过期。', + 'email_login_vcode_footer_hint' => '如果您没有请求登录,您可以放心忽略此邮件。可能是其他人误输入了您的邮箱地址。', + 'email_password_reset_subject' => '重置密码', + // 重置密码已改为 HTML 模板;保留 email_password_reset_body 以免自定义语言包引用断裂 + 'email_password_reset_body' => '请点击链接重置密码(若未申请请忽略)::url', + 'email_password_reset_headline' => '重置密码', + 'email_password_reset_intro' => '我们收到了重置您账户密码的请求。', + 'email_password_reset_button' => '重置密码', + 'email_password_reset_expire_line' => '此链接将在 :minutes 分钟后过期。', + 'email_password_reset_footer_hint' => '如果您没有请求重置密码,可以放心忽略此邮件。可能是其他人误输入了您的邮箱地址。', + 'email_password_reset_link_invalid' => '重置链接无效,请重新申请', ]; diff --git a/resources/views/members/email_activation.blade.php b/resources/views/members/email_activation.blade.php new file mode 100644 index 0000000..6b20d54 --- /dev/null +++ b/resources/views/members/email_activation.blade.php @@ -0,0 +1,18 @@ + + + + + + {{ trans('MembersBundle/Members.email_activation_subject') }} + + +
+
{{ e($brand) }}
+

{{ trans('MembersBundle/Members.email_activation_headline') }}

+

{{ trans('MembersBundle/Members.email_activation_intro') }}

+
+ {{ trans('MembersBundle/Members.email_activation_button') }} +
+
+ + diff --git a/resources/views/members/email_login_vcode.blade.php b/resources/views/members/email_login_vcode.blade.php new file mode 100644 index 0000000..c6686bb --- /dev/null +++ b/resources/views/members/email_login_vcode.blade.php @@ -0,0 +1,19 @@ + + + + + + {{ trans('MembersBundle/Members.email_login_vcode_headline_prefix') }}{{ e($brand) }} + + +
+
{{ e($brand) }}
+

{{ trans('MembersBundle/Members.email_login_vcode_headline_prefix') }}{{ e($brand) }}

+

{{ trans('MembersBundle/Members.email_login_vcode_intro') }}

+
{{ e($code) }}
+
+

{{ trans('MembersBundle/Members.email_login_vcode_expire_line', ['minutes' => $ttlMinutes]) }}

+

{{ trans('MembersBundle/Members.email_login_vcode_footer_hint') }}

+
+ + diff --git a/resources/views/members/email_password_reset.blade.php b/resources/views/members/email_password_reset.blade.php new file mode 100644 index 0000000..2af8535 --- /dev/null +++ b/resources/views/members/email_password_reset.blade.php @@ -0,0 +1,21 @@ + + + + + + {{ trans('MembersBundle/Members.email_password_reset_subject') }} + + +
+
{{ e($brand) }}
+

{{ trans('MembersBundle/Members.email_password_reset_headline') }}

+

{{ trans('MembersBundle/Members.email_password_reset_intro') }}

+
+ {{ trans('MembersBundle/Members.email_password_reset_button') }} +
+
+

{{ trans('MembersBundle/Members.email_password_reset_expire_line', ['minutes' => $ttlMinutes]) }}

+

{{ trans('MembersBundle/Members.email_password_reset_footer_hint') }}

+
+ + diff --git a/routes/frontapi/member.php b/routes/frontapi/member.php index 5d4bbaf..fd5deca 100644 --- a/routes/frontapi/member.php +++ b/routes/frontapi/member.php @@ -101,6 +101,13 @@ $api->version('v1', function ($api) { $api->get('/wxapp/member/image/code', ['as' => 'front.h5app.member.image.code', 'uses' => 'Members@getImageVcode']); // 重置用户密码 $api->post('/wxapp/member/reset/password', ['as' => 'front.h5app.member.reset.password', 'uses' => 'Members@resetMemberPassword']); + // 邮箱注册/登录通道:验证码、注册、找回密码 + $api->post('/wxapp/member/email/code', ['as' => 'front.h5app.member.email.code', 'uses' => 'Members@sendMemberEmailCode']); + $api->post('/wxapp/member/email/activation/resend', ['as' => 'front.h5app.member.email.activation.resend', 'uses' => 'Members@resendActivationEmail']); + $api->post('/wxapp/member/email/register', ['as' => 'front.h5app.member.email.register', 'uses' => 'Members@registerMemberByEmail']); + $api->post('/wxapp/member/email/activate', ['as' => 'front.h5app.member.email.activate', 'uses' => 'Members@activateMemberByEmail']); + $api->post('/wxapp/member/email/password/reset-request', ['as' => 'front.h5app.member.email.password.reset_request', 'uses' => 'Members@requestMemberPasswordResetEmail']); + $api->post('/wxapp/member/email/password/reset', ['as' => 'front.h5app.member.email.password.reset', 'uses' => 'Members@resetMemberPasswordByEmailToken']); // 获取白名单设置 $api->get('/wxapp/whitelist/status', ['as' => 'front.h5app.member.whitelist.status', 'uses' => 'Members@getWhitelistStatus']); diff --git a/src/AftersalesBundle/Services/AftersalesService.php b/src/AftersalesBundle/Services/AftersalesService.php index 97f4589..1f68b90 100644 --- a/src/AftersalesBundle/Services/AftersalesService.php +++ b/src/AftersalesBundle/Services/AftersalesService.php @@ -2042,7 +2042,7 @@ class AftersalesService ->from('aftersales_detail', 'ad') ->leftJoin('ad', 'aftersales', 'a', 'ad.aftersales_bn = a.aftersales_bn'); - $row = 'a.aftersales_bn,a.order_id,ad.item_bn,ad.item_name,ad.num,a.aftersales_type,a.aftersales_status,a.create_time,ad.refund_fee,a.progress,a.description,a.reason,a.refuse_reason,a.memo,ad.distributor_id,ad.company_id'; + $row = 'a.aftersales_bn,a.order_id,ad.item_bn,ad.item_name,ad.num,a.aftersales_type,a.aftersales_status,a.create_time,ad.refund_fee,a.progress,a.description,a.reason,a.refuse_reason,a.memo,ad.distributor_id,ad.company_id,a.memo,a.distributor_remark'; $criteria = $this->getFilter($filter, $criteria); diff --git a/src/CompanysBundle/Http/Api/V1/Action/Setting.php b/src/CompanysBundle/Http/Api/V1/Action/Setting.php index 2961209..b10f33a 100644 --- a/src/CompanysBundle/Http/Api/V1/Action/Setting.php +++ b/src/CompanysBundle/Http/Api/V1/Action/Setting.php @@ -20,6 +20,7 @@ namespace CompanysBundle\Http\Api\V1\Action; use App\Http\Controllers\Controller as BaseController; use CompanysBundle\Services\CommonLangModService; +use CompanysBundle\Services\MailSettingActivationBaseUrlResolver; use CompanysBundle\Services\SettingService; use OrdersBundle\Services\TradeSetting\CancelService; use OrdersBundle\Services\TradeSettingService; @@ -2050,8 +2051,22 @@ class Setting extends BaseController * @SWG\Parameter( * name="EMAIL_PASSWORD", * in="query", - * description="SMTP密码", - * required=true, + * description="SMTP密码;留空保留原密码;可回传 GET /mail/setting 返回的密文", + * required=false, + * type="string", + * ), + * @SWG\Parameter( + * name="EMAIL_ACTIVATION_H5_DOMAIN", + * in="query", + * description="H5邮箱激活根地址(选填,建议无末尾/);不传则保留原值;传空字符串可清空", + * required=false, + * type="string", + * ), + * @SWG\Parameter( + * name="EMAIL_ACTIVATION_PC_DOMAIN", + * in="query", + * description="PC邮箱激活根地址(选填);不传则保留原值;传空字符串可清空", + * required=false, * type="string", * ), * @SWG\Response( @@ -2072,31 +2087,50 @@ class Setting extends BaseController { $companyId = app('auth')->user()->get('company_id'); $key = 'mailSetting:' . $companyId; - + $inputdata = $request->all(); $rules = [ 'EMAIL_SMTP_PORT' => ['required', 'SMTP端口不能为空'], 'EMAIL_RELAY_HOST' => ['required', 'SMTP服务器地址不能为空'], 'EMAIL_SENDER' => ['required|email', '发件人邮箱不能为空且格式正确'], 'EMAIL_USER' => ['required', 'SMTP用户名不能为空'], - 'EMAIL_PASSWORD' => ['required', 'SMTP密码不能为空'], ]; - + $errorMessage = validator_params($inputdata, $rules); if ($errorMessage) { throw new ResourceException($errorMessage); } - + + $existingRaw = app('redis')->connection('companys')->get($key); + $existing = $existingRaw ? json_decode((string) $existingRaw, true) : []; + if (!is_array($existing)) { + $existing = []; + } + $existingPlain = (string) ($existing['EMAIL_PASSWORD'] ?? ''); + $passwordInput = array_key_exists('EMAIL_PASSWORD', $inputdata) ? (string) $inputdata['EMAIL_PASSWORD'] : ''; + $resolvedPassword = $this->resolveMailPasswordFromSaveInput($passwordInput, $existingPlain); + if ($resolvedPassword === '') { + throw new ResourceException('SMTP密码不能为空'); + } + $mailConfig = [ 'EMAIL_SMTP_PORT' => $inputdata['EMAIL_SMTP_PORT'], 'EMAIL_RELAY_HOST' => $inputdata['EMAIL_RELAY_HOST'], 'EMAIL_SENDER' => $inputdata['EMAIL_SENDER'], 'EMAIL_USER' => $inputdata['EMAIL_USER'], - 'EMAIL_PASSWORD' => $inputdata['EMAIL_PASSWORD'], + 'EMAIL_PASSWORD' => $resolvedPassword, ]; - + foreach ([MailSettingActivationBaseUrlResolver::KEY_H5, MailSettingActivationBaseUrlResolver::KEY_PC] as $optKey) { + if (array_key_exists($optKey, $inputdata)) { + $mailConfig[$optKey] = MailSettingActivationBaseUrlResolver::sanitizeStoredDomain((string) $inputdata[$optKey]); + } else { + $prev = isset($existing[$optKey]) ? (string) $existing[$optKey] : ''; + $mailConfig[$optKey] = MailSettingActivationBaseUrlResolver::sanitizeStoredDomain($prev); + } + } + app('redis')->connection('companys')->set($key, json_encode($mailConfig)); - + return $this->response->array(['status' => true]); } @@ -2125,7 +2159,9 @@ class Setting extends BaseController * @SWG\Property(property="EMAIL_RELAY_HOST", type="string", description="SMTP服务器地址"), * @SWG\Property(property="EMAIL_SENDER", type="string", description="发件人邮箱"), * @SWG\Property(property="EMAIL_USER", type="string", description="SMTP用户名"), - * @SWG\Property(property="EMAIL_PASSWORD", type="string", description="SMTP密码"), + * @SWG\Property(property="EMAIL_PASSWORD", type="string", description="SMTP密码(密文,基于 APP_KEY 加密,非明文)"), + * @SWG\Property(property="EMAIL_ACTIVATION_H5_DOMAIN", type="string", description="H5邮箱激活根地址(选填)"), + * @SWG\Property(property="EMAIL_ACTIVATION_PC_DOMAIN", type="string", description="PC邮箱激活根地址(选填)"), * ), * ), * ), @@ -2138,17 +2174,62 @@ class Setting extends BaseController $key = 'mailSetting:' . $companyId; $data = app('redis')->connection('companys')->get($key); - $result = $data ? json_decode($data, true) : [ + $result = $data ? json_decode((string) $data, true) : [ 'EMAIL_SMTP_PORT' => '', 'EMAIL_RELAY_HOST' => '', 'EMAIL_SENDER' => '', 'EMAIL_USER' => '', 'EMAIL_PASSWORD' => '', + MailSettingActivationBaseUrlResolver::KEY_H5 => '', + MailSettingActivationBaseUrlResolver::KEY_PC => '', ]; - + if (!is_array($result)) { + $result = [ + 'EMAIL_SMTP_PORT' => '', + 'EMAIL_RELAY_HOST' => '', + 'EMAIL_SENDER' => '', + 'EMAIL_USER' => '', + 'EMAIL_PASSWORD' => '', + MailSettingActivationBaseUrlResolver::KEY_H5 => '', + MailSettingActivationBaseUrlResolver::KEY_PC => '', + ]; + } + $result[MailSettingActivationBaseUrlResolver::KEY_H5] = (string) ($result[MailSettingActivationBaseUrlResolver::KEY_H5] ?? ''); + $result[MailSettingActivationBaseUrlResolver::KEY_PC] = (string) ($result[MailSettingActivationBaseUrlResolver::KEY_PC] ?? ''); + if (!empty($result['EMAIL_PASSWORD'])) { + $result['EMAIL_PASSWORD'] = $this->encryptMailPasswordForApiResponse((string) $result['EMAIL_PASSWORD']); + } + return $this->response->array($result); } + /** + * GET /mail/setting:不向客户端暴露明文 SMTP 密码。 + */ + private function encryptMailPasswordForApiResponse(string $plain): string + { + if ($plain === '') { + return ''; + } + + return app('fixedencrypt')->default()->encrypt($plain, false); + } + + /** + * POST /mail/setting:空字符串表示沿用 Redis 中已存明文;非空则尝试按密文解密,失败则视为明文新密码。 + */ + private function resolveMailPasswordFromSaveInput(string $input, string $existingPlain): string + { + if ($input === '') { + return $existingPlain; + } + try { + return app('fixedencrypt')->default()->decrypt($input, false); + } catch (\Throwable $e) { + return $input; + } + } + /** * 获取酷家乐配置 * @route GET /company/kujiale/config diff --git a/src/CompanysBundle/Services/CompanySettingBrandNameService.php b/src/CompanysBundle/Services/CompanySettingBrandNameService.php new file mode 100644 index 0000000..f0e1bb0 --- /dev/null +++ b/src/CompanysBundle/Services/CompanySettingBrandNameService.php @@ -0,0 +1,36 @@ +getWxShopsSetting($companyId); + if (!is_array($result)) { + $result = []; + } + $selfDistributorInfo = (new DistributorService())->getDistributorSelf($companyId, true); + if (!empty($selfDistributorInfo) && $result) { + $result['brand_name'] = $selfDistributorInfo['name'] ?? ''; + } + $brand = trim((string) ($result['brand_name'] ?? '')); + + return $brand !== '' ? $brand : self::DEFAULT_BRAND; + } +} diff --git a/src/CompanysBundle/Services/MailSettingActivationBaseUrlResolver.php b/src/CompanysBundle/Services/MailSettingActivationBaseUrlResolver.php new file mode 100644 index 0000000..0aae7ca --- /dev/null +++ b/src/CompanysBundle/Services/MailSettingActivationBaseUrlResolver.php @@ -0,0 +1,47 @@ + 512) { + $s = substr($s, 0, 512); + } + + return $s; + } + + public function getH5ActivationBaseUrl(int $companyId): string + { + return self::sanitizeStoredDomain($this->readField($companyId, self::KEY_H5)); + } + + public function getPcActivationBaseUrl(int $companyId): string + { + return self::sanitizeStoredDomain($this->readField($companyId, self::KEY_PC)); + } + + private function readField(int $companyId, string $key): string + { + $raw = app('redis')->connection('companys')->get('mailSetting:' . $companyId); + $decoded = json_decode((string) $raw, true); + if (!is_array($decoded) || !isset($decoded[$key])) { + return ''; + } + + return (string) $decoded[$key]; + } +} diff --git a/src/CompanysBundle/Services/MailSettingEmailRegistrationValidator.php b/src/CompanysBundle/Services/MailSettingEmailRegistrationValidator.php new file mode 100644 index 0000000..4b1a9a9 --- /dev/null +++ b/src/CompanysBundle/Services/MailSettingEmailRegistrationValidator.php @@ -0,0 +1,36 @@ +connection('companys')->get('mailSetting:' . $companyId); + $cfg = json_decode((string) $raw, true); + if (!is_array($cfg)) { + $cfg = []; + } + $port = trim((string) ($cfg['EMAIL_SMTP_PORT'] ?? '')); + $host = trim((string) ($cfg['EMAIL_RELAY_HOST'] ?? '')); + $sender = trim((string) ($cfg['EMAIL_SENDER'] ?? '')); + $user = trim((string) ($cfg['EMAIL_USER'] ?? '')); + $password = (string) ($cfg['EMAIL_PASSWORD'] ?? ''); + $h5Domain = (new MailSettingActivationBaseUrlResolver())->getH5ActivationBaseUrl($companyId); + + if ($port === '' || $host === '' || $sender === '' || $user === '' || $password === '' || $h5Domain === '') { + throw new ResourceException(trans('MembersBundle/Members.email_activation_mail_config_missing')); + } + if (!filter_var($sender, FILTER_VALIDATE_EMAIL)) { + throw new ResourceException(trans('MembersBundle/Members.email_activation_mail_config_missing')); + } + } +} diff --git a/src/CompanysBundle/Services/MailSettingStoredPasswordResolver.php b/src/CompanysBundle/Services/MailSettingStoredPasswordResolver.php new file mode 100644 index 0000000..44b58d6 --- /dev/null +++ b/src/CompanysBundle/Services/MailSettingStoredPasswordResolver.php @@ -0,0 +1,54 @@ +default()->decrypt($stored, false); + } catch (\Throwable $e) { + return $stored; + } + } + + /** + * @param array $configMail + * @return array + */ + public static function withResolvedPassword(array $configMail): array + { + $raw = isset($configMail['email_password']) ? (string) $configMail['email_password'] : ''; + $configMail['email_password'] = self::plainForSmtp($raw); + + return $configMail; + } + + /** + * @param array $config + * @return array + */ + public static function redactForLog(array $config): array + { + $out = $config; + if (array_key_exists('EMAIL_PASSWORD', $out)) { + $out['EMAIL_PASSWORD'] = ($out['EMAIL_PASSWORD'] ?? '') === '' ? '' : '***'; + } + if (array_key_exists('email_password', $out)) { + $out['email_password'] = ($out['email_password'] ?? '') === '' ? '' : '***'; + } + + return $out; + } +} diff --git a/src/CompanysBundle/Services/MailerService.php b/src/CompanysBundle/Services/MailerService.php index 4785742..9570e8b 100644 --- a/src/CompanysBundle/Services/MailerService.php +++ b/src/CompanysBundle/Services/MailerService.php @@ -37,13 +37,8 @@ class MailerService { $this->debug = false; if (!empty($config)) { - // [2025-09-16 14:42:08] production.INFO: MailerService: 邮件配置:{ - // "email_smtp_port":"465", - // "email_relay_host":"ssl:\/\/smtp.exmail.qq.com", - // "email_user":"test@shopex.cn", - // "email_password":"123456" - // } - app('log')->info('MailerService: 邮件配置:'.json_encode($config)); + $config = MailSettingStoredPasswordResolver::withResolvedPassword($config); + app('log')->info('MailerService: 邮件配置:'.json_encode(MailSettingStoredPasswordResolver::redactForLog($config))); $this->smtp_port = $config['email_smtp_port']; $this->relay_host = $config['email_relay_host']; $this->user = $config['email_user']; @@ -83,8 +78,21 @@ class MailerService ->setCc($cc) ->setBody($body, 'text/html'); - $result = $mailer->send($message); - return $result; + try { + return $mailer->send($message); + } catch (\Throwable $e) { + $msg = $e->getMessage(); + if (stripos($msg, '535') !== false || stripos($msg, 'authentication failed') !== false || stripos($msg, 'Failed to authenticate') !== false) { + app('log')->error('MailerService: SMTP error (check password / client secret / Tencent exmail SMTP switch)', [ + 'exception' => get_class($e), + 'message' => $msg, + 'relay_host' => $this->relay_host, + 'smtp_port' => $this->smtp_port, + 'username' => $this->user, + ]); + } + throw $e; + } } //获取邮件模板 diff --git a/src/EspierBundle/Auth/Jwt/EspierLocalUserProvider.php b/src/EspierBundle/Auth/Jwt/EspierLocalUserProvider.php index 8abe986..03a79ca 100644 --- a/src/EspierBundle/Auth/Jwt/EspierLocalUserProvider.php +++ b/src/EspierBundle/Auth/Jwt/EspierLocalUserProvider.php @@ -35,6 +35,7 @@ use MembersBundle\Entities\MembersAssociations; use MembersBundle\Entities\MembersInfo; use MembersBundle\Services\UserService; use MembersBundle\Services\WechatUserService; +use MembersBundle\Services\MemberEmailVerificationService; use MembersBundle\Services\MemberRegSettingService; use WechatBundle\Services\OfficialAccountService; use WechatBundle\Services\OpenPlatform; @@ -827,16 +828,41 @@ class EspierLocalUserProvider implements UserProvider private function checkUser($company_id, $mobile, $password, $check_type = 'password', $vcode = '', bool $autoRegister = false, bool $silent = false) { $membersRepository = app('registry')->getManager('default')->getRepository(Members::class); - $userEntity = $membersRepository->findOneBy(['company_id' => $company_id, 'mobile' => fixedencrypt($mobile)]); + $isEmail = (bool) filter_var($mobile, FILTER_VALIDATE_EMAIL); + if ($isEmail) { + $userEntity = $membersRepository->findOneBy(['company_id' => $company_id, 'login_email' => strtolower(trim($mobile))]); + } else { + $userEntity = $membersRepository->findOneBy(['company_id' => $company_id, 'mobile' => fixedencrypt($mobile)]); + } // 表单验证最优先 switch ($check_type) { case "mobile": + if ($isEmail) { + throw new ResourceException('验证类型有误!'); + } if (!(new MemberRegSettingService())->checkSmsVcode($mobile, $company_id, $vcode, 'login')) { throw new ResourceException('短信验证码错误'); } break; + case "email_otp": + if (!$isEmail) { + throw new ResourceException('验证类型有误!'); + } + if (!$userEntity) { + throw new ResourceException(trans('MembersBundle/Members.email_not_registered')); + } + if (!$userEntity->getEmailVerifiedAt()) { + throw new ResourceException(trans('MembersBundle/Members.email_not_verified')); + } + if (!(new MemberEmailVerificationService())->consumeCode((int) $company_id, $mobile, MemberEmailVerificationService::PURPOSE_LOGIN, $vcode)) { + throw new ResourceException(trans('MembersBundle/Members.email_code_error')); + } + break; case "password": + if ($userEntity && $isEmail && !$userEntity->getEmailVerifiedAt()) { + throw new ResourceException(trans('MembersBundle/Members.email_not_verified')); + } if ($userEntity && !$this->checkPassword($password, $userEntity->getPassword())) { throw new ResourceException('用户名或密码错误'); } diff --git a/src/EspierBundle/Middleware/FrontNoAuthMiddleWare.php b/src/EspierBundle/Middleware/FrontNoAuthMiddleWare.php index 50fef63..683649e 100644 --- a/src/EspierBundle/Middleware/FrontNoAuthMiddleWare.php +++ b/src/EspierBundle/Middleware/FrontNoAuthMiddleWare.php @@ -47,6 +47,11 @@ class FrontNoAuthMiddleWare $auth = app('auth')->user(); $mid_params['auth'] = $auth->attributes; $mid_params['auth']['api_from'] = 'h5app'; + // attributes 未必含 company_id;后续接口(如邮箱激活)读 auth.company_id,须与 JWT 主体一致 + $jwtCompanyId = (int) $auth->get('company_id'); + if ($jwtCompanyId > 0) { + $mid_params['auth']['company_id'] = $jwtCompanyId; + } $companyId = $request->input('company_id'); if (!$companyId) { $mid_params['company_id'] = $auth->get('company_id'); diff --git a/src/EspierBundle/Services/Export/AftersalesRecordExportService.php b/src/EspierBundle/Services/Export/AftersalesRecordExportService.php index 13f7c7b..55e258a 100644 --- a/src/EspierBundle/Services/Export/AftersalesRecordExportService.php +++ b/src/EspierBundle/Services/Export/AftersalesRecordExportService.php @@ -56,7 +56,8 @@ class AftersalesRecordExportService implements ExportFileInterface 'salesman_name' => '导购', 'order_holder' => '订单分类', 'supplier_name' => '来源供应商', - 'self_delivery_operator_name' => '配送员' + 'self_delivery_operator_name' => '配送员', + 'distributor_remark' => '商家备注' ]; public function exportData($filter) diff --git a/src/EspierBundle/Services/Export/MemberExportService.php b/src/EspierBundle/Services/Export/MemberExportService.php index 10646b4..09e9f6c 100644 --- a/src/EspierBundle/Services/Export/MemberExportService.php +++ b/src/EspierBundle/Services/Export/MemberExportService.php @@ -51,6 +51,7 @@ class MemberExportService implements ExportFileInterface private $title = [ 'user_card_code' => '会员卡编号', 'mobile' => '会员手机号', + 'login_email' => '登录邮箱', 'name' => '用户名', 'sex' => ' 性别', 'username' => '姓名', @@ -116,6 +117,12 @@ class MemberExportService implements ExportFileInterface $value['username'] = data_masking('truename', (string) $value['username']); $value['birthday'] = data_masking('birthday', (string) $value['birthday']); $value['address'] = data_masking('detailedaddress', (string) $value['address']); + if (!empty($value['login_email'])) { + $value['login_email'] = data_masking('email', (string) $value['login_email']); + } + if (!empty($value['email'])) { + $value['email'] = data_masking('email', (string) $value['email']); + } } //会员注册时间组装 $created_date = $value['created_year'].'-'.$value['created_month'].'-'.$value['created_day']; diff --git a/src/MembersBundle/Entities/MemberEmailActivationTokens.php b/src/MembersBundle/Entities/MemberEmailActivationTokens.php new file mode 100644 index 0000000..f5aa275 --- /dev/null +++ b/src/MembersBundle/Entities/MemberEmailActivationTokens.php @@ -0,0 +1,160 @@ +id; + } + + public function setCompanyId(int $companyId): self + { + $this->company_id = $companyId; + + return $this; + } + + public function getCompanyId(): int + { + return (int) $this->company_id; + } + + public function setUserId(int $userId): self + { + $this->user_id = $userId; + + return $this; + } + + public function getUserId(): int + { + return (int) $this->user_id; + } + + public function setTokenHash(string $tokenHash): self + { + $this->token_hash = $tokenHash; + + return $this; + } + + public function getTokenHash(): string + { + return $this->token_hash; + } + + public function setExpiresAt(int $expiresAt): self + { + $this->expires_at = $expiresAt; + + return $this; + } + + public function getExpiresAt(): int + { + return (int) $this->expires_at; + } + + public function setUsedAt(?int $usedAt): self + { + $this->used_at = $usedAt; + + return $this; + } + + public function getUsedAt(): ?int + { + return $this->used_at !== null ? (int) $this->used_at : null; + } + + public function setCreatedAt(int $createdAt): self + { + $this->created_at = $createdAt; + + return $this; + } + + public function getCreatedAt(): int + { + return (int) $this->created_at; + } +} diff --git a/src/MembersBundle/Entities/MemberPasswordResetTokens.php b/src/MembersBundle/Entities/MemberPasswordResetTokens.php new file mode 100644 index 0000000..2f323e5 --- /dev/null +++ b/src/MembersBundle/Entities/MemberPasswordResetTokens.php @@ -0,0 +1,160 @@ +id; + } + + public function setCompanyId(int $companyId): self + { + $this->company_id = $companyId; + + return $this; + } + + public function getCompanyId(): int + { + return (int) $this->company_id; + } + + public function setUserId(int $userId): self + { + $this->user_id = $userId; + + return $this; + } + + public function getUserId(): int + { + return (int) $this->user_id; + } + + public function setTokenHash(string $tokenHash): self + { + $this->token_hash = $tokenHash; + + return $this; + } + + public function getTokenHash(): string + { + return $this->token_hash; + } + + public function setExpiresAt(int $expiresAt): self + { + $this->expires_at = $expiresAt; + + return $this; + } + + public function getExpiresAt(): int + { + return (int) $this->expires_at; + } + + public function setUsedAt(?int $usedAt): self + { + $this->used_at = $usedAt; + + return $this; + } + + public function getUsedAt(): ?int + { + return $this->used_at !== null ? (int) $this->used_at : null; + } + + public function setCreatedAt(int $createdAt): self + { + $this->created_at = $createdAt; + + return $this; + } + + public function getCreatedAt(): int + { + return (int) $this->created_at; + } +} diff --git a/src/MembersBundle/Entities/Members.php b/src/MembersBundle/Entities/Members.php index efa429b..32704b1 100644 --- a/src/MembersBundle/Entities/Members.php +++ b/src/MembersBundle/Entities/Members.php @@ -30,6 +30,7 @@ use Gedmo\Mapping\Annotation as Gedmo; * @ORM\Index(name="idx_company_id_user_card_code", columns={"company_id", "user_card_code"}) * },uniqueConstraints={ * @ORM\UniqueConstraint(name="mobile_company", columns={"mobile", "company_id"}), + * @ORM\UniqueConstraint(name="login_email_company", columns={"login_email", "company_id"}), * }), * @ORM\Entity(repositoryClass="MembersBundle\Repositories\MembersRepository") */ @@ -86,6 +87,20 @@ class Members */ private $password; + /** + * @var string|null + * + * @ORM\Column(name="login_email", type="string", length=255, nullable=true, options={"comment":"登录邮箱(小写)"}) + */ + private $login_email; + + /** + * @var int|null + * + * @ORM\Column(name="email_verified_at", type="integer", nullable=true, options={"comment":"邮箱验证时间戳"}) + */ + private $email_verified_at; + /** * @var string * @@ -737,6 +752,42 @@ class Members return $this->password; } + /** + * @return Members + */ + public function setLoginEmail(?string $loginEmail) + { + $this->login_email = $loginEmail; + + return $this; + } + + /** + * @return string|null + */ + public function getLoginEmail() + { + return $this->login_email; + } + + /** + * @return Members + */ + public function setEmailVerifiedAt(?int $ts) + { + $this->email_verified_at = $ts; + + return $this; + } + + /** + * @return int|null + */ + public function getEmailVerifiedAt() + { + return $this->email_verified_at; + } + /** * Set sourceFrom * diff --git a/src/MembersBundle/Http/AdminApi/V1/Action/UserData.php b/src/MembersBundle/Http/AdminApi/V1/Action/UserData.php index b178001..ef4e9ab 100644 --- a/src/MembersBundle/Http/AdminApi/V1/Action/UserData.php +++ b/src/MembersBundle/Http/AdminApi/V1/Action/UserData.php @@ -534,6 +534,10 @@ class UserData extends Controller } } + if ($loginEmail = trim((string) $request->input('login_email', ''))) { + $memFilter['login_email|like'] = mb_strtolower($loginEmail); + } + $memberService = new MemberService(); $result['list'] = $memberService->getMemberList($memFilter, $page, $limit); $result['total_count'] = $memberService->getMemberCount($memFilter); @@ -758,7 +762,10 @@ class UserData extends Controller if (!$userIds) { return $this->response->array($result); } - $col = "m.user_id,m.grade_id,m.mobile,m.user_card_code,m.remarks,info.username,info.sex,info.avatar"; + if ($loginEmail = trim((string) $request->get('login_email', ''))) { + $memFilter['login_email|like'] = mb_strtolower($loginEmail); + } + $col = "m.user_id,m.grade_id,m.mobile,m.user_card_code,m.remarks,m.login_email,m.email_verified_at,info.username,info.sex,info.avatar"; $result = $memberService->getMemberDataLists($memFilter, $col, 1, $limit); if ($result['list'] && $result['total_count']) { $member = array_column($result['list'], null, 'user_id'); diff --git a/src/MembersBundle/Http/Api/V1/Action/Members.php b/src/MembersBundle/Http/Api/V1/Action/Members.php index 666d249..c7958f1 100644 --- a/src/MembersBundle/Http/Api/V1/Action/Members.php +++ b/src/MembersBundle/Http/Api/V1/Action/Members.php @@ -47,6 +47,7 @@ use CommunityBundle\Services\CommunityChiefService; use CommunityBundle\Services\CommunityChiefDistributorService; use MembersBundle\Traits\GetCodeTrait; use PopularizeBundle\Services\PromoterService; +use MembersBundle\Services\ShopRelMemberService; use MembersBundle\Events\CreateMemberSuccessEvent; use KaquanBundle\Services\UserDiscountService; use MembersBundle\Entities\MembersDeleteRecord; @@ -331,6 +332,7 @@ class Members extends Controller // 'mobile' => ['sometimes|regex:/^1[3456789][0-9]{9}$/', '请填写正确的手机号'], 'remarks' => ['sometimes|string|max:255', '最多输入255字'], 'username' => ['sometimes|string|max:50', '最多输入50字'], + 'login_email' => ['sometimes|string|max:255', '登录邮箱筛选参数过长'], 'name' => ['sometimes|string|max:50', '最多输入50字'], 'time_start_begin' => ['sometimes|integer', '请填写正确的开始日期'], 'time_start_end' => ['sometimes|integer', '请填写正确的结束日期'], @@ -533,6 +535,12 @@ class Members extends Controller $value['mobile'] = data_masking('mobile', (string) $value['mobile']); $value['username'] = data_masking('truename', (string) $value['username']); $value['inviter'] = $value['inviter'] == '-' ? $value['inviter'] : data_masking('mobile', (string) $value['inviter']); + if (!empty($value['login_email'])) { + $value['login_email'] = data_masking('email', (string) $value['login_email']); + } + if (!empty($value['email'])) { + $value['email'] = data_masking('email', (string) $value['email']); + } // $value['sex'] = $value['sex'] == '0' ? '-' : data_masking('sex', (string) $value['sex']); } @@ -834,6 +842,12 @@ class Members extends Controller $result['birthday'] = data_masking('birthday', (string) ($result['birthday'] ?? '')); $result['address'] = data_masking('detailedaddress', (string) ($result['address'] ?? '')); $result['sex'] = (($result['sex'] ?? '') == '0') ? '-' : data_masking('sex', (string) ($result['sex'] ?? '')); + if (!empty($result['login_email'])) { + $result['login_email'] = data_masking('email', (string) $result['login_email']); + } + if (!empty($result['email'])) { + $result['email'] = data_masking('email', (string) $result['email']); + } } $filter = [ @@ -1483,14 +1497,15 @@ class Members extends Controller $companyId = app('auth')->user()->get('company_id'); $mobile = $request->input('mobile'); - if (!$mobile && preg_match("/^1\d{10}$/", $mobile)) { + $mobile = $mobile !== null && $mobile !== '' ? (string) $mobile : ''; + if ($mobile === '' || !preg_match('/^1[3456789]\d{9}$/', $mobile)) { throw new ResourceException(trans('MembersBundle/Members.mobile_error')); } $type = $request->input('type', 'sign'); - // 校验手机号是否注册 + // 校验手机号是否注册(空数组 [] 在 PHP 中为 truthy,须用 user_id 判断) $memberInfo = $this->memberService->getMemberInfo(['mobile' => $mobile, 'company_id' => $companyId]); - if ($memberInfo && $type == 'sign') { + if (!empty($memberInfo['user_id']) && $type == 'sign') { throw new ResourceException(trans('MembersBundle/Members.mobile_already_registered')); } @@ -1535,6 +1550,12 @@ class Members extends Controller throw new ResourceException(trans('MembersBundle/Members.missing_default_level')); } + // 与小程序 wxapp/new_login 注册一致:distributor_id → reg_distributor / op_distributor + $distributorId = 0; + if (isset($postData['distributor_id']) && $postData['distributor_id'] !== '' && $postData['distributor_id'] !== null) { + $distributorId = (int) $postData['distributor_id']; + } + //新增-会员信息 $memberInfo = [ 'company_id' => $companyId, @@ -1542,6 +1563,8 @@ class Members extends Controller 'mobile' => $postData['mobile'], 'grade_id' => $defaultGradeInfo['grade_id'], 'password' => substr(str_shuffle('QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm'), 5, 10), + 'reg_distributor' => $distributorId, + 'op_distributor' => $distributorId, ]; $memberInfo['user_card_code'] = $this->getCode(); $memberInfo['region_mobile'] = $memberInfo['mobile']; @@ -1570,7 +1593,7 @@ class Members extends Controller //记录新会员和店铺的关系 $dataParams = [ - 'distributor_id' => $postData['distributor_id'] ?? 0, + 'distributor_id' => $distributorId, 'user_id' => $result['user_id'], 'company_id' => $companyId, 'salesperson_id' => 0, @@ -1579,6 +1602,16 @@ class Members extends Controller $distributorUserService = new DistributorUserService(); $distributorUserService->createData($dataParams); + if ($distributorId > 0) { + $shopRelMemberService = new ShopRelMemberService(); + $shopRelMemberService->create([ + 'user_id' => $result['user_id'], + 'company_id' => $companyId, + 'shop_id' => $distributorId, + 'shop_type' => 'distributor', + ]); + } + $date = date('Ymd'); $redisKey = 'Member:' . $companyId . ':' . $date; app('redis')->sadd($redisKey, $result['user_id']); @@ -1599,7 +1632,7 @@ class Members extends Controller 'monitor_id' => 0, 'inviter_id' => 0, 'salesperson_id' => 0, - 'distributor_id' => $postData['distributor_id'] ?? 0, + 'distributor_id' => $distributorId, 'if_register_promotion' => $ifRegisterPromotion, ]; event(new CreateMemberSuccessEvent($eventData)); diff --git a/src/MembersBundle/Http/FrontApi/V1/Action/Members.php b/src/MembersBundle/Http/FrontApi/V1/Action/Members.php index c9c55a4..53f1f88 100644 --- a/src/MembersBundle/Http/FrontApi/V1/Action/Members.php +++ b/src/MembersBundle/Http/FrontApi/V1/Action/Members.php @@ -29,6 +29,7 @@ use DepositBundle\Services\DepositTrade; use MembersBundle\Services\MemberService; use Dingo\Api\Exception\ResourceException; use CompanysBundle\Services\EmployeeService; +use CompanysBundle\Services\MailSettingActivationBaseUrlResolver; use KaquanBundle\Services\MemberCardService; use MembersBundle\Services\SubscribeService; use PointBundle\Services\PointMemberService; @@ -52,6 +53,11 @@ use SalespersonBundle\Services\SalespersonService; use DistributionBundle\Services\DistributorService; use MembersBundle\Services\MemberArticleFavService; use MembersBundle\Services\MemberOperateLogService; +use MembersBundle\Services\MemberEmailActivationService; +use MembersBundle\Services\MemberEmailVerificationService; +use MembersBundle\Services\MemberPasswordPolicyService; +use MembersBundle\Services\MemberPasswordResetService; +use MembersBundle\Services\MemberSyntheticMobileService; use MembersBundle\Services\MemberRegSettingService; use MembersBundle\Services\MembersWhitelistService; use Dingo\Api\Exception\StoreResourceFailedException; @@ -81,6 +87,36 @@ class Members extends Controller $this->memberService = new MemberService(); } + /** + * FrontNoAuth 邮箱等多租户接口:优先使用请求 body/query 的 company_id(与邮件链接、跨域 H5 一致), + * 否则使用 JWT/中间件写入的 auth.company_id。 + */ + protected function resolveFrontNoAuthTenantCompanyId(Request $request): int + { + $authInfo = $request->get('auth'); + if (!is_array($authInfo)) { + $authInfo = []; + } + $authCompanyId = (int) ($authInfo['company_id'] ?? 0); + if ($authCompanyId <= 0) { + $authCompanyId = (int) ($request->attributes->get('company_id') ?? 0); + } + $bodyRaw = $request->input('company_id'); + $bodyCompanyId = ($bodyRaw !== null && $bodyRaw !== '') ? (int) $bodyRaw : 0; + if ($bodyCompanyId <= 0) { + $qCompany = $request->query('company_id'); + if ($qCompany !== null && $qCompany !== '') { + $bodyCompanyId = (int) $qCompany; + } + } + $companyId = $bodyCompanyId > 0 ? $bodyCompanyId : $authCompanyId; + if ($companyId <= 0) { + throw new ResourceException(trans('MembersBundle/Members.email_activate_company_id_missing')); + } + + return $companyId; + } + /** * @SWG\Get(path="/token/refresh", * tags={"会员"}, @@ -288,7 +324,8 @@ class Members extends Controller ]; $memberInfo = $this->memberService->getMemberInfo($filter, true); unset($memberInfo['region_mobile']); - $mobile = $memberInfo['mobile']; + $mobile = (string) ($memberInfo['mobile'] ?? ''); + MemberSyntheticMobileService::stripSyntheticMobileForFrontApi($memberInfo); if ($memberInfo) { $filter['disabled'] = 0; //是否员工 @@ -345,6 +382,12 @@ class Members extends Controller $memberInfo['open_id'] = $authInfo['open_id'] ?? ''; // 数据脱敏 $memberInfo['mobile'] = data_masking('mobile', (string) $memberInfo['mobile']); + if (!empty($memberInfo['login_email'])) { + $memberInfo['login_email'] = data_masking('email', (string) $memberInfo['login_email']); + } + if (!empty($memberInfo['email'])) { + $memberInfo['email'] = data_masking('email', (string) $memberInfo['email']); + } if (isset($memberInfo['requestFields']['birthday'])) { $memberInfo['requestFields']['birthday'] = data_masking('birthday', (string) $memberInfo['requestFields']['birthday']); } @@ -789,6 +832,7 @@ class Members extends Controller $this->memberService->shuyunModify($companyId, $authInfo['user_id'], $postData); } $result = $this->memberService->getMemberInfo($filter); + MemberSyntheticMobileService::stripSyntheticMobileForFrontApi($result); event(new UpdateMemberSuccessEvent($result)); $dmMemberService = new DmMemberService($companyId); if ($dmMemberService->isOpen) { @@ -891,6 +935,7 @@ class Members extends Controller ]); } $result = $this->memberService->getMemberInfo($filter); + MemberSyntheticMobileService::stripSyntheticMobileForFrontApi($result); return $this->response->array($result); } @@ -1157,7 +1202,8 @@ class Members extends Controller $authInfo = $request->get('auth'); $companyId = $authInfo['company_id']; $phone = $request->input('mobile'); - if (!$phone && preg_match("/^1\d{10}$/", $phone)) { + $phone = $phone !== null && $phone !== '' ? (string) $phone : ''; + if ($phone === '' || !preg_match('/^1[3456789]\d{9}$/', $phone)) { throw new ResourceException(trans('MembersBundle/Members.mobile_error')); } $type = $request->input('type', 'sign'); @@ -1165,7 +1211,7 @@ class Members extends Controller if (!in_array($type, $this->code_type)) { throw new ResourceException(trans('MembersBundle/Members.mobile_verification_type_error')); } - // 校验手机号是否注册 + // 校验手机号是否注册(注意:getMemberInfo 无记录时返回空数组 [],在 PHP 中空数组为 truthy,必须用 user_id 判断是否存在会员) $memberService = new MemberService(); if (($authInfo['user_id'] ?? 0) && $type == 'forgot_password') { $memberInfo = $memberService->getMemberInfo(['user_id' => $authInfo['user_id'], 'company_id' => $authInfo['company_id']]); @@ -1173,11 +1219,11 @@ class Members extends Controller } else { $memberInfo = $memberService->getMemberInfo(['mobile' => $phone, 'company_id' => $authInfo['company_id']]); } - if ($memberInfo && $type == 'sign') { + if (!empty($memberInfo['user_id']) && $type == 'sign') { if (!isset($memberInfo['other_params']['is_upload_member']) || $memberInfo['other_params']['is_upload_member'] != true) { throw new ResourceException(trans('MembersBundle/Members.mobile_already_registered')); } - } elseif (!$memberInfo && $type == 'forgot_password') { + } elseif (empty($memberInfo['user_id']) && $type == 'forgot_password') { throw new ResourceException(trans('MembersBundle/Members.mobile_not_registered_yet')); } @@ -1196,7 +1242,7 @@ class Members extends Controller $exist = $membersAssociationsRepository->get(['user_id' => $authInfo['user_id'], 'unionid' => $authInfo['unionid'], 'company_id' => $authInfo['company_id'], 'user_type' => 'baidu']); if ($exist) { - if (!isset($memberInfo['other_params']['is_upload_member']) || $memberInfo['other_params']['is_upload_member'] != true) { + if (!empty($memberInfo['user_id']) && (!isset($memberInfo['other_params']['is_upload_member']) || $memberInfo['other_params']['is_upload_member'] != true)) { throw new ResourceException(trans('MembersBundle/Members.account_already_bound_mobile')); } } @@ -1205,6 +1251,241 @@ class Members extends Controller return $this->response->array(['message' => "短信发送成功"]); } + /** + * 发送会员邮箱邮件:purpose=activate 为激活链接;purpose=login 为 6 位登录验证码。 + */ + public function sendMemberEmailCode(Request $request) + { + $companyId = $this->resolveFrontNoAuthTenantCompanyId($request); + $purpose = $request->input('purpose'); + if (!in_array($purpose, [MemberEmailVerificationService::PURPOSE_ACTIVATE, MemberEmailVerificationService::PURPOSE_LOGIN], true)) { + throw new ResourceException(trans('MembersBundle/Members.email_code_purpose_invalid')); + } + if ($purpose === MemberEmailVerificationService::PURPOSE_ACTIVATE) { + $emailSvc = new MemberEmailVerificationService(); + $email = $emailSvc->normalizeEmail((string) $request->input('email')); + $repo = app('registry')->getManager('default')->getRepository(\MembersBundle\Entities\Members::class); + $member = $repo->findOneBy(['company_id' => $companyId, 'login_email' => $email]); + if (!$member || $member->getEmailVerifiedAt()) { + throw new ResourceException(trans('MembersBundle/Members.email_activation_send_not_allowed')); + } + } + $imgType = $purpose === MemberEmailVerificationService::PURPOSE_ACTIVATE ? 'sign' : 'login'; + $memberRegSettingService = new MemberRegSettingService(); + $token = $request->input('token'); + $yzmcode = $request->input('yzm'); + try { + if (!$memberRegSettingService->checkImageVcode($token, $companyId, $yzmcode, $imgType)) { + throw new ResourceException(trans('MembersBundle/Members.image_captcha_error')); + } + } catch (ResourceException $e) { + throw $e; + } catch (\Exception $e) { + throw new ResourceException($e->getMessage()); + } + if ($purpose === MemberEmailVerificationService::PURPOSE_ACTIVATE) { + $base = trim((string) $request->input('activation_base_url', '')); + if ($base === '') { + $base = (new MailSettingActivationBaseUrlResolver())->getH5ActivationBaseUrl($companyId); + } + if ($base === '') { + $base = trim((string) config('common.h5_base_url')); + } + (new MemberEmailActivationService())->sendActivationLinkEmail( + $companyId, + (string) $request->input('email'), + (string) $request->ip(), + $request->header('X-Client-Device-Id'), + $base + ); + + return $this->response->array(['message' => trans('MembersBundle/Members.email_activation_link_sent')]); + } + (new MemberEmailVerificationService())->sendVerificationCode( + $companyId, + (string) $request->input('email'), + $purpose, + (string) $request->ip(), + $request->header('X-Client-Device-Id') + ); + + return $this->response->array(['message' => trans('MembersBundle/Members.email_code_sent')]); + } + + /** + * 仅重发激活链接邮件(注册未收到等场景);图形码 sign;频控与 purpose=activate 共用 Redis 冷却键,冷却秒数见 member_email_activation_cooldown_seconds。 + */ + public function resendActivationEmail(Request $request) + { + $companyId = $this->resolveFrontNoAuthTenantCompanyId($request); + $emailSvc = new MemberEmailVerificationService(); + $email = $emailSvc->normalizeEmail((string) $request->input('email')); + if ($email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL)) { + throw new ResourceException(trans('MembersBundle/Members.invalid_email')); + } + $repo = app('registry')->getManager('default')->getRepository(\MembersBundle\Entities\Members::class); + $member = $repo->findOneBy(['company_id' => $companyId, 'login_email' => $email]); + if (!$member || $member->getEmailVerifiedAt()) { + throw new ResourceException(trans('MembersBundle/Members.email_activation_send_not_allowed')); + } + $memberRegSettingService = new MemberRegSettingService(); + $token = $request->input('token'); + $yzmcode = $request->input('yzm'); + try { + if (!$memberRegSettingService->checkImageVcode($token, $companyId, $yzmcode, 'sign')) { + throw new ResourceException(trans('MembersBundle/Members.image_captcha_error')); + } + } catch (ResourceException $e) { + throw $e; + } catch (\Exception $e) { + throw new ResourceException($e->getMessage()); + } + $base = trim((string) $request->input('activation_base_url', '')); + if ($base === '') { + $base = (new MailSettingActivationBaseUrlResolver())->getH5ActivationBaseUrl($companyId); + } + if ($base === '') { + $base = trim((string) config('common.h5_base_url')); + } + try { + (new MemberEmailActivationService())->sendActivationLinkEmail( + $companyId, + $email, + (string) $request->ip(), + $request->header('X-Client-Device-Id'), + $base + ); + } catch (ResourceException $e) { + if ($e->getMessage() === trans('MembersBundle/Members.email_code_resend_too_fast')) { + throw new ResourceException(trans('MembersBundle/Members.email_activation_resend_too_frequent')); + } + throw $e; + } + + return $this->response->array(['message' => trans('MembersBundle/Members.email_activation_link_sent')]); + } + + /** + * 邮箱注册(无需邮箱验证码);注册成功后将激活邮件 **异步入队**,用户打开链接后由前端调用 activate 完成激活。 + */ + public function registerMemberByEmail(Request $request) + { + $authInfo = $request->get('auth'); + if (!is_array($authInfo)) { + $authInfo = []; + } + $companyId = $this->resolveFrontNoAuthTenantCompanyId($request); + $postData = $request->all(); + if (empty($postData['email']) || empty($postData['password'])) { + throw new ResourceException(trans('MembersBundle/Members.email_register_params_missing')); + } + $passwordConfirm = $postData['password_confirmation'] ?? $postData['password_confirm'] ?? null; + if ($passwordConfirm === null || $passwordConfirm === '') { + throw new ResourceException(trans('MembersBundle/Members.email_register_password_confirm_required')); + } + if ((string) $postData['password'] !== (string) $passwordConfirm) { + throw new ResourceException(trans('MembersBundle/Members.email_register_password_mismatch')); + } + $memberRegSettingService = new MemberRegSettingService(); + try { + if (!$memberRegSettingService->checkImageVcode($request->input('token'), $companyId, $request->input('yzm'), 'sign')) { + throw new ResourceException(trans('MembersBundle/Members.image_captcha_error')); + } + } catch (ResourceException $e) { + throw $e; + } catch (\Exception $e) { + throw new ResourceException($e->getMessage()); + } + $postData['company_id'] = $companyId; + $postData['api_from'] = $authInfo['api_from'] ?? 'h5app'; + $postData['unionid'] = $authInfo['unionid'] ?? ''; + $postData['open_id'] = $authInfo['open_id'] ?? ''; + $postData['client_ip'] = (string) $request->ip(); + $postData['device_id'] = $request->header('X-Client-Device-Id'); + $result = $this->memberService->registerMemberWithEmail($postData); + + return $this->response->array([ + 'message' => trans('MembersBundle/Members.email_register_success_check_mail'), + 'activation_email_queued' => (bool) ($result['activation_email_queued'] ?? false), + ]); + } + + /** + * 邮箱激活:校验邮件链接中的 token,写入 email_verified_at。 + */ + public function activateMemberByEmail(Request $request) + { + // JSON body / form / query(部分 H5 把 token 挂在 URL query) + $plainToken = trim((string) ($request->input('token') ?: $request->query('token', ''))); + if ($plainToken === '') { + throw new ResourceException(trans('MembersBundle/Members.email_activate_params_missing')); + } + $companyId = $this->resolveFrontNoAuthTenantCompanyId($request); + $activationSvc = new MemberEmailActivationService(); + $validated = $activationSvc->validateToken($companyId, $plainToken); + if (!$validated) { + throw new ResourceException(trans('MembersBundle/Members.email_activation_token_invalid')); + } + $repo = app('registry')->getManager('default')->getRepository(\MembersBundle\Entities\Members::class); + $member = $repo->findOneBy(['company_id' => $companyId, 'user_id' => $validated['user_id']]); + if (!$member) { + throw new ResourceException(trans('MembersBundle/Members.email_not_registered')); + } + if ($member->getEmailVerifiedAt()) { + throw new ResourceException(trans('MembersBundle/Members.email_already_verified')); + } + $activationSvc->consumeToken($companyId, $plainToken); + $this->memberService->updateMemberInfo( + ['email_verified_at' => time()], + ['user_id' => (int) $member->getUserId(), 'company_id' => $companyId] + ); + + return $this->response->array([ + 'message' => trans('MembersBundle/Members.email_activate_success'), + ]); + } + + /** + * 邮箱找回密码:发送带 token 的链接(防枚举统一文案) + */ + public function requestMemberPasswordResetEmail(Request $request) + { + $companyId = $this->resolveFrontNoAuthTenantCompanyId($request); + $emailSvc = new MemberEmailVerificationService(); + $email = $emailSvc->normalizeEmail((string) $request->input('email')); + $resetBase = (string) $request->input('reset_base_url', (string) config('common.h5_base_url')); + $repo = app('registry')->getManager('default')->getRepository(\MembersBundle\Entities\Members::class); + $member = $repo->findOneBy(['company_id' => $companyId, 'login_email' => $email]); + if ($member) { + $plain = (new MemberPasswordResetService())->createToken($companyId, (int) $member->getUserId()); + $url = rtrim($resetBase, '/') . '/reset-password?token=' . rawurlencode($plain) . '&company_id=' . $companyId; + (new MemberPasswordResetService())->sendResetEmail($companyId, $email, $url); + } + + return $this->response->array(['message' => trans('MembersBundle/Members.password_reset_email_sent_if_exists')]); + } + + /** + * 使用邮件中的 token 设置新密码 + */ + public function resetMemberPasswordByEmailToken(Request $request) + { + $companyId = $this->resolveFrontNoAuthTenantCompanyId($request); + $token = (string) $request->input('token'); + $password = (string) $request->input('password'); + (new MemberPasswordPolicyService())->validateOrFail($password); + $svc = new MemberPasswordResetService(); + $row = $svc->validateToken($companyId, $token); + if (!$row) { + throw new ResourceException(trans('MembersBundle/Members.password_reset_token_invalid')); + } + $svc->consumeToken($companyId, $token); + $hash = password_hash($password, PASSWORD_DEFAULT); + $this->memberService->updateMemberInfo(['password' => $hash], ['user_id' => $row['user_id'], 'company_id' => $companyId]); + + return $this->response->array(['message' => 'ok']); + } + /** * @SWG\Get( diff --git a/src/MembersBundle/Jobs/SendMemberEmailActivationJob.php b/src/MembersBundle/Jobs/SendMemberEmailActivationJob.php new file mode 100644 index 0000000..ecea11f --- /dev/null +++ b/src/MembersBundle/Jobs/SendMemberEmailActivationJob.php @@ -0,0 +1,59 @@ +companyId = $companyId; + $this->email = $email; + $this->clientIp = $clientIp; + $this->deviceId = $deviceId; + $this->activationBaseUrl = $activationBaseUrl; + } + + public function handle(): void + { + (new MemberEmailActivationService())->sendActivationLinkEmail( + $this->companyId, + $this->email, + $this->clientIp, + $this->deviceId, + $this->activationBaseUrl + ); + } +} diff --git a/src/MembersBundle/Repositories/MemberEmailActivationTokensRepository.php b/src/MembersBundle/Repositories/MemberEmailActivationTokensRepository.php new file mode 100644 index 0000000..2b5c73f --- /dev/null +++ b/src/MembersBundle/Repositories/MemberEmailActivationTokensRepository.php @@ -0,0 +1,28 @@ +findOneBy([ + 'company_id' => $params['company_id'], + 'login_email' => $params['login_email'], + ]); + if ($existsEmail) { + throw new StoreResourceFailedException(trans('MembersBundle/Members.login_email_already_exists')); + } + } + $userEntity = new Members(); $user = $this->setUserData($userEntity, $params); @@ -243,6 +253,8 @@ class MembersRepository extends EntityRepository 'has_fp' => $userEntity->getHasFp(), 'is_become_friend' => $userEntity->getIsBecomeFriend(), 'op_distributor' => $userEntity->getOpDistributor(), + 'login_email' => $userEntity->getLoginEmail(), + 'email_verified_at' => $userEntity->getEmailVerifiedAt(), ]; return $result; @@ -271,6 +283,12 @@ class MembersRepository extends EntityRepository if (isset($userData['password'])) { $userEntity->setPassword($userData['password']); } + if (array_key_exists('login_email', $userData)) { + $userEntity->setLoginEmail($userData['login_email']); + } + if (array_key_exists('email_verified_at', $userData)) { + $userEntity->setEmailVerifiedAt($userData['email_verified_at']); + } if (isset($userData['user_card_code'])) { $userEntity->setUserCardCode($userData['user_card_code']); } diff --git a/src/MembersBundle/Services/MemberEmailActivationService.php b/src/MembersBundle/Services/MemberEmailActivationService.php new file mode 100644 index 0000000..633f527 --- /dev/null +++ b/src/MembersBundle/Services/MemberEmailActivationService.php @@ -0,0 +1,143 @@ +getConnection('default'); + $conn->executeUpdate( + 'DELETE FROM member_email_activation_tokens WHERE company_id = ? AND user_id = ? AND used_at IS NULL', + [$companyId, $userId] + ); + } + + /** + * @return string 明文 token(放入邮件链接) + */ + public function createToken(int $companyId, int $userId): string + { + $this->invalidatePendingForUser($companyId, $userId); + $plain = bin2hex(random_bytes(32)); + $hash = hash('sha256', $plain); + $ttl = (int) (config('common.member_email_activation_token_ttl') ?: 172800); + $expires = time() + $ttl; + $conn = app('registry')->getConnection('default'); + $conn->insert('member_email_activation_tokens', [ + 'company_id' => $companyId, + 'user_id' => $userId, + 'token_hash' => $hash, + 'expires_at' => $expires, + 'used_at' => null, + 'created_at' => time(), + ]); + + return $plain; + } + + /** + * @return array{user_id:int, company_id:int}|null + */ + public function validateToken(int $companyId, string $plainToken): ?array + { + $hash = hash('sha256', $plainToken); + $conn = app('registry')->getConnection('default'); + $row = $conn->fetchAssoc( + 'SELECT user_id, company_id, expires_at, used_at FROM member_email_activation_tokens WHERE company_id = ? AND token_hash = ?', + [$companyId, $hash] + ); + if (!$row) { + return null; + } + if (!empty($row['used_at'])) { + return null; + } + if ((int) $row['expires_at'] < time()) { + return null; + } + + return ['user_id' => (int) $row['user_id'], 'company_id' => (int) $row['company_id']]; + } + + public function consumeToken(int $companyId, string $plainToken): void + { + $hash = hash('sha256', $plainToken); + $conn = app('registry')->getConnection('default'); + $conn->executeUpdate( + 'UPDATE member_email_activation_tokens SET used_at = ? WHERE company_id = ? AND token_hash = ? AND used_at IS NULL', + [time(), $companyId, $hash] + ); + } + + public function sendActivationEmail(int $companyId, string $email, string $activationUrlWithToken): void + { + $config = app('redis')->connection('companys')->get('mailSetting:' . $companyId); + $config = json_decode((string) $config, true); + if (empty($config['EMAIL_SMTP_PORT']) || empty($config['EMAIL_RELAY_HOST'])) { + throw new ResourceException(trans('MembersBundle/Members.company_mail_not_configured')); + } + $configMail = [ + 'email_smtp_port' => $config['EMAIL_SMTP_PORT'], + 'email_relay_host' => $config['EMAIL_RELAY_HOST'], + 'email_user' => $config['EMAIL_USER'], + 'email_password' => (string) ($config['EMAIL_PASSWORD'] ?? ''), + 'email_sender' => $config['EMAIL_SENDER'], + ]; + $brand = (new CompanySettingBrandNameService())->resolveForCompanyId($companyId); + $subject = trans('MembersBundle/Members.email_activation_subject'); + $body = view('members.email_activation', [ + 'brand' => $brand, + 'activationUrl' => $activationUrlWithToken, + ])->render(); + $mailer = new MailerService($configMail); + if (!$mailer->doSend($email, $subject, $body)) { + throw new ResourceException(trans('MembersBundle/Members.email_send_failed')); + } + } + + /** + * 向未激活会员发送含激活链接的邮件(注册成功 / purpose=activate 重发)。 + */ + public function sendActivationLinkEmail( + int $companyId, + string $email, + string $clientIp, + ?string $deviceId, + string $activationBaseUrl + ): void { + $emailSvc = new MemberEmailVerificationService(); + $normalized = $emailSvc->normalizeEmail($email); + if (!filter_var($normalized, FILTER_VALIDATE_EMAIL)) { + throw new ResourceException(trans('MembersBundle/Members.invalid_email')); + } + $repo = app('registry')->getManager('default')->getRepository(\MembersBundle\Entities\Members::class); + $member = $repo->findOneBy(['company_id' => $companyId, 'login_email' => $normalized]); + if (!$member || $member->getEmailVerifiedAt()) { + throw new ResourceException(trans('MembersBundle/Members.email_activation_send_not_allowed')); + } + $base = rtrim($activationBaseUrl, '/'); + if ($base === '') { + throw new ResourceException(trans('MembersBundle/Members.email_activation_base_url_required')); + } + $emailSvc->assertCanSendEmailPurpose($companyId, MemberEmailVerificationService::PURPOSE_ACTIVATE, $normalized, $clientIp, $deviceId); + $userId = (int) $member->getUserId(); + $plain = $this->createToken($companyId, $userId); + $url = $base . self::ACTIVATION_EMAIL_PATH . '?token=' . rawurlencode($plain) . '&company_id=' . $companyId; + $this->sendActivationEmail($companyId, $normalized, $url); + $emailSvc->setPurposeSendCooldown($companyId, MemberEmailVerificationService::PURPOSE_ACTIVATE, $normalized); + } +} diff --git a/src/MembersBundle/Services/MemberEmailVerificationService.php b/src/MembersBundle/Services/MemberEmailVerificationService.php new file mode 100644 index 0000000..68f62ae --- /dev/null +++ b/src/MembersBundle/Services/MemberEmailVerificationService.php @@ -0,0 +1,201 @@ +normalizeEmail($email); + $key = $this->codeKey($companyId, $purpose, $email); + $redis = app('redis')->connection('members'); + $expect = $redis->get($key); + + return $expect !== null && $expect !== false && hash_equals((string) $expect, (string) $code); + } + + public function consumeCode(int $companyId, string $email, string $purpose, string $code): bool + { + if (!$this->verifyCode($companyId, $email, $purpose, $code)) { + return false; + } + $email = $this->normalizeEmail($email); + $key = $this->codeKey($companyId, $purpose, $email); + app('redis')->connection('members')->del($key); + + return true; + } + + /** + * 生成并发送 6 位验证码邮件。 + * + * @return string 明文验证码(仅用于测试;生产不返回) + */ + public function sendVerificationCode( + int $companyId, + string $email, + string $purpose, + string $clientIp, + ?string $deviceId + ): string { + $email = $this->normalizeEmail($email); + if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { + throw new ResourceException(trans('MembersBundle/Members.invalid_email')); + } + if ($purpose !== self::PURPOSE_LOGIN) { + throw new ResourceException(trans('MembersBundle/Members.email_code_purpose_invalid')); + } + + $this->assertCanSendEmailPurpose($companyId, $purpose, $email, $clientIp, $deviceId); + + $redis = app('redis')->connection('members'); + $code = (string) random_int(100000, 999999); + $ttl = (int) (config('common.member_email_vcode_ttl') ?: 600); + $redis->setex($this->codeKey($companyId, $purpose, $email), $ttl, $code); + $this->setPurposeSendCooldown($companyId, $purpose, $email); + + $this->sendMail($companyId, $email, $purpose, $code, $ttl); + + return $code; + } + + /** + * 发 **登录** 6 位码或 **激活链接** 邮件前:登录 60s 冷却;激活链接为 `member_email_activation_cooldown_seconds`(默认 90s)+ 日限/IP/设备限流。 + */ + public function assertCanSendEmailPurpose( + int $companyId, + string $purpose, + string $normalizedEmail, + string $clientIp, + ?string $deviceId + ): void { + $redis = app('redis')->connection('members'); + $cooldownKey = $this->cooldownKey($companyId, $purpose, $normalizedEmail); + if ($redis->exists($cooldownKey)) { + throw new ResourceException(trans('MembersBundle/Members.email_code_resend_too_fast')); + } + $this->assertRateLimits($companyId, $purpose, $normalizedEmail, $clientIp, $deviceId); + } + + public function setPurposeSendCooldown(int $companyId, string $purpose, string $normalizedEmail): void + { + $redis = app('redis')->connection('members'); + $ttl = 60; + if ($purpose === self::PURPOSE_ACTIVATE) { + $ttl = (int) (config('common.member_email_activation_cooldown_seconds') ?: 90); + if ($ttl < 1) { + $ttl = 90; + } + } + $redis->setex($this->cooldownKey($companyId, $purpose, $normalizedEmail), $ttl, '1'); + } + + private function assertRateLimits(int $companyId, string $purpose, string $email, string $clientIp, ?string $deviceId): void + { + $redis = app('redis')->connection('members'); + $day = date('Ymd'); + $limit = (int) (config('common.member_email_send_limit_per_day') ?: config('common.sms_send_limit') ?: 5); + + $emailKey = 'yzmemail:' . $companyId . ':' . $day . ':' . $purpose . ':' . sha1($email); + $n = $redis->incr($emailKey); + if ($redis->ttl($emailKey) === -1) { + $redis->expire($emailKey, 3600 * 24); + } + if ($n > $limit) { + throw new ResourceException(trans('MembersBundle/Members.email_send_limit_exceeded')); + } + + if ($clientIp !== '') { + $ipKey = 'member:email:ip:' . $companyId . ':' . $day . ':' . sha1($clientIp); + $ipN = $redis->incr($ipKey); + if ($redis->ttl($ipKey) === -1) { + $redis->expire($ipKey, 3600 * 24); + } + $ipLimit = (int) (config('common.member_email_ip_limit_per_day') ?: 200); + if ($ipN > $ipLimit) { + throw new ResourceException(trans('MembersBundle/Members.email_ip_limit_exceeded')); + } + } + + if ($deviceId !== null && $deviceId !== '') { + $devKey = 'member:email:dev:' . $companyId . ':' . $day . ':' . sha1($deviceId); + $dN = $redis->incr($devKey); + if ($redis->ttl($devKey) === -1) { + $redis->expire($devKey, 3600 * 24); + } + $devLimit = (int) (config('common.member_email_device_limit_per_day') ?: 200); + if ($dN > $devLimit) { + throw new ResourceException(trans('MembersBundle/Members.email_device_limit_exceeded')); + } + } + } + + private function codeKey(int $companyId, string $purpose, string $normalizedEmail): string + { + return 'member:email:vcode:' . sha1((string) $companyId) . ':' . $purpose . ':' . sha1($normalizedEmail); + } + + private function cooldownKey(int $companyId, string $purpose, string $normalizedEmail): string + { + return 'member:email:vcode_cd:' . sha1((string) $companyId) . ':' . $purpose . ':' . sha1($normalizedEmail); + } + + private function sendMail(int $companyId, string $to, string $purpose, string $code, int $ttlSeconds): void + { + $config = app('redis')->connection('companys')->get('mailSetting:' . $companyId); + $config = json_decode((string) $config, true); + if (empty($config['EMAIL_SMTP_PORT']) || empty($config['EMAIL_RELAY_HOST'])) { + throw new ResourceException(trans('MembersBundle/Members.company_mail_not_configured')); + } + $configMail = [ + 'email_smtp_port' => $config['EMAIL_SMTP_PORT'], + 'email_relay_host' => $config['EMAIL_RELAY_HOST'], + 'email_user' => $config['EMAIL_USER'], + 'email_password' => (string) ($config['EMAIL_PASSWORD'] ?? ''), + 'email_sender' => $config['EMAIL_SENDER'], + ]; + if ($purpose === self::PURPOSE_LOGIN) { + $brand = (new CompanySettingBrandNameService())->resolveForCompanyId($companyId); + $subjectBrand = str_replace(["\r", "\n"], '', strip_tags($brand)); + $subject = trans('MembersBundle/Members.email_login_vcode_headline_prefix') . $subjectBrand; + $ttlMinutes = max(1, (int) ceil($ttlSeconds / 60)); + $body = view('members.email_login_vcode', [ + 'brand' => $brand, + 'code' => $code, + 'ttlMinutes' => $ttlMinutes, + ])->render(); + } else { + $subject = trans('MembersBundle/Members.email_vcode_subject_' . $purpose); + $body = trans('MembersBundle/Members.email_vcode_body', ['code' => $code]); + } + + $mailer = new MailerService($configMail); + if (!$mailer->doSend($to, $subject, $body)) { + throw new ResourceException(trans('MembersBundle/Members.email_send_failed')); + } + } +} diff --git a/src/MembersBundle/Services/MemberPasswordPolicyService.php b/src/MembersBundle/Services/MemberPasswordPolicyService.php new file mode 100644 index 0000000..bebac61 --- /dev/null +++ b/src/MembersBundle/Services/MemberPasswordPolicyService.php @@ -0,0 +1,63 @@ + false, 'strength' => 'weak', 'message' => trans('MembersBundle/Members.password_min_length_8')]; + } + if (!$hasLetter || !$hasDigit) { + return ['valid' => false, 'strength' => 'weak', 'message' => trans('MembersBundle/Members.password_need_letter_and_digit')]; + } + $lower = strtolower($password); + foreach (self::$weakPasswords as $w) { + if ($lower === $w || str_contains($lower, $w)) { + return ['valid' => false, 'strength' => 'weak', 'message' => trans('MembersBundle/Members.password_too_weak')]; + } + } + + $strength = 'medium'; + if ($len >= 12 && preg_match('/[^a-zA-Z0-9]/', $password)) { + $strength = 'strong'; + } elseif ($len >= 10) { + $strength = 'strong'; + } + + return ['valid' => true, 'strength' => $strength, 'message' => '']; + } + + public function validateOrFail(string $password): void + { + $r = $this->evaluate($password); + if (!$r['valid']) { + throw new ResourceException($r['message']); + } + } +} diff --git a/src/MembersBundle/Services/MemberPasswordResetService.php b/src/MembersBundle/Services/MemberPasswordResetService.php new file mode 100644 index 0000000..20458f1 --- /dev/null +++ b/src/MembersBundle/Services/MemberPasswordResetService.php @@ -0,0 +1,129 @@ +getConnection('default'); + $conn->executeUpdate( + 'DELETE FROM member_password_reset_tokens WHERE company_id = ? AND user_id = ? AND used_at IS NULL', + [$companyId, $userId] + ); + } + + /** + * @return string 明文 token(放入邮件链接) + */ + public function createToken(int $companyId, int $userId): string + { + $this->invalidatePendingForUser($companyId, $userId); + $plain = bin2hex(random_bytes(32)); + $hash = hash('sha256', $plain); + $ttl = (int) (config('common.member_email_reset_token_ttl') ?: 1200); + $expires = time() + $ttl; + $conn = app('registry')->getConnection('default'); + $conn->insert('member_password_reset_tokens', [ + 'company_id' => $companyId, + 'user_id' => $userId, + 'token_hash' => $hash, + 'expires_at' => $expires, + 'used_at' => null, + 'created_at' => time(), + ]); + + return $plain; + } + + /** + * @return array{user_id:int, company_id:int}|null + */ + public function validateToken(int $companyId, string $plainToken): ?array + { + $hash = hash('sha256', $plainToken); + $conn = app('registry')->getConnection('default'); + $row = $conn->fetchAssoc( + 'SELECT user_id, company_id, expires_at, used_at FROM member_password_reset_tokens WHERE company_id = ? AND token_hash = ?', + [$companyId, $hash] + ); + if (!$row) { + return null; + } + if (!empty($row['used_at'])) { + return null; + } + if ((int) $row['expires_at'] < time()) { + return null; + } + + return ['user_id' => (int) $row['user_id'], 'company_id' => (int) $row['company_id']]; + } + + /** + * 邮件内 href 仅允许 http(s) 绝对 URL,防止 javascript: 等协议。 + */ + public static function isAllowedResetEmailUrl(string $url): bool + { + $trim = trim($url); + if ($trim === '') { + return false; + } + $parts = @parse_url($trim); + if (!is_array($parts) || empty($parts['scheme']) || empty($parts['host'])) { + return false; + } + $scheme = strtolower((string) $parts['scheme']); + + return $scheme === 'http' || $scheme === 'https'; + } + + public function consumeToken(int $companyId, string $plainToken): void + { + $hash = hash('sha256', $plainToken); + $conn = app('registry')->getConnection('default'); + $conn->executeUpdate( + 'UPDATE member_password_reset_tokens SET used_at = ? WHERE company_id = ? AND token_hash = ? AND used_at IS NULL', + [time(), $companyId, $hash] + ); + } + + public function sendResetEmail(int $companyId, string $email, string $resetUrlWithToken): void + { + $config = app('redis')->connection('companys')->get('mailSetting:' . $companyId); + $config = json_decode((string) $config, true); + if (empty($config['EMAIL_SMTP_PORT']) || empty($config['EMAIL_RELAY_HOST'])) { + throw new ResourceException(trans('MembersBundle/Members.company_mail_not_configured')); + } + $configMail = [ + 'email_smtp_port' => $config['EMAIL_SMTP_PORT'], + 'email_relay_host' => $config['EMAIL_RELAY_HOST'], + 'email_user' => $config['EMAIL_USER'], + 'email_password' => (string) ($config['EMAIL_PASSWORD'] ?? ''), + 'email_sender' => $config['EMAIL_SENDER'], + ]; + if (!self::isAllowedResetEmailUrl($resetUrlWithToken)) { + throw new ResourceException(trans('MembersBundle/Members.email_password_reset_link_invalid')); + } + $brand = (new CompanySettingBrandNameService())->resolveForCompanyId($companyId); + $ttlSeconds = (int) (config('common.member_email_reset_token_ttl') ?: 1200); + $ttlMinutes = max(1, (int) ceil($ttlSeconds / 60)); + $subject = trans('MembersBundle/Members.email_password_reset_subject'); + $body = view('members.email_password_reset', [ + 'brand' => $brand, + 'resetUrl' => $resetUrlWithToken, + 'ttlMinutes' => $ttlMinutes, + ])->render(); + $mailer = new MailerService($configMail); + if (!$mailer->doSend($email, $subject, $body)) { + throw new ResourceException(trans('MembersBundle/Members.email_send_failed')); + } + } +} diff --git a/src/MembersBundle/Services/MemberService.php b/src/MembersBundle/Services/MemberService.php index bbd8cf4..e163528 100644 --- a/src/MembersBundle/Services/MemberService.php +++ b/src/MembersBundle/Services/MemberService.php @@ -17,6 +17,10 @@ namespace MembersBundle\Services; +use CompanysBundle\Services\MailSettingActivationBaseUrlResolver; +use CompanysBundle\Services\MailSettingEmailRegistrationValidator; +use Illuminate\Contracts\Bus\Dispatcher; +use MembersBundle\Jobs\SendMemberEmailActivationJob; use CompanysBundle\Services\Shops\ProtocolService; use EspierBundle\Services\Config\ConfigRequestFieldsService; use KaquanBundle\Services\PackageSetService; @@ -58,6 +62,7 @@ use MembersBundle\Jobs\BindSalseperson; use ThirdPartyBundle\Services\MarketingCenter\Request as MarketingCenterRequest; use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException; use MembersBundle\Services\MembersProtocolLogService; +use MembersBundle\Services\MembersWhitelistService; use KaquanBundle\Entities\VipGradeRelUser; use MembersBundle\Services\ShopRelMemberService; use ShuyunBundle\Services\MembersService as ShuyunMembersService; @@ -153,6 +158,14 @@ class MemberService 'op_distributor' => isset($params['op_distributor']) ? (int)$params['op_distributor'] : 0, ]; + if (!empty($params['login_email'])) { + $memberInfo['login_email'] = $params['login_email']; + $memberInfo['email_verified_at'] = $params['email_verified_at'] ?? null; + if (!isset($memberInfo['email']) || $memberInfo['email'] === null || $memberInfo['email'] === '') { + $memberInfo['email'] = $params['login_email']; + } + } + if ($isUpdatePassword) { $memberInfo['password'] = password_hash($params['password'], PASSWORD_DEFAULT); } @@ -369,6 +382,87 @@ class MemberService return $result; } + /** + * 邮箱注册:密码策略、占位手机号、写入 login_email;**不**校验邮箱验证码。 + * 创建时 email_verified_at 为空,注册成功后发送 **激活链接** 邮件。 + * + * @return array 含 createMember 结果字段 + activation_email_queued(bool) + */ + public function registerMemberWithEmail(array $params): array + { + $emailSvc = new MemberEmailVerificationService(); + $email = $emailSvc->normalizeEmail($params['email']); + (new MemberPasswordPolicyService())->validateOrFail($params['password']); + MailSettingEmailRegistrationValidator::assertReadyForMemberEmailRegistration((int) $params['company_id']); + $mobile = (new MemberSyntheticMobileService())->allocateUnique((int) $params['company_id']); + $dup = $this->membersRepository->findOneBy(['company_id' => $params['company_id'], 'login_email' => $email]); + if ($dup) { + throw new ResourceException(trans('MembersBundle/Members.login_email_already_exists')); + } + $createParams = [ + 'mobile' => $mobile, + 'region_mobile' => $mobile, + 'mobile_country_code' => '86', + 'company_id' => $params['company_id'], + 'wxa_appid' => $params['wxa_appid'] ?? '', + 'authorizer_appid' => $params['authorizer_appid'] ?? '', + 'sex' => $params['sex'] ?? 0, + 'username' => $params['username'] ?? randValue(8), + 'avatar' => $params['avatar'] ?? '', + 'email' => $email, + 'login_email' => $email, + 'email_verified_at' => null, + 'password' => $params['password'], + 'api_from' => $params['api_from'] ?? 'h5app', + 'auth_type' => 'local', + 'user_type' => 'local', + 'unionid' => $params['unionid'] ?? '', + 'open_id' => $params['open_id'] ?? '', + 'inviter_id' => $params['inviter_id'] ?? 0, + 'source_from' => $params['source_from'] ?? 'default', + 'source_id' => $params['source_id'] ?? 0, + 'monitor_id' => $params['monitor_id'] ?? 0, + ]; + $tips = ''; + if (!(new MembersWhitelistService())->checkWhitelistValid($params['company_id'], $mobile, $tips)) { + throw new ResourceException($tips); + } + + $result = $this->createMember($createParams, true); + + $baseUrl = (new MailSettingActivationBaseUrlResolver())->getH5ActivationBaseUrl((int) $params['company_id']); + if ($baseUrl === '') { + $baseUrl = trim((string) (config('common.h5_base_url') ?? '')); + } + if ($baseUrl === '') { + $baseUrl = trim((string) ($params['activation_base_url'] ?? '')); + } + if ($baseUrl === '') { + throw new ResourceException(trans('MembersBundle/Members.email_activation_base_url_required')); + } + + try { + $job = new SendMemberEmailActivationJob( + (int) $params['company_id'], + $email, + (string) ($params['client_ip'] ?? ''), + isset($params['device_id']) && (string) $params['device_id'] !== '' ? (string) $params['device_id'] : null, + $baseUrl + ); + app(Dispatcher::class)->dispatch($job->onQueue('default')); + } catch (\Throwable $e) { + app('log')->error('activation email queue dispatch failed after register', [ + 'company_id' => $params['company_id'] ?? null, + 'email' => $email, + 'exception' => $e::class, + 'message' => $e->getMessage(), + ]); + throw new ResourceException(trans('MembersBundle/Members.email_activation_queue_dispatch_failed')); + } + + return array_merge($result, ['activation_email_queued' => true]); + } + public function dmCreateMember($params, $isUpdatePassword = false) { // 查询达摩CRM会员 @@ -423,6 +517,14 @@ class MemberService 'dm_card_no' => $dmMemberInfo['cardNo'] ?? '', ]; + if (!empty($params['login_email'])) { + $memberInfo['login_email'] = $params['login_email']; + $memberInfo['email_verified_at'] = $params['email_verified_at'] ?? null; + if (!isset($memberInfo['email']) || $memberInfo['email'] === null || $memberInfo['email'] === '') { + $memberInfo['email'] = $params['login_email']; + } + } + if ($isUpdatePassword) { $memberInfo['password'] = password_hash($params['password'], PASSWORD_DEFAULT); } @@ -910,6 +1012,9 @@ class MemberService // $result = array_merge($member, $info); // $result["requestFields"] = $requestFields; } + if (is_array($result)) { + MemberSyntheticMobileService::stripPlaceholderMobileForEmailRegisteredMember($result); + } return $result; } @@ -1202,7 +1307,7 @@ class MemberService $conn = app('registry')->getConnection('default'); - $mFields = "DISTINCT m.user_id,m.company_id,m.grade_id,m.mobile,m.user_card_code,m.authorizer_appid,m.wxa_appid,m.source_id,m.monitor_id,m.latest_source_id,m.latest_monitor_id,m.created,m.updated,m.created_year,m.created_month,m.created_day,m.offline_card_code,m.inviter_id,m.source_from,m.password,m.disabled,m.use_point,m.remarks,m.third_data,m.region_mobile,m.mobile_country_code,m.reg_distributor,m.reg_salesperson,m.fp_salesperson,m.has_fp,m.op_distributor,"; + $mFields = "DISTINCT m.user_id,m.company_id,m.grade_id,m.mobile,m.user_card_code,m.authorizer_appid,m.wxa_appid,m.source_id,m.monitor_id,m.latest_source_id,m.latest_monitor_id,m.created,m.updated,m.created_year,m.created_month,m.created_day,m.offline_card_code,m.inviter_id,m.source_from,m.password,m.disabled,m.use_point,m.remarks,m.third_data,m.region_mobile,m.mobile_country_code,m.reg_distributor,m.reg_salesperson,m.fp_salesperson,m.has_fp,m.op_distributor,m.login_email,m.email_verified_at,"; $row = $mFields . 'info.username,info.name,info.sex,info.birthday,info.address,info.email,info.industry,info.income,info.edu_background,info.habbit,info.avatar'; $criteria = $conn->createQueryBuilder(); @@ -1262,6 +1367,7 @@ class MemberService isset($value['mobile']) and $result[$key]['mobile'] = fixeddecrypt($value['mobile']); isset($value['username']) and $result[$key]['username'] = fixeddecrypt($value['username']); isset($value['nickname']) and $result[$key]['nickname'] = fixeddecrypt($value['nickname']); + MemberSyntheticMobileService::stripPlaceholderMobileForEmailRegisteredMember($result[$key]); } } return $result; @@ -1522,7 +1628,7 @@ class MemberService //$criteria->andWhere($criteria->expr()->isNotNull('m.user_card_code')); if ($filter) { - $commonKey = ['company_id', 'user_id', 'created', 'updated', 'created_month', 'created_day', 'created_year', 'remarks', 'mobile', 'birthday', 'fp_salesperson', 'has_fp', 'grade_id', 'op_distributor']; + $commonKey = ['company_id', 'user_id', 'created', 'updated', 'created_month', 'created_day', 'created_year', 'remarks', 'mobile', 'birthday', 'fp_salesperson', 'has_fp', 'grade_id', 'op_distributor', 'login_email']; foreach ($filter as $field => $value) { $list = explode('|', $field); if (count($list) > 1) { @@ -1939,6 +2045,11 @@ class MemberService $row = $col; } $result['list'] = $criteria->select($row)->execute()->fetchAll(); + foreach ($result['list'] as &$listRow) { + MemberSyntheticMobileService::stripPlaceholderMobileForEmailRegisteredMember($listRow); + } + unset($listRow); + return $result; } diff --git a/src/MembersBundle/Services/MemberSyntheticMobileService.php b/src/MembersBundle/Services/MemberSyntheticMobileService.php new file mode 100644 index 0000000..751991c --- /dev/null +++ b/src/MembersBundle/Services/MemberSyntheticMobileService.php @@ -0,0 +1,81 @@ +getInfoByMobile($companyId, $candidate); + if (!$existing) { + return $candidate; + } + } + throw new ResourceException(trans('MembersBundle/Members.synthetic_mobile_failed')); + } +} diff --git a/src/MembersBundle/Services/RegisterLoginChannelService.php b/src/MembersBundle/Services/RegisterLoginChannelService.php new file mode 100644 index 0000000..df6fa99 --- /dev/null +++ b/src/MembersBundle/Services/RegisterLoginChannelService.php @@ -0,0 +1,38 @@ +connection('members')->get($this->redisKey($companyId)); + if ($raw === null || $raw === false || $raw === '') { + return self::CHANNEL_MOBILE; + } + $data = json_decode((string) $raw, true); + $ch = $data['channel'] ?? self::CHANNEL_MOBILE; + + return $ch === self::CHANNEL_EMAIL ? self::CHANNEL_EMAIL : self::CHANNEL_MOBILE; + } + + public function setChannel(int $companyId, string $channel): void + { + $normalized = $channel === self::CHANNEL_EMAIL ? self::CHANNEL_EMAIL : self::CHANNEL_MOBILE; + app('redis')->connection('members')->set($this->redisKey($companyId), json_encode(['channel' => $normalized])); + } +} diff --git a/src/MembersBundle/Traits/MemberSearchFilter.php b/src/MembersBundle/Traits/MemberSearchFilter.php index d1effc8..a591903 100644 --- a/src/MembersBundle/Traits/MemberSearchFilter.php +++ b/src/MembersBundle/Traits/MemberSearchFilter.php @@ -40,6 +40,12 @@ trait MemberSearchFilter if (isset($postdata['username']) && $postdata['username']) { $filter['username'] = $postdata['username']; } + if (isset($postdata['login_email']) && $postdata['login_email'] !== null) { + $loginEmailFragment = mb_strtolower(trim((string) $postdata['login_email'])); + if ($loginEmailFragment !== '') { + $filter['login_email|like'] = $loginEmailFragment; + } + } if (isset($postdata['name']) && $postdata['name']) { $filter['name'] = $postdata['name']; } diff --git a/src/OrdersBundle/Jobs/SendInvoiceEmailJob.php b/src/OrdersBundle/Jobs/SendInvoiceEmailJob.php index 4f37de1..6d56512 100644 --- a/src/OrdersBundle/Jobs/SendInvoiceEmailJob.php +++ b/src/OrdersBundle/Jobs/SendInvoiceEmailJob.php @@ -17,6 +17,7 @@ namespace OrdersBundle\Jobs; +use CompanysBundle\Services\MailSettingStoredPasswordResolver; use CompanysBundle\Services\MailerService; use EspierBundle\Jobs\Job; use CompanysBundle\Services\EmailService; @@ -61,14 +62,17 @@ class SendInvoiceEmailJob extends Job // 发送邮件 $config = app('redis')->connection('companys')->get('mailSetting:' . $this->data['company_id']); - $config = json_decode($config, true); - app('log')->info('SendInvoiceEmailJob: 邮件配置:'.json_encode($config)); + $config = json_decode((string) $config, true); + if (!is_array($config)) { + $config = []; + } + app('log')->info('SendInvoiceEmailJob: 邮件配置:'.json_encode(MailSettingStoredPasswordResolver::redactForLog($config))); $configMail = [ - 'email_smtp_port' => $config['EMAIL_SMTP_PORT'], - 'email_relay_host' => $config['EMAIL_RELAY_HOST'], - 'email_user' => $config['EMAIL_USER'], - 'email_password' => $config['EMAIL_PASSWORD'], - 'email_sender' => $config['EMAIL_SENDER'], + 'email_smtp_port' => $config['EMAIL_SMTP_PORT'] ?? '', + 'email_relay_host' => $config['EMAIL_RELAY_HOST'] ?? '', + 'email_user' => $config['EMAIL_USER'] ?? '', + 'email_password' => (string) ($config['EMAIL_PASSWORD'] ?? ''), + 'email_sender' => $config['EMAIL_SENDER'] ?? '', ]; $emailService = new MailerService($configMail); app('log')->info('SendInvoiceEmailJob: 发送邮件开始:to:'.$to.',subject:'.$subject.',body:'.$body); diff --git a/storage/static/platform_menu.json b/storage/static/platform_menu.json index 82c57c1..0e4a116 100644 --- a/storage/static/platform_menu.json +++ b/storage/static/platform_menu.json @@ -1 +1 @@ -[{"shopmenu_id":"11215","company_id":0,"name":"\u6982\u51b5","url":"\/","sort":1,"is_menu":true,"pid":"0","apis":"company.activate.info\nwechat.pre_auth_url\nwechat.authorizerInfo\nwechat.stats.userWeekSummary\ncompany.resources\nwechat.bind\ncompanys.setting\ncompany.real.statistics\ncompany.notice.statistics\ncompanys.ydleads.create\nselfhelp.form.add\nselfhelp.form.edit\nselfhelp.form.info\nselfhelp.form.delete\nselfhelp.template.add\nselfhelp.registrationActivity.info\nselfhelp.registrationActivity.delete\nselfhelp.registrationActivity.invalid\nselfhelp.physical.datelist\nmerchant.operator.update\noperator.update.data\noperator.select.distributor\norder.message.new","icon":"tachometer-alt-copy","is_show":true,"alias_name":"index","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6982\u51b5","en-CN":"index","ar-SA":"\u0644\u0648\u062d\u0629 \u0627\u0644\u062a\u062d\u0643\u0645 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629"},"level":1,"parent_name":"\u65e0","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11216","company_id":0,"name":"\u5546\u54c1","url":"\/entity","sort":1,"is_menu":true,"pid":"0","apis":"","icon":"shopping-bag-copy","is_show":true,"alias_name":"entity","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1","en-CN":"Rewards","ar-SA":"\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11217","company_id":0,"name":"\u5546\u54c1\u7ba1\u7406","url":"\/entity\/goods","sort":1,"is_menu":true,"pid":"11216","apis":"third.wdterp.setting.get\nthird.jushuitan.setting.get","icon":null,"is_show":true,"alias_name":"goods","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u7ba1\u7406","en-CN":"Rewards","ar-SA":"\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11218","company_id":0,"name":"\u81ea\u8425\u5546\u54c1","url":"\/entity\/goods\/goodsphysical","sort":1,"is_menu":true,"pid":"11217","apis":"goods.items.create\ngoods.items.templates_change\ngoods.items.category_change\ngoods.items.lists\ngoods.items.detail\ngoods.items.delete\ngoods.items.update\ngoods.items.distributiongoodswxacode\ngoods.items.warning_store\ngoods.category.lists\ngoods.category.get\ngoods.category.update\nshipping.templates.list\ncurrency.get.default\nespier.image.list\ndistributor.item.create\nespier.image.cat.children\ngoods.attributes.list\nwechat.material.upload\nwechat.material.list\ngoods.tag.list\ngoods.tag.rel\ngoods.status.upate\npopularize.config.get\ngoods.member.price\ngoods.store.upate\ngoods.export\ngoods.profit.info\ngoods.profit.save\ngoods.jishuitan.items.upload\ngoods.jushuitan.inventory.query\ngoods.sync.items\ngoods.isgift.upate\ngoods.createcategory.create\nespier.image.cat.edit\nthird.jushuitan.setting.get\nall.setting.get\nthird.wdterp.setting.get\npoint.member.rule.info\nespier.address.info\nespier.upload\nespier.oss.uploadToken.get\nespier.image.save\ngoods.attributes.list\ngoods.tag.list","icon":null,"is_show":true,"alias_name":"goodsphysical","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u81ea\u8425\u5546\u54c1","en-CN":"Self-operated Products","ar-SA":"\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0630\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u062a\u064a"},"level":3,"parent_name":"\u5546\u54c1\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11219","company_id":0,"name":"\u5546\u6237\u5546\u54c1","url":"\/entity\/goods\/goodsaudit","sort":2,"is_menu":true,"pid":"11217","apis":"goods.items.lists\ngoods.items.detail\ngoods.items.distributiongoodswxacode\ngoods.items.warning_store\ngoods.category.lists\nshipping.templates.list\ncurrency.get.default\nwechat.material.upload\nwechat.material.list\ngoods.tag.list\ngoods.items.audit","icon":null,"is_show":true,"alias_name":"goodsaudit","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u6237\u5546\u54c1","en-CN":"Merchant goods","ar-SA":"\u0633\u0650\u0644\u064e\u0639 \u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u5546\u54c1\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11220","company_id":0,"name":"\u95e8\u5e97\u5546\u54c1\u7ba1\u7406","url":"\/entity\/goods\/storeshopitemanagement","sort":3,"is_menu":true,"pid":"11217","apis":"distributor.item.exportlist\ndistributor.info\ndistributor.info","icon":null,"is_show":true,"alias_name":"storeshopitemanagement","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u95e8\u5e97\u5546\u54c1\u7ba1\u7406","en-CN":"Store Rewards Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u5546\u54c1\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11221","company_id":0,"name":"\u95e8\u5e97\u5546\u54c1\u66f4\u65b0","url":"\/entity\/goods\/exportstoreitems","sort":4,"is_menu":true,"pid":"11217","apis":"","icon":null,"is_show":true,"alias_name":"exportstoreitems","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u95e8\u5e97\u5546\u54c1\u66f4\u65b0","en-CN":"Store Rewards Update","ar-SA":"\u062a\u062d\u062f\u064a\u062b \u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u5546\u54c1\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11222","company_id":0,"name":"\u5546\u54c1\u5206\u7c7b","url":"\/entity\/goodsgroup","sort":2,"is_menu":true,"pid":"11216","apis":"","icon":null,"is_show":true,"alias_name":"goodsgroup","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u5206\u7c7b","en-CN":"Rewards Category","ar-SA":"\u0641\u0626\u0629 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11223","company_id":0,"name":"\u7ba1\u7406\u5206\u7c7b","url":"\/entity\/goodsgroup\/goodsmaincategory","sort":1,"is_menu":true,"pid":"11222","apis":"goods.category.delete","icon":null,"is_show":true,"alias_name":"goodsmaincategory","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u7ba1\u7406\u5206\u7c7b","en-CN":"Category Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0641\u0626\u0627\u062a"},"level":3,"parent_name":"\u5546\u54c1\u5206\u7c7b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11224","company_id":0,"name":"\u9500\u552e\u5206\u7c7b","url":"\/entity\/goodsgroup\/goodscategory","sort":2,"is_menu":true,"pid":"11222","apis":"","icon":null,"is_show":true,"alias_name":"goodscategory","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u9500\u552e\u5206\u7c7b","en-CN":"Sales Category","ar-SA":"\u0641\u0626\u0629 \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a"},"level":3,"parent_name":"\u5546\u54c1\u5206\u7c7b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11225","company_id":0,"name":"\u5546\u54c1\u6807\u7b7e","url":"\/entity\/goodsgroup\/itemtags","sort":3,"is_menu":true,"pid":"11222","apis":null,"icon":null,"is_show":true,"alias_name":"itemtags","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u6807\u7b7e","en-CN":"Rewards Tag","ar-SA":"\u0648\u0633\u0648\u0645 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u5546\u54c1\u5206\u7c7b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11226","company_id":0,"name":"\u57fa\u7840\u914d\u7f6e","url":"\/entity\/goodsbase","sort":2,"is_menu":true,"pid":"11216","apis":"","icon":null,"is_show":true,"alias_name":"goodsbase","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u57fa\u7840\u914d\u7f6e","en-CN":"Basic Configuration","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629"},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11227","company_id":0,"name":"\u5546\u54c1\u89c4\u683c","url":"\/entity\/goodsbase\/goodsattributes","sort":3,"is_menu":true,"pid":"11226","apis":"goods.attributes.update\ngoods.attributes.delete","icon":null,"is_show":true,"alias_name":"goodsattributes","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u89c4\u683c","en-CN":"Rewards Specification","ar-SA":"\u0645\u0648\u0627\u0635\u0641\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u57fa\u7840\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11228","company_id":0,"name":"\u5546\u54c1\u54c1\u724c","url":"\/entity\/goodsbase\/goodsbrand","sort":4,"is_menu":true,"pid":"11226","apis":"goods.attributes.add","icon":null,"is_show":true,"alias_name":"goodsbrand","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u54c1\u724c","en-CN":"Rewards Brand","ar-SA":"\u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u062a\u062c\u0627\u0631\u064a\u0629"},"level":3,"parent_name":"\u57fa\u7840\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11229","company_id":0,"name":"\u5546\u54c1\u53c2\u6570","url":"\/entity\/goodsbase\/goodsparams","sort":5,"is_menu":true,"pid":"11226","apis":null,"icon":null,"is_show":true,"alias_name":"goodsparams","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u53c2\u6570","en-CN":"Rewards Parameter","ar-SA":"\u0645\u0639\u0627\u064a\u064a\u0631 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u57fa\u7840\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11230","company_id":0,"name":"\u8ba2\u5355","url":"\/order","sort":3,"is_menu":true,"pid":"0","apis":"datacube.deliverystaff.data\norder.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel","icon":"receipt","is_show":true,"alias_name":"order","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355","en-CN":"order","ar-SA":"\u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11231","company_id":0,"name":"\u8ba2\u5355\u7ba1\u7406","url":"\/order\/entitytrade","sort":1,"is_menu":true,"pid":"11230","apis":"order.writeoff.qr.set\norder.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel\norder.entitytrade.tradenormalorders\norder.entitytrade.tradenormalshoporders\norder.entitytrade.normalordersupload\norder.aftersales.aftersaleslist\norder.ordersetting.ordersettingdetail\norder.ordersetting.tradesetting\norder.ordersetting.aftersalesreason\norder.ordersetting.cartremind\norder.ordersetting.goodslimit","icon":null,"is_show":true,"alias_name":"entitytrade","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u7ba1\u7406","en-CN":"Order Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":2,"parent_name":"\u8ba2\u5355","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11232","company_id":0,"name":"\u8ba2\u5355\u5217\u8868","url":"\/order\/entitytrade\/tradenormalorders","sort":1,"is_menu":true,"pid":"11231","apis":"order.list.get\nsource.list\norder.info.get\norder.delivery\norder.list.export\nshops.lists\ndistributor.list\nmember.info\ntrade.logistics.list\nespier.image.del\norder.cancel.info\norder.delivery.update\norder.cancel\ninvoice.list.export\norder.writeoff.info.get\norder.writeoff.set\norder.process.log.get\norder.invoiced.invoiced\norder.delivery.details\norder.delivery.lists\norder.businessreceipt\nworkwechat.distributor.js.config\nespier.subdistrict.list.get\norder.remarks.update\norder.writeoff.qr.set\norder.process.log.get\norder.invoiced.invoiced\norder.delivery.details\norder.delivery.lists\norder.remarks.update\ndelivery.process.list\nworkwechat.distributor.js.config\norder.message.new\ncompany.real.statistics\norder.writeoff.qr.set\noperator.update.data\nespier.oss.uploadToken.get\norder.message.list\norder.businessreceipt\nespier.localimage.upload\nespier.image.save\norder.message.update\ncard.consume\nespier.subdistrict.list.get\noperator.select.distributor\naftersales.remark.update\nespier.oss.uploadToken.get\nespier.localimage.upload\nespier.image.save\nespier.address.info\ngoods.items.onsale.lists\ncompanys.operator.cartdata.scanadd\ncompanys.operator.cartdata.add\ncompanys.operator.cartdata.update\ncompanys.operator.cartdata.list\ncompanys.operator.cartdata.del\norder.checkout\norder.create\norder.payment\norder.payment.query\nuser.card.list\nmember.create\ncompanys.operator.cartdata.pending\ncompanys.operator.order.pending\ncompanys.operator.pending.fetch\ncompanys.operator.pending.delete\ncompanys.operator.pending.list\norder.markdown\norder.markdown.confirm\norder.writeoff.qr.set\norder.deliverystaff.confirm\ndatacube.deliverystaff.data\norder.deliverystaff.cancel\nall.setting.get\npresale.pickupcode.setting.get\naccount.list","icon":null,"is_show":true,"alias_name":"tradenormalorders","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u5217\u8868","en-CN":"Order List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":3,"parent_name":"\u8ba2\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11233","company_id":0,"name":"\u81ea\u8425\u8ba2\u5355","url":"\/order\/entitytrade\/marketingdistribution_orders","sort":2,"is_menu":true,"pid":"11231","apis":"source.list\norder.writeoff.qr.set","icon":null,"is_show":true,"alias_name":"marketingdistribution_orders","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u81ea\u8425\u8ba2\u5355","en-CN":"Direct Sales Orders","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a \u0627\u0644\u0645\u0628\u0627\u0634\u0631\u0629"},"level":3,"parent_name":"\u8ba2\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11234","company_id":0,"name":"\u81ea\u8425\u8ba2\u5355","url":"\/order\/entitytrade\/tradenormalshoporders","sort":2,"is_menu":true,"pid":"11231","apis":"order.cancel.info\norder.delivery.lists\norder.writeoff.qr.set\norder.writeoff.qr.set\ndatacube.deliverystaff.data\norder.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel","icon":null,"is_show":true,"alias_name":"tradenormalshoporders","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u81ea\u8425\u8ba2\u5355","en-CN":"tradenormalshoporders","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u062a\u064a"},"level":3,"parent_name":"\u8ba2\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11235","company_id":0,"name":"\u6279\u91cf\u53d1\u8d27","url":"\/order\/entitytrade\/normalordersupload","sort":6,"is_menu":true,"pid":"11231","apis":"espier.upload.list\norder.deliverystaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"normalordersupload","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6279\u91cf\u53d1\u8d27","en-CN":"Batch Shipping","ar-SA":"\u0627\u0644\u0634\u062d\u0646 \u0627\u0644\u062f\u0641\u0639\u064a"},"level":3,"parent_name":"\u8ba2\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11236","company_id":0,"name":"\u8ba2\u5355\u552e\u540e","url":"\/order\/aftersales","sort":2,"is_menu":true,"pid":"11230","apis":null,"icon":null,"is_show":true,"alias_name":"aftersales","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u552e\u540e","en-CN":"After-sales Service","ar-SA":"\u062e\u062f\u0645\u0629 \u0645\u0627 \u0628\u0639\u062f \u0627\u0644\u0628\u064a\u0639"},"level":2,"parent_name":"\u8ba2\u5355","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11237","company_id":0,"name":"\u552e\u540e\u5217\u8868","url":"\/order\/aftersales\/aftersaleslist","sort":1,"is_menu":true,"pid":"11236","apis":"aftersales.list\naftersales.info\naftersales.review\naftersales.logexport\naftersales.remind.get\naftersales.remind.set\naftersales.apply\norder.deliverystaff.confirm\norder.deliverypackag.confirm\ndatacube.deliverystaff.data\naftersales.sendback","icon":null,"is_show":true,"alias_name":"aftersaleslist","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u552e\u540e\u5217\u8868","en-CN":"After-sales List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0645\u0627 \u0628\u0639\u062f \u0627\u0644\u0628\u064a\u0639"},"level":3,"parent_name":"\u8ba2\u5355\u552e\u540e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11238","company_id":0,"name":"\u8ba2\u5355\u8bbe\u7f6e","url":"\/order\/ordersetting","sort":3,"is_menu":true,"pid":"11230","apis":null,"icon":null,"is_show":true,"alias_name":"ordersetting","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u8bbe\u7f6e","en-CN":"Order Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":2,"parent_name":"\u8ba2\u5355","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11239","company_id":0,"name":"\u8ba2\u5355\u8bbe\u7f6e","url":"\/order\/ordersetting\/ordersettingdetail","sort":1,"is_menu":true,"pid":"11238","apis":"orders.setting.get\nordersetting.set\norder.delivervstaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"ordersettingdetail","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u8bbe\u7f6e","en-CN":"Order Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11240","company_id":0,"name":"\u793c\u54c1\u5305\u88c5","url":"\/order\/ordersetting\/tradesetting","sort":1,"is_menu":true,"pid":"11238","apis":"trade.setting.get\ntrade.setting.set\norder.delivervstaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"tradesetting","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u793c\u54c1\u5305\u88c5","en-CN":"Gift Wrapping","ar-SA":"\u062a\u063a\u0644\u064a\u0641 \u0627\u0644\u0647\u062f\u0627\u064a\u0627"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11241","company_id":0,"name":"\u552e\u540e\u539f\u56e0","url":"\/order\/ordersetting\/aftersalesreason","sort":1,"is_menu":true,"pid":"11238","apis":"aftersales.reason.list\naftersales.reason.save\norder.delivervstaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"aftersalesreason","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u552e\u540e\u539f\u56e0","en-CN":"Return Reasons","ar-SA":"\u0623\u0633\u0628\u0627\u0628 \u0627\u0644\u0625\u0631\u062c\u0627\u0639"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11242","company_id":0,"name":"\u8d2d\u7269\u63d0\u9192","url":"\/order\/ordersetting\/cartremind","sort":4,"is_menu":true,"pid":"11238","apis":"wechat.wxa.cartremind.setting.set\nwechat.wxa.cartremind.setting.get","icon":null,"is_show":true,"alias_name":"cartremind","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8d2d\u7269\u63d0\u9192","en-CN":"Shopping Reminders","ar-SA":"\u062a\u0630\u0643\u064a\u0631\u0627\u062a \u0627\u0644\u062a\u0633\u0648\u0642"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11243","company_id":0,"name":"\u5546\u54c1\u9650\u8d2d","url":"\/order\/ordersetting\/goodslimit","sort":5,"is_menu":true,"pid":"11238","apis":"promotions.limit.list.get\npromotions.limit.create\npromotions.limit.info.get\npromotions.limit.cancel\npromotions.limit.update","icon":null,"is_show":true,"alias_name":"goodslimit","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u9650\u8d2d","en-CN":"Purchase Limits","ar-SA":"\u062d\u062f\u0648\u062f \u0627\u0644\u0634\u0631\u0627\u0621"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11244","company_id":0,"name":"\u4f1a\u5458","url":"\/member","sort":4,"is_menu":true,"pid":"0","apis":"","icon":"crown","is_show":true,"alias_name":"member","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458","en-CN":"member","ar-SA":"\u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11245","company_id":0,"name":"\u4f1a\u5458\u7ba1\u7406","url":"\/member\/member","sort":0,"is_menu":true,"pid":"11244","apis":"","icon":null,"is_show":true,"alias_name":"memberlmana","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u7ba1\u7406","en-CN":"Member Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11246","company_id":0,"name":"\u4f1a\u5458\u5217\u8868","url":"\/member\/member\/memberlist","sort":1,"is_menu":true,"pid":"11245","apis":"member.subscribe.list\naliyunsms.status.get\npopularize.promoter.list.get\nmember.register.get\nthird.dmcrm.setting.get","icon":null,"is_show":true,"alias_name":"memberlist","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u5217\u8868","en-CN":"Member List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11247","company_id":0,"name":"\u6279\u91cf\u66f4\u65b0","url":"\/member\/member\/managecustomer","sort":1,"is_menu":true,"pid":"11245","apis":"espier.upload.list\nespier.upload\nespier.upload.error.export\nespier.upload.template.export","icon":null,"is_show":true,"alias_name":"managecustomer","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6279\u91cf\u66f4\u65b0","en-CN":"Batch Update","ar-SA":"\u062a\u062d\u062f\u064a\u062b \u062f\u0641\u0639\u064a"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11248","company_id":0,"name":"\u4f1a\u5458\u5bfc\u51fa","url":"\/member\/member\/memberlist","sort":1,"is_menu":false,"pid":"11245","apis":"member.export","icon":null,"is_show":true,"alias_name":"member-export","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u5bfc\u51fa","en-CN":"member-export","ar-SA":"\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11249","company_id":0,"name":"\u624b\u52a8\u5ef6\u671f\u4ed8\u8d39\u4f1a\u5458","url":"\/member\/member\/memberlist","sort":1,"is_menu":false,"pid":"11245","apis":"vipgrade.use.active.delay\nvipgrade.use.batch.active.delay\nvipgrade.use.list\nmember.upate.grade_id","icon":null,"is_show":true,"alias_name":"member-vip-delay","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u624b\u52a8\u5ef6\u671f\u4ed8\u8d39\u4f1a\u5458","en-CN":"member-vip-delay","ar-SA":"\u062a\u0645\u062f\u064a\u062f \u064a\u062f\u0648\u064a \u0644\u0644\u0639\u0636\u0648\u064a\u0629 \u0627\u0644\u0645\u062f\u0641\u0648\u0639\u0629"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11250","company_id":0,"name":"\u6dfb\u52a0\u6743\u76ca","url":"\/member\/member\/memberlist","sort":2,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\ngoods.items.lists\norder.rights.add","icon":null,"is_show":true,"alias_name":"member-add-rights","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6dfb\u52a0\u6743\u76ca","en-CN":"member-add-rights","ar-SA":"\u0625\u0636\u0627\u0641\u0629 \u0645\u0632\u0627\u064a\u0627"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11251","company_id":0,"name":"\u4f1a\u5458\u4fe1\u606f\u67e5\u770b","url":"\/member\/member\/memberlist","sort":2,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\npoint.member.list\ndistributor.list\nvipgrade.order.list\npoint.member.list\nworkwechat.rel.log\npoint.adjustment","icon":null,"is_show":true,"alias_name":"member-list-view","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u4fe1\u606f\u67e5\u770b","en-CN":"member-list-view","ar-SA":"\u0639\u0631\u0636 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0639\u0636\u0648"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11252","company_id":0,"name":"\u7fa4\u53d1\u4f18\u60e0\u5238","url":"\/member\/member\/memberlist","sort":4,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\npromotions.give.create\npromotions.give.list\npromotions.give.info\nmember.tag.rel\ngoods.items.lists\nmember.batch.operating","icon":null,"is_show":true,"alias_name":"member-send-coupons","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u7fa4\u53d1\u4f18\u60e0\u5238","en-CN":"member-send-coupons","ar-SA":"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0642\u0633\u0627\u0626\u0645 \u062c\u0645\u0627\u0639\u064a\u064b\u0627"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11253","company_id":0,"name":"\u7fa4\u53d1\u77ed\u4fe1","url":"\/member\/member\/memberlist","sort":5,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\nmember.smssend","icon":null,"is_show":true,"alias_name":"member-send-sms","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u7fa4\u53d1\u77ed\u4fe1","en-CN":"member-send-sms","ar-SA":"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0646\u0635\u064a\u0629 \u062c\u0645\u0627\u0639\u064a\u064b\u0627"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11254","company_id":0,"name":"\u6253\u6807\u7b7e","url":"\/member\/member\/memberlist","sort":6,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\nmember.tag.rel\nmember.tag.del\nmember.batch.operating","icon":null,"is_show":true,"alias_name":"member-tag","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6253\u6807\u7b7e","en-CN":"member-tag","ar-SA":"\u0648\u0636\u0639 \u0627\u0644\u0648\u0633\u0648\u0645"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11255","company_id":0,"name":"\u4f1a\u5458\u624b\u673a\u53f7\u4fee\u6539","url":"\/member\/member\/memberlist","sort":7,"is_menu":false,"pid":"11245","apis":"member.upate.mobile","icon":null,"is_show":true,"alias_name":"member-modify-phone-number","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u624b\u673a\u53f7\u4fee\u6539","en-CN":"member-modify-phone-number","ar-SA":"\u062a\u0639\u062f\u064a\u0644 \u0631\u0642\u0645 \u0647\u0627\u062a\u0641 \u0627\u0644\u0639\u0636\u0648"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11256","company_id":0,"name":"\u4f1a\u5458\u6743\u76ca","url":"\/member\/card","sort":1,"is_menu":true,"pid":"11244","apis":"","icon":null,"is_show":true,"alias_name":"card","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u6743\u76ca","en-CN":"Membership Benefits","ar-SA":"\u0645\u0632\u0627\u064a\u0627 \u0627\u0644\u0639\u0636\u0648\u064a\u0629"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11257","company_id":0,"name":"\u4f1a\u5458\u7b49\u7ea7","url":"\/member\/card\/managecard","sort":0,"is_menu":true,"pid":"11256","apis":"membercard.setting\nmembercard.info\nmembercard.grade.add\nmembercard.default.grade\nmembercard.grade.list\nmembercard.vipgrade.add\nmembercard.vipgrade.list\nvipgrade.use.list","icon":null,"is_show":true,"alias_name":"managecard","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u7b49\u7ea7","en-CN":"Membership Tiers","ar-SA":"\u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u0639\u0636\u0648\u064a\u0629"},"level":3,"parent_name":"\u4f1a\u5458\u6743\u76ca","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11258","company_id":0,"name":"\u4ed8\u8d39\u8bb0\u5f55","url":"\/member\/card\/managecardorder","sort":1,"is_menu":true,"pid":"11256","apis":"vipgrade.order.list","icon":null,"is_show":true,"alias_name":"managecardorder","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4ed8\u8d39\u8bb0\u5f55","en-CN":"Payment Records","ar-SA":"\u0633\u062c\u0644\u0627\u062a \u0627\u0644\u062f\u0641\u0639"},"level":3,"parent_name":"\u4f1a\u5458\u6743\u76ca","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11259","company_id":0,"name":"\u79ef\u5206\u89c4\u5219","url":"\/member\/card\/pointrule","sort":1,"is_menu":true,"pid":"11256","apis":"point.member.rule.info\npoint.member.rule.save","icon":null,"is_show":true,"alias_name":"pointrule","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u79ef\u5206\u89c4\u5219","en-CN":"Points Rules","ar-SA":"\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0646\u0642\u0627\u0637"},"level":3,"parent_name":"\u4f1a\u5458\u6743\u76ca","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11260","company_id":0,"name":"\u79ef\u5206\u6d41\u6c34","url":"\/member\/card\/pointoverview","sort":1,"is_menu":true,"pid":"11256","apis":"point.member.list\nmember.pointcount.index","icon":null,"is_show":true,"alias_name":"pointoverview","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u79ef\u5206\u6d41\u6c34","en-CN":"Points Transaction History","ar-SA":"\u0633\u062c\u0644 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u0627\u0644\u0646\u0642\u0627\u0637"},"level":3,"parent_name":"\u4f1a\u5458\u6743\u76ca","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11261","company_id":0,"name":"\u6807\u7b7e\u7ba1\u7406","url":"\/member\/tagsmanage","sort":1,"is_menu":true,"pid":"11244","apis":null,"icon":null,"is_show":true,"alias_name":"tagsmanage","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u6807\u7b7e\u7ba1\u7406","en-CN":"Tag Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11262","company_id":0,"name":"\u5ba2\u6237\u6807\u7b7e","url":"\/member\/tagsmanage\/customerTags","sort":1,"is_menu":true,"pid":"11261","apis":null,"icon":null,"is_show":true,"alias_name":"customerTags","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5ba2\u6237\u6807\u7b7e","en-CN":"customer tag","ar-SA":"\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0639\u0645\u064a\u0644"},"level":3,"parent_name":"\u6807\u7b7e\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11263","company_id":0,"name":"\u4eba\u7fa4\u6253\u6807","url":"\/member\/tagsmanage\/crowdMarking","sort":1,"is_menu":true,"pid":"11261","apis":null,"icon":null,"is_show":true,"alias_name":"crowdMarking","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4eba\u7fa4\u6253\u6807","en-CN":"crowd labeling","ar-SA":"\u0648\u0636\u0639 \u0639\u0644\u0627\u0645\u0627\u062a \u0639\u0644\u0649 \u0627\u0644\u062d\u0634\u0648\u062f"},"level":3,"parent_name":"\u6807\u7b7e\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11264","company_id":0,"name":"\u4f1a\u5458\u89e6\u8fbe","url":"\/member\/membertouch","sort":2,"is_menu":true,"pid":"11244","apis":"member.subscribe.list","icon":null,"is_show":true,"alias_name":"membertouch","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u89e6\u8fbe","en-CN":"Member Engagement","ar-SA":"\u062a\u0641\u0627\u0639\u0644 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11265","company_id":0,"name":"\u7fa4\u53d1\u77ed\u4fe1","url":"\/member\/membertouch\/smssend","sort":1,"is_menu":true,"pid":"11264","apis":null,"icon":null,"is_show":true,"alias_name":"smssend","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u7fa4\u53d1\u77ed\u4fe1","en-CN":"Bulk SMS","ar-SA":"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0646\u0635\u064a\u0629 \u062c\u0645\u0627\u0639\u064a\u064b\u0627"},"level":3,"parent_name":"\u4f1a\u5458\u89e6\u8fbe","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11266","company_id":0,"name":"\u5230\u8d27\u901a\u77e5","url":"\/member\/membertouch\/arrivalnotice","sort":2,"is_menu":true,"pid":"11264","apis":null,"icon":null,"is_show":true,"alias_name":"arrivalnotice","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5230\u8d27\u901a\u77e5","en-CN":"Arrival Notifications","ar-SA":"\u0625\u0634\u0639\u0627\u0631\u0627\u062a \u0627\u0644\u0648\u0635\u0648\u0644"},"level":3,"parent_name":"\u4f1a\u5458\u89e6\u8fbe","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11267","company_id":0,"name":"\u4f1a\u5458\u8bbe\u7f6e","url":"\/member\/membersetting","sort":3,"is_menu":true,"pid":"11244","apis":"","icon":null,"is_show":true,"alias_name":"membersetting","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u8bbe\u7f6e","en-CN":"Member Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11268","company_id":0,"name":"\u6ce8\u518c\u914d\u7f6e","url":"\/member\/membersetting\/Manageinfomation","sort":1,"is_menu":true,"pid":"11267","apis":"member.register.set\nmember.register.get\nespier.config.request_field_setting.get\nespier.config.request_fields.get","icon":null,"is_show":true,"alias_name":"manageinfomation","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u6ce8\u518c\u914d\u7f6e","en-CN":"Registration Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0633\u062c\u064a\u0644"},"level":3,"parent_name":"\u4f1a\u5458\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11269","company_id":0,"name":"\u6ce8\u9500\u914d\u7f6e","url":"\/member\/membersetting\/closeAccount","sort":2,"is_menu":true,"pid":"11267","apis":"shops.protocol.put\nshops.protocol.get","icon":null,"is_show":true,"alias_name":"closeAccount","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u6ce8\u9500\u914d\u7f6e","en-CN":"Cancellation Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0625\u0644\u063a\u0627\u0621"},"level":3,"parent_name":"\u4f1a\u5458\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11270","company_id":0,"name":"\u4fe1\u4efb\u767b\u5f55","url":"\/member\/membersetting\/trustlogin","sort":3,"is_menu":true,"pid":"11267","apis":"member.trustlogin.list\nmember.trustlogin.setting","icon":null,"is_show":true,"alias_name":"trustlogin","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4fe1\u4efb\u767b\u5f55","en-CN":"Trusted Login","ar-SA":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0627\u0644\u0645\u0648\u062b\u0648\u0642"},"level":3,"parent_name":"\u4f1a\u5458\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11271","company_id":0,"name":"\u4f1a\u5458\u767d\u540d\u5355","url":"\/member\/whitelistlist","sort":4,"is_menu":true,"pid":"11244","apis":"member.whitelist.list","icon":null,"is_show":true,"alias_name":"whitelistlist","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u767d\u540d\u5355","en-CN":"Member Whitelist","ar-SA":"\u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0628\u064a\u0636\u0627\u0621 \u0644\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11272","company_id":0,"name":"\u767d\u540d\u5355\u5bfc\u5165","url":"\/member\/whitelistuploade","sort":5,"is_menu":true,"pid":"11244","apis":null,"icon":null,"is_show":true,"alias_name":"whitelistuploade","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u767d\u540d\u5355\u5bfc\u5165","en-CN":"Import Whitelist","ar-SA":"\u0627\u0633\u062a\u064a\u0631\u0627\u062f \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0628\u064a\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11273","company_id":0,"name":"\u5546\u6237","url":"\/sellers","sort":5,"is_menu":true,"pid":"0","apis":"","icon":"store-alt-copy","is_show":true,"alias_name":"sellers","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u6237","en-CN":"sellers","ar-SA":"\u0627\u0644\u062a\u0627\u062c\u0631"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"11274","company_id":0,"name":"\u9500\u552e\u7ec4\u7ec7","url":"\/sellers\/salesorganization","sort":0,"is_menu":true,"pid":"11273","apis":"","icon":null,"is_show":true,"alias_name":"salesorganization","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u9500\u552e\u7ec4\u7ec7","en-CN":"salesorganization","ar-SA":"\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a"},"level":2,"parent_name":"\u5546\u6237","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"11275","company_id":0,"name":"\u5546\u6237","url":"\/sellers\/salesorganization\/list","sort":1,"is_menu":true,"pid":"11274","apis":"merchant.list\nmerchant.visibletype.list\nmerchant.detail.get\nmerchant.disabled.update\nmerchant.audit.goods.update\nmerchant.info.get","icon":null,"is_show":true,"alias_name":"storemanager","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u6237","en-CN":"storemanager","ar-SA":"\u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u9500\u552e\u7ec4\u7ec7","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11276","company_id":0,"name":"\u5e97\u94fa\u7ba1\u7406","url":"\/sellers\/storemanager","sort":1,"is_menu":true,"pid":"11273","apis":"","icon":null,"is_show":true,"alias_name":"sellersmanager","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa\u7ba1\u7406","en-CN":"sellersmanager","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u062a\u0627\u062c\u0631"},"level":2,"parent_name":"\u5546\u6237","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"11277","company_id":0,"name":"\u5165\u9a7b\u5e97\u94fa","url":"\/sellers\/storemanager\/marketingdistributor","sort":2,"is_menu":true,"pid":"11276","apis":"distributor.list\ndistributor.create\ndistributor.edit\ndistributor.item.list\ndistributor.wxacode\ndistributor.get.shop\ndistributor.item.update\ndistributor.default.set\ndistributor.create\ndistributor.item.delete\ngoods.items.distributiongoodswxacode\ncurrency.get.default\ndistributor.info\ndistributor.tag.list\npagestemplate.lists\npagestemplateset.getInfo\npagestemplate.detail\npagestemplate.modifyStatus\npagestemplate.add\npagestemplate.edit\npagestemplate.copy\npagestemplate.delete\nhfpay.ledgerconfig.index\ncompany.dada.info\ncompany.regionauth.list\nespier.image.cat.children\norder.writeoff.qr.set\ntrade.payment.open.status.get","icon":null,"is_show":true,"alias_name":"marketingsellers","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5165\u9a7b\u5e97\u94fa","en-CN":"marketingsellers","ar-SA":"\u0645\u062a\u0627\u062c\u0631 \u0627\u0644\u0627\u0646\u0636\u0645\u0627\u0645"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11278","company_id":0,"name":"\u5165\u9a7b\u5ba1\u6838","url":"\/sellers\/storemanager\/application","sort":3,"is_menu":true,"pid":"11276","apis":"merchant.settlement.apply.list\nmerchant.settlement.apply.detail\nmerchant.settlement.apply.audit","icon":null,"is_show":true,"alias_name":"storemanager_application","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5165\u9a7b\u5ba1\u6838","en-CN":"storemanager_application","ar-SA":"\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0627\u0646\u0636\u0645\u0627\u0645"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11279","company_id":0,"name":"\u9000\u8d27\u5730\u5740","url":"\/sellers\/storemanager\/distributoraftersalesaddress","sort":4,"is_menu":true,"pid":"11276","apis":"espier.address.info\nespier.address.info\nwechat.wxa.customizepage.info","icon":null,"is_show":true,"alias_name":"distributoraftersalesaddress1","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u9000\u8d27\u5730\u5740","en-CN":"distributoraftersalesaddress1","ar-SA":"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0625\u0631\u062c\u0627\u0639"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11280","company_id":0,"name":"\u5e97\u94fa\u6807\u7b7e","url":"\/sellers\/storemanager\/distributortags","sort":5,"is_menu":true,"pid":"11276","apis":"distributor.tag.add\ndistributor.tag.update\ndistributor.tag.get\ndistributor.tag.get\ndistributor.tag.delete","icon":null,"is_show":true,"alias_name":"Sellerstags","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa\u6807\u7b7e","en-CN":"Sellerstags","ar-SA":"\u0648\u0633\u0648\u0645 \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11467","company_id":0,"name":"\u95e8\u5e97\u5206\u7c7b","url":"\/sellers\/storemanager\/storecategory","sort":6,"is_menu":true,"pid":"11276","apis":null,"icon":null,"is_show":true,"alias_name":"storecategory","version":1,"disabled":false,"created":1774926717,"updated":1774926758,"name_lang":{"zh-CN":"\u95e8\u5e97\u5206\u7c7b","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11466","company_id":0,"name":"\u9644\u8fd1\u95e8\u5e97\u4fe1\u606f","url":"\/sellers\/storemanager\/nearbystoreinfo","sort":7,"is_menu":true,"pid":"11276","apis":null,"icon":null,"is_show":true,"alias_name":"nearbystoreinfo","version":1,"disabled":false,"created":1774926240,"updated":1774926764,"name_lang":{"zh-CN":"\u9644\u8fd1\u95e8\u5e97\u4fe1\u606f","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11281","company_id":0,"name":"\u5546\u6237\u8bbe\u7f6e","url":"\/sellers\/salesetting","sort":2,"is_menu":true,"pid":"11273","apis":null,"icon":null,"is_show":true,"alias_name":"salesetting","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u6237\u8bbe\u7f6e","en-CN":"salesetting","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0627\u062c\u0631"},"level":2,"parent_name":"\u5546\u6237","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"11282","company_id":0,"name":"\u5546\u6237\u7c7b\u76ee","url":"\/sellers\/salesetting\/setting","sort":1,"is_menu":true,"pid":"11281","apis":"merchant.type.list\nmerchant.type.creat\nmerchant.type.update\nmerchant.type.delete\nmerchant.basesetting.get\nmerchant.basesetting.save","icon":null,"is_show":true,"alias_name":"storemanager_setting","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u6237\u7c7b\u76ee","en-CN":"storemanager_setting","ar-SA":"\u0641\u0626\u0627\u062a \u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u5546\u6237\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11283","company_id":0,"name":"\u5e97\u94fa","url":"\/store","sort":5,"is_menu":true,"pid":"0","apis":"hfpay.ledgerconfig.index","icon":"store-alt-copy","is_show":true,"alias_name":"store","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa","en-CN":"store","ar-SA":"\u0627\u0644\u0645\u062a\u0627\u062c\u0631"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["standard"]},{"shopmenu_id":"11284","company_id":0,"name":"\u5e97\u94fa\u7ba1\u7406","url":"\/store\/storemanager","sort":2,"is_menu":true,"pid":"11283","apis":"hfpay.ledgerconfig.index\norder.writeoff.qr.set\norders.setting.get\ntrade.payment.open.status.get","icon":null,"is_show":true,"alias_name":"storemanager","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa\u7ba1\u7406","en-CN":"Store Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u062a\u0627\u062c\u0631"},"level":2,"parent_name":"\u5e97\u94fa","isChildrenMenu":true,"menu_type":["standard"]},{"shopmenu_id":"11285","company_id":0,"name":"\u81ea\u8425\u95e8\u5e97","url":"\/store\/storemanager\/marketingdistributor","sort":0,"is_menu":true,"pid":"11284","apis":"distributor.list\ndistributor.create\ndistributor.edit\ndistributor.item.list\ndistributor.wxacode\ndistributor.get.shop\ndistributor.item.update\ndistributor.default.set\ndistributor.create\ndistributor.item.delete\ngoods.items.distributiongoodswxacode\ncurrency.get.default\ndistributor.info\ndistributor.tag.list\npagestemplate.lists\npagestemplateset.getInfo\npagestemplate.detail\npagestemplate.modifyStatus\npagestemplate.edit\npagestemplate.add\npagestemplate.delete\npagestemplate.copy\ndistribution.distance.get\ndistribution.distance.save\ncompany.regionauth.list\nhfpay.enterapply.opensplit\nhfpay.ledgerconfig.index\ncompany.dada.info\nwechat.material.list\nespier.oss.uploadToken.get\nespier.image.save\nespier.image.list\ndistributor.aftersales.list\norder.writeoff.qr.set\norders.setting.get \ntrade.payment.open.status.get","icon":null,"is_show":true,"alias_name":"marketingdistributor","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u81ea\u8425\u95e8\u5e97","en-CN":"Self-operated Stores","ar-SA":"\u0627\u0644\u0645\u062a\u0627\u062c\u0631 \u0630\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u062a\u064a"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11286","company_id":0,"name":"\u5e97\u94fa\u767d\u540d\u5355","url":"\/store\/storemanager\/storewhitelist","sort":1,"is_menu":true,"pid":"11284","apis":null,"icon":null,"is_show":true,"alias_name":"storewhitelist","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa\u767d\u540d\u5355","en-CN":"Store Whitelist","ar-SA":"\u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0628\u064a\u0636\u0627\u0621 \u0644\u0644\u0645\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11287","company_id":0,"name":"\u8fdb\u5e97\u89c4\u5219","url":"\/store\/storemanager\/storerules","sort":1,"is_menu":true,"pid":"11284","apis":"wechat.wxa.customizepage.info","icon":null,"is_show":true,"alias_name":"storerules","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u8fdb\u5e97\u89c4\u5219","en-CN":"Store Entry Rules","ar-SA":"\u0642\u0648\u0627\u0639\u062f \u0627\u0646\u0636\u0645\u0627\u0645 \u0627\u0644\u0645\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11465","company_id":0,"name":"\u95e8\u5e97\u5206\u7c7b","url":"\/store\/storemanager\/storecategory","sort":1,"is_menu":true,"pid":"11284","apis":null,"icon":null,"is_show":true,"alias_name":"storecategory","version":1,"disabled":false,"created":1774851131,"updated":1774851131,"name_lang":{"zh-CN":"\u95e8\u5e97\u5206\u7c7b","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11288","company_id":0,"name":"\u9000\u8d27\u5730\u5740","url":"\/store\/storemanager\/distributoraftersalesaddress","sort":3,"is_menu":true,"pid":"11284","apis":"espier.address.info","icon":null,"is_show":true,"alias_name":"distributoraftersalesaddress","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u9000\u8d27\u5730\u5740","en-CN":"Return Address","ar-SA":"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0625\u0631\u062c\u0627\u0639"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11289","company_id":0,"name":"\u9644\u8fd1\u95e8\u5e97\u4fe1\u606f","url":"\/store\/storemanager\/nearbystoreinfo","sort":4,"is_menu":true,"pid":"11284","apis":null,"icon":null,"is_show":true,"alias_name":"nearbystoreinfo","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u9644\u8fd1\u95e8\u5e97\u4fe1\u606f","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11290","company_id":0,"name":"\u4f9b\u5e94","url":"\/supply","sort":6,"is_menu":true,"pid":"0","apis":"","icon":"box","is_show":true,"alias_name":"supply","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f9b\u5e94","en-CN":"supply","ar-SA":"\u0627\u0644\u0634\u0631\u0643\u0627\u0621 \u0627\u0644\u062e\u0627\u0631\u062c\u064a\u0648\u0646"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11291","company_id":0,"name":"\u4f9b\u5e94\u5546\u5546\u54c1","url":"\/supply\/supplygoods","sort":1,"is_menu":true,"pid":"11290","apis":null,"icon":null,"is_show":true,"alias_name":"supplygoods","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u5546\u54c1","en-CN":"Partner Rewards","ar-SA":"\u0645\u0643\u0627\u0641\u0622\u062a \u0627\u0644\u0634\u0631\u064a\u0643"},"level":2,"parent_name":"\u4f9b\u5e94","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11292","company_id":0,"name":"\u5546\u54c1\u7ba1\u7406","url":"\/supply\/supplygoods\/supplier_goods_list","sort":1,"is_menu":true,"pid":"11291","apis":"","icon":null,"is_show":true,"alias_name":"supplier_goods_list","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u54c1\u7ba1\u7406","en-CN":"Rewards Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0643\u0627\u0641\u0622\u062a"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u5546\u54c1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11293","company_id":0,"name":"\u5546\u54c1\u5ba1\u6838","url":"\/supply\/supplygoods\/suppliergoods","sort":2,"is_menu":true,"pid":"11291","apis":"supplier.batch_review_items","icon":null,"is_show":true,"alias_name":"goods_suppliergoods","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u54c1\u5ba1\u6838","en-CN":"Rewards Review","ar-SA":"\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u0643\u0627\u0641\u0622\u062a"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u5546\u54c1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11294","company_id":0,"name":"\u4f9b\u5e94\u5546\u7ba1\u7406","url":"\/supply\/supplymanage","sort":2,"is_menu":true,"pid":"11290","apis":null,"icon":null,"is_show":true,"alias_name":"supplymanage","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u7ba1\u7406","en-CN":"Partner Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0634\u0631\u0643\u0627\u0621"},"level":2,"parent_name":"\u4f9b\u5e94","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11295","company_id":0,"name":"\u4f9b\u5e94\u5546\u5217\u8868","url":"\/supply\/supplymanage\/supplier_list","sort":1,"is_menu":true,"pid":"11294","apis":"supplier.get_supplier_list ","icon":null,"is_show":true,"alias_name":"supplier_list","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u5217\u8868","en-CN":"Partner List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0634\u0631\u0643\u0627\u0621"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11296","company_id":0,"name":"\u4f9b\u5e94\u5546\u8d26\u53f7","url":"\/supply\/supplymanage\/supplier","sort":2,"is_menu":true,"pid":"11294","apis":null,"icon":null,"is_show":true,"alias_name":"supplier","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u8d26\u53f7","en-CN":"Partner Accounts","ar-SA":"\u062d\u0633\u0627\u0628\u0627\u062a \u0627\u0644\u0634\u0631\u0643\u0627\u0621"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11297","company_id":0,"name":"\u8425\u9500","url":"\/marketing","sort":6,"is_menu":true,"pid":"0","apis":"goods.sku.lists\ngoods.category.lists\ngoods.tag.list\ngoods.attributes.list\nmembercard.vipgrade.list\nwechat.wxa.template.list","icon":"tag","is_show":true,"alias_name":"marketing","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8425\u9500","en-CN":"marketing","ar-SA":"\u0627\u0644\u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0633\u0648\u064a\u0642\u064a\u0629"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11298","company_id":0,"name":"\u5361\u5238","url":"\/marketing\/coupon","sort":1,"is_menu":true,"pid":"11297","apis":"wechat.wxa.template.list\ndistributor.easy.list","icon":null,"is_show":true,"alias_name":"coupon","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5361\u5238","en-CN":"Coupons","ar-SA":"\u0627\u0644\u0642\u0633\u0627\u0626\u0645"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11299","company_id":0,"name":"\u5238\u7ba1\u7406","url":"\/marketing\/coupon\/membermarketing","sort":0,"is_menu":true,"pid":"11298","apis":"card.list\ncard.create\ncard.delete\ncard.update\ncard.get\ncard.user.list\nshops.lists\ncard.detail.list\nwechat.material.list\nwechat.material.upload\ncurrency.get.default\ncard.store\ndistributor.easy.list\nwechat.wxa.template.list\ndistributor.easy.list","icon":null,"is_show":true,"alias_name":"membermarketing","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5238\u7ba1\u7406","en-CN":"Coupon Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0642\u0633\u0627\u0626\u0645"},"level":3,"parent_name":"\u5361\u5238","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11300","company_id":0,"name":"\u5238\u5305\u7ba1\u7406","url":"\/marketing\/coupon\/couponspackage","sort":1,"is_menu":true,"pid":"11298","apis":"voucher.package.list","icon":null,"is_show":true,"alias_name":"couponspackage","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5238\u5305\u7ba1\u7406","en-CN":"Coupon Package Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u062d\u0632\u0645 \u0627\u0644\u0642\u0633\u0627\u0626\u0645"},"level":3,"parent_name":"\u5361\u5238","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11301","company_id":0,"name":"\u53d1\u5238\u8bb0\u5f55","url":"\/marketing\/coupon\/coupongive","sort":2,"is_menu":true,"pid":"11298","apis":"promotions.give.list\npromotions.give.info","icon":null,"is_show":true,"alias_name":"coupongive","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u53d1\u5238\u8bb0\u5f55","en-CN":"Coupon Issuance Record","ar-SA":"\u0633\u062c\u0644 \u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0642\u0633\u0627\u0626\u0645"},"level":3,"parent_name":"\u5361\u5238","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11302","company_id":0,"name":"\u7fa4\u53d1\u4f18\u60e0\u5238","url":"\/marketing\/coupon\/couponsend","sort":3,"is_menu":false,"pid":"11298","apis":"member.list\nmember.operate.logs\nmember.info\neffectiveCard.list\npromotions.give.create\npromotions.give.list\npromotions.give.info\nmember.tag.list\nmember.tag.rel\nmembercard.grade.list\norder.rights.list.get\nshops.lists\norder.rights.transfer.list\ngoods.items.lists\norder.list.get\norder.info.get\ndeposit.trades\nmember.batch.operating","icon":null,"is_show":true,"alias_name":"couponsend","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u7fa4\u53d1\u4f18\u60e0\u5238","en-CN":"couponsend","ar-SA":"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0642\u0633\u0627\u0626\u0645 \u0628\u0634\u0643\u0644 \u062c\u0645\u0627\u0639\u064a"},"level":3,"parent_name":"\u5361\u5238","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11303","company_id":0,"name":"\u4fc3\u9500","url":"\/marketing\/promotion","sort":2,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"promotion","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4fc3\u9500","en-CN":" Promotions","ar-SA":"\u0627\u0644\u0639\u0631\u0648\u0636 \u0627\u0644\u062a\u0631\u0648\u064a\u062c\u064a\u0629"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11304","company_id":0,"name":"\u6ee1\u6298","url":"\/marketing\/promotion\/marketingsfulldiscount","sort":1,"is_menu":true,"pid":"11303","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ncurrency.get.default\ngoods.category.lists\ngoods.tag.list\ngoods.attributes.list\nmembercard.vipgrade.list\ndistributor.easy.list","icon":null,"is_show":true,"alias_name":"marketingsfulldiscount","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u6ee1\u6298","en-CN":"Spend and Save","ar-SA":"\u0623\u0646\u0641\u0642 \u0648\u0648\u0641\u0651\u0631"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11305","company_id":0,"name":"\u6ee1\u51cf","url":"\/marketing\/promotion\/Marketingsfullminus","sort":2,"is_menu":true,"pid":"11303","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ncurrency.get.default\ngoods.category.lists\ngoods.tag.list\ngoods.attributes.list\nmembercard.vipgrade.list","icon":null,"is_show":true,"alias_name":"Marketingsfullminus","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u6ee1\u51cf","en-CN":"Spend-based Discount","ar-SA":"\u062e\u0635\u0645 \u0639\u0644\u0649 \u0623\u0633\u0627\u0633 \u0627\u0644\u0625\u0646\u0641\u0627\u0642"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11306","company_id":0,"name":"\u6ee1\u8d60","url":"\/marketing\/promotion\/Marketingsfullgift","sort":3,"is_menu":true,"pid":"11303","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ngoods.category.lists\ngoods.tag.list\ngoods.attributes.list\nmembercard.vipgrade.list","icon":null,"is_show":true,"alias_name":"Marketingsfullgift","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u6ee1\u8d60","en-CN":"Gift with Purchase","ar-SA":"\u0647\u062f\u064a\u0629 \u0645\u0639 \u0627\u0644\u0634\u0631\u0627\u0621"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11307","company_id":0,"name":"\u9650\u65f6\u7279\u60e0","url":"\/marketing\/promotion\/limitedtimesale","sort":4,"is_menu":true,"pid":"11303","apis":"Promotions.seckill.add\nPromotions.seckill.delete\nPromotions.seckill.update\nPromotions.seckill.list\nPromotions.seckill.info\nPromotions.seckill.statusupdate\nPromotions.seckill.item.list\nshipping.templates.list\ncurrency.get.default\nwechat.material.list\ngoods.items.lists\nPromotions.seckill.wxcode\nPromotions.seckill.search.item.list","icon":null,"is_show":true,"alias_name":"limitedtimesale","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u9650\u65f6\u7279\u60e0","en-CN":"Flash Sale","ar-SA":"\u0628\u064a\u0639 \u0633\u0631\u064a\u0639"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11308","company_id":0,"name":"\u52a0\u4ef7\u8d2d","url":"\/marketing\/promotion\/Marketingspluspricebuy","sort":5,"is_menu":true,"pid":"11303","apis":"","icon":null,"is_show":true,"alias_name":"marketingspluspricebuy","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u52a0\u4ef7\u8d2d","en-CN":"Pay More to Upgrade","ar-SA":"\u0627\u062f\u0641\u0639 \u0623\u0643\u062b\u0631 \u0644\u0644\u062a\u0631\u0642\u064a\u0629"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11309","company_id":0,"name":"\u7ec4\u5408\u8d2d","url":"\/marketing\/promotion\/marketingpackage","sort":5,"is_menu":true,"pid":"11303","apis":"promotions.package.list.get\npromotions.package.create\npromotions.package.info.get\npromotions.package.cancel\npromotions.package.update","icon":null,"is_show":true,"alias_name":"marketingpackage","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u7ec4\u5408\u8d2d","en-CN":"Bundle Sales","ar-SA":"\u0645\u0628\u064a\u0639\u0627\u062a \u0627\u0644\u062d\u0632\u0645"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11310","company_id":0,"name":"\u4f1a\u5458\u8425\u9500","url":"\/marketing\/membermarket","sort":3,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"membermarket","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4f1a\u5458\u8425\u9500","en-CN":"Member Marketing","ar-SA":"\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11311","company_id":0,"name":"\u65b0\u5ba2\u8425\u9500","url":"\/marketing\/membermarket\/marketingindex","sort":1,"is_menu":true,"pid":"11310","apis":"goods.items.lists\npromotions.register.get\nPromotions.register.add\ncard.list\npromotions.register.point.get\nPromotions.register.point.add\nespier.image.list\nespier.image.uploadToken.get\nespier.image.save","icon":null,"is_show":true,"alias_name":"marketingindex","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u65b0\u5ba2\u8425\u9500","en-CN":"New Customer Marketing","ar-SA":"\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u0639\u0645\u0644\u0627\u0621 \u0627\u0644\u062c\u062f\u062f"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11312","company_id":0,"name":"\u79ef\u5206\u5347\u503c","url":"\/marketing\/membermarket\/pointupvaluation","sort":2,"is_menu":true,"pid":"11310","apis":"promotions.pointupvaluation.list","icon":null,"is_show":true,"alias_name":"pointupvaluation","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u79ef\u5206\u5347\u503c","en-CN":"Points Appreciation","ar-SA":"\u062a\u0642\u062f\u064a\u0631 \u0627\u0644\u0646\u0642\u0627\u0637"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11313","company_id":0,"name":"\u5b9a\u5411\u8425\u9500","url":"\/marketing\/membermarket\/specificcrowddiscount","sort":2,"is_menu":true,"pid":"11310","apis":"specific.crowd.discount.add\nspecific.crowd.discount.update\nspecific.crowd.discount.list\nspecific.crowd.discount.info\nmember.tag.list\nspecific.crowd.discount.loglist","icon":null,"is_show":true,"alias_name":"SpecificCrowdDiscount","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5b9a\u5411\u8425\u9500","en-CN":"Targeted Marketing","ar-SA":"\u0627\u0644\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u0645\u0648\u062c\u0647"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11314","company_id":0,"name":"\u4f18\u5148\u8d2d","url":"\/marketing\/membermarket\/memberpreference","sort":3,"is_menu":true,"pid":"11310","apis":"","icon":null,"is_show":true,"alias_name":"memberpreference","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4f18\u5148\u8d2d","en-CN":"Priority Purchase","ar-SA":"\u0627\u0644\u0634\u0631\u0627\u0621 \u0627\u0644\u0645\u0645\u064a\u0632"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11315","company_id":0,"name":"\u81ea\u52a8\u5316\u8425\u9500","url":"\/marketing\/membermarket\/marketingactivity","sort":4,"is_menu":true,"pid":"11310","apis":"promotions.activity.lists\npromotions.activity.validNum\nmembercard.grade.list\npromotions.activity.create\npromotions.activity.invalid\ngoods.items.lists\ncard.list\nmembercard.vipgrade.list","icon":null,"is_show":true,"alias_name":"marketingactivity","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u81ea\u52a8\u5316\u8425\u9500","en-CN":"Automated Marketing","ar-SA":"\u0627\u0644\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u0622\u0644\u064a"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11316","company_id":0,"name":"\u5546\u54c1\u63a8\u8350","url":"\/marketing\/membermarket\/recommendlike","sort":5,"is_menu":true,"pid":"11310","apis":"recommendlike.list\nrecommendlike.update\nrecommendlike.list\nrecommendlike.save\nrecommendlike.delete\ngoods.items.lists","icon":null,"is_show":true,"alias_name":"recommendlike","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5546\u54c1\u63a8\u8350","en-CN":"Product Recommend","ar-SA":"\u062a\u0648\u0635\u064a\u0629 \u0628\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11317","company_id":0,"name":"\u88c2\u53d8\u8425\u9500","url":"\/marketing\/fissionmarketing","sort":4,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"fissionmarketing","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u88c2\u53d8\u8425\u9500","en-CN":"Fission Marketing","ar-SA":"\u0627\u0644\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u062a\u0641\u0631\u0639\u064a"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11318","company_id":0,"name":"\u62fc\u56e2","url":"\/marketing\/fissionmarketing\/groupsindex","sort":1,"is_menu":true,"pid":"11317","apis":"promotions.groups.list\npromotions.groups.detail\npromotions.groups.teamlist\npromotions.groups.teaminfo\npromotions.groups.create\npromotions.groups.update\npromotions.groups.finish\npromotions.groups.delete\ngoods.items.lists\norder.info.get\nmember.info\nwechat.material.upload\ncurrency.get.default","icon":null,"is_show":true,"alias_name":"groupsindex","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u62fc\u56e2","en-CN":"Group Buying","ar-SA":"\u0627\u0644\u0634\u0631\u0627\u0621 \u0627\u0644\u062c\u0645\u0627\u0639\u064a"},"level":3,"parent_name":"\u88c2\u53d8\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11319","company_id":0,"name":"\u5206\u9500\u63a8\u5e7f","url":"\/marketing\/popularize","sort":15,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"popularize","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5206\u9500\u63a8\u5e7f","en-CN":"Distribution Marketing","ar-SA":"\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u062a\u0648\u0632\u064a\u0639"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11320","company_id":0,"name":"\u57fa\u7840\u8bbe\u7f6e","url":"\/marketing\/popularize\/popularizesetting","sort":1,"is_menu":true,"pid":"11319","apis":"popularize.config.get\npopularize.config.set","icon":null,"is_show":true,"alias_name":"popularizesetting","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u57fa\u7840\u8bbe\u7f6e","en-CN":"Basic Settings","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11321","company_id":0,"name":"\u63a8\u5e7f\u5458\u7ba1\u7406","url":"\/marketing\/popularize\/popularizelist","sort":2,"is_menu":true,"pid":"11319","apis":"popularize.brokerage.count\npopularize.brokerage.logs\npopularize.promoter.children.list\npopularize.promoter.list.get\npopularize.promoter.remove\npopularize.promoter.grade.put\npopularize.promoter.disabled\npopularize.promoter.config.get\npopularize.promoter.add\npopularize.promoter.shop.update","icon":null,"is_show":true,"alias_name":"popularizelist","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u63a8\u5e7f\u5458\u7ba1\u7406","en-CN":"Promoter Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0631\u0648\u0651\u062c\u064a\u0646"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11322","company_id":0,"name":"\u7b49\u7ea7\u7ba1\u7406","url":"\/marketing\/popularize\/promotersetting","sort":3,"is_menu":true,"pid":"11319","apis":"popularize.promoter.config.get\npopularize.promoter.config.set","icon":null,"is_show":true,"alias_name":"promotersetting","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u7b49\u7ea7\u7ba1\u7406","en-CN":"Level Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u064a\u0627\u062a"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11323","company_id":0,"name":"\u63a8\u5e7f\u5458\u4e1a\u7ee9","url":"\/marketing\/popularize\/popularizedata","sort":4,"is_menu":true,"pid":"11319","apis":"","icon":null,"is_show":true,"alias_name":"popularizedata","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u63a8\u5e7f\u5458\u4e1a\u7ee9","en-CN":"Promoter Performance","ar-SA":"\u0623\u062f\u0627\u0621 \u0627\u0644\u0645\u0631\u0648\u0651\u062c\u064a\u0646"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11324","company_id":0,"name":"\u63d0\u73b0\u7533\u8bf7","url":"\/marketing\/popularize\/popularizewithdraw","sort":5,"is_menu":true,"pid":"11319","apis":"popularize.cash_withdrawals.list.get\npopularize.cash_withdrawals.process\npopularize.cash_withdrawals.pay.list.get\npopularize.brokerage.count","icon":"money-check-alt","is_show":true,"alias_name":"popularizewithdraw","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u63d0\u73b0\u7533\u8bf7","en-CN":"Withdrawal Requests","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0633\u062d\u0628"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11325","company_id":0,"name":"\u5206\u9500\u5546\u54c1","url":"\/marketing\/popularize\/popularizegoods","sort":6,"is_menu":true,"pid":"11319","apis":"goods.rebateconf","icon":null,"is_show":true,"alias_name":"popularizegoods","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5206\u9500\u5546\u54c1","en-CN":"Distributed Products","ar-SA":"\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0645\u0648\u0632\u0639\u0629"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11326","company_id":0,"name":"\u4efb\u52a1\u4f63\u91d1\u660e\u7ec6","url":"\/marketing\/popularize\/taskbrokerage","sort":7,"is_menu":true,"pid":"11319","apis":"popularize.task.brokerage.logs","icon":null,"is_show":true,"alias_name":"taskbrokerage","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4efb\u52a1\u4f63\u91d1\u660e\u7ec6","en-CN":"Commission Details","ar-SA":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0639\u0645\u0648\u0644\u0629"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11327","company_id":0,"name":"\u4efb\u52a1\u4f63\u91d1\u7edf\u8ba1","url":"\/marketing\/popularize\/taskbrokeragecount","sort":8,"is_menu":true,"pid":"11319","apis":"popularize.task.brokerage.count\npopularize.task.brokerage.count.export","icon":null,"is_show":true,"alias_name":"taskbrokeragecount","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4efb\u52a1\u4f63\u91d1\u7edf\u8ba1","en-CN":"Commission Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0639\u0645\u0648\u0644\u0629"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11328","company_id":0,"name":"\u6d3b\u52a8\u62a5\u540d","url":"\/marketing\/marketing\/apply","sort":23,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"apply","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u6d3b\u52a8\u62a5\u540d","en-CN":" Event Registration","ar-SA":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u0623\u062d\u062f\u0627\u062b"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11329","company_id":0,"name":"\u5168\u90e8\u6d3b\u52a8","url":"\/marketing\/marketing\/apply\/registrationactivity","sort":0,"is_menu":true,"pid":"11328","apis":"selfhelp.registrationActivity.list\nselfhelp.registrationActivity.add\nselfhelp.template.info\nselfhelp.template.delete","icon":null,"is_show":true,"alias_name":"Registrationactivity","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5168\u90e8\u6d3b\u52a8","en-CN":"All Events","ar-SA":"\u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u062d\u062f\u0627\u062b"},"level":3,"parent_name":"\u6d3b\u52a8\u62a5\u540d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11330","company_id":0,"name":"\u62a5\u540d\u8bb0\u5f55","url":"\/marketing\/marketing\/apply\/Registrationrecord","sort":1,"is_menu":true,"pid":"11328","apis":"selfhelp.registrationRecord.list\nselfhelp.registrationRecord.export\nselfhelp.registrationRecord.info","icon":null,"is_show":true,"alias_name":"Registrationrecord","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u62a5\u540d\u8bb0\u5f55","en-CN":"Registration Records","ar-SA":"\u0633\u062c\u0644\u0627\u062a \u0627\u0644\u062a\u0633\u062c\u064a\u0644"},"level":3,"parent_name":"\u6d3b\u52a8\u62a5\u540d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11331","company_id":0,"name":"\u8868\u5355\u5143\u7d20","url":"\/marketing\/marketing\/apply\/formattrs","sort":1,"is_menu":true,"pid":"11328","apis":"selfhelp.form.list","icon":null,"is_show":true,"alias_name":"formattrs","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8868\u5355\u5143\u7d20","en-CN":"Form Elements","ar-SA":"\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0646\u0645\u0627\u0630\u062c"},"level":3,"parent_name":"\u6d3b\u52a8\u62a5\u540d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11332","company_id":0,"name":"\u8868\u5355\u6a21\u677f","url":"\/marketing\/marketing\/apply\/formtemplate","sort":1,"is_menu":true,"pid":"11328","apis":"selfhelp.template.list\nselfhelp.template.info\nselfhelp.template.delete","icon":null,"is_show":true,"alias_name":"formtemplate","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8868\u5355\u6a21\u677f","en-CN":"Form Templates","ar-SA":"\u0642\u0648\u0627\u0644\u0628 \u0627\u0644\u0646\u0645\u0627\u0630\u062c"},"level":3,"parent_name":"\u6d3b\u52a8\u62a5\u540d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11333","company_id":0,"name":"\u5c0f\u7a0b\u5e8f\u76f4\u64ad","url":"\/marketing\/liveroomlist","sort":24,"is_menu":true,"pid":"11297","apis":"promotions.liverooms","icon":null,"is_show":true,"alias_name":"liveroomlist","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5c0f\u7a0b\u5e8f\u76f4\u64ad","en-CN":"Mini Program Live Streaming","ar-SA":"\u0627\u0644\u0628\u062b \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0639\u0628\u0631 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0645\u0635\u063a\u0631"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11334","company_id":0,"name":"\u5185\u5bb9","url":"\/site","sort":7,"is_menu":true,"pid":"0","apis":"","icon":"newspaper1","is_show":true,"alias_name":"site","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5185\u5bb9","en-CN":"site","ar-SA":"\u0627\u0644\u0645\u062d\u062a\u0648\u0649"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11335","company_id":0,"name":"\u8f6f\u6587","url":"\/site\/article","sort":1,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"article","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8f6f\u6587","en-CN":"Seeding Content","ar-SA":"\u0646\u0634\u0631 \u0627\u0644\u0645\u062d\u062a\u0648\u0649"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11336","company_id":0,"name":"\u8f6f\u6587\u5217\u8868","url":"\/site\/article\/planting","sort":1,"is_menu":true,"pid":"11335","apis":"article.create\narticle.update\narticle.delete\narticle.list\narticle.info\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\narticle.update.sortstatus\narticle.list.category","icon":null,"is_show":true,"alias_name":"planting","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8f6f\u6587\u5217\u8868","en-CN":"List","ar-SA":"\u0642\u0627\u0626\u0645\u0629"},"level":3,"parent_name":"\u8f6f\u6587","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11337","company_id":0,"name":"\u8f6f\u6587\u9891\u9053","url":"\/site\/article\/articlecolumns","sort":2,"is_menu":true,"pid":"11335","apis":"","icon":null,"is_show":true,"alias_name":"articlecolumns","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8f6f\u6587\u9891\u9053","en-CN":"Channels","ar-SA":"\u0627\u0644\u0642\u0646\u0648\u0627\u062a"},"level":3,"parent_name":"\u8f6f\u6587","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11338","company_id":0,"name":"\u7d20\u6750","url":"\/site\/material","sort":1,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"material","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u7d20\u6750","en-CN":"Source Material","ar-SA":"\u0627\u0644\u0645\u0648\u0627\u062f \u0627\u0644\u0645\u0635\u062f\u0631\u064a\u0629"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11339","company_id":0,"name":"\u7d20\u6750\u7ba1\u7406","url":"\/site\/material\/brandmaterial","sort":1,"is_menu":true,"pid":"11338","apis":"espier.oss.uploadToken.get\nespier.image.save","icon":null,"is_show":true,"alias_name":"brandmaterial","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7d20\u6750\u7ba1\u7406","en-CN":"Source Material Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0648\u0627\u062f \u0627\u0644\u0645\u0635\u062f\u0631\u064a\u0629"},"level":3,"parent_name":"\u7d20\u6750","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11340","company_id":0,"name":"UGC\u793e\u533a","url":"\/site\/ugc","sort":3,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"ugc","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"UGC\u793e\u533a","en-CN":"UGC Community","ar-SA":"\u0645\u062c\u062a\u0645\u0639 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0627\u0644\u0630\u064a \u064a\u0646\u0634\u0626\u0647 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u0648\u0646"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11341","company_id":0,"name":"\u7b14\u8bb0\u7ba1\u7406","url":"\/site\/ugc\/ugcindex","sort":1,"is_menu":true,"pid":"11340","apis":"ugc.post.list\nugc.badge.list\nugc.setting.point.getSetting\nugc.post.list\nugc.comment.list\nugc.post.detail","icon":null,"is_show":true,"alias_name":"ugcindex","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7b14\u8bb0\u7ba1\u7406","en-CN":"Note Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0627\u062a"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11342","company_id":0,"name":"\u89d2\u6807\u7ba1\u7406","url":"\/site\/ugc\/ugcflags","sort":2,"is_menu":true,"pid":"11340","apis":"","icon":null,"is_show":true,"alias_name":"ugcflags","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u89d2\u6807\u7ba1\u7406","en-CN":"Badge Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0634\u0627\u0631\u0627\u062a"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11343","company_id":0,"name":"\u7b14\u8bb0\u8bdd\u9898","url":"\/site\/ugc\/ugctopic","sort":3,"is_menu":true,"pid":"11340","apis":"ugc.topic.list","icon":null,"is_show":true,"alias_name":"ugctopic","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7b14\u8bb0\u8bdd\u9898","en-CN":"Topics","ar-SA":"\u0627\u0644\u0645\u0648\u0627\u0636\u064a\u0639"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11344","company_id":0,"name":"\u7b14\u8bb0\u8bc4\u8bba","url":"\/site\/ugc\/ugcreview","sort":4,"is_menu":true,"pid":"11340","apis":"ugc.comment.detail","icon":null,"is_show":true,"alias_name":"ugcreview","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7b14\u8bb0\u8bc4\u8bba","en-CN":"Comments","ar-SA":"\u0627\u0644\u062a\u0639\u0644\u064a\u0642\u0627\u062a"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11345","company_id":0,"name":"\u8bc4\u8bba\u8bbe\u7f6e","url":"\/site\/ugc\/ugcpoint","sort":5,"is_menu":true,"pid":"11340","apis":"","icon":null,"is_show":true,"alias_name":"ugcpoint","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u8bc4\u8bba\u8bbe\u7f6e","en-CN":"Comment Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0642\u0627\u062a"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11346","company_id":0,"name":"\u5206\u4eab\u8f6c\u53d1","url":"\/site\/share","sort":4,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"share","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5206\u4eab\u8f6c\u53d1","en-CN":"Share and Forward\u200b","ar-SA":"\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0648\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0625\u0631\u0633\u0627\u0644"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11347","company_id":0,"name":"\u5206\u4eab\u8bbe\u7f6e","url":"\/site\/share\/sharesetting","sort":1,"is_menu":true,"pid":"11346","apis":"share.setting.set\nshare.setting.get","icon":null,"is_show":true,"alias_name":"sharesetting","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5206\u4eab\u8bbe\u7f6e","en-CN":"Share Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629"},"level":3,"parent_name":"\u5206\u4eab\u8f6c\u53d1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11348","company_id":0,"name":"\u7528\u6237\u8bc4\u4ef7","url":"\/site\/evaluate","sort":5,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"evaluate","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7528\u6237\u8bc4\u4ef7","en-CN":"User Reviews","ar-SA":"\u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11349","company_id":0,"name":"\u5546\u54c1\u8bc4\u4ef7","url":"\/site\/evaluate\/rate","sort":1,"is_menu":true,"pid":"11348","apis":"traderate.list.get","icon":null,"is_show":true,"alias_name":"rate","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5546\u54c1\u8bc4\u4ef7","en-CN":"Product Reviews","ar-SA":"\u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u7528\u6237\u8bc4\u4ef7","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11350","company_id":0,"name":"\u8d22\u52a1","url":"\/financial","sort":8,"is_menu":true,"pid":"0","apis":"","icon":"money-check-alt","is_show":true,"alias_name":"financial","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u8d22\u52a1","en-CN":"financial","ar-SA":"\u0627\u0644\u0634\u0624\u0648\u0646 \u0627\u0644\u0645\u0627\u0644\u064a\u0629"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11351","company_id":0,"name":"\u4ea4\u6613\u6d41\u6c34","url":"\/financial\/financialManage","sort":1,"is_menu":true,"pid":"11350","apis":"","icon":null,"is_show":true,"alias_name":"financialManage","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4ea4\u6613\u6d41\u6c34","en-CN":"Transaction Records","ar-SA":"\u0633\u062c\u0644\u0627\u062a \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u0627\u062a"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11352","company_id":0,"name":"\u4ea4\u6613\u5355","url":"\/financial\/financialManage\/servicepayment","sort":1,"is_menu":true,"pid":"11351","apis":"shops.lists\norder.trade.list\ntrades.list.export","icon":null,"is_show":true,"alias_name":"financialManageservicepayment","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4ea4\u6613\u5355","en-CN":"Transaction Orders","ar-SA":"\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u0627\u062a"},"level":3,"parent_name":"\u4ea4\u6613\u6d41\u6c34","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11353","company_id":0,"name":"\u9000\u6b3e\u5355","url":"\/financial\/financialManage\/aftersalesrefundlist","sort":2,"is_menu":true,"pid":"11351","apis":"refund.list\nrefund.logexport","icon":null,"is_show":true,"alias_name":"financialFinancialManageAftersalesrefundlist","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u9000\u6b3e\u5355","en-CN":"Refund Orders","ar-SA":"\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u0627\u0633\u062a\u0631\u062f\u0627\u062f"},"level":3,"parent_name":"\u4ea4\u6613\u6d41\u6c34","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11354","company_id":0,"name":"\u9000\u6b3e\u5931\u8d25","url":"\/financial\/financialManage\/Refunderrorlogs","sort":3,"is_menu":true,"pid":"11351","apis":"trade.refunderrorlogs.list","icon":null,"is_show":true,"alias_name":"Refunderrorlogs","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u9000\u6b3e\u5931\u8d25","en-CN":"Refund Failure","ar-SA":"\u0641\u0634\u0644 \u0627\u0644\u0627\u0633\u062a\u0631\u062f\u0627\u062f"},"level":3,"parent_name":"\u4ea4\u6613\u6d41\u6c34","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11355","company_id":0,"name":"\u7ed3\u7b97","url":"\/financial\/settlement","sort":1,"is_menu":true,"pid":"11350","apis":null,"icon":null,"is_show":true,"alias_name":"settlement","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97","en-CN":"settlement","ar-SA":"\u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11356","company_id":0,"name":"\u7ed3\u7b97\u6c47\u603b","url":"\/financial\/settlement\/summary","sort":1,"is_menu":true,"pid":"11355","apis":"merchant.list\nstatement.summarized.get\nstatement.confirm.post\nstatement.detail.get\nstatement.summarized.export\nstatement.detail.export","icon":null,"is_show":true,"alias_name":"summary","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97\u6c47\u603b","en-CN":"summary","ar-SA":"\u0645\u0644\u062e\u0635 \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11357","company_id":0,"name":"\u7ed3\u7b97\u914d\u7f6e","url":"\/financial\/settlement\/configure","sort":1,"is_menu":true,"pid":"11355","apis":"statement.period.default.setting.get\nstatement.period.distributor.setting.get\nstatement.period.setting.set","icon":null,"is_show":true,"alias_name":"configure","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97\u914d\u7f6e","en-CN":"configure","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11358","company_id":0,"name":"\u4f9b\u5e94\u5546\u7ed3\u7b97","url":"\/financial\/settlement_supplier","sort":1,"is_menu":true,"pid":"11350","apis":"","icon":null,"is_show":true,"alias_name":"settlement_supplier","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u7ed3\u7b97","en-CN":"Supplier Settlements","ar-SA":"\u062a\u0633\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u0648\u0631\u062f\u064a\u0646"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11359","company_id":0,"name":"\u7ed3\u7b97\u914d\u7f6e","url":"\/financial\/settlement_supplier\/configure_supplier","sort":1,"is_menu":true,"pid":"11358","apis":"statement.period.default.setting.get\nstatement.period.supplier.setting.get","icon":null,"is_show":true,"alias_name":"configure_supplier","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97\u914d\u7f6e","en-CN":"Settlement Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11360","company_id":0,"name":"\u7ed3\u7b97\u6c47\u603b","url":"\/financial\/settlement_supplier\/summary_supplier","sort":1,"is_menu":true,"pid":"11358","apis":"statement.summarized.get","icon":null,"is_show":true,"alias_name":"summary_supplier","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97\u6c47\u603b","en-CN":"Settlement Summary","ar-SA":"\u0645\u0644\u062e\u0635 \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11361","company_id":0,"name":"\u7ebf\u4e0b\u8f6c\u8d26","url":"\/financial\/examine","sort":2,"is_menu":true,"pid":"11350","apis":"","icon":null,"is_show":true,"alias_name":"examine","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ebf\u4e0b\u8f6c\u8d26","en-CN":"Offline Transfers","ar-SA":"\u0627\u0644\u062a\u062d\u0648\u064a\u0644\u0627\u062a \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11362","company_id":0,"name":"\u8f6c\u8d26\u51ed\u8bc1\u5ba1\u6838","url":"\/financial\/examine\/transfer","sort":1,"is_menu":true,"pid":"11361","apis":"order.offline_payment.get_list\nespier.offline.backaccount.lists","icon":null,"is_show":true,"alias_name":"transfer","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u8f6c\u8d26\u51ed\u8bc1\u5ba1\u6838","en-CN":"Transfer Voucher Review","ar-SA":"\u0645\u0631\u0627\u062c\u0639\u0629 \u0633\u0646\u062f \u0627\u0644\u062a\u062d\u0648\u064a\u0644"},"level":3,"parent_name":"\u7ebf\u4e0b\u8f6c\u8d26","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11363","company_id":0,"name":"\u53d1\u7968","url":"\/financial\/invoice","sort":5,"is_menu":true,"pid":"11350","apis":"","icon":null,"is_show":true,"alias_name":"invoice","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u53d1\u7968","en-CN":"Invoice","ar-SA":"\u0627\u0644\u0641\u0627\u062a\u0648\u0631\u0629"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11364","company_id":0,"name":"\u5f00\u7968\u7533\u8bf7","url":"\/financial\/invoice\/invoice-list","sort":1,"is_menu":true,"pid":"11363","apis":null,"icon":null,"is_show":true,"alias_name":"invoice-list","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5f00\u7968\u7533\u8bf7","en-CN":"Invoice Applications","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0641\u0648\u062a\u0631\u0629"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11365","company_id":0,"name":"\u53d1\u7968\u8bbe\u7f6e","url":"\/financial\/invoice\/setting","sort":2,"is_menu":true,"pid":"11363","apis":"financial.examine.invoiceSetting","icon":null,"is_show":true,"alias_name":"invoiceSetting","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u53d1\u7968\u8bbe\u7f6e","en-CN":"Invoice Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0641\u0648\u0627\u062a\u064a\u0631"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11366","company_id":0,"name":"\u9500\u65b9\u4fe1\u606f","url":"\/financial\/invoice\/information","sort":3,"is_menu":true,"pid":"11363","apis":"financial.examine.invoiceInfo","icon":null,"is_show":true,"alias_name":"invoiceInfo","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u9500\u65b9\u4fe1\u606f","en-CN":"Seller Info","ar-SA":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0628\u0627\u0626\u0639"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11367","company_id":0,"name":"\u5f00\u7968\u7a0e\u7387","url":"\/financial\/invoice\/invoiceTax","sort":4,"is_menu":true,"pid":"11363","apis":"financial.examine.invoiceTax","icon":null,"is_show":true,"alias_name":"invoiceTax","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5f00\u7968\u7a0e\u7387","en-CN":"Tax Rates","ar-SA":"\u0645\u0639\u062f\u0644\u0627\u062a \u0627\u0644\u0636\u0631\u064a\u0628\u0629"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11368","company_id":0,"name":"\u4e13\u7968\u786e\u8ba4\u4e66","url":"\/financial\/invoice\/invoiceConfirmation","sort":5,"is_menu":true,"pid":"11363","apis":"financial.examine.invoiceConfirmation","icon":null,"is_show":true,"alias_name":"invoiceConfirmation","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4e13\u7968\u786e\u8ba4\u4e66","en-CN":"Invoice Confirmation","ar-SA":"\u062a\u0623\u0643\u064a\u062f \u0627\u0644\u0641\u0627\u062a\u0648\u0631\u0629"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11369","company_id":0,"name":"\u6570\u636e","url":"\/companydata","sort":9,"is_menu":true,"pid":"0","apis":"","icon":"poll","is_show":true,"alias_name":"companydata","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u6570\u636e","en-CN":"companydata","ar-SA":"\u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631 \u0648\u0627\u0644\u0625\u062d\u0635\u0627\u0621\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11370","company_id":0,"name":"\u7edf\u8ba1","url":"\/companydata\/statistics","sort":1,"is_menu":true,"pid":"11369","apis":null,"icon":null,"is_show":true,"alias_name":"statistics","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7edf\u8ba1","en-CN":"Statistics","ar-SA":"\u0627\u0644\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a"},"level":2,"parent_name":"\u6570\u636e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11371","company_id":0,"name":"\u5546\u54c1\u7edf\u8ba1","url":"\/companydata\/statistics\/goodsstatistics","sort":1,"is_menu":true,"pid":"11370","apis":"datacube.goods.data\norder.delivervstaff.confirm\nemployeepurchase.activity.list","icon":null,"is_show":true,"alias_name":"goodsstatistics","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5546\u54c1\u7edf\u8ba1","en-CN":"Product Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u7edf\u8ba1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11372","company_id":0,"name":"\u4ea4\u6613\u7edf\u8ba1","url":"\/companydata\/statistics\/orderstatistics","sort":2,"is_menu":true,"pid":"11370","apis":"datacube.company.data","icon":null,"is_show":true,"alias_name":"orderstatistics","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4ea4\u6613\u7edf\u8ba1","en-CN":"Transaction Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u0627\u062a"},"level":3,"parent_name":"\u7edf\u8ba1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11373","company_id":0,"name":"\u4f1a\u5458\u7edf\u8ba1","url":"\/companydata\/statistics\/memberstatistics","sort":3,"is_menu":true,"pid":"11370","apis":"datacube.company.data","icon":null,"is_show":true,"alias_name":"member-statistics","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4f1a\u5458\u7edf\u8ba1","en-CN":"Member Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":3,"parent_name":"\u7edf\u8ba1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11374","company_id":0,"name":"\u5e97\u94fa\u7edf\u8ba1","url":"\/companydata\/statistics\/distributordata","sort":4,"is_menu":true,"pid":"11370","apis":"datacube.distributor.data","icon":null,"is_show":true,"alias_name":"distributordata","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5e97\u94fa\u7edf\u8ba1","en-CN":"Store Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u7edf\u8ba1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11375","company_id":0,"name":"\u62a5\u8868","url":"\/companydata\/report","sort":2,"is_menu":true,"pid":"11369","apis":null,"icon":null,"is_show":true,"alias_name":"report","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u62a5\u8868","en-CN":"Reports","ar-SA":"\u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631"},"level":2,"parent_name":"\u6570\u636e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11376","company_id":0,"name":"\u5bfc\u51fa\u8bb0\u5f55","url":"\/companydata\/report\/baseexport","sort":1,"is_menu":true,"pid":"11375","apis":"espier.export.loglist\nespier.export.file.down","icon":null,"is_show":true,"alias_name":"baseexport","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5bfc\u51fa\u8bb0\u5f55","en-CN":"Export Records","ar-SA":"\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u0633\u062c\u0644\u0627\u062a"},"level":3,"parent_name":"\u62a5\u8868","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11377","company_id":0,"name":"\u88c5\u4fee","url":"\/wxapp","sort":11,"is_menu":true,"pid":"0","apis":"wechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list\nwechat.pre_auth_url\nwechat.wxa.testqrcode\nwechat.wxa.tryrelease\nwechat.bind","icon":"brush-copy","is_show":true,"alias_name":"wxapp-template","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u88c5\u4fee","en-CN":"wxapp-template","ar-SA":"\u0627\u0644\u0642\u0648\u0627\u0644\u0628"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11378","company_id":0,"name":"\u79fb\u52a8\u5546\u57ce","url":"\/wxapp\/manage","sort":1,"is_menu":true,"pid":"11377","apis":"wechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list\nwechat.pre_auth_url\nwechat.wxa.testqrcode\nwechat.wxa.tryrelease\nwechat.bind\npagestemplateset.set\npagestemplateset.getInfo\npagestemplate.lists\npagestemplate.add\npagestemplate.edit\npagestemplate.detail\npagestemplate.copy\npagestemplate.delete\npagestemplate.modifyStatus\npagestemplate.sync\nmemberCenterShare.set\nmemberCenterShare.getInfo\nwechat.wxa.revertcoderelease","icon":null,"is_show":true,"alias_name":"wxappmanage","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u79fb\u52a8\u5546\u57ce","en-CN":"Mobile store template","ar-SA":"\u0642\u0627\u0644\u0628 \u0645\u062a\u062c\u0631 \u0627\u0644\u062c\u0648\u0627\u0644"},"level":2,"parent_name":"\u88c5\u4fee","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11379","company_id":0,"name":"\u9996\u9875","url":"\/wxapp\/manage\/templateedit","sort":1,"is_menu":true,"pid":"11378","apis":"wechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list\nwechat.pre_auth_url\nwechat.wxa.testqrcode\nwechat.wxa.tryrelease\nwechat.bind\nwechat.wxa.customizepage.list\nrecommendlike.list\npagestemplate.lists\npagestemplateset.getInfo\npagestemplate.modifyStatus\npagestemplateset.set\npagestemplate.copy\npagestemplate.delete\npagestemplate.edit\npagestemplate.add\nwxexternalconfigroutes.list\nwxexternalconfig.list\ngoods.sku.lists\nselfhelp.registrationActivity.easylist\npagestemplate.sync\nselfhelp.registrationActivity.easylist","icon":null,"is_show":true,"alias_name":"wxapp-template-edit","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u9996\u9875","en-CN":"Homepage","ar-SA":"\u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11381","company_id":0,"name":"\u5206\u7c7b\u9875","url":"\/wxapp\/manage\/editcategory","sort":2,"is_menu":true,"pid":"11378","apis":"wechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list","icon":null,"is_show":true,"alias_name":"wxapp-editcategory","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5206\u7c7b\u9875","en-CN":"Category Page","ar-SA":"\u0635\u0641\u062d\u0629 \u0627\u0644\u0641\u0626\u0627\u062a"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11382","company_id":0,"name":"\u81ea\u5b9a\u4e49\u9875","url":"\/wxapp\/manage\/custompage","sort":3,"is_menu":true,"pid":"11378","apis":"wechat.wxa.customizepage.update\nwechat.wxa.customizepage.delete\nwechat.wxa.customizepage.add\nwechat.wxa.customizepage.list\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list\nwechat.pre_auth_url\nwechat.wxa.testqrcode\nwechat.wxa.tryrelease\nwechat.bind\nwechat.wxa.customizepage.update\nwechat.wxa.customizepage.delete\nwechat.wxa.customizepage.add\nwechat.wxa.customizepage.list\n","icon":null,"is_show":true,"alias_name":"wxapp-custompage","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u81ea\u5b9a\u4e49\u9875","en-CN":"Custom Pages","ar-SA":"\u0627\u0644\u0635\u0641\u062d\u0627\u062a \u0627\u0644\u0645\u062e\u0635\u0635\u0629"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11383","company_id":0,"name":"\u5546\u57ce\u914d\u8272","url":"\/wxapp\/manage\/colorstyle","sort":5,"is_menu":true,"pid":"11378","apis":"","icon":null,"is_show":true,"alias_name":"colorstyle","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5546\u57ce\u914d\u8272","en-CN":"Color Scheme","ar-SA":"\u0646\u0638\u0627\u0645 \u0627\u0644\u0623\u0644\u0648\u0627\u0646"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11384","company_id":0,"name":"\u5546\u57ce\u4fe1\u606f","url":"\/wxapp\/manage\/wxshopsetting","sort":6,"is_menu":true,"pid":"11378","apis":"shops.setting.get\nshops.setting.set","icon":null,"is_show":true,"alias_name":"wxshopsetting","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5546\u57ce\u4fe1\u606f","en-CN":"Store Information","ar-SA":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11385","company_id":0,"name":"\u5f00\u5c4f\u5e7f\u544a","url":"\/wxapp\/manage\/openscreenad","sort":8,"is_menu":true,"pid":"11378","apis":"openscreenad.set.info","icon":null,"is_show":true,"alias_name":"openscreenad","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5f00\u5c4f\u5e7f\u544a","en-CN":"Splash Ads","ar-SA":"\u0625\u0639\u0644\u0627\u0646\u0627\u062a \u0627\u0644\u0634\u0627\u0634\u0629 \u0627\u0644\u0627\u0641\u062a\u062a\u0627\u062d\u064a\u0629"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11386","company_id":0,"name":"PC\u5546\u57ce","url":"\/wxapp\/pcmall","sort":2,"is_menu":true,"pid":"11377","apis":"","icon":null,"is_show":true,"alias_name":"pcmall","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"PC\u5546\u57ce","en-CN":"Web store template","ar-SA":"\u0642\u0627\u0644\u0628 \u0645\u062a\u062c\u0631 \u0627\u0644\u0648\u064a\u0628"},"level":2,"parent_name":"\u88c5\u4fee","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11387","company_id":0,"name":"\u6a21\u677f\u5217\u8868","url":"\/wxapp\/pcmall\/templatelist","sort":1,"is_menu":true,"pid":"11386","apis":"pctemplate.lists\npctemplate.edit\npctemplate.getHeaderOrFooter\npctemplate.getTemplateContent\npctemplate.saveTemplateContent\npctemplate.saveHeaderOrFooter\npagestemplate.detail","icon":null,"is_show":true,"alias_name":"templatelist","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6a21\u677f\u5217\u8868","en-CN":"Template List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0642\u0648\u0627\u0644\u0628"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11388","company_id":0,"name":"\u6a21\u677f\u7f16\u8f91","url":"\/wxapp\/pcmall\/design","sort":2,"is_menu":false,"pid":"11386","apis":"pctemplate.getHeaderOrFooter\npctemplate.getTemplateContent\npctemplate.saveTemplateContent\npctemplate.saveHeaderOrFooter\npagestemplate.detail","icon":null,"is_show":true,"alias_name":"design","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6a21\u677f\u7f16\u8f91","en-CN":"Template Editing","ar-SA":"\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0642\u0627\u0644\u0628"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11389","company_id":0,"name":"\u767b\u5f55\u9875","url":"\/wxapp\/pcmall\/loginPageSetting","sort":2,"is_menu":true,"pid":"11386","apis":"pctemplate.getLoginPageSetting","icon":null,"is_show":true,"alias_name":"loginPageSetting","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u767b\u5f55\u9875","en-CN":"Login Page","ar-SA":"\u0635\u0641\u062d\u0629 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11390","company_id":0,"name":"SEO\u914d\u7f6e","url":"\/wxapp\/pcmall\/seo","sort":3,"is_menu":true,"pid":"11386","apis":"pcdecoration.tdkglobalset.info\npcdecoration.tdkglobalset.save","icon":null,"is_show":true,"alias_name":"seo","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"SEO\u914d\u7f6e","en-CN":"SEO Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u062a\u062d\u0633\u064a\u0646 \u0645\u062d\u0631\u0643\u0627\u062a \u0627\u0644\u0628\u062d\u062b (SEO)"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11391","company_id":0,"name":"\u9875\u9762SEO","url":"\/wxapp\/pcmall\/pageseo","sort":4,"is_menu":true,"pid":"11386","apis":"pcdecoration.tdkgivenset.info\npcdecoration.tdkgivenset.save","icon":null,"is_show":true,"alias_name":"pageseo","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u9875\u9762SEO","en-CN":"Page SEO","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a SEO \u0644\u0644\u0635\u0641\u062d\u0629"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11392","company_id":0,"name":"\u79ef\u5206\u5546\u57ce","url":"\/rewardsStore","sort":11,"is_menu":true,"pid":"0","apis":null,"icon":"funds","is_show":true,"alias_name":"rewardsStore","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u79ef\u5206\u5546\u57ce","en-CN":"Points Mall","ar-SA":"\u0645\u062a\u062c\u0631 \u0627\u0644\u0646\u0642\u0627\u0637"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11393","company_id":0,"name":"\u79ef\u5206\u5546\u54c1","url":"\/rewardsStore\/rewardItem","sort":1,"is_menu":true,"pid":"11392","apis":"pointsmall.goods.items.lists\npointsmall.goods.items.detail\n","icon":null,"is_show":true,"alias_name":"rewardItemManagement","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u79ef\u5206\u5546\u54c1","en-CN":"Reward Item","ar-SA":"\u0639\u0646\u0635\u0631 \u0627\u0644\u0645\u0643\u0627\u0641\u0623\u0629"},"level":2,"parent_name":"\u79ef\u5206\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11394","company_id":0,"name":"\u79ef\u5206\u8ba2\u5355","url":"\/rewardsStore\/rewardorder","sort":1,"is_menu":true,"pid":"11392","apis":null,"icon":null,"is_show":true,"alias_name":"rewardordermanagement","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u79ef\u5206\u8ba2\u5355","en-CN":"Reward Order","ar-SA":"\u0637\u0644\u0628 \u0627\u0644\u0645\u0643\u0627\u0641\u0623\u0629"},"level":2,"parent_name":"\u79ef\u5206\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11395","company_id":0,"name":"\u57fa\u7840\u914d\u7f6e","url":"\/rewardsStore\/basicSettings","sort":1,"is_menu":true,"pid":"11392","apis":"pointsmall.setting.get","icon":null,"is_show":true,"alias_name":"basicSettings","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u57fa\u7840\u914d\u7f6e","en-CN":"Basic Configuration","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629"},"level":2,"parent_name":"\u79ef\u5206\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11396","company_id":0,"name":"\u5e94\u7528","url":"\/applications","sort":12,"is_menu":true,"pid":"0","apis":"adapay.open_account.step\npointsmall.goods.items.lists\nadapay.open_account.step\nadapay.regions.list\nadapay.regions.list","icon":"yingyong-01","is_show":true,"alias_name":"applications","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5e94\u7528","en-CN":"applications","ar-SA":"\u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11397","company_id":0,"name":"\u6597\u62f1\u5206\u8d26","url":"\/applications\/bspay","sort":1,"is_menu":true,"pid":"11396","apis":"bspay.sub_approve.list","icon":null,"is_show":true,"alias_name":"bspay","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6597\u62f1\u5206\u8d26","en-CN":"Dougong Settlement","ar-SA":"\u062a\u0633\u0648\u064a\u0629 \u062f\u0648\u063a\u0648\u0646"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11398","company_id":0,"name":"\u7528\u6237\u8fdb\u4ef6\u5ba1\u6279","url":"\/applications\/bspay\/user_audit","sort":1,"is_menu":true,"pid":"11397","apis":"bspay.sub_approve.list\nbspay.trade.getList","icon":null,"is_show":true,"alias_name":"user_audit","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u7528\u6237\u8fdb\u4ef6\u5ba1\u6279","en-CN":"User Onboarding Approval","ar-SA":"\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0639\u0644\u0649 \u0627\u0646\u0636\u0645\u0627\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645"},"level":3,"parent_name":"\u6597\u62f1\u5206\u8d26","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11399","company_id":0,"name":"\u5206\u8d26\u660e\u7ec6","url":"\/applications\/bspay\/trades","sort":1,"is_menu":true,"pid":"11397","apis":null,"icon":null,"is_show":true,"alias_name":"bspay_trades","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5206\u8d26\u660e\u7ec6","en-CN":"Settlement Details","ar-SA":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u6597\u62f1\u5206\u8d26","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11400","company_id":0,"name":"\u4f01\u4e1a\u8d2d","url":"\/applications\/ec","sort":3,"is_menu":true,"pid":"11396","apis":"","icon":null,"is_show":true,"alias_name":"ec","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u4f01\u4e1a\u8d2d","en-CN":"Employee Purchase","ar-SA":"\u0645\u0634\u062a\u0631\u064a\u0627\u062a \u0627\u0644\u0645\u0648\u0638\u0641\u064a\u0646"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11401","company_id":0,"name":"\u4f01\u4e1a\u7ba1\u7406","url":"\/applications\/ec\/company","sort":1,"is_menu":true,"pid":"11400","apis":"employeepurchase.enterprise.list","icon":null,"is_show":true,"alias_name":"company-admin","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u4f01\u4e1a\u7ba1\u7406","en-CN":"Enterprise Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0624\u0633\u0633\u0629"},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11402","company_id":0,"name":"\u5458\u5de5\u7ba1\u7406","url":"\/applications\/ec\/employee","sort":2,"is_menu":true,"pid":"11400","apis":"employeepurchase.employee.list","icon":null,"is_show":true,"alias_name":"employee-admin","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5458\u5de5\u7ba1\u7406","en-CN":"Employee Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0648\u0638\u0641\u064a\u0646"},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11403","company_id":0,"name":"\u6d3b\u52a8\u7ba1\u7406","url":"\/applications\/ec\/purchaseactivity","sort":3,"is_menu":true,"pid":"11400","apis":"promotions.employeepurchase.list\npromotions.employeepurchase.info\npromotions.employeepurchase.add\npromotions.employeepurchase.update\nespier.upload.template.export\nespier.upload\npromotions.employeepurchase.endactivity\npromotions.employeepurchase.dependents.lists\npromotions.employeepurchase.dependents.export\nemployeepurchase.activity.list\nespier.image.cat.children\nemployeepurchase.activity.create\nemployeepurchase.activity.info\nemployeepurchase.activity.items.list\nemployeepurchase.activity.items.add\nemployeepurchase.activity.items.delete\nemployeepurchase.activity.spec_items.update\nemployeepurchase.activity.items.update","icon":null,"is_show":true,"alias_name":"purchase-admin","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u7ba1\u7406","en-CN":"Activity Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0641\u0639\u0627\u0644\u064a\u0627\u062a"},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11404","company_id":0,"name":"\u8ba2\u5355\u7ba1\u7406","url":"\/applications\/ec\/purchaseorder","sort":4,"is_menu":true,"pid":"11400","apis":"order.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel\nespier.subdistrict.list.get\ntrade.logistics.list\npresale.pickupcode.setting.get\nthird.jushuitan.setting.get\nemployeepurchase.activity.list\nemployeepurchase.activity.list","icon":null,"is_show":true,"alias_name":"purchase-list","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u8ba2\u5355\u7ba1\u7406","en-CN":"Order Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11405","company_id":0,"name":"\u5bfc\u8d2d\u52a9\u624b","url":"\/applications\/guide","sort":4,"is_menu":true,"pid":"11396","apis":"","icon":null,"is_show":true,"alias_name":"guide","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5bfc\u8d2d\u52a9\u624b","en-CN":"Shop Assistant","ar-SA":"\u0645\u0633\u0627\u0639\u062f \u0627\u0644\u0645\u062a\u062c\u0631"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11406","company_id":0,"name":"\u4f01\u4e1a\u5fae\u4fe1\u8bbe\u7f6e","url":"\/applications\/guide\/workwechat","sort":1,"is_menu":true,"pid":"11405","apis":"workwechat.config.info","icon":null,"is_show":true,"alias_name":"workwechat","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u4f01\u4e1a\u5fae\u4fe1\u8bbe\u7f6e","en-CN":"Wecom Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a WeCom"},"level":3,"parent_name":"\u5bfc\u8d2d\u52a9\u624b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11407","company_id":0,"name":"\u5bfc\u8d2d\u8d27\u67b6\u6a21\u677f","url":"\/applications\/guide\/salespersonshelfindex","sort":2,"is_menu":true,"pid":"11405","apis":"wechat.wxa.salesperson.customizepage.get","icon":null,"is_show":true,"alias_name":"salespersonshelfindex","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5bfc\u8d2d\u8d27\u67b6\u6a21\u677f","en-CN":"SA Shelf Template","ar-SA":"\u0642\u0627\u0644\u0628 \u0631\u0641\u0648\u0641 SA"},"level":3,"parent_name":"\u5bfc\u8d2d\u52a9\u624b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11408","company_id":0,"name":"\u793e\u533a\u56e2\u8d2d","url":"\/applications\/community","sort":5,"is_menu":true,"pid":"11396","apis":null,"icon":null,"is_show":true,"alias_name":"community","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u793e\u533a\u56e2\u8d2d","en-CN":"Group Buying","ar-SA":"\u0627\u0644\u0634\u0631\u0627\u0621 \u0627\u0644\u062c\u0645\u0627\u0639\u064a"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11409","company_id":0,"name":"\u6d3b\u52a8\u7ba1\u7406","url":"\/applications\/community\/activity","sort":2,"is_menu":true,"pid":"11408","apis":"community.list","icon":null,"is_show":true,"alias_name":"activity","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u7ba1\u7406","en-CN":"Campaign Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u062d\u0645\u0644\u0627\u062a"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11410","company_id":0,"name":"\u6d3b\u52a8\u5546\u54c1","url":"\/applications\/community\/communitygoods","sort":3,"is_menu":true,"pid":"11408","apis":"community.items.list.get","icon":null,"is_show":true,"alias_name":"communitygoods","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u5546\u54c1","en-CN":"Campaign Products","ar-SA":"\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u062d\u0645\u0644\u0629"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11411","company_id":0,"name":"\u6d3b\u52a8\u8ba2\u5355","url":"\/applications\/community\/order","sort":3,"is_menu":true,"pid":"11408","apis":"community.order.list.get","icon":null,"is_show":true,"alias_name":"communityorder","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u8ba2\u5355","en-CN":"Campaign Orders","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062d\u0645\u0644\u0629"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11412","company_id":0,"name":"\u6d3b\u52a8\u914d\u7f6e","url":"\/applications\/community\/setting","sort":4,"is_menu":true,"pid":"11408","apis":"community.setting.get\ncommunity.chief.apply.wxaCode\ncommunity.chief.apply_field.list\ncommunity.chief.apply_field.update\ncommunity.chief.apply_field.create\ncommunity.chief.apply_field.delete\ncommunity.setting.save","icon":null,"is_show":true,"alias_name":"communitysetting","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u914d\u7f6e","en-CN":"Campaign Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062d\u0645\u0644\u0629"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11413","company_id":0,"name":"\u793e\u533a\u7ba1\u7406","url":"\/applications\/community\/subdistrict","sort":5,"is_menu":true,"pid":"11408","apis":null,"icon":null,"is_show":true,"alias_name":"subdistrict","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u793e\u533a\u7ba1\u7406","en-CN":"Community Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u062c\u062a\u0645\u0639"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11414","company_id":0,"name":"\u56e2\u957f\u7ba1\u7406","url":"\/applications\/community\/chief","sort":6,"is_menu":true,"pid":"11408","apis":"community.setting.chief\ncommunity.chief.apply.list\ncommunity.chief.apply.info\ncommunity.chief.approve\ncommunity.chief.list\ncommunity.chief.info","icon":null,"is_show":true,"alias_name":"communitychief","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u56e2\u957f\u7ba1\u7406","en-CN":"Group Leader Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0642\u0627\u062f\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11415","company_id":0,"name":"\u56e2\u957f\u4e1a\u7ee9","url":"\/applications\/community\/achievement","sort":7,"is_menu":true,"pid":"11408","apis":"community.chief.rebate.count","icon":null,"is_show":true,"alias_name":"achievement","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u56e2\u957f\u4e1a\u7ee9","en-CN":"Group Leader Performance","ar-SA":"\u0623\u062f\u0627\u0621 \u0642\u0627\u062f\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11416","company_id":0,"name":"\u63d0\u73b0\u7533\u8bf7","url":"\/applications\/community\/withdraw","sort":8,"is_menu":true,"pid":"11408","apis":"community.chief.cash_withdrawal.list","icon":null,"is_show":true,"alias_name":"withdraw","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u63d0\u73b0\u7533\u8bf7","en-CN":"Withdrawal Requests","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0633\u062d\u0628"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11417","company_id":0,"name":"\u56e2\u957f\u5bfc\u5165","url":"\/applications\/community\/chiefupload","sort":9,"is_menu":false,"pid":"11408","apis":"","icon":null,"is_show":true,"alias_name":"chiefupload1","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u56e2\u957f\u5bfc\u5165","en-CN":"chiefupload1","ar-SA":"\u0627\u0633\u062a\u064a\u0631\u0627\u062f \u0642\u0627\u062f\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11418","company_id":0,"name":"\u5e94\u7528\u4e2d\u5fc3","url":"\/applications\/appsgroup","sort":100,"is_menu":true,"pid":"11396","apis":"adapay.open_account.step\nadapay.regions.list\npointsmall.goods.items.lists\nadapay.regions.list\npointsmall.goods.items.lists\nadapay.open_account.step","icon":"yingyong-01","is_show":true,"alias_name":"appsgroup","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5e94\u7528\u4e2d\u5fc3","en-CN":"App Center","ar-SA":"\u0645\u0631\u0643\u0632 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11419","company_id":0,"name":"\u6269\u5c55\u5e94\u7528","url":"\/applications\/appsgroup\/extapp","sort":1,"is_menu":true,"pid":"11418","apis":"adapay.is_open","icon":null,"is_show":true,"alias_name":"extapp","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u6269\u5c55\u5e94\u7528","en-CN":"Extended Applications","ar-SA":"\u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u0645\u0648\u0633\u0639\u0629"},"level":3,"parent_name":"\u5e94\u7528\u4e2d\u5fc3","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11420","company_id":0,"name":"\u8bbe\u7f6e","url":"\/setting","sort":13,"is_menu":true,"pid":"0","apis":"","icon":"cog-copy","is_show":true,"alias_name":"setting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u8bbe\u7f6e","en-CN":"setting","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11421","company_id":0,"name":"\u7cfb\u7edf\u8d26\u53f7","url":"\/setting\/staff","sort":0,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"staff","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u7cfb\u7edf\u8d26\u53f7","en-CN":"System Account","ar-SA":"\u062d\u0633\u0627\u0628 \u0627\u0644\u0646\u0638\u0627\u0645"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11422","company_id":0,"name":"\u5e73\u53f0\u8d26\u53f7","url":"\/setting\/staff\/Platformstaff","sort":1,"is_menu":true,"pid":"11421","apis":"account.create\naccount.list\naccount.info\naccount.update\naccount.delete\nroles.list\naccount.roles.permission\noperator.status.change\ndatacube.deliverystaff.data\norder.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"platformstaff","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5e73\u53f0\u8d26\u53f7","en-CN":"Platform Account","ar-SA":"\u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0646\u0635\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u8d26\u53f7","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11423","company_id":0,"name":"\u7cfb\u7edf\u89d2\u8272","url":"\/setting\/staff\/Platformstaffroles","sort":2,"is_menu":true,"pid":"11421","apis":"roles.create\nroles.list\nroles.info\nroles.update\nroles.delete\n","icon":null,"is_show":true,"alias_name":"platformstaffroles","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u7cfb\u7edf\u89d2\u8272","en-CN":"System Role","ar-SA":"\u0635\u0644\u0627\u062d\u064a\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645"},"level":3,"parent_name":"\u7cfb\u7edf\u8d26\u53f7","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11424","company_id":0,"name":"\u5546\u6237\u8d26\u53f7","url":"\/setting\/staff\/storemanager","sort":3,"is_menu":true,"pid":"11421","apis":"merchant.operator.list\nmerchant.operator.update","icon":null,"is_show":true,"alias_name":"storemanager_account","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5546\u6237\u8d26\u53f7","en-CN":"storemanager_account","ar-SA":"\u062d\u0633\u0627\u0628 \u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u7cfb\u7edf\u8d26\u53f7","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11425","company_id":0,"name":"\u5e97\u94fa\u8d26\u53f7","url":"\/setting\/staff\/Merchantstaff","sort":4,"is_menu":true,"pid":"11421","apis":"account.create\naccount.list\naccount.info\naccount.update\naccount.delete\nroles.list\naccount.roles.permission\nespier.subdistrict.list.get\noperator.status.change","icon":null,"is_show":true,"alias_name":"merchantstaff","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5e97\u94fa\u8d26\u53f7","en-CN":"Store Account","ar-SA":"\u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u7cfb\u7edf\u8d26\u53f7","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11426","company_id":0,"name":"\u83dc\u5355\u7ba1\u7406","url":"\/setting\/menumanage","sort":1,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"menumanage","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u83dc\u5355\u7ba1\u7406","en-CN":"menumanage","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0642\u0648\u0627\u0626\u0645"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11427","company_id":0,"name":"\u5546\u57ce\u83dc\u5355","url":"\/setting\/menumanage\/shopmenus","sort":1,"is_menu":true,"pid":"11426","apis":"super.admin.shopmenu.get\r\nsuper.admin.shopmenu.add\r\nsuper.admin.shopmenu.update\r\nsuper.admin.shopmenu.del","icon":null,"is_show":true,"alias_name":"shopmenus","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5546\u57ce\u83dc\u5355","en-CN":"shopmenus","ar-SA":"\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u83dc\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11428","company_id":0,"name":"\u5e97\u94fa\u83dc\u5355","url":"\/setting\/menumanage\/distributormenu","sort":1,"is_menu":true,"pid":"11426","apis":"super.admin.shopmenu.get\nsuper.admin.shopmenu.add\nsuper.admin.shopmenu.update\nsuper.admin.shopmenu.del\norders.setting.get ","icon":null,"is_show":true,"alias_name":"distributormenu","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5e97\u94fa\u83dc\u5355","en-CN":"distributormenu","ar-SA":"\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u0645\u062a\u062c\u0631 (\u0644\u0644\u0645\u062a\u062c\u0631 \u0627\u0644\u0648\u0627\u062d\u062f)"},"level":3,"parent_name":"\u83dc\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11429","company_id":0,"name":"\u5546\u6237\u83dc\u5355","url":"\/setting\/menumanage\/merchantmenu","sort":2,"is_menu":true,"pid":"11426","apis":null,"icon":null,"is_show":true,"alias_name":"merchantmenu","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5546\u6237\u83dc\u5355","en-CN":"merchantmenu","ar-SA":"\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u83dc\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11430","company_id":0,"name":"\u4f9b\u5e94\u5546\u83dc\u5355","url":"\/setting\/menumanage\/suppliermenus","sort":10,"is_menu":true,"pid":"11426","apis":null,"icon":null,"is_show":true,"alias_name":"suppliermenus","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u83dc\u5355","en-CN":"suppliermenus","ar-SA":"\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u0645\u0648\u0631\u062f"},"level":3,"parent_name":"\u83dc\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11431","company_id":0,"name":"\u7cfb\u7edf\u914d\u7f6e","url":"\/setting\/systemsetting","sort":2,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"systemsetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u7cfb\u7edf\u914d\u7f6e","en-CN":"System Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11432","company_id":0,"name":"\u901a\u7528\u8bbe\u7f6e","url":"\/setting\/systemsetting\/publicsetting","sort":1,"is_menu":true,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"publicsetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u901a\u7528\u8bbe\u7f6e","en-CN":"General Settings","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11433","company_id":0,"name":"web\u9690\u79c1\u58f0\u660e","url":"\/setting\/systemsetting\/webPrivacyStatement","sort":1,"is_menu":true,"pid":"11431","apis":"companys.setting.getp","icon":null,"is_show":true,"alias_name":"webPrivacyStatement","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"web\u9690\u79c1\u58f0\u660e","en-CN":"Reward order list","ar-SA":"\u0628\u064a\u0627\u0646 \u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629 \u0644\u0644\u0648\u064a\u0628"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11434","company_id":0,"name":"\u652f\u4ed8\u914d\u7f6e","url":"\/setting\/systemsetting\/assetpayment","sort":2,"is_menu":true,"pid":"11431","apis":"trade.payment.hfpay.status\ntrade.payment.setting.get\ntrade.payment.setting.set","icon":null,"is_show":true,"alias_name":"assetpayment","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u652f\u4ed8\u914d\u7f6e","en-CN":"Payment Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062f\u0641\u0639"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11435","company_id":0,"name":"\u77ed\u4fe1\u670d\u52a1","url":"\/setting\/systemsetting\/datamessage","sort":3,"is_menu":true,"pid":"11431","apis":"Promotions.sms.basic\nPromotions.sms.templates.list\nPromotions.sms.template.up\nPromotions.sms.sign.get\nPromotions.sms.sign.save\naliyunsms.status.get\naliyunsms.config.get\naliyunsms.scene.getList\naliyunsms.sign.getList\naliyunsms.tmpl.getList\naliyunsms.record.getList\naliyunsms.task.list","icon":null,"is_show":true,"alias_name":"datamessage","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u77ed\u4fe1\u670d\u52a1","en-CN":"SMS Service","ar-SA":"\u062e\u062f\u0645\u0629 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0646\u0635\u064a\u0629 (SMS)"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11436","company_id":0,"name":"\u5730\u56fe\u670d\u52a1","url":"\/setting\/systemsetting\/mapsetting","sort":4,"is_menu":true,"pid":"11431","apis":"third.map.setting.get","icon":null,"is_show":true,"alias_name":"mapsetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5730\u56fe\u670d\u52a1","en-CN":"mapsetting","ar-SA":"\u062e\u062f\u0645\u0629 \u0627\u0644\u062e\u0631\u0627\u0626\u0637"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11437","company_id":0,"name":"\u5f00\u7968\u914d\u7f6e","url":"\/setting\/systemsetting\/invoinceConfiguration","sort":4,"is_menu":true,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"invoinceConfiguration","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5f00\u7968\u914d\u7f6e","en-CN":"Invoice Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0641\u0648\u062a\u0631\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11438","company_id":0,"name":"\u5c0f\u7968\u6253\u5370","url":"\/setting\/systemsetting\/Yilianyun","sort":5,"is_menu":true,"pid":"11431","apis":"espier.printer.info\nespier.printer.shop.list\norder.delivervstaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"Yilianyun","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5c0f\u7968\u6253\u5370","en-CN":"Receipt Printing","ar-SA":"\u0637\u0628\u0627\u0639\u0629 \u0627\u0644\u0625\u064a\u0635\u0627\u0644\u0627\u062a"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11439","company_id":0,"name":"UGC\u5ba1\u6838\u914d\u7f6e","url":"\/setting\/systemsetting\/ugctpos","sort":6,"is_menu":true,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"ugctpos","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"UGC\u5ba1\u6838\u914d\u7f6e","en-CN":"UGC Review Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 (UGC)"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11440","company_id":0,"name":"\u5c0f\u7a0b\u5e8f\u7ba1\u7406","url":"\/setting\/systemsetting\/wxaindex","sort":7,"is_menu":true,"pid":"11431","apis":"wechat.bind.direct\nwechat.wxa.notice.templates","icon":null,"is_show":true,"alias_name":"wxaindex","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5c0f\u7a0b\u5e8f\u7ba1\u7406","en-CN":"Mini Program Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0645\u0635\u063a\u0631"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11441","company_id":0,"name":"\u6570\u636e\u5206\u6790","url":"\/setting\/systemsetting\/editdashboard","sort":7,"is_menu":false,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"editdashboard","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u6570\u636e\u5206\u6790","en-CN":"editdashboard","ar-SA":"\u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11442","company_id":0,"name":"\u5343\u4eba\u5343\u7801","url":"\/setting\/systemsetting\/editsourcemanagement","sort":7,"is_menu":false,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"editsourcemanagement","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5343\u4eba\u5343\u7801","en-CN":"editsourcemanagement","ar-SA":"\u0623\u0643\u0648\u0627\u062f \u0645\u062e\u0635\u0635\u0629 \u0644\u0643\u0644 \u0645\u0633\u062a\u062e\u062f\u0645 (\u0623\u0644\u0641 \u0643\u0648\u062f \u0644\u0623\u0644\u0641 \u0634\u062e\u0635)"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11443","company_id":0,"name":"\u6d88\u606f\u6a21\u677f","url":"\/setting\/systemsetting\/noticemessage","sort":7,"is_menu":false,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"noticemessage","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u6d88\u606f\u6a21\u677f","en-CN":"noticemessage","ar-SA":"\u0642\u0648\u0627\u0644\u0628 \u0627\u0644\u0631\u0633\u0627\u0626\u0644"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11444","company_id":0,"name":"\u516c\u4f17\u53f7\u6388\u6743","url":"\/setting\/systemsetting\/brand","sort":8,"is_menu":true,"pid":"11431","apis":"wechat.user.open\n","icon":null,"is_show":true,"alias_name":"brand","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u516c\u4f17\u53f7\u6388\u6743","en-CN":"Official Account Authorization","ar-SA":"\u062a\u0641\u0648\u064a\u0636 \u0627\u0644\u062d\u0633\u0627\u0628 \u0627\u0644\u0631\u0633\u0645\u064a (WeChat Official Account)"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11445","company_id":0,"name":"\u5c0f\u7a0b\u5e8f\u5ba2\u670d","url":"\/setting\/systemsetting\/wxappchat","sort":9,"is_menu":true,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"wxappchat","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5c0f\u7a0b\u5e8f\u5ba2\u670d","en-CN":"Mini Program CS","ar-SA":"\u062e\u062f\u0645\u0629 \u0639\u0645\u0644\u0627\u0621 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0645\u0635\u063a\u0631"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11446","company_id":0,"name":"\u4e00\u6d3d\u5ba2\u670d","url":"\/setting\/systemsetting\/echat","sort":9,"is_menu":true,"pid":"11431","apis":"im.echat.info\nim.echat.save","icon":null,"is_show":true,"alias_name":"EChat","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u4e00\u6d3d\u5ba2\u670d","en-CN":"Yiqia CS","ar-SA":"\u062e\u062f\u0645\u0629 \u0639\u0645\u0644\u0627\u0621 \u064a\u064a \u062a\u0634\u064a\u0627"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11447","company_id":0,"name":"\u7f8e\u6d3d\u5ba2\u670d","url":"\/setting\/systemsetting\/meiqia","sort":10,"is_menu":true,"pid":"11431","apis":"im.meiqia.info\nim.meiqia.save","icon":null,"is_show":true,"alias_name":"meiqia","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u7f8e\u6d3d\u5ba2\u670d","en-CN":"Meiqia CS","ar-SA":"\u062e\u062f\u0645\u0629 \u0639\u0645\u0644\u0627\u0621 \u0627\u0644\u0648\u0633\u0627\u0626\u0637"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11448","company_id":0,"name":"\u65fa\u5e97\u901a","url":"\/setting\/systemsetting\/wdtSetting","sort":11,"is_menu":true,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"wdtSetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u65fa\u5e97\u901a","en-CN":"Wangdiantong","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11449","company_id":0,"name":"\u805a\u6c34\u6f6d","url":"\/setting\/systemsetting\/jstSetting","sort":12,"is_menu":true,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"jstSetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u805a\u6c34\u6f6d","en-CN":"Jushuitan","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11450","company_id":0,"name":"\u5546\u6d3eERP","url":"\/setting\/systemsetting\/certificate","sort":13,"is_menu":true,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"certificate","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5546\u6d3eERP","en-CN":"Shopex ERP","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11451","company_id":0,"name":"\u57df\u540d\u8bbe\u7f6e","url":"\/setting\/systemsetting\/domain_setting","sort":14,"is_menu":true,"pid":"11431","apis":"companys.domain_setting.get","icon":null,"is_show":true,"alias_name":"domain_setting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u57df\u540d\u8bbe\u7f6e","en-CN":"Domain Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0646\u0637\u0627\u0642"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11452","company_id":0,"name":"\u8131\u654f\u6570\u636e\u7533\u8bf7","url":"\/setting\/systemsetting\/approve","sort":15,"is_menu":true,"pid":"11431","apis":"companys.datapass.list\ncompanys.datapass.apply","icon":null,"is_show":true,"alias_name":"approveDataPass","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u8131\u654f\u6570\u636e\u7533\u8bf7","en-CN":"Desensitized Data Application","ar-SA":"\u0637\u0644\u0628 \u0628\u064a\u0627\u0646\u0627\u062a \u0645\u0646\u0632\u0648\u0639\u0629 \u0627\u0644\u062d\u0633\u0627\u0633\u064a\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11453","company_id":0,"name":"\u8131\u654f\u7533\u8bf7\u5ba1\u6279","url":"\/setting\/systemsetting\/apply","sort":16,"is_menu":true,"pid":"11431","apis":"companys.datapass.log.list\ncompanys.datapass.log.list","icon":null,"is_show":true,"alias_name":"applyDataPass","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u8131\u654f\u7533\u8bf7\u5ba1\u6279","en-CN":"Desensitization Approval","ar-SA":"\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0639\u0644\u0649 \u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062d\u0633\u0627\u0633\u064a\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11454","company_id":0,"name":"\u5916\u94fe\u5c0f\u7a0b\u5e8f","url":"\/setting\/systemsetting\/extminilink","sort":17,"is_menu":true,"pid":"11431","apis":"wxexternalconfig.create\nwxexternalconfig.update\nwxexternalroutes.list\nwxexternalroutes.create\nwxexternalroutes.update\nwxexternalroutes.delete\nwxexternalconfig.delete\nwxexternalconfigroutes.list","icon":null,"is_show":true,"alias_name":"extminilink","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5916\u94fe\u5c0f\u7a0b\u5e8f","en-CN":"External Mini Program","ar-SA":"\u062a\u0637\u0628\u064a\u0642 \u0645\u0635\u063a\u0631 \u062e\u0627\u0631\u062c\u064a"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11455","company_id":0,"name":"\u8fbe\u6469CRM","url":"\/setting\/systemsetting\/damoCrm","sort":18,"is_menu":true,"pid":"11431","apis":"third.dmcrm.setting.get","icon":null,"is_show":true,"alias_name":"damoCrm","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u8fbe\u6469CRM","en-CN":"Damo CRM","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11456","company_id":0,"name":"\u914d\u9001\u8bbe\u7f6e","url":"\/setting\/delivery","sort":3,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"delivery","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u914d\u9001\u8bbe\u7f6e","en-CN":"Delivery Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0648\u0635\u064a\u0644"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11457","company_id":0,"name":"\u914d\u9001\u8bbe\u7f6e","url":"\/setting\/delivery\/logistics","sort":1,"is_menu":true,"pid":"11456","apis":"company.logistics.list \ncompany.logistics.create\ncompany.logistics.delete\ntrade.logistics.list\npickuplocation.list.get\ndatacube.deliverystaff.data\norder.deliverystaff.confirm\norder.deliverypackag.confirm\ncompany.dada.info\npickuplocation.create\npickuplocation.info.get\npickuplocation.update\npickuplocation.reldistributor\npickuplocation.delete\ncompany.dada.create","icon":null,"is_show":true,"alias_name":"logistics","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u914d\u9001\u8bbe\u7f6e","en-CN":"Delivery Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0648\u0635\u064a\u0644"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11458","company_id":0,"name":"\u8fd0\u8d39\u6a21\u677f","url":"\/setting\/delivery\/shippingtemplates","sort":2,"is_menu":true,"pid":"11456","apis":"espier.address.info\nshipping.templates.list\nshipping.templates.info\nshipping.templates.update\nshipping.templates.create\nshipping.templates.delete","icon":null,"is_show":true,"alias_name":"shippingtemplates","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u8fd0\u8d39\u6a21\u677f","en-CN":"Freight Template","ar-SA":"\u0646\u0645\u0648\u0630\u062c \u062a\u0643\u0644\u0641\u0629 \u0627\u0644\u0634\u062d\u0646"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11459","company_id":0,"name":"\u7269\u6d41\u67e5\u8be2\u914d\u7f6e","url":"\/setting\/delivery\/kdniao","sort":2,"is_menu":true,"pid":"11456","apis":"trade.kuaidi.setting.get\ntrade.kuaidi.setting.set\norder.delivervstaff.confirm\norder.deliverypackag.confirm\ntrade.sfbsp.setting.get\ntrade.sfbsp.setting.set","icon":null,"is_show":true,"alias_name":"kdniao","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u7269\u6d41\u67e5\u8be2\u914d\u7f6e","en-CN":"Logistics Query Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0633\u062a\u0639\u0644\u0627\u0645 \u0627\u0644\u0634\u062d\u0646\u0627\u062a"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11460","company_id":0,"name":"\u914d\u9001\u5458\u7ba1\u7406","url":"\/setting\/delivery\/selfdeliverystaff","sort":3,"is_menu":true,"pid":"11456","apis":"","icon":null,"is_show":true,"alias_name":"setting_staffself_deliverystaff","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u914d\u9001\u5458\u7ba1\u7406","en-CN":"Deliveryman Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0645\u0646\u062f\u0648\u0628\u064a \u0627\u0644\u062a\u0648\u0635\u064a\u0644"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11461","company_id":0,"name":"\u914d\u9001\u5458\u4e1a\u7ee9","url":"\/setting\/delivery\/deliverystaffstatistics","sort":4,"is_menu":true,"pid":"11456","apis":"datacube.deliverystaff.data\nmerchant.list\ndada.finance.info","icon":null,"is_show":true,"alias_name":"companydata_deliverystaffstatistics","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u914d\u9001\u5458\u4e1a\u7ee9","en-CN":"Deliveryman Performance","ar-SA":"\u0623\u062f\u0627\u0621 \u0645\u0646\u062f\u0648\u0628\u064a \u0627\u0644\u062a\u0648\u0635\u064a\u0644"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11462","company_id":0,"name":"\u8fbe\u8fbe\u8d26\u6237","url":"\/setting\/delivery\/dada","sort":6,"is_menu":true,"pid":"11456","apis":"","icon":null,"is_show":true,"alias_name":"dada","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u8fbe\u8fbe\u8d26\u6237","en-CN":"Dada Account","ar-SA":"\u062d\u0633\u0627\u0628 \u062f\u0627\u062f\u0627"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11463","company_id":0,"name":"\u7cfb\u7edf\u4fe1\u606f","url":"\/setting\/systeminfo","sort":4,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"systeminfo","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u7cfb\u7edf\u4fe1\u606f","en-CN":"System Information","ar-SA":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11464","company_id":0,"name":"\u64cd\u4f5c\u65e5\u5fd7","url":"\/setting\/systeminfo\/operatorlogs","sort":3,"is_menu":true,"pid":"11463","apis":"company.get.operatorlogs","icon":null,"is_show":true,"alias_name":"operator-logs","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u64cd\u4f5c\u65e5\u5fd7","en-CN":"Operation Log","ar-SA":"\u0633\u062c\u0644 \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a"},"level":3,"parent_name":"\u7cfb\u7edf\u4fe1\u606f","isChildrenMenu":false,"menu_type":["all"]}] \ No newline at end of file +[{"shopmenu_id":"11215","company_id":0,"name":"\u6982\u51b5","url":"\/","sort":1,"is_menu":true,"pid":"0","apis":"company.activate.info\nwechat.pre_auth_url\nwechat.authorizerInfo\nwechat.stats.userWeekSummary\ncompany.resources\nwechat.bind\ncompanys.setting\ncompany.real.statistics\ncompany.notice.statistics\ncompanys.ydleads.create\nselfhelp.form.add\nselfhelp.form.edit\nselfhelp.form.info\nselfhelp.form.delete\nselfhelp.template.add\nselfhelp.registrationActivity.info\nselfhelp.registrationActivity.delete\nselfhelp.registrationActivity.invalid\nselfhelp.physical.datelist\nmerchant.operator.update\noperator.update.data\noperator.select.distributor\norder.message.new","icon":"tachometer-alt-copy","is_show":true,"alias_name":"index","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6982\u51b5","en-CN":"index","ar-SA":"\u0644\u0648\u062d\u0629 \u0627\u0644\u062a\u062d\u0643\u0645 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629"},"level":1,"parent_name":"\u65e0","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11216","company_id":0,"name":"\u5546\u54c1","url":"\/entity","sort":1,"is_menu":true,"pid":"0","apis":"","icon":"shopping-bag-copy","is_show":true,"alias_name":"entity","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1","en-CN":"Rewards","ar-SA":"\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11217","company_id":0,"name":"\u5546\u54c1\u7ba1\u7406","url":"\/entity\/goods","sort":1,"is_menu":true,"pid":"11216","apis":"third.wdterp.setting.get\nthird.jushuitan.setting.get","icon":null,"is_show":true,"alias_name":"goods","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u7ba1\u7406","en-CN":"Rewards","ar-SA":"\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11218","company_id":0,"name":"\u81ea\u8425\u5546\u54c1","url":"\/entity\/goods\/goodsphysical","sort":1,"is_menu":true,"pid":"11217","apis":"goods.items.create\ngoods.items.templates_change\ngoods.items.category_change\ngoods.items.lists\ngoods.items.detail\ngoods.items.delete\ngoods.items.update\ngoods.items.distributiongoodswxacode\ngoods.items.warning_store\ngoods.category.lists\ngoods.category.get\ngoods.category.update\nshipping.templates.list\ncurrency.get.default\nespier.image.list\ndistributor.item.create\nespier.image.cat.children\ngoods.attributes.list\nwechat.material.upload\nwechat.material.list\ngoods.tag.list\ngoods.tag.rel\ngoods.status.upate\npopularize.config.get\ngoods.member.price\ngoods.store.upate\ngoods.export\ngoods.profit.info\ngoods.profit.save\ngoods.jishuitan.items.upload\ngoods.jushuitan.inventory.query\ngoods.sync.items\ngoods.isgift.upate\ngoods.createcategory.create\nespier.image.cat.edit\nthird.jushuitan.setting.get\nall.setting.get\nthird.wdterp.setting.get\npoint.member.rule.info\nespier.address.info\nespier.upload\nespier.oss.uploadToken.get\nespier.image.save\ngoods.attributes.list\ngoods.tag.list","icon":null,"is_show":true,"alias_name":"goodsphysical","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u81ea\u8425\u5546\u54c1","en-CN":"Self-operated Products","ar-SA":"\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0630\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u062a\u064a"},"level":3,"parent_name":"\u5546\u54c1\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11219","company_id":0,"name":"\u5546\u6237\u5546\u54c1","url":"\/entity\/goods\/goodsaudit","sort":2,"is_menu":true,"pid":"11217","apis":"goods.items.lists\ngoods.items.detail\ngoods.items.distributiongoodswxacode\ngoods.items.warning_store\ngoods.category.lists\nshipping.templates.list\ncurrency.get.default\nwechat.material.upload\nwechat.material.list\ngoods.tag.list\ngoods.items.audit","icon":null,"is_show":true,"alias_name":"goodsaudit","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u6237\u5546\u54c1","en-CN":"Merchant goods","ar-SA":"\u0633\u0650\u0644\u064e\u0639 \u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u5546\u54c1\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11220","company_id":0,"name":"\u95e8\u5e97\u5546\u54c1\u7ba1\u7406","url":"\/entity\/goods\/storeshopitemanagement","sort":3,"is_menu":true,"pid":"11217","apis":"distributor.item.exportlist\ndistributor.info\ndistributor.info","icon":null,"is_show":true,"alias_name":"storeshopitemanagement","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u95e8\u5e97\u5546\u54c1\u7ba1\u7406","en-CN":"Store Rewards Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u5546\u54c1\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11221","company_id":0,"name":"\u95e8\u5e97\u5546\u54c1\u66f4\u65b0","url":"\/entity\/goods\/exportstoreitems","sort":4,"is_menu":true,"pid":"11217","apis":"","icon":null,"is_show":true,"alias_name":"exportstoreitems","version":1,"disabled":false,"created":1774593231,"updated":1776059441,"name_lang":{"zh-CN":"\u95e8\u5e97\u5546\u54c1\u66f4\u65b0","en-CN":"Store Rewards Update","ar-SA":"\u062a\u062d\u062f\u064a\u062b \u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u5546\u54c1\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11222","company_id":0,"name":"\u5546\u54c1\u5206\u7c7b","url":"\/entity\/goodsgroup","sort":2,"is_menu":true,"pid":"11216","apis":"","icon":null,"is_show":true,"alias_name":"goodsgroup","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u5206\u7c7b","en-CN":"Rewards Category","ar-SA":"\u0641\u0626\u0629 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11223","company_id":0,"name":"\u7ba1\u7406\u5206\u7c7b","url":"\/entity\/goodsgroup\/goodsmaincategory","sort":1,"is_menu":true,"pid":"11222","apis":"goods.category.delete","icon":null,"is_show":true,"alias_name":"goodsmaincategory","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u7ba1\u7406\u5206\u7c7b","en-CN":"Category Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0641\u0626\u0627\u062a"},"level":3,"parent_name":"\u5546\u54c1\u5206\u7c7b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11224","company_id":0,"name":"\u9500\u552e\u5206\u7c7b","url":"\/entity\/goodsgroup\/goodscategory","sort":2,"is_menu":true,"pid":"11222","apis":"","icon":null,"is_show":true,"alias_name":"goodscategory","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u9500\u552e\u5206\u7c7b","en-CN":"Sales Category","ar-SA":"\u0641\u0626\u0629 \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a"},"level":3,"parent_name":"\u5546\u54c1\u5206\u7c7b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11225","company_id":0,"name":"\u5546\u54c1\u6807\u7b7e","url":"\/entity\/goodsgroup\/itemtags","sort":3,"is_menu":true,"pid":"11222","apis":null,"icon":null,"is_show":true,"alias_name":"itemtags","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u6807\u7b7e","en-CN":"Rewards Tag","ar-SA":"\u0648\u0633\u0648\u0645 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u5546\u54c1\u5206\u7c7b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11226","company_id":0,"name":"\u57fa\u7840\u914d\u7f6e","url":"\/entity\/goodsbase","sort":2,"is_menu":true,"pid":"11216","apis":"","icon":null,"is_show":true,"alias_name":"goodsbase","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u57fa\u7840\u914d\u7f6e","en-CN":"Basic Configuration","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629"},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11227","company_id":0,"name":"\u5546\u54c1\u89c4\u683c","url":"\/entity\/goodsbase\/goodsattributes","sort":3,"is_menu":true,"pid":"11226","apis":"goods.attributes.update\ngoods.attributes.delete","icon":null,"is_show":true,"alias_name":"goodsattributes","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u89c4\u683c","en-CN":"Rewards Specification","ar-SA":"\u0645\u0648\u0627\u0635\u0641\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u57fa\u7840\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11228","company_id":0,"name":"\u5546\u54c1\u54c1\u724c","url":"\/entity\/goodsbase\/goodsbrand","sort":4,"is_menu":true,"pid":"11226","apis":"goods.attributes.add","icon":null,"is_show":true,"alias_name":"goodsbrand","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u54c1\u724c","en-CN":"Rewards Brand","ar-SA":"\u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u062a\u062c\u0627\u0631\u064a\u0629"},"level":3,"parent_name":"\u57fa\u7840\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11229","company_id":0,"name":"\u5546\u54c1\u53c2\u6570","url":"\/entity\/goodsbase\/goodsparams","sort":5,"is_menu":true,"pid":"11226","apis":null,"icon":null,"is_show":true,"alias_name":"goodsparams","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u53c2\u6570","en-CN":"Rewards Parameter","ar-SA":"\u0645\u0639\u0627\u064a\u064a\u0631 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u57fa\u7840\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11230","company_id":0,"name":"\u8ba2\u5355","url":"\/order","sort":3,"is_menu":true,"pid":"0","apis":"datacube.deliverystaff.data\norder.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel","icon":"receipt","is_show":true,"alias_name":"order","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355","en-CN":"order","ar-SA":"\u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11231","company_id":0,"name":"\u8ba2\u5355\u7ba1\u7406","url":"\/order\/entitytrade","sort":1,"is_menu":true,"pid":"11230","apis":"order.writeoff.qr.set\norder.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel\norder.entitytrade.tradenormalorders\norder.entitytrade.tradenormalshoporders\norder.entitytrade.normalordersupload\norder.aftersales.aftersaleslist\norder.ordersetting.ordersettingdetail\norder.ordersetting.tradesetting\norder.ordersetting.aftersalesreason\norder.ordersetting.cartremind\norder.ordersetting.goodslimit","icon":null,"is_show":true,"alias_name":"entitytrade","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u7ba1\u7406","en-CN":"Order Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":2,"parent_name":"\u8ba2\u5355","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11232","company_id":0,"name":"\u8ba2\u5355\u5217\u8868","url":"\/order\/entitytrade\/tradenormalorders","sort":1,"is_menu":true,"pid":"11231","apis":"order.list.get\nsource.list\norder.info.get\norder.delivery\norder.list.export\nshops.lists\ndistributor.list\nmember.info\ntrade.logistics.list\nespier.image.del\norder.cancel.info\norder.delivery.update\norder.cancel\ninvoice.list.export\norder.writeoff.info.get\norder.writeoff.set\norder.process.log.get\norder.invoiced.invoiced\norder.delivery.details\norder.delivery.lists\norder.businessreceipt\nworkwechat.distributor.js.config\nespier.subdistrict.list.get\norder.remarks.update\norder.writeoff.qr.set\norder.process.log.get\norder.invoiced.invoiced\norder.delivery.details\norder.delivery.lists\norder.remarks.update\ndelivery.process.list\nworkwechat.distributor.js.config\norder.message.new\ncompany.real.statistics\norder.writeoff.qr.set\noperator.update.data\nespier.oss.uploadToken.get\norder.message.list\norder.businessreceipt\nespier.localimage.upload\nespier.image.save\norder.message.update\ncard.consume\nespier.subdistrict.list.get\noperator.select.distributor\naftersales.remark.update\nespier.oss.uploadToken.get\nespier.localimage.upload\nespier.image.save\nespier.address.info\ngoods.items.onsale.lists\ncompanys.operator.cartdata.scanadd\ncompanys.operator.cartdata.add\ncompanys.operator.cartdata.update\ncompanys.operator.cartdata.list\ncompanys.operator.cartdata.del\norder.checkout\norder.create\norder.payment\norder.payment.query\nuser.card.list\nmember.create\ncompanys.operator.cartdata.pending\ncompanys.operator.order.pending\ncompanys.operator.pending.fetch\ncompanys.operator.pending.delete\ncompanys.operator.pending.list\norder.markdown\norder.markdown.confirm\norder.writeoff.qr.set\norder.deliverystaff.confirm\ndatacube.deliverystaff.data\norder.deliverystaff.cancel\nall.setting.get\npresale.pickupcode.setting.get\naccount.list","icon":null,"is_show":true,"alias_name":"tradenormalorders","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u5217\u8868","en-CN":"Order List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":3,"parent_name":"\u8ba2\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11233","company_id":0,"name":"\u81ea\u8425\u8ba2\u5355","url":"\/order\/entitytrade\/marketingdistribution_orders","sort":2,"is_menu":true,"pid":"11231","apis":"source.list\norder.writeoff.qr.set","icon":null,"is_show":true,"alias_name":"marketingdistribution_orders","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u81ea\u8425\u8ba2\u5355","en-CN":"Direct Sales Orders","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a \u0627\u0644\u0645\u0628\u0627\u0634\u0631\u0629"},"level":3,"parent_name":"\u8ba2\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11234","company_id":0,"name":"\u81ea\u8425\u8ba2\u5355","url":"\/order\/entitytrade\/tradenormalshoporders","sort":2,"is_menu":true,"pid":"11231","apis":"order.cancel.info\norder.delivery.lists\norder.writeoff.qr.set\norder.writeoff.qr.set\ndatacube.deliverystaff.data\norder.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel","icon":null,"is_show":true,"alias_name":"tradenormalshoporders","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u81ea\u8425\u8ba2\u5355","en-CN":"tradenormalshoporders","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u062a\u064a"},"level":3,"parent_name":"\u8ba2\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11235","company_id":0,"name":"\u6279\u91cf\u53d1\u8d27","url":"\/order\/entitytrade\/normalordersupload","sort":6,"is_menu":true,"pid":"11231","apis":"espier.upload.list\norder.deliverystaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"normalordersupload","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6279\u91cf\u53d1\u8d27","en-CN":"Batch Shipping","ar-SA":"\u0627\u0644\u0634\u062d\u0646 \u0627\u0644\u062f\u0641\u0639\u064a"},"level":3,"parent_name":"\u8ba2\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11236","company_id":0,"name":"\u8ba2\u5355\u552e\u540e","url":"\/order\/aftersales","sort":2,"is_menu":true,"pid":"11230","apis":null,"icon":null,"is_show":true,"alias_name":"aftersales","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u552e\u540e","en-CN":"After-sales Service","ar-SA":"\u062e\u062f\u0645\u0629 \u0645\u0627 \u0628\u0639\u062f \u0627\u0644\u0628\u064a\u0639"},"level":2,"parent_name":"\u8ba2\u5355","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11237","company_id":0,"name":"\u552e\u540e\u5217\u8868","url":"\/order\/aftersales\/aftersaleslist","sort":1,"is_menu":true,"pid":"11236","apis":"aftersales.list\naftersales.info\naftersales.review\naftersales.logexport\naftersales.remind.get\naftersales.remind.set\naftersales.apply\norder.deliverystaff.confirm\norder.deliverypackag.confirm\ndatacube.deliverystaff.data\naftersales.sendback","icon":null,"is_show":true,"alias_name":"aftersaleslist","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u552e\u540e\u5217\u8868","en-CN":"After-sales List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0645\u0627 \u0628\u0639\u062f \u0627\u0644\u0628\u064a\u0639"},"level":3,"parent_name":"\u8ba2\u5355\u552e\u540e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11238","company_id":0,"name":"\u8ba2\u5355\u8bbe\u7f6e","url":"\/order\/ordersetting","sort":3,"is_menu":true,"pid":"11230","apis":null,"icon":null,"is_show":true,"alias_name":"ordersetting","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u8bbe\u7f6e","en-CN":"Order Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":2,"parent_name":"\u8ba2\u5355","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11239","company_id":0,"name":"\u8ba2\u5355\u8bbe\u7f6e","url":"\/order\/ordersetting\/ordersettingdetail","sort":1,"is_menu":true,"pid":"11238","apis":"orders.setting.get\nordersetting.set\norder.delivervstaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"ordersettingdetail","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8ba2\u5355\u8bbe\u7f6e","en-CN":"Order Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11240","company_id":0,"name":"\u793c\u54c1\u5305\u88c5","url":"\/order\/ordersetting\/tradesetting","sort":1,"is_menu":true,"pid":"11238","apis":"trade.setting.get\ntrade.setting.set\norder.delivervstaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"tradesetting","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u793c\u54c1\u5305\u88c5","en-CN":"Gift Wrapping","ar-SA":"\u062a\u063a\u0644\u064a\u0641 \u0627\u0644\u0647\u062f\u0627\u064a\u0627"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11241","company_id":0,"name":"\u552e\u540e\u539f\u56e0","url":"\/order\/ordersetting\/aftersalesreason","sort":1,"is_menu":true,"pid":"11238","apis":"aftersales.reason.list\naftersales.reason.save\norder.delivervstaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"aftersalesreason","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u552e\u540e\u539f\u56e0","en-CN":"Return Reasons","ar-SA":"\u0623\u0633\u0628\u0627\u0628 \u0627\u0644\u0625\u0631\u062c\u0627\u0639"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11242","company_id":0,"name":"\u8d2d\u7269\u63d0\u9192","url":"\/order\/ordersetting\/cartremind","sort":4,"is_menu":true,"pid":"11238","apis":"wechat.wxa.cartremind.setting.set\nwechat.wxa.cartremind.setting.get","icon":null,"is_show":true,"alias_name":"cartremind","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u8d2d\u7269\u63d0\u9192","en-CN":"Shopping Reminders","ar-SA":"\u062a\u0630\u0643\u064a\u0631\u0627\u062a \u0627\u0644\u062a\u0633\u0648\u0642"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11243","company_id":0,"name":"\u5546\u54c1\u9650\u8d2d","url":"\/order\/ordersetting\/goodslimit","sort":5,"is_menu":true,"pid":"11238","apis":"promotions.limit.list.get\npromotions.limit.create\npromotions.limit.info.get\npromotions.limit.cancel\npromotions.limit.update","icon":null,"is_show":true,"alias_name":"goodslimit","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u5546\u54c1\u9650\u8d2d","en-CN":"Purchase Limits","ar-SA":"\u062d\u062f\u0648\u062f \u0627\u0644\u0634\u0631\u0627\u0621"},"level":3,"parent_name":"\u8ba2\u5355\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11244","company_id":0,"name":"\u4f1a\u5458","url":"\/member","sort":4,"is_menu":true,"pid":"0","apis":"","icon":"crown","is_show":true,"alias_name":"member","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458","en-CN":"member","ar-SA":"\u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11245","company_id":0,"name":"\u4f1a\u5458\u7ba1\u7406","url":"\/member\/member","sort":0,"is_menu":true,"pid":"11244","apis":"","icon":null,"is_show":true,"alias_name":"memberlmana","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u7ba1\u7406","en-CN":"Member Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11246","company_id":0,"name":"\u4f1a\u5458\u5217\u8868","url":"\/member\/member\/memberlist","sort":1,"is_menu":true,"pid":"11245","apis":"member.subscribe.list\naliyunsms.status.get\npopularize.promoter.list.get\nmember.register.get\nthird.dmcrm.setting.get","icon":null,"is_show":true,"alias_name":"memberlist","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u5217\u8868","en-CN":"Member List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11247","company_id":0,"name":"\u6279\u91cf\u66f4\u65b0","url":"\/member\/member\/managecustomer","sort":1,"is_menu":true,"pid":"11245","apis":"espier.upload.list\nespier.upload\nespier.upload.error.export\nespier.upload.template.export","icon":null,"is_show":true,"alias_name":"managecustomer","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6279\u91cf\u66f4\u65b0","en-CN":"Batch Update","ar-SA":"\u062a\u062d\u062f\u064a\u062b \u062f\u0641\u0639\u064a"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11248","company_id":0,"name":"\u4f1a\u5458\u5bfc\u51fa","url":"\/member\/member\/memberlist","sort":1,"is_menu":false,"pid":"11245","apis":"member.export","icon":null,"is_show":true,"alias_name":"member-export","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u5bfc\u51fa","en-CN":"member-export","ar-SA":"\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11249","company_id":0,"name":"\u624b\u52a8\u5ef6\u671f\u4ed8\u8d39\u4f1a\u5458","url":"\/member\/member\/memberlist","sort":1,"is_menu":false,"pid":"11245","apis":"vipgrade.use.active.delay\nvipgrade.use.batch.active.delay\nvipgrade.use.list\nmember.upate.grade_id","icon":null,"is_show":true,"alias_name":"member-vip-delay","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u624b\u52a8\u5ef6\u671f\u4ed8\u8d39\u4f1a\u5458","en-CN":"member-vip-delay","ar-SA":"\u062a\u0645\u062f\u064a\u062f \u064a\u062f\u0648\u064a \u0644\u0644\u0639\u0636\u0648\u064a\u0629 \u0627\u0644\u0645\u062f\u0641\u0648\u0639\u0629"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11250","company_id":0,"name":"\u6dfb\u52a0\u6743\u76ca","url":"\/member\/member\/memberlist","sort":2,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\ngoods.items.lists\norder.rights.add","icon":null,"is_show":true,"alias_name":"member-add-rights","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6dfb\u52a0\u6743\u76ca","en-CN":"member-add-rights","ar-SA":"\u0625\u0636\u0627\u0641\u0629 \u0645\u0632\u0627\u064a\u0627"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11251","company_id":0,"name":"\u4f1a\u5458\u4fe1\u606f\u67e5\u770b","url":"\/member\/member\/memberlist","sort":2,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\npoint.member.list\ndistributor.list\nvipgrade.order.list\npoint.member.list\nworkwechat.rel.log\npoint.adjustment","icon":null,"is_show":true,"alias_name":"member-list-view","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u4fe1\u606f\u67e5\u770b","en-CN":"member-list-view","ar-SA":"\u0639\u0631\u0636 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0639\u0636\u0648"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11252","company_id":0,"name":"\u7fa4\u53d1\u4f18\u60e0\u5238","url":"\/member\/member\/memberlist","sort":4,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\npromotions.give.create\npromotions.give.list\npromotions.give.info\nmember.tag.rel\ngoods.items.lists\nmember.batch.operating","icon":null,"is_show":true,"alias_name":"member-send-coupons","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u7fa4\u53d1\u4f18\u60e0\u5238","en-CN":"member-send-coupons","ar-SA":"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0642\u0633\u0627\u0626\u0645 \u062c\u0645\u0627\u0639\u064a\u064b\u0627"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11253","company_id":0,"name":"\u7fa4\u53d1\u77ed\u4fe1","url":"\/member\/member\/memberlist","sort":5,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\nmember.smssend","icon":null,"is_show":true,"alias_name":"member-send-sms","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u7fa4\u53d1\u77ed\u4fe1","en-CN":"member-send-sms","ar-SA":"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0646\u0635\u064a\u0629 \u062c\u0645\u0627\u0639\u064a\u064b\u0627"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11254","company_id":0,"name":"\u6253\u6807\u7b7e","url":"\/member\/member\/memberlist","sort":6,"is_menu":false,"pid":"11245","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\nmember.tag.rel\nmember.tag.del\nmember.batch.operating","icon":null,"is_show":true,"alias_name":"member-tag","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u6253\u6807\u7b7e","en-CN":"member-tag","ar-SA":"\u0648\u0636\u0639 \u0627\u0644\u0648\u0633\u0648\u0645"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11255","company_id":0,"name":"\u4f1a\u5458\u624b\u673a\u53f7\u4fee\u6539","url":"\/member\/member\/memberlist","sort":7,"is_menu":false,"pid":"11245","apis":"member.upate.mobile","icon":null,"is_show":true,"alias_name":"member-modify-phone-number","version":1,"disabled":false,"created":1774593231,"updated":1774593231,"name_lang":{"zh-CN":"\u4f1a\u5458\u624b\u673a\u53f7\u4fee\u6539","en-CN":"member-modify-phone-number","ar-SA":"\u062a\u0639\u062f\u064a\u0644 \u0631\u0642\u0645 \u0647\u0627\u062a\u0641 \u0627\u0644\u0639\u0636\u0648"},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11256","company_id":0,"name":"\u4f1a\u5458\u6743\u76ca","url":"\/member\/card","sort":1,"is_menu":true,"pid":"11244","apis":"","icon":null,"is_show":true,"alias_name":"card","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u6743\u76ca","en-CN":"Membership Benefits","ar-SA":"\u0645\u0632\u0627\u064a\u0627 \u0627\u0644\u0639\u0636\u0648\u064a\u0629"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11257","company_id":0,"name":"\u4f1a\u5458\u7b49\u7ea7","url":"\/member\/card\/managecard","sort":0,"is_menu":true,"pid":"11256","apis":"membercard.setting\nmembercard.info\nmembercard.grade.add\nmembercard.default.grade\nmembercard.grade.list\nmembercard.vipgrade.add\nmembercard.vipgrade.list\nvipgrade.use.list","icon":null,"is_show":true,"alias_name":"managecard","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u7b49\u7ea7","en-CN":"Membership Tiers","ar-SA":"\u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u0639\u0636\u0648\u064a\u0629"},"level":3,"parent_name":"\u4f1a\u5458\u6743\u76ca","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11258","company_id":0,"name":"\u4ed8\u8d39\u8bb0\u5f55","url":"\/member\/card\/managecardorder","sort":1,"is_menu":true,"pid":"11256","apis":"vipgrade.order.list","icon":null,"is_show":true,"alias_name":"managecardorder","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4ed8\u8d39\u8bb0\u5f55","en-CN":"Payment Records","ar-SA":"\u0633\u062c\u0644\u0627\u062a \u0627\u0644\u062f\u0641\u0639"},"level":3,"parent_name":"\u4f1a\u5458\u6743\u76ca","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11259","company_id":0,"name":"\u79ef\u5206\u89c4\u5219","url":"\/member\/card\/pointrule","sort":1,"is_menu":true,"pid":"11256","apis":"point.member.rule.info\npoint.member.rule.save","icon":null,"is_show":true,"alias_name":"pointrule","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u79ef\u5206\u89c4\u5219","en-CN":"Points Rules","ar-SA":"\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0646\u0642\u0627\u0637"},"level":3,"parent_name":"\u4f1a\u5458\u6743\u76ca","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11260","company_id":0,"name":"\u79ef\u5206\u6d41\u6c34","url":"\/member\/card\/pointoverview","sort":1,"is_menu":true,"pid":"11256","apis":"point.member.list\nmember.pointcount.index","icon":null,"is_show":true,"alias_name":"pointoverview","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u79ef\u5206\u6d41\u6c34","en-CN":"Points Transaction History","ar-SA":"\u0633\u062c\u0644 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u0627\u0644\u0646\u0642\u0627\u0637"},"level":3,"parent_name":"\u4f1a\u5458\u6743\u76ca","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11261","company_id":0,"name":"\u6807\u7b7e\u7ba1\u7406","url":"\/member\/tagsmanage","sort":1,"is_menu":true,"pid":"11244","apis":null,"icon":null,"is_show":true,"alias_name":"tagsmanage","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u6807\u7b7e\u7ba1\u7406","en-CN":"Tag Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11262","company_id":0,"name":"\u5ba2\u6237\u6807\u7b7e","url":"\/member\/tagsmanage\/customerTags","sort":1,"is_menu":true,"pid":"11261","apis":null,"icon":null,"is_show":true,"alias_name":"customerTags","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5ba2\u6237\u6807\u7b7e","en-CN":"customer tag","ar-SA":"\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0639\u0645\u064a\u0644"},"level":3,"parent_name":"\u6807\u7b7e\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11263","company_id":0,"name":"\u4eba\u7fa4\u6253\u6807","url":"\/member\/tagsmanage\/crowdMarking","sort":1,"is_menu":true,"pid":"11261","apis":null,"icon":null,"is_show":true,"alias_name":"crowdMarking","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4eba\u7fa4\u6253\u6807","en-CN":"crowd labeling","ar-SA":"\u0648\u0636\u0639 \u0639\u0644\u0627\u0645\u0627\u062a \u0639\u0644\u0649 \u0627\u0644\u062d\u0634\u0648\u062f"},"level":3,"parent_name":"\u6807\u7b7e\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11264","company_id":0,"name":"\u4f1a\u5458\u89e6\u8fbe","url":"\/member\/membertouch","sort":2,"is_menu":true,"pid":"11244","apis":"member.subscribe.list","icon":null,"is_show":true,"alias_name":"membertouch","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u89e6\u8fbe","en-CN":"Member Engagement","ar-SA":"\u062a\u0641\u0627\u0639\u0644 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11265","company_id":0,"name":"\u7fa4\u53d1\u77ed\u4fe1","url":"\/member\/membertouch\/smssend","sort":1,"is_menu":true,"pid":"11264","apis":null,"icon":null,"is_show":true,"alias_name":"smssend","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u7fa4\u53d1\u77ed\u4fe1","en-CN":"Bulk SMS","ar-SA":"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0646\u0635\u064a\u0629 \u062c\u0645\u0627\u0639\u064a\u064b\u0627"},"level":3,"parent_name":"\u4f1a\u5458\u89e6\u8fbe","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11266","company_id":0,"name":"\u5230\u8d27\u901a\u77e5","url":"\/member\/membertouch\/arrivalnotice","sort":2,"is_menu":true,"pid":"11264","apis":null,"icon":null,"is_show":true,"alias_name":"arrivalnotice","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5230\u8d27\u901a\u77e5","en-CN":"Arrival Notifications","ar-SA":"\u0625\u0634\u0639\u0627\u0631\u0627\u062a \u0627\u0644\u0648\u0635\u0648\u0644"},"level":3,"parent_name":"\u4f1a\u5458\u89e6\u8fbe","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11267","company_id":0,"name":"\u4f1a\u5458\u8bbe\u7f6e","url":"\/member\/membersetting","sort":3,"is_menu":true,"pid":"11244","apis":"","icon":null,"is_show":true,"alias_name":"membersetting","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u8bbe\u7f6e","en-CN":"Member Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11268","company_id":0,"name":"\u6ce8\u518c\u914d\u7f6e","url":"\/member\/membersetting\/Manageinfomation","sort":1,"is_menu":true,"pid":"11267","apis":"member.register.set\nmember.register.get\nespier.config.request_field_setting.get\nespier.config.request_fields.get","icon":null,"is_show":true,"alias_name":"manageinfomation","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u6ce8\u518c\u914d\u7f6e","en-CN":"Registration Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0633\u062c\u064a\u0644"},"level":3,"parent_name":"\u4f1a\u5458\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11269","company_id":0,"name":"\u6ce8\u9500\u914d\u7f6e","url":"\/member\/membersetting\/closeAccount","sort":2,"is_menu":true,"pid":"11267","apis":"shops.protocol.put\nshops.protocol.get","icon":null,"is_show":true,"alias_name":"closeAccount","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u6ce8\u9500\u914d\u7f6e","en-CN":"Cancellation Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0625\u0644\u063a\u0627\u0621"},"level":3,"parent_name":"\u4f1a\u5458\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11270","company_id":0,"name":"\u4fe1\u4efb\u767b\u5f55","url":"\/member\/membersetting\/trustlogin","sort":3,"is_menu":true,"pid":"11267","apis":"member.trustlogin.list\nmember.trustlogin.setting","icon":null,"is_show":true,"alias_name":"trustlogin","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4fe1\u4efb\u767b\u5f55","en-CN":"Trusted Login","ar-SA":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0627\u0644\u0645\u0648\u062b\u0648\u0642"},"level":3,"parent_name":"\u4f1a\u5458\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11271","company_id":0,"name":"\u4f1a\u5458\u767d\u540d\u5355","url":"\/member\/whitelistlist","sort":4,"is_menu":true,"pid":"11244","apis":"member.whitelist.list","icon":null,"is_show":true,"alias_name":"whitelistlist","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f1a\u5458\u767d\u540d\u5355","en-CN":"Member Whitelist","ar-SA":"\u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0628\u064a\u0636\u0627\u0621 \u0644\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11272","company_id":0,"name":"\u767d\u540d\u5355\u5bfc\u5165","url":"\/member\/whitelistuploade","sort":5,"is_menu":true,"pid":"11244","apis":null,"icon":null,"is_show":true,"alias_name":"whitelistuploade","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u767d\u540d\u5355\u5bfc\u5165","en-CN":"Import Whitelist","ar-SA":"\u0627\u0633\u062a\u064a\u0631\u0627\u062f \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0628\u064a\u0636\u0627\u0621"},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11273","company_id":0,"name":"\u5546\u6237","url":"\/sellers","sort":5,"is_menu":true,"pid":"0","apis":"","icon":"store-alt-copy","is_show":true,"alias_name":"sellers","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u6237","en-CN":"sellers","ar-SA":"\u0627\u0644\u062a\u0627\u062c\u0631"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"11274","company_id":0,"name":"\u9500\u552e\u7ec4\u7ec7","url":"\/sellers\/salesorganization","sort":0,"is_menu":true,"pid":"11273","apis":"","icon":null,"is_show":true,"alias_name":"salesorganization","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u9500\u552e\u7ec4\u7ec7","en-CN":"salesorganization","ar-SA":"\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0628\u064a\u0639\u0627\u062a"},"level":2,"parent_name":"\u5546\u6237","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"11275","company_id":0,"name":"\u5546\u6237","url":"\/sellers\/salesorganization\/list","sort":1,"is_menu":true,"pid":"11274","apis":"merchant.list\nmerchant.visibletype.list\nmerchant.detail.get\nmerchant.disabled.update\nmerchant.audit.goods.update\nmerchant.info.get","icon":null,"is_show":true,"alias_name":"storemanager","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u6237","en-CN":"storemanager","ar-SA":"\u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u9500\u552e\u7ec4\u7ec7","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11276","company_id":0,"name":"\u5e97\u94fa\u7ba1\u7406","url":"\/sellers\/storemanager","sort":1,"is_menu":true,"pid":"11273","apis":"","icon":null,"is_show":true,"alias_name":"sellersmanager","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa\u7ba1\u7406","en-CN":"sellersmanager","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u062a\u0627\u062c\u0631"},"level":2,"parent_name":"\u5546\u6237","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"11277","company_id":0,"name":"\u5165\u9a7b\u5e97\u94fa","url":"\/sellers\/storemanager\/marketingdistributor","sort":2,"is_menu":true,"pid":"11276","apis":"distributor.list\ndistributor.create\ndistributor.edit\ndistributor.item.list\ndistributor.wxacode\ndistributor.get.shop\ndistributor.item.update\ndistributor.default.set\ndistributor.create\ndistributor.item.delete\ngoods.items.distributiongoodswxacode\ncurrency.get.default\ndistributor.info\ndistributor.tag.list\npagestemplate.lists\npagestemplateset.getInfo\npagestemplate.detail\npagestemplate.modifyStatus\npagestemplate.add\npagestemplate.edit\npagestemplate.copy\npagestemplate.delete\nhfpay.ledgerconfig.index\ncompany.dada.info\ncompany.regionauth.list\nespier.image.cat.children\norder.writeoff.qr.set\ntrade.payment.open.status.get","icon":null,"is_show":true,"alias_name":"marketingsellers","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5165\u9a7b\u5e97\u94fa","en-CN":"marketingsellers","ar-SA":"\u0645\u062a\u0627\u062c\u0631 \u0627\u0644\u0627\u0646\u0636\u0645\u0627\u0645"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11278","company_id":0,"name":"\u5165\u9a7b\u5ba1\u6838","url":"\/sellers\/storemanager\/application","sort":3,"is_menu":true,"pid":"11276","apis":"merchant.settlement.apply.list\nmerchant.settlement.apply.detail\nmerchant.settlement.apply.audit","icon":null,"is_show":true,"alias_name":"storemanager_application","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5165\u9a7b\u5ba1\u6838","en-CN":"storemanager_application","ar-SA":"\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0627\u0646\u0636\u0645\u0627\u0645"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11279","company_id":0,"name":"\u9000\u8d27\u5730\u5740","url":"\/sellers\/storemanager\/distributoraftersalesaddress","sort":4,"is_menu":true,"pid":"11276","apis":"espier.address.info\nespier.address.info\nwechat.wxa.customizepage.info","icon":null,"is_show":true,"alias_name":"distributoraftersalesaddress1","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u9000\u8d27\u5730\u5740","en-CN":"distributoraftersalesaddress1","ar-SA":"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0625\u0631\u062c\u0627\u0639"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11280","company_id":0,"name":"\u5e97\u94fa\u6807\u7b7e","url":"\/sellers\/storemanager\/distributortags","sort":5,"is_menu":true,"pid":"11276","apis":"distributor.tag.add\ndistributor.tag.update\ndistributor.tag.get\ndistributor.tag.get\ndistributor.tag.delete","icon":null,"is_show":true,"alias_name":"Sellerstags","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa\u6807\u7b7e","en-CN":"Sellerstags","ar-SA":"\u0648\u0633\u0648\u0645 \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11467","company_id":0,"name":"\u95e8\u5e97\u5206\u7c7b","url":"\/sellers\/storemanager\/storecategory","sort":6,"is_menu":true,"pid":"11276","apis":null,"icon":null,"is_show":true,"alias_name":"storecategory","version":1,"disabled":false,"created":1774926717,"updated":1774926758,"name_lang":{"zh-CN":"\u95e8\u5e97\u5206\u7c7b","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11466","company_id":0,"name":"\u9644\u8fd1\u95e8\u5e97\u4fe1\u606f","url":"\/sellers\/storemanager\/nearbystoreinfo","sort":7,"is_menu":true,"pid":"11276","apis":null,"icon":null,"is_show":true,"alias_name":"nearbystoreinfo","version":1,"disabled":false,"created":1774926240,"updated":1774926764,"name_lang":{"zh-CN":"\u9644\u8fd1\u95e8\u5e97\u4fe1\u606f","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11281","company_id":0,"name":"\u5546\u6237\u8bbe\u7f6e","url":"\/sellers\/salesetting","sort":2,"is_menu":true,"pid":"11273","apis":null,"icon":null,"is_show":true,"alias_name":"salesetting","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u6237\u8bbe\u7f6e","en-CN":"salesetting","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0627\u062c\u0631"},"level":2,"parent_name":"\u5546\u6237","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"11282","company_id":0,"name":"\u5546\u6237\u7c7b\u76ee","url":"\/sellers\/salesetting\/setting","sort":1,"is_menu":true,"pid":"11281","apis":"merchant.type.list\nmerchant.type.creat\nmerchant.type.update\nmerchant.type.delete\nmerchant.basesetting.get\nmerchant.basesetting.save","icon":null,"is_show":true,"alias_name":"storemanager_setting","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u6237\u7c7b\u76ee","en-CN":"storemanager_setting","ar-SA":"\u0641\u0626\u0627\u062a \u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u5546\u6237\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11283","company_id":0,"name":"\u5e97\u94fa","url":"\/store","sort":5,"is_menu":true,"pid":"0","apis":"hfpay.ledgerconfig.index","icon":"store-alt-copy","is_show":true,"alias_name":"store","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa","en-CN":"store","ar-SA":"\u0627\u0644\u0645\u062a\u0627\u062c\u0631"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["standard"]},{"shopmenu_id":"11284","company_id":0,"name":"\u5e97\u94fa\u7ba1\u7406","url":"\/store\/storemanager","sort":2,"is_menu":true,"pid":"11283","apis":"hfpay.ledgerconfig.index\norder.writeoff.qr.set\norders.setting.get\ntrade.payment.open.status.get","icon":null,"is_show":true,"alias_name":"storemanager","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa\u7ba1\u7406","en-CN":"Store Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u062a\u0627\u062c\u0631"},"level":2,"parent_name":"\u5e97\u94fa","isChildrenMenu":true,"menu_type":["standard"]},{"shopmenu_id":"11285","company_id":0,"name":"\u81ea\u8425\u95e8\u5e97","url":"\/store\/storemanager\/marketingdistributor","sort":0,"is_menu":true,"pid":"11284","apis":"distributor.list\ndistributor.create\ndistributor.edit\ndistributor.item.list\ndistributor.wxacode\ndistributor.get.shop\ndistributor.item.update\ndistributor.default.set\ndistributor.create\ndistributor.item.delete\ngoods.items.distributiongoodswxacode\ncurrency.get.default\ndistributor.info\ndistributor.tag.list\npagestemplate.lists\npagestemplateset.getInfo\npagestemplate.detail\npagestemplate.modifyStatus\npagestemplate.edit\npagestemplate.add\npagestemplate.delete\npagestemplate.copy\ndistribution.distance.get\ndistribution.distance.save\ncompany.regionauth.list\nhfpay.enterapply.opensplit\nhfpay.ledgerconfig.index\ncompany.dada.info\nwechat.material.list\nespier.oss.uploadToken.get\nespier.image.save\nespier.image.list\ndistributor.aftersales.list\norder.writeoff.qr.set\norders.setting.get \ntrade.payment.open.status.get","icon":null,"is_show":true,"alias_name":"marketingdistributor","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u81ea\u8425\u95e8\u5e97","en-CN":"Self-operated Stores","ar-SA":"\u0627\u0644\u0645\u062a\u0627\u062c\u0631 \u0630\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0630\u0627\u062a\u064a"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11286","company_id":0,"name":"\u5e97\u94fa\u767d\u540d\u5355","url":"\/store\/storemanager\/storewhitelist","sort":1,"is_menu":true,"pid":"11284","apis":null,"icon":null,"is_show":true,"alias_name":"storewhitelist","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5e97\u94fa\u767d\u540d\u5355","en-CN":"Store Whitelist","ar-SA":"\u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0628\u064a\u0636\u0627\u0621 \u0644\u0644\u0645\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11287","company_id":0,"name":"\u8fdb\u5e97\u89c4\u5219","url":"\/store\/storemanager\/storerules","sort":1,"is_menu":true,"pid":"11284","apis":"wechat.wxa.customizepage.info","icon":null,"is_show":true,"alias_name":"storerules","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u8fdb\u5e97\u89c4\u5219","en-CN":"Store Entry Rules","ar-SA":"\u0642\u0648\u0627\u0639\u062f \u0627\u0646\u0636\u0645\u0627\u0645 \u0627\u0644\u0645\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11465","company_id":0,"name":"\u95e8\u5e97\u5206\u7c7b","url":"\/store\/storemanager\/storecategory","sort":1,"is_menu":true,"pid":"11284","apis":null,"icon":null,"is_show":true,"alias_name":"storecategory","version":1,"disabled":false,"created":1774851131,"updated":1774851131,"name_lang":{"zh-CN":"\u95e8\u5e97\u5206\u7c7b","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11288","company_id":0,"name":"\u9000\u8d27\u5730\u5740","url":"\/store\/storemanager\/distributoraftersalesaddress","sort":3,"is_menu":true,"pid":"11284","apis":"espier.address.info","icon":null,"is_show":true,"alias_name":"distributoraftersalesaddress","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u9000\u8d27\u5730\u5740","en-CN":"Return Address","ar-SA":"\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0625\u0631\u062c\u0627\u0639"},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11289","company_id":0,"name":"\u9644\u8fd1\u95e8\u5e97\u4fe1\u606f","url":"\/store\/storemanager\/nearbystoreinfo","sort":4,"is_menu":true,"pid":"11284","apis":null,"icon":null,"is_show":true,"alias_name":"nearbystoreinfo","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u9644\u8fd1\u95e8\u5e97\u4fe1\u606f","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u5e97\u94fa\u7ba1\u7406","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"11290","company_id":0,"name":"\u4f9b\u5e94","url":"\/supply","sort":6,"is_menu":true,"pid":"0","apis":"","icon":"box","is_show":true,"alias_name":"supply","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f9b\u5e94","en-CN":"supply","ar-SA":"\u0627\u0644\u0634\u0631\u0643\u0627\u0621 \u0627\u0644\u062e\u0627\u0631\u062c\u064a\u0648\u0646"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11291","company_id":0,"name":"\u4f9b\u5e94\u5546\u5546\u54c1","url":"\/supply\/supplygoods","sort":1,"is_menu":true,"pid":"11290","apis":null,"icon":null,"is_show":true,"alias_name":"supplygoods","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u5546\u54c1","en-CN":"Partner Rewards","ar-SA":"\u0645\u0643\u0627\u0641\u0622\u062a \u0627\u0644\u0634\u0631\u064a\u0643"},"level":2,"parent_name":"\u4f9b\u5e94","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11292","company_id":0,"name":"\u5546\u54c1\u7ba1\u7406","url":"\/supply\/supplygoods\/supplier_goods_list","sort":1,"is_menu":true,"pid":"11291","apis":"","icon":null,"is_show":true,"alias_name":"supplier_goods_list","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u54c1\u7ba1\u7406","en-CN":"Rewards Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0643\u0627\u0641\u0622\u062a"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u5546\u54c1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11293","company_id":0,"name":"\u5546\u54c1\u5ba1\u6838","url":"\/supply\/supplygoods\/suppliergoods","sort":2,"is_menu":true,"pid":"11291","apis":"supplier.batch_review_items","icon":null,"is_show":true,"alias_name":"goods_suppliergoods","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u5546\u54c1\u5ba1\u6838","en-CN":"Rewards Review","ar-SA":"\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u0643\u0627\u0641\u0622\u062a"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u5546\u54c1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11294","company_id":0,"name":"\u4f9b\u5e94\u5546\u7ba1\u7406","url":"\/supply\/supplymanage","sort":2,"is_menu":true,"pid":"11290","apis":null,"icon":null,"is_show":true,"alias_name":"supplymanage","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u7ba1\u7406","en-CN":"Partner Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0634\u0631\u0643\u0627\u0621"},"level":2,"parent_name":"\u4f9b\u5e94","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11295","company_id":0,"name":"\u4f9b\u5e94\u5546\u5217\u8868","url":"\/supply\/supplymanage\/supplier_list","sort":1,"is_menu":true,"pid":"11294","apis":"supplier.get_supplier_list ","icon":null,"is_show":true,"alias_name":"supplier_list","version":1,"disabled":false,"created":1774593232,"updated":1774593232,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u5217\u8868","en-CN":"Partner List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0634\u0631\u0643\u0627\u0621"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11296","company_id":0,"name":"\u4f9b\u5e94\u5546\u8d26\u53f7","url":"\/supply\/supplymanage\/supplier","sort":2,"is_menu":true,"pid":"11294","apis":null,"icon":null,"is_show":true,"alias_name":"supplier","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u8d26\u53f7","en-CN":"Partner Accounts","ar-SA":"\u062d\u0633\u0627\u0628\u0627\u062a \u0627\u0644\u0634\u0631\u0643\u0627\u0621"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11297","company_id":0,"name":"\u8425\u9500","url":"\/marketing","sort":6,"is_menu":true,"pid":"0","apis":"goods.sku.lists\ngoods.category.lists\ngoods.tag.list\ngoods.attributes.list\nmembercard.vipgrade.list\nwechat.wxa.template.list","icon":"tag","is_show":true,"alias_name":"marketing","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8425\u9500","en-CN":"marketing","ar-SA":"\u0627\u0644\u062d\u0645\u0644\u0627\u062a \u0627\u0644\u062a\u0633\u0648\u064a\u0642\u064a\u0629"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11298","company_id":0,"name":"\u5361\u5238","url":"\/marketing\/coupon","sort":1,"is_menu":true,"pid":"11297","apis":"wechat.wxa.template.list\ndistributor.easy.list","icon":null,"is_show":true,"alias_name":"coupon","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5361\u5238","en-CN":"Coupons","ar-SA":"\u0627\u0644\u0642\u0633\u0627\u0626\u0645"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11299","company_id":0,"name":"\u5238\u7ba1\u7406","url":"\/marketing\/coupon\/membermarketing","sort":0,"is_menu":true,"pid":"11298","apis":"card.list\ncard.create\ncard.delete\ncard.update\ncard.get\ncard.user.list\nshops.lists\ncard.detail.list\nwechat.material.list\nwechat.material.upload\ncurrency.get.default\ncard.store\ndistributor.easy.list\nwechat.wxa.template.list\ndistributor.easy.list","icon":null,"is_show":true,"alias_name":"membermarketing","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5238\u7ba1\u7406","en-CN":"Coupon Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0642\u0633\u0627\u0626\u0645"},"level":3,"parent_name":"\u5361\u5238","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11300","company_id":0,"name":"\u5238\u5305\u7ba1\u7406","url":"\/marketing\/coupon\/couponspackage","sort":1,"is_menu":true,"pid":"11298","apis":"voucher.package.list","icon":null,"is_show":true,"alias_name":"couponspackage","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5238\u5305\u7ba1\u7406","en-CN":"Coupon Package Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u062d\u0632\u0645 \u0627\u0644\u0642\u0633\u0627\u0626\u0645"},"level":3,"parent_name":"\u5361\u5238","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11301","company_id":0,"name":"\u53d1\u5238\u8bb0\u5f55","url":"\/marketing\/coupon\/coupongive","sort":2,"is_menu":true,"pid":"11298","apis":"promotions.give.list\npromotions.give.info","icon":null,"is_show":true,"alias_name":"coupongive","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u53d1\u5238\u8bb0\u5f55","en-CN":"Coupon Issuance Record","ar-SA":"\u0633\u062c\u0644 \u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0642\u0633\u0627\u0626\u0645"},"level":3,"parent_name":"\u5361\u5238","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11302","company_id":0,"name":"\u7fa4\u53d1\u4f18\u60e0\u5238","url":"\/marketing\/coupon\/couponsend","sort":3,"is_menu":false,"pid":"11298","apis":"member.list\nmember.operate.logs\nmember.info\neffectiveCard.list\npromotions.give.create\npromotions.give.list\npromotions.give.info\nmember.tag.list\nmember.tag.rel\nmembercard.grade.list\norder.rights.list.get\nshops.lists\norder.rights.transfer.list\ngoods.items.lists\norder.list.get\norder.info.get\ndeposit.trades\nmember.batch.operating","icon":null,"is_show":true,"alias_name":"couponsend","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u7fa4\u53d1\u4f18\u60e0\u5238","en-CN":"couponsend","ar-SA":"\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0642\u0633\u0627\u0626\u0645 \u0628\u0634\u0643\u0644 \u062c\u0645\u0627\u0639\u064a"},"level":3,"parent_name":"\u5361\u5238","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11303","company_id":0,"name":"\u4fc3\u9500","url":"\/marketing\/promotion","sort":2,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"promotion","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4fc3\u9500","en-CN":" Promotions","ar-SA":"\u0627\u0644\u0639\u0631\u0648\u0636 \u0627\u0644\u062a\u0631\u0648\u064a\u062c\u064a\u0629"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11304","company_id":0,"name":"\u6ee1\u6298","url":"\/marketing\/promotion\/marketingsfulldiscount","sort":1,"is_menu":true,"pid":"11303","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ncurrency.get.default\ngoods.category.lists\ngoods.tag.list\ngoods.attributes.list\nmembercard.vipgrade.list\ndistributor.easy.list","icon":null,"is_show":true,"alias_name":"marketingsfulldiscount","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u6ee1\u6298","en-CN":"Spend and Save","ar-SA":"\u0623\u0646\u0641\u0642 \u0648\u0648\u0641\u0651\u0631"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11305","company_id":0,"name":"\u6ee1\u51cf","url":"\/marketing\/promotion\/Marketingsfullminus","sort":2,"is_menu":true,"pid":"11303","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ncurrency.get.default\ngoods.category.lists\ngoods.tag.list\ngoods.attributes.list\nmembercard.vipgrade.list","icon":null,"is_show":true,"alias_name":"Marketingsfullminus","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u6ee1\u51cf","en-CN":"Spend-based Discount","ar-SA":"\u062e\u0635\u0645 \u0639\u0644\u0649 \u0623\u0633\u0627\u0633 \u0627\u0644\u0625\u0646\u0641\u0627\u0642"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11306","company_id":0,"name":"\u6ee1\u8d60","url":"\/marketing\/promotion\/Marketingsfullgift","sort":3,"is_menu":true,"pid":"11303","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ngoods.category.lists\ngoods.tag.list\ngoods.attributes.list\nmembercard.vipgrade.list","icon":null,"is_show":true,"alias_name":"Marketingsfullgift","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u6ee1\u8d60","en-CN":"Gift with Purchase","ar-SA":"\u0647\u062f\u064a\u0629 \u0645\u0639 \u0627\u0644\u0634\u0631\u0627\u0621"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11307","company_id":0,"name":"\u9650\u65f6\u7279\u60e0","url":"\/marketing\/promotion\/limitedtimesale","sort":4,"is_menu":true,"pid":"11303","apis":"Promotions.seckill.add\nPromotions.seckill.delete\nPromotions.seckill.update\nPromotions.seckill.list\nPromotions.seckill.info\nPromotions.seckill.statusupdate\nPromotions.seckill.item.list\nshipping.templates.list\ncurrency.get.default\nwechat.material.list\ngoods.items.lists\nPromotions.seckill.wxcode\nPromotions.seckill.search.item.list","icon":null,"is_show":true,"alias_name":"limitedtimesale","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u9650\u65f6\u7279\u60e0","en-CN":"Flash Sale","ar-SA":"\u0628\u064a\u0639 \u0633\u0631\u064a\u0639"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11308","company_id":0,"name":"\u52a0\u4ef7\u8d2d","url":"\/marketing\/promotion\/Marketingspluspricebuy","sort":5,"is_menu":true,"pid":"11303","apis":"","icon":null,"is_show":true,"alias_name":"marketingspluspricebuy","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u52a0\u4ef7\u8d2d","en-CN":"Pay More to Upgrade","ar-SA":"\u0627\u062f\u0641\u0639 \u0623\u0643\u062b\u0631 \u0644\u0644\u062a\u0631\u0642\u064a\u0629"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11309","company_id":0,"name":"\u7ec4\u5408\u8d2d","url":"\/marketing\/promotion\/marketingpackage","sort":5,"is_menu":true,"pid":"11303","apis":"promotions.package.list.get\npromotions.package.create\npromotions.package.info.get\npromotions.package.cancel\npromotions.package.update","icon":null,"is_show":true,"alias_name":"marketingpackage","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u7ec4\u5408\u8d2d","en-CN":"Bundle Sales","ar-SA":"\u0645\u0628\u064a\u0639\u0627\u062a \u0627\u0644\u062d\u0632\u0645"},"level":3,"parent_name":"\u4fc3\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11310","company_id":0,"name":"\u4f1a\u5458\u8425\u9500","url":"\/marketing\/membermarket","sort":3,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"membermarket","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4f1a\u5458\u8425\u9500","en-CN":"Member Marketing","ar-SA":"\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11311","company_id":0,"name":"\u65b0\u5ba2\u8425\u9500","url":"\/marketing\/membermarket\/marketingindex","sort":1,"is_menu":true,"pid":"11310","apis":"goods.items.lists\npromotions.register.get\nPromotions.register.add\ncard.list\npromotions.register.point.get\nPromotions.register.point.add\nespier.image.list\nespier.image.uploadToken.get\nespier.image.save","icon":null,"is_show":true,"alias_name":"marketingindex","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u65b0\u5ba2\u8425\u9500","en-CN":"New Customer Marketing","ar-SA":"\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u0639\u0645\u0644\u0627\u0621 \u0627\u0644\u062c\u062f\u062f"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11312","company_id":0,"name":"\u79ef\u5206\u5347\u503c","url":"\/marketing\/membermarket\/pointupvaluation","sort":2,"is_menu":true,"pid":"11310","apis":"promotions.pointupvaluation.list","icon":null,"is_show":true,"alias_name":"pointupvaluation","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u79ef\u5206\u5347\u503c","en-CN":"Points Appreciation","ar-SA":"\u062a\u0642\u062f\u064a\u0631 \u0627\u0644\u0646\u0642\u0627\u0637"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11313","company_id":0,"name":"\u5b9a\u5411\u8425\u9500","url":"\/marketing\/membermarket\/specificcrowddiscount","sort":2,"is_menu":true,"pid":"11310","apis":"specific.crowd.discount.add\nspecific.crowd.discount.update\nspecific.crowd.discount.list\nspecific.crowd.discount.info\nmember.tag.list\nspecific.crowd.discount.loglist","icon":null,"is_show":true,"alias_name":"SpecificCrowdDiscount","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5b9a\u5411\u8425\u9500","en-CN":"Targeted Marketing","ar-SA":"\u0627\u0644\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u0645\u0648\u062c\u0647"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11314","company_id":0,"name":"\u4f18\u5148\u8d2d","url":"\/marketing\/membermarket\/memberpreference","sort":3,"is_menu":true,"pid":"11310","apis":"","icon":null,"is_show":true,"alias_name":"memberpreference","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4f18\u5148\u8d2d","en-CN":"Priority Purchase","ar-SA":"\u0627\u0644\u0634\u0631\u0627\u0621 \u0627\u0644\u0645\u0645\u064a\u0632"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11315","company_id":0,"name":"\u81ea\u52a8\u5316\u8425\u9500","url":"\/marketing\/membermarket\/marketingactivity","sort":4,"is_menu":true,"pid":"11310","apis":"promotions.activity.lists\npromotions.activity.validNum\nmembercard.grade.list\npromotions.activity.create\npromotions.activity.invalid\ngoods.items.lists\ncard.list\nmembercard.vipgrade.list","icon":null,"is_show":true,"alias_name":"marketingactivity","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u81ea\u52a8\u5316\u8425\u9500","en-CN":"Automated Marketing","ar-SA":"\u0627\u0644\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u0622\u0644\u064a"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11316","company_id":0,"name":"\u5546\u54c1\u63a8\u8350","url":"\/marketing\/membermarket\/recommendlike","sort":5,"is_menu":true,"pid":"11310","apis":"recommendlike.list\nrecommendlike.update\nrecommendlike.list\nrecommendlike.save\nrecommendlike.delete\ngoods.items.lists","icon":null,"is_show":true,"alias_name":"recommendlike","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5546\u54c1\u63a8\u8350","en-CN":"Product Recommend","ar-SA":"\u062a\u0648\u0635\u064a\u0629 \u0628\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u4f1a\u5458\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11317","company_id":0,"name":"\u88c2\u53d8\u8425\u9500","url":"\/marketing\/fissionmarketing","sort":4,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"fissionmarketing","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u88c2\u53d8\u8425\u9500","en-CN":"Fission Marketing","ar-SA":"\u0627\u0644\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u062a\u0641\u0631\u0639\u064a"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11318","company_id":0,"name":"\u62fc\u56e2","url":"\/marketing\/fissionmarketing\/groupsindex","sort":1,"is_menu":true,"pid":"11317","apis":"promotions.groups.list\npromotions.groups.detail\npromotions.groups.teamlist\npromotions.groups.teaminfo\npromotions.groups.create\npromotions.groups.update\npromotions.groups.finish\npromotions.groups.delete\ngoods.items.lists\norder.info.get\nmember.info\nwechat.material.upload\ncurrency.get.default","icon":null,"is_show":true,"alias_name":"groupsindex","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u62fc\u56e2","en-CN":"Group Buying","ar-SA":"\u0627\u0644\u0634\u0631\u0627\u0621 \u0627\u0644\u062c\u0645\u0627\u0639\u064a"},"level":3,"parent_name":"\u88c2\u53d8\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11319","company_id":0,"name":"\u5206\u9500\u63a8\u5e7f","url":"\/marketing\/popularize","sort":15,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"popularize","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5206\u9500\u63a8\u5e7f","en-CN":"Distribution Marketing","ar-SA":"\u062a\u0633\u0648\u064a\u0642 \u0627\u0644\u062a\u0648\u0632\u064a\u0639"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11320","company_id":0,"name":"\u57fa\u7840\u8bbe\u7f6e","url":"\/marketing\/popularize\/popularizesetting","sort":1,"is_menu":true,"pid":"11319","apis":"popularize.config.get\npopularize.config.set","icon":null,"is_show":true,"alias_name":"popularizesetting","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u57fa\u7840\u8bbe\u7f6e","en-CN":"Basic Settings","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11321","company_id":0,"name":"\u63a8\u5e7f\u5458\u7ba1\u7406","url":"\/marketing\/popularize\/popularizelist","sort":2,"is_menu":true,"pid":"11319","apis":"popularize.brokerage.count\npopularize.brokerage.logs\npopularize.promoter.children.list\npopularize.promoter.list.get\npopularize.promoter.remove\npopularize.promoter.grade.put\npopularize.promoter.disabled\npopularize.promoter.config.get\npopularize.promoter.add\npopularize.promoter.shop.update","icon":null,"is_show":true,"alias_name":"popularizelist","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u63a8\u5e7f\u5458\u7ba1\u7406","en-CN":"Promoter Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0631\u0648\u0651\u062c\u064a\u0646"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11322","company_id":0,"name":"\u7b49\u7ea7\u7ba1\u7406","url":"\/marketing\/popularize\/promotersetting","sort":3,"is_menu":true,"pid":"11319","apis":"popularize.promoter.config.get\npopularize.promoter.config.set","icon":null,"is_show":true,"alias_name":"promotersetting","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u7b49\u7ea7\u7ba1\u7406","en-CN":"Level Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u064a\u0627\u062a"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11323","company_id":0,"name":"\u63a8\u5e7f\u5458\u4e1a\u7ee9","url":"\/marketing\/popularize\/popularizedata","sort":4,"is_menu":true,"pid":"11319","apis":"","icon":null,"is_show":true,"alias_name":"popularizedata","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u63a8\u5e7f\u5458\u4e1a\u7ee9","en-CN":"Promoter Performance","ar-SA":"\u0623\u062f\u0627\u0621 \u0627\u0644\u0645\u0631\u0648\u0651\u062c\u064a\u0646"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11324","company_id":0,"name":"\u63d0\u73b0\u7533\u8bf7","url":"\/marketing\/popularize\/popularizewithdraw","sort":5,"is_menu":true,"pid":"11319","apis":"popularize.cash_withdrawals.list.get\npopularize.cash_withdrawals.process\npopularize.cash_withdrawals.pay.list.get\npopularize.brokerage.count","icon":"money-check-alt","is_show":true,"alias_name":"popularizewithdraw","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u63d0\u73b0\u7533\u8bf7","en-CN":"Withdrawal Requests","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0633\u062d\u0628"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11325","company_id":0,"name":"\u5206\u9500\u5546\u54c1","url":"\/marketing\/popularize\/popularizegoods","sort":6,"is_menu":true,"pid":"11319","apis":"goods.rebateconf","icon":null,"is_show":true,"alias_name":"popularizegoods","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5206\u9500\u5546\u54c1","en-CN":"Distributed Products","ar-SA":"\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0645\u0648\u0632\u0639\u0629"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11326","company_id":0,"name":"\u4efb\u52a1\u4f63\u91d1\u660e\u7ec6","url":"\/marketing\/popularize\/taskbrokerage","sort":7,"is_menu":true,"pid":"11319","apis":"popularize.task.brokerage.logs","icon":null,"is_show":true,"alias_name":"taskbrokerage","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4efb\u52a1\u4f63\u91d1\u660e\u7ec6","en-CN":"Commission Details","ar-SA":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0639\u0645\u0648\u0644\u0629"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11327","company_id":0,"name":"\u4efb\u52a1\u4f63\u91d1\u7edf\u8ba1","url":"\/marketing\/popularize\/taskbrokeragecount","sort":8,"is_menu":true,"pid":"11319","apis":"popularize.task.brokerage.count\npopularize.task.brokerage.count.export","icon":null,"is_show":true,"alias_name":"taskbrokeragecount","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u4efb\u52a1\u4f63\u91d1\u7edf\u8ba1","en-CN":"Commission Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0639\u0645\u0648\u0644\u0629"},"level":3,"parent_name":"\u5206\u9500\u63a8\u5e7f","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11328","company_id":0,"name":"\u6d3b\u52a8\u62a5\u540d","url":"\/marketing\/marketing\/apply","sort":23,"is_menu":true,"pid":"11297","apis":"","icon":null,"is_show":true,"alias_name":"apply","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u6d3b\u52a8\u62a5\u540d","en-CN":" Event Registration","ar-SA":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u0623\u062d\u062f\u0627\u062b"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11329","company_id":0,"name":"\u5168\u90e8\u6d3b\u52a8","url":"\/marketing\/marketing\/apply\/registrationactivity","sort":0,"is_menu":true,"pid":"11328","apis":"selfhelp.registrationActivity.list\nselfhelp.registrationActivity.add\nselfhelp.template.info\nselfhelp.template.delete","icon":null,"is_show":true,"alias_name":"Registrationactivity","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5168\u90e8\u6d3b\u52a8","en-CN":"All Events","ar-SA":"\u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u062d\u062f\u0627\u062b"},"level":3,"parent_name":"\u6d3b\u52a8\u62a5\u540d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11330","company_id":0,"name":"\u62a5\u540d\u8bb0\u5f55","url":"\/marketing\/marketing\/apply\/Registrationrecord","sort":1,"is_menu":true,"pid":"11328","apis":"selfhelp.registrationRecord.list\nselfhelp.registrationRecord.export\nselfhelp.registrationRecord.info","icon":null,"is_show":true,"alias_name":"Registrationrecord","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u62a5\u540d\u8bb0\u5f55","en-CN":"Registration Records","ar-SA":"\u0633\u062c\u0644\u0627\u062a \u0627\u0644\u062a\u0633\u062c\u064a\u0644"},"level":3,"parent_name":"\u6d3b\u52a8\u62a5\u540d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11331","company_id":0,"name":"\u8868\u5355\u5143\u7d20","url":"\/marketing\/marketing\/apply\/formattrs","sort":1,"is_menu":true,"pid":"11328","apis":"selfhelp.form.list","icon":null,"is_show":true,"alias_name":"formattrs","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8868\u5355\u5143\u7d20","en-CN":"Form Elements","ar-SA":"\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0646\u0645\u0627\u0630\u062c"},"level":3,"parent_name":"\u6d3b\u52a8\u62a5\u540d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11332","company_id":0,"name":"\u8868\u5355\u6a21\u677f","url":"\/marketing\/marketing\/apply\/formtemplate","sort":1,"is_menu":true,"pid":"11328","apis":"selfhelp.template.list\nselfhelp.template.info\nselfhelp.template.delete","icon":null,"is_show":true,"alias_name":"formtemplate","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8868\u5355\u6a21\u677f","en-CN":"Form Templates","ar-SA":"\u0642\u0648\u0627\u0644\u0628 \u0627\u0644\u0646\u0645\u0627\u0630\u062c"},"level":3,"parent_name":"\u6d3b\u52a8\u62a5\u540d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11333","company_id":0,"name":"\u5c0f\u7a0b\u5e8f\u76f4\u64ad","url":"\/marketing\/liveroomlist","sort":24,"is_menu":true,"pid":"11297","apis":"promotions.liverooms","icon":null,"is_show":true,"alias_name":"liveroomlist","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5c0f\u7a0b\u5e8f\u76f4\u64ad","en-CN":"Mini Program Live Streaming","ar-SA":"\u0627\u0644\u0628\u062b \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0639\u0628\u0631 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0645\u0635\u063a\u0631"},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11334","company_id":0,"name":"\u5185\u5bb9","url":"\/site","sort":7,"is_menu":true,"pid":"0","apis":"","icon":"newspaper1","is_show":true,"alias_name":"site","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u5185\u5bb9","en-CN":"site","ar-SA":"\u0627\u0644\u0645\u062d\u062a\u0648\u0649"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11335","company_id":0,"name":"\u8f6f\u6587","url":"\/site\/article","sort":1,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"article","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8f6f\u6587","en-CN":"Seeding Content","ar-SA":"\u0646\u0634\u0631 \u0627\u0644\u0645\u062d\u062a\u0648\u0649"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11336","company_id":0,"name":"\u8f6f\u6587\u5217\u8868","url":"\/site\/article\/planting","sort":1,"is_menu":true,"pid":"11335","apis":"article.create\narticle.update\narticle.delete\narticle.list\narticle.info\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\narticle.update.sortstatus\narticle.list.category","icon":null,"is_show":true,"alias_name":"planting","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8f6f\u6587\u5217\u8868","en-CN":"List","ar-SA":"\u0642\u0627\u0626\u0645\u0629"},"level":3,"parent_name":"\u8f6f\u6587","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11337","company_id":0,"name":"\u8f6f\u6587\u9891\u9053","url":"\/site\/article\/articlecolumns","sort":2,"is_menu":true,"pid":"11335","apis":"","icon":null,"is_show":true,"alias_name":"articlecolumns","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u8f6f\u6587\u9891\u9053","en-CN":"Channels","ar-SA":"\u0627\u0644\u0642\u0646\u0648\u0627\u062a"},"level":3,"parent_name":"\u8f6f\u6587","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11338","company_id":0,"name":"\u7d20\u6750","url":"\/site\/material","sort":1,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"material","version":1,"disabled":false,"created":1774593233,"updated":1774593233,"name_lang":{"zh-CN":"\u7d20\u6750","en-CN":"Source Material","ar-SA":"\u0627\u0644\u0645\u0648\u0627\u062f \u0627\u0644\u0645\u0635\u062f\u0631\u064a\u0629"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11339","company_id":0,"name":"\u7d20\u6750\u7ba1\u7406","url":"\/site\/material\/brandmaterial","sort":1,"is_menu":true,"pid":"11338","apis":"espier.oss.uploadToken.get\nespier.image.save","icon":null,"is_show":true,"alias_name":"brandmaterial","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7d20\u6750\u7ba1\u7406","en-CN":"Source Material Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0648\u0627\u062f \u0627\u0644\u0645\u0635\u062f\u0631\u064a\u0629"},"level":3,"parent_name":"\u7d20\u6750","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11340","company_id":0,"name":"UGC\u793e\u533a","url":"\/site\/ugc","sort":3,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"ugc","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"UGC\u793e\u533a","en-CN":"UGC Community","ar-SA":"\u0645\u062c\u062a\u0645\u0639 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0627\u0644\u0630\u064a \u064a\u0646\u0634\u0626\u0647 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u0648\u0646"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11341","company_id":0,"name":"\u7b14\u8bb0\u7ba1\u7406","url":"\/site\/ugc\/ugcindex","sort":1,"is_menu":true,"pid":"11340","apis":"ugc.post.list\nugc.badge.list\nugc.setting.point.getSetting\nugc.post.list\nugc.comment.list\nugc.post.detail","icon":null,"is_show":true,"alias_name":"ugcindex","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7b14\u8bb0\u7ba1\u7406","en-CN":"Note Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0627\u062a"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11342","company_id":0,"name":"\u89d2\u6807\u7ba1\u7406","url":"\/site\/ugc\/ugcflags","sort":2,"is_menu":true,"pid":"11340","apis":"","icon":null,"is_show":true,"alias_name":"ugcflags","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u89d2\u6807\u7ba1\u7406","en-CN":"Badge Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0634\u0627\u0631\u0627\u062a"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11343","company_id":0,"name":"\u7b14\u8bb0\u8bdd\u9898","url":"\/site\/ugc\/ugctopic","sort":3,"is_menu":true,"pid":"11340","apis":"ugc.topic.list","icon":null,"is_show":true,"alias_name":"ugctopic","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7b14\u8bb0\u8bdd\u9898","en-CN":"Topics","ar-SA":"\u0627\u0644\u0645\u0648\u0627\u0636\u064a\u0639"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11344","company_id":0,"name":"\u7b14\u8bb0\u8bc4\u8bba","url":"\/site\/ugc\/ugcreview","sort":4,"is_menu":true,"pid":"11340","apis":"ugc.comment.detail","icon":null,"is_show":true,"alias_name":"ugcreview","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7b14\u8bb0\u8bc4\u8bba","en-CN":"Comments","ar-SA":"\u0627\u0644\u062a\u0639\u0644\u064a\u0642\u0627\u062a"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11345","company_id":0,"name":"\u8bc4\u8bba\u8bbe\u7f6e","url":"\/site\/ugc\/ugcpoint","sort":5,"is_menu":true,"pid":"11340","apis":"","icon":null,"is_show":true,"alias_name":"ugcpoint","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u8bc4\u8bba\u8bbe\u7f6e","en-CN":"Comment Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0642\u0627\u062a"},"level":3,"parent_name":"UGC\u793e\u533a","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11346","company_id":0,"name":"\u5206\u4eab\u8f6c\u53d1","url":"\/site\/share","sort":4,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"share","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5206\u4eab\u8f6c\u53d1","en-CN":"Share and Forward\u200b","ar-SA":"\u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629 \u0648\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0625\u0631\u0633\u0627\u0644"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11347","company_id":0,"name":"\u5206\u4eab\u8bbe\u7f6e","url":"\/site\/share\/sharesetting","sort":1,"is_menu":true,"pid":"11346","apis":"share.setting.set\nshare.setting.get","icon":null,"is_show":true,"alias_name":"sharesetting","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5206\u4eab\u8bbe\u7f6e","en-CN":"Share Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629"},"level":3,"parent_name":"\u5206\u4eab\u8f6c\u53d1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11348","company_id":0,"name":"\u7528\u6237\u8bc4\u4ef7","url":"\/site\/evaluate","sort":5,"is_menu":true,"pid":"11334","apis":"","icon":null,"is_show":true,"alias_name":"evaluate","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7528\u6237\u8bc4\u4ef7","en-CN":"User Reviews","ar-SA":"\u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646"},"level":2,"parent_name":"\u5185\u5bb9","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11349","company_id":0,"name":"\u5546\u54c1\u8bc4\u4ef7","url":"\/site\/evaluate\/rate","sort":1,"is_menu":true,"pid":"11348","apis":"traderate.list.get","icon":null,"is_show":true,"alias_name":"rate","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5546\u54c1\u8bc4\u4ef7","en-CN":"Product Reviews","ar-SA":"\u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u7528\u6237\u8bc4\u4ef7","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11350","company_id":0,"name":"\u8d22\u52a1","url":"\/financial","sort":8,"is_menu":true,"pid":"0","apis":"","icon":"money-check-alt","is_show":true,"alias_name":"financial","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u8d22\u52a1","en-CN":"financial","ar-SA":"\u0627\u0644\u0634\u0624\u0648\u0646 \u0627\u0644\u0645\u0627\u0644\u064a\u0629"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11351","company_id":0,"name":"\u4ea4\u6613\u6d41\u6c34","url":"\/financial\/financialManage","sort":1,"is_menu":true,"pid":"11350","apis":"","icon":null,"is_show":true,"alias_name":"financialManage","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4ea4\u6613\u6d41\u6c34","en-CN":"Transaction Records","ar-SA":"\u0633\u062c\u0644\u0627\u062a \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u0627\u062a"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11352","company_id":0,"name":"\u4ea4\u6613\u5355","url":"\/financial\/financialManage\/servicepayment","sort":1,"is_menu":true,"pid":"11351","apis":"shops.lists\norder.trade.list\ntrades.list.export","icon":null,"is_show":true,"alias_name":"financialManageservicepayment","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4ea4\u6613\u5355","en-CN":"Transaction Orders","ar-SA":"\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u0627\u062a"},"level":3,"parent_name":"\u4ea4\u6613\u6d41\u6c34","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11353","company_id":0,"name":"\u9000\u6b3e\u5355","url":"\/financial\/financialManage\/aftersalesrefundlist","sort":2,"is_menu":true,"pid":"11351","apis":"refund.list\nrefund.logexport","icon":null,"is_show":true,"alias_name":"financialFinancialManageAftersalesrefundlist","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u9000\u6b3e\u5355","en-CN":"Refund Orders","ar-SA":"\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u0627\u0633\u062a\u0631\u062f\u0627\u062f"},"level":3,"parent_name":"\u4ea4\u6613\u6d41\u6c34","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11354","company_id":0,"name":"\u9000\u6b3e\u5931\u8d25","url":"\/financial\/financialManage\/Refunderrorlogs","sort":3,"is_menu":true,"pid":"11351","apis":"trade.refunderrorlogs.list","icon":null,"is_show":true,"alias_name":"Refunderrorlogs","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u9000\u6b3e\u5931\u8d25","en-CN":"Refund Failure","ar-SA":"\u0641\u0634\u0644 \u0627\u0644\u0627\u0633\u062a\u0631\u062f\u0627\u062f"},"level":3,"parent_name":"\u4ea4\u6613\u6d41\u6c34","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11355","company_id":0,"name":"\u7ed3\u7b97","url":"\/financial\/settlement","sort":1,"is_menu":true,"pid":"11350","apis":null,"icon":null,"is_show":true,"alias_name":"settlement","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97","en-CN":"settlement","ar-SA":"\u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11356","company_id":0,"name":"\u7ed3\u7b97\u6c47\u603b","url":"\/financial\/settlement\/summary","sort":1,"is_menu":true,"pid":"11355","apis":"merchant.list\nstatement.summarized.get\nstatement.confirm.post\nstatement.detail.get\nstatement.summarized.export\nstatement.detail.export","icon":null,"is_show":true,"alias_name":"summary","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97\u6c47\u603b","en-CN":"summary","ar-SA":"\u0645\u0644\u062e\u0635 \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11357","company_id":0,"name":"\u7ed3\u7b97\u914d\u7f6e","url":"\/financial\/settlement\/configure","sort":1,"is_menu":true,"pid":"11355","apis":"statement.period.default.setting.get\nstatement.period.distributor.setting.get\nstatement.period.setting.set","icon":null,"is_show":true,"alias_name":"configure","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97\u914d\u7f6e","en-CN":"configure","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11358","company_id":0,"name":"\u4f9b\u5e94\u5546\u7ed3\u7b97","url":"\/financial\/settlement_supplier","sort":1,"is_menu":true,"pid":"11350","apis":"","icon":null,"is_show":true,"alias_name":"settlement_supplier","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u7ed3\u7b97","en-CN":"Supplier Settlements","ar-SA":"\u062a\u0633\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u0648\u0631\u062f\u064a\u0646"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11359","company_id":0,"name":"\u7ed3\u7b97\u914d\u7f6e","url":"\/financial\/settlement_supplier\/configure_supplier","sort":1,"is_menu":true,"pid":"11358","apis":"statement.period.default.setting.get\nstatement.period.supplier.setting.get","icon":null,"is_show":true,"alias_name":"configure_supplier","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97\u914d\u7f6e","en-CN":"Settlement Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11360","company_id":0,"name":"\u7ed3\u7b97\u6c47\u603b","url":"\/financial\/settlement_supplier\/summary_supplier","sort":1,"is_menu":true,"pid":"11358","apis":"statement.summarized.get","icon":null,"is_show":true,"alias_name":"summary_supplier","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ed3\u7b97\u6c47\u603b","en-CN":"Settlement Summary","ar-SA":"\u0645\u0644\u062e\u0635 \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u4f9b\u5e94\u5546\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11361","company_id":0,"name":"\u7ebf\u4e0b\u8f6c\u8d26","url":"\/financial\/examine","sort":2,"is_menu":true,"pid":"11350","apis":"","icon":null,"is_show":true,"alias_name":"examine","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7ebf\u4e0b\u8f6c\u8d26","en-CN":"Offline Transfers","ar-SA":"\u0627\u0644\u062a\u062d\u0648\u064a\u0644\u0627\u062a \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11362","company_id":0,"name":"\u8f6c\u8d26\u51ed\u8bc1\u5ba1\u6838","url":"\/financial\/examine\/transfer","sort":1,"is_menu":true,"pid":"11361","apis":"order.offline_payment.get_list\nespier.offline.backaccount.lists","icon":null,"is_show":true,"alias_name":"transfer","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u8f6c\u8d26\u51ed\u8bc1\u5ba1\u6838","en-CN":"Transfer Voucher Review","ar-SA":"\u0645\u0631\u0627\u062c\u0639\u0629 \u0633\u0646\u062f \u0627\u0644\u062a\u062d\u0648\u064a\u0644"},"level":3,"parent_name":"\u7ebf\u4e0b\u8f6c\u8d26","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11363","company_id":0,"name":"\u53d1\u7968","url":"\/financial\/invoice","sort":5,"is_menu":true,"pid":"11350","apis":"","icon":null,"is_show":true,"alias_name":"invoice","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u53d1\u7968","en-CN":"Invoice","ar-SA":"\u0627\u0644\u0641\u0627\u062a\u0648\u0631\u0629"},"level":2,"parent_name":"\u8d22\u52a1","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11364","company_id":0,"name":"\u5f00\u7968\u7533\u8bf7","url":"\/financial\/invoice\/invoice-list","sort":1,"is_menu":true,"pid":"11363","apis":null,"icon":null,"is_show":true,"alias_name":"invoice-list","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5f00\u7968\u7533\u8bf7","en-CN":"Invoice Applications","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0641\u0648\u062a\u0631\u0629"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11365","company_id":0,"name":"\u53d1\u7968\u8bbe\u7f6e","url":"\/financial\/invoice\/setting","sort":2,"is_menu":true,"pid":"11363","apis":"financial.examine.invoiceSetting","icon":null,"is_show":true,"alias_name":"invoiceSetting","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u53d1\u7968\u8bbe\u7f6e","en-CN":"Invoice Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0641\u0648\u0627\u062a\u064a\u0631"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11366","company_id":0,"name":"\u9500\u65b9\u4fe1\u606f","url":"\/financial\/invoice\/information","sort":3,"is_menu":true,"pid":"11363","apis":"financial.examine.invoiceInfo","icon":null,"is_show":true,"alias_name":"invoiceInfo","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u9500\u65b9\u4fe1\u606f","en-CN":"Seller Info","ar-SA":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0628\u0627\u0626\u0639"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11367","company_id":0,"name":"\u5f00\u7968\u7a0e\u7387","url":"\/financial\/invoice\/invoiceTax","sort":4,"is_menu":true,"pid":"11363","apis":"financial.examine.invoiceTax","icon":null,"is_show":true,"alias_name":"invoiceTax","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5f00\u7968\u7a0e\u7387","en-CN":"Tax Rates","ar-SA":"\u0645\u0639\u062f\u0644\u0627\u062a \u0627\u0644\u0636\u0631\u064a\u0628\u0629"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11368","company_id":0,"name":"\u4e13\u7968\u786e\u8ba4\u4e66","url":"\/financial\/invoice\/invoiceConfirmation","sort":5,"is_menu":true,"pid":"11363","apis":"financial.examine.invoiceConfirmation","icon":null,"is_show":true,"alias_name":"invoiceConfirmation","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4e13\u7968\u786e\u8ba4\u4e66","en-CN":"Invoice Confirmation","ar-SA":"\u062a\u0623\u0643\u064a\u062f \u0627\u0644\u0641\u0627\u062a\u0648\u0631\u0629"},"level":3,"parent_name":"\u53d1\u7968","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11369","company_id":0,"name":"\u6570\u636e","url":"\/companydata","sort":9,"is_menu":true,"pid":"0","apis":"","icon":"poll","is_show":true,"alias_name":"companydata","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u6570\u636e","en-CN":"companydata","ar-SA":"\u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631 \u0648\u0627\u0644\u0625\u062d\u0635\u0627\u0621\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11370","company_id":0,"name":"\u7edf\u8ba1","url":"\/companydata\/statistics","sort":1,"is_menu":true,"pid":"11369","apis":null,"icon":null,"is_show":true,"alias_name":"statistics","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u7edf\u8ba1","en-CN":"Statistics","ar-SA":"\u0627\u0644\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a"},"level":2,"parent_name":"\u6570\u636e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11371","company_id":0,"name":"\u5546\u54c1\u7edf\u8ba1","url":"\/companydata\/statistics\/goodsstatistics","sort":1,"is_menu":true,"pid":"11370","apis":"datacube.goods.data\norder.delivervstaff.confirm\nemployeepurchase.activity.list","icon":null,"is_show":true,"alias_name":"goodsstatistics","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5546\u54c1\u7edf\u8ba1","en-CN":"Product Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"},"level":3,"parent_name":"\u7edf\u8ba1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11372","company_id":0,"name":"\u4ea4\u6613\u7edf\u8ba1","url":"\/companydata\/statistics\/orderstatistics","sort":2,"is_menu":true,"pid":"11370","apis":"datacube.company.data","icon":null,"is_show":true,"alias_name":"orderstatistics","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4ea4\u6613\u7edf\u8ba1","en-CN":"Transaction Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u0627\u062a"},"level":3,"parent_name":"\u7edf\u8ba1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11373","company_id":0,"name":"\u4f1a\u5458\u7edf\u8ba1","url":"\/companydata\/statistics\/memberstatistics","sort":3,"is_menu":true,"pid":"11370","apis":"datacube.company.data","icon":null,"is_show":true,"alias_name":"member-statistics","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u4f1a\u5458\u7edf\u8ba1","en-CN":"Member Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0623\u0639\u0636\u0627\u0621"},"level":3,"parent_name":"\u7edf\u8ba1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11374","company_id":0,"name":"\u5e97\u94fa\u7edf\u8ba1","url":"\/companydata\/statistics\/distributordata","sort":4,"is_menu":true,"pid":"11370","apis":"datacube.distributor.data","icon":null,"is_show":true,"alias_name":"distributordata","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u5e97\u94fa\u7edf\u8ba1","en-CN":"Store Statistics","ar-SA":"\u0625\u062d\u0635\u0627\u0626\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u7edf\u8ba1","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11375","company_id":0,"name":"\u62a5\u8868","url":"\/companydata\/report","sort":2,"is_menu":true,"pid":"11369","apis":null,"icon":null,"is_show":true,"alias_name":"report","version":1,"disabled":false,"created":1774593234,"updated":1774593234,"name_lang":{"zh-CN":"\u62a5\u8868","en-CN":"Reports","ar-SA":"\u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631"},"level":2,"parent_name":"\u6570\u636e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11376","company_id":0,"name":"\u5bfc\u51fa\u8bb0\u5f55","url":"\/companydata\/report\/baseexport","sort":1,"is_menu":true,"pid":"11375","apis":"espier.export.loglist\nespier.export.file.down","icon":null,"is_show":true,"alias_name":"baseexport","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5bfc\u51fa\u8bb0\u5f55","en-CN":"Export Records","ar-SA":"\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u0633\u062c\u0644\u0627\u062a"},"level":3,"parent_name":"\u62a5\u8868","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11377","company_id":0,"name":"\u88c5\u4fee","url":"\/wxapp","sort":11,"is_menu":true,"pid":"0","apis":"wechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list\nwechat.pre_auth_url\nwechat.wxa.testqrcode\nwechat.wxa.tryrelease\nwechat.bind","icon":"brush-copy","is_show":true,"alias_name":"wxapp-template","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u88c5\u4fee","en-CN":"wxapp-template","ar-SA":"\u0627\u0644\u0642\u0648\u0627\u0644\u0628"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11378","company_id":0,"name":"\u79fb\u52a8\u5546\u57ce","url":"\/wxapp\/manage","sort":1,"is_menu":true,"pid":"11377","apis":"wechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list\nwechat.pre_auth_url\nwechat.wxa.testqrcode\nwechat.wxa.tryrelease\nwechat.bind\npagestemplateset.set\npagestemplateset.getInfo\npagestemplate.lists\npagestemplate.add\npagestemplate.edit\npagestemplate.detail\npagestemplate.copy\npagestemplate.delete\npagestemplate.modifyStatus\npagestemplate.sync\nmemberCenterShare.set\nmemberCenterShare.getInfo\nwechat.wxa.revertcoderelease","icon":null,"is_show":true,"alias_name":"wxappmanage","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u79fb\u52a8\u5546\u57ce","en-CN":"Mobile store template","ar-SA":"\u0642\u0627\u0644\u0628 \u0645\u062a\u062c\u0631 \u0627\u0644\u062c\u0648\u0627\u0644"},"level":2,"parent_name":"\u88c5\u4fee","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11379","company_id":0,"name":"\u9996\u9875","url":"\/wxapp\/manage\/templateedit","sort":1,"is_menu":true,"pid":"11378","apis":"wechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list\nwechat.pre_auth_url\nwechat.wxa.testqrcode\nwechat.wxa.tryrelease\nwechat.bind\nwechat.wxa.customizepage.list\nrecommendlike.list\npagestemplate.lists\npagestemplateset.getInfo\npagestemplate.modifyStatus\npagestemplateset.set\npagestemplate.copy\npagestemplate.delete\npagestemplate.edit\npagestemplate.add\nwxexternalconfigroutes.list\nwxexternalconfig.list\ngoods.sku.lists\nselfhelp.registrationActivity.easylist\npagestemplate.sync\nselfhelp.registrationActivity.easylist","icon":null,"is_show":true,"alias_name":"wxapp-template-edit","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u9996\u9875","en-CN":"Homepage","ar-SA":"\u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11381","company_id":0,"name":"\u5206\u7c7b\u9875","url":"\/wxapp\/manage\/editcategory","sort":2,"is_menu":true,"pid":"11378","apis":"wechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list","icon":null,"is_show":true,"alias_name":"wxapp-editcategory","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5206\u7c7b\u9875","en-CN":"Category Page","ar-SA":"\u0635\u0641\u062d\u0629 \u0627\u0644\u0641\u0626\u0627\u062a"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11382","company_id":0,"name":"\u81ea\u5b9a\u4e49\u9875","url":"\/wxapp\/manage\/custompage","sort":3,"is_menu":true,"pid":"11378","apis":"wechat.wxa.customizepage.update\nwechat.wxa.customizepage.delete\nwechat.wxa.customizepage.add\nwechat.wxa.customizepage.list\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.summarytrend\nwechat.wxa.stats.visittrend\nwechat.wxa.stats.visitpage\nwechat.wxa.stats.userportrait\nmonitors.list\nmonitors.detail\nmonitors.delete\nmonitors.add\nmonitors.relsources.detail\nmonitors.relsources.list\nmonitors.relsources.delete\nsource.list\nsource.create\nsource.detail\nsource.delete\nsource.update\nmonitors.stats\nwechat.wxa.create\nwechat.wxa.authorizer\nwechat.wxa.detail\nwechat.wxa.codeunlimit\nwechat.wxa.pageparams.setting.set\nwechat.wxa.pageparams.setting.get\nwechat.wxa.pageparams.setting.update\nwechat.wxa.template.list\nwechat.wxa.opentemplate.list\nwechat.wxa.opentemplate\nwechat.wxa.pageparams.setting.all.set\nminiprogram.pages\nwechat.material.list\nwechat.material.upload\ngoods.items.lists\ncard.list\ngoods.category.lists\narticle.list\nwechat.pre_auth_url\nwechat.wxa.testqrcode\nwechat.wxa.tryrelease\nwechat.bind\nwechat.wxa.customizepage.update\nwechat.wxa.customizepage.delete\nwechat.wxa.customizepage.add\nwechat.wxa.customizepage.list\n","icon":null,"is_show":true,"alias_name":"wxapp-custompage","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u81ea\u5b9a\u4e49\u9875","en-CN":"Custom Pages","ar-SA":"\u0627\u0644\u0635\u0641\u062d\u0627\u062a \u0627\u0644\u0645\u062e\u0635\u0635\u0629"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11383","company_id":0,"name":"\u5546\u57ce\u914d\u8272","url":"\/wxapp\/manage\/colorstyle","sort":5,"is_menu":true,"pid":"11378","apis":"","icon":null,"is_show":true,"alias_name":"colorstyle","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5546\u57ce\u914d\u8272","en-CN":"Color Scheme","ar-SA":"\u0646\u0638\u0627\u0645 \u0627\u0644\u0623\u0644\u0648\u0627\u0646"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11384","company_id":0,"name":"\u5546\u57ce\u4fe1\u606f","url":"\/wxapp\/manage\/wxshopsetting","sort":6,"is_menu":true,"pid":"11378","apis":"shops.setting.get\nshops.setting.set","icon":null,"is_show":true,"alias_name":"wxshopsetting","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5546\u57ce\u4fe1\u606f","en-CN":"Store Information","ar-SA":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11385","company_id":0,"name":"\u5f00\u5c4f\u5e7f\u544a","url":"\/wxapp\/manage\/openscreenad","sort":8,"is_menu":true,"pid":"11378","apis":"openscreenad.set.info","icon":null,"is_show":true,"alias_name":"openscreenad","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5f00\u5c4f\u5e7f\u544a","en-CN":"Splash Ads","ar-SA":"\u0625\u0639\u0644\u0627\u0646\u0627\u062a \u0627\u0644\u0634\u0627\u0634\u0629 \u0627\u0644\u0627\u0641\u062a\u062a\u0627\u062d\u064a\u0629"},"level":3,"parent_name":"\u79fb\u52a8\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11386","company_id":0,"name":"PC\u5546\u57ce","url":"\/wxapp\/pcmall","sort":2,"is_menu":true,"pid":"11377","apis":"","icon":null,"is_show":true,"alias_name":"pcmall","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"PC\u5546\u57ce","en-CN":"Web store template","ar-SA":"\u0642\u0627\u0644\u0628 \u0645\u062a\u062c\u0631 \u0627\u0644\u0648\u064a\u0628"},"level":2,"parent_name":"\u88c5\u4fee","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11387","company_id":0,"name":"\u6a21\u677f\u5217\u8868","url":"\/wxapp\/pcmall\/templatelist","sort":1,"is_menu":true,"pid":"11386","apis":"pctemplate.lists\npctemplate.edit\npctemplate.getHeaderOrFooter\npctemplate.getTemplateContent\npctemplate.saveTemplateContent\npctemplate.saveHeaderOrFooter\npagestemplate.detail","icon":null,"is_show":true,"alias_name":"templatelist","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6a21\u677f\u5217\u8868","en-CN":"Template List","ar-SA":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0642\u0648\u0627\u0644\u0628"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11388","company_id":0,"name":"\u6a21\u677f\u7f16\u8f91","url":"\/wxapp\/pcmall\/design","sort":2,"is_menu":false,"pid":"11386","apis":"pctemplate.getHeaderOrFooter\npctemplate.getTemplateContent\npctemplate.saveTemplateContent\npctemplate.saveHeaderOrFooter\npagestemplate.detail","icon":null,"is_show":true,"alias_name":"design","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6a21\u677f\u7f16\u8f91","en-CN":"Template Editing","ar-SA":"\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0642\u0627\u0644\u0628"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11389","company_id":0,"name":"\u767b\u5f55\u9875","url":"\/wxapp\/pcmall\/loginPageSetting","sort":2,"is_menu":true,"pid":"11386","apis":"pctemplate.getLoginPageSetting","icon":null,"is_show":true,"alias_name":"loginPageSetting","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u767b\u5f55\u9875","en-CN":"Login Page","ar-SA":"\u0635\u0641\u062d\u0629 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11390","company_id":0,"name":"SEO\u914d\u7f6e","url":"\/wxapp\/pcmall\/seo","sort":3,"is_menu":true,"pid":"11386","apis":"pcdecoration.tdkglobalset.info\npcdecoration.tdkglobalset.save","icon":null,"is_show":true,"alias_name":"seo","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"SEO\u914d\u7f6e","en-CN":"SEO Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u062a\u062d\u0633\u064a\u0646 \u0645\u062d\u0631\u0643\u0627\u062a \u0627\u0644\u0628\u062d\u062b (SEO)"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11391","company_id":0,"name":"\u9875\u9762SEO","url":"\/wxapp\/pcmall\/pageseo","sort":4,"is_menu":true,"pid":"11386","apis":"pcdecoration.tdkgivenset.info\npcdecoration.tdkgivenset.save","icon":null,"is_show":true,"alias_name":"pageseo","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u9875\u9762SEO","en-CN":"Page SEO","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a SEO \u0644\u0644\u0635\u0641\u062d\u0629"},"level":3,"parent_name":"PC\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11392","company_id":0,"name":"\u79ef\u5206\u5546\u57ce","url":"\/rewardsStore","sort":11,"is_menu":true,"pid":"0","apis":null,"icon":"funds","is_show":true,"alias_name":"rewardsStore","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u79ef\u5206\u5546\u57ce","en-CN":"Points Mall","ar-SA":"\u0645\u062a\u062c\u0631 \u0627\u0644\u0646\u0642\u0627\u0637"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11393","company_id":0,"name":"\u79ef\u5206\u5546\u54c1","url":"\/rewardsStore\/rewardItem","sort":1,"is_menu":true,"pid":"11392","apis":"pointsmall.goods.items.lists\npointsmall.goods.items.detail\n","icon":null,"is_show":true,"alias_name":"rewardItemManagement","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u79ef\u5206\u5546\u54c1","en-CN":"Reward Item","ar-SA":"\u0639\u0646\u0635\u0631 \u0627\u0644\u0645\u0643\u0627\u0641\u0623\u0629"},"level":2,"parent_name":"\u79ef\u5206\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11394","company_id":0,"name":"\u79ef\u5206\u8ba2\u5355","url":"\/rewardsStore\/rewardorder","sort":1,"is_menu":true,"pid":"11392","apis":null,"icon":null,"is_show":true,"alias_name":"rewardordermanagement","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u79ef\u5206\u8ba2\u5355","en-CN":"Reward Order","ar-SA":"\u0637\u0644\u0628 \u0627\u0644\u0645\u0643\u0627\u0641\u0623\u0629"},"level":2,"parent_name":"\u79ef\u5206\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11395","company_id":0,"name":"\u57fa\u7840\u914d\u7f6e","url":"\/rewardsStore\/basicSettings","sort":1,"is_menu":true,"pid":"11392","apis":"pointsmall.setting.get","icon":null,"is_show":true,"alias_name":"basicSettings","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u57fa\u7840\u914d\u7f6e","en-CN":"Basic Configuration","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629"},"level":2,"parent_name":"\u79ef\u5206\u5546\u57ce","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11396","company_id":0,"name":"\u5e94\u7528","url":"\/applications","sort":12,"is_menu":true,"pid":"0","apis":"adapay.open_account.step\npointsmall.goods.items.lists\nadapay.open_account.step\nadapay.regions.list\nadapay.regions.list","icon":"yingyong-01","is_show":true,"alias_name":"applications","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5e94\u7528","en-CN":"applications","ar-SA":"\u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11397","company_id":0,"name":"\u6597\u62f1\u5206\u8d26","url":"\/applications\/bspay","sort":1,"is_menu":true,"pid":"11396","apis":"bspay.sub_approve.list","icon":null,"is_show":true,"alias_name":"bspay","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6597\u62f1\u5206\u8d26","en-CN":"Dougong Settlement","ar-SA":"\u062a\u0633\u0648\u064a\u0629 \u062f\u0648\u063a\u0648\u0646"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11398","company_id":0,"name":"\u7528\u6237\u8fdb\u4ef6\u5ba1\u6279","url":"\/applications\/bspay\/user_audit","sort":1,"is_menu":true,"pid":"11397","apis":"bspay.sub_approve.list\nbspay.trade.getList","icon":null,"is_show":true,"alias_name":"user_audit","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u7528\u6237\u8fdb\u4ef6\u5ba1\u6279","en-CN":"User Onboarding Approval","ar-SA":"\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0639\u0644\u0649 \u0627\u0646\u0636\u0645\u0627\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645"},"level":3,"parent_name":"\u6597\u62f1\u5206\u8d26","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11399","company_id":0,"name":"\u5206\u8d26\u660e\u7ec6","url":"\/applications\/bspay\/trades","sort":1,"is_menu":true,"pid":"11397","apis":null,"icon":null,"is_show":true,"alias_name":"bspay_trades","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5206\u8d26\u660e\u7ec6","en-CN":"Settlement Details","ar-SA":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u0633\u0648\u064a\u0629"},"level":3,"parent_name":"\u6597\u62f1\u5206\u8d26","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11400","company_id":0,"name":"\u4f01\u4e1a\u8d2d","url":"\/applications\/ec","sort":3,"is_menu":true,"pid":"11396","apis":"","icon":null,"is_show":true,"alias_name":"ec","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u4f01\u4e1a\u8d2d","en-CN":"Employee Purchase","ar-SA":"\u0645\u0634\u062a\u0631\u064a\u0627\u062a \u0627\u0644\u0645\u0648\u0638\u0641\u064a\u0646"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11401","company_id":0,"name":"\u4f01\u4e1a\u7ba1\u7406","url":"\/applications\/ec\/company","sort":1,"is_menu":true,"pid":"11400","apis":"employeepurchase.enterprise.list","icon":null,"is_show":true,"alias_name":"company-admin","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u4f01\u4e1a\u7ba1\u7406","en-CN":"Enterprise Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0624\u0633\u0633\u0629"},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11402","company_id":0,"name":"\u5458\u5de5\u7ba1\u7406","url":"\/applications\/ec\/employee","sort":2,"is_menu":true,"pid":"11400","apis":"employeepurchase.employee.list","icon":null,"is_show":true,"alias_name":"employee-admin","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5458\u5de5\u7ba1\u7406","en-CN":"Employee Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0648\u0638\u0641\u064a\u0646"},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11403","company_id":0,"name":"\u6d3b\u52a8\u7ba1\u7406","url":"\/applications\/ec\/purchaseactivity","sort":3,"is_menu":true,"pid":"11400","apis":"promotions.employeepurchase.list\npromotions.employeepurchase.info\npromotions.employeepurchase.add\npromotions.employeepurchase.update\nespier.upload.template.export\nespier.upload\npromotions.employeepurchase.endactivity\npromotions.employeepurchase.dependents.lists\npromotions.employeepurchase.dependents.export\nemployeepurchase.activity.list\nespier.image.cat.children\nemployeepurchase.activity.create\nemployeepurchase.activity.info\nemployeepurchase.activity.items.list\nemployeepurchase.activity.items.add\nemployeepurchase.activity.items.delete\nemployeepurchase.activity.spec_items.update\nemployeepurchase.activity.items.update","icon":null,"is_show":true,"alias_name":"purchase-admin","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u7ba1\u7406","en-CN":"Activity Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0641\u0639\u0627\u0644\u064a\u0627\u062a"},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11404","company_id":0,"name":"\u8ba2\u5355\u7ba1\u7406","url":"\/applications\/ec\/purchaseorder","sort":4,"is_menu":true,"pid":"11400","apis":"order.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel\nespier.subdistrict.list.get\ntrade.logistics.list\npresale.pickupcode.setting.get\nthird.jushuitan.setting.get\nemployeepurchase.activity.list\nemployeepurchase.activity.list","icon":null,"is_show":true,"alias_name":"purchase-list","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u8ba2\u5355\u7ba1\u7406","en-CN":"Order Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0637\u0644\u0628\u0627\u062a"},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11405","company_id":0,"name":"\u5bfc\u8d2d\u52a9\u624b","url":"\/applications\/guide","sort":4,"is_menu":true,"pid":"11396","apis":"","icon":null,"is_show":true,"alias_name":"guide","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5bfc\u8d2d\u52a9\u624b","en-CN":"Shop Assistant","ar-SA":"\u0645\u0633\u0627\u0639\u062f \u0627\u0644\u0645\u062a\u062c\u0631"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11406","company_id":0,"name":"\u4f01\u4e1a\u5fae\u4fe1\u8bbe\u7f6e","url":"\/applications\/guide\/workwechat","sort":1,"is_menu":true,"pid":"11405","apis":"workwechat.config.info","icon":null,"is_show":true,"alias_name":"workwechat","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u4f01\u4e1a\u5fae\u4fe1\u8bbe\u7f6e","en-CN":"Wecom Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a WeCom"},"level":3,"parent_name":"\u5bfc\u8d2d\u52a9\u624b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11407","company_id":0,"name":"\u5bfc\u8d2d\u8d27\u67b6\u6a21\u677f","url":"\/applications\/guide\/salespersonshelfindex","sort":2,"is_menu":true,"pid":"11405","apis":"wechat.wxa.salesperson.customizepage.get","icon":null,"is_show":true,"alias_name":"salespersonshelfindex","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u5bfc\u8d2d\u8d27\u67b6\u6a21\u677f","en-CN":"SA Shelf Template","ar-SA":"\u0642\u0627\u0644\u0628 \u0631\u0641\u0648\u0641 SA"},"level":3,"parent_name":"\u5bfc\u8d2d\u52a9\u624b","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11408","company_id":0,"name":"\u793e\u533a\u56e2\u8d2d","url":"\/applications\/community","sort":5,"is_menu":true,"pid":"11396","apis":null,"icon":null,"is_show":true,"alias_name":"community","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u793e\u533a\u56e2\u8d2d","en-CN":"Group Buying","ar-SA":"\u0627\u0644\u0634\u0631\u0627\u0621 \u0627\u0644\u062c\u0645\u0627\u0639\u064a"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11409","company_id":0,"name":"\u6d3b\u52a8\u7ba1\u7406","url":"\/applications\/community\/activity","sort":2,"is_menu":true,"pid":"11408","apis":"community.list","icon":null,"is_show":true,"alias_name":"activity","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u7ba1\u7406","en-CN":"Campaign Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u062d\u0645\u0644\u0627\u062a"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11410","company_id":0,"name":"\u6d3b\u52a8\u5546\u54c1","url":"\/applications\/community\/communitygoods","sort":3,"is_menu":true,"pid":"11408","apis":"community.items.list.get","icon":null,"is_show":true,"alias_name":"communitygoods","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u5546\u54c1","en-CN":"Campaign Products","ar-SA":"\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u062d\u0645\u0644\u0629"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11411","company_id":0,"name":"\u6d3b\u52a8\u8ba2\u5355","url":"\/applications\/community\/order","sort":3,"is_menu":true,"pid":"11408","apis":"community.order.list.get","icon":null,"is_show":true,"alias_name":"communityorder","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u8ba2\u5355","en-CN":"Campaign Orders","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062d\u0645\u0644\u0629"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11412","company_id":0,"name":"\u6d3b\u52a8\u914d\u7f6e","url":"\/applications\/community\/setting","sort":4,"is_menu":true,"pid":"11408","apis":"community.setting.get\ncommunity.chief.apply.wxaCode\ncommunity.chief.apply_field.list\ncommunity.chief.apply_field.update\ncommunity.chief.apply_field.create\ncommunity.chief.apply_field.delete\ncommunity.setting.save","icon":null,"is_show":true,"alias_name":"communitysetting","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u6d3b\u52a8\u914d\u7f6e","en-CN":"Campaign Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062d\u0645\u0644\u0629"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11413","company_id":0,"name":"\u793e\u533a\u7ba1\u7406","url":"\/applications\/community\/subdistrict","sort":5,"is_menu":true,"pid":"11408","apis":null,"icon":null,"is_show":true,"alias_name":"subdistrict","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u793e\u533a\u7ba1\u7406","en-CN":"Community Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u062c\u062a\u0645\u0639"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11414","company_id":0,"name":"\u56e2\u957f\u7ba1\u7406","url":"\/applications\/community\/chief","sort":6,"is_menu":true,"pid":"11408","apis":"community.setting.chief\ncommunity.chief.apply.list\ncommunity.chief.apply.info\ncommunity.chief.approve\ncommunity.chief.list\ncommunity.chief.info","icon":null,"is_show":true,"alias_name":"communitychief","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u56e2\u957f\u7ba1\u7406","en-CN":"Group Leader Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0642\u0627\u062f\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11415","company_id":0,"name":"\u56e2\u957f\u4e1a\u7ee9","url":"\/applications\/community\/achievement","sort":7,"is_menu":true,"pid":"11408","apis":"community.chief.rebate.count","icon":null,"is_show":true,"alias_name":"achievement","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u56e2\u957f\u4e1a\u7ee9","en-CN":"Group Leader Performance","ar-SA":"\u0623\u062f\u0627\u0621 \u0642\u0627\u062f\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11416","company_id":0,"name":"\u63d0\u73b0\u7533\u8bf7","url":"\/applications\/community\/withdraw","sort":8,"is_menu":true,"pid":"11408","apis":"community.chief.cash_withdrawal.list","icon":null,"is_show":true,"alias_name":"withdraw","version":1,"disabled":false,"created":1774593235,"updated":1774593235,"name_lang":{"zh-CN":"\u63d0\u73b0\u7533\u8bf7","en-CN":"Withdrawal Requests","ar-SA":"\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0633\u062d\u0628"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11417","company_id":0,"name":"\u56e2\u957f\u5bfc\u5165","url":"\/applications\/community\/chiefupload","sort":9,"is_menu":false,"pid":"11408","apis":"","icon":null,"is_show":true,"alias_name":"chiefupload1","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u56e2\u957f\u5bfc\u5165","en-CN":"chiefupload1","ar-SA":"\u0627\u0633\u062a\u064a\u0631\u0627\u062f \u0642\u0627\u062f\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a"},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11418","company_id":0,"name":"\u5e94\u7528\u4e2d\u5fc3","url":"\/applications\/appsgroup","sort":100,"is_menu":true,"pid":"11396","apis":"adapay.open_account.step\nadapay.regions.list\npointsmall.goods.items.lists\nadapay.regions.list\npointsmall.goods.items.lists\nadapay.open_account.step","icon":"yingyong-01","is_show":true,"alias_name":"appsgroup","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5e94\u7528\u4e2d\u5fc3","en-CN":"App Center","ar-SA":"\u0645\u0631\u0643\u0632 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a"},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11419","company_id":0,"name":"\u6269\u5c55\u5e94\u7528","url":"\/applications\/appsgroup\/extapp","sort":1,"is_menu":true,"pid":"11418","apis":"adapay.is_open","icon":null,"is_show":true,"alias_name":"extapp","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u6269\u5c55\u5e94\u7528","en-CN":"Extended Applications","ar-SA":"\u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u0645\u0648\u0633\u0639\u0629"},"level":3,"parent_name":"\u5e94\u7528\u4e2d\u5fc3","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11420","company_id":0,"name":"\u8bbe\u7f6e","url":"\/setting","sort":13,"is_menu":true,"pid":"0","apis":"","icon":"cog-copy","is_show":true,"alias_name":"setting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u8bbe\u7f6e","en-CN":"setting","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a"},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11421","company_id":0,"name":"\u7cfb\u7edf\u8d26\u53f7","url":"\/setting\/staff","sort":0,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"staff","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u7cfb\u7edf\u8d26\u53f7","en-CN":"System Account","ar-SA":"\u062d\u0633\u0627\u0628 \u0627\u0644\u0646\u0638\u0627\u0645"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11422","company_id":0,"name":"\u5e73\u53f0\u8d26\u53f7","url":"\/setting\/staff\/Platformstaff","sort":1,"is_menu":true,"pid":"11421","apis":"account.create\naccount.list\naccount.info\naccount.update\naccount.delete\nroles.list\naccount.roles.permission\noperator.status.change\ndatacube.deliverystaff.data\norder.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"platformstaff","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5e73\u53f0\u8d26\u53f7","en-CN":"Platform Account","ar-SA":"\u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0646\u0635\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u8d26\u53f7","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11423","company_id":0,"name":"\u7cfb\u7edf\u89d2\u8272","url":"\/setting\/staff\/Platformstaffroles","sort":2,"is_menu":true,"pid":"11421","apis":"roles.create\nroles.list\nroles.info\nroles.update\nroles.delete\n","icon":null,"is_show":true,"alias_name":"platformstaffroles","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u7cfb\u7edf\u89d2\u8272","en-CN":"System Role","ar-SA":"\u0635\u0644\u0627\u062d\u064a\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645"},"level":3,"parent_name":"\u7cfb\u7edf\u8d26\u53f7","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11424","company_id":0,"name":"\u5546\u6237\u8d26\u53f7","url":"\/setting\/staff\/storemanager","sort":3,"is_menu":true,"pid":"11421","apis":"merchant.operator.list\nmerchant.operator.update","icon":null,"is_show":true,"alias_name":"storemanager_account","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5546\u6237\u8d26\u53f7","en-CN":"storemanager_account","ar-SA":"\u062d\u0633\u0627\u0628 \u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u7cfb\u7edf\u8d26\u53f7","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11425","company_id":0,"name":"\u5e97\u94fa\u8d26\u53f7","url":"\/setting\/staff\/Merchantstaff","sort":4,"is_menu":true,"pid":"11421","apis":"account.create\naccount.list\naccount.info\naccount.update\naccount.delete\nroles.list\naccount.roles.permission\nespier.subdistrict.list.get\noperator.status.change","icon":null,"is_show":true,"alias_name":"merchantstaff","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5e97\u94fa\u8d26\u53f7","en-CN":"Store Account","ar-SA":"\u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u7cfb\u7edf\u8d26\u53f7","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11426","company_id":0,"name":"\u83dc\u5355\u7ba1\u7406","url":"\/setting\/menumanage","sort":1,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"menumanage","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u83dc\u5355\u7ba1\u7406","en-CN":"menumanage","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0642\u0648\u0627\u0626\u0645"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11427","company_id":0,"name":"\u5546\u57ce\u83dc\u5355","url":"\/setting\/menumanage\/shopmenus","sort":1,"is_menu":true,"pid":"11426","apis":"super.admin.shopmenu.get\r\nsuper.admin.shopmenu.add\r\nsuper.admin.shopmenu.update\r\nsuper.admin.shopmenu.del","icon":null,"is_show":true,"alias_name":"shopmenus","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5546\u57ce\u83dc\u5355","en-CN":"shopmenus","ar-SA":"\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u0645\u062a\u062c\u0631"},"level":3,"parent_name":"\u83dc\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11428","company_id":0,"name":"\u5e97\u94fa\u83dc\u5355","url":"\/setting\/menumanage\/distributormenu","sort":1,"is_menu":true,"pid":"11426","apis":"super.admin.shopmenu.get\nsuper.admin.shopmenu.add\nsuper.admin.shopmenu.update\nsuper.admin.shopmenu.del\norders.setting.get ","icon":null,"is_show":true,"alias_name":"distributormenu","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5e97\u94fa\u83dc\u5355","en-CN":"distributormenu","ar-SA":"\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u0645\u062a\u062c\u0631 (\u0644\u0644\u0645\u062a\u062c\u0631 \u0627\u0644\u0648\u0627\u062d\u062f)"},"level":3,"parent_name":"\u83dc\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11429","company_id":0,"name":"\u5546\u6237\u83dc\u5355","url":"\/setting\/menumanage\/merchantmenu","sort":2,"is_menu":true,"pid":"11426","apis":null,"icon":null,"is_show":true,"alias_name":"merchantmenu","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5546\u6237\u83dc\u5355","en-CN":"merchantmenu","ar-SA":"\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u062a\u0627\u062c\u0631"},"level":3,"parent_name":"\u83dc\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"11430","company_id":0,"name":"\u4f9b\u5e94\u5546\u83dc\u5355","url":"\/setting\/menumanage\/suppliermenus","sort":10,"is_menu":true,"pid":"11426","apis":null,"icon":null,"is_show":true,"alias_name":"suppliermenus","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u4f9b\u5e94\u5546\u83dc\u5355","en-CN":"suppliermenus","ar-SA":"\u0642\u0648\u0627\u0626\u0645 \u0627\u0644\u0645\u0648\u0631\u062f"},"level":3,"parent_name":"\u83dc\u5355\u7ba1\u7406","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11431","company_id":0,"name":"\u7cfb\u7edf\u914d\u7f6e","url":"\/setting\/systemsetting","sort":2,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"systemsetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u7cfb\u7edf\u914d\u7f6e","en-CN":"System Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11432","company_id":0,"name":"\u901a\u7528\u8bbe\u7f6e","url":"\/setting\/systemsetting\/publicsetting","sort":1,"is_menu":true,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"publicsetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u901a\u7528\u8bbe\u7f6e","en-CN":"General Settings","ar-SA":"\u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11433","company_id":0,"name":"web\u9690\u79c1\u58f0\u660e","url":"\/setting\/systemsetting\/webPrivacyStatement","sort":1,"is_menu":true,"pid":"11431","apis":"companys.setting.getp","icon":null,"is_show":true,"alias_name":"webPrivacyStatement","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"web\u9690\u79c1\u58f0\u660e","en-CN":"Reward order list","ar-SA":"\u0628\u064a\u0627\u0646 \u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629 \u0644\u0644\u0648\u064a\u0628"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11468","company_id":0,"name":"\u90ae\u4ef6\u670d\u52a1\u914d\u7f6e","url":"\/setting\/systemsetting\/mailServiceSetting","sort":1,"is_menu":true,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"mailServiceSetting","version":1,"disabled":false,"created":1776423948,"updated":1776423948,"name_lang":{"zh-CN":"\u90ae\u4ef6\u670d\u52a1\u914d\u7f6e","en-CN":"","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11434","company_id":0,"name":"\u652f\u4ed8\u914d\u7f6e","url":"\/setting\/systemsetting\/assetpayment","sort":2,"is_menu":true,"pid":"11431","apis":"trade.payment.hfpay.status\ntrade.payment.setting.get\ntrade.payment.setting.set","icon":null,"is_show":true,"alias_name":"assetpayment","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u652f\u4ed8\u914d\u7f6e","en-CN":"Payment Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062f\u0641\u0639"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11435","company_id":0,"name":"\u77ed\u4fe1\u670d\u52a1","url":"\/setting\/systemsetting\/datamessage","sort":3,"is_menu":true,"pid":"11431","apis":"Promotions.sms.basic\nPromotions.sms.templates.list\nPromotions.sms.template.up\nPromotions.sms.sign.get\nPromotions.sms.sign.save\naliyunsms.status.get\naliyunsms.config.get\naliyunsms.scene.getList\naliyunsms.sign.getList\naliyunsms.tmpl.getList\naliyunsms.record.getList\naliyunsms.task.list","icon":null,"is_show":true,"alias_name":"datamessage","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u77ed\u4fe1\u670d\u52a1","en-CN":"SMS Service","ar-SA":"\u062e\u062f\u0645\u0629 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0646\u0635\u064a\u0629 (SMS)"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11436","company_id":0,"name":"\u5730\u56fe\u670d\u52a1","url":"\/setting\/systemsetting\/mapsetting","sort":4,"is_menu":true,"pid":"11431","apis":"third.map.setting.get","icon":null,"is_show":true,"alias_name":"mapsetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5730\u56fe\u670d\u52a1","en-CN":"mapsetting","ar-SA":"\u062e\u062f\u0645\u0629 \u0627\u0644\u062e\u0631\u0627\u0626\u0637"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11437","company_id":0,"name":"\u5f00\u7968\u914d\u7f6e","url":"\/setting\/systemsetting\/invoinceConfiguration","sort":4,"is_menu":true,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"invoinceConfiguration","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5f00\u7968\u914d\u7f6e","en-CN":"Invoice Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0641\u0648\u062a\u0631\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11438","company_id":0,"name":"\u5c0f\u7968\u6253\u5370","url":"\/setting\/systemsetting\/Yilianyun","sort":5,"is_menu":true,"pid":"11431","apis":"espier.printer.info\nespier.printer.shop.list\norder.delivervstaff.confirm\norder.deliverypackag.confirm","icon":null,"is_show":true,"alias_name":"Yilianyun","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5c0f\u7968\u6253\u5370","en-CN":"Receipt Printing","ar-SA":"\u0637\u0628\u0627\u0639\u0629 \u0627\u0644\u0625\u064a\u0635\u0627\u0644\u0627\u062a"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11439","company_id":0,"name":"UGC\u5ba1\u6838\u914d\u7f6e","url":"\/setting\/systemsetting\/ugctpos","sort":6,"is_menu":true,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"ugctpos","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"UGC\u5ba1\u6838\u914d\u7f6e","en-CN":"UGC Review Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 (UGC)"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11440","company_id":0,"name":"\u5c0f\u7a0b\u5e8f\u7ba1\u7406","url":"\/setting\/systemsetting\/wxaindex","sort":7,"is_menu":true,"pid":"11431","apis":"wechat.bind.direct\nwechat.wxa.notice.templates","icon":null,"is_show":true,"alias_name":"wxaindex","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5c0f\u7a0b\u5e8f\u7ba1\u7406","en-CN":"Mini Program Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0645\u0635\u063a\u0631"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11441","company_id":0,"name":"\u6570\u636e\u5206\u6790","url":"\/setting\/systemsetting\/editdashboard","sort":7,"is_menu":false,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"editdashboard","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u6570\u636e\u5206\u6790","en-CN":"editdashboard","ar-SA":"\u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11442","company_id":0,"name":"\u5343\u4eba\u5343\u7801","url":"\/setting\/systemsetting\/editsourcemanagement","sort":7,"is_menu":false,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"editsourcemanagement","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5343\u4eba\u5343\u7801","en-CN":"editsourcemanagement","ar-SA":"\u0623\u0643\u0648\u0627\u062f \u0645\u062e\u0635\u0635\u0629 \u0644\u0643\u0644 \u0645\u0633\u062a\u062e\u062f\u0645 (\u0623\u0644\u0641 \u0643\u0648\u062f \u0644\u0623\u0644\u0641 \u0634\u062e\u0635)"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11443","company_id":0,"name":"\u6d88\u606f\u6a21\u677f","url":"\/setting\/systemsetting\/noticemessage","sort":7,"is_menu":false,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"noticemessage","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u6d88\u606f\u6a21\u677f","en-CN":"noticemessage","ar-SA":"\u0642\u0648\u0627\u0644\u0628 \u0627\u0644\u0631\u0633\u0627\u0626\u0644"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11444","company_id":0,"name":"\u516c\u4f17\u53f7\u6388\u6743","url":"\/setting\/systemsetting\/brand","sort":8,"is_menu":true,"pid":"11431","apis":"wechat.user.open\n","icon":null,"is_show":true,"alias_name":"brand","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u516c\u4f17\u53f7\u6388\u6743","en-CN":"Official Account Authorization","ar-SA":"\u062a\u0641\u0648\u064a\u0636 \u0627\u0644\u062d\u0633\u0627\u0628 \u0627\u0644\u0631\u0633\u0645\u064a (WeChat Official Account)"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11445","company_id":0,"name":"\u5c0f\u7a0b\u5e8f\u5ba2\u670d","url":"\/setting\/systemsetting\/wxappchat","sort":9,"is_menu":true,"pid":"11431","apis":null,"icon":null,"is_show":true,"alias_name":"wxappchat","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5c0f\u7a0b\u5e8f\u5ba2\u670d","en-CN":"Mini Program CS","ar-SA":"\u062e\u062f\u0645\u0629 \u0639\u0645\u0644\u0627\u0621 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0645\u0635\u063a\u0631"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11446","company_id":0,"name":"\u4e00\u6d3d\u5ba2\u670d","url":"\/setting\/systemsetting\/echat","sort":9,"is_menu":true,"pid":"11431","apis":"im.echat.info\nim.echat.save","icon":null,"is_show":true,"alias_name":"EChat","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u4e00\u6d3d\u5ba2\u670d","en-CN":"Yiqia CS","ar-SA":"\u062e\u062f\u0645\u0629 \u0639\u0645\u0644\u0627\u0621 \u064a\u064a \u062a\u0634\u064a\u0627"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11447","company_id":0,"name":"\u7f8e\u6d3d\u5ba2\u670d","url":"\/setting\/systemsetting\/meiqia","sort":10,"is_menu":true,"pid":"11431","apis":"im.meiqia.info\nim.meiqia.save","icon":null,"is_show":true,"alias_name":"meiqia","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u7f8e\u6d3d\u5ba2\u670d","en-CN":"Meiqia CS","ar-SA":"\u062e\u062f\u0645\u0629 \u0639\u0645\u0644\u0627\u0621 \u0627\u0644\u0648\u0633\u0627\u0626\u0637"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11448","company_id":0,"name":"\u65fa\u5e97\u901a","url":"\/setting\/systemsetting\/wdtSetting","sort":11,"is_menu":true,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"wdtSetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u65fa\u5e97\u901a","en-CN":"Wangdiantong","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11449","company_id":0,"name":"\u805a\u6c34\u6f6d","url":"\/setting\/systemsetting\/jstSetting","sort":12,"is_menu":true,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"jstSetting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u805a\u6c34\u6f6d","en-CN":"Jushuitan","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11450","company_id":0,"name":"\u5546\u6d3eERP","url":"\/setting\/systemsetting\/certificate","sort":13,"is_menu":true,"pid":"11431","apis":"","icon":null,"is_show":true,"alias_name":"certificate","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5546\u6d3eERP","en-CN":"Shopex ERP","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11451","company_id":0,"name":"\u57df\u540d\u8bbe\u7f6e","url":"\/setting\/systemsetting\/domain_setting","sort":14,"is_menu":true,"pid":"11431","apis":"companys.domain_setting.get","icon":null,"is_show":true,"alias_name":"domain_setting","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u57df\u540d\u8bbe\u7f6e","en-CN":"Domain Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0646\u0637\u0627\u0642"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11452","company_id":0,"name":"\u8131\u654f\u6570\u636e\u7533\u8bf7","url":"\/setting\/systemsetting\/approve","sort":15,"is_menu":true,"pid":"11431","apis":"companys.datapass.list\ncompanys.datapass.apply","icon":null,"is_show":true,"alias_name":"approveDataPass","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u8131\u654f\u6570\u636e\u7533\u8bf7","en-CN":"Desensitized Data Application","ar-SA":"\u0637\u0644\u0628 \u0628\u064a\u0627\u0646\u0627\u062a \u0645\u0646\u0632\u0648\u0639\u0629 \u0627\u0644\u062d\u0633\u0627\u0633\u064a\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11453","company_id":0,"name":"\u8131\u654f\u7533\u8bf7\u5ba1\u6279","url":"\/setting\/systemsetting\/apply","sort":16,"is_menu":true,"pid":"11431","apis":"companys.datapass.log.list\ncompanys.datapass.log.list","icon":null,"is_show":true,"alias_name":"applyDataPass","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u8131\u654f\u7533\u8bf7\u5ba1\u6279","en-CN":"Desensitization Approval","ar-SA":"\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0639\u0644\u0649 \u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062d\u0633\u0627\u0633\u064a\u0629"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11454","company_id":0,"name":"\u5916\u94fe\u5c0f\u7a0b\u5e8f","url":"\/setting\/systemsetting\/extminilink","sort":17,"is_menu":true,"pid":"11431","apis":"wxexternalconfig.create\nwxexternalconfig.update\nwxexternalroutes.list\nwxexternalroutes.create\nwxexternalroutes.update\nwxexternalroutes.delete\nwxexternalconfig.delete\nwxexternalconfigroutes.list","icon":null,"is_show":true,"alias_name":"extminilink","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u5916\u94fe\u5c0f\u7a0b\u5e8f","en-CN":"External Mini Program","ar-SA":"\u062a\u0637\u0628\u064a\u0642 \u0645\u0635\u063a\u0631 \u062e\u0627\u0631\u062c\u064a"},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11455","company_id":0,"name":"\u8fbe\u6469CRM","url":"\/setting\/systemsetting\/damoCrm","sort":18,"is_menu":true,"pid":"11431","apis":"third.dmcrm.setting.get","icon":null,"is_show":true,"alias_name":"damoCrm","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u8fbe\u6469CRM","en-CN":"Damo CRM","ar-SA":""},"level":3,"parent_name":"\u7cfb\u7edf\u914d\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11456","company_id":0,"name":"\u914d\u9001\u8bbe\u7f6e","url":"\/setting\/delivery","sort":3,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"delivery","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u914d\u9001\u8bbe\u7f6e","en-CN":"Delivery Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0648\u0635\u064a\u0644"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11457","company_id":0,"name":"\u914d\u9001\u8bbe\u7f6e","url":"\/setting\/delivery\/logistics","sort":1,"is_menu":true,"pid":"11456","apis":"company.logistics.list \ncompany.logistics.create\ncompany.logistics.delete\ntrade.logistics.list\npickuplocation.list.get\ndatacube.deliverystaff.data\norder.deliverystaff.confirm\norder.deliverypackag.confirm\ncompany.dada.info\npickuplocation.create\npickuplocation.info.get\npickuplocation.update\npickuplocation.reldistributor\npickuplocation.delete\ncompany.dada.create","icon":null,"is_show":true,"alias_name":"logistics","version":1,"disabled":false,"created":1774593236,"updated":1774593236,"name_lang":{"zh-CN":"\u914d\u9001\u8bbe\u7f6e","en-CN":"Delivery Settings","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u0648\u0635\u064a\u0644"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11458","company_id":0,"name":"\u8fd0\u8d39\u6a21\u677f","url":"\/setting\/delivery\/shippingtemplates","sort":2,"is_menu":true,"pid":"11456","apis":"espier.address.info\nshipping.templates.list\nshipping.templates.info\nshipping.templates.update\nshipping.templates.create\nshipping.templates.delete","icon":null,"is_show":true,"alias_name":"shippingtemplates","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u8fd0\u8d39\u6a21\u677f","en-CN":"Freight Template","ar-SA":"\u0646\u0645\u0648\u0630\u062c \u062a\u0643\u0644\u0641\u0629 \u0627\u0644\u0634\u062d\u0646"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11459","company_id":0,"name":"\u7269\u6d41\u67e5\u8be2\u914d\u7f6e","url":"\/setting\/delivery\/kdniao","sort":2,"is_menu":true,"pid":"11456","apis":"trade.kuaidi.setting.get\ntrade.kuaidi.setting.set\norder.delivervstaff.confirm\norder.deliverypackag.confirm\ntrade.sfbsp.setting.get\ntrade.sfbsp.setting.set","icon":null,"is_show":true,"alias_name":"kdniao","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u7269\u6d41\u67e5\u8be2\u914d\u7f6e","en-CN":"Logistics Query Configuration","ar-SA":"\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0633\u062a\u0639\u0644\u0627\u0645 \u0627\u0644\u0634\u062d\u0646\u0627\u062a"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11460","company_id":0,"name":"\u914d\u9001\u5458\u7ba1\u7406","url":"\/setting\/delivery\/selfdeliverystaff","sort":3,"is_menu":true,"pid":"11456","apis":"","icon":null,"is_show":true,"alias_name":"setting_staffself_deliverystaff","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u914d\u9001\u5458\u7ba1\u7406","en-CN":"Deliveryman Management","ar-SA":"\u0625\u062f\u0627\u0631\u0629 \u0645\u0646\u062f\u0648\u0628\u064a \u0627\u0644\u062a\u0648\u0635\u064a\u0644"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11461","company_id":0,"name":"\u914d\u9001\u5458\u4e1a\u7ee9","url":"\/setting\/delivery\/deliverystaffstatistics","sort":4,"is_menu":true,"pid":"11456","apis":"datacube.deliverystaff.data\nmerchant.list\ndada.finance.info","icon":null,"is_show":true,"alias_name":"companydata_deliverystaffstatistics","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u914d\u9001\u5458\u4e1a\u7ee9","en-CN":"Deliveryman Performance","ar-SA":"\u0623\u062f\u0627\u0621 \u0645\u0646\u062f\u0648\u0628\u064a \u0627\u0644\u062a\u0648\u0635\u064a\u0644"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11462","company_id":0,"name":"\u8fbe\u8fbe\u8d26\u6237","url":"\/setting\/delivery\/dada","sort":6,"is_menu":true,"pid":"11456","apis":"","icon":null,"is_show":true,"alias_name":"dada","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u8fbe\u8fbe\u8d26\u6237","en-CN":"Dada Account","ar-SA":"\u062d\u0633\u0627\u0628 \u062f\u0627\u062f\u0627"},"level":3,"parent_name":"\u914d\u9001\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"11463","company_id":0,"name":"\u7cfb\u7edf\u4fe1\u606f","url":"\/setting\/systeminfo","sort":4,"is_menu":true,"pid":"11420","apis":"","icon":null,"is_show":true,"alias_name":"systeminfo","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u7cfb\u7edf\u4fe1\u606f","en-CN":"System Information","ar-SA":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645"},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"11464","company_id":0,"name":"\u64cd\u4f5c\u65e5\u5fd7","url":"\/setting\/systeminfo\/operatorlogs","sort":3,"is_menu":true,"pid":"11463","apis":"company.get.operatorlogs","icon":null,"is_show":true,"alias_name":"operator-logs","version":1,"disabled":false,"created":1774593237,"updated":1774593237,"name_lang":{"zh-CN":"\u64cd\u4f5c\u65e5\u5fd7","en-CN":"Operation Log","ar-SA":"\u0633\u062c\u0644 \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a"},"level":3,"parent_name":"\u7cfb\u7edf\u4fe1\u606f","isChildrenMenu":false,"menu_type":["all"]}] \ No newline at end of file diff --git a/storage/static/shop_menu.json b/storage/static/shop_menu.json index 8a6e225..5c0b65a 100644 --- a/storage/static/shop_menu.json +++ b/storage/static/shop_menu.json @@ -1 +1 @@ -[{"shopmenu_id":"10146","company_id":0,"name":"\u5546\u54c1","url":"\/shopadmin\/entity","sort":2,"is_menu":true,"pid":"0","apis":"point.member.rule.info\noperator.update.data\nwechat.pre_auth_url\nthird.jushuitan.setting.get\nthird.wdterp.setting.get","icon":"shopping-bag","is_show":true,"alias_name":"entity","version":3,"disabled":false,"created":1675936333,"updated":1770003360,"name_lang":{"zh-CN":"\u5546\u54c1","en-CN":"entity1","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10147","company_id":0,"name":"\u5546\u54c1\u7ba1\u7406","url":"\/shopadmin\/entity\/goodsphysical","sort":1,"is_menu":true,"pid":"10146","apis":"goods.items.create\ngoods.items.templates_change\ngoods.items.category_change\ngoods.items.lists\ngoods.items.detail\ngoods.items.delete\ngoods.items.update\ngoods.items.distributiongoodswxacode\ngoods.items.warning_store\ngoods.category.lists\nshipping.templates.list\ncurrency.get.default\nwechat.material.upload\nwechat.material.list\ngoods.tag.list\npoint.member.rule.info\npopularize.config.get\ngoods.category.get\ngoods.tag.rel\ngoods.store.upate\ngoods.member.price\ngoods.status.upate\ngoods.export\ngoods.sync.items\ngoods.tag.export\ngoods.isgift.upate\nwechat.authorizerInfo\ngoods.profit.info\ngoods.profit.save\nespier.subdistrict.list.get\ngoods.itemsupdate\nwechat.wxa.template.list\nthird.jushuitan.setting.get\nthird.wdterp.setting.get\ngoods.items.sort\nthird.wdterp.setting.get\nall.setting.get\ngoods.items.params.create","icon":null,"is_show":true,"alias_name":"goodsphysical","version":3,"disabled":false,"created":1675936333,"updated":1767577110,"name_lang":{"zh-CN":"\u5546\u54c1\u7ba1\u7406","en-CN":"goodsphysical","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10674","company_id":0,"name":"\u5e97\u94fa\u5546\u54c1","url":"\/shopadmin\/entity\/storeshopproductanagement","sort":1,"is_menu":true,"pid":"10146","apis":"popularize.config.get\ngoods.tag.list\nwechat.wxa.template.list\nshipping.templates.list\ngoods.attributes.list\ngoods.category.lists\ngoods.items.detail\nthird.jushuitan.setting.get\nthird.wdterp.setting.get","icon":null,"is_show":true,"alias_name":"storeshopproductanagement","version":3,"disabled":false,"created":1675936333,"updated":1770023501,"name_lang":{"zh-CN":"\u5e97\u94fa\u5546\u54c1","en-CN":"storeshopproductanagement","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"10172","company_id":0,"name":"\u5546\u54c1\u5bfc\u5165","url":"\/shopadmin\/entity\/physicalupload","sort":2,"is_menu":true,"pid":"10146","apis":"espier.upload.list\nespier.upload.template.export\nespier.upload\nespier.upload.error.export","icon":null,"is_show":true,"alias_name":"physicalupload","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u5bfc\u5165","en-CN":"physicalupload","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10148","company_id":0,"name":"\u5546\u54c1\u54c1\u724c","url":"\/shopadmin\/entity\/goodsbrand","sort":3,"is_menu":true,"pid":"10146","apis":"goods.attributes.add\ngoods.attributes.update\ngoods.attributes.list\ngoods.attributes.delete\nespier.image.uploadToken.get\nespier.image.save\nespier.oss.uploadToken.get\ngoods.sync.brand","icon":null,"is_show":true,"alias_name":"goodsbrand","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u54c1\u724c","en-CN":"goodsbrand","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10149","company_id":0,"name":"\u5e97\u94fa\u5206\u7c7b","url":"\/shopadmin\/entity\/goodscategory","sort":4,"is_menu":true,"pid":"10146","apis":"goods.category.lists\ngoods.category.create\ngoods.category.delete\ngoods.items.lists\nshipping.templates.list\ngoods.items.detail\ngoods.createcategory.create\ngoods.category.update\nwechat.wxa.customizepage.list","icon":null,"is_show":true,"alias_name":"goodscategory","version":3,"disabled":false,"created":1675936333,"updated":1722654946,"name_lang":{"zh-CN":"\u5e97\u94fa\u5206\u7c7b","en-CN":"goodscategory","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10150","company_id":0,"name":"\u5546\u54c1\u6807\u7b7e","url":"\/shopadmin\/entity\/itemtags","sort":5,"is_menu":true,"pid":"10146","apis":"goods.tag.add\ngoods.tag.delete\ngoods.tag.update\ngoods.tag.list\ngoods.tag.get\nmember.tag.add","icon":null,"is_show":true,"alias_name":"itemtags","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u6807\u7b7e","en-CN":"itemtags","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10490","company_id":0,"name":"\u5546\u54c1\u8bc4\u4ef7","url":"\/shopadmin\/entity\/rate","sort":6,"is_menu":true,"pid":"10146","apis":"traderate.list.get\ntraderate.details.get\ntraderate.rate.delete\ntraderate.reply.put","icon":null,"is_show":true,"alias_name":"rate","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u8bc4\u4ef7","en-CN":"rate","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10151","company_id":0,"name":"\u7d20\u6750\u7ba1\u7406","url":"\/shopadmin\/entity\/brandmaterial","sort":7,"is_menu":true,"pid":"10146","apis":"wechat.material.upload\nwechat.news.image.upload\nwechat.material.delete\nwechat.material.list\nwechat.material.stats\nwechat.material.news.add\nwechat.material.news.update\nwechat.material.news.get\nespier.image.del\nespier.image.move.cat","icon":null,"is_show":true,"alias_name":"brandmaterial","version":3,"disabled":false,"created":1675936333,"updated":1767097766,"name_lang":{"zh-CN":"\u7d20\u6750\u7ba1\u7406","en-CN":"brandmaterial","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10143","company_id":0,"name":"\u4ea4\u6613","url":"\/shopadmin\/order","sort":3,"is_menu":true,"pid":"0","apis":"company.real.statistics\norder.writeoff.qr.set\norder.delivervstaff.confirm\nthird.jushuitan.setting.get\nall.setting.get","icon":"clipboard-list","is_show":true,"alias_name":"order","version":3,"disabled":false,"created":1675936333,"updated":1770003365,"name_lang":{"zh-CN":"\u4ea4\u6613","en-CN":"order","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10144","company_id":0,"name":"\u5168\u90e8\u8ba2\u5355","url":"\/shopadmin\/order\/tradenormalorders","sort":1,"is_menu":true,"pid":"10143","apis":"order.list.get\ncompany.real.statistics\nsource.list\norder.info.get\norder.delivery\norder.list.export\nshops.lists\ndistributor.list\nmember.info\norder.cancel.info\norder.cancel\norder.writeoff.info.get\norder.writeoff.set\ninvoice.list.export\norder.process.log.get\norder.delivery.lists\norder.invoiced.invoiced\norder.delivery.update\norder.businessreceipt\norder.confirm.goods\norder.message.new\norder.message.list\norder.message.update\ngoods.items.onsale.lists\ncompanys.operator.cartdata.scanadd\ncompanys.operator.cartdata.add\ncompanys.operator.cartdata.update\ncompanys.operator.cartdata.list\ncompanys.operator.cartdata.del\norder.checkout\norder.create\norder.payment\norder.payment.query\nuser.card.list\npresale.pickupcode.setting.get\nmember.create\ncompanys.operator.cartdata.pending\ncompanys.operator.order.pending\ncompanys.operator.pending.fetch\ncompanys.operator.pending.delete\ncompanys.operator.pending.list\norder.markdown\norder.markdown.confirm\nespier.image.cat.children\naftersales.apply\ndelivery.process.list\norder.writeoff.qr.set\norder.deliverystaff.confirm\norder.deliverystaff.cancel\norder.deliverypackag.confirm\ndatacube.deliverystaff.data\norder.delivervstaff.confirm\nall.setting.get","icon":null,"is_show":true,"alias_name":"shoptradenormalorders","version":3,"disabled":false,"created":1675936333,"updated":1770023490,"name_lang":{"zh-CN":"\u5168\u90e8\u8ba2\u5355","en-CN":"shoptradenormalorders","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10145","company_id":0,"name":"\u4ea4\u6613\u5355","url":"\/shopadmin\/order\/tradepayment","sort":2,"is_menu":true,"pid":"10143","apis":"shops.lists\norder.trade.list\ntrades.list.export\ndelivery.process.list","icon":null,"is_show":true,"alias_name":"tradepayment","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u4ea4\u6613\u5355","en-CN":"tradepayment","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10152","company_id":0,"name":"\u552e\u540e\u5217\u8868","url":"\/shopadmin\/order\/aftersaleslist","sort":4,"is_menu":true,"pid":"10143","apis":"aftersales.list\naftersales.info\naftersales.review\naftersales.logexport\naftersales.remind.get\ndelivery.process.list\norder.delivervstaff.confirm\naftersales.sendback","icon":null,"is_show":true,"alias_name":"aftersaleslist","version":3,"disabled":false,"created":1675936333,"updated":1737635493,"name_lang":{"zh-CN":"\u552e\u540e\u5217\u8868","en-CN":"aftersaleslist","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10641","company_id":0,"name":"\u9000\u6b3e\u5355","url":"\/shopadmin\/order\/aftersalesrefundlist","sort":5,"is_menu":true,"pid":"10143","apis":"refund.list\nrefund.logexport\ntrade.refunderrorlogs.list\ntrade.refunderrorlogs.resubmit\nrefund.info\ndelivery.process.list\nrefund.offline","icon":null,"is_show":true,"alias_name":"aftersalesrefundlist","version":3,"disabled":false,"created":1675936333,"updated":1767512200,"name_lang":{"zh-CN":"\u9000\u6b3e\u5355","en-CN":"aftersalesrefundlist","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10153","company_id":0,"name":"\u8fd0\u8d39\u6a21\u677f","url":"\/shopadmin\/order\/shippingtemplates","sort":5,"is_menu":true,"pid":"10143","apis":"shipping.templates.list\nshipping.templates.info\nshipping.templates.create\nshipping.templates.update\nshipping.templates.delete\nespier.address.info\ndelivery.process.list","icon":null,"is_show":true,"alias_name":"shippingtemplates","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8fd0\u8d39\u6a21\u677f","en-CN":"shippingtemplates","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10213","company_id":0,"name":"\u914d\u9001\u7ba1\u7406","url":"\/shopadmin\/order\/logistics","sort":6,"is_menu":true,"pid":"10143","apis":"company.logistics.list\ncompany.logistics.create\ncompany.logistics.delete\ntrade.logistics.list\npickuplocation.list.get\npickuplocation.info.get\npickuplocation.create\npickuplocation.update\npickuplocation.reldistributor\npickuplocation.reldistributor.cancel\ndelivery.process.list\norder.delivervstaff.confirm\ndatacube.deliverystaff.data","icon":null,"is_show":true,"alias_name":"wl-logistics","version":3,"disabled":false,"created":1675936333,"updated":1730173113,"name_lang":{"zh-CN":"\u914d\u9001\u7ba1\u7406","en-CN":"wl-logistics","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["platform","standard","all"]},{"shopmenu_id":"10154","company_id":0,"name":"\u4f1a\u5458","url":"\/shopadmin\/member","sort":4,"is_menu":true,"pid":"0","apis":"","icon":"gem1","is_show":true,"alias_name":"member","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u4f1a\u5458","en-CN":"member","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10155","company_id":0,"name":"\u4f1a\u5458\u7ba1\u7406","url":"\/shopadmin\/member\/member","sort":1,"is_menu":true,"pid":"10154","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\ndistributor.list\nvipgrade.order.list\nmember.register.get\npoint.member.list\nrights.log.list\nworkwechat.rel.log\nvipgrade.use.list\naliyunsms.status.get\npoint.adjustment\nthird.dmcrm.setting.get\naliyunsms.status.get","icon":null,"is_show":true,"alias_name":"member-list-view","version":3,"disabled":false,"created":1675936333,"updated":1770023539,"name_lang":{"zh-CN":"\u4f1a\u5458\u7ba1\u7406","en-CN":"member-list-view","ar-SA":""},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10157","company_id":0,"name":"\u7fa4\u53d1\u4f18\u60e0\u5238","url":"\/shopadmin\/member\/member","sort":1,"is_menu":false,"pid":"10155","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\npromotions.give.create\npromotions.give.list\npromotions.give.info","icon":null,"is_show":true,"alias_name":"member-send-coupons","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u7fa4\u53d1\u4f18\u60e0\u5238","en-CN":"member-send-coupons","ar-SA":""},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"11182","company_id":0,"name":"\u4f1a\u5458\u5217\u8868","url":"\/shopadmin\/member\/member\/members-lists","sort":1,"is_menu":true,"pid":"10155","apis":"member.register.get\naliyunsms.status.get\nthird.dmcrm.setting.get","icon":null,"is_show":true,"alias_name":"members-lists","version":3,"disabled":false,"created":1750674825,"updated":1770023574,"name_lang":{"zh-CN":"\u4f1a\u5458\u5217\u8868","en-CN":"members-lists","ar-SA":""},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10174","company_id":0,"name":"\u4f1a\u5458\u5bfc\u51fa","url":"\/shopadmin\/member\/member","sort":1,"is_menu":false,"pid":"10155","apis":"member.export","icon":null,"is_show":true,"alias_name":"member-export","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u4f1a\u5458\u5bfc\u51fa","en-CN":"member-export","ar-SA":""},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10159","company_id":0,"name":"\u6253\u6807\u7b7e","url":"\/shopadmin\/member\/member","sort":3,"is_menu":false,"pid":"10155","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\nmember.tag.rel\nmember.batch.operating","icon":null,"is_show":true,"alias_name":"member-tag","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6253\u6807\u7b7e","en-CN":"member-tag","ar-SA":""},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10160","company_id":0,"name":"\u5e97\u94fa","url":"\/shopadmin\/store","sort":4,"is_menu":true,"pid":"0","apis":"","icon":"store-alt","is_show":true,"alias_name":"store","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5e97\u94fa","en-CN":"store","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10161","company_id":0,"name":"\u5e97\u94fa\u4fe1\u606f","url":"\/shopadmin\/store\/marketingdistributor","sort":1,"is_menu":true,"pid":"10160","apis":"distributor.list\ndistributor.create\ndistributor.edit\ndistributor.item.list\ndistributor.wxacode\ndistributor.get.shop\ndistributor.item.update\ndistributor.default.set\ndistributor.create\ndistributor.item.delete\ngoods.items.distributiongoodswxacode\ncurrency.get.default\ndistributor.info\ndistributor.tag.list\npromotions.liverooms\nrecommendlike.list\ncompany.regionauth.list\nhfpay.ledgerconfig.index\ncompany.dada.info\npagestemplate.lists\npagestemplateset.getInfo\npagestemplate.add\npagestemplate.delete\npagestemplate.modifyStatus\npagestemplate.copy\npagestemplate.edit\npagestemplate.detail\ndistribution.distance.get\ndistribution.distance.save\ngoods.sku.lists\nPromotions.seckill.item.list\norder.writeoff.qr.set\ndistributor.aftersales.list\norder.delivervstaff.confirm\norders.setting.get\nespier.image.cat.edit\nselfhelp.registrationActivity.easylist\narticle.list\ntrade.payment.setting.get\ntrade.payment.setting.set\ntrade.payment.open.status.get\npagestemplate.widget.items\ndistributor.category.list","icon":null,"is_show":true,"alias_name":"marketingdistributor","version":3,"disabled":false,"created":1675936333,"updated":1775145397,"name_lang":{"zh-CN":"\u5e97\u94fa\u4fe1\u606f","en-CN":"marketingdistributor","ar-SA":""},"level":2,"parent_name":"\u5e97\u94fa","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10905","company_id":0,"name":"\u5e97\u94fa\u767d\u540d\u5355","url":"\/shopadmin\/store\/storewhitelist","sort":14,"is_menu":true,"pid":"10160","apis":null,"icon":"storewhitelist","is_show":true,"alias_name":"storewhitelist","version":3,"disabled":false,"created":1742884880,"updated":1742884880,"name_lang":{"zh-CN":"\u5e97\u94fa\u767d\u540d\u5355","en-CN":"storewhitelist","ar-SA":""},"level":2,"parent_name":"\u5e97\u94fa","isChildrenMenu":false,"menu_type":["in_purchase","standard"]},{"shopmenu_id":"10162","company_id":0,"name":"\u8425\u9500","url":"\/shopadmin\/marketing","sort":5,"is_menu":true,"pid":"0","apis":"","icon":"gift","is_show":true,"alias_name":"marketing","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8425\u9500","en-CN":"marketing","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10163","company_id":0,"name":"\u4f18\u60e0\u5238","url":"\/shopadmin\/marketing\/coupon","sort":1,"is_menu":true,"pid":"10162","apis":"distributor.easy.list\ncard.consume","icon":null,"is_show":true,"alias_name":"coupon","version":3,"disabled":false,"created":1675936333,"updated":1729755065,"name_lang":{"zh-CN":"\u4f18\u60e0\u5238","en-CN":"coupon","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10165","company_id":0,"name":"\u4f18\u60e0\u5238\u7ba1\u7406","url":"\/shopadmin\/marketing\/coupon\/membermarketing","sort":1,"is_menu":true,"pid":"10163","apis":"card.list\ncard.create\ncard.update\ncard.delete\ncard.get\ncard.user.list\nshops.lists\ncard.detail.list\nwechat.material.list\nwechat.material.upload\ncurrency.get.default\nwechat.wxa.codeunlimit\ndistributor.easy.list\ncard.consume","icon":null,"is_show":true,"alias_name":"membermarketing","version":3,"disabled":false,"created":1675936333,"updated":1729755061,"name_lang":{"zh-CN":"\u4f18\u60e0\u5238\u7ba1\u7406","en-CN":"membermarketing","ar-SA":""},"level":3,"parent_name":"\u4f18\u60e0\u5238","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10166","company_id":0,"name":"\u53d1\u5238\u8bb0\u5f55","url":"\/shopadmin\/marketing\/coupon\/coupongive","sort":2,"is_menu":true,"pid":"10163","apis":"promotions.give.list\npromotions.give.info\ncard.consume","icon":null,"is_show":true,"alias_name":"coupongive","version":3,"disabled":false,"created":1675936333,"updated":1729755069,"name_lang":{"zh-CN":"\u53d1\u5238\u8bb0\u5f55","en-CN":"coupongive","ar-SA":""},"level":3,"parent_name":"\u4f18\u60e0\u5238","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10637","company_id":0,"name":"\u52a0\u4ef7\u8d2d","url":"\/shopadmin\/marketing\/Marketingspluspricebuy","sort":2,"is_menu":true,"pid":"10162","apis":"","icon":null,"is_show":true,"alias_name":"marketingspluspricebuy","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u52a0\u4ef7\u8d2d","en-CN":"marketingspluspricebuy","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10638","company_id":0,"name":"\u7ec4\u5408\u8d2d","url":"\/shopadmin\/marketing\/marketingpackage","sort":3,"is_menu":true,"pid":"10162","apis":"promotions.package.list.get\npromotions.package.create\npromotions.package.info.get\npromotions.package.cancel\npromotions.package.update","icon":null,"is_show":true,"alias_name":"marketingpackage","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u7ec4\u5408\u8d2d","en-CN":"marketingpackage","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10212","company_id":0,"name":"\u9650\u65f6\u4f18\u60e0","url":"\/shopadmin\/marketing\/marketing\/limitedtimesale","sort":4,"is_menu":true,"pid":"10162","apis":"Promotions.seckill.list\nPromotions.seckill.add\nPromotions.seckill.info\nPromotions.seckill.update\nPromotions.seckill.statusupdate\nPromotions.seckill.search.item.list","icon":null,"is_show":true,"alias_name":"limitedtimesale","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u9650\u65f6\u4f18\u60e0","en-CN":"limitedtimesale","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10639","company_id":0,"name":"\u5546\u54c1\u9650\u8d2d","url":"\/shopadmin\/marketing\/goodslimit","sort":5,"is_menu":true,"pid":"10162","apis":"promotions.limit.list.get\npromotions.limit.info.get\npromotions.limit.create\npromotions.limit.cancel","icon":null,"is_show":true,"alias_name":"goodslimit","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u9650\u8d2d","en-CN":"goodslimit","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10167","company_id":0,"name":"\u6ee1\u6298","url":"\/shopadmin\/marketing\/marketingsfulldiscount","sort":7,"is_menu":true,"pid":"10162","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ncurrency.get.default","icon":null,"is_show":true,"alias_name":"marketingsfulldiscount","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6ee1\u6298","en-CN":"marketingsfulldiscount","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10164","company_id":0,"name":"\u6ee1\u51cf","url":"\/shopadmin\/marketing\/marketingsfullminus","sort":8,"is_menu":true,"pid":"10162","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ncurrency.get.default","icon":null,"is_show":true,"alias_name":"marketingsfullminus","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6ee1\u51cf","en-CN":"marketingsfullminus","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10168","company_id":0,"name":"\u6ee1\u8d60","url":"\/shopadmin\/marketing\/marketingsfullgift","sort":9,"is_menu":true,"pid":"10162","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\n","icon":null,"is_show":true,"alias_name":"marketingsfullgift","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6ee1\u8d60","en-CN":"marketingsfullgift","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10607","company_id":0,"name":"\u793e\u533a\u56e2\u8d2d","url":"\/shopadmin\/marketing\/community","sort":10,"is_menu":true,"pid":"10162","apis":"","icon":null,"is_show":true,"alias_name":"community","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u793e\u533a\u56e2\u8d2d","en-CN":"community","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"10617","company_id":0,"name":"\u56e2\u957f\u7ba1\u7406","url":"\/shopadmin\/marketing\/community\/chief","sort":0,"is_menu":true,"pid":"10607","apis":"community.setting.chief\ncommunity.chief.apply.list\ncommunity.chief.apply.info\ncommunity.chief.approve\ncommunity.chief.list","icon":null,"is_show":true,"alias_name":"communitychief","version":3,"disabled":false,"created":1675936333,"updated":1746329335,"name_lang":{"zh-CN":"\u56e2\u957f\u7ba1\u7406","en-CN":"communitychief","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10609","company_id":0,"name":"\u6d3b\u52a8\u7ba1\u7406","url":"\/shopadmin\/marketing\/community\/activity","sort":1,"is_menu":true,"pid":"10607","apis":"community.list\nespier.subdistrict.list.get\ncommunity.activity.deliver\ncommunity.setting.chief\ncommunity.order.list.export","icon":null,"is_show":true,"alias_name":"communityactivity","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6d3b\u52a8\u7ba1\u7406","en-CN":"communityactivity","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10610","company_id":0,"name":"\u8ba2\u5355\u7ba1\u7406","url":"\/shopadmin\/marketing\/community\/order","sort":2,"is_menu":true,"pid":"10607","apis":"community.order.list.get\norder.remarks.update\norder.list.get\ncompany.real.statistics\nsource.list\norder.info.get\norder.delivery\norder.list.export\nshops.lists\ndistributor.list\nmember.info\norder.cancel.info\norder.cancel\norder.writeoff.info.get\norder.writeoff.set\ninvoice.list.export\norder.process.log.get\norder.delivery.lists\norder.invoiced.invoiced\norder.delivery.update\norder.businessreceipt\norder.confirm.goods\norder.message.new\norder.message.list\norder.message.update","icon":null,"is_show":true,"alias_name":"communityorder","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8ba2\u5355\u7ba1\u7406","en-CN":"communityorder","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10608","company_id":0,"name":"\u6d3b\u52a8\u5546\u54c1","url":"\/shopadmin\/marketing\/community\/communitygoods","sort":3,"is_menu":true,"pid":"10607","apis":"community.items.list.get\ncommunity.item.sort.update\ncommunity.item.minDeliveryNum.update\ncommunity.item.delete\ncommunity.items.add","icon":null,"is_show":true,"alias_name":"communitygoods","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6d3b\u52a8\u5546\u54c1","en-CN":"communitygoods","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10618","company_id":0,"name":"\u6d3b\u52a8\u914d\u7f6e","url":"\/shopadmin\/marketing\/community\/setting","sort":4,"is_menu":true,"pid":"10607","apis":"community.setting.get\ncommunity.setting.save\ncommunity.chief.apply_field.list\ncommunity.chief.apply_field.create\ncommunity.chief.apply_field.switch\ncommunity.chief.apply_field.update\ncommunity.chief.apply_field.delete\ncommunity.chief.apply.wxaCode","icon":null,"is_show":true,"alias_name":"communitysetting","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6d3b\u52a8\u914d\u7f6e","en-CN":"communitysetting","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10621","company_id":0,"name":"\u56e2\u957f\u4e1a\u7ee9","url":"\/shopadmin\/marketing\/community\/achievement","sort":5,"is_menu":true,"pid":"10607","apis":"community.chief.rebate.count","icon":null,"is_show":true,"alias_name":"achievement","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u56e2\u957f\u4e1a\u7ee9","en-CN":"achievement","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10622","company_id":0,"name":"\u63d0\u73b0\u7533\u8bf7","url":"\/shopadmin\/marketing\/community\/withdraw","sort":6,"is_menu":true,"pid":"10607","apis":"community.chief.cash_withdrawal.list\ncommunity.chief.cash_withdrawal.process\ncommunity.chief.cash_withdrawal.payinfo","icon":null,"is_show":true,"alias_name":"withdraw","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u63d0\u73b0\u7533\u8bf7","en-CN":"withdraw","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10178","company_id":0,"name":"\u62a5\u8868","url":"\/shopadmin\/statistics","sort":7,"is_menu":true,"pid":"0","apis":"","icon":"chart-bar","is_show":true,"alias_name":"statistics","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u62a5\u8868","en-CN":"statistics","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10205","company_id":0,"name":"\u5e97\u94fa\u7edf\u8ba1","url":"\/shopadmin\/statistics\/distributordata","sort":1,"is_menu":true,"pid":"10178","apis":"datacube.distributor.data","icon":null,"is_show":true,"alias_name":"distributordata","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5e97\u94fa\u7edf\u8ba1","en-CN":"distributordata","ar-SA":""},"level":2,"parent_name":"\u62a5\u8868","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10633","company_id":0,"name":"\u7ed3\u7b97","url":"\/shopadmin\/statistics\/financial\/settlement","sort":2,"is_menu":true,"pid":"10178","apis":"","icon":null,"is_show":true,"alias_name":"settlement","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u7ed3\u7b97","en-CN":"settlement","ar-SA":""},"level":2,"parent_name":"\u62a5\u8868","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"10634","company_id":0,"name":"\u7ed3\u7b97\u6c47\u603b","url":"\/shopadmin\/statistics\/financial\/settlement\/summary","sort":1,"is_menu":true,"pid":"10633","apis":"merchant.list\nstatement.summarized.get\nstatement.confirm.post\nstatement.detail.get\nstatement.summarized.export\nstatement.detail.export","icon":null,"is_show":true,"alias_name":"summary","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u7ed3\u7b97\u6c47\u603b","en-CN":"summary","ar-SA":""},"level":3,"parent_name":"\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10677","company_id":0,"name":"\u5e94\u7528","url":"\/shopadmin\/applications","sort":8,"is_menu":true,"pid":"0","apis":"","icon":"yingyong-01","is_show":true,"alias_name":"applications","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5e94\u7528","en-CN":"applications","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"10782","company_id":0,"name":"\u6597\u62f1\u5206\u8d26","url":"\/shopadmin\/applications\/bspay","sort":1,"is_menu":true,"pid":"10677","apis":null,"icon":null,"is_show":true,"alias_name":"bspay","version":3,"disabled":false,"created":1741747147,"updated":1741747147,"name_lang":{"zh-CN":"\u6597\u62f1\u5206\u8d26","en-CN":"bspay","ar-SA":""},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10783","company_id":0,"name":"\u7528\u6237\u8fdb\u4ef6","url":"\/shopadmin\/applications\/bspay\/user","sort":1,"is_menu":true,"pid":"10782","apis":"bspay.user_indv.create\nbspay.user_indv.modify\nbspay.user_ent.create\nbspay.user_ent.modify\nbspay.user.audit_state\nbspay.user_ent.info\nbspay.user_indv.info\nbspay.regions\nbspay.regions.third\nbspay.user.audit_state\nbspay.trade.getList","icon":null,"is_show":true,"alias_name":"user","version":3,"disabled":false,"created":1741747196,"updated":1741747346,"name_lang":{"zh-CN":"\u7528\u6237\u8fdb\u4ef6","en-CN":"user","ar-SA":""},"level":3,"parent_name":"\u6597\u62f1\u5206\u8d26","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10784","company_id":0,"name":"\u5206\u8d26\u660e\u7ec6","url":"\/shopadmin\/applications\/bspay\/trades","sort":1,"is_menu":true,"pid":"10782","apis":"bspay.trade.getList\nbspay.tradeInfo.get\nbspay.trades.list.export","icon":null,"is_show":true,"alias_name":"trades","version":3,"disabled":false,"created":1741747218,"updated":1741747362,"name_lang":{"zh-CN":"\u5206\u8d26\u660e\u7ec6","en-CN":"trades","ar-SA":""},"level":3,"parent_name":"\u6597\u62f1\u5206\u8d26","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10678","company_id":0,"name":"Adapay\u5206\u8d26","url":"\/shopadmin\/applications\/adapay","sort":1,"is_menu":true,"pid":"10677","apis":null,"icon":null,"is_show":true,"alias_name":"adapay","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"Adapay\u5206\u8d26","en-CN":"adapay","ar-SA":""},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["b2c","standard","platform"]},{"shopmenu_id":"10679","company_id":0,"name":"\u8fdb\u4ef6","url":"\/shopadmin\/applications\/adapay\/adapay_member_entry","sort":1,"is_menu":true,"pid":"10678","apis":"adapay.member.create\nadapay.bank.list\nadapay.member.update\nadapay.corp_member.update\nadapay.generate.key\nadapay.member.auditState\nadapay.member.valid\nadapay.member.info\nadapay.corp_member.create\nadapay.member.modify\nadapay.corp_member.modify\nadapay.trade.getList","icon":null,"is_show":true,"alias_name":"adapay_member_entry","version":3,"disabled":false,"created":1675936333,"updated":1722997164,"name_lang":{"zh-CN":"\u8fdb\u4ef6","en-CN":"adapay_member_entry","ar-SA":""},"level":3,"parent_name":"Adapay\u5206\u8d26","isChildrenMenu":false,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"10680","company_id":0,"name":"\u5206\u8d26","url":"\/shopadmin\/applications\/adapay\/adapay_trades","sort":2,"is_menu":true,"pid":"10678","apis":null,"icon":null,"is_show":true,"alias_name":"adapay_trades","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5206\u8d26","en-CN":"adapay_trades","ar-SA":""},"level":3,"parent_name":"Adapay\u5206\u8d26","isChildrenMenu":false,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"10681","company_id":0,"name":"\u63d0\u73b0","url":"\/shopadmin\/applications\/adapay\/adapay_cash","sort":3,"is_menu":true,"pid":"10678","apis":"adapay.drawcash.getList\nadapay.withdraw","icon":null,"is_show":true,"alias_name":"adapay_cash","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u63d0\u73b0","en-CN":"adapay_cash","ar-SA":""},"level":3,"parent_name":"Adapay\u5206\u8d26","isChildrenMenu":false,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"10682","company_id":0,"name":"\u8fdb\u4ef6\u4fe1\u606f","url":"\/shopadmin\/applications\/adapay\/adapay_member_info","sort":4,"is_menu":true,"pid":"10678","apis":"distributor.info","icon":null,"is_show":true,"alias_name":"adapay_member_info","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8fdb\u4ef6\u4fe1\u606f","en-CN":"adapay_member_info","ar-SA":""},"level":3,"parent_name":"Adapay\u5206\u8d26","isChildrenMenu":false,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"11142","company_id":0,"name":"\u4f01\u4e1a\u8d2d","url":"\/shopadmin\/applications\/ec","sort":3,"is_menu":true,"pid":"10677","apis":null,"icon":null,"is_show":true,"alias_name":"ec","version":3,"disabled":false,"created":1743051490,"updated":1743051490,"name_lang":{"zh-CN":"\u4f01\u4e1a\u8d2d","en-CN":"ec","ar-SA":""},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"11145","company_id":0,"name":"\u4f01\u4e1a\u7ba1\u7406","url":"\/shopadmin\/applications\/ec\/company","sort":1,"is_menu":true,"pid":"11142","apis":"employeepurchase.enterprise.add\nemployeepurchase.employee.create\nemployeepurchase.activity.create\nemployeepurchase.employee.delete\nemployeepurchase.enterprise.status.update\nemployeepurchase.activity.users\nemployeepurchase.activity.info\nemployeepurchase.activity.items.add\nemployeepurchase.activity.items.list\nemployeepurchase.activity.suspend\nemployeepurchase.activity.end\nemployeepurchase.enterprise.qrcode.get\npagestemplateset.set\nemployeepurchase.enterprise.update\nemployeepurchase.enterprise.sendtestemail","icon":null,"is_show":true,"alias_name":"company-admin","version":3,"disabled":false,"created":1743051642,"updated":1743412490,"name_lang":{"zh-CN":"\u4f01\u4e1a\u7ba1\u7406","en-CN":"company-admin","ar-SA":""},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"11144","company_id":0,"name":"\u5458\u5de5\u7ba1\u7406","url":"\/shopadmin\/applications\/ec\/employee","sort":2,"is_menu":true,"pid":"11142","apis":"employeepurchase.enterprise.list\nemployeepurchase.employee.list\nemployeepurchase.employees.export\nemployeepurchase.employee.update","icon":null,"is_show":true,"alias_name":"employee-admin","version":3,"disabled":false,"created":1743051598,"updated":1743412475,"name_lang":{"zh-CN":"\u5458\u5de5\u7ba1\u7406","en-CN":"employee-admin","ar-SA":""},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"11143","company_id":0,"name":"\u6d3b\u52a8\u7ba1\u7406","url":"\/shopadmin\/applications\/ec\/purchaseactivity","sort":3,"is_menu":true,"pid":"11142","apis":"promotions.employeepurchase.list\npromotions.employeepurchase.info\npromotions.employeepurchase.add\npromotions.employeepurchase.update\nespier.upload.template.export\nespier.upload\npromotions.employeepurchase.endactivity\npromotions.employeepurchase.dependents.lists\npromotions.employeepurchase.dependents.export\ntemplate_name\nemployeepurchase.activity.items.update\nemployeepurchase.activity.update\nemployeepurchase.activity.if_share_store.set\nemployeepurchase.activity.ahead\nemployeepurchase.activity.items.delete\nemployeepurchase.activity.spec_items.update","icon":null,"is_show":true,"alias_name":"purchase-admin","version":3,"disabled":false,"created":1743051533,"updated":1764852255,"name_lang":{"zh-CN":"\u6d3b\u52a8\u7ba1\u7406","en-CN":"purchase-admin","ar-SA":""},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"11146","company_id":0,"name":"\u8ba2\u5355\u7ba1\u7406","url":"\/shopadmin\/applications\/ec\/purchaseorder","sort":4,"is_menu":true,"pid":"11142","apis":"order.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel\nemployeepurchase.activity.list","icon":null,"is_show":true,"alias_name":"purchase-list","version":3,"disabled":false,"created":1743051701,"updated":1743054668,"name_lang":{"zh-CN":"\u8ba2\u5355\u7ba1\u7406","en-CN":"purchase-list","ar-SA":""},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10268","company_id":0,"name":"\u8bbe\u7f6e","url":"\/shopadmin\/shopsetting","sort":9,"is_menu":true,"pid":"0","apis":"order.delivervstaff.confirm","icon":"cog","is_show":true,"alias_name":"shopsetting","version":3,"disabled":false,"created":1675936333,"updated":1765027527,"name_lang":{"zh-CN":"\u8bbe\u7f6e","en-CN":"Store Settings","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10623","company_id":0,"name":"\u8d26\u53f7\u7ba1\u7406","url":"\/shopadmin\/shopsetting\/staff","sort":1,"is_menu":true,"pid":"10268","apis":"order.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"distributor-staff","version":3,"disabled":false,"created":1675936333,"updated":1730169628,"name_lang":{"zh-CN":"\u8d26\u53f7\u7ba1\u7406","en-CN":"distributor-staff","ar-SA":""},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10624","company_id":0,"name":"\u5e97\u94fa\u7ba1\u7406\u5458","url":"\/shopadmin\/shopsetting\/staff\/Merchantstaff","sort":1,"is_menu":true,"pid":"10623","apis":"account.create\naccount.list\naccount.info\naccount.update\naccount.delete\nroles.list\naccount.roles.permission\nespier.subdistrict.list.get\noperator.status.change\norder.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"Merchant-staff","version":3,"disabled":false,"created":1675936333,"updated":1730169636,"name_lang":{"zh-CN":"\u5e97\u94fa\u7ba1\u7406\u5458","en-CN":"Merchant-staff","ar-SA":""},"level":3,"parent_name":"\u8d26\u53f7\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10625","company_id":0,"name":"\u5e97\u94fa\u89d2\u8272","url":"\/shopadmin\/shopsetting\/staff\/Merchantstaffroles","sort":1,"is_menu":true,"pid":"10623","apis":"roles.create\nroles.list\nroles.info\nroles.update\nroles.delete\norder.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"platformstaffroles","version":3,"disabled":false,"created":1675936333,"updated":1730169640,"name_lang":{"zh-CN":"\u5e97\u94fa\u89d2\u8272","en-CN":"platformstaffroles","ar-SA":""},"level":3,"parent_name":"\u8d26\u53f7\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10759","company_id":0,"name":"\u914d\u9001\u5458","url":"\/shopadmin\/shopsetting\/staff\/selfdeliverystaff","sort":2,"is_menu":true,"pid":"10623","apis":"datacube.deliverystaff.data\norder.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"shopadmin_shopsetting_staff_selfdeliverystaff","version":3,"disabled":false,"created":1722662879,"updated":1730103301,"name_lang":{"zh-CN":"\u914d\u9001\u5458","en-CN":"shopadmin_shopsetting_staff_selfdeliverystaff","ar-SA":""},"level":3,"parent_name":"\u8d26\u53f7\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10269","company_id":0,"name":"\u5bfc\u51fa\u5217\u8868","url":"\/shopadmin\/shopsetting\/baseexport","sort":2,"is_menu":true,"pid":"10268","apis":"espier.export.loglist\nespier.export.file.down","icon":null,"is_show":true,"alias_name":"shop-baseexport","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5bfc\u51fa\u5217\u8868","en-CN":"shop-baseexport","ar-SA":""},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10488","company_id":0,"name":"\u8131\u654f\u6570\u636e","url":"\/shopadmin\/shopsetting\/datapass","sort":3,"is_menu":true,"pid":"10268","apis":"","icon":null,"is_show":true,"alias_name":"datapass","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8131\u654f\u6570\u636e","en-CN":"datapass","ar-SA":""},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10489","company_id":0,"name":"\u6743\u9650\u7533\u8bf7","url":"\/shopadmin\/shopsetting\/datapass\/apply","sort":1,"is_menu":true,"pid":"10488","apis":"companys.datapass.list\ncompanys.datapass.apply","icon":null,"is_show":true,"alias_name":"applyDataPass","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6743\u9650\u7533\u8bf7","en-CN":"applyDataPass","ar-SA":""},"level":3,"parent_name":"\u8131\u654f\u6570\u636e","isChildrenMenu":false,"menu_type":["all"]}] \ No newline at end of file +[{"shopmenu_id":"10146","company_id":0,"name":"\u5546\u54c1","url":"\/shopadmin\/entity","sort":2,"is_menu":true,"pid":"0","apis":"point.member.rule.info\noperator.update.data\nwechat.pre_auth_url\nthird.jushuitan.setting.get\nthird.wdterp.setting.get","icon":"shopping-bag","is_show":true,"alias_name":"entity","version":3,"disabled":false,"created":1675936333,"updated":1770003360,"name_lang":{"zh-CN":"\u5546\u54c1","en-CN":"entity1","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10147","company_id":0,"name":"\u5546\u54c1\u7ba1\u7406","url":"\/shopadmin\/entity\/goodsphysical","sort":1,"is_menu":true,"pid":"10146","apis":"goods.items.create\ngoods.items.templates_change\ngoods.items.category_change\ngoods.items.lists\ngoods.items.detail\ngoods.items.delete\ngoods.items.update\ngoods.items.distributiongoodswxacode\ngoods.items.warning_store\ngoods.category.lists\nshipping.templates.list\ncurrency.get.default\nwechat.material.upload\nwechat.material.list\ngoods.tag.list\npoint.member.rule.info\npopularize.config.get\ngoods.category.get\ngoods.tag.rel\ngoods.store.upate\ngoods.member.price\ngoods.status.upate\ngoods.export\ngoods.sync.items\ngoods.tag.export\ngoods.isgift.upate\nwechat.authorizerInfo\ngoods.profit.info\ngoods.profit.save\nespier.subdistrict.list.get\ngoods.itemsupdate\nwechat.wxa.template.list\nthird.jushuitan.setting.get\nthird.wdterp.setting.get\ngoods.items.sort\nthird.wdterp.setting.get\nall.setting.get\ngoods.items.params.create","icon":null,"is_show":true,"alias_name":"goodsphysical","version":3,"disabled":false,"created":1675936333,"updated":1767577110,"name_lang":{"zh-CN":"\u5546\u54c1\u7ba1\u7406","en-CN":"goodsphysical","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10674","company_id":0,"name":"\u5e97\u94fa\u5546\u54c1","url":"\/shopadmin\/entity\/storeshopproductanagement","sort":1,"is_menu":true,"pid":"10146","apis":"popularize.config.get\ngoods.tag.list\nwechat.wxa.template.list\nshipping.templates.list\ngoods.attributes.list\ngoods.category.lists\ngoods.items.detail\nthird.jushuitan.setting.get\nthird.wdterp.setting.get","icon":null,"is_show":true,"alias_name":"storeshopproductanagement","version":3,"disabled":false,"created":1675936333,"updated":1770023501,"name_lang":{"zh-CN":"\u5e97\u94fa\u5546\u54c1","en-CN":"storeshopproductanagement","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["standard"]},{"shopmenu_id":"10172","company_id":0,"name":"\u5546\u54c1\u5bfc\u5165","url":"\/shopadmin\/entity\/physicalupload","sort":2,"is_menu":true,"pid":"10146","apis":"espier.upload.list\nespier.upload.template.export\nespier.upload\nespier.upload.error.export","icon":null,"is_show":true,"alias_name":"physicalupload","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u5bfc\u5165","en-CN":"physicalupload","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10148","company_id":0,"name":"\u5546\u54c1\u54c1\u724c","url":"\/shopadmin\/entity\/goodsbrand","sort":3,"is_menu":true,"pid":"10146","apis":"goods.attributes.add\ngoods.attributes.update\ngoods.attributes.list\ngoods.attributes.delete\nespier.image.uploadToken.get\nespier.image.save\nespier.oss.uploadToken.get\ngoods.sync.brand","icon":null,"is_show":true,"alias_name":"goodsbrand","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u54c1\u724c","en-CN":"goodsbrand","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10149","company_id":0,"name":"\u5e97\u94fa\u5206\u7c7b","url":"\/shopadmin\/entity\/goodscategory","sort":4,"is_menu":true,"pid":"10146","apis":"goods.category.lists\ngoods.category.create\ngoods.category.delete\ngoods.items.lists\nshipping.templates.list\ngoods.items.detail\ngoods.createcategory.create\ngoods.category.update\nwechat.wxa.customizepage.list","icon":null,"is_show":true,"alias_name":"goodscategory","version":3,"disabled":false,"created":1675936333,"updated":1722654946,"name_lang":{"zh-CN":"\u5e97\u94fa\u5206\u7c7b","en-CN":"goodscategory","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10150","company_id":0,"name":"\u5546\u54c1\u6807\u7b7e","url":"\/shopadmin\/entity\/itemtags","sort":5,"is_menu":true,"pid":"10146","apis":"goods.tag.add\ngoods.tag.delete\ngoods.tag.update\ngoods.tag.list\ngoods.tag.get\nmember.tag.add","icon":null,"is_show":true,"alias_name":"itemtags","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u6807\u7b7e","en-CN":"itemtags","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10490","company_id":0,"name":"\u5546\u54c1\u8bc4\u4ef7","url":"\/shopadmin\/entity\/rate","sort":6,"is_menu":true,"pid":"10146","apis":"traderate.list.get\ntraderate.details.get\ntraderate.rate.delete\ntraderate.reply.put","icon":null,"is_show":true,"alias_name":"rate","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5546\u54c1\u8bc4\u4ef7","en-CN":"rate","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10151","company_id":0,"name":"\u7d20\u6750\u7ba1\u7406","url":"\/shopadmin\/entity\/brandmaterial","sort":7,"is_menu":true,"pid":"10146","apis":"wechat.material.upload\nwechat.news.image.upload\nwechat.material.delete\nwechat.material.list\nwechat.material.stats\nwechat.material.news.add\nwechat.material.news.update\nwechat.material.news.get\nespier.image.del\nespier.image.move.cat","icon":null,"is_show":true,"alias_name":"brandmaterial","version":3,"disabled":false,"created":1675936333,"updated":1767097766,"name_lang":{"zh-CN":"\u7d20\u6750\u7ba1\u7406","en-CN":"brandmaterial","ar-SA":""},"level":2,"parent_name":"\u5546\u54c1","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10143","company_id":0,"name":"\u4ea4\u6613","url":"\/shopadmin\/order","sort":3,"is_menu":true,"pid":"0","apis":"company.real.statistics\norder.writeoff.qr.set\norder.delivervstaff.confirm\nthird.jushuitan.setting.get\nall.setting.get","icon":"clipboard-list","is_show":true,"alias_name":"order","version":3,"disabled":false,"created":1675936333,"updated":1770003365,"name_lang":{"zh-CN":"\u4ea4\u6613","en-CN":"order","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10144","company_id":0,"name":"\u5168\u90e8\u8ba2\u5355","url":"\/shopadmin\/order\/tradenormalorders","sort":1,"is_menu":true,"pid":"10143","apis":"order.list.get\ncompany.real.statistics\nsource.list\norder.info.get\norder.delivery\norder.list.export\nshops.lists\ndistributor.list\nmember.info\norder.cancel.info\norder.cancel\norder.writeoff.info.get\norder.writeoff.set\ninvoice.list.export\norder.process.log.get\norder.delivery.lists\norder.invoiced.invoiced\norder.delivery.update\norder.businessreceipt\norder.confirm.goods\norder.message.new\norder.message.list\norder.message.update\ngoods.items.onsale.lists\ncompanys.operator.cartdata.scanadd\ncompanys.operator.cartdata.add\ncompanys.operator.cartdata.update\ncompanys.operator.cartdata.list\ncompanys.operator.cartdata.del\norder.checkout\norder.create\norder.payment\norder.payment.query\nuser.card.list\npresale.pickupcode.setting.get\nmember.create\ncompanys.operator.cartdata.pending\ncompanys.operator.order.pending\ncompanys.operator.pending.fetch\ncompanys.operator.pending.delete\ncompanys.operator.pending.list\norder.markdown\norder.markdown.confirm\nespier.image.cat.children\naftersales.apply\ndelivery.process.list\norder.writeoff.qr.set\norder.deliverystaff.confirm\norder.deliverystaff.cancel\norder.deliverypackag.confirm\ndatacube.deliverystaff.data\norder.delivervstaff.confirm\nall.setting.get","icon":null,"is_show":true,"alias_name":"shoptradenormalorders","version":3,"disabled":false,"created":1675936333,"updated":1770023490,"name_lang":{"zh-CN":"\u5168\u90e8\u8ba2\u5355","en-CN":"shoptradenormalorders","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10145","company_id":0,"name":"\u4ea4\u6613\u5355","url":"\/shopadmin\/order\/tradepayment","sort":2,"is_menu":true,"pid":"10143","apis":"shops.lists\norder.trade.list\ntrades.list.export\ndelivery.process.list","icon":null,"is_show":true,"alias_name":"tradepayment","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u4ea4\u6613\u5355","en-CN":"tradepayment","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10152","company_id":0,"name":"\u552e\u540e\u5217\u8868","url":"\/shopadmin\/order\/aftersaleslist","sort":4,"is_menu":true,"pid":"10143","apis":"aftersales.list\naftersales.info\naftersales.review\naftersales.logexport\naftersales.remind.get\ndelivery.process.list\norder.delivervstaff.confirm\naftersales.sendback","icon":null,"is_show":true,"alias_name":"aftersaleslist","version":3,"disabled":false,"created":1675936333,"updated":1737635493,"name_lang":{"zh-CN":"\u552e\u540e\u5217\u8868","en-CN":"aftersaleslist","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10641","company_id":0,"name":"\u9000\u6b3e\u5355","url":"\/shopadmin\/order\/aftersalesrefundlist","sort":5,"is_menu":true,"pid":"10143","apis":"refund.list\nrefund.logexport\ntrade.refunderrorlogs.list\ntrade.refunderrorlogs.resubmit\nrefund.info\ndelivery.process.list\nrefund.offline","icon":null,"is_show":true,"alias_name":"aftersalesrefundlist","version":3,"disabled":false,"created":1675936333,"updated":1767512200,"name_lang":{"zh-CN":"\u9000\u6b3e\u5355","en-CN":"aftersalesrefundlist","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10153","company_id":0,"name":"\u8fd0\u8d39\u6a21\u677f","url":"\/shopadmin\/order\/shippingtemplates","sort":5,"is_menu":true,"pid":"10143","apis":"shipping.templates.list\nshipping.templates.info\nshipping.templates.create\nshipping.templates.update\nshipping.templates.delete\nespier.address.info\ndelivery.process.list","icon":null,"is_show":true,"alias_name":"shippingtemplates","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8fd0\u8d39\u6a21\u677f","en-CN":"shippingtemplates","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10213","company_id":0,"name":"\u914d\u9001\u7ba1\u7406","url":"\/shopadmin\/order\/logistics","sort":6,"is_menu":true,"pid":"10143","apis":"company.logistics.list\ncompany.logistics.create\ncompany.logistics.delete\ntrade.logistics.list\npickuplocation.list.get\npickuplocation.info.get\npickuplocation.create\npickuplocation.update\npickuplocation.reldistributor\npickuplocation.reldistributor.cancel\ndelivery.process.list\norder.delivervstaff.confirm\ndatacube.deliverystaff.data","icon":null,"is_show":true,"alias_name":"wl-logistics","version":3,"disabled":false,"created":1675936333,"updated":1730173113,"name_lang":{"zh-CN":"\u914d\u9001\u7ba1\u7406","en-CN":"wl-logistics","ar-SA":""},"level":2,"parent_name":"\u4ea4\u6613","isChildrenMenu":false,"menu_type":["platform","standard","all"]},{"shopmenu_id":"10154","company_id":0,"name":"\u4f1a\u5458","url":"\/shopadmin\/member","sort":4,"is_menu":true,"pid":"0","apis":"","icon":"gem1","is_show":true,"alias_name":"member","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u4f1a\u5458","en-CN":"member","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10155","company_id":0,"name":"\u4f1a\u5458\u7ba1\u7406","url":"\/shopadmin\/member\/member","sort":1,"is_menu":true,"pid":"10154","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\ndistributor.list\nvipgrade.order.list\nmember.register.get\npoint.member.list\nrights.log.list\nworkwechat.rel.log\nvipgrade.use.list\naliyunsms.status.get\npoint.adjustment\nthird.dmcrm.setting.get\naliyunsms.status.get","icon":null,"is_show":true,"alias_name":"member-list-view","version":3,"disabled":false,"created":1675936333,"updated":1770023539,"name_lang":{"zh-CN":"\u4f1a\u5458\u7ba1\u7406","en-CN":"member-list-view","ar-SA":""},"level":2,"parent_name":"\u4f1a\u5458","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10157","company_id":0,"name":"\u7fa4\u53d1\u4f18\u60e0\u5238","url":"\/shopadmin\/member\/member","sort":1,"is_menu":false,"pid":"10155","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\npromotions.give.create\npromotions.give.list\npromotions.give.info","icon":null,"is_show":true,"alias_name":"member-send-coupons","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u7fa4\u53d1\u4f18\u60e0\u5238","en-CN":"member-send-coupons","ar-SA":""},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"11182","company_id":0,"name":"\u4f1a\u5458\u5217\u8868","url":"\/shopadmin\/member\/member\/members-lists","sort":1,"is_menu":true,"pid":"10155","apis":"member.register.get\naliyunsms.status.get\nthird.dmcrm.setting.get","icon":null,"is_show":true,"alias_name":"members-lists","version":3,"disabled":false,"created":1750674825,"updated":1770023574,"name_lang":{"zh-CN":"\u4f1a\u5458\u5217\u8868","en-CN":"members-lists","ar-SA":""},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10174","company_id":0,"name":"\u4f1a\u5458\u5bfc\u51fa","url":"\/shopadmin\/member\/member","sort":1,"is_menu":false,"pid":"10155","apis":"member.export","icon":null,"is_show":true,"alias_name":"member-export","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u4f1a\u5458\u5bfc\u51fa","en-CN":"member-export","ar-SA":""},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10159","company_id":0,"name":"\u6253\u6807\u7b7e","url":"\/shopadmin\/member\/member","sort":3,"is_menu":false,"pid":"10155","apis":"member.list\nmember.operate.logs\nmember.update\nmember.info\neffectiveCard.list\nmembercard.grade.list\nmembercard.vipgrade.list\norder.rights.list.get\nshops.lists\norder.list.get\norder.info.get\ndeposit.trades\norder.rights.transfer.list\nmember.tag.list\nmember.tagsearch\nmember.tag.rel\nmember.batch.operating","icon":null,"is_show":true,"alias_name":"member-tag","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6253\u6807\u7b7e","en-CN":"member-tag","ar-SA":""},"level":3,"parent_name":"\u4f1a\u5458\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10160","company_id":0,"name":"\u5e97\u94fa","url":"\/shopadmin\/store","sort":4,"is_menu":true,"pid":"0","apis":"","icon":"store-alt","is_show":true,"alias_name":"store","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5e97\u94fa","en-CN":"store","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10161","company_id":0,"name":"\u5e97\u94fa\u4fe1\u606f","url":"\/shopadmin\/store\/marketingdistributor","sort":1,"is_menu":true,"pid":"10160","apis":"distributor.list\ndistributor.create\ndistributor.edit\ndistributor.item.list\ndistributor.wxacode\ndistributor.get.shop\ndistributor.item.update\ndistributor.default.set\ndistributor.create\ndistributor.item.delete\ngoods.items.distributiongoodswxacode\ncurrency.get.default\ndistributor.info\ndistributor.tag.list\npromotions.liverooms\nrecommendlike.list\ncompany.regionauth.list\nhfpay.ledgerconfig.index\ncompany.dada.info\npagestemplate.lists\npagestemplateset.getInfo\npagestemplate.add\npagestemplate.delete\npagestemplate.modifyStatus\npagestemplate.copy\npagestemplate.edit\npagestemplate.detail\ndistribution.distance.get\ndistribution.distance.save\ngoods.sku.lists\nPromotions.seckill.item.list\norder.writeoff.qr.set\ndistributor.aftersales.list\norder.delivervstaff.confirm\norders.setting.get\nespier.image.cat.edit\nselfhelp.registrationActivity.easylist\narticle.list\ntrade.payment.setting.get\ntrade.payment.setting.set\ntrade.payment.open.status.get\npagestemplate.widget.items\ndistributor.category.list","icon":null,"is_show":true,"alias_name":"marketingdistributor","version":3,"disabled":false,"created":1675936333,"updated":1775145397,"name_lang":{"zh-CN":"\u5e97\u94fa\u4fe1\u606f","en-CN":"marketingdistributor","ar-SA":""},"level":2,"parent_name":"\u5e97\u94fa","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10905","company_id":0,"name":"\u5e97\u94fa\u767d\u540d\u5355","url":"\/shopadmin\/store\/storewhitelist","sort":14,"is_menu":true,"pid":"10160","apis":null,"icon":"storewhitelist","is_show":true,"alias_name":"storewhitelist","version":3,"disabled":false,"created":1742884880,"updated":1742884880,"name_lang":{"zh-CN":"\u5e97\u94fa\u767d\u540d\u5355","en-CN":"storewhitelist","ar-SA":""},"level":2,"parent_name":"\u5e97\u94fa","isChildrenMenu":false,"menu_type":["in_purchase","standard"]},{"shopmenu_id":"10162","company_id":0,"name":"\u8425\u9500","url":"\/shopadmin\/marketing","sort":5,"is_menu":true,"pid":"0","apis":"","icon":"gift","is_show":true,"alias_name":"marketing","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8425\u9500","en-CN":"marketing","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10163","company_id":0,"name":"\u4f18\u60e0\u5238","url":"\/shopadmin\/marketing\/coupon","sort":1,"is_menu":true,"pid":"10162","apis":"distributor.easy.list\ncard.consume","icon":null,"is_show":true,"alias_name":"coupon","version":3,"disabled":false,"created":1675936333,"updated":1729755065,"name_lang":{"zh-CN":"\u4f18\u60e0\u5238","en-CN":"coupon","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10165","company_id":0,"name":"\u4f18\u60e0\u5238\u7ba1\u7406","url":"\/shopadmin\/marketing\/coupon\/membermarketing","sort":1,"is_menu":true,"pid":"10163","apis":"card.list\ncard.create\ncard.update\ncard.delete\ncard.get\ncard.user.list\nshops.lists\ncard.detail.list\nwechat.material.list\nwechat.material.upload\ncurrency.get.default\nwechat.wxa.codeunlimit\ndistributor.easy.list\ncard.consume","icon":null,"is_show":true,"alias_name":"membermarketing","version":3,"disabled":false,"created":1675936333,"updated":1729755061,"name_lang":{"zh-CN":"\u4f18\u60e0\u5238\u7ba1\u7406","en-CN":"membermarketing","ar-SA":""},"level":3,"parent_name":"\u4f18\u60e0\u5238","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10166","company_id":0,"name":"\u53d1\u5238\u8bb0\u5f55","url":"\/shopadmin\/marketing\/coupon\/coupongive","sort":2,"is_menu":true,"pid":"10163","apis":"promotions.give.list\npromotions.give.info\ncard.consume","icon":null,"is_show":true,"alias_name":"coupongive","version":3,"disabled":false,"created":1675936333,"updated":1729755069,"name_lang":{"zh-CN":"\u53d1\u5238\u8bb0\u5f55","en-CN":"coupongive","ar-SA":""},"level":3,"parent_name":"\u4f18\u60e0\u5238","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10637","company_id":0,"name":"\u52a0\u4ef7\u8d2d","url":"\/shopadmin\/marketing\/Marketingspluspricebuy","sort":2,"is_menu":true,"pid":"10162","apis":"","icon":null,"is_show":true,"alias_name":"marketingspluspricebuy","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u52a0\u4ef7\u8d2d","en-CN":"marketingspluspricebuy","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10638","company_id":0,"name":"\u7ec4\u5408\u8d2d","url":"\/shopadmin\/marketing\/marketingpackage","sort":3,"is_menu":true,"pid":"10162","apis":"promotions.package.list.get\npromotions.package.create\npromotions.package.info.get\npromotions.package.cancel\npromotions.package.update","icon":null,"is_show":true,"alias_name":"marketingpackage","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u7ec4\u5408\u8d2d","en-CN":"marketingpackage","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10212","company_id":0,"name":"\u9650\u65f6\u4f18\u60e0","url":"\/shopadmin\/marketing\/marketing\/limitedtimesale","sort":4,"is_menu":true,"pid":"10162","apis":"Promotions.seckill.list\nPromotions.seckill.add\nPromotions.seckill.info\nPromotions.seckill.update\nPromotions.seckill.statusupdate\nPromotions.seckill.search.item.list","icon":null,"is_show":true,"alias_name":"limitedtimesale","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u9650\u65f6\u4f18\u60e0","en-CN":"limitedtimesale","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10639","company_id":0,"name":"\u5546\u54c1\u9650\u8d2d","url":"\/shopadmin\/marketing\/goodslimit","sort":5,"is_menu":true,"pid":"10162","apis":"promotions.limit.list.get\npromotions.limit.info.get\npromotions.limit.create\npromotions.limit.cancel\npromotions.limit.update","icon":null,"is_show":true,"alias_name":"goodslimit","version":3,"disabled":false,"created":1675936333,"updated":1776237145,"name_lang":{"zh-CN":"\u5546\u54c1\u9650\u8d2d","en-CN":"goodslimit","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10167","company_id":0,"name":"\u6ee1\u6298","url":"\/shopadmin\/marketing\/marketingsfulldiscount","sort":7,"is_menu":true,"pid":"10162","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ncurrency.get.default","icon":null,"is_show":true,"alias_name":"marketingsfulldiscount","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6ee1\u6298","en-CN":"marketingsfulldiscount","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10164","company_id":0,"name":"\u6ee1\u51cf","url":"\/shopadmin\/marketing\/marketingsfullminus","sort":8,"is_menu":true,"pid":"10162","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\ncurrency.get.default","icon":null,"is_show":true,"alias_name":"marketingsfullminus","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6ee1\u51cf","en-CN":"marketingsfullminus","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10168","company_id":0,"name":"\u6ee1\u8d60","url":"\/shopadmin\/marketing\/marketingsfullgift","sort":9,"is_menu":true,"pid":"10162","apis":"marketing.add\nmarketing.delete\nmarketing.update\nmarketing.list\nmarketing.info\nmarketing.item.list\ngoods.items.lists\nwechat.material.list\n","icon":null,"is_show":true,"alias_name":"marketingsfullgift","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6ee1\u8d60","en-CN":"marketingsfullgift","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10607","company_id":0,"name":"\u793e\u533a\u56e2\u8d2d","url":"\/shopadmin\/marketing\/community","sort":10,"is_menu":true,"pid":"10162","apis":"","icon":null,"is_show":true,"alias_name":"community","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u793e\u533a\u56e2\u8d2d","en-CN":"community","ar-SA":""},"level":2,"parent_name":"\u8425\u9500","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"10617","company_id":0,"name":"\u56e2\u957f\u7ba1\u7406","url":"\/shopadmin\/marketing\/community\/chief","sort":0,"is_menu":true,"pid":"10607","apis":"community.setting.chief\ncommunity.chief.apply.list\ncommunity.chief.apply.info\ncommunity.chief.approve\ncommunity.chief.list","icon":null,"is_show":true,"alias_name":"communitychief","version":3,"disabled":false,"created":1675936333,"updated":1746329335,"name_lang":{"zh-CN":"\u56e2\u957f\u7ba1\u7406","en-CN":"communitychief","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10609","company_id":0,"name":"\u6d3b\u52a8\u7ba1\u7406","url":"\/shopadmin\/marketing\/community\/activity","sort":1,"is_menu":true,"pid":"10607","apis":"community.list\nespier.subdistrict.list.get\ncommunity.activity.deliver\ncommunity.setting.chief\ncommunity.order.list.export","icon":null,"is_show":true,"alias_name":"communityactivity","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6d3b\u52a8\u7ba1\u7406","en-CN":"communityactivity","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10610","company_id":0,"name":"\u8ba2\u5355\u7ba1\u7406","url":"\/shopadmin\/marketing\/community\/order","sort":2,"is_menu":true,"pid":"10607","apis":"community.order.list.get\norder.remarks.update\norder.list.get\ncompany.real.statistics\nsource.list\norder.info.get\norder.delivery\norder.list.export\nshops.lists\ndistributor.list\nmember.info\norder.cancel.info\norder.cancel\norder.writeoff.info.get\norder.writeoff.set\ninvoice.list.export\norder.process.log.get\norder.delivery.lists\norder.invoiced.invoiced\norder.delivery.update\norder.businessreceipt\norder.confirm.goods\norder.message.new\norder.message.list\norder.message.update","icon":null,"is_show":true,"alias_name":"communityorder","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8ba2\u5355\u7ba1\u7406","en-CN":"communityorder","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10608","company_id":0,"name":"\u6d3b\u52a8\u5546\u54c1","url":"\/shopadmin\/marketing\/community\/communitygoods","sort":3,"is_menu":true,"pid":"10607","apis":"community.items.list.get\ncommunity.item.sort.update\ncommunity.item.minDeliveryNum.update\ncommunity.item.delete\ncommunity.items.add","icon":null,"is_show":true,"alias_name":"communitygoods","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6d3b\u52a8\u5546\u54c1","en-CN":"communitygoods","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10618","company_id":0,"name":"\u6d3b\u52a8\u914d\u7f6e","url":"\/shopadmin\/marketing\/community\/setting","sort":4,"is_menu":true,"pid":"10607","apis":"community.setting.get\ncommunity.setting.save\ncommunity.chief.apply_field.list\ncommunity.chief.apply_field.create\ncommunity.chief.apply_field.switch\ncommunity.chief.apply_field.update\ncommunity.chief.apply_field.delete\ncommunity.chief.apply.wxaCode","icon":null,"is_show":true,"alias_name":"communitysetting","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6d3b\u52a8\u914d\u7f6e","en-CN":"communitysetting","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10621","company_id":0,"name":"\u56e2\u957f\u4e1a\u7ee9","url":"\/shopadmin\/marketing\/community\/achievement","sort":5,"is_menu":true,"pid":"10607","apis":"community.chief.rebate.count","icon":null,"is_show":true,"alias_name":"achievement","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u56e2\u957f\u4e1a\u7ee9","en-CN":"achievement","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10622","company_id":0,"name":"\u63d0\u73b0\u7533\u8bf7","url":"\/shopadmin\/marketing\/community\/withdraw","sort":6,"is_menu":true,"pid":"10607","apis":"community.chief.cash_withdrawal.list\ncommunity.chief.cash_withdrawal.process\ncommunity.chief.cash_withdrawal.payinfo","icon":null,"is_show":true,"alias_name":"withdraw","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u63d0\u73b0\u7533\u8bf7","en-CN":"withdraw","ar-SA":""},"level":3,"parent_name":"\u793e\u533a\u56e2\u8d2d","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10178","company_id":0,"name":"\u62a5\u8868","url":"\/shopadmin\/statistics","sort":7,"is_menu":true,"pid":"0","apis":"","icon":"chart-bar","is_show":true,"alias_name":"statistics","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u62a5\u8868","en-CN":"statistics","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10205","company_id":0,"name":"\u5e97\u94fa\u7edf\u8ba1","url":"\/shopadmin\/statistics\/distributordata","sort":1,"is_menu":true,"pid":"10178","apis":"datacube.distributor.data","icon":null,"is_show":true,"alias_name":"distributordata","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5e97\u94fa\u7edf\u8ba1","en-CN":"distributordata","ar-SA":""},"level":2,"parent_name":"\u62a5\u8868","isChildrenMenu":false,"menu_type":["all"]},{"shopmenu_id":"10633","company_id":0,"name":"\u7ed3\u7b97","url":"\/shopadmin\/statistics\/financial\/settlement","sort":2,"is_menu":true,"pid":"10178","apis":"","icon":null,"is_show":true,"alias_name":"settlement","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u7ed3\u7b97","en-CN":"settlement","ar-SA":""},"level":2,"parent_name":"\u62a5\u8868","isChildrenMenu":true,"menu_type":["platform"]},{"shopmenu_id":"10634","company_id":0,"name":"\u7ed3\u7b97\u6c47\u603b","url":"\/shopadmin\/statistics\/financial\/settlement\/summary","sort":1,"is_menu":true,"pid":"10633","apis":"merchant.list\nstatement.summarized.get\nstatement.confirm.post\nstatement.detail.get\nstatement.summarized.export\nstatement.detail.export","icon":null,"is_show":true,"alias_name":"summary","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u7ed3\u7b97\u6c47\u603b","en-CN":"summary","ar-SA":""},"level":3,"parent_name":"\u7ed3\u7b97","isChildrenMenu":false,"menu_type":["platform"]},{"shopmenu_id":"10677","company_id":0,"name":"\u5e94\u7528","url":"\/shopadmin\/applications","sort":8,"is_menu":true,"pid":"0","apis":"","icon":"yingyong-01","is_show":true,"alias_name":"applications","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5e94\u7528","en-CN":"applications","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"10782","company_id":0,"name":"\u6597\u62f1\u5206\u8d26","url":"\/shopadmin\/applications\/bspay","sort":1,"is_menu":true,"pid":"10677","apis":null,"icon":null,"is_show":true,"alias_name":"bspay","version":3,"disabled":false,"created":1741747147,"updated":1741747147,"name_lang":{"zh-CN":"\u6597\u62f1\u5206\u8d26","en-CN":"bspay","ar-SA":""},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10783","company_id":0,"name":"\u7528\u6237\u8fdb\u4ef6","url":"\/shopadmin\/applications\/bspay\/user","sort":1,"is_menu":true,"pid":"10782","apis":"bspay.user_indv.create\nbspay.user_indv.modify\nbspay.user_ent.create\nbspay.user_ent.modify\nbspay.user.audit_state\nbspay.user_ent.info\nbspay.user_indv.info\nbspay.regions\nbspay.regions.third\nbspay.user.audit_state\nbspay.trade.getList","icon":null,"is_show":true,"alias_name":"user","version":3,"disabled":false,"created":1741747196,"updated":1741747346,"name_lang":{"zh-CN":"\u7528\u6237\u8fdb\u4ef6","en-CN":"user","ar-SA":""},"level":3,"parent_name":"\u6597\u62f1\u5206\u8d26","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10784","company_id":0,"name":"\u5206\u8d26\u660e\u7ec6","url":"\/shopadmin\/applications\/bspay\/trades","sort":1,"is_menu":true,"pid":"10782","apis":"bspay.trade.getList\nbspay.tradeInfo.get\nbspay.trades.list.export","icon":null,"is_show":true,"alias_name":"trades","version":3,"disabled":false,"created":1741747218,"updated":1741747362,"name_lang":{"zh-CN":"\u5206\u8d26\u660e\u7ec6","en-CN":"trades","ar-SA":""},"level":3,"parent_name":"\u6597\u62f1\u5206\u8d26","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10678","company_id":0,"name":"Adapay\u5206\u8d26","url":"\/shopadmin\/applications\/adapay","sort":1,"is_menu":true,"pid":"10677","apis":null,"icon":null,"is_show":true,"alias_name":"adapay","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"Adapay\u5206\u8d26","en-CN":"adapay","ar-SA":""},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["b2c","standard","platform"]},{"shopmenu_id":"10679","company_id":0,"name":"\u8fdb\u4ef6","url":"\/shopadmin\/applications\/adapay\/adapay_member_entry","sort":1,"is_menu":true,"pid":"10678","apis":"adapay.member.create\nadapay.bank.list\nadapay.member.update\nadapay.corp_member.update\nadapay.generate.key\nadapay.member.auditState\nadapay.member.valid\nadapay.member.info\nadapay.corp_member.create\nadapay.member.modify\nadapay.corp_member.modify\nadapay.trade.getList","icon":null,"is_show":true,"alias_name":"adapay_member_entry","version":3,"disabled":false,"created":1675936333,"updated":1722997164,"name_lang":{"zh-CN":"\u8fdb\u4ef6","en-CN":"adapay_member_entry","ar-SA":""},"level":3,"parent_name":"Adapay\u5206\u8d26","isChildrenMenu":false,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"10680","company_id":0,"name":"\u5206\u8d26","url":"\/shopadmin\/applications\/adapay\/adapay_trades","sort":2,"is_menu":true,"pid":"10678","apis":null,"icon":null,"is_show":true,"alias_name":"adapay_trades","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5206\u8d26","en-CN":"adapay_trades","ar-SA":""},"level":3,"parent_name":"Adapay\u5206\u8d26","isChildrenMenu":false,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"10681","company_id":0,"name":"\u63d0\u73b0","url":"\/shopadmin\/applications\/adapay\/adapay_cash","sort":3,"is_menu":true,"pid":"10678","apis":"adapay.drawcash.getList\nadapay.withdraw","icon":null,"is_show":true,"alias_name":"adapay_cash","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u63d0\u73b0","en-CN":"adapay_cash","ar-SA":""},"level":3,"parent_name":"Adapay\u5206\u8d26","isChildrenMenu":false,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"10682","company_id":0,"name":"\u8fdb\u4ef6\u4fe1\u606f","url":"\/shopadmin\/applications\/adapay\/adapay_member_info","sort":4,"is_menu":true,"pid":"10678","apis":"distributor.info","icon":null,"is_show":true,"alias_name":"adapay_member_info","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8fdb\u4ef6\u4fe1\u606f","en-CN":"adapay_member_info","ar-SA":""},"level":3,"parent_name":"Adapay\u5206\u8d26","isChildrenMenu":false,"menu_type":["b2c","platform","standard"]},{"shopmenu_id":"11142","company_id":0,"name":"\u4f01\u4e1a\u8d2d","url":"\/shopadmin\/applications\/ec","sort":3,"is_menu":true,"pid":"10677","apis":null,"icon":null,"is_show":true,"alias_name":"ec","version":3,"disabled":false,"created":1743051490,"updated":1743051490,"name_lang":{"zh-CN":"\u4f01\u4e1a\u8d2d","en-CN":"ec","ar-SA":""},"level":2,"parent_name":"\u5e94\u7528","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"11145","company_id":0,"name":"\u4f01\u4e1a\u7ba1\u7406","url":"\/shopadmin\/applications\/ec\/company","sort":1,"is_menu":true,"pid":"11142","apis":"employeepurchase.enterprise.add\nemployeepurchase.employee.create\nemployeepurchase.activity.create\nemployeepurchase.employee.delete\nemployeepurchase.enterprise.status.update\nemployeepurchase.activity.users\nemployeepurchase.activity.info\nemployeepurchase.activity.items.add\nemployeepurchase.activity.items.list\nemployeepurchase.activity.suspend\nemployeepurchase.activity.end\nemployeepurchase.enterprise.qrcode.get\npagestemplateset.set\nemployeepurchase.enterprise.update\nemployeepurchase.enterprise.sendtestemail","icon":null,"is_show":true,"alias_name":"company-admin","version":3,"disabled":false,"created":1743051642,"updated":1743412490,"name_lang":{"zh-CN":"\u4f01\u4e1a\u7ba1\u7406","en-CN":"company-admin","ar-SA":""},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"11144","company_id":0,"name":"\u5458\u5de5\u7ba1\u7406","url":"\/shopadmin\/applications\/ec\/employee","sort":2,"is_menu":true,"pid":"11142","apis":"employeepurchase.enterprise.list\nemployeepurchase.employee.list\nemployeepurchase.employees.export\nemployeepurchase.employee.update","icon":null,"is_show":true,"alias_name":"employee-admin","version":3,"disabled":false,"created":1743051598,"updated":1743412475,"name_lang":{"zh-CN":"\u5458\u5de5\u7ba1\u7406","en-CN":"employee-admin","ar-SA":""},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"11143","company_id":0,"name":"\u6d3b\u52a8\u7ba1\u7406","url":"\/shopadmin\/applications\/ec\/purchaseactivity","sort":3,"is_menu":true,"pid":"11142","apis":"promotions.employeepurchase.list\npromotions.employeepurchase.info\npromotions.employeepurchase.add\npromotions.employeepurchase.update\nespier.upload.template.export\nespier.upload\npromotions.employeepurchase.endactivity\npromotions.employeepurchase.dependents.lists\npromotions.employeepurchase.dependents.export\ntemplate_name\nemployeepurchase.activity.items.update\nemployeepurchase.activity.update\nemployeepurchase.activity.if_share_store.set\nemployeepurchase.activity.ahead\nemployeepurchase.activity.items.delete\nemployeepurchase.activity.spec_items.update","icon":null,"is_show":true,"alias_name":"purchase-admin","version":3,"disabled":false,"created":1743051533,"updated":1764852255,"name_lang":{"zh-CN":"\u6d3b\u52a8\u7ba1\u7406","en-CN":"purchase-admin","ar-SA":""},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"11146","company_id":0,"name":"\u8ba2\u5355\u7ba1\u7406","url":"\/shopadmin\/applications\/ec\/purchaseorder","sort":4,"is_menu":true,"pid":"11142","apis":"order.deliverystaff.confirm\norder.deliverypackag.confirm\norder.deliverystaff.cancel\nemployeepurchase.activity.list","icon":null,"is_show":true,"alias_name":"purchase-list","version":3,"disabled":false,"created":1743051701,"updated":1743054668,"name_lang":{"zh-CN":"\u8ba2\u5355\u7ba1\u7406","en-CN":"purchase-list","ar-SA":""},"level":3,"parent_name":"\u4f01\u4e1a\u8d2d","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10268","company_id":0,"name":"\u8bbe\u7f6e","url":"\/shopadmin\/shopsetting","sort":9,"is_menu":true,"pid":"0","apis":"order.delivervstaff.confirm","icon":"cog","is_show":true,"alias_name":"shopsetting","version":3,"disabled":false,"created":1675936333,"updated":1765027527,"name_lang":{"zh-CN":"\u8bbe\u7f6e","en-CN":"Store Settings","ar-SA":""},"level":1,"parent_name":"\u65e0","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10623","company_id":0,"name":"\u8d26\u53f7\u7ba1\u7406","url":"\/shopadmin\/shopsetting\/staff","sort":1,"is_menu":true,"pid":"10268","apis":"order.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"distributor-staff","version":3,"disabled":false,"created":1675936333,"updated":1730169628,"name_lang":{"zh-CN":"\u8d26\u53f7\u7ba1\u7406","en-CN":"distributor-staff","ar-SA":""},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["platform","standard"]},{"shopmenu_id":"10624","company_id":0,"name":"\u5e97\u94fa\u7ba1\u7406\u5458","url":"\/shopadmin\/shopsetting\/staff\/Merchantstaff","sort":1,"is_menu":true,"pid":"10623","apis":"account.create\naccount.list\naccount.info\naccount.update\naccount.delete\nroles.list\naccount.roles.permission\nespier.subdistrict.list.get\noperator.status.change\norder.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"Merchant-staff","version":3,"disabled":false,"created":1675936333,"updated":1730169636,"name_lang":{"zh-CN":"\u5e97\u94fa\u7ba1\u7406\u5458","en-CN":"Merchant-staff","ar-SA":""},"level":3,"parent_name":"\u8d26\u53f7\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10625","company_id":0,"name":"\u5e97\u94fa\u89d2\u8272","url":"\/shopadmin\/shopsetting\/staff\/Merchantstaffroles","sort":1,"is_menu":true,"pid":"10623","apis":"roles.create\nroles.list\nroles.info\nroles.update\nroles.delete\norder.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"platformstaffroles","version":3,"disabled":false,"created":1675936333,"updated":1730169640,"name_lang":{"zh-CN":"\u5e97\u94fa\u89d2\u8272","en-CN":"platformstaffroles","ar-SA":""},"level":3,"parent_name":"\u8d26\u53f7\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10759","company_id":0,"name":"\u914d\u9001\u5458","url":"\/shopadmin\/shopsetting\/staff\/selfdeliverystaff","sort":2,"is_menu":true,"pid":"10623","apis":"datacube.deliverystaff.data\norder.delivervstaff.confirm","icon":null,"is_show":true,"alias_name":"shopadmin_shopsetting_staff_selfdeliverystaff","version":3,"disabled":false,"created":1722662879,"updated":1730103301,"name_lang":{"zh-CN":"\u914d\u9001\u5458","en-CN":"shopadmin_shopsetting_staff_selfdeliverystaff","ar-SA":""},"level":3,"parent_name":"\u8d26\u53f7\u7ba1\u7406","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10269","company_id":0,"name":"\u5bfc\u51fa\u5217\u8868","url":"\/shopadmin\/shopsetting\/baseexport","sort":2,"is_menu":true,"pid":"10268","apis":"espier.export.loglist\nespier.export.file.down","icon":null,"is_show":true,"alias_name":"shop-baseexport","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u5bfc\u51fa\u5217\u8868","en-CN":"shop-baseexport","ar-SA":""},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":false,"menu_type":["platform","standard"]},{"shopmenu_id":"10488","company_id":0,"name":"\u8131\u654f\u6570\u636e","url":"\/shopadmin\/shopsetting\/datapass","sort":3,"is_menu":true,"pid":"10268","apis":"","icon":null,"is_show":true,"alias_name":"datapass","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u8131\u654f\u6570\u636e","en-CN":"datapass","ar-SA":""},"level":2,"parent_name":"\u8bbe\u7f6e","isChildrenMenu":true,"menu_type":["all"]},{"shopmenu_id":"10489","company_id":0,"name":"\u6743\u9650\u7533\u8bf7","url":"\/shopadmin\/shopsetting\/datapass\/apply","sort":1,"is_menu":true,"pid":"10488","apis":"companys.datapass.list\ncompanys.datapass.apply","icon":null,"is_show":true,"alias_name":"applyDataPass","version":3,"disabled":false,"created":1675936333,"updated":1675936333,"name_lang":{"zh-CN":"\u6743\u9650\u7533\u8bf7","en-CN":"applyDataPass","ar-SA":""},"level":3,"parent_name":"\u8131\u654f\u6570\u636e","isChildrenMenu":false,"menu_type":["all"]}] \ No newline at end of file diff --git a/tests/EmailActivationMailViewTest.php b/tests/EmailActivationMailViewTest.php new file mode 100644 index 0000000..d4c1b5a --- /dev/null +++ b/tests/EmailActivationMailViewTest.php @@ -0,0 +1,44 @@ +setLocale('zh-CN'); + $html = view('members.email_activation', [ + 'brand' => '我的店', + 'activationUrl' => 'https://h5.example.com/subpages/auth/email-activate?token=abc%2F&company_id=1', + ])->render(); + + $this->assertStringContainsString('验证你的邮箱', $html); + $this->assertStringContainsString('我的店', $html); + $this->assertStringContainsString('成为会员只差一步', $html); + $this->assertStringContainsString('subpages/auth/email-activate', $html); + $this->assertStringContainsString('token=abc%2F', $html); + } + + public function testBrandHtmlEscaped(): void + { + app()->setLocale('zh-CN'); + $html = view('members.email_activation', [ + 'brand' => '', + 'activationUrl' => 'https://example.com/subpages/auth/email-activate?token=x&company_id=1', + ])->render(); + + $this->assertStringNotContainsString('', $html); + $this->assertStringContainsString('<script>', $html); + } + + public function testEnLocaleRendersEnglishCopy(): void + { + app()->setLocale('en-CN'); + $html = view('members.email_activation', [ + 'brand' => 'ECShopX', + 'activationUrl' => 'https://x/subpages/auth/email-activate?token=t&company_id=2', + ])->render(); + + $this->assertStringContainsString('Verify your email', $html); + $this->assertStringContainsString('One step left to become a member', $html); + $this->assertStringContainsString('ECShopX', $html); + } +} diff --git a/tests/EmailLoginVcodeMailViewTest.php b/tests/EmailLoginVcodeMailViewTest.php new file mode 100644 index 0000000..289e2c4 --- /dev/null +++ b/tests/EmailLoginVcodeMailViewTest.php @@ -0,0 +1,63 @@ +setLocale('zh-CN'); + $html = view('members.email_login_vcode', [ + 'brand' => '我的店', + 'code' => '123456', + 'ttlMinutes' => 10, + ])->render(); + + $this->assertStringContainsString('我的店', $html); + $this->assertStringContainsString('登录到我的店', $html); + $this->assertStringContainsString('您的一次性验证码是:', $html); + $this->assertStringContainsString('123456', $html); + $this->assertStringContainsString('10', $html); + $this->assertStringContainsString('分钟后过期', $html); + $this->assertStringContainsString('如果您没有请求登录', $html); + } + + public function testBrandHtmlEscaped(): void + { + app()->setLocale('zh-CN'); + $html = view('members.email_login_vcode', [ + 'brand' => '', + 'code' => '654321', + 'ttlMinutes' => 5, + ])->render(); + + $this->assertStringNotContainsString('', $html); + $this->assertStringContainsString('<script>', $html); + } + + public function testEnLocaleRendersEnglishCopy(): void + { + app()->setLocale('en-CN'); + $html = view('members.email_login_vcode', [ + 'brand' => 'ECShopX', + 'code' => '111222', + 'ttlMinutes' => 10, + ])->render(); + + $this->assertStringContainsString('Sign in to ECShopX', $html); + $this->assertStringContainsString('Your one-time verification code is:', $html); + $this->assertStringContainsString('111222', $html); + $this->assertStringContainsString('10 minutes', $html); + } + + public function testShortTtlShowsCeiledMinutes(): void + { + app()->setLocale('zh-CN'); + $html = view('members.email_login_vcode', [ + 'brand' => 'ECShopX', + 'code' => '000000', + 'ttlMinutes' => 2, + ])->render(); + + $this->assertStringContainsString('2', $html); + $this->assertStringContainsString('分钟后过期', $html); + } +} diff --git a/tests/EmailPasswordResetMailViewTest.php b/tests/EmailPasswordResetMailViewTest.php new file mode 100644 index 0000000..aa48838 --- /dev/null +++ b/tests/EmailPasswordResetMailViewTest.php @@ -0,0 +1,68 @@ +setLocale('zh-CN'); + $html = view('members.email_password_reset', [ + 'brand' => '我的店', + 'resetUrl' => 'https://h5.example.com/reset-password?token=abc%2F&company_id=1', + 'ttlMinutes' => 15, + ])->render(); + + $this->assertStringContainsString('我的店', $html); + $this->assertStringContainsString('重置密码', $html); + $this->assertStringContainsString('我们收到了重置您账户密码的请求。', $html); + $this->assertStringContainsString('reset-password', $html); + $this->assertStringContainsString('token=abc%2F', $html); + $this->assertStringContainsString('15', $html); + $this->assertStringContainsString('分钟后过期', $html); + $this->assertStringContainsString('如果您没有请求重置密码', $html); + } + + public function testBrandHtmlEscaped(): void + { + app()->setLocale('zh-CN'); + $html = view('members.email_password_reset', [ + 'brand' => '', + 'resetUrl' => 'https://example.com/reset-password?token=x&company_id=1', + 'ttlMinutes' => 5, + ])->render(); + + $this->assertStringNotContainsString('', $html); + $this->assertStringContainsString('<script>', $html); + } + + public function testEnLocaleRendersEnglishCopy(): void + { + app()->setLocale('en-CN'); + $html = view('members.email_password_reset', [ + 'brand' => 'ECShopX', + 'resetUrl' => 'https://x.example/reset-password?token=t&company_id=2', + 'ttlMinutes' => 20, + ])->render(); + + $this->assertStringContainsString('ECShopX', $html); + $this->assertStringContainsString('We received a request to reset the password for your account.', $html); + $this->assertStringContainsString('20', $html); + $this->assertStringContainsString('will expire in', $html); + $this->assertStringContainsString('If you did not request a password reset', $html); + } + + public function testIsAllowedResetEmailUrlAcceptsHttpHttps(): void + { + $this->assertTrue(MemberPasswordResetService::isAllowedResetEmailUrl('https://h5.example.com/reset-password?token=abc&company_id=1')); + $this->assertTrue(MemberPasswordResetService::isAllowedResetEmailUrl('http://localhost/reset-password?token=x&company_id=1')); + } + + public function testIsAllowedResetEmailUrlRejectsDangerousOrInvalid(): void + { + $this->assertFalse(MemberPasswordResetService::isAllowedResetEmailUrl('javascript:alert(1)')); + $this->assertFalse(MemberPasswordResetService::isAllowedResetEmailUrl('')); + $this->assertFalse(MemberPasswordResetService::isAllowedResetEmailUrl('ftp://example.com/x')); + $this->assertFalse(MemberPasswordResetService::isAllowedResetEmailUrl('/reset-password?token=x')); + } +} diff --git a/tests/MailSettingActivationBaseUrlResolverTest.php b/tests/MailSettingActivationBaseUrlResolverTest.php new file mode 100644 index 0000000..0c4204b --- /dev/null +++ b/tests/MailSettingActivationBaseUrlResolverTest.php @@ -0,0 +1,21 @@ +assertSame( + 'https://h5.example.com', + MailSettingActivationBaseUrlResolver::sanitizeStoredDomain(" https://h5.example.com\n\r") + ); + } + + public function testSanitizeStoredDomainTruncatesLongString(): void + { + $long = str_repeat('a', 600); + $out = MailSettingActivationBaseUrlResolver::sanitizeStoredDomain($long); + $this->assertSame(512, strlen($out)); + } +} diff --git a/tests/MemberPasswordPolicyTest.php b/tests/MemberPasswordPolicyTest.php new file mode 100644 index 0000000..db66045 --- /dev/null +++ b/tests/MemberPasswordPolicyTest.php @@ -0,0 +1,36 @@ +evaluate('Ab1'); + $this->assertFalse($r['valid']); + $this->assertSame('weak', $r['strength']); + } + + public function testPasswordWithoutDigitInvalid(): void + { + $s = new MemberPasswordPolicyService(); + $r = $s->evaluate('Abcdefgh'); + $this->assertFalse($r['valid']); + } + + public function testPasswordValidMedium(): void + { + $s = new MemberPasswordPolicyService(); + $r = $s->evaluate('Abcdef12'); + $this->assertTrue($r['valid']); + $this->assertTrue(in_array($r['strength'], ['medium', 'strong'], true)); + } + + public function testWeakPasswordRejected(): void + { + $s = new MemberPasswordPolicyService(); + $r = $s->evaluate('12345678a'); + $this->assertFalse($r['valid']); + } +} diff --git a/tests/MemberResendActivationEmailTest.php b/tests/MemberResendActivationEmailTest.php new file mode 100644 index 0000000..cc93c97 --- /dev/null +++ b/tests/MemberResendActivationEmailTest.php @@ -0,0 +1,30 @@ +assertSame(90, (int) config('common.member_email_activation_cooldown_seconds')); + } + + public function testResendTooFrequentTranslationZh(): void + { + app()->setLocale('zh-CN'); + $this->assertSame( + '请勿频繁请求,稍后再做尝试', + trans('MembersBundle/Members.email_activation_resend_too_frequent') + ); + } + + public function testResendTooFrequentTranslationEn(): void + { + app()->setLocale('en-CN'); + $this->assertStringContainsString( + 'Try again later', + trans('MembersBundle/Members.email_activation_resend_too_frequent') + ); + } +} diff --git a/tests/MemberSearchFilterLoginEmailTest.php b/tests/MemberSearchFilterLoginEmailTest.php new file mode 100644 index 0000000..c3e6ab2 --- /dev/null +++ b/tests/MemberSearchFilterLoginEmailTest.php @@ -0,0 +1,44 @@ + ' User@Example.COM ', + ]; + $authData = [ + 'company_id' => 1, + 'operator_type' => 'staff', + ]; + $filter = $c->dataFilter($postdata, $authData); + $this->assertIsArray($filter); + $this->assertArrayHasKey('login_email|like', $filter); + $this->assertSame('user@example.com', $filter['login_email|like']); + } + + public function testDataFilterOmitsEmptyLoginEmail(): void + { + $c = new class { + use MemberSearchFilter; + }; + $postdata = [ + 'login_email' => ' ', + ]; + $authData = [ + 'company_id' => 1, + 'operator_type' => 'staff', + ]; + $filter = $c->dataFilter($postdata, $authData); + $this->assertIsArray($filter); + $this->assertArrayNotHasKey('login_email|like', $filter); + } +} diff --git a/tests/MemberSyntheticMobileServiceTest.php b/tests/MemberSyntheticMobileServiceTest.php new file mode 100644 index 0000000..ce84731 --- /dev/null +++ b/tests/MemberSyntheticMobileServiceTest.php @@ -0,0 +1,46 @@ +assertTrue(MemberSyntheticMobileService::isAllocatedSyntheticMobile('10123456789')); + $this->assertTrue(MemberSyntheticMobileService::isAllocatedSyntheticMobile('19965271517')); + $this->assertFalse(MemberSyntheticMobileService::isAllocatedSyntheticMobile('13812345678')); + $this->assertFalse(MemberSyntheticMobileService::isAllocatedSyntheticMobile('')); + $this->assertFalse(MemberSyntheticMobileService::isAllocatedSyntheticMobile(null)); + } + + public function testStripSyntheticMobileForFrontApiClearsMobileAndRegion(): void + { + $row = ['mobile' => '10123456789', 'region_mobile' => '10123456789', 'user_id' => 1]; + MemberSyntheticMobileService::stripSyntheticMobileForFrontApi($row); + $this->assertSame('', $row['mobile']); + $this->assertSame('', $row['region_mobile']); + } + + public function testStripLeavesRealMobile(): void + { + $row = ['mobile' => '13812345678']; + MemberSyntheticMobileService::stripSyntheticMobileForFrontApi($row); + $this->assertSame('13812345678', $row['mobile']); + } + + public function testStripPlaceholderForEmailRegisteredClearsOnlyWhenLoginEmailAndSynthetic(): void + { + $row = ['login_email' => 'a@b.com', 'mobile' => '10123456789', 'region_mobile' => '10123456789']; + MemberSyntheticMobileService::stripPlaceholderMobileForEmailRegisteredMember($row); + $this->assertSame('', $row['mobile']); + $this->assertSame('', $row['region_mobile']); + + $row2 = ['login_email' => 'a@b.com', 'mobile' => '13812345678']; + MemberSyntheticMobileService::stripPlaceholderMobileForEmailRegisteredMember($row2); + $this->assertSame('13812345678', $row2['mobile']); + + $row3 = ['mobile' => '10123456789']; + MemberSyntheticMobileService::stripPlaceholderMobileForEmailRegisteredMember($row3); + $this->assertSame('10123456789', $row3['mobile']); + } +} diff --git a/tests/SendMemberEmailActivationJobDispatchTest.php b/tests/SendMemberEmailActivationJobDispatchTest.php new file mode 100644 index 0000000..bcc6c55 --- /dev/null +++ b/tests/SendMemberEmailActivationJobDispatchTest.php @@ -0,0 +1,14 @@ +