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

企业网站的主要功能优秀网页设计作品案例欣赏

企业网站的主要功能,优秀网页设计作品案例欣赏,网站开发入门书籍推荐,企业解决方案业务是什么小程序登录 涂鸦官方提供了登录能力,开发者可以通过相关 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.15wanjia.com/news/168649.html

相关文章:

  • 高端的咨询行业网站制作济源做网站公司
  • 自己有网站 做app吗怎么做钓鱼网站
  • 东莞英文网站设计免费漫画软件 全免费
  • 进入网络管理的网站制作个人网站实例
  • 中国建设管理信息网站seo网站概述
  • 苏州网站建设设计公司招聘网站开发方案doc
  • 洛阳建站推广公司域名备案查询网站备案信息查询
  • 郏县建设局网站在哪个网站上做苗木生意好些
  • wordpress 运营商广告seo任务
  • 南昌网站设计网站开发wordpress logo制作教程
  • 好的网站建设平台百度推广客户端app下载
  • 什么语言做网站快网站怎么做才能赚钱
  • 安徽索凯特建设工程有限公司网站北海 网站建设 公司
  • 做网站的重点目标wordpress本地搬家到阿里云
  • 建立自己的影视网站网站建设玖首选金手指
  • 科技网站 网站建设自己做一个简介的网页
  • 基层科普网站建设的现状怎么使用dw做一个网站
  • 网站建设工作自策划实施以来网页开发网站
  • 什么是二级网站推广wordpress古腾堡编辑器如何使用
  • 大家都在哪些网站做宣传域名被锁定网站打不开怎么办
  • 泉州品牌网站设计定制广州市网络营销推广平台
  • dede游戏网站模板wordpress去广告插件
  • 昊源建设监理有限公司网站银川手机网站建设
  • python 做网站 数据库wordpress 无法新建页面
  • 公司网站建设费会计分录seo如何做网站建设
  • 做外汇网站代理商北京软件开发公司推荐
  • 网站建设 镇江工程项目挂网在什么网站上看
  • 范县网站建设价格讨债女企业家中标公司被强执
  • 网站开发项目可行性义乌做网站哪家好
  • seo网站优化平台平台搭建工具有哪些