fieldDescriptions()); // 仅读取 VIP 支付专属配置,避免与系统参数页重复展示。 $params = SysParam::query() ->whereIn('alias', $aliases) ->pluck('body', 'alias') ->toArray(); return view('admin.vip-payment.config', [ 'params' => $params, 'descriptions' => $this->fieldDescriptions(), ]); } /** * 保存 VIP 支付配置并刷新缓存 * * @param UpdateVipPaymentConfigRequest $request 已校验的后台配置请求 */ public function update(UpdateVipPaymentConfigRequest $request): RedirectResponse { $data = $request->validated(); $descriptions = $this->fieldDescriptions(); foreach ($descriptions as $alias => $guidetxt) { $body = (string) ($data[$alias] ?? ''); // 写入数据库并同步描述文案,确保后续后台与缓存读取一致。 SysParam::updateOrCreate( ['alias' => $alias], ['body' => $body, 'guidetxt' => $guidetxt] ); $this->chatState->setSysParam($alias, $body); SysParam::clearCache($alias); } return redirect()->route('admin.vip-payment.edit')->with('success', 'VIP 支付配置已成功保存。'); } /** * 返回 VIP 支付字段说明文案 * * @return array */ private function fieldDescriptions(): array { return [ 'vip_payment_enabled' => 'VIP 在线支付开关(1=开启,0=关闭)', 'vip_payment_base_url' => 'NovaLink 支付中心地址(例如 https://novalink.test)', 'vip_payment_app_key' => 'NovaLink 支付中心 App Key', 'vip_payment_app_secret' => 'NovaLink 支付中心 App Secret', 'vip_payment_timeout' => '调用支付中心超时时间(秒)', ]; } }