Commit ba24d965 by jscat

nyx weapp: 页面更新; 功能更新

1. 去除memberId, 添加members
2. 去掉matchSeason参数
3. 细化入口页面数据流 activity.js
4. 添加login, addT_member功能 activity-submit.js
parent 55f4ff25
//app.js //app.js
...@@ -7,10 +7,16 @@ App({ ...@@ -7,10 +7,16 @@ App({
globalData: { globalData: {
// userInfo setting // userInfo setting
nyxCode: "", //userId, 唯一识别码 nyxCode: "", //userId, 唯一识别码
nickName: "", authStatus: "", //授权状态, 00表示未授权, 01表示已授权
authStatus: "", //授权状态, 0表示未授权, 1表示已授权
userInfo : {}, //用户信息 userInfo : {}, //用户信息
matchSeason : "", members : [], // 商家列表
memberInfo: {
member_id: "",
member_name: "",
member_address: "",
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 : {},
...@@ -227,11 +233,8 @@ App({ ...@@ -227,11 +233,8 @@ App({
regUser: function (uuid) { regUser: function (uuid) {
var _this = this; var _this = this;
_this.globalData.nyxCode = uuid; _this.globalData.nyxCode = uuid;
_this.globalData.nickName = "匿名用户"
wx.setStorageSync('nyxCode', uuid) wx.setStorageSync('nyxCode', uuid)
wx.setStorageSync('nickName', "匿名用户") wx.setStorageSync('authStatus', "00")
wx.setStorageSync('authStatus', "0")
wx.setStorageSync('matchSeason', _this.getSeason())
var userInfo = {} var userInfo = {}
userInfo['userId'] = uuid userInfo['userId'] = uuid
userInfo['nickName'] = "匿名用户" userInfo['nickName'] = "匿名用户"
...@@ -385,4 +388,88 @@ App({ ...@@ -385,4 +388,88 @@ App({
return promise return promise
}, },
//具体的登陆及授权功能 - 在用户信息加密后(encryptedData)传到java后台, 后台进一步处理
login: function (resolve, reject) {
config.debug==1?console.log("===login_登陆及授权"):""
var _this = this;
wx.login({
success: function (res) {
var code = res.code;
config.debug==1? console.log("===login_code_", code):""
wx.getUserInfo({
success: function (res) {
config.debug == 1 ? console.log("===wx.getUserInfo_res_获取用户信息成功", res) : ""
//userInfo直接获取
/* userInfo
- nickName
- avatarUrl
- gender
- province
- city
- country
*/
wx.setStorageSync('userInfo', res.userInfo)
_this.globalData.userInfo = res.userInfo
//通过openid换取唯一的nyxCode
//同时更新userInfo
var nyxCode = _this.globalData.nyxCode
wx.request({
url: config.user_login_url,
method: 'post',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
data: { encryptedData: res.encryptedData, iv: res.iv, code: code, userId : nyxCode },
success: function (res) {
config.debug==1?console.info("===wx.login_data_", res):""
wx.setStorageSync('nyxCode', res.data.data.id)
wx.setStorageSync('authStatus', res.data.data.authStatus)
_this.globalData.nyxCode = res.data.data.id
_this.globalData.authStatus = res.data.data.authStatus
resolve("===app.js_login success")
},
fail: function () {
reject("===app.js_login failed")
console.log('系统错误')
}
})
//平台登录
},
fail: function (res) {
config.debug == 1 ? console.log("===app.js_login_获取用户信息失败", res) : ""
}
})
}
})
},
regMember: function (uuid) {
var _this = this;
_this.globalData.nyxCode = uuid;
wx.setStorageSync('nyxCode', uuid)
wx.setStorageSync('authStatus', "00")
var userInfo = {}
userInfo['userId'] = uuid
userInfo['nickName'] = "匿名用户"
userInfo['avatarUrl'] = "https://930-test-sh.oss-cn-shanghai.aliyuncs.com/u_image/icon_avatar1.png"
//设置全局参数
wx.setStorageSync('userInfo', userInfo)
_this.globalData.userInfo = userInfo
var strUrl = config.user_reg_url + "?userid=" + uuid
config.debug == 1 ? console.log("===regUser_strUrl_" + strUrl) : ""
wx.request({
url: strUrl,
method: 'GET',
success: function (res) {
config.debug == 1 ? console.info("===regUser_success_data_", res) : ""
},
fail: function () {
console.log('系统错误')
}
})
},
}) })
\ No newline at end of file
{ {
{ {
"pages": [ "pages": [
"pages/member/activity-post/activity-submit/activity-submit",
"pages/activity/activity", "pages/activity/activity",
"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-submit/activity-submit",
"pages/member/activity-post/activity-edit/activity-edit", "pages/member/activity-post/activity-edit/activity-edit",
"pages/member/quiz-post/quiz-edit/quiz-edit", "pages/member/quiz-post/quiz-edit/quiz-edit",
"pages/member/schedule/schedule", "pages/member/schedule/schedule",
...@@ -40,6 +40,12 @@ ...@@ -40,6 +40,12 @@
"selectedIconPath": "./icon/my/activity.png" "selectedIconPath": "./icon/my/activity.png"
}, },
{ {
"pagePath": "pages/member/activity-post/activity-post",
"text": "添加",
"iconPath": "./icon/add.png",
"selectedIconPath": "./icon/add.png"
},
{
"pagePath": "pages/my/my", "pagePath": "pages/my/my",
"text": "个人", "text": "个人",
"iconPath": "./icon/my.png", "iconPath": "./icon/my.png",
......
//config.js API全局域名配置 //config.js API全局域名配置
...@@ -55,6 +55,7 @@ var config={ ...@@ -55,6 +55,7 @@ var config={
socket_url: socket_url, socket_url: socket_url,
oss_token_url: host_key + "/api/nyx/oss/getToken", oss_token_url: host_key + "/api/nyx/oss/getToken",
oss_callback_url: login_url + "/api/nyx/oss/callback", oss_callback_url: login_url + "/api/nyx/oss/callback",
oss_member_callback_url: login_url + "/api/nyx/oss/member/callback",
post_like_url: host_key + "/api/nyx/post/like", post_like_url: host_key + "/api/nyx/post/like",
activity_like_url: host_key + "/api/nyx/activity/like", activity_like_url: host_key + "/api/nyx/activity/like",
activity_like_del_url: host_key + "/api/nyx/activity/like/del", activity_like_del_url: host_key + "/api/nyx/activity/like/del",
...@@ -62,5 +63,7 @@ var config={ ...@@ -62,5 +63,7 @@ var config={
collect_like_del_url: host_key + "/api/nyx/collect/like/del", collect_like_del_url: host_key + "/api/nyx/collect/like/del",
check_text_url: host_key + "/api/nyx/wx/check/text", check_text_url: host_key + "/api/nyx/wx/check/text",
check_pic_url: host_key + "/api/nyx/wx/check/pic", check_pic_url: host_key + "/api/nyx/wx/check/pic",
logo_dir: "logo-dir/",
user_dir: "user-dir/",
} }
module.exports=config; module.exports=config;
\ No newline at end of file
// pages/activity/activity-info/activity-info.js // pages/activity/activity-info/activity-info.js
...@@ -10,11 +10,11 @@ Page({ ...@@ -10,11 +10,11 @@ Page({
*/ */
data: { data: {
/* 用于判断是否已经登陆 */ /* 用户信息及商家信息 */
nyxCode : "", nyxCode : "",
authStatus : "0", authStatus : "", // 授权状态: 00-未授权, 01-已授权
userInfo : {}, userInfo : {},
memberId : "", members : "", // 商家信息
windowHeight: "", windowHeight: "",
windowWidth: "", windowWidth: "",
...@@ -51,7 +51,7 @@ Page({ ...@@ -51,7 +51,7 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
memberId : wx.getStorageSync('memberId'), members : wx.getStorageSync('members'),
}) })
} }
......
<wxs module="tutil" src="./../../../utils/date.wxs"></wxs> <wxs module="tutil" src="./../../../utils/date.wxs"></wxs>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</block> </block>
<!-- end 点赞 like --> <!-- end 点赞 like -->
<!-- start 克隆 --> <!-- start 克隆 -->
<block wx:if="{{memberId!=''}}"> <block wx:if="{{members.length > 0}}">
<view class="clone-right" bindtap="onClickClone" data-id='{{activityInfo.activity_id}}'> <view class="clone-right" bindtap="onClickClone" data-id='{{activityInfo.activity_id}}'>
<view class="note-column" style="font-size: 24rpx;font-weight:normal;color: #000;align-items:center;margin-left: 10rpx;"> <view class="note-column" style="font-size: 24rpx;font-weight:normal;color: #000;align-items:center;margin-left: 10rpx;">
<image src="../../../icon/activity/clone.png"></image> <image src="../../../icon/activity/clone.png"></image>
......
.scroll-view_H{ .scroll-view_H{
...@@ -95,13 +95,13 @@ ...@@ -95,13 +95,13 @@
margin-left: 30rpx; margin-left: 30rpx;
} }
.note-column-left{ .note-column-left{
width : 120rpx; width : 140rpx;
margin-left: 5%; margin-left: 5%;
display: flex; display: flex;
} }
.writer-image{ .writer-image{
width: 120rpx; width: 140rpx;
height: 120rpx; height: 140rpx;
} }
/* start bottom style */ /* start bottom style */
......
// pages/member/activity-post/activity-edit/activity-edit.js // pages/member/activity-post/activity-edit/activity-edit.js
...@@ -9,11 +9,11 @@ Page({ ...@@ -9,11 +9,11 @@ Page({
data: { data: {
/* 用于判断是否已经登陆 */ /* 用户信息及商家信息 */
nyxCode : "", nyxCode : "",
authStatus : "0", authStatus : "",
userInfo : {}, userInfo : {},
memberId : "", members : [],
header_infoData: { header_infoData: {
date: '日期', date: '日期',
...@@ -70,7 +70,7 @@ Page({ ...@@ -70,7 +70,7 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
memberId : wx.getStorageSync('memberId'), members : wx.getStorageSync('members'),
}) })
} }
......
// pages/activity/activity.js // pages/activity/activity.js
...@@ -13,6 +13,12 @@ Page({ ...@@ -13,6 +13,12 @@ Page({
*/ */
data: { data: {
/* 用户信息及商家信息 */
nyxCode : "",
authStatus : "", // 授权状态: 00-未授权, 01-已授权
userInfo : {},
members : "", // 商家信息
city: "", city: "",
county: "", county: "",
...@@ -101,9 +107,6 @@ Page({ ...@@ -101,9 +107,6 @@ Page({
wx.clearStorageSync('nyxCode'); wx.clearStorageSync('nyxCode');
var nyxCode = "uid_" + util.wxuuid() var nyxCode = "uid_" + util.wxuuid()
wx.setStorageSync('nyxCode', nyxCode); wx.setStorageSync('nyxCode', nyxCode);
//todo set mid_456
var memberId = ""
wx.setStorageSync('memberId', memberId);
app.globalData.nyxCode = nyxCode; app.globalData.nyxCode = nyxCode;
app.regUser(nyxCode); app.regUser(nyxCode);
} }
...@@ -134,8 +137,14 @@ Page({ ...@@ -134,8 +137,14 @@ Page({
}) })
} }
// step2 todo temp 暂时设置所有用户为个人(可以查看个人->商家管理) // step3 确定member信息, 写入 data.members
wx.setStorageSync('memberId', "") var members = wx.getStorageSync('members') || []
wx.setStorageSync('members', members)
if(members.length > 0)
{
_this.setData({ members })
app.globalData.members = members
}
var device = wx.getSystemInfoSync() var device = wx.getSystemInfoSync()
//self.device = app.globalData.myDevice //self.device = app.globalData.myDevice
...@@ -155,12 +164,12 @@ Page({ ...@@ -155,12 +164,12 @@ Page({
title: '酒肆活动', title: '酒肆活动',
}) })
// step3 数据载入页面, 初始化 // step4 数据载入页面, 初始化
// 初始载入我收藏的清单, 存入storage // 初始载入'我已收藏'的清单, 存入storage
wx.setStorageSync('likeDictStorage', {}) wx.setStorageSync('likeDictStorage', {})
_this.getCollectsStorage(0, 1, 100); _this.getCollectsStorage(0, 1, 100);
// 初始载入四个推荐的竞答活动 // step5 初始载入四个推荐的竞答活动
if(_this.__data__.activities.length == 0) if(_this.__data__.activities.length == 0)
{ {
var switchId = app.globalData.switchId var switchId = app.globalData.switchId
...@@ -177,7 +186,7 @@ Page({ ...@@ -177,7 +186,7 @@ Page({
} }
// event 订阅, 主要接受activity-info.js里 emit 发送的消息 // step6 event 订阅, 主要接受activity-info.js里 emit 发送的消息
event.on('LikeChanged', this, function(data) { event.on('LikeChanged', this, function(data) {
var activity_id = data['activity_id'] var activity_id = data['activity_id']
var num_like = data['num_like'] var num_like = data['num_like']
...@@ -190,7 +199,6 @@ Page({ ...@@ -190,7 +199,6 @@ Page({
activities[i]['num_like'] = num_like activities[i]['num_like'] = num_like
} }
} }
_this.setData({ _this.setData({
activities: activities, activities: activities,
}) })
......
<wxs module="tutil" src="./../../utils/date.wxs"></wxs> <wxs module="tutil" src="./../../utils/date.wxs"></wxs>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<text>我的活动</text> <text>我的活动</text>
</view> --> </view> -->
<!-- jscat20200816 添加活动日历 for convinience --> <!-- jscat20200816 添加活动日历 for convinience -->
<block wx:if="{{memberId!=''}}"> <block>
<view class="items"> <view class="items">
<navigator url="/pages/activity/activity-list/activity-list?city={{city}}"> <navigator url="/pages/activity/activity-list/activity-list?city={{city}}">
<image src="../../icon/member/schedule.png" style="margin-top:10rpx; margin-bottom:-10rpx"></image> <image src="../../icon/member/schedule.png" style="margin-top:10rpx; margin-bottom:-10rpx"></image>
...@@ -61,14 +61,6 @@ ...@@ -61,14 +61,6 @@
</navigator> </navigator>
</view> </view>
</block> </block>
<block wx:else>
<view class="items">
<navigator url="/pages/member/schedule/schedule">
<image src="../../icon/member/schedule.png"></image>
<text style="font-size:28rpx;">活动日历</text>
</navigator>
</view>
</block>
<view class="items"> <view class="items">
<navigator url="/pages/my/my-collects/my-collects"> <navigator url="/pages/my/my-collects/my-collects">
......
// pages/index/note-info/note-info.js // pages/index/note-info/note-info.js
...@@ -6,9 +6,9 @@ Page({ ...@@ -6,9 +6,9 @@ Page({
*/ */
data: { data: {
/* 用于判断是否已经登陆 */ /* 用户信息及商家信息 */
nyxCode : "", nyxCode : "",
authStatus : "0", authStatus : "",
userInfo : {}, userInfo : {},
windowHeight: "", windowHeight: "",
......
// pages/index/quiz-result/quiz-result.js // pages/index/quiz-result/quiz-result.js
...@@ -12,7 +12,7 @@ Page({ ...@@ -12,7 +12,7 @@ Page({
data: { data: {
/* 用于判断是否已经登陆 */ /* 用于判断是否已经登陆 */
nyxCode : "", nyxCode : "",
authStatus : "0", authStatus : "",
userInfo : {}, // nickName, avartarUrl, gender, province, city, country userInfo : {}, // nickName, avartarUrl, gender, province, city, country
windowHeight: "", windowHeight: "",
......
// pages/key/key.js // pages/key/key.js
...@@ -111,11 +111,6 @@ Page({ ...@@ -111,11 +111,6 @@ Page({
} }
} }
//每次重置matchSeason
wx.setStorageSync('matchSeason', app.getSeason())
//1. 从local storage里读取最新的数据
app.globalData.matchSeason = wx.getStorageSync('matchSeason')
wx.setNavigationBarTitle({ wx.setNavigationBarTitle({
title: "发现有趣的你" title: "发现有趣的你"
}) })
......
// pages/member/activity-post/activity-submit/activity-submit.js // pages/member/activity-post/activity-submit/activity-submit.js
// 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相关算法 const base64 = require('../../../../utils/base64.js');//Base64,hmac,sha1,crypto相关算法
var config = wx.getStorageSync("config"); var config = wx.getStorageSync("config");
var util = require('./../../../../utils/util.js')
var app = getApp(); var app = getApp();
Page({ Page({
data : {
/* 用户信息及商家信息 */
nyxCode : "",
authStatus : "",
userInfo : {},
members : [],
logoArray: [],
memberInfo: {
logoUrl : "",
},
//阿里云 OSS相关参数
// accessid: "",
// policy: "",
// signature: "",
// host: "",
// dir: "",
// expire: "",
// securityToken: "",
oss :{},
//评论标题+内容相关参数
inputTitle: "",
inputContent: "",
},
onLoad: function () { onLoad: function () {
var that = this; var _this = this;
wx.getSystemInfo({ wx.getSystemInfo({
success: function (res) { success: function (res) {
var a = res.windowHeight; var a = res.windowHeight;
that.setData({ _this.setData({
scrollTop: a-200 scrollTop: a-200
}) })
} }
}) })
},
data : {
//阿里云 OSS相关参数
accessid: "",
policy: "",
signature: "",
host: "",
dir: "",
expire: "",
securityToken: "",
//评论标题+内容相关参数 //初始化数据
inputTitle: "", if (wx.getStorageSync('nyxCode')) {
inputContent: "", _this.setData({
nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'),
members : wx.getStorageSync('members'),
})
}
}, },
onReady: function (e) { onReady: function (e) {
var _this = this; var _this = this;
//进入页面就自动获取oss参数 //进入页面就自动获取oss参数
_this.oss(); _this.oss(config.user_dir);
if(_this.data.members.length == 0)
{
_this.oss(config.logo_dir);
}
}, },
// Date Flow // Date Flow
// 提交oss和数据库 // 提交 tbl_member, oss 和数据库
onSubmitPost: function (e) { onSubmitPost: function () {
var _this = this; var _this = this;
var title = e.detail.value.inputTitle;//获取title var title = app.globalData.postData.photoTitle
var content = e.detail.value.inputContent;//获取content var content = app.globalData.postData.photoContent; //获取content
app.globalData.postData.title = title
app.globalData.postData.content = content // user_id
// member_id
// activity_id
// 注册memberInfo并且提交
if( app.globalData.members.length == 0 // 说明还不是member, 需要注册
&& app.globalData.memberInfo != {} // 存在memberInfo的信息
)
{
// 注册memberInfo
let promise_regMember = new Promise(function (resolve, reject) {
_this.onRegMember(resolve, reject)
})
promise_regMember.then(
function (value) {
console.log("===enter promise_regMember then_pass_" + value)
},
function (value) {
console.log("===enter promise_regMember then_failed_" + value)
});
}
else //直接提交
{
// todo jscat 20200815 测试版本不需要限定文本content是否为 "" // todo jscat 20200815 测试版本不需要限定文本content是否为 ""
//if (content != undefined && content != "") { //if (content != undefined && content != "") {
...@@ -73,13 +130,18 @@ Page({ ...@@ -73,13 +130,18 @@ Page({
} }
}
}, },
oss: function () { // 获得oss配置信息
// jscat0901 dir是指上传的目录 'user-dir/' 或者是 'logo-dir/'
// 每一个上传目录对应的oss 参数是不一致的
oss: function (dir) {
var _this = this; var _this = this;
console.log("===this is oss"); console.log("===this is oss");
//token信息 //token信息
var strUrl = config.oss_token_url + "?tokenName=ios&userName=1234" var strUrl = config.oss_token_url + "?tokenName=ios&userName=1234&dirType=" + dir
wx.request({ wx.request({
url: strUrl, url: strUrl,
method: 'GET', method: 'GET',
...@@ -89,7 +151,7 @@ Page({ ...@@ -89,7 +151,7 @@ Page({
success: res => { success: res => {
if (res.statusCode == 200) { if (res.statusCode == 200) {
console.log("=== oss getToken 返回值_", res.data) console.log("=== oss getToken 返回值_", res.data)
_this.setData({ var dict = {
accessid: res.data.data.accessid, accessid: res.data.data.accessid,
policy: res.data.data.policy, policy: res.data.data.policy,
signature: res.data.data.signature, signature: res.data.data.signature,
...@@ -97,6 +159,11 @@ Page({ ...@@ -97,6 +159,11 @@ Page({
dir: res.data.data.dir, dir: res.data.data.dir,
expire: res.data.data.expire, expire: res.data.data.expire,
securityToken: res.data.data.securityToken, securityToken: res.data.data.securityToken,
}
var oss = _this.data.oss
oss[dir] = dict
_this.setData({
oss : oss,
}) })
} }
} }
...@@ -114,11 +181,13 @@ Page({ ...@@ -114,11 +181,13 @@ Page({
//pic是多图上传模式中的单张图片 index => 0 : length-1 //pic是多图上传模式中的单张图片 index => 0 : length-1
console.log(pic) console.log(pic)
//传给阿里云的参数 //传给阿里云的参数
var policy = this.data.policy; var dir = config.user_dir
var accessid = this.data.accessid;
var securityToken = this.data.securityToken; var policy = this.data.oss[dir].policy;
var signature = this.data.signature; var accessid = this.data.oss[dir].accessid;
var path = this.data.host + "/" + this.data.dir; var securityToken = this.data.oss[dir].securityToken;
var signature = this.data.oss[dir].signature;
var path = this.data.oss[dir].host + "/" + this.data.oss[dir].dir;
console.log("policy: " + policy); console.log("policy: " + policy);
console.log("signature: " + signature); console.log("signature: " + signature);
console.log("accessid: " + accessid); console.log("accessid: " + accessid);
...@@ -126,7 +195,7 @@ Page({ ...@@ -126,7 +195,7 @@ Page({
var babyData = { var babyData = {
'Filename': '${filename}', 'Filename': '${filename}',
'name': pic.replace('http://tmp/', "").replace('wxfile://', ""), 'name': pic.replace('http://tmp/', "").replace('wxfile://', ""),
'key': this.data.dir + '${filename}', 'key': this.data.oss[dir].dir + '${filename}',
'policy': policy, 'policy': policy,
'OSSAccessKeyId': accessid, 'OSSAccessKeyId': accessid,
'success_action_status': '200', //让服务端返回200,不然,默认会返回204 'success_action_status': '200', //让服务端返回200,不然,默认会返回204
...@@ -158,7 +227,7 @@ Page({ ...@@ -158,7 +227,7 @@ Page({
babyData['callback'] = base64_callback_body babyData['callback'] = base64_callback_body
} }
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var host = _this.data.host; var host = _this.data.oss[config.user_dir].host;
wx.uploadFile({ wx.uploadFile({
url: host, url: host,
formData: babyData, formData: babyData,
...@@ -184,25 +253,25 @@ Page({ ...@@ -184,25 +253,25 @@ Page({
})).then(_this.switchTab()); })).then(_this.switchTab());
}, },
//发布按钮 //发布活动按钮
releaseOss: function (title, content) { releaseOss: function (title, content) {
var _this = this; var _this = this;
console.log("===this is releaseOss"); console.log("===this is releaseOss");
//获取照片数组 //获取照片数组
var photoArr = app.globalData.postData.photoArray; var photoArr = app.globalData.postData.photoArray;
//时间搓 //时间搓
var expire = this.data.expire; var expire = this.data.oss[config.user_dir].expire;
//获取当前时间搓 //获取当前时间搓
var expireNow = Date.parse(new Date()) / 1000; var expireNow = Date.parse(new Date()) / 1000;
//如果当前时间大于获取的时间 则重新获取oss; //如果当前时间大于获取的时间 则重新获取oss;
if (expire == undefined || expireNow > expire) { if (expire == undefined || expireNow > expire) {
//重新获取oss //重新获取oss
_this.oss(); _this.oss(config.user_dir);
expire = this.data.expire; expire = this.data.oss[config.user_dir].expire;;
} }
var tag = app.globalData.postData.photoTag var tag = app.globalData.postData.photoTag
this.uploadAli(tag, title, content, photoArr) _this.uploadAli(tag, title, content, photoArr)
}, },
switchTab() { switchTab() {
...@@ -214,4 +283,202 @@ Page({ ...@@ -214,4 +283,202 @@ Page({
}); });
}, },
// 活动提交入口
onSubmit: function(e) {
var _this = this;
_this.onSubmitPost()
},
// 授权入口: 获取用户授权信息
// authStatus=='00' && members.length == 0
getUserInfo: function (e) {
let _this = this;
config.debug==1?console.log("===getUserInfo_e_"+e):""
// 获取用户信息
wx.getSetting({
success(res) {
config.debug == 1 ? console.log("===getUserInfo_res_" + res) : ""
if (res.authSetting['scope.userInfo']) { // 判断获取用户信息是否授权
config.debug == 1 ? console.log("已授权=====") : ""
// 已经授权, 可以直接调用 getUserInfo 获取用户信息
let promise_login = new Promise(function (resolve, reject) {
app.login(resolve, reject)
})
promise_login.then(
function (value) {
console.log("===enter promise_login then_pass_" + value)
_this.onSubmitPost()
},
function (value) {
console.log("===enter promise_login then_failed_" + value)
});
} else {
config.debug == 1 ? console.log("未授权=====") : ""
// 无法重新进行授权; jscat 20200901
// 因为 openSetting:fail can only be invoked by user TAP gesture.
wx.showModal({
title: '授权提示',
content: '微活动发布需要您的授权哦'
})
}
}
})
},
// 添加内容
bindKeyInput(e) {
var _this = this;
//
app.globalData.postData.photoContent = e.detail.value
},
// 添加名称
bindName(e) {
app.globalData.memberInfo.member_name = e.detail.value
},
//添加地址
bindAddress(e) {
app.globalData.memberInfo.member_address = e.detail.value
},
/*
logo处理功能
*/
addLogo: function (res) {
var _this = this;
_this.setData({
logoArray: []
})
console.log("===this is addLogo");
wx.chooseImage({
sizeType: ['original, compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
console.log("===addLogo_上传图片参数", res)
_this.setData({
logoArray: res.tempFilePaths
})
}
})
},
previewImage(e) {
const current = e.target.dataset.src
wx.previewImage({
current,
urls: this.data.logoArray
})
},
//保存图形的tmp地址
saveData(newFilePaths){
var _this = this;
console.log("===saveData", newFilePaths)
_this.setData({
photoArray: newFilePaths
})
app.globalData.postData.photoArray = newFilePaths;
},
// 注册member
onRegMember(resolve, reject)
{
var _this = this;
var member_id = "mid_" + util.wxuuid()
app.globalData.memberInfo.member_id = member_id
var member_name = app.globalData.memberInfo.member_name
var member_address = app.globalData.memberInfo.member_address
var logoArray = _this.__data__.logoArray
console.log("===this is onRegMember");
//获取照片数组
var logoArray = _this.__data__.logoArray
//时间搓
var expire = this.data.oss[config.logo_dir].expire;
//获取当前时间搓
var expireNow = Date.parse(new Date()) / 1000;
//如果当前时间大于获取的时间 则重新获取oss;
if (expire == undefined || expireNow > expire) {
//重新获取oss
_this.oss(config.logo_dir);
expire = this.data.oss[config.logo_dir].expire;
}
_this.uploadMember(member_id, member_name, member_address, logoArray, resolve, reject)
},
//上传商家到(阿里云)
uploadMember: function (member_id, member_name, member_address, logoArray, resolve, reject) {
var _this = this;
var pic = logoArray[0]
console.log(pic)
//传给阿里云的参数
var dir = config.logo_dir
var policy = this.data.oss[dir].policy;
var accessid = this.data.oss[dir].accessid;
var securityToken = this.data.oss[dir].securityToken;
var signature = this.data.oss[dir].signature;
var path = this.data.oss[dir].host + "/" + this.data.oss[dir].dir;
var host = _this.data.oss[dir].host
console.log("policy: " + policy);
console.log("signature: " + signature);
console.log("accessid: " + accessid);
console.log("path: " + path)
var babyData = {
'Filename': '${filename}',
'name': pic.replace('http://tmp/', "").replace('wxfile://', ""),
'key': this.data.oss[dir].dir + '${filename}',
'policy': policy,
'OSSAccessKeyId': accessid,
'success_action_status': '200', //让服务端返回200,不然,默认会返回204
'signature': signature,
'x-oss-security-token': securityToken
}
//生成最终的文件字符串 file1.jpg
var image = pic.replace('http://tmp/', "").replace('wxfile://', "");
var member_logo = path + image
//设置memberInfo全局函数
app.globalData.memberInfo.member_logo = member_logo
var strUrl = config.oss_member_callback_url
var callback_param = {
'callbackUrl': strUrl,
'callbackBody': 'filename=${object}&size=${size}&mimeType=${mimeType}&height=${imageInfo.height}&width=${imageInfo.width}&memberName=' + encodeURI(encodeURI(member_name)) + '&memberAddress=' + encodeURI(encodeURI(member_address)) + '&image=' + member_logo + '&memberId=' + member_id,
'callbackBodyType': "application/x-www-form-urlencoded",
}
var base64_callback_body = base64.encode(JSON.stringify(callback_param));
babyData['callback'] = base64_callback_body
wx.uploadFile({
url: host,
formData: babyData,
name: 'file',
filePath: pic,
header: {
'content-type': 'multipart/form-data'
},
success: function (res) {
console.log(res)
resolve(res.data);
},
fail: function (err) {
console.log("fail to upload file", err.errMsg)
reject(new Error('failed to upload file'));
},
complete: function () {
console.log("complete to upload file");
}
});
},
}) })
<view class="post" style="height:100%;width:100%"> <view class="page-body">
<view class="post" style="height:100%;width:100%"> <view class="page-body">
<view class="page-body"> <!-- <form > -->
<form catchsubmit="onSubmitPost" >
<view class="btn-area"> <view class="btn-area">
<button type="normal" formType="submit">活动发布</button> <block wx:if="{{authStatus=='00'}}">
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">授权发布</button>
</block>
<block wx:else>
<button bindtap="onSubmit">活动发布</button>
</block>
</view> </view>
<view class="weui-cells__title">#添加内容</view> <view class="weui-cells__title">#添加内容</view>
...@@ -14,7 +18,66 @@ ...@@ -14,7 +18,66 @@
</view> </view>
</view> </view>
</view> </view>
</form> <!-- </form> -->
<!-- 企业信息 -->
<!-- <view class="note-row"> -->
<!-- <view class="note-column-left align justify"> -->
<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="note-row">
<!-- start of column left -->
<view class="note-column-left align justify">
<view class="weui-uploader__bd">
<view class="weui-uploader__files">
<block wx:for="{{logoArray}}" 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>
<block wx:if="{{logoArray.length == 0}}">
<view class="weui-uploader__input-box">
<view class="weui-uploader__input" bindtap="addLogo"></view>
</view>
</block>
</view>
</view>
<!-- end of note-column-left -->
<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">
<input class="weui-input" bindinput="bindName" placeholder="请输入名称" />
</view>
</view>
</view>
<view class="weui-cells weui-cells_after-title" style="height: 96rpx">
<view>
<view class="weui-cell__bd">
<input class="weui-input" bindinput="bindAddress" placeholder="请输入地址" />
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view> </view>
</view> </view>
\ No newline at end of file
page{ page{
...@@ -3,8 +3,22 @@ page{ ...@@ -3,8 +3,22 @@ page{
background-color:#f5f8fa; background-color:#f5f8fa;
} }
.post{ .note-row{
position: absolute; width: 100%;
bottom: 0; display: flex;
right:0px; flex-direction: row;
} }
.note-column{
display: flex;
flex-direction: column;
}
.note-column-left{
width : 196rpx;
display: flex;
}
.writer-image{
width: 196rpx;
height: 196rpx;
}
\ No newline at end of file
// pages/schedule/schedule.js // pages/schedule/schedule.js
...@@ -13,12 +13,9 @@ Page({ ...@@ -13,12 +13,9 @@ Page({
data: { data: {
/* 用于判断是否已经登陆 */ /* 用于判断是否已经登陆 */
nyxCode : "", nyxCode : "",
authStatus : "0", authStatus : "",
userInfo : {}, userInfo : {},
memberId: "", members: [],
memberName: "",
bGetUserInfo : false,
bUpdateUserData: false,
curDate : "", curDate : "",
days : [], days : [],
...@@ -37,7 +34,7 @@ Page({ ...@@ -37,7 +34,7 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
memberId : wx.getStorageSync('memberId'), members : wx.getStorageSync('members'),
}) })
} }
......
// pages/activity/activity.js // pages/activity/activity.js
...@@ -9,6 +9,13 @@ Page({ ...@@ -9,6 +9,13 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
/* 用户信息及商家信息 */
nyxCode : "",
authStatus : "", // 授权状态: 00-未授权, 01-已授权
userInfo : {},
members : "", // 商家信息
collects: [], collects: [],
// { // {
// note_image: [ "https://1.jpg", "https://2.jpg"], // note_image: [ "https://1.jpg", "https://2.jpg"],
...@@ -44,12 +51,11 @@ Page({ ...@@ -44,12 +51,11 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
memberId : wx.getStorageSync('memberId'), members : wx.getStorageSync('members'),
}) })
} }
// step2: todo temp 暂时设置所有用户为个人(可以查看个人->商家管理) // step2: todo temp 暂时设置所有用户为个人(可以查看个人->商家管理)
wx.setStorageSync('memberId', "")
// step3 数据载入页面, 初始化 // step3 数据载入页面, 初始化
wx.setStorageSync('likeDictStorage', {}) wx.setStorageSync('likeDictStorage', {})
......
// pages/my/my-member/my-member.js // pages/my/my-member/my-member.js
...@@ -8,11 +8,11 @@ Page({ ...@@ -8,11 +8,11 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
//用户信息初始化 /* 用户信息及商家信息 */
nyxCode: "", nyxCode : "",
authStatus: "", authStatus : "", // 授权状态: 00-未授权, 01-已授权
userInfo: {}, userInfo : {},
memberId: "", // 商家id members : "", // 商家信息
}, },
...@@ -28,7 +28,7 @@ Page({ ...@@ -28,7 +28,7 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
memberId : wx.getStorageSync('memberId'), members : wx.getStorageSync('members'),
}) })
} }
...@@ -41,10 +41,6 @@ Page({ ...@@ -41,10 +41,6 @@ Page({
}) })
/* end */ /* end */
//tips:每次进入都重新更新
var matchSeason = _this.data.matchSeason
var nyxCode = _this.data.nyxCode
}, },
/** /**
...@@ -96,34 +92,6 @@ Page({ ...@@ -96,34 +92,6 @@ Page({
}, },
// 用户自定义函数 // 用户自定义函数
// 获取真实数据
getMatchRank: function (matchSeason, matchTeam) {
var _this = this;
var strUrl = config.match_rank_query_url + '?matchSeason=' + matchSeason + '&matchTeam=' + matchTeam
wx.request({
url: strUrl,
method: 'GET',
header: {
'Cookie': wx.getStorageSync('cookieKey'),
},
success: function (res) {
if (res.data.resultCode == 200) {
//表示上传成功(可以在阿里云服务器查看上传的图片)
console.log(res.data);
var result = _this.data.studyResult
var list = res.data.data
for (var j = 0; j < list.length; j++) {
var matchType = list[j].matchType
result[matchType] = list[j].ratioFinish == null ? 0 : list[j].ratioFinish
}
wx.setStorageSync('studyResult', result)
_this.setData({
studyResult: result,
})
}
}
})
},
}) })
\ No newline at end of file
// pages/my/my-orders/my-orders.js // pages/my/my-orders/my-orders.js
...@@ -12,6 +12,7 @@ Page({ ...@@ -12,6 +12,7 @@ Page({
nyxCode: "", nyxCode: "",
authStatus: "", authStatus: "",
userInfo: {}, userInfo: {},
members : [],
//选中barcode的qrcode和url //选中barcode的qrcode和url
qrcode : "", qrcode : "",
...@@ -64,7 +65,7 @@ Page({ ...@@ -64,7 +65,7 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
memberId: wx.getStorageSync('memberId'), members: wx.getStorageSync('members'),
}) })
} }
......
// pages/my/rank/rank.js // pages/my/rank/rank.js
...@@ -57,7 +57,7 @@ Page({ ...@@ -57,7 +57,7 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
memberId: wx.getStorageSync('memberId'), members: wx.getStorageSync('members'),
}) })
} }
......
// pages/my/my.js // pages/my/my.js
...@@ -10,13 +10,11 @@ Page({ ...@@ -10,13 +10,11 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
/* 用于判断是否已经登陆 */ /* 用户信息及商家信息 */
nyxCode : "", nyxCode : "",
authStatus : "0", // 授权状态: 00-未授权, 01-已授权 authStatus : "", // 授权状态: 00-未授权, 01-已授权
userInfo : {}, userInfo : {},
memberId : "", members : [],
bGetUserInfo : false,
bUpdateUserData: false,
}, },
...@@ -32,7 +30,7 @@ Page({ ...@@ -32,7 +30,7 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
memberId : wx.getStorageSync('memberId'), members : wx.getStorageSync('members'),
}) })
} }
...@@ -64,7 +62,7 @@ Page({ ...@@ -64,7 +62,7 @@ Page({
nyxCode: wx.getStorageSync('nyxCode'), nyxCode: wx.getStorageSync('nyxCode'),
userInfo: wx.getStorageSync('userInfo'), userInfo: wx.getStorageSync('userInfo'),
authStatus: wx.getStorageSync('authStatus'), authStatus: wx.getStorageSync('authStatus'),
matchSeason: wx.getStorageSync('matchSeason'), members: wx.getStorageSync('members'),
}) })
} }
}, },
...@@ -134,7 +132,6 @@ Page({ ...@@ -134,7 +132,6 @@ Page({
wx.setStorageSync('userInfo', res.userInfo) wx.setStorageSync('userInfo', res.userInfo)
_this.setData({ _this.setData({
userInfo: res.userInfo, userInfo: res.userInfo,
bGetUserInfo: false,
}) })
//通过openid换取唯一的nyxCode //通过openid换取唯一的nyxCode
...@@ -156,10 +153,6 @@ Page({ ...@@ -156,10 +153,6 @@ Page({
nyxCode: res.data.data.id, nyxCode: res.data.data.id,
authStatus: res.data.data.authStatus, authStatus: res.data.data.authStatus,
}) })
log.info("my_onLoad_nyxCode", _this.data.nyxCode)
log.info("my_onLoad_authStatus", _this.data.authStatus)
log.info("my_onLoad_userInfo", _this.data.userInfo)
log.info("my_onLoad_matchSeason", _this.data.matchSeason)
//载入页面 //载入页面
getCurrentPages()[getCurrentPages().length - 1].onLoad() getCurrentPages()[getCurrentPages().length - 1].onLoad()
...@@ -172,9 +165,6 @@ Page({ ...@@ -172,9 +165,6 @@ Page({
}, },
fail: function (res) { fail: function (res) {
config.debug == 1 ? console.log("获取用户信息失败", res) : "" config.debug == 1 ? console.log("获取用户信息失败", res) : ""
_this.setData({
bGetUserInfo: false,
})
} }
}) })
} }
...@@ -220,23 +210,4 @@ Page({ ...@@ -220,23 +210,4 @@ Page({
}) })
}, },
// 打开权限设置页提示框
showSettingToast: function (e) {
wx.showModal({
title: '酒肆提示',
confirmText: "授权后即可访问'我的'功能哦",
showCancel: false,
content: e,
success: function (res) {
if (res.confirm) {
wx.navigateTo({
url: './setting/setting',
})
}
}
})
},
}) })
\ No newline at end of file
<view class="page"> <view class="page">
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<view class="weui-cells weui-cells_after-title"> <view class="weui-cells weui-cells_after-title">
<view class="weui-cell weui-cell_access"> <view class="weui-cell weui-cell_access">
<view class="userInfo"> <view class="userInfo">
<block wx:if="{{authStatus=='1'}}" > <block wx:if="{{authStatus=='01'}}" >
<!-- 已登录 --> <!-- 已登录 -->
<view class="userInfo" bindtap="onToUser"> <view class="userInfo" bindtap="onToUser">
<image class="avatar" src="{{userInfo.avatarUrl}}"></image> <image class="avatar" src="{{userInfo.avatarUrl}}"></image>
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
<view class="weui-cell__ft weui-cell__ft_in-access"></view> <view class="weui-cell__ft weui-cell__ft_in-access"></view>
</navigator> </navigator>
<!-- 只针对member商家开放 --> <!-- 只针对member商家开放 -->
<block wx:if="{{memberId!=''}}"> <block wx:if="{{members.length> 0}}">
<navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active" url="/pages/my/my-members/my-members"> <navigator class="weui-cell weui-cell_access" hover-class="weui-cell_active" url="/pages/my/my-members/my-members">
<view class="weui-cell__hd"> <view class="weui-cell__hd">
<image src="/icon/my/tools.png" /> <image src="/icon/my/tools.png" />
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论