Album.js 9.5 KB

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