1. 字段横向排列
    2. 在线扒站
    3. 新建数据表模型
    4. 新建列表模板
    5. 新建幻灯片轮播
    6. 无限级增加子信息
    7. 添加扩展菜单
    8. 筛选页面生成器
    9. 批量新建栏目
    10. 快捷编辑变量
    11. 多端绑定域名
    1. config
      1. 接口说明 Locoy_v1.2.1.php
    1. 残留信息
    2. 版本升级
    3. 填充数据
    4. 筛选生成器
    5. 子信息架构
      1. 后台添加自定义菜单的操作
    1. 插件管理
      1. 权限设置
      2. 管理用户组
      3. 创建用户
      1. 说明模板的制作方式
    2. 删除数据
    3. TAG专题
    4. 自由列表
    5. 单页管理
    6. 栏目管理
    7. 内容管理
    8. 数据表&模型
    9. 缓存管理
      1. 多端访问
      2. 扩展变量
      3. 文件设置
      4. 基本设置
    1. 常见问题
    2. 开发建议
    3. 开发示例
    4. 核心文件介绍
      1. 数据库操作,函数介绍
    5. 数据字典
    6. 系统目录结构
    1. 插件打包发布
    2. 常见问题
      1. 工单管理
      2. 广告管理
      3. 日志管理
      4. 数据填充
      5. 信息反馈
      6. 点评
      7. 轮播
      8. 支付宝支付
      9. 打赏网站管理
      10. 缓存控制
      11. 附件自动上传ftp
      12. 阿里云短信
      13. 计划任务
      14. 数据库备份
      15. 插件开发流程
      16. 数据库主从配置
      17. 扒站工具
      18. 生成HTML
    3. 插件相关函数
    4. 目录结构
      1. 插件说明文档,插件内置说明
      2. 插件模板前台调用
      1. FTP设置
      1. 开始安装
      2. 上传
      3. 下载
      4. 准备
      1. Apache/Nginx/IIS
      2. MySQL
      3. PHP
      4. 说明:支持windows,Linux

入口路由

作者:  最后修改:2020-07-13


1. 路由缓存

URL作为唯一字段存储到数据表(route)作为缓存唯一依据(字段为url)

如果缓存不存在则进行正常的解析,

解析后的参数存储在route对应的字段

 

2. 路由解析

2.1 根据URL解析出path和参数

path:指 栏目路径名称 ; 自由列表,自定义页,标签的路径

2.2 根据path获取到对应的执行动作

paths表中取出path对应的动作;

所有的path都汇总在paths数据表,创建栏目,标签等操作时会向paths表写入路径信息;

Path具有全局唯一性, 即在栏目设置了路径名称在标签路径就无法再次使用

2.3 要执行的动作说明

Action:动作[spage:自定义页面; slist:自定义页面; category:栏目封面;tag:标签 ...]

  动作文件对应再/x/actions/下的文件

其他系统动作可以通过 [文件管理] 插件查看

2.4 插件访问

插件对应的动作为:plugin[这个动作比较特殊,并不存在于/x/actions];

插件必须p,c,a这三个参数

p:插件名称

c:插件控制器

a:插件要执行的动作

更多插件相关的可以参考插件开发文档

https://www.jufengcms.com/exploit/10/78/53/78.html

2.5 示例

http://example.com/ceshishishi/

(1) 解析出path = ceshishishi

(2) 根据pathpaths表中查询对应的动作,比如当前动作为category(栏目),

classid=172 [classid对应paths表的target_id字段]

(3) Category动作接收参数[classid],根据栏目id获取栏目信息,加载模板

 

http://example.com/ceshishishi/66.html

(1) 解析出path = ceshishishi

(2) 根据pathpaths表中查询对应的动作,比如当前动作为category(栏目),

Classid=172 [classid对应paths表的target_id字段]

接着解析参数id=66, 由于存在其他参数,会把当前动作修正为artcile(文章)

(3) Article动作根据参数引入对应的模板

 

3. 子信息路由

子信息路由完全依赖于route表的记录信息

创建子信息时,即会再router表写入对应的访问url,path,动作,对应的id等信息

访问时,根据url查询对应的参数和动作,把参数传递到对应的动作

 

4. 主要动作文件说明

 article.php                         内容页

category.php                        栏目封面

dynamic.php                         动态页面

index.php                           首页

earch.php                         搜索

slist.php                           自定义列表

spage.php                           自定义页面

tag.php                             标签

loginjs.php                         首页登入未登入状态模版调用

memberCookie.php                 首页头部获取会员信息,并保存cookie

memberLoginout.php              会员退出登录

memberdeny.php                     会员权限禁止后的跳转地址

viewclick.php                       获取/设置点击量

 

访问逻辑图

1594798725170783.jpg

 

Paths路径数据字典

字段名称

数据类型

默认值

注释

id

int(10) unsigned

NULL


path

varchar(255)

空字符串

路径

type

varchar(12)

空字符串

栏目:category, 标签:tag ,自由列表:slist 等等与actions下的文件名称一致

target_id

int(11)

0

根据type对应不同的id

 

 

Route 路由缓存数据字典

字段名称

数据类型

默认值

注释

id

int(11)

NULL


url

varchar(255)

空字符串

访问url

parameter

varchar(255)

空字符串

解析后的参数(json格式)

data_id

int(11)

0

数据的ID

classid

int(10)

0

url对应的栏目ID

modid

int(10)

0

信息模型ID

bid

int(10)

0

子信息的上级信息id

action

varchar(255)

空字符串

url对应的动作文件

time

varchar(255)

空字符串

静态文件生成时间

page

int(10)

0

页数

 

读完这篇文章后,您心情如何?