# 租车小程序 **Repository Path**: out_source_project/car-rental-mini-program ## Basic Information - **Project Name**: 租车小程序 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-03 - **Last Updated**: 2023-11-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # uniapp库V2 ### 介绍 项目架构v2 ### 软件架构 软件架构说明 1. `uniapp`框架 2. `uview2.x`UI库[传送门](http://uviewui.com/) ### 使用说明 1. 根目录使用命令下载包`npm install` or `cnpm install` 2. 可以使用uview库组件 ### 请求封装说明 1. `http/http.js` 封装了uniapp的请求 2. `http/api.js` 封装统一放置的接口名位置 3. `http/apis` 文件夹为接口名的模块化 ### 工具类 1. `utils/tools.js` 封装了uniapp的部分交互API(已挂载可直接this.$tools.msg('弹窗')使用) 2. `utils/reg.js` 封装了常用的正则表达式(已挂载可直接this.$reg.isPhone()使用) ### css文件 1. `common/style/base.css` 统一的主题色、字号、颜色、背景,方便换整个色调字号之类的(黑色主题的颜色) 2. `common/style/animation.css` css动画轨迹可以放在这一起 3. `uni.scss`下面区分了颜色的主题 ### vuex组件说明 1. `store` 封装成了模块化 2. 类似于个人信息等可以封装在`mutations/index.js`文件里面 ### 配置不同功能的页面 > 为了配置不同盘口的静态文件以及接口地址等 * `config`文件夹为归类盘口文档 * `config/btcumb.js,config/finam.js`分为两个盘口配置了不同的静态文件以及接口地址 ##### 切换使用 > 切换平台 1. h5配置项 **注:在h5不用切换,根据地址切换不同平台 地址类型必须`http://**.btcumb.***`或者`https://**.btcumb.***`,用的地址里的`btcumb`这个做的匹配,这个值可变;若需更多平台需要前端做配置项** * `config/index.js` 这是总导出js文件 ```javascript import btcumb from './btcumb.js' import finam from './finam.js' import huobicore from './huobicore.js' //测试服 import realcode from './fih5.js' //cd测试服 // 环境类型 let envType = process.env.NODE_ENV // 根据地址判断是什么平台 let orgName = window.location.hostname.split('.')[1] let platName = '' if(orgName=='btcumb') platName = btcumb if(orgName=='finam') platName = finam if(orgName=='huobicore') platName = huobicore if(orgName=='realcode') platName = realcode if(envType==='production'){ //生产环境置空,开发环境不置空 platName.apiURL = '' } let plat = envType==='development'?huobicore:platName export default plat ``` 2. app配置项 **注:封装了一个枚举,打包不同平台app需要手动切换一下`PLAT_TYPE`这个变量** * `config/appIndex.js` 这是枚举文件 ```javascript import btcumb from './btcumb.js' import finam from './finam.js' import huobicore from './huobicore.js' //测试服 import realcode from './fih5.js' //cd测试服 /* * app的平台类型枚举 * 1.btcumb * 2.finam * 3.huobicore * 4.realcode */ let PLAT_TYPE = 1 let ENV_TYPE = process.env.NODE_ENV let appPlat = ENV_TYPE == 'development' ? huobicore : PLAT_TYPE == 1 ? btcumb : PLAT_TYPE == 2 ? finam : PLAT_TYPE == 3 ? huobicore : realcode export default appPlat ``` ### 怎么加配置项? 1. 在`config`文件夹新建一个`xxx.js`文件 2. 在新建的js文件里面加入`btcumb.js、finam.js`这俩文件一样的配置 ```javascript export default { name:'xxx', // 配置项名字 apiURL:'https://xxx.xxx.xxx', //这是api地址 // ws地址 wsURL:'wss://xxx.xxx.xxx/ws', // ws地址 defaultPhone:'+852', // 默认区号 // wsURL:'', // logo图片白色主题 logoImgLight:require('@/static/image/logo1.png'), // logo图片黑色主题 logoImgDark:require('@/static/image/logo2.png'), } ``` 3. 配置h5的总配置,在`config/index.js`文件里面 - 需要导入新的盘口js文件,例如:`import btcumb from './btcumb.js'` - 需要加入新的名字例如`if(orgName=='btcumb') platName = btcumb` ```javascript import btcumb from './btcumb.js' import finam from './finam.js' import huobicore from './huobicore.js' //测试服 import realcode from './fih5.js' //cd测试服 // 环境类型 let envType = process.env.NODE_ENV // 根据地址判断是什么平台 let orgName = window.location.hostname.split('.')[1] let platName = '' if(orgName=='btcumb') platName = btcumb if(orgName=='finam') platName = finam if(orgName=='huobicore') platName = huobicore if(orgName=='realcode') platName = realcode if(envType==='production'){ //生产环境置空,开发环境不置空 platName.apiURL = '' } let plat = envType==='development'?huobicore:platName export default plat ``` 4. 配置App的总配置,在`config/appIndex.js`文件里面 - 需要导入新的盘口js文件,例如:`import btcumb from './btcumb.js'` - 需要加入新的类型 - 修改如下 ```javascrpt let appPlat = ENV_TYPE == 'development' ? huobicore : PLAT_TYPE == 1 ? btcumb : PLAT_TYPE == 2 ? finam : PLAT_TYPE == 3 ? huobicore : PLAT_TYPE == 4?realcode:'导进的新的盘口' ``` ### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ### 版本 #### v2.0.0 - 初始化项目 - 封装两个工具类 - 封装接口请求 - 引入使用uviewUI框架 - store的结构封装 - 加入语言国际化 - 加入主题色