diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f6c2697 --- /dev/null +++ b/LICENSE @@ -0,0 +1,194 @@ +木兰宽松许可证,第2版 + +木兰宽松许可证,第2版 + +2020年1月 http://license.coscl.org.cn/MulanPSL2 + +您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: + +0. 定义 + +“软件” 是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 + +“贡献” 是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 + +“贡献者” 是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 + +“法人实体” 是指提交贡献的机构及其“关联实体”。 + +“关联实体” 是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是 +指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 + +1. 授予版权许可 + +每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可 +以复制、使用、修改、分发其“贡献”,不论修改与否。 + +2. 授予专利许可 + +每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定 +撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡 +献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软 +件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“ +关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或 +其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权 +行动之日终止。 + +3. 无商标许可 + +“本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定 +的声明义务而必须使用除外。 + +4. 分发限制 + +您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“ +本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 + +5. 免责声明与责任限制 + +“软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对 +任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于 +何种法律理论,即使其曾被建议有此种损失的可能性。 + +6. 语言 + +“本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文 +版为准。 + +条款结束 + +如何将木兰宽松许可证,第2版,应用到您的软件 + +如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: + +1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; + +2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; + +3, 请将如下声明文本放入每个源文件的头部注释中。 + +Copyright (c) [Year] [name of copyright holder] +[Software Name] is licensed under Mulan PSL v2. +You can use this software according to the terms and conditions of the Mulan +PSL v2. +You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 +THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +See the Mulan PSL v2 for more details. + +Mulan Permissive Software License,Version 2 + +Mulan Permissive Software License,Version 2 (Mulan PSL v2) + +January 2020 http://license.coscl.org.cn/MulanPSL2 + +Your reproduction, use, modification and distribution of the Software shall +be subject to Mulan PSL v2 (this License) with the following terms and +conditions: + +0. Definition + +Software means the program and related documents which are licensed under +this License and comprise all Contribution(s). + +Contribution means the copyrightable work licensed by a particular +Contributor under this License. + +Contributor means the Individual or Legal Entity who licenses its +copyrightable work under this License. + +Legal Entity means the entity making a Contribution and all its +Affiliates. + +Affiliates means entities that control, are controlled by, or are under +common control with the acting entity under this License, ‘control’ means +direct or indirect ownership of at least fifty percent (50%) of the voting +power, capital or other securities of controlled or commonly controlled +entity. + +1. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to you a perpetual, worldwide, royalty-free, non-exclusive, +irrevocable copyright license to reproduce, use, modify, or distribute its +Contribution, with modification or not. + +2. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to you a perpetual, worldwide, royalty-free, non-exclusive, +irrevocable (except for revocation under this Section) patent license to +make, have made, use, offer for sale, sell, import or otherwise transfer its +Contribution, where such patent license is only limited to the patent claims +owned or controlled by such Contributor now or in future which will be +necessarily infringed by its Contribution alone, or by combination of the +Contribution with the Software to which the Contribution was contributed. +The patent license shall not apply to any modification of the Contribution, +and any other combination which includes the Contribution. If you or your +Affiliates directly or indirectly institute patent litigation (including a +cross claim or counterclaim in a litigation) or other patent enforcement +activities against any individual or entity by alleging that the Software or +any Contribution in it infringes patents, then any patent license granted to +you under this License for the Software shall terminate as of the date such +litigation or activity is filed or taken. + +3. No Trademark License + +No trademark license is granted to use the trade names, trademarks, service +marks, or product names of Contributor, except as required to fulfill notice +requirements in section 4. + +4. Distribution Restriction + +You may distribute the Software in any medium with or without modification, +whether in source or executable forms, provided that you provide recipients +with a copy of this License and retain copyright, patent, trademark and +disclaimer statements in the Software. + +5. Disclaimer of Warranty and Limitation of Liability + +THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR +COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT +LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING +FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO +MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES. + +6. Language + +THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION +AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF +DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION +SHALL PREVAIL. + +END OF THE TERMS AND CONDITIONS + +How to Apply the Mulan Permissive Software License,Version 2 +(Mulan PSL v2) to Your Software + +To apply the Mulan PSL v2 to your work, for easy identification by +recipients, you are suggested to complete following three steps: + +i. Fill in the blanks in following statement, including insert your software +name, the year of the first publication of your software, and your name +identified as the copyright owner; + +ii. Create a file named "LICENSE" which contains the whole context of this +License in the first directory of your software package; + +iii. Attach the statement to the appropriate annotated syntax at the +beginning of each source file. + +Copyright (c) [Year] [name of copyright holder] +[Software Name] is licensed under Mulan PSL v2. +You can use this software according to the terms and conditions of the Mulan +PSL v2. +You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 +THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +See the Mulan PSL v2 for more details. diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..68b7ac5 --- /dev/null +++ b/README.en.md @@ -0,0 +1,36 @@ +# mysuperlink + +#### Description +{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} + +#### Software Architecture +Software architecture description + +#### Installation + +1. xxxx +2. xxxx +3. xxxx + +#### Instructions + +1. xxxx +2. xxxx +3. xxxx + +#### Contribution + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request + + +#### Gitee Feature + +1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md +2. Gitee blog [blog.gitee.com](https://blog.gitee.com) +3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) +4. The most valuable open source project [GVP](https://gitee.com/gvp) +5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) +6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 0644665..37af08b 100644 --- a/README.md +++ b/README.md @@ -1,98 +1,39 @@ -# SuperLink Web 后台管理系统 +# mysuperlink -基于 **PHP原生 + MySQL + jQuery** 的 Web 后台管理系统(无框架,纯 HTML+CSS+JS+JQ)。 +#### 介绍 +{**以下是 Gitee 平台说明,您可以替换此简介** +Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 +无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} -## 一、部署环境(文档固定) +#### 软件架构 +软件架构说明 -| 项目 | 值 | -| --- | --- | -| 服务器 | 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` +#### 安装教程 -## 二、部署步骤 +1. xxxx +2. xxxx +3. xxxx -1. 将本项目整个 `mysuperlink/` 文件夹复制到 `C:/phpstudy_pro/WWW/mysuperlink/`。 -2. 在 Navicat/phpMyAdmin 中对 `mysuperlink` 库执行 `sql/system_tables.sql`: - - 新建 3 张系统表:`system_users` / `system_roles` / `system_logs`(含默认数据) - - 新建 1 张业务表:`channels`(渠道管理模块需要,原14张表中没有) -3. 确保 `static/uploads/documents/` 目录可写(PHP上传文件使用)。 -4. 浏览器访问 `http://localhost/mysuperlink/` 即可。 +#### 使用说明 -**默认账号:admin / admin123**(密码为 sha1 加密存储)。 +1. xxxx +2. xxxx +3. xxxx -## 三、目录结构 +#### 参与贡献 -``` -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表 + 默认数据(必须执行) -``` +1. Fork 本仓库 +2. 新建 Feat_xxx 分支 +3. 提交代码 +4. 新建 Pull Request -## 四、接口规范 -统一返回 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 可填名称自动解析) +1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md +2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) +3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 +4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 +5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) +6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)