English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french
查看: 11|回复: 0

使用TypeScript开发微信小程序(云开发)-入门篇

[复制链接]
查看: 11|回复: 0

使用TypeScript开发微信小程序(云开发)-入门篇

[复制链接]
查看: 11|回复: 0

244

主题

0

回帖

742

积分

高级会员

积分
742
5WB3i0B

244

主题

0

回帖

742

积分

高级会员

积分
742
2025-4-23 10:01:22 | 显示全部楼层 |阅读模式
配置小程序云开发 TypeScript 环境

1. 检查本地 nodejs 环境


2. 安装 TypeScript npm install typescript --save-dev


3. 初始化/配置 TypeScript

3.1 初始化 ./node_modules/.bin/tsc --init


3.2 修改tsconfig.json配置

{  "compilerOptions": {    "target": "es2016",    "module": "commonjs",    "typeRoots": ["./typings"],    "esModuleInterop": true,    "strict": true,    "skipLibCheck": true  },  "include": ["./miniprogram/**/*.ts", "./cloudfunctions/**/*.ts"],  "exclude": ["node_modules"]}3.3 添加 TypeScript .d.ts 文件


4. 配置编译命令

4.1 在package.json添加scripts命令

"tsc": "node ./node_modules/typescript/lib/tsc.js"

4.2 修改project.config.json,添加自定义处理命令

{  "scripts": {    "beforeCompile": "npm run tsc",    "beforePreview": "npm run tsc",    "beforeUpload": "npm run tsc"  }}

4.3 在“微信开发者工具”中启用自定义处理命令


示例

1. 调用微信云函数获取微信步数

// 小程序端,获取微信步数相关数据async getWxRunData(): Promise<WechatMiniprogram.GetWeRunDataSuccessCallbackResult> {  return new Promise((resolve, reject) => {    wx.getWeRunData({      success: resolve,      fail: reject    });  });}// 云函数 getOpenDataexport const main = async (event: { cloudID: string }) => {    const { cloudID } = event;    ...    // 通过云调用直接获取开放数据    const openData = await cloud.getOpenData({      list: [cloudID]    })    return {      errCode: 0,      errMsg: '获取成功',      data: openData.list[0].data    }    ...}2. 云函数调用数据库存储用户步数

// 小程序端await wx.cloud.callFunction({  name: 'createUserStep',    data: {       step    } });// 云函数 createUserStepconst { step } = event;const wxContext = cloud.getWXContext();const openid = wxContext.OPENID;const userStepQuery = {  openid,  date: db.RegExp({    regexp: `^${getCurrentDate()}`,  })}const userStep = await userStepCollection.where(userStepQuery).get() as cloud.DB.IQueryResult;if (userStep.data.length > 0) {  userStepCollection.doc(userStep.data[0]._id!).update({ data: { step } })} else {  userStepCollection.add({    data: {      step,      openid,      date: getCurrentDate()    }  })}return userStep.data;


Github地址:https://github.com/greywen/MiniprogramCloudDevelopmentTemplate-TypeScript
参考:
https://www.cnblogs.com/xiabings/p/17171277.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

244

主题

0

回帖

742

积分

高级会员

积分
742

QQ|智能设备 | 粤ICP备2024353841号-1

GMT+8, 2025-5-2 05:12 , Processed in 2.475854 second(s), 23 queries .

Powered by 智能设备

©2025