提交 ada861a0 编写于 作者: zhangzhiwei's avatar zhangzhiwei

杨昌富 定制小程序

上级 5b17e1ac
//app.js
App({
onLaunch: function () {
// 展示本地存储能力
// var logs = wx.getStorageSync('logs') || []
// logs.unshift(Date.now())
// wx.setStorageSync('logs', logs)
// 登录
// wx.login({
// success: res => {
// // 发送 res.code 到后台换取 openId, sessionKey, unionId
// }
// })
// 获取用户信息
// wx.getSetting({
// success: res => {
// if (res.authSetting['scope.userInfo']) {
// // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
// wx.getUserInfo({
// success: res => {
// // 可以将 res 发送给后台解码出 unionId
// this.globalData.userInfo = res.userInfo
// // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// // 所以此处加入 callback 以防止这种情况
// if (this.userInfoReadyCallback) {
// this.userInfoReadyCallback(res)
// }
// }
// })
// }
// }
// })
},
//测试:https://wxpreprod.edstao.com https://wxpreprod.edstao.com
//正式:https://wxapplets.edstao.com
globalData: {
userInfo: null,
defurl:'https://wxapplets.edstao.com',
userInfo:''
}
})
\ No newline at end of file
{
"pages": [
"pages/index",
"pages/pay/pay",
"pages/logs/logs",
"pages/login/login"
],
"__usePrivacyCheck__":true,
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "E淘商城",
"navigationBarTextStyle": "black"
},
"sitemapLocation": "sitemap.json"
}
\ No newline at end of file
/**app.wxss**/
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 200rpx 0;
box-sizing: border-box;
}
//index.js
//获取应用实例
const app = getApp();
Page({
data: {
url: '',
userInfo:'',
defurl: app.globalData.defurl
},
//测试:https://wxpreprod.edstao.com
//正式:https://wxapplets.edstao.com
onLoad: function (options) {
let weburl = decodeURIComponent(options.weburl);
var userInfo='';
wx.login({
success:res=>{
var code=res.code;
if (weburl != 'undefined') {
weburl = weburl.replace('&&', '?');
if(weburl.indexOf('#')>-1){
weburl = weburl.replace('#', 'SPECIAL');
}
userInfo = this.getQueryObject(weburl).name;
this.setData({ url: weburl + '&code=' + code, userInfo: this.getQueryObject(weburl).name });
} else {
var name = options.scene|| '';
userInfo = name;
this.setData({ url: this.data.defurl + '/weixin/QRCode?t='+new Date().getTime()+'&name='+ name + '&code=' + code, userInfo: name });
if (!name) {
this.getwxsession()
}
if(options.brandid){
let newUrl = '/brand/shop';
let path = encodeURIComponent(newUrl + '?brandid='+ options.brandid);
const weburl2 = encodeURIComponent(this.data.defurl + '/weixin/QRCode&&from=wx&url=' + path + '&name=' + name);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl2
})
}
}
if (userInfo){
app.globalData.userInfo = userInfo;
}
}
})
},
getwxsession(){
var that=this;
wx.login({
success: res => {
var code = res.code;
wx.request({
url: app.globalData.defurl + '/weixin/wxsession',
data: {
code: code
},
success: function (res) {
if (res.data.code==1){
app.globalData.userInfo = res.data.domainName;
that.setData({ url: that.data.defurl + '/weixin/QRCode?t='+new Date().getTime()+'&name='+ res.data.domainName + '&code=' + code, userInfo: res.data.domainName });
}
}
})
}
})
},
getQueryObject:function (url) {
url = url == null ? window.location.href : url;
var search = url.substring(url.lastIndexOf("?") + 1);
var obj = {};
var reg = /([^?&=]+)=([^?&=]*)/g;
search.replace(reg, function (rs, $1, $2) {
var name = decodeURIComponent($1);
var val = decodeURIComponent($2);
val = String(val);
obj[name] = val;
return rs;
});
return obj;
},
bindGetMsg: function (e) {
var res = e.detail.data;
if (res.length != 0){
var arr = res.pop();
this.setData({
imgUrl: arr.imgUrl,
proName: arr.proName
})
}
},
onShareAppMessage: function (options) {
let that = this;
let data = that.data;
let newUrl = options.webViewUrl.replace(data.defurl, '');
let title = data.proName ? data.proName : 'E淘商城';
let time =new Date().getTime()
let imageUrl = data.imgUrl ? data.imgUrl : 'http://app.edsmall.com/ETaoShopMiniApp/images/share.jpg?t='+time
const weburl = encodeURIComponent(data.defurl + '/weixin/QRCode&&from=wx&url=' + newUrl + '&name=' + data.userInfo);
return {
title: title,
desc: '',
path: '/pages/index?weburl=' + weburl,
imageUrl: imageUrl
}
}
})
{}
\ No newline at end of file
<!-- <view>{{url}}</view> -->
<web-view src="{{url}}" bindmessage="bindGetMsg"></web-view>
<!-- <web-view src="https://wxpreprod.edstao.com/weixin/QRCode?name=huang1" bindmessage="bindGetMsg"></web-view> -->
<!-- <web-view src="http://192.168.0.48:8080/mall.html?mallId=48a27981-3cf5-4d44-8b24-b98a431c50d6" bindmessage="bindGetMsg"></web-view> -->
\ No newline at end of file
.btn{
width:90vw;margin:2vh auto;color: #fff;
}
.btn1{background: #43c9d6}
.btn2{background: #1aad19}
.btn3{background: red}
.btn4{background: #b843d6}
.btn5{background: #de1569}
.btn6{background:#de7a15 }
\ No newline at end of file
const app=getApp();
Page({
data: {
showPrivacy: false,
defurl:app.globalData.defurl,
userInfo:'',
paramsUrl:'',
openId:''
},
onLoad: function (options) {
try{
wx.getPrivacySetting({
success: res => {
if (res.needAuthorization) {
// 需要弹出隐私协议
this.setData({
showPrivacy: true
})
}
},
fail: () => {
},
complete: () => {
}
})
}catch (e) {
this.setData({
showPrivacy: false
})
}
var name = options.name || app.globalData.userInfo;
var paramsUrl= options.url || '';
this.setData({
name: name,
paramsUrl: paramsUrl
})
this.getOpenId();
},
getOpenId(){
wx.showLoading({
title: '加载中...',
mask: true
})
var that=this;
wx.login({
success(res){
var code=res.code;
wx.request({
url: app.globalData.defurl + '/WeiXin/GetOpenId',
data: {
Code: code,
},
success: function (res) {
if(res.data.code==1){
that.setData({
openId:res.data.data
})
}
},
complete(){
wx.hideLoading();
}
})
},fail(){
}
})
},
onReady: function () {
},
onShow: function () {
},
onHide: function () {
},
onUnload: function () {
},
onPullDownRefresh: function () {
},
onReachBottom: function () {
},
getPhoneNumber: function (e) {
const that = this;
if (!e.detail.iv && !e.detail.encryptedData){
return false;
}
if (!that.data.openId){
this.wxFastLoginFail();
return false;
}
wx.showLoading({
title: '登陆中...',
mask:true
})
var openId=that.data.openId;
wx.request({
url: app.globalData.defurl + '/weixin/getphone',
method: 'post',
data: {
OpenId: openId,
encryptedData: e.detail.encryptedData,
iv: e.detail.iv
},
success: function (res) {
if (res.data.code == 1) {
that.wxFastLogin(res.data.data)
} else {
that.wxFastLoginFail();
}
},
fail() {
that.wxFastLoginFail();
}
})
} ,
wxFastLogin(res){
var that=this;
var phone = res.Phone;
var openId = res.OpenId;
wx.request({
url: app.globalData.defurl + '/WeiXin/WxRegister',
method: 'post',
data: {
phone,
openId,
},
success: function (res) {
if(res.data.code==1){
wx.hideLoading();
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&from=wx&url=/WeiXin/WxLogin?token=' + res.data.data+'&url=' + that.data.paramsUrl + '&name=' + that.data.name);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
}else{
that.wxFastLoginFail();
}
},
fail(){
that.wxFastLoginFail();
}
})
},
wxFastLoginFail(){
wx.hideLoading();
wx.showToast({
title: '登陆失败',
icon: 'none',
duration: 2000
})
},
phoneLogin(){
const that=this;
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&from=wx&url=/user/login?showpage=show&url=' + that.data.paramsUrl + '&name=' + that.data.name);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
},
toIndex(){
const that = this;
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&from=wx&url=/?&url=' + that.data.paramsUrl + '&name=' + that.data.name);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
},
// 打开隐私协议页面
openPrivacyContract() {
wx.openPrivacyContract({
fail: () => {
wx.showToast({
title: '遇到错误',
icon: 'error'
})
}
})
},
// 拒绝隐私协议
exitMiniProgram() {
// 直接退出小程序
wx.exitMiniProgram();
},
handleAgreePrivacyAuthorization() {
// 用户点击同意按钮后
this.setData({
showPrivacy: false
})
// 用户点击同意后,开发者调用 resolve({ buttonId: 'agree-btn', event: 'agree' }) 告知平台用户已经同意,参数传同意按钮的id
// 用户点击拒绝后,开发者调用 resolve({ event:'disagree' }) 告知平台用户已经拒绝
}
// onShareAppMessage: function () {
// }
})
\ No newline at end of file
{
"window":{
"navigationStyle":"custom"
}
}
\ No newline at end of file
<view wx:if="{{showPrivacy}}">
<view class="succpop">
<view class="pop_title">温馨提示</view>
<view class="pop_content">
<view class="desc">
在使用当前小程序服务之前,请仔细阅读<text bindtap="openPrivacyContract" style="color:#1a73e8">《用户隐私保护指引》</text>。如你同意使用本应用,请点击“同意”开始使用。
</view>
</view>
<button style="background:#fe521f;width: 502rpx;" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization"> <text style="color:#ffffff">同意</text></button>
<button style="background:#e6e6e6;width: 502rpx;margin-top: 10px;" bindtap="exitMiniProgram"> <text style="color:#000000">拒绝</text></button>
</view>
</view>
<view wx:if='{{openId&&!showPrivacy}}'>
<view class='ETaoLogoBox'>
<image class='ETaoLogo' mode='widthFix' src='/asstes/img/ETaoLogo.png'></image>
<view class='ETaoName'>E淘商城</view>
</view>
<view class='btn-box'>
<button style="background:#00b26a;width: 546rpx;height:100rpx;line-height:100rpx" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> <text style="color:#ffffff">一键登录</text></button>
<button class='btn phoneBtn' hover-class="none" bindtap='phoneLogin'>
<image class='wxLogo' mode='widthFix' src='/asstes/img/phoneLogin.png'></image>
</button>
<view class='backIndexBox'>
<text class='backIndex' bindtap='toIndex'>返回首页</text>
</view>
</view>
<!--
<view class='btn-box'>
<button class='btn' open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
<image class='wxLogo' mode='widthFix' src='/asstes/img/wxLogo.png'></image>
<text class='fastLogin'>微信快速登录</text>
</button>
<button class='btn phoneBtn' bindtap='phoneLogin'>
<image class='wxLogo' mode='widthFix' src='/asstes/img/phoneIcon.png'></image>
<text class='fastLogin phoneLogin'>手机号登录</text>
</button>
<view class='backIndexBox'>
<text class='backIndex' bindtap='toIndex'>返回首页</text>
</view>
</view>
-->
</view>
\ No newline at end of file
button{
padding-right:0;
padding-left:0;
background-color:#fff;
}
button::after{
border:none;
}
.ETaoLogoBox{
text-align: center;
margin: 160rpx 0;
min-height: 210rpx;
}
.ETaoLogo{
width: 160rpx;
height: 0;
}
.ETaoName{
font-size: 30rpx;
}
.wxLogo{
width: 550rpx;
vertical-align: middle;
/* margin-right: 20rpx; */
height: 0;
}
.btn{
width: 580rpx;
/* height: 90rpx; */
line-height: 90rpx;
/* background: rgba(26, 173, 25, 1); */
border-radius:6rpx;
font-size: 0;
}
.fastLogin{
color: #fff;
font-size: 32rpx;
vertical-align: middle;
}
.phoneBtn{
margin-top: 34rpx;
/* background: #f2f2f2; */
}
.phoneLogin{
color: #333333;
}
.backIndexBox{
text-align: center;
margin-top: 200rpx;
}
.backIndex{
font-size: 30rpx;
color: rgba(26, 173, 25, 1);
border-bottom: 1px solid rgba(26, 173, 25, 1);
}
.succpop{
text-align: center;
margin-top: 200rpx;
}
.desc{
width:500rpx;
text-align: left;
margin:20rpx auto;
}
//logs.js
const util = require('../../utils/util.js')
Page({
data: {
logs: []
},
onLoad: function () {
this.setData({
logs: (wx.getStorageSync('logs') || []).map(log => {
return util.formatTime(new Date(log))
})
})
}
})
{
"navigationBarTitleText": "查看启动日志"
}
\ No newline at end of file
<!--logs.wxml-->
<view class="container log-list">
<block wx:for="{{logs}}" wx:for-item="log">
<text class="log-item">{{index + 1}}. {{log}}</text>
</block>
</view>
.log-list {
display: flex;
flex-direction: column;
padding: 40rpx;
}
.log-item {
margin: 10rpx;
}
//index.js
//获取应用实例
const app = getApp();
Page({
data: {
userInfo:'',
OrderMain:{},
OrderDetail:[],
defurl: app.globalData.defurl
},
onLoad: function (options) {
var that = this;
if(options.orderid){
that.setData({ userInfo: options.wxapplets?options.wxapplets:''})
that.getOrder(options.orderid)
}else{
wx.redirectTo({
url:'/pages/index'
})
}
},
getOrder:function(orderId){
var that = this;
wx.request({
url: that.data.defurl + '/pay/postdetail',
data:{orderid:orderId},
header: {
'content-type': 'application/json' // 默认值
},
success: function (res) {
//生成页面数据
that.setData({ OrderMain: res.data.OrderMain, OrderDetail: res.data.OrderDetail})
}
})
},
payMoney: function () {
const that = this;
wx.login({
success: function (res) {
wx.request({
url: that.data.defurl + '/weixin/openid',
data: {
code:res.code
},
method: 'GET',
header: { 'content-type': 'application/json' },
success: function (res) {
that.getPay(res.data.openid, that.data.OrderMain.orderId)
}
})
}
})
},
getPay: function (openid, orderid ) {
wx.showLoading({
title: '加载中...',
mask:true
})
let that = this;
wx.request({
url: this.data.defurl+'/pay/WxMiniProgramPayParam',
method:'POST',
data:{
orderId: orderid,
openId: openid
},
success(res){
wx.hideLoading();
if(res.data.code==1){
var data=res.data;
wx.requestPayment({
timeStamp: data.timeStamp,
nonceStr: data.nonceStr,
package: data.package,
signType: data.signType,
paySign: data.paySign,
success(res) {
let newUrl = '/order/list';
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&from=wx&url=' + newUrl + '&name=' + that.data.userInfo);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
},
fail(res) {
wx.showToast({
title: '支付失败',
icon:"none",
duration:3000
})
}
})
}else{
wx.showToast({
title: '支付失败',
icon: "none",
duration: 3000
})
}
}
})
},
cancel:function(){
let that = this;
let newUrl = '/order/list?l=全部';
newUrl = encodeURIComponent(newUrl);
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&name=' + that.data.userInfo + '&from=wx&url=' + newUrl);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
}
})
{
"navigationBarTitleText": "E淘商城-支付"
}
\ No newline at end of file
<!-- 地址 -->
<view class='addr'>
<view>收货人:{{OrderMain.receiver}}</view>
<view>联系电话:{{OrderMain.phone}}</view>
<view>收货地址:{{OrderMain.address}}</view>
</view>
<!-- 订单详情 -->
<!-- <view class='list-main'>
<view wx:for="{{item}}" wx:key="{{index}}" class='list'>
{{item.key}}: {{item.val}}
</view>
</view> -->
<!-- 商品内容 -->
<!-- <scroll-view scroll-y="true" class='scroll-main'> -->
<view class='pro' wx:for="{{OrderDetail}}" wx:key="index">
<view class='pro-pic'>
<image src='http://oss.av-gd.com/{{item.ProductImgPath}}@200w_200h.png.webp'></image>
</view>
<view class='pro-tit'>
<view class='tit'>{{item.BrandName}}{{item.ProductStyle}}{{item.ProductName}}</view>
<view class='num'>×{{item.ProductQty}}</view>
<view>{{item.ProductNum}}</view>
<view class='mon'>¥{{item.MallSalePrice}}</view>
</view>
</view>
<!-- </scroll-view> -->
<!-- 总额 -->
<view class='payfor'>
<text>应付:¥{{OrderMain.totalFee}}</text>
<button type="default" bindtap="cancel">取消</button>
<button type="primary" bindtap="payMoney">付款</button>
</view>
\ No newline at end of file
page{
font-size: 3.8vw;
background-color: #f4f4f4;
margin-bottom:55px;
/* overflow: hidden */
}
button::after{border:none;}
.addr{
width: 100%;
height:auto;
padding:3vw 0;
margin-bottom:4vw;
background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhFMEU4ODNENTFENTExRTg4N0M2RDdBMTMwMzkzQUMzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhFMEU4ODNFNTFENTExRTg4N0M2RDdBMTMwMzkzQUMzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEUwRTg4M0I1MUQ1MTFFODg3QzZEN0ExMzAzOTNBQzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEUwRTg4M0M1MUQ1MTFFODg3QzZEN0ExMzAzOTNBQzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCAAEAUADAREAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAwgBAQEBAQAAAAAAAAAAAAAAAAIDBQgQAAIBBQEAAAAAAAAAAAAAAAACMQFBgTKCQhEBAQEBAAAAAAAAAAAAAAAAAAGBkf/aAAwDAQACEQMRAD8AoBsnOU1swbTUU04JsimnBtkU0oFsjmqQTXkU04KuR9ODbIocE2RTSgmm44pBNkUODbIoUC2RxSCebihwbdChQLR6HFINo9ChwTR6HDgmmuwoUE/QocE0V2HFIJuhQ4NuhQoFuhw4NuhQ4Fp9DikG3QoUE3QocE0V2HFIJuhQoJ+xRSDe244UE99xQ4JprsKHBNHscOYJuxQ5gm7HDmCe+4ocwVexHME0+xw5j//Z) no-repeat center top;
background-size: 100%;
}
.addr view{padding:0 3vw;}
.list-main{padding:0 3vw;margin-bottom: 3vw;margin-top:3vw;background:#fff;}
.list{
border-bottom: .1vw solid #d9d9d9;
padding:3vw 0;
}
.list:last-child{border-bottom: none}
/* .scroll-main{overflow-y: scroll} */
.pro{display:flex;width: 96vw;padding:2vw;background: #fff;margin-bottom: 2vw}
.pro-pic{width:26vw;height:26vw;padding:2vw;}
.pro-pic image{width: 100%;height: 100%}
.pro-tit{width:64vw;height:24vw;display:flex;align-items: center;flex-wrap: wrap;padding-top:3vw;}
.pro-tit view{flex-grow: 1;width:64vw;}
.pro-tit .tit{width:54vw;flex-grow: 2;}
.pro-tit .num{width:10vw;flex-grow: 2;}
.pro-tit .mon{margin-top:4vw;}
/* display:flex;align-items: center;justify-content: center */
.payfor{position: fixed;bottom:0;left:0;display:flex;width:100%;background: #fff;}
.payfor text{display:flex;align-items: center;width:60%;float:left;padding:0 5%;}
.payfor button{width:30%;float:right;border-radius: 0;border:0;}
{
"description": "项目配置文件。",
"setting": {
"urlCheck": true,
"es6": true,
"enhance": false,
"postcss": true,
"preloadBackgroundData": false,
"minified": true,
"newFeature": true,
"coverView": true,
"nodeModules": false,
"autoAudits": false,
"showShadowRootInWxmlPanel": true,
"scopeDataCheck": false,
"uglifyFileName": false,
"checkInvalidKey": true,
"checkSiteMap": true,
"uploadWithSourceMap": true,
"compileHotReLoad": false,
"lazyloadPlaceholderEnable": false,
"useMultiFrameRuntime": true,
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
},
"useIsolateContext": false,
"userConfirmedBundleSwitch": false,
"packNpmManually": false,
"packNpmRelationList": [],
"minifyWXSS": true,
"disableUseStrict": false,
"minifyWXML": true,
"showES6CompileOption": false,
"useCompilerPlugins": false,
"ignoreUploadUnusedFiles": true
},
"compileType": "miniprogram",
"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": {
"miniprogram": {
"list": [
{
"name": "带参数",
"pathName": "pages/index",
"query": "scene=alisa6",
"scene": null
},
{
"name": "带orderid",
"pathName": "pages/pay/pay",
"query": "orderid=46e12fb8-be74-4139-bc92-e0d3b03de4f3&wxapplets=zhengwangeng"
},
{
"name": "huang1",
"pathName": "pages/index",
"query": "scene=huang1"
},
{
"name": "zhongshan1",
"pathName": "pages/index",
"query": "scene=zhongshan1"
},
{
"name": "kii12",
"pathName": "pages/index",
"query": "scene=kii12"
},
{
"name": "szds888",
"pathName": "pages/index",
"query": "scene=szds888"
},
{
"name": "sg02",
"pathName": "pages/index",
"query": "scene=sg02"
},
{
"name": "rt",
"pathName": "pages/index",
"query": "scene=rt"
},
{
"name": "ax",
"pathName": "pages/index",
"query": "scene=ax"
},
{
"name": "test6",
"pathName": "pages/index",
"query": "scene=test6"
},
{
"name": "qy01",
"pathName": "pages/index",
"query": "scene=qy01",
"scene": null
},
{
"name": "brandid",
"pathName": "pages/index",
"query": "brandid=20160811170347962160A14E1-AEAF-424B-A5AB-6DFB82D5C3C4&scene=alisa6",
"scene": null
},
{
"name": "pages/login/login",
"pathName": "pages/login/login",
"query": "brandid=20160811170347962160A14E1-AEAF-424B-A5AB-6DFB82D5C3C4&scene=alisa6",
"scene": 1037,
"referrerInfo": {
"appId": "wx9cd53b76365876f5",
"extraData": "{}"
}
}
]
}
},
"editorSetting": {
"tabIndent": "insertSpaces",
"tabSize": 2
},
"libVersion": "2.14.0",
"packOptions": {
"ignore": [],
"include": []
},
"appid": "wxdb3d8f9a94eca8d9"
}
\ No newline at end of file
{
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"setting": {
"urlCheck": false,
"compileHotReLoad": true
},
"projectname": "etaoshop-dz"
}
\ No newline at end of file
{
"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
"rules": [{
"action": "allow",
"page": "*"
}]
}
\ No newline at end of file
此差异已折叠。
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : '0' + n
}
module.exports = {
formatTime: formatTime
}
cb1ab2ae911a9670625565da9793c158
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册