const fs = require("fs") const _ = require("lodash"); const Service = require("egg").Service; class HomeService extends Service { //设置收藏数据 async setRouterFav(params) { let { ctx } = this let pathStr = `${ctx.app.baseDir}/app/public/task/${_.get(params, ["routeList", 0, "map"])}/${params.did}/${params.pid}` fs.mkdirSync(pathStr, { recursive: true, }) fs.writeFileSync(`${pathStr}/routeList.json`, JSON.stringify(params, null, 2)) return { haserror: false, msg: `${pathStr}/routeList.json:成功写入。` } } //获取收藏数据 async getRouterFav(params) { let { ctx } = this try { let pathStr = `${ctx.app.baseDir}/app/public/task/${_.get(params, ["mapName"])}/${params.did}/${params.pid}/routeList.json` let readResult = fs.readFileSync(pathStr, { encoding: "utf8" }) return readResult } catch (error) { return { ...params, routeList: [] } } } //获取瓦片地图 async getMapPng(params) { let { ctx } = this let pathObj = _.drop(_.compact(_.split(params.url, "/"))) let z = parseInt(pathObj[1]) - 1 let y = parseInt(pathObj[2]) let x = parseInt(pathObj[3]) let pngPath = `${ctx.app.baseDir}/app/public/map/${pathObj[0]}/${z}/${y}/${x}.png` return pngPath } } module.exports = HomeService;