feat: 黄精粉前端功能集成 + 个人中心/资产/公排页面优化 + 去除admin copyright

主要改动:
- 个人中心: 去除HjfMemberBadge徽章, 会员等级改显示vip_name,
  "我的资产"/"公排查询"导航项改为与member-points一致风格
- 我的资产页面: 去除HjfMemberBadge, 美化卡片圆角和阴影
- 公排查询页面: 美化顶部渐变和订单卡片样式
- Admin登录页和后台布局: 彻底删除footer copyright信息
- 新增黄精粉业务页面/组件/API/Mock数据(Phase 1)
- 新增PHP环境配置文档和启动脚本

Made-with: Cursor
This commit is contained in:
apple
2026-03-13 00:49:22 +08:00
parent 21f9cc2c0a
commit f6227c0253
70 changed files with 23359 additions and 1176 deletions

View File

@@ -0,0 +1,78 @@
/**
* 黄精粉健康商城 - 资产相关 API
* 资产概览、积分明细、现金明细、提现信息及申请提现
* @module api/hjfAssets
*/
import request from '@/utils/request.js';
import {
getMockAssetsOverview,
getMockPointsDetail,
getMockCashDetail,
getMockWithdrawInfo
} from '@/utils/hjfMockData.js';
/** @type {boolean} 是否使用 Mock 数据Phase 1 开发为 truePhase 4 集成改为 false */
const USE_MOCK = true;
/**
* Mock 包装:返回与 request 相同形状的 Promisestatus + data带延迟模拟网络
* @param {*} data - 要返回的响应体
* @param {number} [delay=300] - 延迟毫秒数
* @returns {Promise<{ status: number, data: * }>}
*/
function mockResponse(data, delay = 300) {
return new Promise(resolve => {
setTimeout(() => {
resolve({ status: 200, data: JSON.parse(JSON.stringify(data)) });
}, delay);
});
}
/**
* 获取资产概览(余额、冻结/可用积分、今日释放、公排总退款等)
* @returns {Promise<{ status: number, data: Object }>}
*/
export function getAssetsOverview() {
if (USE_MOCK) return mockResponse(getMockAssetsOverview());
return request.get('hjf/assets/overview');
}
/**
* 获取积分明细(分页)
* @param {Object} [params] - 查询参数,如 page、limit
* @returns {Promise<{ status: number, data: Object }>}
*/
export function getPointsDetail(params) {
if (USE_MOCK) return mockResponse(getMockPointsDetail());
return request.get('hjf/assets/points_detail', params);
}
/**
* 获取现金明细(分页)
* @param {Object} [params] - 查询参数,如 page、limit
* @returns {Promise<{ status: number, data: Object }>}
*/
export function getCashDetail(params) {
if (USE_MOCK) return mockResponse(getMockCashDetail());
return request.get('hjf/assets/cash_detail', params);
}
/**
* 获取提现信息(可提现余额、最低金额、手续费率、渠道列表等)
* @returns {Promise<{ status: number, data: Object }>}
*/
export function getWithdrawInfo() {
if (USE_MOCK) return mockResponse(getMockWithdrawInfo());
return request.get('hjf/assets/withdraw_info');
}
/**
* 申请提现POST
* @param {Object} data - 提现参数,如 amount、channel、bank_id 等
* @returns {Promise<{ status: number, data?: Object }>}
*/
export function applyWithdraw(data) {
if (USE_MOCK) return mockResponse({ success: true, msg: '提现申请已提交' });
return request.post('hjf/assets/withdraw', data);
}