| @@ -338,7 +338,9 @@ var config = { | |||||
| // 获取所有直播间和商品信息 | // 获取所有直播间和商品信息 | ||||
| getReplayList: "/live/replayList", | getReplayList: "/live/replayList", | ||||
| // 获取直播房间回放数据和商品信息 | // 获取直播房间回放数据和商品信息 | ||||
| getRoomList: "/live/roomList" | |||||
| getRoomList: "/live/roomList", | |||||
| //商城地图 | |||||
| getStoreMap:"/wxMallBuilding/getbuildingfloorlist", | |||||
| }, | }, | ||||
| weapp: { | weapp: { | ||||
| AppId: weappId | AppId: weappId | ||||
| @@ -139,6 +139,7 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="con" wx:if="{{ifHaveCarModular == 0}}" > | <view class="con" wx:if="{{ifHaveCarModular == 0}}" > | ||||
| <image class="img" src="{{parkUrl}}" mode="widthFix"></image> | <image class="img" src="{{parkUrl}}" mode="widthFix"></image> | ||||
| <text class="txt1">智慧停车即将上线</text> | <text class="txt1">智慧停车即将上线</text> | ||||
| @@ -441,6 +441,7 @@ Page({ | |||||
| } | } | ||||
| }); | }); | ||||
| }, | }, | ||||
| saveImageToPhotos: function(tempFilePath) { | saveImageToPhotos: function(tempFilePath) { | ||||
| wx.saveImageToPhotosAlbum({ | wx.saveImageToPhotosAlbum({ | ||||
| filePath: tempFilePath, | filePath: tempFilePath, | ||||
| @@ -13,6 +13,7 @@ Page({ | |||||
| navigationBarHeight, | navigationBarHeight, | ||||
| chevronUrl: imgurl.chevron.url, | chevronUrl: imgurl.chevron.url, | ||||
| date: '1988-03-12', | date: '1988-03-12', | ||||
| dateEnd:'', | |||||
| flag: 1, | flag: 1, | ||||
| flagsex: 0, | flagsex: 0, | ||||
| items: [ | items: [ | ||||
| @@ -126,7 +127,7 @@ Page({ | |||||
| }) | }) | ||||
| .then(res => { | .then(res => { | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "修改成功", | |||||
| title: "信息提交成功,将在3分钟内生效", | |||||
| icon: 'none', | icon: 'none', | ||||
| duration: 2000, | duration: 2000, | ||||
| mask: false | mask: false | ||||
| @@ -192,21 +193,30 @@ Page({ | |||||
| * 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
| */ | */ | ||||
| onLoad: function (options) { | onLoad: function (options) { | ||||
| let tmpeDateEnd = util.formatTime(new Date(), "yyyy-MM-dd") | |||||
| let that = this; | let that = this; | ||||
| that.setData({ | |||||
| dateEnd: tmpeDateEnd | |||||
| }) | |||||
| Http.get({ | Http.get({ | ||||
| url: config.api.getScore, | url: config.api.getScore, | ||||
| data: {} | |||||
| data: {}, | |||||
| }) | }) | ||||
| .then(res => {res.data | .then(res => {res.data | ||||
| console.log(res); | console.log(res); | ||||
| if(res.code == 200){ | if(res.code == 200){ | ||||
| let tmpeArr = res.data.childrenList | |||||
| tmpeArr.map(item=>{ | |||||
| item.birthdate = util.fmtDate(parseInt(item.birthdate)) | |||||
| }) | |||||
| if (res.data.childrenList){ | |||||
| let tmpeArr = res.data.childrenList | |||||
| tmpeArr.map(item => { | |||||
| item.birthdate = util.fmtDate(parseInt(item.birthdate)) | |||||
| that.setData({ | |||||
| childArr: tmpeArr | |||||
| }) | |||||
| }) | |||||
| } | |||||
| that.setData({ | that.setData({ | ||||
| showPage:true, | showPage:true, | ||||
| childArr: tmpeArr | |||||
| }) | }) | ||||
| } | } | ||||
| var reg = RegExp(/address/); | var reg = RegExp(/address/); | ||||
| @@ -8,7 +8,7 @@ | |||||
| </view> | </view> | ||||
| <view class="section sec"> | <view class="section sec"> | ||||
| <text>生日</text> | <text>生日</text> | ||||
| <picker mode="date" value="{{date}}" start="1930-09-01" end="2017-09-01" bindchange="bindDateChange"> | |||||
| <picker mode="date" value="{{date}}" start="1930-09-01" end="{{dateEnd}}" bindchange="bindDateChange"> | |||||
| <input wx:if="{{flag==1}}" class='input' placeholder='请输入生日' disabled/> | <input wx:if="{{flag==1}}" class='input' placeholder='请输入生日' disabled/> | ||||
| <view wx:if="{{flag==2}}" class="picker"> {{date}}</view> | <view wx:if="{{flag==2}}" class="picker"> {{date}}</view> | ||||
| </picker> | </picker> | ||||
| @@ -40,7 +40,7 @@ | |||||
| <view class="contBox_section sec"> | <view class="contBox_section sec"> | ||||
| <text>生日</text> | <text>生日</text> | ||||
| <picker class="contBox_picker" mode="date" value="{{date}}" start="1930-09-01" end="2017-09-01" bindchange="chidBirthday" data-index="{{index}}"> | |||||
| <picker class="contBox_picker" mode="date" value="{{date}}" start="1930-09-01" end="{{dateEnd}}" bindchange="chidBirthday" data-index="{{index}}"> | |||||
| <input wx:if="{{!item.birthdate}}" class='contBox_picker' placeholder='请输入生日' disabled/> | <input wx:if="{{!item.birthdate}}" class='contBox_picker' placeholder='请输入生日' disabled/> | ||||
| <view wx:if="{{item.birthdate}}" class="contBox_picker"> {{item.birthdate}}</view> | <view wx:if="{{item.birthdate}}" class="contBox_picker"> {{item.birthdate}}</view> | ||||
| </picker> | </picker> | ||||
| @@ -10,11 +10,63 @@ Page({ | |||||
| */ | */ | ||||
| data: { | data: { | ||||
| navigationBarHeight, | navigationBarHeight, | ||||
| falgFloor:0,//楼座标识 | |||||
| tierFalg:0,//楼层标识 | |||||
| dataLsit:[],//楼层信息 | |||||
| tmpePicture:'',//零时存放 图片 | |||||
| }, | }, | ||||
| lookimg(){ | lookimg(){ | ||||
| wx.previewImage({ | wx.previewImage({ | ||||
| current: 'http://wayn.xin:9092/upload/2020/12/28/9aada16278ecbb200bb69de0e5ce25df.png', // 当前显示图片的http链接 | |||||
| urls: ['http://wayn.xin:9092/upload/2020/12/28/9aada16278ecbb200bb69de0e5ce25df.png'] // 需要预览的图片http链接列表 | |||||
| current: this.data.tmpePicture, // 当前显示图片的http链接 | |||||
| urls: [this.data.tmpePicture] // 需要预览的图片http链接列表 | |||||
| }) | |||||
| }, | |||||
| setFalgFloor(e){//设置选中楼层 | |||||
| let index = e.currentTarget.dataset.index | |||||
| this.setData({ | |||||
| falgFloor:index, | |||||
| tierFalg:0, | |||||
| }) | |||||
| let tmepimg = '' | |||||
| if (this.data.dataLsit[index].floors[0].floorMaps && this.data.dataLsit[index].floors[0].floorMaps.length != 0) { | |||||
| tmepimg = this.data.dataLsit[index].floors[0].floorMaps[0].url | |||||
| } else { | |||||
| tmepimg = '' | |||||
| } | |||||
| this.setData({ | |||||
| tmpePicture: tmepimg | |||||
| }) | |||||
| }, | |||||
| setTierFalg(e){//设置选中楼层 | |||||
| let index = e.currentTarget.dataset.index | |||||
| let tmepimg = '' | |||||
| if (this.data.dataLsit[this.data.falgFloor].floors[index].floorMaps && this.data.dataLsit[this.data.falgFloor].floors[index].floorMaps.length!=0){ | |||||
| tmepimg = this.data.dataLsit[this.data.falgFloor].floors[index].floorMaps[0].url | |||||
| }else{ | |||||
| tmepimg = '' | |||||
| } | |||||
| this.setData({ | |||||
| tierFalg: index, | |||||
| tmpePicture: tmepimg | |||||
| }) | |||||
| }, | |||||
| getStoreMap(){//获取楼层信息 | |||||
| Http.get({ | |||||
| url: config.api.getStoreMap | |||||
| }).then(res=>{ | |||||
| //初始化地图 | |||||
| let tmepimg = '' | |||||
| if (res.data[0].floors[0].floorMaps && res.data[0].floors[0].floorMaps.length != 0) { | |||||
| tmepimg = res.data[0].floors[0].floorMaps[0].url | |||||
| } else { | |||||
| tmepimg = '' | |||||
| } | |||||
| //拿取第一张地图 | |||||
| this.setData({ | |||||
| dataLsit:res.data, | |||||
| tmpePicture: tmepimg | |||||
| }) | |||||
| }) | }) | ||||
| }, | }, | ||||
| @@ -22,7 +74,7 @@ Page({ | |||||
| * 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
| */ | */ | ||||
| onLoad: function (options) { | onLoad: function (options) { | ||||
| this.getStoreMap() | |||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -3,38 +3,21 @@ | |||||
| <view style="height:{{navigationBarHeight}} "></view> | <view style="height:{{navigationBarHeight}} "></view> | ||||
| <view class="Box"> | <view class="Box"> | ||||
| <view class="area"> | |||||
| <view class="{{falgFloor==index?'areaItemActivity':'areaItem'}}" wx:for="{{dataLsit}}" wx:key="index" bindtap="setFalgFloor" data-index="{{index}}">{{item.buildingName}}</view> | |||||
| <!-- <view class="areaItem">B座</view> --> | |||||
| </view> | |||||
| <!-- <image mode="widthFix" class="dt_1_img" src="https://formall.oss-accelerate.aliyuncs.com/789/a7524bda-3b36-41c2-89e3-490ef1a3da49.png"></image> --> | <!-- <image mode="widthFix" class="dt_1_img" src="https://formall.oss-accelerate.aliyuncs.com/789/a7524bda-3b36-41c2-89e3-490ef1a3da49.png"></image> --> | ||||
| <view class="dt_box"> | <view class="dt_box"> | ||||
| <view class="le_box"> | <view class="le_box"> | ||||
| <view class="floor_a"> | |||||
| <text class="text">第一层</text> | |||||
| <text class="active"></text> | |||||
| </view> | |||||
| <view class="floor"> | |||||
| <text class="text">第一层</text> | |||||
| <!-- <text class="active"></text> --> | |||||
| </view> | |||||
| <view class="floor"> | |||||
| <text class="text">第一层</text> | |||||
| <!-- <text class="active"></text> --> | |||||
| </view> | |||||
| <view class="floor"> | |||||
| <text class="text">第一层</text> | |||||
| <!-- <text class="active"></text> --> | |||||
| </view> | |||||
| <view class="floor"> | |||||
| <text class="text">第一层</text> | |||||
| <!-- <text class="active"></text> --> | |||||
| <view class="{{tierFalg==index?'floor_a':floor}}" wx:for="{{dataLsit[falgFloor].floors}}" wx:key="index" bindtap="setTierFalg" data-index="{{index}}"> | |||||
| <text class="text">{{item.floorName}}</text> | |||||
| <text class="active" wx:if="{{tierFalg==index}}"></text> | |||||
| </view> | </view> | ||||
| <view class="floor"> | |||||
| <text class="text">第一层</text> | |||||
| <!-- <text class="active"></text> --> | |||||
| </view> | |||||
| </view> | </view> | ||||
| <view class="ri_box"> | <view class="ri_box"> | ||||
| <image mode="widthFix" class="dt_2_img" src="https://formall.oss-accelerate.aliyuncs.com/789/a7524bda-3b36-41c2-89e3-490ef1a3da49.png"></image> | |||||
| </view> | |||||
| <image mode="widthFix" class="dt_2_img" src="{{tmpePicture}}" wx:if="{{tmpePicture!=''}}" bindtap="lookimg"></image> | |||||
| <view class="noIMg" wx:if="{{tmpePicture==''}}">暂未配置</view> | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -58,7 +58,6 @@ | |||||
| text-align: center; | text-align: center; | ||||
| line-height: 100rpx; | line-height: 100rpx; | ||||
| } | } | ||||
| .active { | .active { | ||||
| position: absolute; | position: absolute; | ||||
| left: 4rpx; | left: 4rpx; | ||||
| @@ -70,3 +69,35 @@ | |||||
| background: linear-gradient(127deg, rgba(252, 177, 74, 1) 0%, rgba(254, 70, 20, 1) 100%); | background: linear-gradient(127deg, rgba(252, 177, 74, 1) 0%, rgba(254, 70, 20, 1) 100%); | ||||
| border-radius: 7rpx; | border-radius: 7rpx; | ||||
| } | } | ||||
| .area{ | |||||
| overflow: hidden; | |||||
| margin-bottom: 30rpx; | |||||
| } | |||||
| .areaItemActivity{ | |||||
| float: left; | |||||
| text-align: center; | |||||
| line-height: 60rpx; | |||||
| height: 60rpx; | |||||
| width: 100rpx; | |||||
| background-color: #409EFF; | |||||
| color: #fff; | |||||
| } | |||||
| .areaItem{ | |||||
| color: #606266; | |||||
| float: left; | |||||
| width: 100rpx; | |||||
| text-align: center; | |||||
| line-height: 60rpx; | |||||
| height: 60rpx; | |||||
| background-color: #fff; | |||||
| border-radius: 5rpx; | |||||
| } | |||||
| .noIMg{ | |||||
| width: 92%; | |||||
| margin: 0 2%; | |||||
| text-align: center; | |||||
| height: 50vh; | |||||
| line-height: 50vh; | |||||
| font-size: 36rpx; | |||||
| border: #fff solid 10rpx; | |||||
| } | |||||
| @@ -5,67 +5,248 @@ const Http = require("../../utils/HttpBasics"); | |||||
| const util = require("../../utils/util"); | const util = require("../../utils/util"); | ||||
| const imgurl = require("../../utils/imgurl"); | const imgurl = require("../../utils/imgurl"); | ||||
| Page({ | Page({ | ||||
| /** | /** | ||||
| * 页面的初始数据 | * 页面的初始数据 | ||||
| */ | */ | ||||
| data: { | data: { | ||||
| navigationBarHeight, | navigationBarHeight, | ||||
| poterbg: imgurl.poterbg.url, | |||||
| windowWidth: wx.getSystemInfoSync().windowWidth, | |||||
| windowHeight: wx.getSystemInfoSync().screenHeight, | |||||
| totalHeight: 0, | |||||
| isdisable: true, | |||||
| mallname: '', //商场名字 | |||||
| qrCodeL: "", //小程序码 | |||||
| couponList: [], //活动劵列表 | |||||
| canvasScale: 1.0 // 画布放大的倍数,因为如果保存的是一倍的分享图片的话,分享图会有点虚。所以保存的时候,canvasScale设置为2.0,wxss 里面的left: 500%;打开注释。就可保存两倍的分享图 | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
| */ | */ | ||||
| onLoad: function (options) { | |||||
| onLoad: function(options) { | |||||
| this.setCanvas() | |||||
| }, | }, | ||||
| onShow: function(){ | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady: function () { | |||||
| }, | |||||
| //绘制微信头像 | |||||
| drawAvatarimg(ctx, scale) { | |||||
| var that = this; | |||||
| //商户详情海报 | |||||
| console.log(that.data.avatarUrl,"???") | |||||
| let src1 = that.data.avatarUrl + `?imageView/2/w/${100}/h/${100}`; | |||||
| let src2 = util.getProxyImgUrl(src1); | |||||
| wx.getImageInfo({ | |||||
| src: src2, | |||||
| success: function (res) { | |||||
| console.log(res.path) | |||||
| that.darwAvatarArc(ctx, res.path, 10, 8, 35, 35); | |||||
| } | |||||
| }); | |||||
| }, | }, | ||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow: function () { | |||||
| setCanvas() { | |||||
| // 适配屏幕 | |||||
| let scale = this.data.windowWidth / 375.0 | |||||
| console.log(scale) | |||||
| this.setData({ | |||||
| totalHeight: 667 * scale | |||||
| }) | |||||
| // 获取Canvas | |||||
| let ctx = wx.createCanvasContext("myCanvas"); | |||||
| this.getMallInfo(ctx, scale) | |||||
| this.getUserInfo(ctx, scale) | |||||
| this.drawNormalText(ctx, "适用门店:", 30 * scale, 348 * scale, 16 * scale, "#000", "left", "middle") | |||||
| this.drawNormalText(ctx, " 向您推荐", 70 * scale, 25 * scale, 16 * scale, "#848484", "left", "middle", scale); | |||||
| ctx.draw(true); | |||||
| }, | |||||
| // 绘制只有一行的文字 | |||||
| drawNormalText(ctx, str, x, y, font, style, align, baseLine) { | |||||
| ctx.setFontSize(font); | |||||
| ctx.setFillStyle(style); | |||||
| ctx.setTextAlign(align); | |||||
| ctx.setTextBaseline(baseLine); | |||||
| ctx.fillText(str, x, y); | |||||
| ctx.draw(true); | |||||
| }, | }, | ||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide: function () { | |||||
| //商场信息 | |||||
| getMallInfo: function (ctx, scale) { | |||||
| let that = this; | |||||
| // 获取用户信息 | |||||
| Http.get({ | |||||
| url: config.api.getMallInfo, | |||||
| data: {} | |||||
| }).then(res => { | |||||
| console.log(res); | |||||
| if (res.data.img){ | |||||
| let src1 = res.data.img + `?imageView/2/w/${100}/h/${100}`; | |||||
| }else{ | |||||
| // let src1 = res.data.img + `?imageView/2/w/${100}/h/${100}`;//默认图片地址 | |||||
| } | |||||
| let src2 = util.getProxyImgUrl(src1); | |||||
| wx.getImageInfo({ | |||||
| src: src2, | |||||
| success: function (res) { | |||||
| ctx.drawImage(res.path, 20 * scale, 60 * scale, (that.data.windowWidth-60) * scale, 200*scale); | |||||
| ctx.draw(true); | |||||
| } | |||||
| }); | |||||
| that.setData({ | |||||
| mallname: res.data.name | |||||
| }); | |||||
| that.drawNormalText(ctx, "---" + that.data.mallname + "---", 175 * scale, 25 * scale, 16 * scale, "#000", "left", "middle", scale); | |||||
| }); | |||||
| }, | }, | ||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload: function () { | |||||
| //获取头像和昵称 | |||||
| getUserInfo: function (ctx, scale) { | |||||
| let that = this; | |||||
| // 获取用户信息 | |||||
| Http.get({ | |||||
| url: config.api.getScore, | |||||
| data: {} | |||||
| }).then(res => { | |||||
| let nickName = ''; | |||||
| if (res.data.nickName == undefined || res.data.nickName == undefined) { | |||||
| wx.getUserInfo({ | |||||
| success: function(data) { | |||||
| nickName = data.userInfo.nickName; | |||||
| that.setData({ | |||||
| nickName: nickName, //用户名 | |||||
| avatarUrl: data.userInfo.avatarUrl //用户头像 | |||||
| }); | |||||
| this.drawNormalText(ctx, nickName, 48 * scale, 24 * scale, 16 * scale, "#000", "left", "middle"); | |||||
| that.drawAvatarimg(ctx, scale) | |||||
| } | |||||
| }) | |||||
| } else { | |||||
| nickName = res.data.nickName; | |||||
| that.setData({ | |||||
| nickName: nickName, | |||||
| avatarUrl: res.data.avatarUrl | |||||
| }); | |||||
| this.drawNormalText(ctx, nickName, 48 * scale, 24 * scale, 16 * scale, "#000", "left", "middle"); | |||||
| that.drawAvatarimg(ctx, scale) | |||||
| } | |||||
| }); | |||||
| }, | }, | ||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh: function () { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom: function () { | |||||
| //绘制圆角图像 | |||||
| darwAvatarArc: function(ctx, src, x, y, w, h = w) { | |||||
| /* | |||||
| ctx: 画布对象 | |||||
| src: 头像缓存路径 | |||||
| x: 头像起始位置 横坐标 | |||||
| y: 头像起始位置 纵坐标 | |||||
| w: 头像宽度 | |||||
| h: 头像高度,不传为w | |||||
| */ | |||||
| // 保存绘图上下文。 | |||||
| ctx.save(); | |||||
| // 开始创建一个路径。需要调用 fill 或者 stroke 才会使用路径进行填充或描边 | |||||
| ctx.beginPath(); | |||||
| // 设创建一个圆可以指定 起始弧度为 0,终止弧度为 2 * Math.PI。 | |||||
| // 用 stroke 或者 fill 方法来在 canvas 中画弧线。 | |||||
| ctx.arc(x + w / 2, y + h / 2, w / 2, 0, Math.PI * 2, false); | |||||
| /* 从原始画布中剪切任意形状和尺寸。 | |||||
| 一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内( | |||||
| 不能访问画布上的其他区域)。可以在使用 clip 方法前通过使用 save 方法对当前画布区域进行保存,并在以后的任意时间通过restore方法对其进行恢复。 | |||||
| */ | |||||
| ctx.clip(); | |||||
| // 画头像 | |||||
| ctx.drawImage(src, x, y, w, h); | |||||
| // 恢复之前保存的绘图上下文。 | |||||
| ctx.restore(); | |||||
| // 将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。 | |||||
| ctx.draw(true); | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 用户点击右上角分享 | |||||
| * 保存图片 | |||||
| */ | */ | ||||
| onShareAppMessage: function () { | |||||
| saveImage() { | |||||
| let that = this; | |||||
| wx.canvasToTempFilePath({ | |||||
| x: 0, | |||||
| y: 0, | |||||
| width: this.data.windowWidth * this.data.canvasScale, | |||||
| height: this.data.totalHeight * this.data.canvasScale, | |||||
| canvasId: "myCanvas", | |||||
| success: function(res) { | |||||
| that.saveImageToPhotos(res.tempFilePath); | |||||
| }, | |||||
| fail: function(res) { | |||||
| wx.showToast({ | |||||
| title: "图片生成失败", | |||||
| icon: "none", | |||||
| duration: 2000 | |||||
| }); | |||||
| } | |||||
| }); | |||||
| }, | |||||
| //保存到相册 | |||||
| saveImageToPhotos: function(tempFilePath) { | |||||
| wx.saveImageToPhotosAlbum({ | |||||
| filePath: tempFilePath, | |||||
| success(result) { | |||||
| wx.showToast({ | |||||
| title: "保存成功,从相册中分享到朋友圈吧", | |||||
| icon: "none", | |||||
| duration: 4000 | |||||
| }); | |||||
| }, | |||||
| fail: function(err) { | |||||
| if ( | |||||
| err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || | |||||
| err.errMsg === "saveImageToPhotosAlbum:fail auth deny" | |||||
| ) { | |||||
| // 这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用 | |||||
| wx.showModal({ | |||||
| title: "提示", | |||||
| content: "需要您授权保存相册", | |||||
| showCancel: false, | |||||
| success: modalSuccess => { | |||||
| wx.openSetting({ | |||||
| success(settingdata) { | |||||
| console.log("settingdata", settingdata); | |||||
| if (settingdata.authSetting["scope.writePhotosAlbum"]) { | |||||
| wx.showModal({ | |||||
| title: "提示", | |||||
| content: "获取权限成功,再次点击图片即可保存", | |||||
| showCancel: false | |||||
| }); | |||||
| } else { | |||||
| wx.showModal({ | |||||
| title: "提示", | |||||
| content: "获取权限失败,将无法保存到相册哦~", | |||||
| showCancel: false | |||||
| }); | |||||
| } | |||||
| }, | |||||
| fail(failData) { | |||||
| console.log("failData", failData); | |||||
| }, | |||||
| complete(finishData) { | |||||
| console.log("finishData", finishData); | |||||
| } | |||||
| }); | |||||
| } | |||||
| }); | |||||
| } | |||||
| } | |||||
| }); | |||||
| } | } | ||||
| }) | |||||
| }); | |||||
| @@ -1,2 +1,11 @@ | |||||
| <navbar back home text="分享好友" background='#fff'></navbar> | <navbar back home text="分享好友" background='#fff'></navbar> | ||||
| <view style="height:{{navigationBarHeight}} "></view> | <view style="height:{{navigationBarHeight}} "></view> | ||||
| <view class='content'> | |||||
| <view class='poster'> | |||||
| <canvas canvas-id='myCanvas' class='canvas-content' style="width:{{windowWidth-20}}px;height:{{windowHeight}}px;box-shadow: 1px 1px 5px 5px rgba(0, 0, 0, 0.05); position:absolute;z-index:1;"> | |||||
| </canvas> | |||||
| </view> | |||||
| <cover-view class="bottomsave" style="position:fixed;z-index:11;"> | |||||
| <button bindtap="saveImage" disabled="{{isdisable}}" class='saveposter'>保存图片分享给朋友</button> | |||||
| </cover-view> | |||||
| </view> | |||||
| @@ -1 +1,42 @@ | |||||
| /* pages/canvas/index.wxss */ | |||||
| .content { | |||||
| margin: 0; | |||||
| padding: 0; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| background: #f3f3f3; | |||||
| position: relative; | |||||
| } | |||||
| .poster { | |||||
| height: 100%; | |||||
| padding: 20rpx; | |||||
| position: absolute; | |||||
| top: 0; | |||||
| left: 0; | |||||
| } | |||||
| button::after{ border: none; } | |||||
| .bottomsave { | |||||
| width: 100%; | |||||
| height: 140rpx; | |||||
| line-height: 140rpx; | |||||
| margin: auto 0; | |||||
| bottom: 0; | |||||
| left: 0; | |||||
| right: 0; | |||||
| border-top: 1px solid #ccc; | |||||
| box-shadow: 0 0rpx 150rpx #ccc; | |||||
| background: #fff; | |||||
| } | |||||
| .saveposter { | |||||
| color: #fff; | |||||
| width: 380rpx; | |||||
| height: 80rpx; | |||||
| border-radius: 50rpx; | |||||
| background: #f08f04; | |||||
| margin-top: 30rpx; | |||||
| font-size: 32rpx; | |||||
| } | |||||
| /* pages/shareFriend/shareFriend.wxss */ | /* pages/shareFriend/shareFriend.wxss */ | ||||
| @@ -63,8 +63,8 @@ | |||||
| "list": [ | "list": [ | ||||
| { | { | ||||
| "id": 0, | "id": 0, | ||||
| "name": "pages/", | |||||
| "pathName": "pages/edit/edit", | |||||
| "name": "pages/shareFriend/shareFriend", | |||||
| "pathName": "pages/shareFriend/shareFriend", | |||||
| "query": "", | "query": "", | ||||
| "scene": null | "scene": null | ||||
| }, | }, | ||||
| @@ -0,0 +1,7 @@ | |||||
| { | |||||
| "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", | |||||
| "rules": [{ | |||||
| "action": "allow", | |||||
| "page": "*" | |||||
| }] | |||||
| } | |||||