egret微信小遊戲在本地使用者檔案目錄下建立檔案並讀取內容
阿新 • • 發佈:2019-01-24
Platform.ts新增
declare interface Platform { getUserInfo(): Promise<any>; login(): Promise<any> getFileData(fileName): Promise<any>; writeFileData(fileName,data): Promise<any>; } class DebugPlatform implements Platform { async getUserInfo() { return { nickName: "username" } } async login() { } /**獲得檔案內容 */ async getFileData(fileName) { return { key: "key" } } /**檔案中寫入 */ async writeFileData(fileName,data) { } }
使用
private async getFileData() { console.log("讀取"); let fileName = "score.txt"; let d = await platform.getFileData(fileName); console.log(d); } private async writeFileData() { let fileName = "score.txt"; let num = ~~(Math.random() * 100); console.log("寫入,內容是" + num); await platform.writeFileData(fileName, num); }
釋出的微信專案中platform.js新增
fs = wx.getFileSystemManager() getFileData(filePath) { var self = this; return new Promise((resolve, reject) => { self.fs.readFile({ filePath: `${wx.env.USER_DATA_PATH}/` + filePath, encoding: "utf8", success: (data) => { resolve(data.data); }, fail: (errMsg) => { console.log(errMsg); self.fs.writeFileSync(`${wx.env.USER_DATA_PATH}/` + filePath, '0', 'utf8'); }, complete: () => { console.log("讀取完成") } }); }) } writeFileData(fileName, num) { var self = this; return new Promise((resolve, reject) => { self.fs.writeFileSync(`${wx.env.USER_DATA_PATH}/` + fileName, num , 'utf8'); }) }