Commit e00fb766 by jscat

nyx weapp: 功能更新

1. 小程序的生产,测试,本地改为env模式 config.js
2. 服务端的目录结构不放在客户端
3. 如果quantity==0, 选中之后则增加为1
4. 通过全局变量来同步本地变量local variable
5. 完成消息提示框
parent 6ec70506
//app.js
//app.js
......@@ -86,7 +86,7 @@ App({
let _this = this
var strUrl = ""
var strMsg = encodeURI(encodeURI(msg));
if(config.local == 1)
if(config.env == 0)
{
strUrl = config.socket_url + "?sid=" + sid + "&uid=" + uid + "&msg=" + strMsg
}
......
//config.js API全局域名配置
//config.js API全局域名配置
//config.js API全局域名配置
var prod = 0; //阿里云服务器生产版本
var local = 1; //本地java测试,需要启动java 后台
var test = 0; //阿里云服务器测试版本
// env = 0; //本地java测试,需要启动java后台
// env = 1; //阿里云服务器测试版本
// env = 2; //阿里云服务器生产版本
var env = 0;
var debug = 0; //是否打印调试信息
var host_key = "https://fun.hisuhong.com";
var login_url = "https://fun.hisuhong.com";
var socket_url = ""
if(prod == 1)
if(env == 2)
{
host_key = "https://fun.hisuhong.com";
login_url = "https://fun.hisuhong.com";
socket_url = "wss://wssfun.hisuhong.com"
}
else if(test == 1)
else if(env == 1)
{
debug = 1
host_key = "https://wx.hisuhong.com";
login_url = "https://wx.hisuhong.com";
socket_url = "wss://wsswx.hisuhong.com"
}else if(local == 1)
}else if(env == 0)
{
debug = 1
host_key = "http://localhost:8085";
......@@ -29,7 +31,7 @@ else if(test == 1)
}
var config={
local,
env,
debug,
host_key,
rand_url : host_key + "/api/nyx/quiz/query/rand",
......@@ -57,7 +59,7 @@ var config={
product_query_url: host_key + "/api/nyx/product/query",
member_query_url: host_key + "/api/nyx/member/query",
socket_url: socket_url,
oss_token_url: host_key + "/api/nyx/oss/getToken",
oss_token_url: login_url + "/api/nyx/oss/getToken",
oss_callback_url: login_url + "/api/nyx/oss/callback",
oss_member_callback_url: login_url + "/api/nyx/oss/member/callback",
oss_activity_callback_url: login_url + "/api/nyx/oss/activity/callback",
......@@ -68,7 +70,5 @@ var config={
collect_like_del_url: host_key + "/api/nyx/collect/like/del",
check_text_url: host_key + "/api/nyx/wx/check/text",
check_pic_url: host_key + "/api/nyx/wx/check/pic",
logo_dir: "logo-dir/",
user_dir: "user-dir/",
}
module.exports=config;
\ No newline at end of file
// pages/activity/activity.js
// pages/activity/activity.js
......@@ -146,13 +146,6 @@ Page({
}
// step3 确定member信息, 写入 data.members
// var members = wx.getStorageSync('members') || []
// wx.setStorageSync('members', members)
// if(members.length > 0)
// {
// _this.setData({ members })
// app.globalData.members = members
// }
_this.getMemberInfo(0, 1, 20)
var device = wx.getSystemInfoSync()
......@@ -555,7 +548,7 @@ Page({
wx.showToast({
title: title,
duration: 3000
})
})
}
},
......
<wxs module="tutil" src="./../../utils/date.wxs"></wxs>
<wxs module="tutil" src="./../../utils/date.wxs"></wxs>
......@@ -31,12 +31,12 @@
<view class="workbench">
<view class="list">
<!-- jscat todo 0828 以用户为主, 扫一扫暂时也不实现 -->
<!-- <view class="items">
<view class="items">
<view bindtap="getQRCode">
<image src="../../icon/activity/scan.png"></image>
</view>
<text>扫一扫</text>
</view> -->
</view>
<!-- todo 0820 以活动为主, 积分暂时也不实现 -->
<!-- <view class="items">
<navigator url="/pages/my/my-points/my-points">
......
// pages/my/my-orders/my-orders.js
// pages/my/my-orders/my-orders.js
......@@ -268,9 +268,10 @@ Page({
},
// 单个商品 选择按钮
// 改变多选框状态 orderItems[i]['defaultStatus']: true || false
// 同步更新selected_all
// 同步改变totalPrice
// rt1: 改变多选框状态 orderItems[i]['defaultStatus']: true || false
// rt2: 同步更新selected_all
// rt3: 同步改变totalPrice
// rt4: jscat 20200913, 如果quantity==0, 选中之后则增加为1,选中状态设置为1
radioTap: function(e){
var _this = this
......@@ -285,7 +286,15 @@ Page({
orderItems[dataId].defaultStatus = orderItems[dataId].defaultStatus==1 ? 0 :
(orderItems[dataId]['quantity']>0 ? 1 : 0)
//确定selected_all的值
//rt4: 如果quantity==0, 选中之后则增加为1
//点击即反馈 原则
if(orderItems[dataId]['quantity'] == 0)
{
orderItems[dataId]['quantity'] = 1
orderItems[dataId].defaultStatus = 1
}
//确定selected_all, totalPrice, totalCount的值
selected_all = orderItems[dataId].defaultStatus
for(var i=0; i<orderItems.length; i++)
{
......
<view class="page">
<view class="page">
......@@ -23,7 +23,7 @@
<checkbox class="wx-checkbox-input wx-checkbox-input-checked" value="{{index}}" id="{{index}}" data-id="{{index}}" checked="{{sub_item.defaultStatus>0?true:false}}" bindtap="radioTap" />
<image class="writer-image" src="{{orderInfo.product_image}}"/>
<view class="note-column">
<span>{{sub_item.product_desc}}</span>
<span>{{sub_item.productDesc}}</span>
<span>
<view class="price-row">
<view class="sub-price">¥{{sub_item.unitPrice}}</view>
......
// pages/member/activity-post/activity-edit/activity-edit.js
// pages/member/activity-post/activity-edit/activity-edit.js
......@@ -50,6 +50,7 @@ Page({
if(app.globalData.postData.startDatetime != "")
{
// 2020-09-07 19:41:00
// 保证了startDatetime始终是格式化值
startDate = app.globalData.postData.startDatetime.substr(0, 10)
startTime = app.globalData.postData.startDatetime.substr(11, 5)
endDate = app.globalData.postData.endDatetime.substr(0, 10)
......
// pages/member/activity-post/activity-post.js
// pages/member/activity-post/activity-post.js
......@@ -27,17 +27,6 @@ app.globalData.postData
const base64 = require('./../../../utils/base64.js');//Base64,hmac,sha1,crypto相关算法
Page({
onLoad: function () {
var that = this;
wx.getSystemInfo({
success: function (res) {
var a = res.windowHeight;
that.setData({
scrollTop: a-200
})
}
})
},
data: {
photoArray: [],
sourceTypeIndex: 2,
......@@ -51,8 +40,30 @@ Page({
//定义图片尺寸
imageSize: '',
//下一次被选中的记号
nextSign: 0,
},
onLoad: function () {
var _this = this;
wx.getSystemInfo({
success: function (res) {
var a = res.windowHeight;
_this.setData({
scrollTop: a-200
})
}
})
// 通过全局变量来同步本地变量local variable
// 否则本地变量会有脏数据
var photoArray = app.globalData.postData.photoArray
_this.setData({ photoArray })
},
sourceTypeChange(e) {
this.setData({
sourceTypeIndex: e.detail.value
......@@ -75,6 +86,22 @@ Page({
},
// Page Flow
onNavigateToEdit() {
var _this = this;
var photoArray = _this.data.photoArray
var nextSign = 1
_this.setData({ nextSign })
if(photoArray.length == 0) // 添加照片
{
_this.addPhoto()
}
else
{
_this.navigateToEdit()
}
},
navigateToEdit() {
var _this = this;
var newFilePaths = _this.data.photoArray
......@@ -88,6 +115,8 @@ Page({
// app.globalData.postData.photoArray = newFilePaths
// wx.navigateTo({ url: './edit/edit' })
// });
//离开的时候再赋值全局变量
app.globalData.postData.photoArray = newFilePaths
wx.navigateTo({ url: './activity-edit/activity-edit' })
......@@ -107,7 +136,7 @@ Page({
2) 自动裁剪成4:3 或 1:1
*/
addPhoto: function (res) {
promise_addPhoto: function (resolve, reject) {
var _this = this;
_this.setData({
photoArray: []
......@@ -120,9 +149,41 @@ Page({
var canvasId = "photoCanvasId";
console.log("===addPhoto_上传图片参数", res)
_this.onEditPic(res, canvasId)
resolve("===addPhoto success")
},
fail: function(err)
{
console.log("===addPhoto failed", err.errMsg)
reject("===addPhoto failed")
}
})
},
//添加图片
addPhoto: function () {
var _this = this;
_this.setData({
photoArray: []
})
console.log("===this is addPhoto");
wx.chooseImage({
sizeType: ['original, compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var canvasId = "photoCanvasId";
console.log("===addPhoto_上传图片参数", res)
_this.onEditPic(res, canvasId)
},
fail: function(err)
{
console.log("===addPhoto failed", err.errMsg)
},
complete: function(e)
{
}
})
},
previewImage(e) {
const current = e.target.dataset.src
wx.previewImage({
......@@ -199,6 +260,15 @@ Page({
}
})
}
else //图片处理完毕
{
var nextSign = _this.data.nextSign
var photoArray = _this.data.photoArray
if(nextSign == 1)
{
_this.navigateToEdit()
}
}
},
// 通过size或其他方式判断是否进行图片处理(裁切,填满,留白,充满)
......@@ -213,4 +283,4 @@ Page({
_this.editPic(tempFilePaths, index, canvasId)
}
})
})
\ No newline at end of file
<!-- /pages/member/activity-post/activity-post.wxml -->
<!-- /pages/member/activity-post/activity-post.wxml -->
<!-- /pages/member/activity-post/activity-post.wxml -->
<view class="page" style="height:100%;width:100%">
<block>
<button type="default" bindtap="navigateToEdit">下一步</button>
<button type="default" bindtap="onNavigateToEdit">下一步</button>
</block>
<form>
......
// pages/member/activity-post/activity-submit/activity-submit.js
// pages/member/activity-post/activity-submit/activity-submit.js
......@@ -43,6 +43,9 @@ Page({
// securityToken: "",
oss :{},
// 消息提示框的遮罩层
showToast: false,
},
onLoad: function () {
......@@ -86,10 +89,10 @@ Page({
onReady: function (e) {
var _this = this;
//进入页面就自动获取oss参数
_this.oss(config.user_dir);
_this.oss('userToken');
if(_this.data.members.length == 0)
{
_this.oss(config.logo_dir);
_this.oss('logoToken');
}
},
......@@ -259,7 +262,7 @@ Page({
//pic是多图上传模式中的单张图片 index => 0 : length-1
console.log(pic)
//传给阿里云的参数
var dir = config.user_dir
var dir = 'userToken'
var policy = this.data.oss[dir].policy;
var accessid = this.data.oss[dir].accessid;
......@@ -315,7 +318,7 @@ Page({
babyData['callback'] = base64_callback_body
}
return new Promise(function (resolve, reject) {
var host = _this.data.oss[config.user_dir].host;
var host = _this.data.oss['userToken'].host;
wx.uploadFile({
url: host,
formData: babyData,
......@@ -355,17 +358,19 @@ Page({
var endDatetime = app.globalData.postData.endDatetime
//时间戳
var expire = this.data.oss[config.user_dir].expire;
var expire = this.data.oss['userToken'].expire;
//获取当前时间戳
var expireNow = Date.parse(new Date()) / 1000;
//如果当前时间大于获取的时间 则重新获取oss;
if (expire == undefined || expireNow > expire) {
//重新获取oss, 成功之后执行uploadAli()
let promise_oss = _this.oss(config.user_dir, resolve);
let promise_oss = new Promise(function (resolve) {
_this.oss_promise('userToken', resolve)
})
promise_oss.then(
function (value) {
console.log("===enter promise_oss user_dir then_pass")
console.log("===enter promise_oss user_token then_pass")
_this.uploadAli(tag, title, content, photoArr, product, startDatetime, endDatetime)
});
......@@ -377,22 +382,44 @@ Page({
},
switchTab() {
var _this = this;
//跳转到/activity.wxml页面
app.globalData.switchId = 1
// 处理数据
app.globalData.postData = {}
wx.switchTab({
url: '/pages/activity/activity',
success: function (e) {
var page = getCurrentPages().pop();
if (page == undefined || page == null) return;
// 更新首页的数据
console.log("===switchTab page", page)
page.onUpdateData();
}
});
// jscat 20200913 消息提示框
/*
需求:
1, 消息提示
2, 延迟3000ms
3, 遮罩层
*/
var showToast = true
_this.setData({ showToast })
wx.showToast({
icon: 'none',
title: '发布成功',
duration: 3000,
success: function(){
setTimeout(function(){
wx.switchTab({
url: '/pages/activity/activity',
success: function (e) {
var page = getCurrentPages().pop();
if (page == undefined || page == null) return;
// 更新首页的数据
console.log("===switchTab page", page)
page.onUpdateData();
}
});
}, 3000)
}
})
},
......@@ -448,6 +475,8 @@ Page({
var _this = this;
//
app.globalData.postData.photoContent = e.detail.value
var content = e.detail.value
_this.setData({ content })
},
// 添加口号
bindSlogan(e) {
......@@ -554,13 +583,15 @@ Page({
//获取照片数组
var logoArray = _this.__data__.logoArray
//时间戳
var expire = this.data.oss[config.logo_dir].expire;
var expire = this.data.oss['logoToken'].expire;
//获取当前时间戳
var expireNow = Date.parse(new Date()) / 1000;
//如果当前时间大于获取的时间 则重新获取oss;
if (expire == undefined || expireNow > expire) {
//重新获取oss, 成功之后执行uploadMember()
let promise_oss = _this.oss(config.logo_dir, resolve);
let promise_oss = new Promise(function (resolve) {
_this.oss_promise('userToken', resolve)
})
promise_oss.then(
function (value) {
......@@ -580,7 +611,7 @@ Page({
var pic = logoArray[0]
console.log(pic)
//传给阿里云的参数
var dir = config.logo_dir
var dir = 'logoToken'
var policy = this.data.oss[dir].policy;
var accessid = this.data.oss[dir].accessid;
......
<view class="page-body">
<view class="page-body">
<view class="page-body">
<!-- 定义遮罩层 -->
<view class="mask" wx:if="{{showToast}}"></view>
<!-- <form > -->
<view class="btn-area">
<block wx:if="{{authStatus=='00'}}">
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">授权发布</button>
</block>
<block wx:else>
<button bindtap="onSubmit">活动发布</button>
</block>
</view>
<view class="btn-area">
<block wx:if="{{authStatus=='00'}}">
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo">授权发布</button>
</block>
<block wx:else>
<button bindtap="onSubmit">活动发布</button>
</block>
</view>
<view class="weui-cells__title">#添加内容</view>
<view class="weui-cells weui-cells_after-title">
<view class="weui-cell">
<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}}"/>
<view class="weui-textarea-counter">{{content.length}}/300</view>
</view>
</view>
</view>
<view class="weui-cells__title">#添加内容</view>
<view class="weui-cells weui-cells_after-title">
<view class="weui-cell">
<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}}"/>
<view class="weui-textarea-counter">{{content.length}}/300</view>
</view>
</view>
</view>
<!-- </form> -->
<view class="weui-cells">
......
page{
page{
......@@ -20,5 +20,17 @@ page{
width: 196rpx;
height: 196rpx;
}
/* 消息提示框的遮罩层 */
.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
// pages/my/my-orders/my-orders.js
// pages/my/my-orders/my-orders.js
......@@ -203,7 +203,9 @@ Page({
// scrollType: 是否是翻页, 0-不翻页 | 1-翻页
getOrders: function (scrollType, pageNum, pageCount, orderStatus) {
var _this = this;
var query_url = '&orderStatus='+orderStatus
var userId = _this.data.nyxCode
var query_url = '&orderStatus='+orderStatus + '&userId='+userId
query_url = '&orderStatus='+orderStatus
var strUrl = config.order_detail_query_url + "?pageCount=" + pageCount
+ "&pageNum=" + pageNum + query_url
config.debug == 1 ? console.log("===strUrl is: \"" + strUrl + "\"") : ""
......@@ -264,7 +266,27 @@ Page({
var list = []
for(var key in orderInfo) {
var len = orderInfo[key]['order_item'].length
var row_height = 0
var content = ""
// Renaissance Bar威士忌四小杯特 的字符长度为29
for(var i=0; i<orderInfo[key]['order_item'].length;i++ )
{
content = orderInfo[key].title + "·" + orderInfo[key]['order_item'][i].product_desc
row_height += gblen(content) > 29 ? 76.8 * 2 : 60 * 2
}
// item_height : 130 + 20 + 120*2 + 30*3,
// basic + margin-bottom(coupon-list: 20rpx) + item(n) + margin(note-row: n+1)
//new:
//member_name: 60(height)+20(margin-top)
//item: 2* 76.8 * len //title=2行
//item: 2* 60 * len //title=1行
//margin: 30 * (len+2), 这次包括price的margin-bottom
//price: 2* 25.6
//margin-bottom: 20rpx (coupon-list)
var item_height = 130 + 20 + 120*len + 30*(len+1) // 控制item的高度
item_height = 2*30 + 20 + row_height + 30 * (len+2) + 25.6 + 20
orderInfo[key]['item_height'] = item_height
list.push(orderInfo[key])
}
......@@ -320,4 +342,17 @@ Page({
},
})
\ No newline at end of file
})
// 英文占1个字符,中文汉字占2个字符
function gblen(str) { // eslint-disable-line
let len = 0;
for (let i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 127 || str.charCodeAt(i) === 94) {
len += 2;
} else {
len++;
}
}
return len;
}
\ No newline at end of file
<view class="page">
<view class="page">
......@@ -3,7 +3,7 @@
<view class="weui-flex" style="height: 120rpx;">
<view class="weui-flex__item weui-flex justify align border" data-id="10::20" id="id-10::20" bindtap="tab">
<view class="placeholder">
<text class="text {{selectTab=='20'?'selected':''}}">可使用</text>
<text class="text {{orderStatus=='10::20'?'selected':''}}">可使用</text>
</view></view>
<!-- <view class="weui-flex__item weui-flex justify align border" data-id="10" id="id-10" bindtap="tab">
<view class="placeholder">
......@@ -11,7 +11,7 @@
</view></view> -->
<view class="weui-flex__item weui-flex justify align border" data-id="00::30" id="id-00::30" bindtap="tab">
<view class="placeholder">
<text class="text {{selectTab=='00::30'?'selected':''}}">不可用</text>
<text class="text {{orderStatus=='00::30'?'selected':''}}">不可用</text>
</view></view>
</view>
......
.page{
.page{
.page{
height: 100vh;
/* height: 100vh; */
background: #F2F2F2;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论