Commit 0ba44f1c by jscat

nyx weapp: 功能新增

1. 新增'修改商家信息'功能
2. 新增'新增商家地址'功能
parent f665192e
//app.js //app.js
...@@ -10,7 +10,7 @@ App({ ...@@ -10,7 +10,7 @@ App({
authStatus: "", //授权状态, 00表示未授权, 01表示已授权 authStatus: "", //授权状态, 00表示未授权, 01表示已授权
userInfo : {}, //用户信息 userInfo : {}, //用户信息
members : [], // 商家列表 members : [], // 商家列表
memberInfo: { // 商家信息 member: { //商家信息
member_id: "", member_id: "",
address_id: "", address_id: "",
default_member: "", default_member: "",
...@@ -20,6 +20,16 @@ App({ ...@@ -20,6 +20,16 @@ App({
member_slogan: "", member_slogan: "",
member_logo: "", member_logo: "",
}, },
memberInfo: { // 商家的地址信息
member_id: "",
address_id: "",
address_status: "",
member_name: "",
member_city: "",
member_address: "",
member_slogan: "",
member_logo: "",
},
emotionHost : "https://930-test-sh.oss-cn-shanghai.aliyuncs.com/emoji/", emotionHost : "https://930-test-sh.oss-cn-shanghai.aliyuncs.com/emoji/",
onOpenOp : {}, onOpenOp : {},
...@@ -525,10 +535,10 @@ App({ ...@@ -525,10 +535,10 @@ App({
}) })
}, },
// 获取member_user info 数据 // 通过user_id获取member_user 中所有的members数据
// scrollType: 是否是翻页 // scrollType: 是否是翻页
// tips; 该函数是my-collects函数的简略版, 而且是单次运行的 // tips; 该函数是my-collects函数的简略版, 而且是单次运行的
getMemberInfo: function (scrollType, pageNum, pageCount, resolve, reject) { getMembers: function (scrollType, pageNum, pageCount, resolve, reject) {
var _this = this; var _this = this;
var userId = _this.globalData.nyxCode var userId = _this.globalData.nyxCode
...@@ -548,7 +558,7 @@ App({ ...@@ -548,7 +558,7 @@ App({
//表示HTTP请求成功 //表示HTTP请求成功
console.log(res.data); console.log(res.data);
var members = [] var members = []
var memberInfo = {} var member = {}
if(res.data.data.length > 0) if(res.data.data.length > 0)
{ {
...@@ -567,15 +577,15 @@ App({ ...@@ -567,15 +577,15 @@ App({
// 设置 // 设置
wx.setStorageSync('members', members) wx.setStorageSync('members', members)
wx.setStorageSync('memberInfo', members[0]) wx.setStorageSync('member', members[0])
_this.globalData.memberInfo = members[0] _this.globalData.member = members[0]
_this.globalData.members = members _this.globalData.members = members
resolve("===app getMemberInfo passed") resolve("===app getMembers passed")
} }
}, },
fail: function (err) { fail: function (err) {
console.log("===app getMemberInfo failed", err.errMsg) console.log("===app getMembers failed", err.errMsg)
reject(new Error("===app getMemberInfo failed")); reject(new Error("===app getMembers failed"));
} }
}) })
}, },
...@@ -594,4 +604,14 @@ App({ ...@@ -594,4 +604,14 @@ App({
return len; return len;
}, },
assignDict: function(srcDict){
let destDict = {}
for(var key in srcDict) {
destDict[key] = srcDict[key]
}
return destDict
},
}) })
{ {
{ {
"pages": [ "pages": [
"pages/activity/activity", "pages/activity/activity",
"pages/mall/order/order", "pages/mall/order/order",
"pages/activity/activity-list/activity-list", "pages/activity/activity-list/activity-list",
"pages/my/my-members/my-members", "pages/my/my-members/my-members",
"pages/member/activity-post/activity-edit/activity-edit", "pages/member/activity-post/activity-edit/activity-edit",
"pages/member/activity-post/activity-submit/activity-submit", "pages/member/activity-post/activity-submit/activity-submit",
"pages/member/quiz-post/quiz-edit/quiz-edit", "pages/member/quiz-post/quiz-edit/quiz-edit",
"pages/member/schedule/schedule", "pages/member/schedule/schedule",
"pages/member/activity-post/activity-post", "pages/member/activity-post/activity-post",
......
//config.js API全局域名配置 //config.js API全局域名配置
...@@ -60,6 +60,9 @@ var config={ ...@@ -60,6 +60,9 @@ var config={
collect_query_url: host_key + "/api/nyx/collect/query", collect_query_url: host_key + "/api/nyx/collect/query",
product_query_url: host_key + "/api/nyx/product/query", product_query_url: host_key + "/api/nyx/product/query",
user_member_query_url: host_key + "/api/nyx/user/member/query", user_member_query_url: host_key + "/api/nyx/user/member/query",
member_info_query_url: host_key + "/api/nyx/member/address/query",
member_edit_url: host_key + "/api/nyx/member/update",
member_add_address_url: host_key + "/api/nyx/member/add/address",
socket_url: socket_url, socket_url: socket_url,
oss_token_url: login_url + "/api/nyx/oss/getToken", oss_token_url: login_url + "/api/nyx/oss/getToken",
oss_callback_url: login_url + "/api/nyx/oss/callback", oss_callback_url: login_url + "/api/nyx/oss/callback",
......
// pages/activity/activity-info/activity-info.js // pages/activity/activity-info/activity-info.js
...@@ -14,7 +14,8 @@ Page({ ...@@ -14,7 +14,8 @@ Page({
nyxCode : "", nyxCode : "",
authStatus : "", // 授权状态: 00-未授权, 01-已授权 authStatus : "", // 授权状态: 00-未授权, 01-已授权
userInfo : {}, userInfo : {},
members : "", // 商家信息 members : [], // 商家信息
member: {}, // 默认商家信息
windowHeight: "", windowHeight: "",
windowWidth: "", windowWidth: "",
...@@ -99,14 +100,14 @@ Page({ ...@@ -99,14 +100,14 @@ Page({
// step4 确定member信息, 写入 data.members // step4 确定member信息, 写入 data.members
let promise_member = new Promise(function (resolve, reject) { let promise_member = new Promise(function (resolve, reject) {
app.getMemberInfo(0, 1, 20, resolve, reject); app.getMembers(0, 1, 20, resolve, reject);
}) })
promise_member.then( promise_member.then(
function (value){ function (value){
var members = wx.getStorageSync('members') var members = wx.getStorageSync('members')
var memberInfo = wx.getStorageSync('memberInfo') var member = wx.getStorageSync('member')
_this.setData({ memberInfo, members}) _this.setData({ member, members})
console.log("===enter promise_member then_passed_" + value) console.log("===enter promise_member then_passed_" + value)
}, },
function (value){ function (value){
......
// pages/activity/activity.js // pages/activity/activity.js
...@@ -18,7 +18,7 @@ Page({ ...@@ -18,7 +18,7 @@ Page({
authStatus : "", // 授权状态: 00-未授权, 01-已授权 authStatus : "", // 授权状态: 00-未授权, 01-已授权
userInfo : {}, userInfo : {},
members : "", // 商家信息 members : "", // 商家信息
memberInfo : {}, member : {},
city: "", city: "",
county: "", county: "",
...@@ -149,14 +149,14 @@ Page({ ...@@ -149,14 +149,14 @@ Page({
// step3 确定member信息, 写入 data.members // step3 确定member信息, 写入 data.members
let promise_member = new Promise(function (resolve, reject) { let promise_member = new Promise(function (resolve, reject) {
app.getMemberInfo(0, 1, 20, resolve, reject); app.getMembers(0, 1, 20, resolve, reject);
}) })
promise_member.then( promise_member.then(
function (value){ function (value){
var members = wx.getStorageSync('members') var members = wx.getStorageSync('members')
var memberInfo = wx.getStorageSync('memberInfo') var member = wx.getStorageSync('member')
_this.setData({ memberInfo, members}) _this.setData({ member, members})
console.log("===enter promise_member then_passed_" + value) console.log("===enter promise_member then_passed_" + value)
}, },
function (value){ function (value){
......
<view class="page"> <view class="page">
<view class="page"> <view class="page">
<!-- 定义遮罩层 --> <!-- 定义遮罩层 -->
<view class="mask" wx:if="{{showToast}}"></view> <view class="mask" wx:if="{{showToast}}"></view>
<!-- Content: refer to 有品·优惠券 + 点评(可使用) --> <!-- Content: refer to 有品·优惠券 + 点评(可使用) -->
<view class="coupon-list"> <view class="coupon-list">
......
// pages/member/activity-post/activity-submit/activity-submit.js // pages/member/activity-post/activity-submit/activity-submit.js
...@@ -12,9 +12,12 @@ Page({ ...@@ -12,9 +12,12 @@ Page({
nyxCode : "", nyxCode : "",
authStatus : "", authStatus : "",
userInfo : {}, userInfo : {},
members : [], // 数据固化
logoArray: [], // logo 临时temp上传 logoArray: [], // logo 临时temp上传
memberInfo: {}, // member_name/address 临时temp数据 members : [], // 一个用户所有管理的商户, 全局数据
member: {}, //某一个商户的信息, 全局数据
memberInfos: [], // 某一个商户member_id对应的所有address 可能是1:n, 局部数据
memberInfo: {}, // 某一个商户member_name对应的默认address 是1:1, 全局数据
addresses: [], // 地址列表, 局部数据
content: "", content: "",
contentLength: 0, contentLength: 0,
...@@ -53,6 +56,7 @@ Page({ ...@@ -53,6 +56,7 @@ Page({
// 多商户被选中的index, 与members配合使用 // 多商户被选中的index, 与members配合使用
// 给选中的tab加粗 // 给选中的tab加粗
curIndex: 0, curIndex: 0,
curAddress: 0,
// 支付按钮可用状态 // 支付按钮可用状态
canClick: true, canClick: true,
...@@ -62,73 +66,124 @@ Page({ ...@@ -62,73 +66,124 @@ Page({
}, },
onLoad: function () { onLoad: function (options) {
var _this = this; var _this = this;
wx.getSystemInfo({
success: function (res) {
var a = res.windowHeight;
_this.setData({
scrollTop: a-200
})
}
})
//初始化数据
if (wx.getStorageSync('nyxCode')) {
_this.setData({
nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'),
members : wx.getStorageSync('members') || [],
memberInfo : wx.getStorageSync('memberInfo') || {},
})
}
//初始化发布字串 //memberInfos/memberInfo更新需求
var submitString = "" /*
if(wx.getStorageSync('authStatus') == '01') member_edit页面修改后, 更新地址信息
更新memberInfo, memberInfos, 以及addresses
*/
if(options.mode != undefined)
{ {
submitString = "活动发布" var curAddress = _this.data.curAddress
//修改值
if(options.mode == "01")
{
var memberInfo = app.globalData.memberInfo
var memberInfos = _this.data.memberInfos
var addresses = _this.data.addresses
memberInfos[curAddress] = memberInfo
addresses[curAddress] = memberInfo.member_address
_this.setData({ memberInfo, memberInfos, addresses, curAddress})
}
//新增值, memberInfos 新增
else if(options.mode == "02")
{
curAddress = curAddress + 1
var memberInfo = app.globalData.memberInfo
var memberInfos = _this.data.memberInfos
var addresses = _this.data.addresses
memberInfos.push(memberInfo)
addresses.push(memberInfo.member_address)
_this.setData({ memberInfo, memberInfos, addresses, curAddress})
}
} }
else else
{ {
submitString = "授权发布" wx.getSystemInfo({
} success: function (res) {
var a = res.windowHeight;
_this.setData({ submitString }) _this.setData({
scrollTop: a-200
var members = wx.getStorageSync('members') || [] })
if(members.length != 0) }
{ })
var logoArray = [ members[0].member_logo ]
_this.setData({ logoArray }) //初始化数据
} if (wx.getStorageSync('nyxCode')) {
_this.setData({
var content = "" nyxCode: wx.getStorageSync('nyxCode'),
var contentLength = 0 userInfo: wx.getStorageSync('userInfo'),
if(app.globalData.postData.startDatetime != "") authStatus: wx.getStorageSync('authStatus'),
{ members : wx.getStorageSync('members') || [],
content = app.globalData.postData.photoContent; //获取content member : wx.getStorageSync('member') || {},
contentLength = app.gblen(content) })
}
//初始化发布字串
var submitString = ""
if(wx.getStorageSync('authStatus') == '01')
{
submitString = "活动发布"
}
else
{
submitString = "授权发布"
}
_this.setData({ submitString })
var members = wx.getStorageSync('members') || []
if(members.length != 0)
{
var logoArray = [ members[0].member_logo ]
_this.setData({ logoArray })
}
var content = ""
var contentLength = 0
if(app.globalData.postData.startDatetime != "")
{
content = app.globalData.postData.photoContent; //获取content
contentLength = app.gblen(content)
}
_this.setData({ content, contentLength })
// 获取当前的member
var defaultCity = app.globalData.defaultCity
_this.setData({ defaultCity })
var member = app.globalData.member || {}
member["member_city"] = defaultCity
if(!member.hasOwnProperty('member_slogan'))
{
member["member_slogan"] = "标语待完善"
}
if(!member.hasOwnProperty('member_logo'))
{
member["member_logo"] = ""
}
_this.setData({ member})
// 获取该member下的所有地址信息memberInfos
/*
1. memberInfos
2. memberInfo
3. addresses
*/
_this.getMemberInfos()
} }
_this.setData({ content, contentLength }) },
var defaultCity = app.globalData.defaultCity /**
_this.setData({ defaultCity }) * 生命周期函数--监听页面显示
var memberInfo = app.globalData.memberInfo || {} */
memberInfo["member_city"] = defaultCity onShow: function () {
if(!memberInfo.hasOwnProperty('member_slogan'))
{
memberInfo["member_slogan"] = "标语待完善"
}
if(!memberInfo.hasOwnProperty('member_logo'))
{
memberInfo["member_logo"] = ""
}
app.globalData.memberInfo = memberInfo
_this. setData({ memberInfo })
}, },
onReady: function (e) { onReady: function (e) {
var _this = this; var _this = this;
...@@ -169,12 +224,12 @@ Page({ ...@@ -169,12 +224,12 @@ Page({
// member_id // member_id
// activity_id // activity_id
// 注册memberInfo并且提交 // 注册member并且提交 (此时member还不存在,同时说明memberInfo也不存在)
if( app.globalData.members.length == 0 // 说明还不是member, 需要注册 if( app.globalData.members.length == 0 // 说明还不是member, 需要注册
&& app.globalData.memberInfo != {} // 存在memberInfo的信息, 可没有member_id && app.globalData.member != {} // 存在member的信息, 可没有member_id
) )
{ {
// 注册 memberInfo // 注册 member
// setStorage // setStorage
if(logoArray.length == 0) // 直接数据库上传 if(logoArray.length == 0) // 直接数据库上传
{ {
...@@ -356,8 +411,8 @@ Page({ ...@@ -356,8 +411,8 @@ Page({
//生成最终的文件字符串 file1.jpg::file2.png (数据库解析格式) //生成最终的文件字符串 file1.jpg::file2.png (数据库解析格式)
var image = photoArrsm.join("::") var image = photoArrsm.join("::")
var user_id = wx.getStorageSync('nyxCode') var user_id = wx.getStorageSync('nyxCode')
var address_id = app.globalData.memberInfo.address_id var address_id = app.globalData.member.address_id
var member_id = app.globalData.memberInfo.member_id var member_id = app.globalData.member.member_id
var strUrl = config.oss_activity_callback_url var strUrl = config.oss_activity_callback_url
var strParam = "" var strParam = ""
for(var i=0; i<product.length; i++) for(var i=0; i<product.length; i++)
...@@ -556,38 +611,38 @@ Page({ ...@@ -556,38 +611,38 @@ Page({
var contentLength = app.gblen(content) var contentLength = app.gblen(content)
_this.setData({ content, contentLength }) _this.setData({ content, contentLength })
}, },
// 添加口号 // 为member添加口号
bindSlogan(e) { bindSlogan(e) {
var _this = this; var _this = this;
var memberInfo = app.globalData.memberInfo || {} var member = app.globalData.member || {}
memberInfo["member_slogan"] = e.detail.value member["member_slogan"] = e.detail.value
app.globalData.memberInfo = memberInfo app.globalData.member = member
_this.setData({ memberInfo }) _this.setData({ member })
}, },
// 添加名称 // 为member添加名称
bindName(e) { bindName(e) {
var _this = this; var _this = this;
var memberInfo = app.globalData.memberInfo || {} var member = app.globalData.member || {}
memberInfo["member_name"] = e.detail.value member["member_name"] = e.detail.value
app.globalData.memberInfo = memberInfo app.globalData.member = member
_this.setData({ memberInfo }) _this.setData({ member })
}, },
// 添加城市 // 为member添加城市 //local变量
// jscat 20200915, // jscat 20200915,
bindCity(e) { bindCity(e) {
var _this = this; var _this = this;
var memberInfo = app.globalData.memberInfo || {} var member = app.globalData.member || {}
memberInfo["member_city"] = e.detail.value member["member_city"] = e.detail.value
app.globalData.memberInfo = memberInfo app.globalData.member = member
_this.setData({ memberInfo }) _this.setData({ member })
}, },
//添加地址 // 为member添加地址
bindAddress(e) { bindAddress(e) {
var _this = this; var _this = this;
var memberInfo = app.globalData.memberInfo || {} var member = app.globalData.member || {}
memberInfo["member_address"] = e.detail.value member["member_address"] = e.detail.value
app.globalData.memberInfo = memberInfo app.globalData.member = member //实际上member赋值之后,app.globalData的值也同时改变
_this.setData({ memberInfo }) _this.setData({ member })
}, },
...@@ -635,12 +690,12 @@ Page({ ...@@ -635,12 +690,12 @@ Page({
{ {
var _this = this; var _this = this;
var member_id = "mid_" + util.wxuuid() var member_id = "mid_" + util.wxuuid()
app.globalData.memberInfo.member_id = member_id app.globalData.member.member_id = member_id
var member_name = app.globalData.memberInfo.member_name var member_name = app.globalData.member.member_name
var member_address = app.globalData.memberInfo.member_city + app.globalData.memberInfo.member_address var member_address = app.globalData.member.member_city + app.globalData.member.member_address
//即时更新member_address的值 //即时更新member_address的值
app.globalData.memberInfo.member_address = member_address app.globalData.member.member_address = member_address
var member_slogan = app.globalData.memberInfo.member_slogan var member_slogan = app.globalData.member.member_slogan
var user_id = _this.__data__.nyxCode var user_id = _this.__data__.nyxCode
console.log("===this is onRegMember"); console.log("===this is onRegMember");
...@@ -674,12 +729,12 @@ Page({ ...@@ -674,12 +729,12 @@ Page({
var _this = this; var _this = this;
var member_id = "mid_" + util.wxuuid() var member_id = "mid_" + util.wxuuid()
var address_id = "addid_" + util.wxuuid() var address_id = "addid_" + util.wxuuid()
app.globalData.memberInfo.member_id = member_id app.globalData.member.member_id = member_id
var member_name = app.globalData.memberInfo.member_name var member_name = app.globalData.member.member_name
var member_address = app.globalData.memberInfo.member_city + app.globalData.memberInfo.member_address var member_address = app.globalData.member.member_city + app.globalData.member.member_address
//即时更新member_address的值 //即时更新member_address的值
app.globalData.memberInfo.member_address = member_address app.globalData.member.member_address = member_address
var member_slogan = app.globalData.memberInfo.member_slogan var member_slogan = app.globalData.member.member_slogan
var logoArray = _this.__data__.logoArray var logoArray = _this.__data__.logoArray
console.log("===this is onRegMemberOss"); console.log("===this is onRegMemberOss");
...@@ -741,15 +796,15 @@ Page({ ...@@ -741,15 +796,15 @@ Page({
var image = pic.replace('http://tmp/', "").replace('wxfile://', ""); var image = pic.replace('http://tmp/', "").replace('wxfile://', "");
var member_logo = path + image var member_logo = path + image
var user_id = _this.__data__.nyxCode var user_id = _this.__data__.nyxCode
//设置memberInfo全局函数 //设置member全局函数
app.globalData.memberInfo['member_logo'] = member_logo app.globalData.member['member_logo'] = member_logo
app.globalData.memberInfo['member_status'] = "01" app.globalData.member['member_status'] = "01"
app.globalData.memberInfo['default_member'] = "01" app.globalData.member['default_member'] = "01"
app.globalData.memberInfo['address_id'] = address_id app.globalData.member['address_id'] = address_id
app.globalData.memberInfo['member_id'] = member_id app.globalData.member['member_id'] = member_id
app.globalData.memberInfo['member_name'] = member_name app.globalData.member['member_name'] = member_name
app.globalData.memberInfo['member_address'] = member_address app.globalData.member['member_address'] = member_address
app.globalData.memberInfo['member_slogan'] = member_slogan app.globalData.member['member_slogan'] = member_slogan
var strUrl = config.oss_member_callback_url var strUrl = config.oss_member_callback_url
...@@ -770,12 +825,12 @@ Page({ ...@@ -770,12 +825,12 @@ Page({
'content-type': 'multipart/form-data' 'content-type': 'multipart/form-data'
}, },
success: function (res) { success: function (res) {
// 保存member和memberInfo // 保存members和member
var memberInfo = app.globalData.memberInfo var member = app.globalData.member
wx.setStorageSync("memberInfo", memberInfo) wx.setStorageSync("member", member)
var members = [app.globalData.memberInfo] var members = [app.globalData.member] //初始注册member, 只有一个member
wx.setStorageSync("members", members) wx.setStorageSync("members", members)
_this.setData({ members, memberInfo }) _this.setData({ members, members })
console.log(res) console.log(res)
resolve(res.data); resolve(res.data);
}, },
...@@ -827,7 +882,7 @@ Page({ ...@@ -827,7 +882,7 @@ Page({
return false; return false;
} }
else if(app.globalData.memberInfo.member_name == undefined || app.globalData.memberInfo.member_name.length == 0) else if(app.globalData.member.member_name == undefined || app.globalData.member.member_name.length == 0)
{ {
info = "请输入店铺名称" info = "请输入店铺名称"
wx.showModal({ wx.showModal({
...@@ -838,7 +893,7 @@ Page({ ...@@ -838,7 +893,7 @@ Page({
return false; return false;
} }
else if(app.globalData.memberInfo.member_address == undefined || app.globalData.memberInfo.member_address.length == 0) else if(app.globalData.member.member_address == undefined || app.globalData.member.member_address.length == 0)
{ {
info = "请输入店铺地址" info = "请输入店铺地址"
wx.showModal({ wx.showModal({
...@@ -855,16 +910,115 @@ Page({ ...@@ -855,16 +910,115 @@ Page({
}, },
// 更换商家 // 更换商家
// 从members里选择一个, 设置为memberInfo (local, storage, app.globalData) // 从members里选择一个, 设置为member(local, storage, app.globalData)
// 同时更新该member对应的所有memberInfos地址信息
switchCategory(e) { switchCategory(e) {
var _this = this; var _this = this;
var curIndex = e.currentTarget.dataset.index ? e.currentTarget.dataset.index : 0 var curIndex = e.currentTarget.dataset.index ? e.currentTarget.dataset.index : 0
var memberInfo = _this.__data__.members[curIndex] var member = _this.__data__.members[curIndex]
wx.setStorageSync('memberInfo', memberInfo) wx.setStorageSync('member', member)
app.globalData.member = member
var curAddress = 0
_this.setData({ member, curIndex, curAddress })
//同步更新该member对应的所有地址信息
_this.getMemberInfos()
},
/*
* 更换某一个memberInfo的地址信息
*/
onAddressPicker: function (e) {
var _this = this;
var curAddress = e.detail.value
var memberInfo = _this.data.memberInfos[curAddress]
app.globalData.memberInfo = memberInfo app.globalData.memberInfo = memberInfo
_this.setData({ memberInfo, curIndex }) _this.setData({ curAddress, memberInfo })
},
/*
修改商家信息: 重点更新 slgoan + 地址
新增地址信息: 重点新增 地址
*/
toMemberEdit: function (e) {
var _this = this;
// 操作的类别
var id = e.currentTarget.id;
// 操作的名称
var title = e.currentTarget.dataset.title
var url = "/pages/member/activity-post/member-edit/member-edit?"
+ "&mode=" + id
+ "&title=" + title
wx.navigateTo({
url: url
})
},
//子页面(member-edit.js)调用父页面(activity-submit.js)的数据更新操作
updateMemberData: function (options) {
var _this = this;
this.onLoad(options); //最好是只写需要刷新的区域的代码,onload也可,效率低,有点low
}, },
//重新获取member的所有address信息
//memberInfo默认为index=0
getMemberInfos: function(){
var _this = this;
var member = app.globalData.member
var query_url = '?memberId=' + member.member_id
var strUrl = config.member_info_query_url + query_url
config.debug == 1 ? console.log("===strUrl is: \"" + strUrl + "\"") : ""
wx.request({
url: strUrl,
method: 'GET',
header: {
'Cookie': wx.getStorageSync('cookieKey'),
},
success: function (res) {
if (res.data.resultCode == 200) {
//表示HTTP请求成功
console.log(res.data);
var memberInfos = []
var addresses = []
var memberInfo = {}
var dict = res.data.data
for(var i=0; i<dict.length; i++)
{
var result = {}
result['member_id'] = dict[i].memberId
result['address_id'] = dict[i].addressId
result['address_status'] = dict[i].addressStatus
result['member_name'] = dict[i].memberName
result['member_address'] = dict[i].memberAddress
result['member_slogan'] = dict[i].memberSlogan
result['member_logo'] = dict[i].memberLogo
addresses.push(dict[i].memberAddress)
memberInfos.push(result)
}
if(dict.length >= 1)
{
memberInfo = memberInfos[0]
app.globalData.memberInfo = memberInfo
}
_this.setData({ memberInfos, memberInfo, addresses })
wx.setStorageSync('memberInfo', memberInfo)
}
}
})
},
}) })
<view class="page-body"> <view class="page-body">
<view class="page-body"> <view class="page-body">
<!-- 定义遮罩层 --> <!-- 定义遮罩层 -->
<view class="mask" wx:if="{{showToast}}"></view> <view class="mask" wx:if="{{showToast}}"></view>
<!-- <form > --> <!-- <form > -->
<view class="btn-area"> <view class="btn-area">
<block wx:if="{{authStatus=='00'}}"> <block wx:if="{{authStatus=='00'}}">
<button class="weui-btn" type="warn" open-type="getUserInfo" bindgetuserinfo="onGetUserInfo">{{submitString}}</button> <button class="weui-btn" type="warn" open-type="getUserInfo" bindgetuserinfo="onGetUserInfo">{{submitString}}</button>
</block> </block>
<block wx:else> <block wx:else>
<button class="weui-btn" type="warn" disabled="{{!canClick}}" bindtap="onSubmit">{{submitString}}</button> <button class="weui-btn" type="warn" disabled="{{!canClick}}" bindtap="onSubmit">{{submitString}}</button>
</block> </block>
</view> </view>
<view class="weui-cells__title">#添加活动内容</view> <view class="weui-cells__title">#添加活动内容</view>
<view class="weui-cells weui-cells_after-title"> <view class="weui-cells weui-cells_after-title">
<view class="weui-cell"> <view class="weui-cell">
<view class="weui-cell__bd"> <view class="weui-cell__bd">
<textarea auto-height="{{auto_height}}" bindblur='areablur' bindfocus='areafocus' class="weui-textarea" bindinput='bindKeyInput' name="inputContent" placeholder="请输入活动内容" style="height: 3.3em" value="{{content}}"/> <textarea auto-height="{{auto_height}}" bindblur='areablur' bindfocus='areafocus' class="weui-textarea" bindinput='bindKeyInput' name="inputContent" placeholder="请输入活动内容" style="height: 3.3em" value="{{content}}"/>
<view class="weui-textarea-counter">{{contentLength}}/2000</view> <view class="weui-textarea-counter">{{contentLength}}/2000</view>
</view> </view>
</view> </view>
</view> </view>
<!-- </form> --> <!-- </form> -->
<!-- start 商家选择栏 多商家才出现 --> <!-- start 商家选择栏 多商家才出现 -->
<block wx:if="{{members.length!=0}}"> <block wx:if="{{members.length!=0}}">
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
</block> </block>
<!-- end 商家选择栏 --> <!-- end 商家选择栏 -->
<!-- start of 商家信息 -->
<view class="weui-cells"> <view class="weui-cells">
<view class="weui-cell"> <view class="weui-cell">
<view class="weui-cell__bd"> <view class="weui-cell__bd">
...@@ -50,18 +51,19 @@ ...@@ -50,18 +51,19 @@
<input class="weui-input" bindinput="bindSlogan" placeholder="1、请输入店铺标语" /> <input class="weui-input" bindinput="bindSlogan" placeholder="1、请输入店铺标语" />
</block> </block>
<block wx:else> <block wx:else>
{{memberInfo.member_slogan}} {{memberInfos[curAddress].member_slogan}}
</block> </block>
</view> </view>
<!-- start of note-row -->
<view class="note-row"> <view class="note-row">
<!-- start of column left --> <!-- start of column left -->
<view class="note-column-left align justify"> <view class="note-column-left align justify">
<view class="weui-uploader__bd"> <view class="weui-uploader__bd">
<!-- start of 已上传 --> <!-- start of 已上传 -->
<block wx:if="{{memberInfo.member_logo!=''}}"> <block wx:if="{{memberInfos[curAddress].member_logo!=''}}">
<view class="weui-uploader__files"> <view class="weui-uploader__files">
<block wx:for="{{[memberInfo.member_logo]}}" wx:for-item="image"> <block wx:for="{{[memberInfos[curAddress].member_logo]}}" wx:for-item="image">
<view class="weui-uploader__file"> <view class="weui-uploader__file">
<image class="weui-uploader__img" src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image> <image class="weui-uploader__img" src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image>
</view> </view>
...@@ -99,7 +101,7 @@ ...@@ -99,7 +101,7 @@
<input class="weui-input" bindinput="bindName" placeholder="3、请输入店铺名称" /> <input class="weui-input" bindinput="bindName" placeholder="3、请输入店铺名称" />
</block> </block>
<block wx:else> <block wx:else>
{{memberInfo.member_name}} {{memberInfos[curAddress].member_name}}
</block> </block>
</view> </view>
</view> </view>
...@@ -125,19 +127,37 @@ ...@@ -125,19 +127,37 @@
<input class="weui-input" bindinput="bindAddress" placeholder="5、请输入店铺地址" /> <input class="weui-input" bindinput="bindAddress" placeholder="5、请输入店铺地址" />
</block> </block>
<block wx:else> <block wx:else>
{{memberInfo.member_city}}{{memberInfo.member_address}}
<picker mode="selector" range="{{addresses}}" value="{{curAddress}}" bindchange="onAddressPicker" class='address_member'>
<image src='../../../../icon/down.png' style='width: 40rpx;height: 40rpx;' class='selecrtImg'></image>
<text>{{memberInfos[curAddress].member_address}}</text>
</picker>
</block> </block>
</view> </view>
</view> </view>
</view> </view>
<!-- end of note-column--> <!-- end of note-column-->
</view> </view>
</view>
</view> </view>
</view>
</view> </view>
</view> </view>
</view> <!-- end of 商家信息 -->
<!-- start of 更新商家信息 -->
<view class="weui-cells__title">#更新商家信息</view>
<view class="navBar" >
<scroll-view class="navBar-box" style="display:flex">
<!-- <view class="cate-list" bindtap="updateMember" id="00" data-title="新增商家信息">
<image src="../../../../icon/add_3.png"/>新增商家信息</view> -->
<view class="cate-list" bindtap="toMemberEdit" id="01" data-title="修改商家信息">
<image src="../../../../icon/edit.png"/>修改商家信息</view>
<view class="cate-list" bindtap="toMemberEdit" id="02" data-title="新增地址信息">
<image src="../../../../icon/add_3.png"/>新增地址信息</view>
</scroll-view>
</view>
<!-- end of 更新商家信息 -->
</view>
</view> </view>
\ No newline at end of file
page{ page{
...@@ -55,7 +55,70 @@ page{ ...@@ -55,7 +55,70 @@ page{
color: #000000; color: #000000;
font-weight: bold; font-weight: bold;
} }
.navBar-box .cate-list.update {
color: #9d9d9d;
font-weight: bold;
}
.cate-list image {
width: 70rpx;
height: 70rpx;
vertical-align: middle;
}
.navBar-box{
width: 100%;
height: 60rpx;
}
/* end of navbar */ /* end of navbar */
/* start of menuBox 下拉菜单 */
.address_member{
height: 80rpx;
background: #fff;
float:left;
}
.selecrtImg{
float:left;
margin-top: 10rpx;
}
/* end of menuBox */
/* start of button */
.button-sp-area{
margin: 0 auto;
text-align:center;
font-size: 32rpx;
}
.mini-btn{
margin: 0 4px;
font-size: 32rpx;
}
.weui-cells{
width: 100%;
margin-top: 0;
bottom:0px;
left:0px;
}
.weui-cell__hd {
font-size: 0;
}
.weui-cell_access{
border-top: 1px solid #ffffff;
}
.weui-cell__hd image {
width: 70rpx;
height: 70rpx;
margin-right: 15px;
vertical-align: middle;
}
.weui-cell__ft_in-access {
padding-right:13px;
position:relative;
}
/* end of button */
\ No newline at end of file \ No newline at end of file
// pages/member/activity-post/activity-submit/activity-submit.js
// pages/member/activity-post/activity-submit/activity-submit.js
const base64 = require('../../../../utils/base64.js');//Base64,hmac,sha1,crypto相关算法
var config = wx.getStorageSync("config");
var util = require('./../../../../utils/util.js')
const app = getApp();
Page({
data : {
/* 用户信息及商家信息 */
nyxCode : "",
authStatus : "",
userInfo : {},
logoArray: [], // logo 临时temp上传
members : [], // 一个商家所有管理的商户, global
member: {}, //该商家默认的商户, global
memberInfos: [], // 某一个商户member_name对应的address 可能是1:n, local
memberInfo: {}, // 某一个address的详细信息, global
addresses: [], // 地址列表
//当textarea获取焦点时自适应高度,失去焦点时不自适应高度
//自适应高度时,style中的height无效
auto_height:true,
/*
//members
member_id
address_id
default_member
member_name
member_city // new added jscat 20200915
member_address
member_slogan
member_logo
*/
//阿里云 OSS相关参数
// accessid: "",
// policy: "",
// signature: "",
// host: "",
// dir: "",
// expire: "",
// securityToken: "",
oss :{},
// 消息提示框的遮罩层
showToast: false,
defaultCity: '',
// 多商户被选中的index, 与members配合使用
// 给选中的tab加粗
curIndex: 0,
curAddress: 0,
// 支付按钮可用状态
canClick: true,
// 页面标题
title: "",
mode: "", // 01-editMember, 02-addAddress
},
onLoad: function ( options ) {
var _this = this;
wx.getSystemInfo({
success: function (res) {
var a = res.windowHeight;
_this.setData({
scrollTop: a-200
})
}
})
//step1: 初始化数据
if (wx.getStorageSync('nyxCode')) {
_this.setData({
nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'),
members : wx.getStorageSync('members') || [],
member : wx.getStorageSync('member') || {},
memberInfo : wx.getStorageSync('memberInfo') || {},
})
}
//step2: 获取上一页面传入的数据
var mode = ""
var title = ""
if (options.mode != "")
{
mode = options.mode;
title = options.title;
}
_this.setData({ mode, title })
//step3: 设置当前memberInfo的信息
var memberInfo = app.assignDict(app.globalData.memberInfo)
_this.setData({ memberInfo })
let logoArray = [ memberInfo.member_logo ]
_this.setData({ logoArray })
//step4: 设置窗口标题
wx.setNavigationBarTitle({
title: title,
})
},
onReady: function (e) {
},
// Date Flow
// 添加口号到local page的memberInfo
bindSlogan(e) {
var _this = this;
var memberInfo = _this.data.memberInfo || {}
memberInfo["member_slogan"] = e.detail.value
_this.setData({ memberInfo })
},
// 添加名称到local page的memberInfo
bindName(e) {
var _this = this;
var memberInfo = _this.data.memberInfo || {}
memberInfo["member_name"] = e.detail.value
_this.setData({ memberInfo })
},
// 添加城市到local page的memberInfo
// jscat 20200915,
bindCity(e) {
var _this = this;
var memberInfo = _this.data.memberInfo || {}
memberInfo["member_city"] = e.detail.value
_this.setData({ memberInfo })
},
//添加地址到local page的memberInfo
bindAddressEdit(e) {
var _this = this;
var memberInfo = _this.data.memberInfo || {}
memberInfo.member_address = e.detail.value
_this.setData({ memberInfo })
},
/*
logo处理功能
*/
previewImage(e) {
const current = e.target.dataset.src
wx.previewImage({
current,
urls: this.data.logoArray
})
},
areablur:function(){
this.setData({
auto_height:false
})
},
areafocus:function(){
this.setData({
auto_height: true
})
},
checkField(){
var _this = this;
var info = ""
if(_this.data.memberInfo.member_address == undefined || _this.data.memberInfo.member_address.length == 0)
{
info = "请输入店铺地址"
wx.showModal({
content: info,
showCancel: false,
confirmText: '确认'
})
return false;
}
console.log("字段校验成功")
return true;
},
onAddressPicker: function (e) {
var _this = this;
var curAddress = e.detail.value
_this.setData(
{
curAddress: curAddress,
}
)
},
// 确认修改/新增
/*
数据更新保存在local
更新数据库
如果成功
则同步更新storage数据和app.globalData数据
*/
toConfirm(e) {
var _this = this;
var mode = _this.data.mode
if(mode == "01") //修改商家信息 editMember
{
//写入数据库,如果成功,则更新数据; 触发父页面的方法
_this.onEditMember()
}
else if (mode == "02") //新增地址信息 addAddress
{
//写入数据库,如果成功,则更新数据; 触发父页面的方法
_this.onAddAddress()
}
},
// 取消
toCancel(e) {
var _this = this;
wx.navigateBack({
delta: 1
})
},
// 修改商家信息 member(tbl_member)/memberInfo(tbl_address)
onEditMember(e)
{
var _this = this;
var memberInfo = _this.data.memberInfo
if(memberInfo.member_slogan == app.globalData.memberInfo.member_slogan &&
memberInfo.member_address == app.globalData.memberInfo.member_address)
{
_this.showToast("商家信息未修改");
}
else
{
_this.editMember();
}
},
editMember(e) {
var _this = this;
var memberInfo = _this.data.memberInfo
var query_url = '?memberId=' + memberInfo.member_id +'&memberSlogan=' + memberInfo.member_slogan + '&memberAddress='+memberInfo.member_address + '&addressStatus='+memberInfo.address_status + '&addressId='+memberInfo.address_id
var strUrl = config.member_edit_url + query_url
config.debug == 1 ? console.log("===strUrl is: \"" + strUrl + "\"") : ""
wx.request({
url: strUrl,
method: 'GET',
header: {
'Cookie': wx.getStorageSync('cookieKey'),
},
success: function (res) {
if (res.data.resultCode == 200) {
//表示HTTP请求成功
console.log(res.data);
var memberInfo = _this.__data__.memberInfo
//成功则更新storage和app.globalData
wx.setStorageSync('memberInfo', memberInfo)
app.globalData.memberInfo = memberInfo
//表示修改了一个字符串
var options = {'mode': '01'}
var pages = getCurrentPages();//当前页面栈
if (pages.length > 1) {
var prevPage = pages[pages.length - 2];//获取上一个页面实例对象
prevPage.updateMemberData(options);//触发父页面中的方法
}
_this.showToast("商家信息修改成功")
}
}
})
},
// 新增地址信息
onAddAddress(e) {
var _this = this;
var memberInfo = _this.data.memberInfo
if(memberInfo.member_address == app.globalData.memberInfo.member_address)
{
_this.showToast("商家信息未修改");
}
else
{
_this.addAddress();
}
},
addAddress(e) {
var _this = this;
var memberInfo = _this.data.memberInfo
var query_url = '?memberId=' + memberInfo.member_id + '&memberAddress='+memberInfo.member_address
var strUrl = config.member_add_address_url + query_url
config.debug == 1 ? console.log("===strUrl is: \"" + strUrl + "\"") : ""
wx.request({
url: strUrl,
method: 'GET',
header: {
'Cookie': wx.getStorageSync('cookieKey'),
},
success: function (res) {
if (res.data.resultCode == 200) {
//表示HTTP请求成功, 更新memberInfo数据
console.log(res.data);
var memberInfo = _this.__data__.memberInfo
var dict = res.data.data
memberInfo['address_status'] = dict['addressStatus']
memberInfo['address_id'] = dict['addressId']
//成功则更新storage和app.globalData
//step1: 设置memberInfo
wx.setStorageSync('memberInfo', memberInfo)
app.globalData.memberInfo = memberInfo
_this.setData({memberInfo})
//step2: 设置memberInfos
//表示新增了一个字符串
var options = {'mode': '02'}
var pages = getCurrentPages();//当前页面栈
if (pages.length > 1) {
var prevPage = pages[pages.length - 2];//获取上一个页面实例对象
prevPage.updateMemberData(options);//触发父页面中的方法
}
_this.showToast("商家信息修改成功")
}
}
})
},
showToast(title){
var _this = this;
var showToast = true;
_this.setData({ showToast })
wx.showToast({
icon: 'none',
title: title,
duration: 2000,
success: function(){
setTimeout(function(){
var showToast = false
_this.setData({ showToast })
wx.navigateBack({
delta: 1
})
}, 2000)
}
})
}
})
{
{
"navigationBarTitleText": "活动发布"
}
\ No newline at end of file
<view class="page-body">
<view class="page-body">
<!-- 定义遮罩层 -->
<view class="mask" wx:if="{{showToast}}"></view>
<!-- start of 商家信息 -->
<view class="weui-cells">
<view class="weui-cell">
<view class="weui-cell__bd">
<view class="weui-uploader">
<view class="weui-uploader__hd">
<view class="weui-uploader__title">商家信息</view>
</view>
<!-- 地址 -->
<view class="weui-uploader__hd">
<input class="weui-input" bindinput="bindSlogan" placeholder="1、请输入店铺标语" value="{{memberInfo.member_slogan}}" />
</view>
<!-- start of note-row -->
<view class="note-row">
<!-- start of column left -->
<view class="note-column-left align justify">
<view class="weui-uploader__bd">
<!-- start of 已上传 -->
<view class="weui-uploader__files">
<block wx:for="{{[memberInfo.member_logo]}}" wx:for-item="image">
<view class="weui-uploader__file">
<image class="weui-uploader__img" src="{{image}}" data-src="{{image}}" bindtap="previewImage"></image>
</view>
</block>
</view>
<!-- end of 已上传 -->
</view>
</view>
<!-- end of note-column-left -->
<!-- start of note-column-->
<view class="note-column" style="margin-left: 20rpx;">
<view class="weui-cells weui-cells_after-title" style="height: 96rpx">
<view>
<view class="weui-cell__bd">
{{memberInfo.member_name}}
</view>
</view>
</view>
<!-- end of note-column-->
<!-- start of note-column-->
<view class="weui-cells weui-cells_after-title" style="height: 96rpx">
<view>
<view class="weui-cell__bd">
<!-- <textarea auto-height="{{auto_height}}" class="weui-textarea" bindinput="bindAddressEdit" placeholder="5、请输入店铺地址" value="{{memberInfo.member_address}}"/> -->
<input class="weui-input" bindinput="bindAddressEdit" placeholder="5、请输入店铺地址" value="{{memberInfo.member_address}}"/>
</view>
</view>
</view>
<!-- end of note-column-->
<!-- start of note-column-->
<view class="weui-cells weui-cells_after-title" style="height: 96rpx">
<view>
<view class="weui-cell__bd">
</view>
</view>
</view>
<!-- end of note-column-->
</view>
</view>
</view>
</view>
</view>
</view>
<!-- end of 商家信息 -->
<view class="navBar" >
<view class="navBar-box" style="display:flex; justify-content: center;align-items: center;">
<view class="cate-list on" bindtap="toConfirm">确认</view>
<view class="cate-list" bindtap="toCancel">取消</view>
</view>
</view>
</view>
\ No newline at end of file
page{
page{
height: 100%;
background-color:#f5f8fa;
}
.note-row{
width: 100%;
display: flex;
flex-direction: row;
}
.note-column{
display: flex;
flex-direction: column;
}
.note-column-left{
width : 196rpx;
display: flex;
}
.writer-image{
width: 196rpx;
height: 196rpx;
}
/* 消息提示框的遮罩层 */
.mask{
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
z-index: 9000;
opacity: 0.5;
}
/* start of navbar navBar -> navBar-box -> cate-list -> cate-list.on jscat 20200916*/
.navBar{
height: 60rpx;
background: #fff;
border-top: 1px solid #fafafa;
}
.navBar-box{
width: 100%;
height: 60rpx;
}
.cate-list{
display: inline;
margin: 15rpx 22rpx;
text-align: center;
font-size: 32rpx;
color: #9d9d9d;
margin-left: 30rpx;
}
.navBar-box .cate-list.on {
color: #000000;
font-weight: bold;
}
.navBar-box .cate-list.update {
color: #e64340;
font-weight: bold;
}
.cate-list image {
width: 70rpx;
height: 70rpx;
margin-right: 15px;
vertical-align: middle;
}
.navBar-box{
width: 100%;
height: 60rpx;
}
/* end of navbar */
/* start of menuBox 下拉菜单 */
.address_member{
height: 80rpx;
background: #fff;
float:left;
}
.selecrtImg{
float:left;
margin-top: 10rpx;
}
/* end of menuBox */
/* start of button */
.button-sp-area{
margin: 0 auto;
text-align:center;
font-size: 32rpx;
}
.mini-btn{
margin: 0 4px;
font-size: 32rpx;
}
.weui-cells{
width: 100%;
margin-top: 0;
bottom:0px;
left:0px;
}
.weui-cell__hd {
font-size: 0;
}
.weui-cell_access{
border-top: 1px solid #ffffff;
}
.weui-cell__hd image {
width: 70rpx;
height: 70rpx;
margin-right: 15px;
vertical-align: middle;
}
.weui-cell__ft_in-access {
padding-right:13px;
position:relative;
}
/* end of button */
/* 遮罩层 */
.mask{
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #000;
z-index: 9000;
opacity: 0.5;
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论