轻校通开发规范文档

2020-05-27  本文已影响0人  ltz就是我

目录结构概况

目录结构.png

wxml规范

<input type="text"/>
<clock-item
    clock="{{item}}"
    bind:delClock="delClock"
    bind:expandAccessment="expandAccessment"
    bind:fingureUp="fingureUp"
    cindex="{{index}}"
    tid="{{tid}}"
    cid="{{item.class_id}}"
    bind:expandLikes="expandLikes"
    bind:expandContent="expandContent"
    type="{{0}}"
    othertype="{{1}}"
    headerclick="{{true}}"
    data-bigindex="{{bigindex}}" 
    data-index="{{index}}"
>
</clock-item>

css规范

/* 单个按钮 悬浮页面底部 */
.form-fixbtn{
  width: 365rpx;
  height: 80rpx;
}

js规范

// promise 处理回调
let back = new Promise((resolve, reject) => {
  if (/* 异步操作成功 */){
    resolve(value);
  } else {
    reject(error);
  }
});

back.then((res) => {
    console.log('成功回调!', res);
}).catch((err) => {
    console.log('失败回调!', error);
});

组件规范

<c-clock/>
<!--或-->
<c-clock-item/>

配置及主要文件说明

app.js 小程序主入口文件

  1. onShow(){ } 页面来源判断 + 设置小程序分享等链路
    • business/pages/loginregistermgt/login(公众号登录)-> this.canEnterSystem(path)
    • 不是wechatinfoget/index(非授权页面)且 页面不包含business/(非b端页面)
    • 非ucenter/index -> this.canEnterSystem(path)
  2. canEnterSystem(path){ }
    • if(!visitor || !visitor.id || !visitor.token || visitor.version != constants.storageVersion) ->'/wechatinfoget/index'
    • if ((path.indexOf('business/') != -1 && path != 'business/pages/loginregistermgt/login' && path != 'business/pages/loginregistermgt/register') || path == 'ucenter/index') -> (个人中心B端business文件夹下所有的页面只要有缓存丢失 跳转到ucenter/index)
  3. setGlobalData (isOnLunch, params){} 设置小程序分享等链路

app.json 小程序主入口json配置文件

分包预加载 注:新增页面时注意新增位置,必要情况才新增文件夹
  1. pages 页面路径列表,主包
    • 因为分包处理了,这里只有 "ucenter/index"
  2. subpackages 分包结构配置,每个分包的配置如下
字段 类型 说明
root String 分包根目录
name String 分包别名,分包预下载时可以使用
pages StringArray 分包页面路径,相对与分包根目录
independent Boolean 分包是否是独立分包
  1. preloadRule 分包预下载规则
    • 同一个分包中的页面享有共同的预下载大小限额2M,会在工具打包时校验。
    • key 是页面路径, value 是进入此页面的预下载配置,每个配置如下:
字段 类型 必填 默认 说明
packages StringArray 进入页面后预下载分包的 root 或 name。APP 表示主包。
network String WiFi 在指定网络下预下载,可选值为:all: 不限网络 wifi: 仅wifi下预下载
  1. tabBar 轻校通因为需求(b/c端tab不统一) 需要全自定义,所以不需要

constants 文件夹

  1. activityconfig.js 活动校区配置

    • dailysignSchool 打卡生成日签 sid=[825]
  2. api.js 所有接口api放置文件

  3. blacklist.js 违规检查

  4. constants.js

  5. message.js 商家岛接口返回code提示文字

  6. parameter.js 页面路径埋点

  7. regexp.js 正则验证规则

filter 文件夹

  1. index.wxs

service文件夹 (接口请求函数方法,在需要相应接口的页面 import)

import {
  circleEditor
} from '../../../service/business/circleeditor.js';

说明:导入utilities/request.js文件以及constants/api.js,务必export每个调用方法,例如

import {
    wxRequest
} from '../../utilities/request.js';
import apis from '../../constants/api.js';
function circleEditor (data) {
    let url = data.id == 0 ? apis.business.circleEditor.circleCreate : apis.business.circleEditor.circleUpdate; 
    if (data.id == 0) {
        delete data.id;
    }
    return wxRequest({
        role: '2b', //b端请求必填 role:'2b' 字段
        url,//api地址
        data,//请求携带参数
        method: 'POST',//请求方法
        errorresolve: 1, //在返回code不为200的时候:1.自动弹窗 2.自定义处理
        needToken: true,//是否需要token
    })
}
export {
    circleEditor
}

utilities 文件夹

  1. generatePoster.js 生成海报
  2. index.js 通用方法,包括LocalStorage、登录授权检测、图片视频格式转换、日期格式转换、下载文件、文本复制等
  3. request.js ajax请求通用函数
  4. screenshot.js 图片裁剪工具
  5. wxApi.js 调用微信方法
  6. wxchart-min.js 图表插件
上一篇下一篇

猜你喜欢

热点阅读