更新记录

1.0.0(2024-12-12) 下载此版本

sc-view 基础元素、布局组件,减少命名!


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.0 app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × ×

scView

配置步骤

1. 引入 scView 主 JS 库

import App from './App';
import {createSSRApp} from 'vue';
import scView from '@/uni_modules/scview-ui';

export function createApp() {
  const app = createSSRApp(App);
  app.use(scView, {});
  return {
    app,
  };
}

2. 在引入uView的全局SCSS主题文件

在项目根目录的uni.scss中引入此文件。

/* uni.scss */
@import '@/uni_modules/scview-ui/theme.scss';

3. 引入uView基础样式

注意!

在App.vue中首行的位置引入,注意给 style 标签加入 lang="scss" 属性


<style lang="scss">
  /* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
  @import "@/uni_modules/scview-ui/index.scss";
</style>

4. 配置easycom组件模式

此配置需要在项目根目录的pages.json中进行。


// pages.json
{
  // 如果您是通过uni_modules形式引入uView,可以忽略此配置
  "easycom": {
    "^sc-(.*)": "@/uni_modules/scview-ui/components/sc-$1/sc-$1.vue"
  },
  // 此为本身已有的内容
  "pages": [
    // ......
  ]
}

全局样式的配置

app.use(scView, {
    color: {
      col: '#007AFF',
      jbs: 'linear-gradient(blue, pink)'
    },
    text: {
      sizes: {
        mini: 20,
        small: 24,
        normal: 30,
        large: 40,
        huge: 20
      }
    },
    button: {
      sizes: {
        mini: {
          width: 100,
          height: 50,
          round: 10,
          fontSize: 20
        },
        small: {
          width: 200,
          height: 80,
          round: 20,
          fontSize: 35
        }
      }
    }

});

颜色值的使用


<sc-text color="primary"></sc-text>
<sc-button bg-color="success"></sc-button>

Api

请求

创建一个请求文件, 引入 request.js, 拦截器可以直接在源文件 http.interceptor.js 中进行设置, 也可自定义, 自定义时会同样执行 http.interceptor.js 文件中的代码, 需自行清除.

import request from "@/uni_modules/scview-ui/request.js";

// 设置全局配置
request.setConfig({
  // 在这里设置全局默认参数
  baseUrl: 'http://localhost:8080/api/'
});
// 请求拦截器
request.interceptor.request((config) => {
  // 在这里设置请求头等参数
  return config;
});

// 响应拦截器
request.interceptor.response((response) => {
  // 在这里处理返回数据
  return response;
});

export default {
  index() {
    let url = `/index/index`;
    return request.post(url);
  }
}

工具库

uni.$sc.validate 验证

  • isPureNumber: 判断一个字符串是否是纯数字
  • isPhone: 判断一个字符串是否是手机号
  • isEmail: 判断一个字符串是否是邮箱
  • isIdCard: 判断一个字符串是否是身份证号
  • isEmpty: 判断一个值是否为空
  • isObject: 判断一个值是否为对象

uni.$sc.utils 工具

  • systemInfo: 获取设备信息
  • addUnit: 添加单位,如果是字符串直接返回,否则加上rpx单位结尾
  • deepMerge: 深度合并多个对象。如果对象中有嵌套对象,会递归地进行合并。
  • deepClone: 深度克隆对象或数组
  • throttle: 节流函数,限制函数调用频率
  • debounce: 函数防抖

基础组件

text 文本

props

属性 说明 类型 默认值 可选值
size 字号 number / string 24rpx -
bold 是否是粗体 boolean false false / true
lineHeight 行高 number / string - -
align 文字对齐方式 string left left(居左) / center(居中) / right(居右)
lines 显示行数, 超出部分省略号 number / string - 最大值 5
color 字体的颜色值 string #333333 -
decoration 修饰符 string - underline(下划线) / line-through(中划线)
link 链接模式 boolean false false / true
href link 模式下配置的链接 string - -
padding 内边距(空格分割) 例子:'10 20px 3em 4%' string - -
pt 内上边距 number / string - -
pb 内下边距 number / string - -
pl 内左边距 number / string - -
pr 内右边距 number / string - -
margin 外边距(空格分割) 例子:'10 20px 3em 4%' string - -
mt 外上边距 number / string - -
mb 外下边距 number / string - -
ml 外左边距 number / string - -
mr 外右边距 number / string - -
customClass 自定义样式类 string - -
customStyle 自定义样式(权重高于其他props设置的样式) object - -

slot

slot 说明
default 文本内容
before 文本前
after 文本后

event

事件 说明 回调参数
click 点击时触发 -

image 文本

props

属性 说明 类型 默认值 可选值
src 地址 string - -
wh 宽高尺寸 默认值:'200rpx 200rpx' string - -
width 宽度 number / string - -
height 高度 number / string - -
round 圆角值 number / string - -
rotate 旋转角度 number / string - -
mode 裁剪模式(同uniapp官网) string aspectFill -
lazyLoad 是否懒加载 boolean false false / true
showError 是否显示加载错误的占位图 boolean false false / true
errorSrc 图片加载失败时显示的图片地址 string - -
margin 外边距(空格分割) 例子:'10 20px 3em 4%' string - -
mt 外上边距 number / string - -
mb 外下边距 number / string - -
ml 外左边距 number / string - -
mr 外右边距 number / string - -
customClass 自定义样式类 string - -
customStyle 自定义样式(权重高于其他props设置的样式) object - -

event

事件 说明 回调参数
click 点击图片时触发 -
load 图片加载成功时触发 -
error 图片加载失败时触发 err: 错误信息

button 按钮

props

属性 说明 类型 默认值 可选值
size 按钮的尺寸(只能传入 button.sizes 的配置) string - -
color 按钮的颜色值(常规模式下修改背景色,plain 模式下修改边框与文本颜色) string - -
width 宽度 number / string - -
height 高度 number / string - -
round 圆角值 number / string - -
plain 是否是镂空按钮 Boolean - -
fontSize 按钮文本的字号(权重最高) number / string - -
fontBold 按钮文本是否是粗体 boolean false false / true
fontColor 按钮文本颜色(权重最高) string - -
loading 加载状态图标类型 Boolean false false / true
loadingName 加载图标名称 string - -
loadingText 加载中提示文字 string - -
disabled 是否禁用 Boolean false false / true
margin 外边距(空格分割) 例子:'10 20px 3em 4%' string - -
mt 外上边距 number / string - -
mb 外下边距 number / string - -
ml 外左边距 number / string - -
mr 外右边距 number / string - -

event

事件 说明 回调参数
click 点击图片时触发 -
load 图片加载成功时触发 -
error 图片加载失败时触发 err: 错误信息

flex 布局

props

属性 说明 类型 默认值 可选值
wh 宽高 String '100% auto' -
width 元素宽度 Number / String - -
height 元素高度 Number / String - -
round 圆角 Number / String - -
bgColor 背景色 String - -
direction 布局方向 String - lr / rl / tb / bt
wrap 换行方式 String - wrap / wrap-reverse'
jc 主轴对齐方式(justify-content) String - start / end / center / between / around / evenly / baseline / first-baseline / last-baseline
ai 交叉轴对齐方式(align-items) String - start / end / center / baseline / first-baseline / last-baseline
ac 多根轴线的对齐方式(align-content) String - start / end / center / between / around / evenly
gap 行列间距 number / string - -
rowGap 行间距(权重高于gap) number / string - -
colGap 列间距(权重高于gap) number / string - -
grow 元素放大比例(flex-grow) String - -
shrink 元素缩小比例(flex-shrink) String - -
basis 分配多于空间(flex-basis) String - -
self 自身调整方式(align-self) String - -
margin 外边距(空格分割) 例子:'10 20px 3em 4%' string - -
mt 外上边距 number / string - -
mb 外下边距 number / string - -
ml 外左边距 number / string - -
mr 外右边距 number / string - -
padding 内边距(空格分割) 例子:'10 20px 3em 4%' string - -
pt 内上边距 number / string - -
pb 内下边距 number / string - -
pl 内左边距 number / string - -
pr 内右边距 number / string - -
customClass 自定义样式类 string - -
customStyle 自定义样式(权重高于其他props设置的样式) object - -

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问