xframelib
TypeScript icon, indicating that this package has built-in type declarations

0.7.7 • Public • Published

xframelib

基于 VUE3+Hprose+Typescript 的前端框架

  • v0.7.7 增加hprose二进制序列化方法serialize和deserialize;修改Global默认自带LayoutMap和默认为console的Message;为LayoutManager增加静态方法getLayoutManager;增加RouterTransition控件,并应用于layoutcontainer中;更新依赖库版本。

  • v0.7.6 为LayoutManager增加卸载全部组件unloadAllWidgets、批量卸载组件unloadWidgets、获得已经加载组件ID列表getWidgetLoadedIDList;解决H5Tool的windowResizeHandler和offWindowResizeHandler内部调用错误方法的问题。

  • v0.7.5 解决上一版LayoutContainer存在问题:CSS样式对应上,调整层级顺序;加入组件引用,changeWidgetVisible能控制Widget组件可见性;修改getWidgetComponent方法,实现对Widget组件的defineExpose方法调用;增加isWidgetVisible判断组件是否可见。

  • ~~ v0.7.4 完善Axios异常捕捉(对接后端Furion包装异常);更新完善LayoutContainer;H5Tool增加removeHandler和offWindowResizeHandler方法;升级依赖基础库。~~

  • v0.7.3 升级依赖库;loadWidget失败输出日志和事件SysEvents.WidgetLoadedErrorEvent;优化系统权限相关模型;增加GetSignalRClient、ValidateTool、WaterMark等工具。

  • v0.7.2 解决v0.7.0的deepMerge方法存在复制对象的BUG。

  • v0.7.0 修改requestPost无法使用FormData参数;修改deepMerge方法;修改isObjectX方法;更新rollup-plugin-scss应用版本。

  • v0.6.9 默认引入loglevel,为Global增加Logger()方法,使用例如:Global.Logger().warn('123')。

  • v0.6.8 解决Axios 0.x升级为1.x后,序列化时带来的AxiosError: options must be an object错误

  • v0.6.7 解决ExitLogin时报415错误;SysEvents.AxiosRequestErrorEvent、SysEvents.WebAPIErrorEvent、SysEvents.HproseServiceErrorEvent改为默认为后台记录,不主动弹框提示,需要提示使用Global.EventBus自主监听事件;升级依赖库版本;

  • v0.6.6 解决requestGet里params参数为数组解析错误问题;更改Layout布局层次为100;解决提示XXTEA未导出的问题;copyText默认改用Clipboard方式,支持根据元素ID复制内容;

  • v0.6.5 copyText默认改用Clipboard方式,支持根据元素ID复制内容;

  • v0.6.4 调整LayoutContainer层级;修改centerDiv的默认pointer-events

  • v0.6.3 升级基础库;完善LayoutContainer增加enableRouterView控制是否启用内置的RouterView;H5Tool增加dispatchWindowResize和dispatchElementEvent主动触发元素事件

  • v0.6.2 增加计算完整MD5值和文件上传导出问题;部分小问题修改;增加窗体同步消息库WSynchro.js;

  • v0.6.1 增加全局捕捉Axios请求报错信息;Token认证时间BUG:客户端为过去时间或未来时间;

  • v0.6.0 解决requestPost支持FormData数组参数问题;IMapKeys支持地图Key配置为数组;ServiceURL配置增加IconServiceURL、UILoginURL等

  • v0.5.9 重构用户模型和登录验证,对接用户权限管理系统;增加XXTEA加密算法;增加http network error错误捕捉

  • v0.5.8 修改 VueWindow 报 fixPosition 错误;重构升级 widget 加载过程;升级依赖基础库版本

  • v0.5.7 修改 init 初始化增加 sysGroup 参数;增加 Global.SystemGroup 字段,Axios 和 Hprose 的 Http 请求头加入 sysgroup 系统分组名;解决 Global 变量的循环引用,增加 SysConfig 的 UI 下的 GrayMode 参数、部分 ServiceURL 下参数,修改一些小 BUG;

  • v0.5.6 修改 init 初始化方法增加 sysID 参数;增加 Global.SystemID 字段,Axios 和 Hprose 的 Http 请求头加入 sysid;

  • v0.5.5 截取捕捉后台返回的有用异常信息,重新抛出;异常警告输出统一模型增加 isExceptionInfo 字段;更新依赖库;

  • v0.5.4 解决 IRole 相关模型类型未导出;LayoutManager.d.ts 输出两遍问题;完善 axios http 请求异常警告输出统一模型,发送 SysEvents.AxiosRequestErrorEvent 系统事件;

  • v0.5.3 撤销的版本

  • v0.5.2 撤销的版本

  • v0.5.1 路由权限过滤只比较 path;修改返回权限结果判断错误问题

  • v0.5.0 增加用户权限管理组;增加 CodeHelper 来辅助生成部分代码的方法;解决大文件下载路径传递、全屏时不传对象报错等问题;引入 axios 对象外部化 axios 库

  • v0.4.9 解决 Global.User 对象赋值错误导致 0.4.8 无法登录的问题

  • v0.4.8 解决 UserToken 里没有 appkey 信息;刷新 token 时丢失 appkey 信息(弃用该版本)

  • v0.4.7 解决 Hprose 使用 ClientContext 进行公共传参问题,默认 headers 自带 token 值

  • v0.4.6 解决文件分片下载并发请求过多的超时问题;AxiosHelper 增加超时时间参数,请求出错不默认弹框

  • v0.4.5 解决大文件下载的问题(修复 0.4.4 版本问题);增加库依赖资源 public 文件夹

  • v0.4.4 修改单个文件(单片)下载报错问题;(废弃不要使用)

  • v0.4.3 修改组件卸载事件的错误;增加用于大屏的浅灰色窗体样式

  • v0.4.2 重要修改:修改打包方式;支持组件导出;新增布局组件及管理方法;requestFullScreen 不传要素窗体全屏

  • v0.4.1 解决补充遗漏的 BigFileDownload 类;

  • v0.4.0 增加 isTool 的相关函数,修改补充方法,增加导出 IUser;

  • v0.3.9 init 方法需要传入 axios 对象(不能将 axios 打包进去,因为存在错误);

  • v0.3.8 取消 init 方法传入 axios 对象(改为内部自带 Global.Axios);完善 AxiosHelper 工具类;增加大文件分片/断点续传下载类 BigFileDownload;

  • v0.3.7 增加 LockHelper 长时间操作退出登录,增加 SystemConfig.UI.LockTime 可选配置和接口 onLockListener、 unLockListener、getLockState;

  • v0.3.6 H5Tool 增加基于 SparkMD5 的 MD5 计算;解决 TokenHelper 与 Global 循环引用问题;增加模仿 JQuery 的 HTML 元素 Style 类名操作 hasClass、addClass、removeClass、toggleClass;完善 getProxyClient 支持 Map 缓存 HproseProxy 对象

  • v0.3.5 增加大文件切片上传 FileUpload;增加 newGuid 方法; 修改 requestPost 使用 FormData 方式提交数据,增加 requestPostBody 使用 JSON 方式提交; 移除 UserCookies 和 JS-js-cookie 依赖; H5Tool 增加 getFileShortMD5 获取文件 MD5 值,增加 getObjectURL 获取 File 对象的路径;

  • v0.3.4 增加统一用户登录和 Token 支持;解决类循环引用问题;增加系统配置参数为具体接口

  • v0.3.3 解决 支持 Hprose 旧版本不支持 useServiceAsync 的问题

  • v0.3.2 解决 0.3.1 版本更新错误(导致 HproseClient 无法实例化的问题)

  • v0.3.1 修改系统 DefaultProxyClient 初始化弹框报错问题(DefaultHproseAPI 配置项可为空或不设置);增加 getProxyClient 和 initDefaultProxyClient 全局方法。

  • v0.3.0 修改 UserCookies 支持自定义 KEY;修改 H5Tool 增强全屏操作功能方法;升级依赖的基础库

  • v0.2.9 删除 uuid 的 NPM 包,增加 uuid 工具类,解决类型问题

  • v0.2.8 删除对 axios 的依赖(因 axios 使用了 process 对象,vue 中报错)

  • v0.2.7 增加 VUE WINDOW,FileDownload 等,打包入 axios(出现问题)

  • v0.2.6 新建前端 xframelib,支持 VUE 组件打包基于 ESbuild

  • v0.2.5 减小发布包大小,外部依赖 hprose

  • v0.2.4 正式应用于项目中,提供.d.ts 声明文件。

What Works:

  • HproseClient 服务调用封装
  • 消息事件总线
  • Global 全局对象
  • Message 提示信息
  • SplitSpanes 封装
  • collapsepanel 封装
  • vuewindow 封装
  • 增加 utils 里的 Color、FileDownload、StorageHelper

Installation

yarn add xframelib

or

npm i xframelib

Usage

main.ts 文件 In Typescript:

import { createApp } from 'vue';
import App from './App.vue';
//模板添加的
import { setupRouter } from './router/index';
import {setupGlobDirectives} from './directives/index';
import { init, Global } from 'xframelib';
import 'xframelib/dist/index.css';
import { getSystemPKG, getSystemID } from '@/utils/sysTool';
import { createPinia } from 'pinia';
import { message } from 'ant-design-vue';
import {Icon} from '@iconify/vue';
//dev阶段打开,build注销
import 'ant-design-vue/dist/antd.css';


if(window.global===undefined)
{
  window.global=globalThis;
}
message.config({
  top: `100px`,
  duration: 1,
  maxCount: 3
});
//绑定消息和初始化xframe
//系统ID,唯一标识
const sysID = getSystemID();
//分组名,工程名
const sysGroup = getSystemPKG().name;
init(message, sysID, sysGroup);

// 创建pinia 实例
const pinia = createPinia();
const app = createApp(App);
// 挂载到 Vue 根实例上
app.use(pinia);
//定义v-drag命令
setupGlobDirectives(app);
setupRouter(app);
//注册全局组件
app.component('Icon',Icon);

app.mount('#app');

Working with hprose

暂无

Readme

Keywords

Package Sidebar

Install

npm i xframelib

Weekly Downloads

7

Version

0.7.7

License

MIT

Unpacked Size

503 kB

Total Files

78

Last publish

Collaborators

  • zorrowm