1.3.2 • Published 3 years ago

destiny-ui v1.3.2

Weekly downloads
16
License
ISC
Repository
-
Last release
3 years ago

Destiny ui

作者: @曾小杰

时间: 2020/12/16

介绍

Destiny-ui

  • Vue3
  • Typescript
  • 样式引入:import 'destiny-ui/dist/destiny-ui.css'
  • 项目必须有 vue-router 支持(有些组件用到vue-router,此时必须用未打包版本)
  • 仅支持按需引用
  • ui 组件库使用 element-plus,destiny-ui 仅仅是在其上提供便捷模块的解决方案

安装使用

yarn add des-ui

项目目录-->main.ts

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
// ...省略代码
const app = createApp(App)
// ... 省略代码
app.use(router)

import 'destiny-ui/dist/destiny-ui.css'  // destiny-ui(打包版本,将以下 des-ui 替换为 destiny-ui)
// ------*一般组件(见下表)
import { DesButton } from 'des-ui'
app.use(DesButton)
// ------*Component(见下表)
import { DesButtonComponent } from 'des-ui'
app.component(DesButtonComponent.name, DesButtonComponent)
// ------*Api组件(见下表)
import { DesToast } from 'des-ui'
app.config.globalProperties.DesToast = DesToast

DesToast.show({
  msg: '这是一个Toast',
  duration: 3000,
  icon: 'info'
})
一般组件ComponentApi组件
DesButtonDesButtonComponentDesToast
DesCheckBoxDesCheckBoxComponentDesAxios
DesInputDesInputComponentHttp
DesLoginDesLoginComponent
DesNavbarDesNavbarComponent
DesRegistDesRegistComponent

DesButton

按钮

属性说明
type按钮类型String/default、primary、info、danger、warning、disable、clickable
value按钮文本String/确定
size按钮大小String/default、small、medium、large、full
disable是否禁用Boolean/false、true
事件说明使用
desClick单击按钮事件@desClick="myFun"

DesCell

单元格

DesCheckBox

多选框

属性说明
v-model双向数据绑定Boolean/false、true
text标签文本String

DesInput

输入框

属性说明
struct左右结构或者上下结构String/up_down、left_right、left_right_icon
type输入框类型String/text、password、number、email、ipv4、url、phone
placeholder同input->placeholderString
maxLength同input->maxLengthNumber
label标签文本String
require是否显示红星Boolean/false、true
leftIcon左边图标String
clearable是否启用一键清除Boolean/false、true
disable是否禁用Boolean/false
rightIcon右边图标String
pattern值检验正则表达式RegExp
errorTag是否启用错误提示Boolean/false、true
errorMsg错误提示文本String
value/v-model值双向数据绑定String
事件说明使用
desInput监听输入事件@desInput=“onInput”

DesLogin

登录模块(!仅 des-ui<未打包版本> 支持)

登录成功后会存储sessionStorage/localStorage——>>loginData,是登陆成功后后端返回的数据

后端接口返回数据格式要求

{
  code: 0,
  data: {},
  msg: ''
}

// code: 0为成功,-1为失败

// data:返回的数据

// msg:提示文本

属性说明
title显示标题String/欢迎登录
registUrl注册页面UrlString/'/regist'
fogotUrl重置密码UrlString/‘/forgot’
loginUserName登录用户名标签文本String/手机号码
baseUrl同axios的baseUrlString
loginUrl登录接口apiString
headers用户自定义请求头Object
params用户自定义请求参数Object
data用户自定义请求数据Object
username登录用户名字段名String/username
password登录密码字段名String/password
redirectUrl登录成功后跳转的路由String/'/'

DesNavbar

顶部导航栏(!仅 des-ui<未打包版本> 支持)

属性说明
backIcon左边返回图标String/icon-back
backText左边返回文字String/返回
title中间标题文字String
menu右边菜单:未开放Object

DesRegist

注册模块(!仅 des-ui<未打包版本> 支持)

属性说明
type页面类型String/regist、forgot
protocol服务协议String
baseUrl同axios——>>baseUrlString
requestUrl请求apiString
headers用户自定义请求头Object
params用户自定义请求参数Object
data用户自定义请求数据Object
codeUrl获取验证码的apiString
codeParams获取验证码api的用户自定义请求参数Object
codeData获取验证码api的用户自定义请求数据Object
redirectUrl注册、重置密码成功后跳转urlString/‘/login’

DesToast

弹框提示

DesToast

方法说明使用
show普通展示DesToast.show(options)
loading带加载图标DesToast.loading(options)
success带成功图标DesToast.success(options)
fail带失败图标DesToast.fail(options)
options: 
	msg?: string // 提示文本,必须
  type?: string // 类型,仅show()
  icon?: string // 图标,仅show()
  duration?: number // 显示时长,默认2000ms

DesAxios

请求模块

属性说明
baseUrlaxios——>>baseUrlDesAxios.baseUrl = '/api'
方法说明使用
GET发起get请求DesAxios.GET(url, options)
POST发起post请求DesAxios.POST(url, options)
REQUEST发起请求/get、postDesAxios.REQUEST(url, options)
url: // 请求url
options: // 选项
  method?: string // 请求方法,仅REQUEST
  headers?: object // 请求头
  params?: object // 请求参数
  data?: object // 请求数据

Http

请求模块

自定义一个 utils/api.ts

import { Request, Response, Http } from 'destiny-ui'

class Api{
  //example
  public static getUserInfo(params?: any): Promise<Response> {
    // return this.requestFailed();
    const request = new Request('/user/getUserInfo');
    if (params) request.params = params
    return Http.request(request);
  }
}
export { Api, Response}

调用 xxx.vue

import { Api, Response } from '@/utils/api';
// ...
const params = {
  uid: 101
}
Api.getUserInfo(params).then((res: Response) => {
  console.log(res)
}).catch((err: any) => { console.error(err) })

DesTmap

地图选点组件

腾讯:用以地图选点

高德:用以解析腾讯选点后的结果

属性说明
ttmapKey腾讯地图开发者密钥appKey
ggmapKey高德地图开发者密钥appKey
appName应用名称(腾讯)myapp
事件说明使用
getMapData选择位置后回调,参数为返回的数据@getMapData="myGetDataCallbackFunction"

Element-plus

融合 element-plus UI组件库

DOC: https://element-plus.gitee.io/#/zh-CN/component/button "element-plus 中文文档"

// main.ts
import { ElButton } from 'destiny-ui'
...
app.component('e-button', ElButton)
1.3.2

3 years ago

1.3.1

3 years ago

1.2.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.3.0

3 years ago

1.2.1

3 years ago

1.1.2

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago