123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import BaseStore from '@src/stores/base';
- import { generateUUID } from '@src/services/Tools';
- import { WechatH5AppId } from '../../Constant';
- export default class CommonStore extends BaseStore {
- /**
- * 发送短信验证码
- * @param {*} area 区域码
- * @param {*} mobile 手机号
- */
- sendSms(area, mobile) {
- return this.apiPost('/common/sms/valid', { area, mobile });
- }
- /**
- * 上传至本地服务器
- * @param {*} file 图片文件
- */
- upload(file) {
- return this.apiForm('/common/upload/image', { file });
- }
- readyWechatBridge() {
- return new Promise((resolve) => {
- if (typeof WeixinJSBridge === 'object' && typeof WeixinJSBridge.invoke === 'function') {
- resolve();
- } else if (document.addEventListener) {
- document.addEventListener('WeixinJSBridgeReady', resolve, false);
- } else if (document.attachEvent) {
- document.attachEvent('WeixinJSBridgeReady', resolve);
- document.attachEvent('onWeixinJSBridgeReady', resolve);
- }
- });
- }
- readyWechat(url, list) {
- return this.apiGet('/common/wechat/ticket').then(ticket => {
- const time = parseInt(new Date().getTime() / 1000, 10);
- const nonce = generateUUID(6, 10);
- const p = `jsapi_ticket=${ticket}&noncestr=${nonce}×tamp=${time}&url=${url.split('#')[0]}`;
- const a = list.map(row => row);
- a.push('checkJsApi');
- wx.config({
- debug: false, // 是否打开调试模式,调用的api会被alert出来,在pc端也能看到log信息
- appId: WechatH5AppId, // 必填,微信公众号的唯一标识
- timestamp: time, // 必填,生成签名的时间戳
- nonceStr: nonce, // 必填,生成签名的随机串
- signature: sha1(p), // 必填,用于验证的签名
- jsApiList: a, // 必填,需要使用到的JS接口列表
- });
- return new Promise((resolve, reject) => {
- wx.ready(() => {
- resolve(wx);
- });
- wx.error((err) => {
- reject(err);
- });
- });
- });
- }
- }
- export const Common = new CommonStore({ key: 'common' });
|