微信小程序开发-封装方法&wx请求&WXS&确认框和消息框&滚动视图滚动条
小程序开发
浏览:1444 次

1、 包装方法
1.封装方法和导出
将封装的方法放入util目录中的js文件中。您可以创建一个新的js文件或直接将其写入util。js文件。
通过导出导出封装的方法。
(1) 确认框方法
在新消息中定义确认框方法。js文件并将其导出。
export let$confirm=(内容)=>{
return new Promise(解决=>{
wx.show模式({
所容纳之物
成功:({confirm})=>{
如果(确认){
解决()
}
}
})
})
}
(2) 消息框方法
在新消息中定义消息框方法。js文件并将其导出。
导出许可$msg=(标题,图标=“成功”,持续时间=1500)=>{
wx.showToast({
标题
偶像
期间
掩码:真
})
}
(3) 获取事件参数的方法
定义在新创建的消息中获取事件参数的方法。js文件并将其导出。
导出let$key=(e)=>{
返回e.currentTarget.dataset
}
2.导入方法
Import是ES6的导入语句。
//导入msg文件(模块)中指定的成员
从“../../utils/msg”导入{$msg,$confirm,$key}
3.将方法注册到全局对象wx
直接在页面上导入的方法只能在当前页面上使用。要使该方法在所有页面中都可用,可以使用全局对象wx注册该方法。
Wx对象是微信小程序的全局对象,可以在任何地方使用。
(1) 注册声明
wx.美元消息=$msg

wx.美元确认=$确认
(2) 在app中导入。js条目文件
注意:注册到wx对象的方法必须在app中导入。js文件才能使用。这是因为appJ将在其他页面之前执行,因此更适合处理一些注册功能。
//导入初始化文件
导入'./utils/index'
(3) 调用方法
Wx。方法名称(参数)
Wx$消息('删除成功')
2、 Wx对象启动请求
1、 wx。Request()发送请求
wx.请求({
//请求接口地址
url:'接口地址',
//请求参数
数据:{},
//请求模式GET/POST
方法:“GET”,
//请求成功后回调
成功:({data})=>{
解析(数据)
},
//请求完成后回调
完成:()=>{
安慰日志(“请求已完成”);
}
})
注意:在实际使用小程序时,所请求的接口必须都是已配置的接口。在中,选择要配置的开发管理-服务器域名。
在开发阶段,您可以直接在开发工具中设置“不验证合法域名”,暂时不配置。
2.封装请求方法
为了方便请求,我们可以对wx进行简单的封装。请求,这样我们可以更容易地调用它。
(1) 定义请求方法
export let$request=(url,data={},method='GET')=>{
return new Promise((resolve)=>{
wx.请求({
url,
数据
方法
成功:({data})=>{
解析(数据)
},
})
})

}
(2) 定义获取请求方法
export let$get=(url,data={})=>{
return$request(url,data,'GET')
}
(3) 定义后请求方法
export let$post=(url,data={})=>{
return$request(url,data,'POST')
}
3、 设置时间和WXS格式
将时间戳格式化为我们需要的时间格式。
例如,将时间戳1605010831402格式化为2020-11-10 20:20:31
1.在后台处理数据中的时间戳
FormatTime是utils js文件中包含的格式时间方法。我们可以向wx对象注册此方法并直接调用它。
let data=await wx.$get('Subject/GetSubjects',{section_id:id})
data=data.map(r=>{
返回{
创建时间:wx.$formatTime(新日期(parseInt(r.Createtime)))
}
})
2、 WXS公司
WXS(WeiXin Script)是一组用于小程序的脚本语言。使用WXML,您可以构建页面的结构。
在wxml页面中,您只能在插值{{}}中编写简单的js表达式,而不能调用方法。Wxs的存在是为了在页面中使用js。
(1) 语法
① 变量必须用var声明。不支持Const或let。
② 不支持箭头函数。
③ 无法使用模板字符串。字符串连接使用+。
④ 每个wxs文件和<wxs>标记是一个单独的模块。每个模块都有自己独立的范围。
通过模块导出导出内部私有变量和函数。
⑤ < wxs>在标签中,模块属性值定义标签的模块名称;的相对路径中引入了src属性值。wxs文件。
⑥ 使用getDate()生成日期对象并返回当前时间的对象。不要使用new Date()。
(2) <写入wxml文件;wxs>标签内部
var formatTime=函数(日期){
日期=获取日期(parseInt(日期))
var year=date.getFullYear()
var month=日期。获取月()+1
var day=日期.getDate()
var hour=日期.getHours()
var分钟=日期.getMinutes()
var second=日期.getSeconds()
return[year,month,day].map(formatNumber)。join('/')+''+[小时,分钟,