Skip to content

Commit

Permalink
MEGER:DEV
Browse files Browse the repository at this point in the history
  • Loading branch information
coolhwm committed Feb 1, 2018
2 parents d787a44 + f67a8f4 commit 77c7acb
Show file tree
Hide file tree
Showing 205 changed files with 9,133 additions and 2,399 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ dist/*
/.npmignore
/.wepycache
/.wepyignore
/package-lock.json
/package-lock.json
/src/ext.json
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"wepy-compiler-sass": "^1.3.7",
"wepy-eslint": "^1.5.2",
"wepy-plugin-autoprefixer": "^1.5.9",
"wepy-plugin-filemin": "^1.3.11",
"wepy-plugin-imagemin": "^1.5.2",
"wepy-plugin-uglifyjs": "^1.3.6"
}
Expand Down
166 changes: 14 additions & 152 deletions src/api/address.js
Original file line number Diff line number Diff line change
@@ -1,115 +1,22 @@
import base from './base';
import Page from '../utils/Page';
const QQMap = require('../utils/QQMap.js');

/**
* 购物车服务类
* 地址服务类
*/
export default class address extends base {
static API_KEY = 'TRZBZ-TSJ3U-ROQVP-4EMUK-EQA52-V5FWT';

static API_REGION = '福州市';

/**
* QQ地图API
*/
static map = new QQMap({
key: 'TRZBZ-TSJ3U-ROQVP-4EMUK-EQA52-V5FWT'
});

/**
* 地址检索
*/
static search(keyword) {
return new Promise((resolve, reject) => {
this.map.search({
boundary: `region(${this.API_REGION},0)`,
keyword: keyword,
success: ({data}) => {
const result = [];
data.forEach(poi => {
const address = this.processPOI(poi);
result.push(address);
});
resolve(result);
},
fail: function(res) {
reject(res);
}
});
});
}

/**
* 地址逆解析
*/
static reverse(latitude, longitude) {
return new Promise((resolve, reject) => {
this.map.reverseGeocoder({
location: {
latitude: latitude,
longitude: longitude
},
get_poi: 1,
poi_options: 'policy=2',
success: ({result}) => {
const current = {}
console.info(result);
// 当前地址文本
current.display = result.formatted_addresses.recommend;
current.province = result.ad_info.province;
current.city = result.ad_info.city;
current.country = result.ad_info.district;
current.town = result.address_reference.town.title;
current.address = result.address;
current.detail = result.address + current.display;
current.latitude = result.location.lat;
current.longitude = result.location.lng;
// 附近的POI
const nearby = [];
const pois = result.pois;
pois.forEach(poi => {
const address = this.processPOI(poi);
address.town = current.town;
nearby.push(address);
});
resolve({current, nearby});
},
fail: function(res) {
reject(res);
}
});
});
}

/**
* 处理POI数据
*/
static processPOI(poi) {
const address = {};
address.display = poi.title;
address.province = poi.ad_info.province;
address.city = poi.ad_info.city;
address.country = poi.ad_info.district;
address.detail = poi.address + poi.title;
address.latitude = poi.location.lat;
address.longitude = poi.location.lng;
address.address = poi.address;
return address;
}
/**
* 返回分页对象
*/
static page () {
const url = `${this.baseUrl}/addresses`
return new Page(url, this._processAddress.bind(this))
const url = `${this.baseUrl}/addresses`;
return new Page(url, this._processAddress.bind(this));
}

/**
* 返回可用地址
*/
static available (goodsList) {
const url = `${this.baseUrl}/addresses/available`
const url = `${this.baseUrl}/addresses/available`;
return this.post(url, goodsList).then(data => {
return data.map(this._processAddress.bind(this));
}).then(data => {
Expand All @@ -121,11 +28,10 @@ export default class address extends base {
} else {
disable.push(item);
}
})
});
return {available, disable};
});
}

/**
* 返回默认的可用地址
*/
Expand All @@ -141,88 +47,44 @@ export default class address extends base {
return this._processAddress(available[0]);
}
}

/**
* 新增地址
*/
static save (address) {
const url = `${this.baseUrl}/addresses`
return this.post(url, address)
const url = `${this.baseUrl}/addresses`;
return this.post(url, address);
}

/**
* 更新地址对象
*/
static update (addrId, address) {
const url = `${this.baseUrl}/addresses/${addrId}`
return this.put(url, address)
const url = `${this.baseUrl}/addresses/${addrId}`;
return this.put(url, address);
}

/**
* 获取地址对象
*/
static info (addrId) {
const url = `${this.baseUrl}/addresses/${addrId}`
const url = `${this.baseUrl}/addresses/${addrId}`;
return this.get(url, address).then(data => {
data.location = data.fullAddress.replace(data.detail, '');
return data;
});
}

/**
* 设置默认
*/
static setDefault (id) {
const url = `${this.baseUrl}/addresses/${id}/default`
return this.put(url)
const url = `${this.baseUrl}/addresses/${id}/default`;
return this.put(url);
}

/**
* 获取默认
*/
static getDefault () {
const url = `${this.baseUrl}/addresses/default`
return this.get(url).then(data => data != '' ? this._processAddress(data) : this.getFirstAddress());
}

/**
* 获取第一个地址
*/
static getFirstAddress () {
const url = `${this.baseUrl}/addresses`
return this.get(url).then(data => data.length > 0 ? this._processAddress(data[0]) : Promise.reject('NO_ADDRESS'))
}

/**
* 删除地址对象
*/
static remove (id) {
const url = `${this.baseUrl}/addresses/${id}`
return this.delete(url)
const url = `${this.baseUrl}/addresses/${id}`;
return this.delete(url);
}

/**
* 选择微信地址
*/
static wxAddress () {
return new Promise((resolve, reject) => {
wx.chooseAddress({
success: data => {
resolve({
name: data.userName,
phone: data.telNumber,
province: data.provinceName,
city: data.cityName,
country: data.countyName,
detail: data.detailInfo,
isDefault: 0
})
},
fail: reject
})
})
}

/**
* 处理地址数据
*/
Expand Down
10 changes: 7 additions & 3 deletions src/api/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ import base from './base'
import wepy from 'wepy';
import store from '../store/utils';

/**
* 权限服务类
*/
export default class auth extends base {
/**
* 一键登录
Expand Down Expand Up @@ -31,6 +34,7 @@ export default class auth extends base {
store.save('user', this.getConfig('user'));
return true;
}
console.info('[auth] user check fail');
// 重新登录
await this.doLogin();
// 获取用户信息
Expand Down Expand Up @@ -89,7 +93,6 @@ export default class auth extends base {
* 执行登录操作
*/
static async doLogin() {
await this.removeConfig('login_code');
const {code} = await wepy.login();
const {third_session, login_code} = await this.session(code);
await this.setConfig('login_code', login_code);
Expand All @@ -101,7 +104,7 @@ export default class auth extends base {
* 获取会话
*/
static async session(jsCode) {
const shopCode = wepy.$instance.globalData.app_code;
const shopCode = wepy.$instance.globalData.appCode;
const url = `${this.baseUrl}/auth/session?code=${jsCode}&app_code=${shopCode}`;
return await this.get(url);
}
Expand All @@ -119,7 +122,7 @@ export default class auth extends base {
* 获取店铺标识符
*/
static getShopCode() {
return wepy.$instance.globalData.app_code;
return wepy.$instance.globalData.appCode;
}

/**
Expand Down Expand Up @@ -149,6 +152,7 @@ export default class auth extends base {
* 删除权限值
*/
static async removeConfig(key) {
console.info(`[auth] clear auth config [${key}]`);
wepy.$instance.globalData.auth[key] = null;
await wepy.removeStorage({key: key});
}
Expand Down
98 changes: 0 additions & 98 deletions src/api/cart.js

This file was deleted.

Loading

0 comments on commit 77c7acb

Please sign in to comment.