当前位置: 首页 > news >正文

c 做网站教程wordpress图片七牛云加速

c 做网站教程,wordpress图片七牛云加速,建设公司建站系统,设计师培训经历小程序登录 涂鸦官方提供了登录能力,开发者可以通过相关 API 获取 App 的用户身份标识,快速的建立小程序内的用户体系。 登录流程 说明 需要调用 ty.login() 获取 临时登录凭证 code,并将 code 传到开发者服务器开发者服务器调用涂鸦云开发…

小程序登录

涂鸦官方提供了登录能力,开发者可以通过相关 API 获取 App 的用户身份标识,快速的建立小程序内的用户体系。

登录流程

说明
  1. 需要调用 ty.login() 获取 临时登录凭证 code,并将 code 传到开发者服务器
  2. 开发者服务器调用涂鸦云开发能力 API /1.0/token,传入 code,获取 access_token 及 uid,然后开发者根据 aceess_token 及 uid 自定义登录状态,并返回给前端,然后进行后续的交互。

注意:在开发小程序前,请先确保已经将小程序与云项目进行关联,关联方法请参考下面的服务器开发。

服务器开发

开发者服务器端要调用涂鸦云开发能力 API,需要创建云项目,并需要将云项目应用与小程序进行关联。

  • 使用 IoT 账号登录到 IoT 平台,选择云开发菜单,点击创建云项目

  • 创建成功后,即在云项目的详细页面中查询获取 Client ID 及 Client secret,用于请求 API 签名

 

  • 到小程序开发者平台,进入小程序开发设置菜单,点击云项目模块的 添加 按钮,然后选择对应的云项目关联。

相关文档:
  1. 云开发开发文档,可参考这里文档。
  2. API 签名机制,可参考这里

代码示例

小程序代码

import {getStorageSync,getSystemInfoSync,login,removeStorageSync,request,setStorageSync,getUserInfo,showModal,
} from '@ray-js/ray';const { code } = await login({});
const { nickName, avatorUrl } = new Promise((resolve, reject) =>getUserInfo({ success: resolve, failure: reject }),
);
request({url: `https://wwww.xxx.com/login`,method: 'POST',header: {'Content-Type': 'application/json',},data: {code,nickName,avatorUrl,},success: ({ data }: any) => {// 由于小程序没有 cookie,这时使用 storage 管理登录态setStorageSync({key: 'session',data,});},failure: () => {showModal({title: '提示',content: '登录失败',showCancel: false,});},
});

服务器端代码(这里使用 Nodejs Koa 实现)

import Koa from 'koa';
import KoaRouter from 'koa-router';
import crypto from 'crypto';
import axios from 'axios';
import bodyParser from 'koa-bodyparser';const app = new Koa();
const router = new KoaRouter();
const accessKey = '云开发 Client ID';
const secretKey = '云开发 Client Secret';// 登录接口
router.post(`/login`, async (ctx) => {const { code, nickName, avatorUrl } = ctx.request.body;// 加密处理const contentHash = crypto.createHash('sha256').update('').digest('hex');const t = +new Date();const nonce = '';const stringToSign = ['GET', contentHash, '', path].join('\n');const signStr = [accessKey, t, nonce, stringToSign].join('');const sign = crypto.createHmac('sha256', secretKey).update(signStr, 'utf8').digest('hex').toUpperCase();const { data } = await axios({// 不同的地区需要使用不同的域名地址,这里为中国区地址url: `https://openapi.tuyacn.com/v1.0/token?code=${code}&grant_type=2`,method: 'GET',headers: {t,sign,client_id: accessKey,sign_method: 'HMAC-SHA256',Dev_lang: 'Nodejs','Signature-Headers': '',},});let responseData;if (data.success) {const { uid } = data.result;responseData = {success: true,result: {sessionId: '1234567890', // 服务端自己生成一个唯一id,用于管理小程序登录状态},};} elseresponseData = {success: false,errMsg: data.msg,errCode: data.code,};{}ctx.body = responseData;
});app.use(bodyParser()).use(router.allowedMethods()).use(router.routes());app.listen(3000, async () => {console.log(`Server start on http://localhost:9000`);
});
http://www.yayakq.cn/news/251192/

相关文章:

  • 网站建设每年需要交多少钱先看网站案例您的网站也可以这么做
  • 建网站多少钱一个月企业建设网站的主要作用
  • 手机软件上传网站在线生成网页工具
  • 网站建设通查询东莞城建局电话是多少
  • 求个a站干煤棚网架公司
  • 马鞍山网站开发小程序app系统开发
  • 广州网站建设外包广州清洁公司
  • 永久免费自助建站系统移动应用开发是什么意思
  • 网站建设 主机托管深圳返利网站开发
  • 如何在税局网站上做税种认定做网站网站要找谁
  • 行业网站导航开封市城乡建设局网站
  • 湘潭网站建设优等磐石网络如何从零开始学做电商?
  • 做网站网页的成本wordpress get_pages()
  • 小超人成都网站建设网站被禁止访问怎么打开
  • 安徽网站优化厂家报价网络项目设计方案
  • 动漫网站设计论文关于做网站的搞笑段子
  • 专业网站建设管理关于淘宝店网站建设的可行性报告
  • 西部空间官方网站自己做的网页怎么上传到网站
  • 做盗版视频网站网站上传 空间 数据库
  • 做网站的困难wordpress login网址
  • 商城版网站制作网站开发经验总结
  • 网站网站怎么做的wordpress php执行慢
  • 自己做的工艺品在哪个网站上可以卖seo是什么意思中文
  • 建站都需要什么图片展示网站建设
  • 云主机 网站指南可视化建站源码
  • 义乌开锁做网站哪个好wordpress首页html代码
  • 旅游网站建设成本核算会做网站开发 但是不会二次开发
  • 网站的页面风格是什么外贸商城建站
  • 微网站和普通网站区别建设公司网站价格
  • 大连网站淘客做的网站属于什么类型