wxJsApi.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import wx from 'weixin-js-sdk'
  2. import * as API_WeiXin from '$project/apis/weixin'
  3. import * as API_Common from '$project/apis/common'
  4. //获取微信配置
  5. export function getWxConfig(jsApiList) {
  6. var jsApiList = jsApiList || ['chooseImage', 'getLocalImgData'];
  7. let promise = (jsApiList => {
  8. new Promise((resolve, reject) => {
  9. console.log(jsApiList);
  10. API_WeiXin.getConfig().then(response => {
  11. var wxconfig = response.wxConfig;
  12. console.log(wxconfig.nonceStr)
  13. wx.config({
  14. debug: false, // 开启调试模式,
  15. appId: wxconfig.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
  16. timestamp: wxconfig.timestamp, // 必填,生成签名的时间戳
  17. nonceStr: wxconfig.nonceStr, // 必填,生成签名的随机串
  18. signature: wxconfig.signature, // 必填,签名,见附录1
  19. jsApiList: jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
  20. });
  21. resolve(response);
  22. }).catch(error => {
  23. mui.toast(error);
  24. reject(error);
  25. })
  26. })
  27. })(jsApiList)
  28. return promise;
  29. }
  30. //选择图片
  31. export function chooseImage() {
  32. let promise = new Promise((resolve, reject) => {
  33. wx.chooseImage({
  34. count: 1,
  35. sizeType: ['compressed'],
  36. sourceType: ['album', 'camera'],
  37. success: function(res) {
  38. var localIds = res.localIds;
  39. console.log(localIds);
  40. wx.getLocalImgData({
  41. localId: localIds[0],
  42. success: function(res) {
  43. resolve(res);
  44. }
  45. });
  46. }
  47. });
  48. });
  49. return promise;
  50. }
  51. //上传图片
  52. export function uploadPic(imgBase64) {
  53. let promise = new Promise((resolve, reject) => {
  54. var formData = new FormData();
  55. formData.append('photoName', '1.jpg');
  56. formData.append('photoBase64Data', imgBase64);
  57. console.log(formData);
  58. console.log(typeof formData);
  59. API_Common.uploadBase64(formData).then(response => {
  60. resolve(response);
  61. }).catch(error => {
  62. mui.toast(error);
  63. reject(error);
  64. })
  65. });
  66. return promise;
  67. }
  68. //获取坐标
  69. export function getLocation() {
  70. let promise = new Promise((resolve, reject) => {
  71. wx.ready(function() {
  72. wx.getLocation({
  73. type: 'gcj02', // 默认为wgs84的gps坐标,可传入'gcj02'
  74. success: function(res) {
  75. resolve(res);
  76. },
  77. faile: function(res) {
  78. reject(res);
  79. },
  80. complete() {}
  81. })
  82. })
  83. })
  84. return promise;
  85. }