更新记录
1.4.1(2024-06-25)
下载此版本
组件优化
1.4.0(2023-03-24)
下载此版本
代码优化
1.3.9(2023-02-17)
下载此版本
- 新增DropdownMenu 下拉菜单,NoticeBar 通知栏,Readmore 展开阅读更多 等组件
- Picker 等滑动组件增加默认选中项,加粗选中
- 代码精简优化
查看更多
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 app-vue |
× |
√ |
√ |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
s-ui
uni-app uni_modules 插件,集 组件,工具方法,接口请求,基础样式及个人常用封装为一体,便于项目开发,所有组件及全局样式都有独立命名前缀。
官方qq群 864429513
接uni-app,移动端网页h5,pc端后台管理系统等前端私活,有意向者可加本人qq号350801869私聊
小程扫码体验 [s-ui示例] 序
使用说明
// main.js中引入
import Vue from 'vue';
import sUi from '@/uni_modules/s-ui';
Vue.use(sUi, {
// 是否给页面page全局混入一个onEmitPage钩子,使用this.$emitPage(pagePath,...args)触发
useEmitPageMixin: false,
// 是否替换uni默认的showLoading,hideLoading
replaceUniLoading: false,
// 是否替换uni默认的showToast,hideToast
replaceUniToast: false,
// 是否替换uni默认的showModal
replaceUniModal: false,
// 返回首页
homePath: '/pages/index/index',
});
// 替换uni默认的showLoading,showToast,showModal需在页面上引入<s-toast/> <s-dialog/>
// 推荐直接使用<s-page custom-class="Index-Page">内容</s-page>
scss变量需要在uni.scss中引入
@import '@/uni_modules/s-ui/styles/var.scss';
@import '@/uni_modules/s-ui/styles/component-var.scss';
全局公用样式
@import "@/uni_modules/s-ui/styles/index.scss";
组件在page.json中使用easycom引入
"easycom": {
"^s-(.*)": "@/uni_modules/s-ui/components/s-$1/s-$1.vue"
}
工具方法使用
import formatDate from "@/uni_modules/s-ui/utils/formatDate";
接口请求
import createRequest from "@/uni_modules/s-ui/plugins/createRequest";
// 简单使用
const request = createRequest({
baseURL: 'https://www.baidu.com'
})
// 使用方式
request.get('/xxx/xxx', {
a: 1,
b: 2
}, {
loadingText: '请求中'
}).then(res => {
console.log(res.data)
}).catch(err => {
console.log(err.message)
})
// 全部默认参数
const request = createRequest({
// uni自带
header: {}, // 请求头
method: 'GET', // 请求方式
url: '', // 接口路径
timeout: 20 * 1000, // 超时时间
// 自定义添加
baseURL: '', // 域名
urlParams: {}, // 接口路径中的参数
useDefaultLoading: true, // 是否使用自定义内置loading
showLoading: true, // 是否显示加载loading
loadingText: '请求中', // loading 文字
loadingTime: 200, // 在此时间内,请求还没回来的话,就显示加载中动画,单位ms
loadingHideDelayTime: 0, // 请求完成后,延迟多久执行关闭,如有连续请求可使loading避免闪烁
useDefaultToast: true, // 是否使用自定义内置toast
toastTime: 2000, // 提示时间
showError: true, // 是否显示错误提示
delayTime: 0, // 延时多久发起请求
getTask(task) {}, // 获取请求返回对象
// 判断请求状态是成功还是失败
validateStatus(res) {
return res.statusCode === 200;
},
}, {
/**
* @description: 发起请求前拦截器
* @param {object} options
* @return {?object|Promise}
*/
request(options) {
return options;
},
/**
* @description: 请求成功拦截器
* @param {object}
* @return {object|Promise}
*/
success({
options,
data,
createError,
createSuccess
}) {
return createSuccess(data);
},
/**
* @description: 请求失败拦截器
* @param {object}
* @return {object|Promise}
*/
fail({
options,
error,
createError,
createSuccess
}) {
return error;
},
})