# yougou
**Repository Path**: ty-88/yougou
## Basic Information
- **Project Name**: yougou
- **Description**: 微信小程序
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-10-13
- **Last Updated**: 2024-05-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## uniapp
### 什么是 uniapp
它是 **vue**语法的**全端**开发框架
### 初始化 uniapp 项目
1. 检查我们安装好的 vue 的脚手架版本 - 必须要 4 版本!!!
```
vue -V
```
2. 假设你是 `5` 版本的话 先卸载
```
npm un -g @vue/cli
```
3. 重新安装 4 版本的
```
npm install -g @vue/cli@4
```

4. 使用命令来创建 uniapp 项目 等待安装即可 _网络慢 要等待长时间_
```
vue create -p dcloudio/uni-preset-vue hmyg145
```
5. 选择 `默认模版`

6. 找到 项目中 `src/manifest.json`, 中关于 微信小程序的配置 , 填写你的 appid

7. 运行命令 运行微信小程序
看清楚你打开 cmd 的目录

输入以下命令
```
npm run dev:mp-weixin
```
8. 运行成功 看见这个 提示

9. 在微信开发者工具中 来导入项目即可 - 大家先别做 - 很容易出错!!!!

要导入的是 **dist/dev/mp-weixin**
***

10. 如果出现以下提示,就表示成功

### 开发 uniapp 的注意点!!
#### 不要直接在微信开发者工具中 修改代码
> 实际工作中,不能直接改编译好后的代码,要改就应该改 项目的源代码
原因:
1. 我想要改 appid, 就像以前开发原生小程序一样 `dist/dev/mp-weixin/project.config.json` 修改 id,确实会成功!!!
2. 上传代码,关闭电脑、下班
3. 我们的项目 不会把 dist 目录下所有代码上传 码云

4. 你的同事拉取你的代码 - 问你 说 你填写好了公司新的 appid 了没有
1. 你一看 微信开发者工具 ,已经成功, 你说改好了!!!
2. 但是你同事拉取下来的代码 没有!!!
3. 而且你的同事 会在项目敲命令 `npm run dev:mp-weixin` 表示 同事电脑中的 dist 自动生成!!
5. 而且对于我们自己来说 等到第二天上班 会敲一个命令 `npm run dev:mp-weixin`
你的脚手架 会删除掉 旧的`dist` 然后重新编译新的!!
#### 开发时,标签尽可能使用小程序的,而语法尽可能使用 vue 的
```html
{{title}}
```
```html
{{item}}
```
### uniapp 目录结构
1. App.vue **全局样式和应用生命周期**
2. manifest.json 可以配置小程序的 appid、等同于 原生小程序 project.config.json 文件

3. pages.json 等同于以前的 全局配置(app.json) 和 页面配置(index.json)
4. `uni.scss` uniapp 直接会执行的 sass 文件- 也是可以定义全局样式!!变量 混合。。
5. `pages` 目录 就是我们存放小程序页面的地方
6. `static` uniapp 中用来存放静态资源的地方,都建议把静态资源存放进去!!
7. 如何在 uniapp 中来新建页面
1. 手动的在 pages 下新建 `pages/index2/index2.vue` 添加好基本结构 否则会报错
```vue
index2
```
2. 修改 `pages.json` 在里面添加一个页面的记录

***

### 在 vscode 安装 uniapp 插件

---

### uinapp 的生命周期
> 大伙不要去纠结 遵循就可以!!
1. 应用和页面使用小程序规范
1. 应用生命周期 在 `App.vue` 定义

2. 页面生命周期 直接在 组件的 js 中写即可

2. 组件使用 vue 规范

### easycom 组件引入方式
在 uniapp 中 引入组件的方式 变为两个步骤
1. 按照**规范** 新建组件

***

2. 页面中直接使用组件

### uni api
> 为什么要使用它
1. 支持 promise(_原生小程序一些 api 不支持_)
2. 跨平台,一段代码 直接运行到不同的平台上 (_web、小程序、手机 app_)
如何使用
```js
const [err, result] = await uni.request({
url: 'https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata',
});
if (!err) {
// 没有出错
console.log(result);
}
```
## uview
> https://v1.uviewui.com/
> 和 uniapi 配套出现 全端 UI 框架!!!
>
> 项目使用的 uview 的版本 1.x 版本!!
### 在 uniapp 引入 uview
1. 安装依赖
```
npm i uview-ui@1.8.4 sass
```
2. 在 `src/main.js` 文件中 全局引入 js 库
```js
import uView from 'uview-ui';
Vue.use(uView);
```
3. 在 uni.scss 中 引入 uview 的 sass 主题库
```less
@import 'uview-ui/theme.scss';
```
4. 在 App.vue 中 引入 uview 的 sass 主题库
```scss
```
5. pages.json 中 配置 easycom
```json
{
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
// 此为本身已有的内容
"pages": [
// ......
]
}
```
6. 在 页面中 使用 uview 的按钮
```vue
默认按钮
主要按钮
成功按钮
信息按钮
警告按钮
危险按钮
```
7. 成功

## 购物车静态页面
```vue
¥xxx
-
xxx
+
全选
合计: ¥xxx
去结算(xxx)
```
## 支付静态页面
```vue
获取收货地址
xxx
xxx
已选商品
xxx
¥xxx
Xxxx
合计: ¥xxx
去支付(xxx)
```
## 企业appid和对应的接口
| 小程序名称 | appid | 接口地址 |
| ---------------------- | ------------------ | ------------------------------------------------------------ |
| 黑马优购 | wxfb52f2d7b2f6123a | [https://api-hmugo-web.itheima.net/api/public/v1](https://gitee.com/link?target=https%3A%2F%2Fapi-hmugo-web.itheima.net%2Fapi%2Fpublic%2Fv1) |
| 黑马程序员广州研发中心 | wx38d8faffac4d34d2 | [https://wx.zbztb.cn/api/public/v1](https://gitee.com/link?target=https%3A%2F%2Fwx.zbztb.cn%2Fapi%2Fpublic%2Fv1) |