From 8a1c8e6dcafa79304546e8be833b2b2cafd0bc2a Mon Sep 17 00:00:00 2001 From: wuxuehong Date: Tue, 29 Mar 2022 15:57:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BB=BA=E6=A1=A3=E5=A2=9E=E5=8A=A0=E6=88=B7?= =?UTF-8?q?=E7=B1=8D=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- littleApp_child/app.json | 3 +- littleApp_child/pages/Guide/guide.wxml | 9 +- littleApp_child/pages/Guide/guide.wxss | 16 ++- .../childcare_knowledge_detail.js | 11 +- .../childcare_knowledge_detail.wxml | 8 +- .../childcare_knowledge_detail.wxss | 18 ++- littleApp_child/pages/home/home.js | 14 ++ littleApp_child/pages/home/home.wxml | 4 + .../pages/quickArchives/quickArchives.js | 44 ++++++- .../pages/quickArchives/quickArchives.wxml | 46 ++++++- .../pages/quickArchives/quickArchives.wxss | 3 +- littleApp_child/utils/apiFile.js | 2 + littleApp_child/utils/areaSelector/province.js | 7 + littleApp_child/utils/areaSelector/selector.js | 141 +++++++++++++++++++++ littleApp_child/utils/areaSelector/selector.wxml | 28 ++++ littleApp_child/utils/areaSelector/selector.wxss | 75 +++++++++++ littleApp_child/utils/network_util.js | 49 ++++++- 17 files changed, 450 insertions(+), 28 deletions(-) create mode 100644 littleApp_child/utils/areaSelector/province.js create mode 100644 littleApp_child/utils/areaSelector/selector.js create mode 100644 littleApp_child/utils/areaSelector/selector.wxml create mode 100644 littleApp_child/utils/areaSelector/selector.wxss diff --git a/littleApp_child/app.json b/littleApp_child/app.json index 8afb343..41c1ffe 100644 --- a/littleApp_child/app.json +++ b/littleApp_child/app.json @@ -50,7 +50,8 @@ { "root": "packageA", "pages": [ - "pages/graph/graph" + "pages/graph/graph", + "pages/editAddress/editAddress" ] } ], diff --git a/littleApp_child/pages/Guide/guide.wxml b/littleApp_child/pages/Guide/guide.wxml index 0236b35..d90ee76 100644 --- a/littleApp_child/pages/Guide/guide.wxml +++ b/littleApp_child/pages/Guide/guide.wxml @@ -16,7 +16,7 @@ - + @@ -38,13 +38,14 @@ {{item.viewCount}} - + 加载更多... @@ -55,4 +56,4 @@ - \ No newline at end of file + diff --git a/littleApp_child/pages/Guide/guide.wxss b/littleApp_child/pages/Guide/guide.wxss index be4c557..b020826 100644 --- a/littleApp_child/pages/Guide/guide.wxss +++ b/littleApp_child/pages/Guide/guide.wxss @@ -132,13 +132,11 @@ .like_box { display: flex; - height: 36px; justify-content: flex-start; } .content_tags_box { display: flex; - height: 36px; justify-content: flex-end; } @@ -147,11 +145,16 @@ color: #de7f46; border-radius: 2px; background-color: #ffebe0; - height: 16px; - padding: 3px; + min-height: 16px; + min-width: 30px; + padding: 2.5px; line-height: 16px; margin-left: 6px; - text-align: center; + overflow:hidden; + text-overflow:ellipsis; + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-line-clamp:2; } .zarparent_box { @@ -227,6 +230,9 @@ margin-top: 5px; left: 15px; right: 15px; } +.home__list-item__bottom.new_home__list-item__bottom{ + margin-top: 16px!important; +} .list_scroll { height: 100vh; diff --git a/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.js b/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.js index 02589ab..75d688b 100644 --- a/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.js +++ b/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.js @@ -9,7 +9,7 @@ var util = require('../../utils/util.js') Page({ data: { - + item: '', knowledge: null, images: [], titles: ["日常护理", "营养美食", "疾病护理", "亲子互动", "言传qq"], @@ -32,6 +32,13 @@ Page({ // success: function (res) { // } // }) + if (options.item!==null&&options.item!==undefined&&options.item!=="") { + this.data.item = options.item.split(","); + console.log(this.data.item) + this.setData({ + item: this.data.item + }) + } this.requestData(options.id) }, onUnload: function () { @@ -87,7 +94,7 @@ Page({ swiperHeight: wx.getSystemInfoSync().windowWidth * 0.55 }) }, function (res) { - + }) }, // 文章点赞 diff --git a/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.wxml b/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.wxml index ade0e0a..90bad8a 100644 --- a/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.wxml +++ b/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.wxml @@ -5,6 +5,10 @@ --> + @@ -12,7 +16,7 @@ {{knowledge.time}} - + {{knowledge.content}} - \ No newline at end of file + diff --git a/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.wxss b/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.wxss index 48f4b05..8cf9085 100644 --- a/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.wxss +++ b/littleApp_child/pages/childcare_knowledge_detail/childcare_knowledge_detail.wxss @@ -17,6 +17,22 @@ page { margin-right: 10px; } +.detail_article_label{ + width: 94%; + margin-left: 3%; + display: -webkit-box; + color: #58A478; + font-size: 12px; +} +.detail_article_label .item{ + margin-right: 10px; + padding: 5px; + background: #F2FDF7; + border-radius: 2px; + -webkit-box-flex: 1; + min-width: 30px; +} + .art_labels { display: flex; margin-left: 10px; @@ -85,7 +101,7 @@ page { font-family: PingFangSC-Regular; font-size: 10px; margin-left: 3px; - + margin-top: 5px; color: #c8c6c6; } diff --git a/littleApp_child/pages/home/home.js b/littleApp_child/pages/home/home.js index 15d26d8..d38333a 100644 --- a/littleApp_child/pages/home/home.js +++ b/littleApp_child/pages/home/home.js @@ -827,6 +827,20 @@ Page({ networkUtil.showErrorToast(res.errormsg) },'application/json') }, + goEditAddress() { + networkUtil.showLoading() + var param = { + 'pid': app.globalData.userInfo.pid, + 'hospitalId':app.globalData.userInfo.hospitalId + } + networkUtil._post(api.getBabyBuildPidInfo,param,function(res){ + if (res.data.data) { + wx.navigateTo({url: '/packageA/pages/editAddress/editAddress?id=' + res.data.data.id }) + } + },function(res){ + networkUtil.showErrorToast(res.errormsg) + },'application/json') + }, //专家咨询 consultation(){ if(this.data.riskGuide){ diff --git a/littleApp_child/pages/home/home.wxml b/littleApp_child/pages/home/home.wxml index dc93e4a..32e9eb7 100644 --- a/littleApp_child/pages/home/home.wxml +++ b/littleApp_child/pages/home/home.wxml @@ -109,6 +109,10 @@ 身高体重曲线 + + + 补填户籍地址 + diff --git a/littleApp_child/pages/quickArchives/quickArchives.js b/littleApp_child/pages/quickArchives/quickArchives.js index 71371e2..aee0332 100644 --- a/littleApp_child/pages/quickArchives/quickArchives.js +++ b/littleApp_child/pages/quickArchives/quickArchives.js @@ -5,7 +5,8 @@ var api = require('../../utils/apiFile.js') var makePy = require('../../utils/makepy.js') const {utils} = require("../../utils/sdk/src/utils"); const util = require("../../utils/util") -Page({ +import { AreaPicker } from "../../utils/areaSelector/selector.js" +Page(Object.assign({}, AreaPicker,{ /** * 页面的初始数据 @@ -13,6 +14,7 @@ Page({ data: { postObj: {}, queryData:{}, + currentAddress: {}, sex:[ { name:"男", @@ -226,6 +228,14 @@ Page({ flag = false; value += "儿童出生身长 " } + if(!this.data.currentAddress.addEntry) { + flag = false; + value += "户籍地址 " + } + if(!data.babyAddress) { + flag = false; + value += "街道门牌 " + } return { flag:flag, value:value @@ -235,6 +245,12 @@ Page({ var key = this.checkForm(); var data = this.data.postObj; data.hospitalId = this.data.queryData.hospital.hospitalId; + if (this.data.currentAddress.addEntry) { + data.babyProvinceId = this.data.currentAddress.addEntry[0].id; + data.babyCityId = this.data.currentAddress.addEntry[1].id; + data.babyAreaId = this.data.currentAddress.addEntry[2].id; + data.babyStreetId = this.data.currentAddress.addEntry[3].id; + } var that = this; if(key.flag){ this.setData({ @@ -326,7 +342,7 @@ Page({ postObj : res.data.data[0], showViewType:1 }) - } + } } }, function(res) { networkUtil.showErrorToast(res.errormsg) @@ -371,7 +387,7 @@ Page({ - + /** * 生命周期函数--监听页面初次渲染完成 */ @@ -419,5 +435,25 @@ Page({ */ onShareAppMessage: function () { + }, + onAreaCommit(locationList, e) {//当用户更换地区 + console.log('选择地址后', locationList) + var self = this; + self.addrInfo = { + province: locationList[0] || {}, + city: locationList[1] || {}, + area: locationList[2] || {}, + street: locationList[3] || {}, + } + var address = {} + address.details = '' + for (var i in locationList){ + address.details += locationList[i].name + } + address.addEntry = locationList + self.setData({ + isShow: 0, + currentAddress: address + }); } -}) \ No newline at end of file +})) diff --git a/littleApp_child/pages/quickArchives/quickArchives.wxml b/littleApp_child/pages/quickArchives/quickArchives.wxml index 0d4f8e8..fee9138 100644 --- a/littleApp_child/pages/quickArchives/quickArchives.wxml +++ b/littleApp_child/pages/quickArchives/quickArchives.wxml @@ -121,6 +121,25 @@ + *户籍地址 + + + 请选择省市区(县) + {{currentAddress.details}} + + + + + *街道门牌 + + + + + + + 母亲姓名 @@ -304,6 +323,24 @@ + 户籍地址 + + + + {{currentAddress.details?currentAddress.details:''}} + + + + + + 街道门牌 + + + {{babyInfo.babyAddress?babyInfo.babyAddress:''}} + + + + 母亲姓名 @@ -371,7 +408,7 @@ - - \ No newline at end of file + + + + diff --git a/littleApp_child/pages/quickArchives/quickArchives.wxss b/littleApp_child/pages/quickArchives/quickArchives.wxss index fc504d0..133222d 100644 --- a/littleApp_child/pages/quickArchives/quickArchives.wxss +++ b/littleApp_child/pages/quickArchives/quickArchives.wxss @@ -1,4 +1,5 @@ /* pages/quickArchives /quickArchives .wxss */ +@import "../../utils/areaSelector/selector.wxss"; .Warning{ font-size: 14px; padding-left: 10px; @@ -107,4 +108,4 @@ radio{ .pickerButSub{ float: right; color: #48C17B; - } \ No newline at end of file + } diff --git a/littleApp_child/utils/apiFile.js b/littleApp_child/utils/apiFile.js index 1d191ae..b212d5d 100644 --- a/littleApp_child/utils/apiFile.js +++ b/littleApp_child/utils/apiFile.js @@ -89,6 +89,8 @@ module.exports = { goodsbuy: 'goods/buy', //儿童建档-提交建档信息 addBabyInfo:'baby/addBabyInfo', + //儿童建档-修改户籍地址 + editAddress: '/baby/updateKosekiInfo', //儿童疾病护理获取医生列表 getWxDoctors:'baby/getWxDoctors', //添加用药记录 diff --git a/littleApp_child/utils/areaSelector/province.js b/littleApp_child/utils/areaSelector/province.js new file mode 100644 index 0000000..74bbede --- /dev/null +++ b/littleApp_child/utils/areaSelector/province.js @@ -0,0 +1,7 @@ +/** + * 省级地址数据 + * 省级数据不会经常变动,可以写死在应用中,减少用户等待时常,减轻服务器压力 + */ +export let province = [ + { "id": "1", "name": "河北省", "code": "130000" }, { "id": "211", "name": "山东省", "code": "370000" }, { "id": "11aa", "name": "北京市", "code": "110000" }, { "id": "12aa", "name": "天津市", "code": "120000" }, { "id": "14aa", "name": "山西省", "code": "140000" }, { "id": "15aa", "name": "内蒙古自治区", "code": "150000" }, { "id": "21aa", "name": "辽宁省", "code": "210000" }, { "id": "22aa", "name": "吉林省", "code": "220000" }, { "id": "32aa", "name": "江苏省", "code": "320000" }, { "id": "33aa", "name": "浙江省", "code": "330000" }, { "id": "34aa", "name": "安徽省", "code": "340000" }, { "id": "23aa", "name": "黑龙江省", "code": "230000" }, { "id": "31aa", "name": "上海市", "code": "310000" }, { "id": "36aa", "name": "江西省", "code": "360000" }, { "id": "35aa", "name": "福建省", "code": "350000" }, { "id": "41aa", "name": "河南省", "code": "410000" }, { "id": "44aa", "name": "广东省", "code": "440000" }, { "id": "42aa", "name": "湖北省", "code": "420000" }, { "id": "43aa", "name": "湖南省", "code": "430000" }, { "id": "52aa", "name": "贵州省", "code": "520000" }, { "id": "53aa", "name": "云南省", "code": "530000" }, { "id": "46aa", "name": "海南省", "code": "460000" }, { "id": "45aa", "name": "广西壮族自治区", "code": "450000" }, { "id": "50aa", "name": "重庆市", "code": "500000" }, { "id": "54aa", "name": "西藏自治区", "code": "540000" }, { "id": "64aa", "name": "宁夏回族自治区", "code": "640000" }, { "id": "65aa", "name": "新疆维吾尔自治区", "code": "650000" }, { "id": "61aa", "name": "陕西省", "code": "610000" }, { "id": "62aa", "name": "甘肃省", "code": "620000" }, { "id": "63aa", "name": "青海省", "code": "630000" }, { "id": "82aa", "name": "澳门特别行政区", "code": null }, { "id": "71aa", "name": "台湾省", "code": null }, { "id": "51aa", "name": "四川省", "code": "510000" }, { "id": "81aa", "name": "香港特别行政区", "code": null } + ]; diff --git a/littleApp_child/utils/areaSelector/selector.js b/littleApp_child/utils/areaSelector/selector.js new file mode 100644 index 0000000..4c707b1 --- /dev/null +++ b/littleApp_child/utils/areaSelector/selector.js @@ -0,0 +1,141 @@ +// pages/a/a.js +// let service = require("../../utils/service.js"); +var networkUtil = require('../network_util.js') +// 选择器信息 +var event = '' +import { province } from "./province.js" + +export let AreaPicker = { + // onAreaCommit(locationList){} 需要实现的方法 + showAreaSelector(e) {//显示地址选择器 + event = e + if (!this.data._area_areaList) { + this._area_init(); + } + this.setData({ _area_showSelector: true, name: e.target.dataset.name}) + }, + _area_hideAreaSelector() {//隐藏地址选择器 + this.setData({ _area_showSelector: false }) + }, + _area_init() {//初始化 + this.setData({ + _area_level: 6,//总共有几级地址 + _area_selectAllArea: true,//是否要求用户选到最后一级 + _area_showSelector: false,//是否展示控件 + _area_activeTab: 0,//激活的选项卡 + _area_checkedIndexArr: [],//选中的地址下标 + _area_areaList: [province, null, null, null],//省市区街道二维数组 + }) + }, + _area_selectAreaItem(e) { + let level = parseInt(e.target.dataset.level); + let index = parseInt(e.target.dataset.index); + let id = e.target.dataset.id; + let newCheckedIndexArr = this.data._area_checkedIndexArr; + let newAreaList = this.data._area_areaList; + newCheckedIndexArr[level] = index; + switch (level) { + case 0: + newCheckedIndexArr[1] = null; + newCheckedIndexArr[2] = null; + newCheckedIndexArr[3] = null; + newAreaList[1] = null; + newAreaList[2] = null; + newAreaList[3] = null; + break; + case 1: + newCheckedIndexArr[2] = null; + newCheckedIndexArr[3] = null; + newAreaList[2] = null; + newAreaList[3] = null; + break; + case 2: + newCheckedIndexArr[3] = null; + newAreaList[3] = null; + break; + } + this.setData({ _area_checkedIndexArr: newCheckedIndexArr, _area_areaList: newAreaList }); + if (level < this.data._area_level - 1) { + //加载下一页地址选择数据 + this._area_loadArea(level + 1, id); + + } else { + //选择完成 + + this._area_commitArea(); + } + }, + _area_reselectArea(e) { + let level = parseInt(e.target.dataset.level); + this.setData({ + _area_activeTab: level, _area_areaList: [province, null, null, null] }); + }, + _area_loadArea(level, areaId) { + console.log('我就是层级',level) + let _area_areaList = this.data._area_areaList; + var self = this + wx.showLoading({ title: '加载中' }); + + if (this.data.name != "healthResort" && level >= 4){ + self._area_commitArea(); + wx.hideLoading() + return + } + var addr = 'https://app-member-api.healthbaby.com.cn/vqhdfy/archiveBuildRegions' + // 获取省市县 + networkUtil._getAddress(addr, { parentId: areaId, hospitalId: getApp().globalData.hospitalId ? getApp().globalData.hospitalId : ''}, function (res) { + // 确保返回数据一定有id和name这两个字段 + _area_areaList[level] = res.data.list; + self.setData({ _area_areaList: _area_areaList }); + if (res.data.list.length < 1) {//下级地址为空 + self._area_commitArea(); + } else { + self.setData({ _area_activeTab: level }); + } + console.log(res) + }, function (res) { + wx.showToast({ title: `获取地区失败`}) + }) + // service.getNextAreaList(areaId).then(data => { + + // this.setData({ _area_areaList: _area_areaList }); + // if (nextAreaList.length < 1) {//下级地址为空 + // this._area_commitArea(); + // } else { + // this.setData({ _area_activeTab: level }); + // } + // wx.hideLoading(); + // }).catch(e => { + // wx.showToast({ title: `获取地区失败,${JSON.stringify(e)}`, image: '/image/warn.png' }) + // }); + }, + _area_areaSwipe(e) { + let level = parseInt(e.detail.current); + this.setData({ + _area_activeTab: level + }); + }, + + _area_commitArea() { + let locationList = []; + for (let i in this.data._area_checkedIndexArr) { + let index = this.data._area_checkedIndexArr[i]; + if (index !== null) { + let locationItem = { + id: this.data._area_areaList[i][index].id, + name: this.data._area_areaList[i][index].name, + }; + locationList.push(locationItem); + } else { + break; + } + } + if (this.onAreaCommit) { + this.onAreaCommit(locationList,event); + } else { + console.warn('页面缺少 onAreaCommit(locationList) 回调函数'); + } + this._area_init();//选择完成 重置选择器 + } + +}; diff --git a/littleApp_child/utils/areaSelector/selector.wxml b/littleApp_child/utils/areaSelector/selector.wxml new file mode 100644 index 0000000..82eb09c --- /dev/null +++ b/littleApp_child/utils/areaSelector/selector.wxml @@ -0,0 +1,28 @@ + + + + + + {{_area_checkedIndexArr[index]!=null?item[_area_checkedIndexArr[index]].name:'请选择'}} + + + + 关闭 + 确定 + + + + + + + + {{item.name}} + + + + + + + + \ No newline at end of file diff --git a/littleApp_child/utils/areaSelector/selector.wxss b/littleApp_child/utils/areaSelector/selector.wxss new file mode 100644 index 0000000..288d73b --- /dev/null +++ b/littleApp_child/utils/areaSelector/selector.wxss @@ -0,0 +1,75 @@ + +.areaSelectorBg{ + position: fixed; + z-index: 100; + left: 0; + right: 0; + top: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.5); + display: flex; + flex-direction: column-reverse +} +.areaContainer{ + width: 100%; + display: block; + background-color: white; +} +.areaHead{ + height: 100rpx; + line-height: 100rpx; + width: 100%; + display: flex; + font-size: 28rpx; + color: #333; + border-bottom: 1rpx solid #dddddd; +} +.areaHeadItem{ + padding: 0 15rpx; + box-sizing: border-box; + height: inherit; + max-width: 20%; + overflow: hidden; + text-overflow:ellipsis; + white-space: nowrap; +} +.areaHeadItem:first-child{ + padding:0 30rpx; +} +.areaHeadItemChecked{ + border-bottom: 4rpx crimson solid; + font-weight: bold; +} +.areaCommit{ + height: inherit; + padding: 0 30rpx; + color: #12b7f5; + font-size: 32rpx; +} +.areaClose{ + height: inherit; + padding: 0 30rpx; + color: #666666; + font-size: 32rpx; +} +.areaBody{ + height: 600rpx; + font-size: 28rpx; + text-align:left; + box-sizing: border-box; + display: flex; +} +.areaBody scroll-view{ + height: 100%; +} +.itemContainer{ + box-sizing: border-box; + display: block; + padding: 20rpx 20rpx 30rpx 22rpx; +} +.areaBodyItem{ + padding: 12rpx 20rpx; + border: 1rpx solid #dddddd; + margin: 8rpx 10rpx; + display: inline-block; +} \ No newline at end of file diff --git a/littleApp_child/utils/network_util.js b/littleApp_child/utils/network_util.js index be483bc..43cc198 100644 --- a/littleApp_child/utils/network_util.js +++ b/littleApp_child/utils/network_util.js @@ -1,12 +1,12 @@ // 测试用户‘花雪莲’,手机号 15928512992 ,验证码666666 -//childName 七八 ID 130102200105076444 phone 18723569874 motherName 五六 vaNO 1111781111 验证码 +//childName 七八 ID 130102200105076444 phone 18723569874 motherName 五六 vaNO 1111781111 验证码 // 18382670036 多层次 // 18328537371 陈云 666666 // 0测试环境 1正式环境 2演示环境 3衡水 -var Builing_Release_AppStore = 0; +var Builing_Release_AppStore = 4; // 获取服务器地址 -function kServerBaseUrl() { +function kServerBaseUrl() { switch (Builing_Release_AppStore) { case 0: return 'https://dev-app-member-api.healthbaby.com.cn/'; @@ -16,9 +16,11 @@ function kServerBaseUrl() { return 'https://stage-app-member-api.healthbaby.com.cn/'; case 3: return 'https://weixin-bj.healthbaby.com.cn/'; + case 4: + return 'http://192.168.2.5:9090/member/' } } - + /* * port: 接口名称 类型字符串 * params: 参数 类型json @@ -159,13 +161,50 @@ function showErrorToast(text) { }) } +/* + 获取地址 +* port: 接口名称 类型字符串 +* params: 参数 类型json +* success: 成功回调 类型function +* fail: 失败回调 类型function +*/ +function _getAddress(addr,params, success, fail) { + wx.request({ + url: addr, + data: params, + method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT + header: { + 'content-type': 'application/json' + }, // 设置请求的 header + success: function (res) { + // success + successData(res, success, fail) + }, + fail: function (res) { + var error = {} + error.errorcode = 404 + error.errormsg = '数据获取失败,请稍后再试' + console.log(res) + // fail + fail(error) + }, + complete: function (res) { + // complete + wx.hideToast() + // 小程序提供的api,通知页面停止下拉刷新效果 + wx.stopPullDownRefresh(); + } + }) +} + module.exports = { _get: _get, _post: _post, _put: _put, showLoading: showLoading, showErrorToast: showErrorToast, + _getAddress: _getAddress, Builing_Release_AppStore: Builing_Release_AppStore, } -// networkUtil._get(api,param,function(res){},function(res){}) \ No newline at end of file +// networkUtil._get(api,param,function(res){},function(res){}) -- 1.8.3.1