文件
fenleixinxi/application/api/controller/Setting.php
MiAn b0eb1134a5 feat: 新增微信小程序虚拟支付提审防审模式及相关功能
本次提交主要实现微信小程序虚拟支付提审防审机制,包括:
1. 后台配置虚拟支付防审开关,支持开启/关闭模式
2. 前端根据开关状态及设备类型,iOS设备自动触发合规提示
3. 分销模块调整提现规则,无门槛即时提现
4. 登录页面优化,增加返回和暂不登录入口,符合微信审核规范
5. 新增提现记录页面,优化分销中心界面布局

该功能确保微信提审期间能顺利通过审核,审核通过后可一键切换为正常运营模式,无需重新发布小程序代码。
2026-11-01 22:41:27 +08:00

92 行
5.7 KiB
PHP

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

<?php
namespace app\api\controller;
use think\Db;
/**
* 站点 UI 配置(用户端读取,Module-SETTING)
* 路由:
* GET /api/v1/setting/ui 站点名称/LOGO/图标覆盖(允许游客访问)
*/
class Setting extends V1
{
/**
* 站点 UI 配置(游客可用)
* GET /api/v1/setting/ui
* → {siteName, logo, icons}(icons 恒为对象)
*/
public function ui()
{
$icons = $this->cfg('ui.icons', []);
if (!is_array($icons)) {
$icons = [];
}
// 名称 / LOGO 以 base.* 为准,旧 ui.* 仅作兼容回落;
// 客服电话、关于我们、分享标题统一从 base.* 下发,避免后台配置了端上不生效。
$baseName = trim((string)$this->cfg('base.appName', ''));
$siteName = $baseName !== '' ? $baseName : (string)$this->cfg('ui.siteName', '同城分类信息');
$baseLogo = (string)$this->cfg('base.logo', '');
$logo = $baseLogo !== '' ? $baseLogo : (string)$this->cfg('ui.logo', '');
$shareTitle = trim((string)$this->cfg('base.shareTitle', ''));
$this->ok([
'appName' => $siteName,
'siteName' => $siteName,
'logo' => $logo,
'servicePhone' => (string)$this->cfg('base.servicePhone', ''),
'aboutUs' => (string)$this->cfg('base.aboutUs', ''),
'shareTitle' => $shareTitle !== '' ? $shareTitle : $siteName,
'icons' => (object)$icons,
// 订阅消息模板(客户端 requestSubscribeMessage 用;未配置时为空串)
'subscribe' => [
'audit' => (string)$this->cfg('wx.tplAudit', ''),
'transfer' => (string)$this->cfg('wx.tplTransfer', ''),
],
// 余额支付密码开关(开启后余额支付需验证 6 位支付密码,用户在余额中心设置)
'payPasswordEnabled' => (int)$this->cfg('pay.payPasswordEnabled', 0) === 1,
// 微信小程序虚拟支付提审合规保护开关(1=开启合规拦截,0=正式放开,默认1安全过审)
'virtualPayAudit' => (function() {
$sysVal = \think\Db::name('config')->where('name', 'virtual_pay_audit')->value('value');
if ($sysVal !== null && $sysVal !== '') {
return (int)$sysVal === 1;
}
return (int)$this->cfg('pay.virtualPayAudit', 1) === 1;
})(),
]);
}
/**
* 获取协议与隐私政策内容(游客可用)
* GET /api/v1/setting/agreement?type=service|privacy|disclaimer
* 出参:{ title, content, updateTime }
*/
public function agreement()
{
$type = (string)$this->input('type', 'service');
if ($type === 'privacy') {
$title = '隐私政策';
$defaultContent = "【隐私政策】\n\n同城分类信息便民平台重视用户的隐私与个人信息保护。我们承诺将按照法律法规要求,采取相应的安全保护措施保护您的个人信息。\n\n1. 信息收集与使用:我们仅收集为您提供服务所必需的信息,如登录手机号、发布信息时提供的联系方式与内容。\n2. 信息安全保障:我们采用业界标准的安全防护措施,保护用户个人信息不被未经授权的访问、泄露、篡改或损毁。\n3. 权限说明:仅在您主动上传图片、定位实体门店时,请求相册及地理位置权限。\n4. 未成年人保护:如您为未成年人,建议在父母或监护人指导下使用本服务。";
$content = (string)$this->cfg('site.privacyPolicy', $defaultContent);
} elseif ($type === 'disclaimer') {
$title = '平台免责声明';
$defaultContent = "【平台免责声明】\n\n1. 信息媒介属性:本平台仅为农产品及本地生活信息展示与联络媒介,不参与任何线下交易,不对信息真实性、合法性作出担保。\n2. 交易风险自担:请自行鉴别信息真伪,在未核实清楚前不要提前给对方转账,谨防诈骗。因私下交易产生的纠纷与损失,由交易双方依法依规自行处理。\n3. 联系方式保护:为保护用户隐私,平台对联系电话进行脱敏展示,拨打记录仅用于限制每日恶意拨打行为。\n4. 举报与处置:如发现虚假、违法违规信息,请及时通过页面「举报」入口反馈,平台将核实后采取下架、封禁等措施。";
$content = (string)$this->cfg('site.disclaimer', $defaultContent);
} else {
$title = '用户服务协议';
$defaultContent = "【用户服务协议】\n\n欢迎使用同城分类信息生活便民平台。在使用本平台服务前,请仔细阅读本协议。\n\n1. 服务条款确认与接纳:用户在注册或使用本平台服务即视为完全理解并同意本协议全部条款。\n2. 用户发布行为规范:用户承诺发布的信息真实、合法、有效,严禁发布违法、虚假、侵权或违背公序良俗的商业与便民信息。\n3. 平台免责声明:平台作为同城信息展示与撮合媒介,用户应自主辨识交易风险,因私下线下交易产生的纠纷由当事人依法依规处理。\n4. 违规处罚机制:对发布违法违规、虚假诈骗内容的用户,平台有权采取警告、下架信息、限制发布乃至封禁账号的处置措施。";
$content = (string)$this->cfg('site.serviceAgreement', $defaultContent);
}
$this->ok([
'type' => $type,
'title' => $title,
'content' => $content,
'updateTime' => '2026-10-20',
]);
}
}