96cba121a8102f69ae57f6f247affed87d002da8
SuperLink Web 后台管理系统
基于 PHP原生 + MySQL + jQuery 的 Web 后台管理系统(无框架,纯 HTML+CSS+JS+JQ)。
一、部署环境(文档固定)
| 项目 | 值 |
|---|---|
| 服务器 | phpstudy_pro |
| Web服务器 | Nginx 1.15.11 |
| PHP | 7.4.x |
| 数据库 | MySQL 5.7.26 |
| 数据库名 | mysuperlink(原库已有14张业务表) |
| 字符集 | utf8mb4 |
| 根目录 | C:/phpstudy_pro/WWW/mysuperlink/ |
数据库连接信息(config/database.php 已按此配置,可按需修改):
- 主机
127.0.0.1/ 端口3306/ 库名mysuperlink - 用户
mysuperlink_root/ 密码123456
二、部署步骤
- 将本项目整个
mysuperlink/文件夹复制到C:/phpstudy_pro/WWW/mysuperlink/。 - 在 Navicat/phpMyAdmin 中对
mysuperlink库执行sql/system_tables.sql:- 新建 3 张系统表:
system_users/system_roles/system_logs(含默认数据) - 新建 1 张业务表:
channels(渠道管理模块需要,原14张表中没有)
- 新建 3 张系统表:
- 确保
static/uploads/documents/目录可写(PHP上传文件使用)。 - 浏览器访问
http://localhost/mysuperlink/即可。
默认账号:admin / admin123(密码为 sha1 加密存储)。
三、目录结构
mysuperlink/
├── index.html / dashboard.html / preliminary.html / company.html / person.html
├── media.html / need.html / edm.html / data_custom.html / media_wholesale.html
├── channel.html / document.html / user.html / role.html / log.html (共14个页面)
├── api/ # 所有PHP接口(严禁HTML混写)
│ ├── common/ # db.php(PDO单例) / response.php(统一JSON) / auth.php(Session鉴权) / logger.php(操作日志) / helpers.php
│ ├── auth/ # login.php(滑块验证) / logout.php / forgot.php / session.php(会话校验)
│ ├── dashboard/ # stats.php(8指标卡+行业柱状图+区域+词云)
│ ├── preliminary/ # list.php / stats.php
│ ├── company/ person/ media/ need/ # list/detail/add/update/delete/import/export (+push)
│ ├── marketing/ # edm.php(行业+区域二级联动) / edm_export.php / data_custom.php / media_wholesale.php
│ ├── channel/ # list.php / stats.php / save.php / delete.php
│ ├── document/ # list.php / upload.php(存本地) / delete.php(删物理文件)
│ └── system/ # user_list/add/update/delete / role_list/add/update/delete / log_list(仅超管)
├── static/
│ ├── css/ # style.css / login.css / slider.css
│ ├── js/ # config.js(含MENU_MAP) / common.js / login.js / dashboard.js / 各模块js
│ ├── libs/ # jquery-3.6.0 / echarts / layer / world.js / slider.js(自研)
│ └── uploads/documents/ # 文件物理存储(按年/月自动分目录)
├── config/database.php # 数据库配置(返回数组)
└── sql/
├── init.sql # (原库已有14张表,此处不重复提供)
└── system_tables.sql # ★ 新增3张系统表 + channels表 + 默认数据(必须执行)
四、接口规范
统一返回 JSON:{ "code": 0(成功)/非0(失败), "msg": "提示", "data": {} }
- 所有写类操作必须携带
X-Requested-With: XMLHttpRequest头(前端 common.js 已自动处理)。 - 除登录/找回密码外,所有接口需 Session 鉴权;无权限返回
403;未登录返回401。 - 所有写类接口(add/update/delete/import/export/login/logout/push/audit/convert)自动调用
logAction()写操作日志。
列表接口通用参数
page(默认1)、limit(默认20)、keyword(关键词)、各模块专属筛选:
- 企业:
industry/business_role/country - 人员:
gender/nationality/work_location - 媒体:
platform/certification_type/account_level/owner_type - 需求:
start_date/end_date/company_name/industry/need_category - 日志:
action/module/username/start_date/end_date
五、权限控制
- 登录后返回
permissions数组,前端按MENU_MAP(config.js)动态渲染左侧菜单。 - 后端每个接口调用
checkPermission($module)二次校验,写操作另有checkAjax()校验。 - 操作日志(
log.html)仅超级管理员可见(requireSuperAdmin())。 - 保护规则:内置管理员(id=1)不可删除/禁用;超级管理员角色(id=1)不可修改/删除;被用户使用的角色不可删除。
六、占位/简化说明(按文档要求)
- 滑块验证:纯前端实现(static/libs/slider.js),拖动通过后生成 token 提交登录;服务端校验 token 合法性。如需更安全可改为服务端签发。
- 找回密码:占位实现,校验账号后返回成功提示,未接入SMTP。
- 需求推送 push.php:占位实现,返回成功并写日志,后续接入第三方API/SMTP。
- 数据定制 / 媒体批发:占位页面。
- Dashboard 区域分布:先用国家/地区柱状图(简化方案),后续可细化世界地图(world.js 已内置,可切换为地图渲染)。
- 需求词云:从 company_needs.description 做简易分词(占位),后续接入专业分词服务。
- 渠道模块:原14张表中无渠道表,已在 system_tables.sql 中新增
channels表。 - 日志清理:每月1日执行
DELETE FROM system_logs WHERE created_at < DATE_SUB(NOW(), INTERVAL 6 MONTH);(可加cron计划任务)。
七、CSV 导入模板
- 企业:表头
name_zh,name_en,display_name,business_role,country,registration_number,address,legal_form,legal_representative,industry,industry_subdivision,website,registered_capital,established_date,is_listed,stock_code(display_name 必填,UTF-8编码) - 人员:表头
union_id,full_name,gender,nationality,id_type,id_number,education,graduated_from,hometown,work_location,phone,email(full_name 必填,union_id 可留空自动生成) - 媒体:表头
owner_type,owner_id,platform,account_id,profile_url,remark,is_primary,account_level,content_categories,follower_count,avg_read_count,certification_type(owner_id 可填名称自动解析)
Description
Languages
JavaScript
47.8%
PHP
45.4%
CSS
4.4%
HTML
2.3%
Batchfile
0.1%