uniapp+vue3+pina+uview-plus

项目:XX项目-H5

开发环境

node版本

node > 12 【eg. 例如开发电脑node = 16.14.0】

程序启动

npm run dev:h5

程序打包

npm run build:h5

框架

  1. uniapp官网,使用Vue3/Vite版 https://uniapp.dcloud.net.cn/quickstart-cli.html
    npx degit dcloudio/uni-preset-vue#vite theme-manage-fe-h5
  2. 参考配置【安装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 会出现相对应的版本。
  3. 安装uview-plus,使用npm方式配置文档 https://uiadmin.net/uview-plus/components/install.html
    1)安装sass-loader,注意需要版本10,否则可能会导致vue与sass的兼容问题而报错
  4. 引入svg矢量图 https://www.jb51.net/javascript/305915tdi.htm
    使用参考:<svg-icon name="search"></svg-icon>
    矢量图标列表:/components/SvgIcon/index-example
  5. 建议使用频率较高的注册为全局组件,look components/index.ts
  6. husky配置是让开发者在git push的之前eslint -t代码,由于该配置使用一直提交不成功,手动eslint也没报错,因此把这个husky配置又卸载和删除了。但是要强调开发者在开发的时候,提交代码前,最好手动eslint下再提交。
  7. 添加/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时,返回的是时间戳和现实的不一致,显示不能清空,实际上值是清空了的,在手机上看的时候,居然先弹出来的键盘面板,要关掉才能显示时间选择面板。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容