Commit c33dc349 by jscat

nyx weapp, 功能更新

1. 添加城市选择功能
2. 添加最近选择城市
parent 643946e9
<wxs module="tutil" src="./../../../utils/date.wxs"></wxs> <wxs module="tutil" src="./../../../utils/date.wxs"></wxs>
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<span>日期: {{tutil.formatDate_ymdw_today_interval(activityInfo.start_datetime, activityInfo.end_datetime)}}</span> <span>日期: {{tutil.formatDate_ymdw_today_interval(activityInfo.start_datetime, activityInfo.end_datetime)}}</span>
<!-- 时间 --> <!-- 时间 -->
<span>时间: 19:30 - 22:00</span> <span>时间: {{tutil.formatDate_hm_interval(activityInfo.start_datetime, activityInfo.end_datetime)}}</span>
<span>地点: {{activityInfo.address_name}}</span> <span>地点: {{activityInfo.address_name}}</span>
</view> </view>
......
// pages/member/activity-post/activity-edit/activity-edit.js // pages/member/activity-post/activity-edit/activity-edit.js
...@@ -15,7 +15,12 @@ Page({ ...@@ -15,7 +15,12 @@ Page({
userInfo : {}, userInfo : {},
memberId : "", memberId : "",
header_infoData: {}, header_infoData: {
date: '日期',
info: [
{ member_name: "商家", title : "活动", unit_price: "价格" }
]
},
product_listData: [], product_listData: [],
// 城市模块 // 城市模块
...@@ -25,6 +30,9 @@ Page({ ...@@ -25,6 +30,9 @@ Page({
stride: 0, stride: 0,
isHideLoadMore: false, isHideLoadMore: false,
// 活动场次
num_activities: 0,
}, },
...@@ -66,13 +74,10 @@ Page({ ...@@ -66,13 +74,10 @@ Page({
}) })
} }
var city = "" var city = app.globalData.defaultCity
if (options.city != "") if (options.city != "" && options.city != undefined )
{ {
city = options.city; city = options.city;
_this.setData({
city: city
})
} }
wx.setNavigationBarTitle({ wx.setNavigationBarTitle({
...@@ -84,13 +89,13 @@ Page({ ...@@ -84,13 +89,13 @@ Page({
{ {
var curDate = getCurDate() var curDate = getCurDate()
var endDate = getWeekEndDate() var endDate = getWeekEndDate()
var header_infoData = _this.__data__.header_infoData
var stride = 20 // 每20条记录做为一个page var stride = 20 // 每20条记录做为一个page
this.setData({ this.setData({
stride: stride, stride: stride,
curDate: curDate, curDate: curDate,
endDate: endDate, endDate: endDate,
header_infoData: header_infoData, city: city,
product_listData: product_listData,
}); });
_this.getActivitiesByPeriod(0, 1, stride, city, curDate, endDate); _this.getActivitiesByPeriod(0, 1, stride, city, curDate, endDate);
...@@ -105,6 +110,27 @@ Page({ ...@@ -105,6 +110,27 @@ Page({
onReady: function (e) { onReady: function (e) {
}, },
// 功能: 监听页面卸载 (如果是多个页面, 则需要多次销毁)
// 操作: 点击左上角'返回'时销毁当前页面
// 当通过左上角离开activity-list页面时,强制更新activity页面
onUnload:function(){
let pages = getCurrentPages().length - 1;
// console.log('需要销毁的页面:'+pages);
// console.log('onUnload page===', getCurrentPages())
// 当最后一个activity-list的数据被销毁之前,同步强制更新activity页面的数据
// ['/activity', '/activity-list']
if (getCurrentPages().length == 2) {
// 刷新第一个页面栈元素, 也就是首页的数据, 其实是activity.wxml页面的数据
getCurrentPages()[getCurrentPages().length - 2].onUpdateData()
}
// 将创建的activity-list页面依次进行销毁
wx.navigateBack({
delta: pages
})
},
// Date Flow // Date Flow
// 输入该组图片的标签 // 输入该组图片的标签
bindKeyInput(e) { bindKeyInput(e) {
...@@ -228,10 +254,16 @@ Page({ ...@@ -228,10 +254,16 @@ Page({
{ {
list.unshift(_this.__data__.header_infoData) list.unshift(_this.__data__.header_infoData)
} }
var num_activities = 0
for(var i=0; i< list.length; i++)
{
num_activities += list[i]['info'].length
}
_this.setData({ _this.setData({
product_listData: list, product_listData: list,
pageIndex: pageNum + 1, pageIndex: pageNum + 1,
num_activities: num_activities,
isHideLoadMore: bisHideLoadMoreType, isHideLoadMore: bisHideLoadMoreType,
}) })
} }
...@@ -273,8 +305,7 @@ Page({ ...@@ -273,8 +305,7 @@ Page({
startTime.setDate(startTime.getDate()+1); startTime.setDate(startTime.getDate()+1);
i+=1; i+=1;
} }
} },
}) })
......
<!-- /page/post/edit/edit 添加分类的标签,以及自定义标签 --> <!-- /page/post/edit/edit 添加分类的标签,以及自定义标签 -->
...@@ -4,11 +4,16 @@ ...@@ -4,11 +4,16 @@
<view class="page" style="height:100%;width:100%"> <view class="page" style="height:100%;width:100%">
<view class="weui-search-bar"> <view class="weui-search-bar">
<!-- <text>{{city}}</text>
<image src='../../../icon/down.png' style='width: 32rpx;height: 32rpx;' class='selecrtImg'></image> -->
<navigator url="../../switchcity/switchcity?city={{city}}&type=list">
<text>{{city}}</text> <text>{{city}}</text>
<image src='../../../icon/down.png' style='width: 32rpx;height: 32rpx;' class='selecrtImg'></image> <image src='../../../icon/down.png' style='width: 32rpx;height: 32rpx;' class='selecrtImg'></image>
</navigator>
<view class="list-activity-number"> <view class="list-activity-number">
<label> <label>
本周活动: {{product_listData.length-1}}场 本周活动: {{num_activities-1}}场
</label> </label>
</view> </view>
</view> </view>
......
// pages/activity/activity.js // pages/activity/activity.js
...@@ -4,7 +4,7 @@ var config = wx.getStorageSync("config"); ...@@ -4,7 +4,7 @@ var config = wx.getStorageSync("config");
var util = require('./../../utils/util.js') var util = require('./../../utils/util.js')
var event = require('./../../utils/event.js') var event = require('./../../utils/event.js')
const { globalData: { defaultCity, defaultCounty } } = app //const { globalData: { defaultCity, defaultCounty } } = app
Page({ Page({
...@@ -13,8 +13,8 @@ Page({ ...@@ -13,8 +13,8 @@ Page({
*/ */
data: { data: {
city: defaultCity, city: "",
county: defaultCounty, county: "",
category: [ // 导航栏内容数据 category: [ // 导航栏内容数据
{ name: '点赞', order : 'like' }, { name: '点赞', order : 'like' },
...@@ -82,6 +82,20 @@ Page({ ...@@ -82,6 +82,20 @@ Page({
//入口页面,先确定nyxCode //入口页面,先确定nyxCode
/*step1 先确定用户信息 */ /*step1 先确定用户信息 */
var nyxCode = wx.getStorageSync('nyxCode'); var nyxCode = wx.getStorageSync('nyxCode');
//step2 确定城市信息
var LatestCityList = wx.getStorageSync('LatestCityList') || []
if( LatestCityList.length > 0 )
{
var city = LatestCityList[0]["city"]
app.globalData.defaultCity = city
_this.setData({ city })
}
else
{
var city = app.globalData.defaultCity
_this.setData({ city })
}
//不存在 //不存在
if (!nyxCode) if (!nyxCode)
{ {
...@@ -195,8 +209,6 @@ Page({ ...@@ -195,8 +209,6 @@ Page({
var _this = this; var _this = this;
const { globalData: { defaultCity, defaultCounty } } = app const { globalData: { defaultCity, defaultCounty } } = app
console.log("===city, "+defaultCity)
console.log("===county, "+defaultCounty)
this.setData({ this.setData({
city: defaultCity, city: defaultCity,
county: defaultCounty county: defaultCounty
...@@ -548,6 +560,7 @@ Page({ ...@@ -548,6 +560,7 @@ Page({
}, },
// 刷新页面数据 // 刷新页面数据
// used by switchcity.js
onUpdateData: function(){ onUpdateData: function(){
var _this = this; var _this = this;
......
<wxs module="tutil" src="./../../utils/date.wxs"></wxs> <wxs module="tutil" src="./../../utils/date.wxs"></wxs>
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<!-- refer https://www.jb51.net/article/158292.htm --> <!-- refer https://www.jb51.net/article/158292.htm -->
<!-- refer https://github.com/cinoliu/-selectCity --> <!-- refer https://github.com/cinoliu/-selectCity -->
<view class="weui-search-bar"> <view class="weui-search-bar">
<navigator url="../switchcity/switchcity?city={{city}}"> <navigator url="../switchcity/switchcity?city={{city}}&type=index">
<text>{{city}}</text> <text>{{city}}</text>
<image src='../../icon/down.png' style='width: 32rpx;height: 32rpx;' class='selecrtImg'></image> <image src='../../icon/down.png' style='width: 32rpx;height: 32rpx;' class='selecrtImg'></image>
</navigator> </navigator>
......
import { LETTERS, HOT_CITY_LIST } from '../../locale/citydata' import { LETTERS, HOT_CITY_LIST } from '../../locale/citydata'
...@@ -10,6 +10,7 @@ const { ...@@ -10,6 +10,7 @@ const {
getLocationUrl, getLocationUrl,
getCountyListUrl, getCountyListUrl,
getIndexUrl, getIndexUrl,
getListUrl,
onFail, onFail,
} = utils; } = utils;
const appInstance = getApp(); const appInstance = getApp();
...@@ -33,6 +34,9 @@ Page({ ...@@ -33,6 +34,9 @@ Page({
auto: true, // 自动手动定位开关 auto: true, // 自动手动定位开关
LatestCityList: [{ cityCode: 310000, city: '上海' }, { cityCode: 110000, city: '北京' }], LatestCityList: [{ cityCode: 310000, city: '上海' }, { cityCode: 110000, city: '北京' }],
// 数据更新的页面
update_type: "",
}, },
onLoad: function (options) { onLoad: function (options) {
...@@ -42,15 +46,18 @@ Page({ ...@@ -42,15 +46,18 @@ Page({
const winHeight = sysInfo.windowHeight; const winHeight = sysInfo.windowHeight;
const sideBarLetterList = LETTERS.map(letter => ({ name: letter })); const sideBarLetterList = LETTERS.map(letter => ({ name: letter }));
var city = "" var city = ""
if (options.city != "") var update_type = ""
if (options.city != "" && options.city != undefined)
{ {
city = options.city; city = options.city;
update_type = options.type;
} }
this.setData({ this.setData({
winHeight, winHeight,
sideBarLetterList, sideBarLetterList,
cityList: cityListSortedByInitialLetter, cityList: cityListSortedByInitialLetter,
city: city, city: city,
update_type: update_type,
}); });
// 定位 // 定位
// this.getLocation(); // this.getLocation();
...@@ -76,8 +83,9 @@ Page({ ...@@ -76,8 +83,9 @@ Page({
}, },
//选择城市 //选择城市
chooseCity: function (e) { chooseCity: function (e) {
var _this = this;
const { city, code } = safeGet(['currentTarget', 'dataset'], e) const { city, code } = safeGet(['currentTarget', 'dataset'], e)
this.setData({ _this.setData({
auto: false, auto: false,
showCountyPicker: false, showCountyPicker: false,
city, city,
...@@ -89,9 +97,11 @@ Page({ ...@@ -89,9 +97,11 @@ Page({
//无须再选择county //无须再选择county
//this.getCountyList() //this.getCountyList()
//直接更新app.globalData
appInstance.globalData.defaultCity = city appInstance.globalData.defaultCity = city
appInstance.globalData.defaultCounty = '' appInstance.globalData.defaultCounty = ''
// 同步更新storage记录
// start 记录最近访问 // start 记录最近访问
let LatestCityList = wx.getStorageSync('LatestCityList') || []; let LatestCityList = wx.getStorageSync('LatestCityList') || [];
var item = { cityCode: code, city: city } var item = { cityCode: code, city: city }
...@@ -112,15 +122,34 @@ Page({ ...@@ -112,15 +122,34 @@ Page({
// end of 最近访问 去重 // end of 最近访问 去重
// 返回首页 // 返回首页
var update_type = _this.__data__.update_type
update_type == "index" ? _this.updateIndex() : _this.updateList()
},
updateIndex: function(e){
var url = getIndexUrl() var url = getIndexUrl()
wx.switchTab({ wx.switchTab({
url: getIndexUrl(), url: url,
success: function (e) { success: function (e) {
var page = getCurrentPages().pop(); var page = getCurrentPages().pop();
if (page == undefined || page == null) return; if (page == undefined || page == null) return;
// 更新首页的数据
page.onUpdateData(); page.onUpdateData();
} }
}) })
},
updateList: function(e)
{
var url = getListUrl()
wx.redirectTo({
url: url,
success: function (e) {
// jscat 20200827 在activity-list页面的onload里更新
// page.onLoad();
}
})
}, },
chooseCounty: function (e) { chooseCounty: function (e) {
......
var formatTime = function (date) { var formatTime = function (date) {
...@@ -106,6 +106,8 @@ var formatDate_ymdw_today_interval = function(date1, date2){ ...@@ -106,6 +106,8 @@ var formatDate_ymdw_today_interval = function(date1, date2){
var formatDate_hm_interval = function (date_start, date_end) { var formatDate_hm_interval = function (date_start, date_end) {
// 输入 2020-02-04 19:30:00, 2020-02-04 22:00:00 // 输入 2020-02-04 19:30:00, 2020-02-04 22:00:00
// 返回 19:30 - 22:00 // 返回 19:30 - 22:00
date_start = date_start +""
date_end = date_end +""
var date1 = getDate(date_start.split('-').join('/')); var date1 = getDate(date_start.split('-').join('/'));
var date2 = getDate(date_end.split('-').join('/')); var date2 = getDate(date_end.split('-').join('/'));
var hm1 = formatNumber(date1.getHours()) + ":" +formatNumber(date1.getMinutes()) var hm1 = formatNumber(date1.getHours()) + ":" +formatNumber(date1.getMinutes())
......
import { LETTERS, CITY_LIST } from '../locale/citydata' import { LETTERS, CITY_LIST } from '../locale/citydata'
...@@ -5,6 +5,7 @@ import config from 'config' ...@@ -5,6 +5,7 @@ import config from 'config'
const getLocationUrl = (latitude, longitude) => (`https://apis.map.qq.com/ws/geocoder/v1/?location=${latitude},${longitude}&key=${config.key}`) const getLocationUrl = (latitude, longitude) => (`https://apis.map.qq.com/ws/geocoder/v1/?location=${latitude},${longitude}&key=${config.key}`)
const getCountyListUrl = code => (`https://apis.map.qq.com/ws/district/v1/getchildren?&id=${code}&key=${config.key}`) const getCountyListUrl = code => (`https://apis.map.qq.com/ws/district/v1/getchildren?&id=${code}&key=${config.key}`)
const getIndexUrl = () => ('../activity/activity') const getIndexUrl = () => ('../activity/activity')
const getListUrl = () => ('../activity/activity-list/activity-list')
/** /**
* 安全地在深层嵌套对象中取值 * 安全地在深层嵌套对象中取值
...@@ -36,6 +37,7 @@ export default { ...@@ -36,6 +37,7 @@ export default {
getLocationUrl, getLocationUrl,
getCountyListUrl, getCountyListUrl,
getIndexUrl, getIndexUrl,
getListUrl,
safeGet, safeGet,
isNotEmpty, isNotEmpty,
isChinese, isChinese,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论