wxJsApi.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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','scanQRCode'];
  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. }
  86. //扫描二维码
  87. export function scanQRCode() {
  88. let promise = new Promise((resolve, reject) => {
  89. wx.scanQRCode({
  90. needResult: 1,
  91. scanType: ["qrCode"],
  92. success: function (res) {
  93. var url = res.resultStr;
  94. reject(url);
  95. },faile: function(res) {
  96. reject(res);
  97. },
  98. complete() {}
  99. })
  100. });
  101. return promise;
  102. }