项目:XX项目-H5
开发环境
node版本
node > 12 【eg. 例如开发电脑node = 16.14.0】
程序启动
npm run dev:h5
程序打包
npm run build:h5
框架
- uniapp官网,使用Vue3/Vite版 https://uniapp.dcloud.net.cn/quickstart-cli.html
npx degit dcloudio/uni-preset-vue#vite theme-manage-fe-h5 - 参考配置【安装ts扩展、配置环境变量、统一代码规范prettier、安装 eslint、安装 husky规范git提交、安装配置 pina配置持久化、uniapp 拦截器和http封装】
参考链接:https://www.cnblogs.com/weizwz/p/17952042
1)配置环境变量,添加.env,.env.development,.env.development,开发者可以按照项目需要使用,这个可以是非必须的
2)安装pina提示版本依赖不兼容的错误,要注意安装版本,否则启动页面也出不来,会报错。
安装版本如下:npm i pinia@2.0.33 pinia-plugin-persistedstate --legacy-peer-deps
3)uniapp 拦截器封装的请求头,需要按照项目需要修改,当前只是一个参考示例。
4)安装 husky报错,会检查是否 有 .git,没有要先运行git init,npx husky-init 才会成功。安装这个的前提是电脑有安装git,且git环境变量有正确配置,运行 git --version 会出现相对应的版本。 - 安装uview-plus,使用npm方式配置文档 https://uiadmin.net/uview-plus/components/install.html
1)安装sass-loader,注意需要版本10,否则可能会导致vue与sass的兼容问题而报错 - 引入svg矢量图 https://www.jb51.net/javascript/305915tdi.htm
使用参考:<svg-icon name="search"></svg-icon>
矢量图标列表:/components/SvgIcon/index-example - 建议使用频率较高的注册为全局组件,look components/index.ts
- husky配置是让开发者在git push的之前eslint -t代码,由于该配置使用一直提交不成功,手动eslint也没报错,因此把这个husky配置又卸载和删除了。但是要强调开发者在开发的时候,提交代码前,最好手动eslint下再提交。
- 添加/bin/zip,使用build:h5-zip打包,便于上传到自动发布平台。
目录
economic-project-h5/src
│ App.vue
│ main.ts
│ README.md
├─assets 静态文件,图片,字体,多媒体,样式等
├─css 样式文件
├─icon svg
└─images 图片
├─components 组件 (见组件目录)
├─api 接口请求
├─store 存储类
├─utils 工具类
└─pages 页面
├─sheet 主题库模块
├─index 动态表单-管理
├─detail 动态表单-详情
└─list 动态表单-列表
├─login 登录页面
├─welcome 登录页面
└─test 开发者测试页面
组件
文件 | 名称 | 参考代码(如何使用) | 展示效果 |
---|---|---|---|
com-head | 公共头部 | /pages/sheet/index.vue | ---------- |
svg-icon | 矢量图标 | /components/SvgIcon/index-example.vue | ---------- |
| com-select | 下拉框 | /pages/sheet/list/list-search | ---------- |
| com-tree | 树形数据显示 | 无 | ---------- |
| da-tree | 插件市场树形控件 | /components/com-select-tree/index.vue | ---------- |
| com-select-tree | 下拉树形单选 | /components/com-select-tree/index.vue | ---------- |
注意事项
1、从门户跳转过来,url上有两个参数一个是ticket,一个是要显示页面。参考示例如下:
http://10.10.11.18:34103/video/#/caslogin?ticket=ST-171-P1NpIon1E9OaeQsXAPrs-cas01.example.org&entranceUrl=home
2、子系统嵌入APP相关代码
1)顶部菜单栏背景 background: #5181fb;
2)核心代码
<pre>
<code>
const onBack = () => {
const pages = getCurrentPages();
if (pages.length === 1 && window.plus) {
const webview = plus.webview.currentWebview();
webview.close();
} else {
uni.navigateBack();
}
};
</code>
</pre>
3、uview-plus官网没有tree的,去dcloud官网下载组件/components/da-tree/*,具体可以看其目录下的readme文档。
4、uview-plus官网的时间表单有问题,mode=time时不能正确显示值,mode=date时,返回的是时间戳和现实的不一致,显示不能清空,实际上值是清空了的,在手机上看的时候,居然先弹出来的键盘面板,要关掉才能显示时间选择面板。