Album.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  1. var uploadPicture = require('../Album/common.js')
  2. const app = getApp()
  3. Page({
  4. //获取应用实例
  5. data: {
  6. // 上传的案例图片集合
  7. uploadImages: [],
  8. // 设置上传案例图片的最大数目
  9. maxImages: 8,
  10. // 案例图片数目是否达到了最大数目
  11. isMaxImagesNum: false,
  12. initial:'',
  13. imglength:'',
  14. enlarge:'', //放大
  15. Displayhiding:false,
  16. },
  17. onShow: function (options) {
  18. var that = this;
  19. // // 获取图片信息
  20. let initial_url = 'my/images/albumchange';
  21. let initial_data = {
  22. };
  23. app.postRequest(initial_url, initial_data, function (res) {
  24. that.setData({
  25. initialcode: res.code, //获取未上传状态
  26. });
  27. // console.log(res.data[0].img)
  28. if (res.code == 201) {
  29. console.log(res.data)
  30. that.setData({
  31. initial: res.data, // 初始数
  32. imglength: res.data.length,
  33. })
  34. // 对象转数组
  35. var itemList = res.data;
  36. //声明一个空的数组
  37. var items = [];
  38. //遍历数据
  39. for (let i in itemList) {
  40. //push到空数组里
  41. items.push(itemList[i].img);
  42. }
  43. console.log(items);
  44. //传输数据到页面
  45. that.setData({
  46. enlarge: items,
  47. })
  48. // console.log(res.data.length);
  49. // console.log(that.data.maxImages);
  50. if (res.data.length >= that.data.maxImages) { //判断图片,大于或等于8张时,隐藏
  51. that.setData({
  52. isMaxImagesNum: true
  53. });
  54. }else{
  55. that.setData({
  56. isMaxImagesNum: false
  57. });
  58. }
  59. }
  60. })
  61. },
  62. // 选择图片
  63. chooseImageTap: function () {
  64. let _this = this;
  65. wx.showActionSheet({
  66. itemList: ['从相册中选择', '拍照'],
  67. itemColor: "#f7982a",
  68. success: function (res) {
  69. if (!res.cancel) {
  70. if (res.tapIndex == 0) {
  71. _this.chooseWxImage('album')
  72. } else if (res.tapIndex == 1) {
  73. _this.chooseWxImage('camera')
  74. }
  75. }
  76. }
  77. })
  78. },
  79. // 选图
  80. chooseWxImage: function (type) {
  81. let _this = this;
  82. var picsItems;
  83. var _imglength = _this.data.maxImages - _this.data.imglength;
  84. console.log(_imglength)
  85. wx.chooseImage({
  86. // 相关属性设置
  87. count: _imglength,
  88. sizeType: ['original', 'compressed'],
  89. sourceType: [type],
  90. success: function (res) {
  91. var imgsrc = res.tempFilePaths;
  92. // concat数组连接,且不会改变现有数组
  93. var picss = _this.data.uploadImages.concat(imgsrc);
  94. picss = picss.slice(0, 8); //每次只要前8条数组
  95. // console.log(picss);
  96. var imagesArr = ''; //用来做JSON格式
  97. // console.log(picss.length);
  98. // 判断选择的数量是否超过设定数量
  99. let num = picss.length <= _this.data.maxImages ? picss.length : _this.data.maxImages;
  100. for (var i = 0; i < num; i++) { // 凭接 imgurl名称
  101. imagesArr += '{"imgurl":"' + picss[i] + '"},';
  102. }
  103. // console.log(imagesArr);
  104. imagesArr = JSON.parse('[' + imagesArr.substring(0, imagesArr.length - 1) + ']'); //转换成JSON数据
  105. _this.setData({
  106. uploadImages: picss,
  107. picsItems: imagesArr
  108. });
  109. _this.submitAction();
  110. }
  111. })
  112. },
  113. m_showActionSheet: function (e){
  114. let that = this;
  115. wx.showActionSheet({
  116. itemList: ['预览图片', '修改图片', '删除图片'],
  117. success(res) {
  118. // console.log(res.tapIndex)
  119. if(res.tapIndex == 0){ //预览所选图片
  120. // console.log(that.data.uploadImages);
  121. // console.log(e.currentTarget.dataset.src);
  122. wx.previewImage({
  123. urls: that.data.enlarge,
  124. current: e.currentTarget.dataset.src
  125. })
  126. }
  127. if (res.tapIndex == 1) { //修改所选图片
  128. var imgid = e.currentTarget.dataset.id;//获取当前长按图片ID
  129. // console.log(imgid);
  130. wx.chooseImage({
  131. count: 1,
  132. sizeType: ['original', 'compressed'],
  133. sourceType: ['album', 'camera'],
  134. success(res) {
  135. console.log(imgid);
  136. //上传
  137. wx.uploadFile({
  138. url: app.globalData.url + 'my/images/albumedit',
  139. filePath: res.tempFilePaths[0],
  140. name: 'img',
  141. formData: {
  142. img_id: imgid,
  143. key: wx.getStorageSync('access_key'),
  144. token: wx.getStorageSync('access_token'),
  145. },
  146. success: function (res) {
  147. var data = JSON.parse(res.data);
  148. if (data.code == 201) {
  149. that.onShow();
  150. // wx.showModal({
  151. // title: '提示',
  152. // content: '修改成功',
  153. // showCancel: false,
  154. // })
  155. }
  156. }, fail: function (d) {
  157. }
  158. })
  159. }
  160. })
  161. } //修改所选图片 结束
  162. if (res.tapIndex == 2) { //删除所选图片
  163. let index = e.currentTarget.dataset.id;//获取当前长按图片下标
  164. // // 删除相片
  165. let delete_url = 'my/images/albumdelete';
  166. let delete_data = {
  167. img_id: index,
  168. };
  169. app.postRequest(delete_url, delete_data, function (res) {
  170. console.log(that.data.initialcode)
  171. if (res.code == 201) {
  172. // wx.navigateTo({
  173. // url: '/pages/personal_core/Album/Album'
  174. // })
  175. // console.log(that.data.imglength)
  176. if (that.data.imglength==1){
  177. // that.setData({
  178. // Displayhiding:true,
  179. // });
  180. }
  181. that.onShow();
  182. }
  183. })
  184. // 直接删除
  185. } //删除所选图片 结束
  186. },
  187. fail(res) {
  188. console.log(res.errMsg)
  189. }
  190. })
  191. },
  192. // 预览所选图片
  193. selImagePre: function (e) {
  194. },
  195. // 删除图片
  196. // deleteImage: function (e) {
  197. // var that = this;
  198. // var uploadImages = that.data.uploadImages;
  199. // var index = e.currentTarget.dataset.id;//获取当前长按图片下标
  200. // wx.showModal({ // 弹窗提示是否删除
  201. // title: '提示',
  202. // content: '确定要删除此图片吗?',
  203. // success: function (res) {
  204. // if (res.confirm) {
  205. // console.log('点击确定了');
  206. // uploadImages.splice(index, 1);
  207. // } else if (res.cancel) {
  208. // console.log('点击取消了');
  209. // return false;
  210. // }
  211. // that.setData({
  212. // uploadImages
  213. // });
  214. // }
  215. // })
  216. // 直接删除
  217. // uploadImages.splice(index, 1);
  218. // var imagesArr = ''; //用来做JSON格式
  219. // let num = uploadImages.length; //数组的总数
  220. // // console.log(num);
  221. // for (var i = 0; i < num; i++) {
  222. // imagesArr += '{"imgurl":"' + uploadImages[i] + '"},'; // 凭接 imgurl名称
  223. // }
  224. // // console.log(imagesArr);
  225. // imagesArr = JSON.parse('[' + imagesArr.substring(0, imagesArr.length - 1) + ']'); //转换成JSON数据
  226. // console.log(imagesArr);
  227. // that.setData({
  228. // picsItems: imagesArr
  229. // });
  230. // if (num < that.data.maxImages) { //判断图片,小于8张时,显示
  231. // that.setData({
  232. // isMaxImagesNum: false
  233. // });
  234. // }
  235. // },
  236. // 图片上传
  237. submitAction: function () {
  238. let _this = this;
  239. // console.log(_this.data.uploadImages)
  240. // 上传所选图片
  241. uploadPicture.uploadimg({
  242. // 传图同时携带的参数
  243. url: app.globalData.url + 'my/images/album',
  244. path: _this.data.uploadImages,
  245. name: 'img',
  246. date: Date.now(),
  247. }, _this)
  248. },
  249. demo:function(){
  250. this.onShow();
  251. },
  252. // 取消事件
  253. // m_cancel:function(){
  254. // wx.navigateTo({
  255. // url: '/pages/personal_core/personaldata/personaldata'
  256. // })
  257. // // wx.showModal({
  258. // // title: '提示',
  259. // // content: '放弃对资料的修改?',
  260. // // success(res) {
  261. // // if (res.confirm) {
  262. // // wx.navigateTo({
  263. // // url: '/pages/personal_core/personaldata/personaldata'
  264. // // })
  265. // // } else if (res.cancel) {
  266. // // // console.log('用户点击取消')
  267. // // }
  268. // // }
  269. // // })
  270. // },
  271. })