1. Введение
- Основы мини-программы WeChat
- знакомый
web
Друзья развития могут быть правыaxios
Мягкое место.
-
wx.request
вторичная упаковка
-
api
централизованное управление и использование
2. КонфигурацияbaseUrl
- Как правило, в проекте
baseUrl
префикс доменного имени, логинcode
,用户信息
и т. д. настраиваются вapp.js
середина
//app.js
App({
onLaunch: function () {
wx.login({
success: res => {
if (res.code) {
this.globalData.loginCode = res.code // 获取的code码,以进一步换取用户信息
// res: {
// code: "061Zltjh1sXj6s0z96hh1Z1njh1Zltj5"
// errMsg: "login:ok"
// }
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
},
globalData: {
userInfo: null,
loginCode: null,
baseUrl: 'https://...'
}
})
3. Пакетwx.request
- Создано в каталоге апплета
utils
папку и создайте ее в папкеrequest.js
документ
// request.js
const request = options => {
return new Promise((resolve, reject) => {
const { data, method } = options
if(data && method !== 'get') {
options.data = JSON.stringify(data)
}
wx.request({
header: { 'Content-Type': 'application/json' },
...options,
success: function(res) {
if(res.data.code === 2000) {
resolve(res.data)
} else {
reject(res.data)
}
},
fail: function(res) {
reject(res.data)
}
})
})
}
export default request
4.api
централизованное управление и использование
- Создано в каталоге апплета
api
папку и создайте ее в папкеuser.js
Файл (имя файла рекомендуется называть в честь модуля)
- использовал
axios
друзья должны чувствовать себя знакомыми
// user.js
import request from '../utils/request.js'
// baseUrl也可拼接在request.js中,当有多个鉴权模块,放在这里更灵活
const baseUrl = getApp().globalData.baseUrl
export function apiLogin(data) {
return request({
url: `${baseUrl}/user/login`,
method: 'post',
data
})
}
export function apiGetUserInfo() {
return request({
url: `${baseUrl}/user/userInfo`,
method: 'get'
})
}
export function apiModifyUserPassword(data) {
return request({
url: `${baseUrl}/user/modifyPassword`,
method: 'put',
data
})
}
export function apiLogout() {
return request({
url: `${baseUrl}/user/logout`,
method: 'delete'
})
}
- использовать на странице
// pages/login/login.js
import { apiLogin } from '../../api/user.js'
Page({
onLoad: function (options) {
this.login()
},
login() {
apiLogin({
// api params
}).then(res => {
// handle success
}).catch(error => {
// handle error
})
}
})
5. Эпилог
- из-за вовлечения
ES6
синтаксис, который необходимо включить в локальных настройкахES6
ПеременаES5
- Следует уделить внимание развитию малых программ
this
Направленная проблема.
- Спасибо за просмотр.Если есть какие-либо недостатки, пожалуйста, поправьте меня.Добро пожаловать, чтобы оставить сообщение для обсуждения.