openadm/think-jump 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

openadm/think-jump

Composer 安装命令:

composer require openadm/think-jump

包简介

ThinkPHP6跳转扩展

README 文档

README

支持Html和Ajax两种数据返回方式。 ThinkPHP6已从核心中移除Jump类,类里面包含successerrorforbiddenunauthorizedredirectresult方法。这几个方法在项目里面用的蛮多的,所以将它们移植成一个扩展使用。

安装

composer require openadm/think-jump

通过 门面(facade) 操作

Jump::success($msg, $url, $wait, $header, $data)

//facade
use \openadm\think\facade\Jump;

// 显示提示信息,然后返回上一页
Jump::success('操作成功!');

// 显示提示信息,然后返回Index/index页面
Jump::success('操作成功!', 'Index/index');

// 显示提示信息,然后15秒后返回Index/index页面
Jump::success('操作成功!', 'Index/index', 15);

// 显示提示信息,并且为页面添加header头,然后15秒后返回Index/index页面
Jump::success('操作成功!', 'Index/index', 15, ['auth-token' => 'xxx']);

通过 trait 操作

Jump::error($msg, $url, $wait, $header, $data)

//trait
use \openadm\think\traits\Jump;

// 显示提示信息,然后返回上一页
$this->error('操作失败!');

// 显示提示信息,然后返回Index/index页面
$this->error('操作失败!', 'Index/index');

// 显示提示信息,然后15秒后返回Index/index页面
$this->error('操作失败!', 'Index/index', 15);

// 显示提示信息,并且为页面添加header头,然后15秒后返回Index/index页面
$this->error('操作失败!', 'Index/index', 15, ['auth-token' => 'xxx']);

其他示例

Jump::redirect($url, $msg, $code, $header)

//跳转
Jump::redirect($url, $msg, $code, $header)

Jump::result($data, $code, $msg, $type, $header)

$result = [
    ['id' => 1, 'name' => 'openadm'],
    ['id' => 2, 'name' => 'china'],
];

// 返回封装后的数据集
Jump::result($result);

// 返回封装后的数据集,并且设置code
Jump::result($result, 'success');

// 返回封装后的数据集,并且设置code和msg
Jump::result($result, 'success', '查询成功');

// 返回封装后的数据集,并且设置code、msg和数据类型
Jump::result($result, 'success', '查询成功', 'json');

// 返回封装后的数据集,并且设置code、msg、数据类型和Header头
Jump::result($result, 'success', '查询成功', 'json', ['auth-token' => 'xxx']);


AJAX请求

当前请求信息header中的x-requested-withXMLHttpRequest时,会被认定为AJAX请求。 这时候,程序根据header中的accept来自动判断客户端所需要的数据类型,然后返回对应的数据类型。

目前,仅支持三种数据类型:jsonjsonpxml

JSON返回示例

{
    "code": 0,
    "msg": "操作成功!",
    "url": "/Index/index",
    "wait": 15,
    "data": null
}

JSONP返回示例

可在请求信息中携带callback参数来自定义JSONP回调方法,一般放在URL地址参数中,也可以放在POST参数中。

jsonpReturn({
    "code": 0,
    "msg": "操作成功!",
    "url": "/Index/index",
    "wait": 15,
    "data": null
});

XML返回示例

<?xml version="1.0" encoding="utf-8"?>
<think>
    <code>0</code>
    <msg>操作成功!</msg>
    <url>/Index/index</url>
    <wait>15</wait>
    <data></data>
</think>

使用配置

初始化时,首先会读取应用配置jump.php,然后再合并初始化时传入的配置。 优先级:默认配置 < 配置文件 < 初始化配置

配置文件

composer安装 会生成config/jump.php配置文件。

<?php
// 跳转配置
return [
    // 成功跳转页面模板文件
    'success_tmpl' => app()->getRootPath() . 'vendor/openadm/think-jump/src/tpl/success.html',
    // 成功跳转页停留时间(秒)
    'success_wait' => 1,
    // 成功跳转的code值
    'success_code' => 200,
    // 错误跳转页面模板文件
    'error_tmpl'   => app()->getRootPath() . 'vendor/openadm/think-jump/src/tpl/error.html',
    // 错误跳转页停留时间(秒)
    'error_wait'   => 3,
    // 错误跳转的code值
    'error_code'   => 300,
    'forbidden_code'  => 403,
    //Unauthorized
    'unauthorized_code' => 401,
    // 默认AJAX请求返回数据格式,可用:Json,Jsonp,Xml
    'ajax_return' => 'Json',
];

openadm/think-jump 适用场景与选型建议

openadm/think-jump 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 48 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 04 月 18 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「controller」 「thinkphp」 「jump」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 openadm/think-jump 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 openadm/think-jump 我们能提供哪些服务?
定制开发 / 二次开发

基于 openadm/think-jump 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 48
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-04-18