(bool) env('qywx_promotion.enabled', false), 'provider_corp_id' => trim((string) env('qywx_promotion.provider_corp_id', '')), 'suite_id' => trim((string) env('qywx_promotion.suite_id', '')), 'suite_secret' => trim((string) env('qywx_promotion.suite_secret', '')), 'token' => trim((string) env('qywx_promotion.token', '')), 'aes_key' => trim((string) env('qywx_promotion.aes_key', '')), // 留空时按当前请求域名生成 /api/qywx-promotion/auth/callback。 'redirect_uri' => trim((string) env('qywx_promotion.redirect_uri', '')), // 留空时授权完成后返回当前域名 /admin/first_visit/wecom_promotion。 'admin_return_url' => trim((string) env('qywx_promotion.admin_return_url', '')), // 用于加密永久授权码及 suite_ticket。生产环境建议使用独立的 32 字节以上随机字符串。 'credential_key' => trim((string) env('qywx_promotion.credential_key', '')), // 防止公开跳转接口被配置成任意外链。可通过逗号分隔的环境变量追加企业自有可信域名。 'allowed_link_hosts' => array_values(array_unique(array_filter(array_merge( [ 'work.weixin.qq.com', 'open.work.weixin.qq.com', 'workweixin.qq.com', 'qyapi.weixin.qq.com', 'wework.qpic.cn', 'wwcdn.weixin.qq.com', ], array_map('trim', explode(',', (string) env('qywx_promotion.allowed_link_hosts', ''))) )))), ];