2 lines
7.1 KiB
JavaScript
2 lines
7.1 KiB
JavaScript
"use strict";const e=require("../common/vendor.js"),t=[{category:"001",name:"纸类",unit:"kg",price:1.2},{category:"002",name:"金属",unit:"kg",price:2.5},{category:"003",name:"易拉罐",unit:"piece",price:.1},{category:"004",name:"塑料",unit:"kg",price:3},{category:"005",name:"织物",unit:"kg",price:.8},{category:"006",name:"塑料瓶",unit:"piece",price:.05}],r=[{id:"1",name:"管理员",phone:"13800138000",role:"admin",createTime:"2024-01-01"},{id:"2",name:"回收员小王",phone:"18698102228",role:"collector",createTime:"2024-01-15"}],a=async(t,r={})=>new Promise((a,i)=>{e.index.request({url:"http://192.168.123.111:3000/api"+t,method:r.method||"GET",data:r.data,header:{"Content-Type":"application/json",...r.header},success:e=>{200===e.statusCode?a(e.data):i(new Error("请求失败"))},fail:e=>{console.error("API request failed, using mock data:",e),i(e)}})}),i={async getPrices(){try{return await a("/prices")}catch{return{date:(new Date).toISOString().split("T")[0],prices:t}}},async addPrice(r){try{return(await a("/prices",{method:"POST",data:r})).success}catch{const a=e.index.getStorageSync("api_prices")||{date:(new Date).toISOString().split("T")[0],prices:t};return a.prices.push(r),e.index.setStorageSync("api_prices",a),!0}},async updatePrice(r,i){try{const e=i||r.category;return(await a(`/prices/${e}`,{method:"PUT",data:r})).success}catch{const a=e.index.getStorageSync("api_prices")||{date:(new Date).toISOString().split("T")[0],prices:t},n=i||r.category,s=a.prices.findIndex(e=>e.category===n);return s>-1&&(a.prices[s]=r,e.index.setStorageSync("api_prices",a)),!0}},async deletePrice(r){try{return(await a(`/prices/${r}`,{method:"DELETE"})).success}catch{const a=e.index.getStorageSync("api_prices")||{date:(new Date).toISOString().split("T")[0],prices:t};return a.prices=a.prices.filter(e=>e.category!==r),e.index.setStorageSync("api_prices",a),!0}}},n={async getOrders(){try{return(await a("/orders")).data||[]}catch{return e.index.getStorageSync("api_orders")||[]}},async addOrder(t){try{return(await a("/orders",{method:"POST",data:t})).order||null}catch{const r=e.index.getStorageSync("api_orders")||[],a={...t,id:Date.now().toString(),createTime:(new Date).toISOString()};return r.unshift(a),e.index.setStorageSync("api_orders",r),a}},async updateOrder(t){try{return(await a(`/orders/${t.id}`,{method:"PUT",data:t})).success}catch{const r=e.index.getStorageSync("api_orders")||[],a=r.findIndex(e=>e.id===t.id);return a>-1&&(r[a]=t,e.index.setStorageSync("api_orders",r)),!0}},async deleteOrder(t){try{return(await a(`/orders/${t}`,{method:"DELETE"})).success}catch{const r=(e.index.getStorageSync("api_orders")||[]).filter(e=>e.id!==t);return e.index.setStorageSync("api_orders",r),!0}}},s={async getUsers(){try{return(await a("/users")).data||[]}catch{return e.index.getStorageSync("api_users")||r}},async addUser(t){try{return(await a("/users",{method:"POST",data:t})).success}catch{const a=e.index.getStorageSync("api_users")||r,i={...t,id:Date.now().toString(),createTime:(new Date).toISOString().split("T")[0]};return a.push(i),e.index.setStorageSync("api_users",a),!0}},async updateUser(t){try{return(await a(`/users/${t.id}`,{method:"PUT",data:t})).success}catch{const a=e.index.getStorageSync("api_users")||r,i=a.findIndex(e=>e.id===t.id);return i>-1&&(a[i]=t,e.index.setStorageSync("api_users",a)),!0}},async deleteUser(t){try{return(await a(`/users/${t}`,{method:"DELETE"})).success}catch{const a=(e.index.getStorageSync("api_users")||r).filter(e=>e.id!==t);return e.index.setStorageSync("api_users",a),!0}}},c={async getCities(){var e;try{return(null==(e=(await a("/regions/cities")).data)?void 0:e.map(e=>e.name))||[]}catch{return["天津市","北京市","上海市","广州市"]}},async getDistricts(e){var t;try{return(null==(t=(await a("/regions/districts")).data)?void 0:t.filter(t=>t.cityName===e).map(e=>e.name))||[]}catch{return{"天津市":["高新区","西青区","保税区"],"北京市":["东城区","西城区","朝阳区","海淀区","丰台区"],"上海市":["黄浦区","徐汇区","浦东新区","静安区","长宁区"],"广州市":["天河区","海珠区","越秀区","白云区","荔湾区"]}[e]||[]}},async getStations(e,t){var r,i;try{return(null==(r=(await a("/regions/stations")).data)?void 0:r.filter(r=>r.cityName===e&&r.districtName===t).map(e=>e.name))||[]}catch{return(null==(i={"天津市":{"高新区":["金融街融汇景苑","金辉江山铭筑"],"西青区":["华兴里","华兴南里"],"保税区":["意境兰庭"]},"北京市":{"东城区":["景山街道","交道口街道","东四街道","朝阳门街道","建国门街道"],"西城区":["西长安街街道","新街口街道","月坛街道","展览路街道","德胜街道"],"朝阳区":["朝外街道","劲松街道","呼家楼街道","三里屯街道","团结湖街道"],"海淀区":["海淀街道","中关村街道","学院路街道","西三旗街道","清河街道"]},"上海市":{"黄浦区":["南京东路街道","外滩街道","瑞金二路街道","淮海中路街道","豫园街道"],"徐汇区":["天平路街道","湖南路街道","斜土路街道","枫林路街道","长桥街道"],"浦东新区":["陆家嘴街道","潍坊新村街道","塘桥街道","南码头路街道","周家渡街道"]},"广州市":{"天河区":["五山街道","员村街道","车陂街道","沙河街道","石牌街道"],"海珠区":["赤岗街道","新港街道","昌岗街道","江南中街道","滨江街道"],"越秀区":["洪桥街道","北京街道","六榕街道","流花街道","光塔街道"]}}[e])?void 0:i[t])||[]}},async getSiteUsers(e){var t;try{return(null==(t=(await a("/regions/site-users")).data)?void 0:t.filter(t=>t.stationName===e).map(e=>e.name))||[]}catch{return[]}},async getCommunities(e,t){var r;try{return(await a(`/regions/communities?city=${encodeURIComponent(e)}&district=${encodeURIComponent(t)}`)).data||[]}catch{return(null==(r={"天津市":{"高新区":["金融街融汇景苑","金辉江山铭筑"],"西青区":["华兴里","华兴南里"],"保税区":["意境兰庭"]},"北京市":{"东城区":["景山街道","交道口街道","东四街道","朝阳门街道","建国门街道"],"西城区":["西长安街街道","新街口街道","月坛街道","展览路街道","德胜街道"],"朝阳区":["朝外街道","劲松街道","呼家楼街道","三里屯街道","团结湖街道"],"海淀区":["海淀街道","中关村街道","学院路街道","西三旗街道","清河街道"]},"上海市":{"黄浦区":["南京东路街道","外滩街道","瑞金二路街道","淮海中路街道","豫园街道"],"徐汇区":["天平路街道","湖南路街道","斜土路街道","枫林路街道","长桥街道"],"浦东新区":["陆家嘴街道","潍坊新村街道","塘桥街道","南码头路街道","周家渡街道"]},"广州市":{"天河区":["五山街道","员村街道","车陂街道","沙河街道","石牌街道"],"海珠区":["赤岗街道","新港街道","昌岗街道","江南中街道","滨江街道"],"越秀区":["洪桥街道","北京街道","六榕街道","流花街道","光塔街道"]}}[e])?void 0:r[t])||[]}},async addRegion(e,t,r){try{return(await a("/regions",{method:"POST",data:{city:e,district:t,community:r}})).success}catch{return!0}}};exports.orderApi=n,exports.priceApi=i,exports.regionApi=c,exports.userApi=s;
|